diff --git a/.expo-shared/assets.json b/.expo-shared/assets.json new file mode 100644 index 0000000000000000000000000000000000000000..1e6decfbb52a26e6ebdcd634328e42305446fa60 --- /dev/null +++ b/.expo-shared/assets.json @@ -0,0 +1,4 @@ +{ + "12bb71342c6255bbf50437ec8f4441c083f47cdb74bd89160c15e4f43e52a1cb": true, + "40b842e832070c58deac6aa9e08fa459302ee3f9da492c7e77d93d2fbf4a56fd": true +} diff --git a/.expo/README.md b/.expo/README.md new file mode 100644 index 0000000000000000000000000000000000000000..fd146b4d3ae4518e8fb41e62b4852c1eca577214 --- /dev/null +++ b/.expo/README.md @@ -0,0 +1,15 @@ +> Why do I have a folder named ".expo" in my project? + +The ".expo" folder is created when an Expo project is started using "expo start" command. + +> What do the files contain? + +- "devices.json": contains information about devices that have recently opened this project. This is used to populate the "Development sessions" list in your development builds. +- "packager-info.json": contains port numbers and process PIDs that are used to serve the application to the mobile device/simulator. +- "settings.json": contains the server configuration that is used to serve the application manifest. + +> Should I commit the ".expo" folder? + +No, you should not share the ".expo" folder. It does not contain any information that is relevant for other developers working on the project, it is specific to your machine. + +Upon project creation, the ".expo" folder is already added to your ".gitignore" file. diff --git a/.expo/packager-info.json b/.expo/packager-info.json new file mode 100644 index 0000000000000000000000000000000000000000..a2bd5172f459fe7da440e12c3f73b5b9b08d07a1 --- /dev/null +++ b/.expo/packager-info.json @@ -0,0 +1,10 @@ +{ + "devToolsPort": 19002, + "expoServerPort": null, + "packagerPort": 19000, + "packagerPid": null, + "expoServerNgrokUrl": null, + "packagerNgrokUrl": null, + "ngrokPid": null, + "webpackServerPort": null +} diff --git a/.expo/settings.json b/.expo/settings.json new file mode 100644 index 0000000000000000000000000000000000000000..470dc637514d148e2b1fa6767dc32014feb470bf --- /dev/null +++ b/.expo/settings.json @@ -0,0 +1,10 @@ +{ + "hostType": "lan", + "lanType": "ip", + "dev": true, + "minify": false, + "urlRandomness": null, + "https": false, + "scheme": null, + "devClient": false +} diff --git a/.expo/web/cache/development/babel-loader/0097c2593834adfe5c71fbb12d5bb7ef.json b/.expo/web/cache/development/babel-loader/0097c2593834adfe5c71fbb12d5bb7ef.json new file mode 100644 index 0000000000000000000000000000000000000000..16e9937a9cdf07764b80212c3695780063ea46ed --- /dev/null +++ b/.expo/web/cache/development/babel-loader/0097c2593834adfe5c71fbb12d5bb7ef.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore } from \"firebase/firestore\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n setUsers(users);\n });\n }, []);\n\n if (DATA != null) {\n Alert.alert(DATA.toString);\n } else {\n Alert.alert('Data null');\n }\n\n function writeData() {\n return _regeneratorRuntime.async(function writeData$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n }\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsxs(Text, {\n children: [item.title, users.toString]\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\",\n onPress: writeData\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","writeData","params","post","Item","item","onPress","backgroundColor","textColor","styles","title","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\nif(DATA != null){\r\n Alert.alert(DATA.toString);\r\n}\r\nelse{\r\n Alert.alert('Data null');\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\nasync function writeData(){\r\n /*try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})*/\r\n}\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async (id) => {\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUser({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n {users.toString}\r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser' onPress={writeData}/>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/010537d381d71a1f6adc790224928bee.json b/.expo/web/cache/development/babel-loader/010537d381d71a1f6adc790224928bee.json new file mode 100644 index 0000000000000000000000000000000000000000..8f13687d19c696c6f4edbfc677ecf27a6a30bf2b --- /dev/null +++ b/.expo/web/cache/development/babel-loader/010537d381d71a1f6adc790224928bee.json @@ -0,0 +1 @@ +{"ast":null,"code":"import StatusBar from \"react-native-web/dist/exports/StatusBar\";\nexport default function setStatusBarTranslucent(translucent) {\n StatusBar.setTranslucent(translucent);\n}","map":{"version":3,"sources":["../src/setStatusBarTranslucent.ts"],"names":[],"mappings":";AASA,eAAc,SAAU,uBAAV,CAAkC,WAAlC,EAAsD;AAClE,EAAA,SAAS,CAAC,cAAV,CAAyB,WAAzB;AACD","sourcesContent":["import { StatusBar } from 'react-native';\n\n// @needsAudit\n/**\n * Set the translucency of the status bar.\n * @param translucent Whether the app can draw under the status bar. When `true`, content will be\n * rendered under the status bar. This is always `true` on iOS and cannot be changed.\n * @platform android\n */\nexport default function setStatusBarTranslucent(translucent: boolean) {\n StatusBar.setTranslucent(translucent);\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/0146997a68dfd82eb3d0a8af4340e5a5.json b/.expo/web/cache/development/babel-loader/0146997a68dfd82eb3d0a8af4340e5a5.json new file mode 100644 index 0000000000000000000000000000000000000000..7430efb01f63c18e0ad92c9bd3a475e2ead4a767 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/0146997a68dfd82eb3d0a8af4340e5a5.json @@ -0,0 +1 @@ +{"ast":null,"code":"export default {};","map":{"version":3,"sources":["../src/NativeModulesProxy.ts"],"names":[],"mappings":"AAGA,eAAe,EAAf","sourcesContent":["import { ProxyNativeModule } from './NativeModulesProxy.types';\n\n// We default to an empty object shim wherever we don't have an environment-specific implementation\nexport default {} as { [moduleName: string]: ProxyNativeModule };\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/01aadedbd7f3a77742be24e3cc45b173.json b/.expo/web/cache/development/babel-loader/01aadedbd7f3a77742be24e3cc45b173.json new file mode 100644 index 0000000000000000000000000000000000000000..54f44bfd4f251a47f371665868b72c9c5bd69e22 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/01aadedbd7f3a77742be24e3cc45b173.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATAS = null;\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n DATA = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n setUsers(null);\n\n if (big != null) {\n Alert.alert('big is not empty');\n }\n\n var colRef = collection(getFirestore(), \"Users\");\n var big = [];\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var itemData = {\n name: doc.data().Name,\n email: doc.data().Email,\n image: doc.data().Image,\n id: doc.id\n };\n big = [itemData];\n setUsers(big);\n });\n });\n }, []);\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n var big = [];\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n big.push(itemData);\n }\n });\n setUsers(big);\n });\n }\n\n if (route.params != null) {\n setUsers(null);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n }), _jsx(Text, {\n style: styles.beschreibung,\n children: item.name\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsxs(View, {\n children: [_jsx(Text, {\n children: \"No Data Found\"\n }), _jsx(Button, {\n title: \"Load Data\",\n onPress: listenOnChange\n })]\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsx(TouchableOpacity, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n style: styles.button,\n children: _jsx(Text, {\n style: styles.cancelButtonText,\n children: \"Create new User\"\n })\n }), _jsx(Text, {\n children: \" \"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return item + index;\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50,\n borderRadius: 50 / 2,\n overflow: \"hidden\",\n borderWidth: 3,\n borderColor: \"#D9D9D9\"\n },\n item: {\n width: 250,\n paddingTop: 20,\n paddingBottom: 20,\n paddingRight: 20,\n marginVertical: 8,\n marginHorizontal: 25,\n borderBottomColor: '#D9D9D9',\n borderBottomWidth: 2,\n flexDirection: \"row\"\n },\n beschreibung: {\n marginLeft: 10,\n marginTop: 10,\n width: 180,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 16,\n lineHeight: 23,\n color: \"#5E6A79\"\n },\n button: {\n marginTop: 25,\n marginBottom: 20,\n height: 35,\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\n borderRadius: 12,\n justifyContent: 'center'\n },\n cancelButtonText: {\n height: 28,\n margin: 10,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 15,\n lineHeight: 22,\n textAlign: 'center',\n color: \"#5E6A79\"\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATAS","UserLists","navigation","route","DATA","setUsers","big","Alert","alert","colRef","querySnapshot","forEach","itemData","name","data","Name","email","Email","image","Image","id","listenOnChange","snapchot","docChanges","change","type","message","push","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","beschreibung","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","container","button","cancelButtonText","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height","borderRadius","overflow","borderWidth","borderColor","paddingTop","paddingBottom","paddingRight","marginVertical","borderBottomColor","borderBottomWidth","flexDirection","marginLeft","marginTop","fontStyle","fontWeight","fontSize","lineHeight","marginBottom","margin","textAlign"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATAS = null;\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [DATA, setUsers] = useState(null);\r\n\r\n//listenOnChange();\r\n//useeffect();\r\n\r\n/*useEffect(()=>{\r\nconst colRef = collection(getFirestore(),\"Users\");\r\nconst big= [];\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n //DATA.push(itemData);\r\n setUsers(big);\r\n //Alert.alert('count data',DATA.name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])*/\r\n\r\n\r\n\r\n\r\n//test\r\nuseEffect(()=>{\r\n \r\n setUsers(null);\r\n if(big != null){Alert.alert('big is not empty', );}\r\n const colRef = collection(getFirestore(),\"Users\");\r\n let big= [];\r\n \r\n onSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n //big.push(itemData);\r\n big = [itemData];\r\n //DATA.push(itemData);\r\n setUsers(big);\r\n \r\n });\r\n \r\n //setUsers(users)\r\n });\r\n //Alert.alert(users.Name.toString);\r\n \r\n },[])\r\n\r\n\r\n \r\n\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n const big = [];\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n //DATA.push(itemData);\r\n big.push(itemData);\r\n \r\n //Alert.alert('listen on change',message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n }); setUsers(big);\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\nsetUsers(null);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n \r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n <Text style={styles.beschreibung}>\r\n {item.name} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){ //DATAS zu DATA ändern ___-------\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <View>\r\n <Text>\r\n No Data Found \r\n </Text>\r\n <Button title='Load Data' onPress={listenOnChange}/>\r\n </View>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <TouchableOpacity onPress={()=> {navigation.navigate('CreateNewUser')}} style={styles.button}>\r\n <Text style={styles.cancelButtonText}>\r\n Create new User\r\n </Text>\r\n \r\n </TouchableOpacity>\r\n <Text> </Text>\r\n\r\n <FlatList\r\n data={DATA} //DATAS zu DATA ändern ___-------\r\n renderItem={renderItem}\r\n /*keyExtractor={ (item, index) => index.toString()}//item => item.id*/\r\n keyExtractor={(item, index) => item + index}\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n borderRadius: 50 / 2,\r\n overflow: \"hidden\",\r\n borderWidth: 3,\r\n borderColor: \"#D9D9D9\"\r\n },\r\n item: {\r\n width: 250,\r\n paddingTop: 20,\r\n paddingBottom: 20,\r\n paddingRight: 20,\r\n marginVertical: 8,\r\n marginHorizontal: 25,\r\n borderBottomColor: '#D9D9D9',\r\n borderBottomWidth: 2,\r\n flexDirection: \"row\",\r\n },\r\n beschreibung: {\r\n marginLeft:10,\r\n marginTop:10,\r\n width: 180,\r\n\r\n // font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 16,\r\n lineHeight: 23,\r\n color: \"#5E6A79\",\r\n },\r\n button:{\r\n marginTop:25,\r\n marginBottom: 20,\r\n height: 35,\r\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\r\n //box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);\r\n borderRadius: 12,\r\n justifyContent: 'center',\r\n \r\n},\r\ncancelButtonText:{\r\n //width: 55,\r\n height: 28,\r\nmargin:10,\r\n //font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 15,\r\n lineHeight: 22,\r\n textAlign:'center',\r\n color: \"#5E6A79\",\r\n},\r\n\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/01e7e3703e0a73454519de18b05415c2.json b/.expo/web/cache/development/babel-loader/01e7e3703e0a73454519de18b05415c2.json new file mode 100644 index 0000000000000000000000000000000000000000..b1b930498fa5bc4fce13e49b474fc68e318fdcc6 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/01e7e3703e0a73454519de18b05415c2.json @@ -0,0 +1 @@ +{"ast":null,"code":"import warning from 'fbjs/lib/warning';\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};\n\nfunction error(message) {\n warning(false, message);\n}\n\nexport default function validate(key, styles) {\n var obj = styles[key];\n\n for (var k in obj) {\n var prop = k.trim();\n var value = obj[prop];\n var isInvalid = false;\n\n if (value === null) {\n continue;\n }\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\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 (prop === 'verticalAlign') {\n suggestion = 'Did you mean \"textAlignVertical\"?';\n isInvalid = true;\n } else if (invalidShortforms[prop]) {\n suggestion = 'Please use long-form properties.';\n isInvalid = true;\n }\n\n if (suggestion !== '') {\n error(\"Invalid style property of \\\"\" + prop + \"\\\". \" + suggestion);\n }\n }\n\n if (isInvalid) {\n delete obj[k];\n }\n }\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/StyleSheet/validate.js"],"names":["warning","invalidShortforms","background","borderBottom","borderLeft","borderRight","borderTop","font","grid","outline","textDecoration","error","message","validate","key","styles","obj","k","prop","trim","value","isInvalid","indexOf","suggestion"],"mappings":"AAQA,OAAOA,OAAP,MAAoB,kBAApB;AACA,IAAIC,iBAAiB,GAAG;AACtBC,EAAAA,UAAU,EAAE,IADU;AAEtBC,EAAAA,YAAY,EAAE,IAFQ;AAGtBC,EAAAA,UAAU,EAAE,IAHU;AAItBC,EAAAA,WAAW,EAAE,IAJS;AAKtBC,EAAAA,SAAS,EAAE,IALW;AAMtBC,EAAAA,IAAI,EAAE,IANgB;AAOtBC,EAAAA,IAAI,EAAE,IAPgB;AAQtBC,EAAAA,OAAO,EAAE,IARa;AAStBC,EAAAA,cAAc,EAAE;AATM,CAAxB;;AAYA,SAASC,KAAT,CAAeC,OAAf,EAAwB;AACtBZ,EAAAA,OAAO,CAAC,KAAD,EAAQY,OAAR,CAAP;AACD;;AAED,eAAe,SAASC,QAAT,CAAkBC,GAAlB,EAAuBC,MAAvB,EAA+B;AAC5C,MAAIC,GAAG,GAAGD,MAAM,CAACD,GAAD,CAAhB;;AAEA,OAAK,IAAIG,CAAT,IAAcD,GAAd,EAAmB;AACjB,QAAIE,IAAI,GAAGD,CAAC,CAACE,IAAF,EAAX;AACA,QAAIC,KAAK,GAAGJ,GAAG,CAACE,IAAD,CAAf;AACA,QAAIG,SAAS,GAAG,KAAhB;;AAEA,QAAID,KAAK,KAAK,IAAd,EAAoB;AAClB;AACD;;AAED,QAAI,OAAOA,KAAP,KAAiB,QAAjB,IAA6BA,KAAK,CAACE,OAAN,CAAc,YAAd,IAA8B,CAAC,CAAhE,EAAmE;AACjEX,MAAAA,KAAK,CAAC,iCAAiCO,IAAjC,GAAwC,GAAxC,GAA8CE,KAA9C,GAAsD,0CAAvD,CAAL;AACAC,MAAAA,SAAS,GAAG,IAAZ;AACD,KAHD,MAGO;AACL,UAAIE,UAAU,GAAG,EAAjB;;AAEA,UAAIL,IAAI,KAAK,WAAT,IAAwBA,IAAI,KAAK,eAArC,EAAsD;AACpDK,QAAAA,UAAU,GAAG,oCAAb;AAGAF,QAAAA,SAAS,GAAG,IAAZ;AACD,OALD,MAKO,IAAIH,IAAI,KAAK,WAAb,EAA0B;AAC/BK,QAAAA,UAAU,GAAG,kCAAb;AACAF,QAAAA,SAAS,GAAG,IAAZ;AACD,OAHM,MAGA,IAAIH,IAAI,KAAK,eAAb,EAA8B;AACnCK,QAAAA,UAAU,GAAG,mCAAb;AACAF,QAAAA,SAAS,GAAG,IAAZ;AACD,OAHM,MAGA,IAAIpB,iBAAiB,CAACiB,IAAD,CAArB,EAA6B;AAClCK,QAAAA,UAAU,GAAG,kCAAb;AACAF,QAAAA,SAAS,GAAG,IAAZ;AACD;;AAED,UAAIE,UAAU,KAAK,EAAnB,EAAuB;AACrBZ,QAAAA,KAAK,CAAC,iCAAiCO,IAAjC,GAAwC,MAAxC,GAAiDK,UAAlD,CAAL;AACD;AACF;;AAED,QAAIF,SAAJ,EAAe;AACb,aAAOL,GAAG,CAACC,CAAD,CAAV;AACD;AACF;AACF","sourcesContent":["/**\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 warning from 'fbjs/lib/warning';\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};\n\nfunction error(message) {\n warning(false, message);\n}\n\nexport default function validate(key, styles) {\n var obj = styles[key];\n\n for (var k in obj) {\n var prop = k.trim();\n var value = obj[prop];\n var isInvalid = false;\n\n if (value === null) {\n continue;\n }\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\n if (prop === 'animation' || prop === 'animationName') {\n suggestion = 'Did you mean \"animationKeyframes\"?'; // } else if (prop === 'boxShadow') {\n // suggestion = 'Did you mean \"shadow{Color,Offset,Opacity,Radius}\"?';\n\n isInvalid = true;\n } else if (prop === 'direction') {\n suggestion = 'Did you mean \"writingDirection\"?';\n isInvalid = true;\n } else if (prop === 'verticalAlign') {\n suggestion = 'Did you mean \"textAlignVertical\"?';\n isInvalid = true;\n } else if (invalidShortforms[prop]) {\n suggestion = 'Please use long-form properties.';\n isInvalid = true;\n }\n\n if (suggestion !== '') {\n error(\"Invalid style property of \\\"\" + prop + \"\\\". \" + suggestion);\n }\n }\n\n if (isInvalid) {\n delete obj[k];\n }\n }\n}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/0277ae9976c69a880024878eabaa423d.json b/.expo/web/cache/development/babel-loader/0277ae9976c69a880024878eabaa423d.json new file mode 100644 index 0000000000000000000000000000000000000000..aa62d9d00c56d07f45dc039a43654986d7039639 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/0277ae9976c69a880024878eabaa423d.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport * as React from 'react';\nexport default function useEventEmitter(listen) {\n var listenRef = React.useRef(listen);\n React.useEffect(function () {\n listenRef.current = listen;\n });\n var listeners = React.useRef({});\n var create = React.useCallback(function (target) {\n var removeListener = function removeListener(type, callback) {\n var callbacks = listeners.current[type] ? listeners.current[type][target] : undefined;\n\n if (!callbacks) {\n return;\n }\n\n var index = callbacks.indexOf(callback);\n callbacks.splice(index, 1);\n };\n\n var addListener = function addListener(type, callback) {\n listeners.current[type] = listeners.current[type] || {};\n listeners.current[type][target] = listeners.current[type][target] || [];\n listeners.current[type][target].push(callback);\n return function () {\n return removeListener(type, callback);\n };\n };\n\n return {\n addListener: addListener,\n removeListener: removeListener\n };\n }, []);\n var emit = React.useCallback(function (_ref) {\n var _ref2;\n\n var _items$target, _listenRef$current;\n\n var type = _ref.type,\n data = _ref.data,\n target = _ref.target,\n canPreventDefault = _ref.canPreventDefault;\n var items = listeners.current[type] || {};\n var callbacks = target !== undefined ? (_items$target = items[target]) === null || _items$target === void 0 ? void 0 : _items$target.slice() : (_ref2 = []).concat.apply(_ref2, _toConsumableArray(Object.keys(items).map(function (t) {\n return items[t];\n }))).filter(function (cb, i, self) {\n return self.lastIndexOf(cb) === i;\n });\n var event = {\n get type() {\n return type;\n }\n\n };\n\n if (target !== undefined) {\n Object.defineProperty(event, 'target', {\n enumerable: true,\n get: function get() {\n return target;\n }\n });\n }\n\n if (data !== undefined) {\n Object.defineProperty(event, 'data', {\n enumerable: true,\n get: function get() {\n return data;\n }\n });\n }\n\n if (canPreventDefault) {\n var defaultPrevented = false;\n Object.defineProperties(event, {\n defaultPrevented: {\n enumerable: true,\n get: function get() {\n return defaultPrevented;\n }\n },\n preventDefault: {\n enumerable: true,\n value: function value() {\n defaultPrevented = true;\n }\n }\n });\n }\n\n (_listenRef$current = listenRef.current) === null || _listenRef$current === void 0 ? void 0 : _listenRef$current.call(listenRef, event);\n callbacks === null || callbacks === void 0 ? void 0 : callbacks.forEach(function (cb) {\n return cb(event);\n });\n return event;\n }, []);\n return React.useMemo(function () {\n return {\n create: create,\n emit: emit\n };\n }, [create, emit]);\n}","map":{"version":3,"sources":["useEventEmitter.tsx"],"names":["listenRef","React","listeners","create","target","removeListener","callbacks","index","addListener","emit","canPreventDefault","items","Object","t","self","event","enumerable","get","data","defaultPrevented","preventDefault","value","cb"],"mappings":";AAAA,OAAO,KAAP,KAAA,MAAA,OAAA;AAcA,eAAe,SAAA,eAAA,CAAA,MAAA,EAEc;AAC3B,MAAMA,SAAS,GAAGC,KAAK,CAALA,MAAAA,CAAlB,MAAkBA,CAAlB;AAEAA,EAAAA,KAAK,CAALA,SAAAA,CAAgB,YAAM;AACpBD,IAAAA,SAAS,CAATA,OAAAA,GAAAA,MAAAA;AADFC,GAAAA;AAIA,MAAMC,SAAS,GAAGD,KAAK,CAALA,MAAAA,CAAlB,EAAkBA,CAAlB;AAEA,MAAME,MAAM,GAAG,KAAK,CAAL,WAAA,CAAmBC,UAAAA,MAAD,EAAoB;AACnD,QAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAAA,IAAA,EAAA,QAAA,EAAiD;AACtE,UAAMC,SAAS,GAAGJ,SAAS,CAATA,OAAAA,CAAAA,IAAAA,IACdA,SAAS,CAATA,OAAAA,CAAAA,IAAAA,EADcA,MACdA,CADcA,GAAlB,SAAA;;AAIA,UAAI,CAAJ,SAAA,EAAgB;AACd;AACD;;AAED,UAAMK,KAAK,GAAGD,SAAS,CAATA,OAAAA,CAAd,QAAcA,CAAd;AAEAA,MAAAA,SAAS,CAATA,MAAAA,CAAAA,KAAAA,EAAAA,CAAAA;AAXF,KAAA;;AAcA,QAAME,WAAW,GAAG,SAAdA,WAAc,CAAA,IAAA,EAAA,QAAA,EAAiD;AACnEN,MAAAA,SAAS,CAATA,OAAAA,CAAAA,IAAAA,IAA0BA,SAAS,CAATA,OAAAA,CAAAA,IAAAA,KAA1BA,EAAAA;AACAA,MAAAA,SAAS,CAATA,OAAAA,CAAAA,IAAAA,EAAAA,MAAAA,IAAkCA,SAAS,CAATA,OAAAA,CAAAA,IAAAA,EAAAA,MAAAA,KAAlCA,EAAAA;AACAA,MAAAA,SAAS,CAATA,OAAAA,CAAAA,IAAAA,EAAAA,MAAAA,EAAAA,IAAAA,CAAAA,QAAAA;AAEA,aAAO;AAAA,eAAMG,cAAc,CAAA,IAAA,EAA3B,QAA2B,CAApB;AAAA,OAAP;AALF,KAAA;;AAQA,WAAO;AACLG,MAAAA,WADK,EACLA,WADK;AAELH,MAAAA,cAAAA,EAAAA;AAFK,KAAP;AAvBa,GAAA,EAAf,EAAe,CAAf;AA6BA,MAAMI,IAAI,GAAG,KAAK,CAAL,WAAA,CACX,UAAA,IAAA,EAUM;AAAA;;AAAA,QAAA,aAAA,EAAA,kBAAA;;AAVL,QAAA,IAAA,GAUK,IAVL,CAAA,IAAA;AAAA,QAAA,IAAA,GAUK,IAVL,CAAA,IAAA;AAAA,QAAA,MAAA,GAUK,IAVL,CAAA,MAAA;AAAA,QAICC,iBAJD,GAUK,IAVL,CAICA,iBAJD;AAWC,QAAMC,KAAK,GAAGT,SAAS,CAATA,OAAAA,CAAAA,IAAAA,KADV,EACJ;AAGA,QAAMI,SAAS,GACbF,MAAM,KAANA,SAAAA,GAAAA,CAAAA,aAAAA,GACIO,KAAK,CADTP,MACS,CADTA,MAAAA,IAAAA,IAAAA,aAAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GACIO,aAAAA,CADJP,KACIO,EADJP,GAEI,aAAA,MAAA,iCACaQ,MAAM,CAANA,IAAAA,CAAAA,KAAAA,EAAAA,GAAAA,CAAwBC,UAAAA,CAAD;AAAA,aAAOF,KAAK,CADhD,CACgD,CAAZ;AAAA,KAAvBC,CADb,GAAA,MAAA,CAEU,UAAA,EAAA,EAAA,CAAA,EAAA,IAAA;AAAA,aAAiBE,IAAI,CAAJA,WAAAA,CAAAA,EAAAA,MALjC,CAKgB;AAAA,KAFV,CAHN;AAOA,QAAMC,KAA8B,GAAG;AACrC,UAAA,IAAA,GAAW;AACT,eAAA,IAAA;AACD;;AAHoC,KAAvC;;AAMA,QAAIX,MAAM,KAAV,SAAA,EAA0B;AACxBQ,MAAAA,MAAM,CAANA,cAAAA,CAAAA,KAAAA,EAAAA,QAAAA,EAAuC;AACrCI,QAAAA,UAAU,EAD2B,IAAA;AAErCC,QAAAA,GAFqC,iBAE/B;AACJ,iBAAA,MAAA;AACD;AAJoC,OAAvCL;AAMD;;AAED,QAAIM,IAAI,KAAR,SAAA,EAAwB;AACtBN,MAAAA,MAAM,CAANA,cAAAA,CAAAA,KAAAA,EAAAA,MAAAA,EAAqC;AACnCI,QAAAA,UAAU,EADyB,IAAA;AAEnCC,QAAAA,GAFmC,iBAE7B;AACJ,iBAAA,IAAA;AACD;AAJkC,OAArCL;AAMD;;AAED,QAAA,iBAAA,EAAuB;AACrB,UAAIO,gBAAgB,GAApB,KAAA;AAEAP,MAAAA,MAAM,CAANA,gBAAAA,CAAAA,KAAAA,EAA+B;AAC7BO,QAAAA,gBAAgB,EAAE;AAChBH,UAAAA,UAAU,EADM,IAAA;AAEhBC,UAAAA,GAFgB,iBAEV;AACJ,mBAAA,gBAAA;AACD;AAJe,SADW;AAO7BG,QAAAA,cAAc,EAAE;AACdJ,UAAAA,UAAU,EADI,IAAA;AAEdK,UAAAA,KAFc,mBAEN;AACNF,YAAAA,gBAAgB,GAAhBA,IAAAA;AACD;AAJa;AAPa,OAA/BP;AAcD;;AAED,KAAA,kBAAA,GAAA,SAAS,CAAT,OAAA,MAAA,IAAA,IAAA,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,kBAAA,CAAA,IAAA,CAAA,SAAA,EAAA,KAAA,CAAA;AAEAN,IAAAA,SAAS,KAATA,IAAAA,IAAAA,SAAS,KAAA,KAATA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAATA,OAAAA,CAAoBgB,UAAAA,EAAD;AAAA,aAAQA,EAAE,CAA7BhB,KAA6B,CAAV;AAAA,KAAnBA,CAAAA;AAEA,WAAA,KAAA;AArES,GAAA,EAAb,EAAa,CAAb;AA0EA,SAAO,KAAK,CAAL,OAAA,CAAc;AAAA,WAAO;AAAEH,MAAAA,MAAF,EAAEA,MAAF;AAAUM,MAAAA,IAAAA,EAAAA;AAAV,KAAP;AAAA,GAAd,EAAwC,CAAA,MAAA,EAA/C,IAA+C,CAAxC,CAAP;AACD","sourcesContent":["import * as React from 'react';\n\nimport type { EventArg, EventConsumer, EventEmitter } from './types';\n\nexport type NavigationEventEmitter<T extends Record<string, any>> =\n EventEmitter<T> & {\n create: (target: string) => EventConsumer<T>;\n };\n\ntype Listeners = ((e: any) => void)[];\n\n/**\n * Hook to manage the event system used by the navigator to notify screens of various events.\n */\nexport default function useEventEmitter<T extends Record<string, any>>(\n listen?: (e: any) => void\n): NavigationEventEmitter<T> {\n const listenRef = React.useRef(listen);\n\n React.useEffect(() => {\n listenRef.current = listen;\n });\n\n const listeners = React.useRef<Record<string, Record<string, Listeners>>>({});\n\n const create = React.useCallback((target: string) => {\n const removeListener = (type: string, callback: (data: any) => void) => {\n const callbacks = listeners.current[type]\n ? listeners.current[type][target]\n : undefined;\n\n if (!callbacks) {\n return;\n }\n\n const index = callbacks.indexOf(callback);\n\n callbacks.splice(index, 1);\n };\n\n const addListener = (type: string, callback: (data: any) => void) => {\n listeners.current[type] = listeners.current[type] || {};\n listeners.current[type][target] = listeners.current[type][target] || [];\n listeners.current[type][target].push(callback);\n\n return () => removeListener(type, callback);\n };\n\n return {\n addListener,\n removeListener,\n };\n }, []);\n\n const emit = React.useCallback(\n ({\n type,\n data,\n target,\n canPreventDefault,\n }: {\n type: string;\n data?: any;\n target?: string;\n canPreventDefault?: boolean;\n }) => {\n const items = listeners.current[type] || {};\n\n // Copy the current list of callbacks in case they are mutated during execution\n const callbacks =\n target !== undefined\n ? items[target]?.slice()\n : ([] as Listeners)\n .concat(...Object.keys(items).map((t) => items[t]))\n .filter((cb, i, self) => self.lastIndexOf(cb) === i);\n\n const event: EventArg<any, any, any> = {\n get type() {\n return type;\n },\n };\n\n if (target !== undefined) {\n Object.defineProperty(event, 'target', {\n enumerable: true,\n get() {\n return target;\n },\n });\n }\n\n if (data !== undefined) {\n Object.defineProperty(event, 'data', {\n enumerable: true,\n get() {\n return data;\n },\n });\n }\n\n if (canPreventDefault) {\n let defaultPrevented = false;\n\n Object.defineProperties(event, {\n defaultPrevented: {\n enumerable: true,\n get() {\n return defaultPrevented;\n },\n },\n preventDefault: {\n enumerable: true,\n value() {\n defaultPrevented = true;\n },\n },\n });\n }\n\n listenRef.current?.(event);\n\n callbacks?.forEach((cb) => cb(event));\n\n return event as any;\n },\n []\n );\n\n return React.useMemo(() => ({ create, emit }), [create, emit]);\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/02a1abc55d31c920f901c081b27de9a6.json b/.expo/web/cache/development/babel-loader/02a1abc55d31c920f901c081b27de9a6.json new file mode 100644 index 0000000000000000000000000000000000000000..0b5859fa38f0662f4da78fec3031d59e7a65c20a --- /dev/null +++ b/.expo/web/cache/development/babel-loader/02a1abc55d31c920f901c081b27de9a6.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport TextInput from \"react-native-web/dist/exports/TextInput\";\nimport React, { useState, useEffect } from 'react';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function CreateNewUser(_ref) {\n var navigation = _ref.navigation;\n\n var _useState = useState(''),\n _useState2 = _slicedToArray(_useState, 2),\n name = _useState2[0],\n onChangeName = _useState2[1];\n\n var _useState3 = useState(''),\n _useState4 = _slicedToArray(_useState3, 2),\n email = _useState4[0],\n onChangeEmail = _useState4[1];\n\n var _useState5 = useState(''),\n _useState6 = _slicedToArray(_useState5, 2),\n image = _useState6[0],\n onChangeImage = _useState6[1];\n\n function newUser() {\n return _regeneratorRuntime.async(function newUser$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return _regeneratorRuntime.awrap(addDoc(collection(getFirestore(), 'Users'), {\n Name: name,\n Email: email,\n Image: image\n }));\n\n case 3:\n _context.next = 7;\n break;\n\n case 5:\n _context.prev = 5;\n _context.t0 = _context[\"catch\"](0);\n\n case 7:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, [[0, 5]], Promise);\n }\n\n ;\n\n function Submitt() {\n newUser();\n navigation.navigate({\n name: 'UserList',\n merge: true\n });\n }\n\n return _jsxs(View, {\n children: [_jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeName,\n value: name,\n multiline: true,\n placeholder: \"Name\"\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeEmail,\n value: email,\n multiline: true,\n placeholder: \"Email\"\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeImage,\n value: image,\n multiline: true,\n placeholder: \"Image URL\"\n }), _jsx(Button, {\n title: \"Submitt\",\n onPress: Submitt,\n style: styles.button\n })]\n });\n}\n;\nvar styles = StyleSheet.create({\n input: {\n borderBottomColor: '#CFCDCD',\n borderBottomWidth: 1,\n width: 220,\n marginTop: 20\n },\n button: {\n marginTop: 35\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/CreateNewUser.js"],"names":["React","useState","useEffect","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","firebase","CreateNewUser","navigation","name","onChangeName","email","onChangeEmail","image","onChangeImage","newUser","Name","Email","Image","Submitt","navigate","merge","styles","input","button","StyleSheet","create","borderBottomColor","borderBottomWidth","width","marginTop"],"mappings":";;;;;;;AACA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;AAEA,OAAOC,EAAP;AACA,SAAQC,UAAR,EAAoBC,GAApB,EAAyBC,UAAzB,EAAqCC,aAArC,EAAoDC,MAApD,EAA4DC,SAA5D,EAAuEC,MAAvE,EAA+EC,YAA/E,EAA6FC,MAA7F,EAAqGC,MAArG,QAAkH,oBAAlH;AACA,SAASC,QAAT,QAAyB,kCAAzB;;;AAEA,eAAe,SAASC,aAAT,OAAqC;AAAA,MAAZC,UAAY,QAAZA,UAAY;;AAEhD,kBAA6Bf,QAAQ,CAAC,EAAD,CAArC;AAAA;AAAA,MAAOgB,IAAP;AAAA,MAAaC,YAAb;;AACA,mBAA+BjB,QAAQ,CAAC,EAAD,CAAvC;AAAA;AAAA,MAAOkB,KAAP;AAAA,MAAcC,aAAd;;AACA,mBAA+BnB,QAAQ,CAAC,EAAD,CAAvC;AAAA;AAAA,MAAOoB,KAAP;AAAA,MAAcC,aAAd;;AAEA,WAAeC,OAAf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6CAEYf,MAAM,CAACJ,UAAU,CAACO,YAAY,EAAb,EAAiB,OAAjB,CAAX,EAAqC;AAC/Ca,cAAAA,IAAI,EAAEP,IADyC;AAE/CQ,cAAAA,KAAK,EAAEN,KAFwC;AAG/CO,cAAAA,KAAK,EAAEL;AAHwC,aAArC,CAFlB;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAWK;;AAEN,WAASM,OAAT,GAAkB;AACdJ,IAAAA,OAAO;AACdP,IAAAA,UAAU,CAACY,QAAX,CAAoB;AACRX,MAAAA,IAAI,EAAE,UADE;AAGRY,MAAAA,KAAK,EAAE;AAHC,KAApB;AAKK;;AACL,SACI,MAAC,IAAD;AAAA,eAEA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEC,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAEb,YAA9C;AAA4D,MAAA,KAAK,EAAED,IAAnE;AAAyE,MAAA,SAAS,EAAI,IAAtF;AAA4F,MAAA,WAAW,EAAC;AAAxG,MAFA,EAGA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEa,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAEX,aAA9C;AAA6D,MAAA,KAAK,EAAED,KAApE;AAA2E,MAAA,SAAS,EAAI,IAAxF;AAA8F,MAAA,WAAW,EAAC;AAA1G,MAHA,EAIA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEW,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAET,aAA9C;AAA6D,MAAA,KAAK,EAAED,KAApE;AAA2E,MAAA,SAAS,EAAI,IAAxF;AAA+F,MAAA,WAAW,EAAC;AAA3G,MAJA,EAKA,KAAC,MAAD;AAAQ,MAAA,KAAK,EAAC,SAAd;AAAwB,MAAA,OAAO,EAAEM,OAAjC;AAA0C,MAAA,KAAK,EAAEG,MAAM,CAACE;AAAxD,MALA;AAAA,IADJ;AASC;AAAA;AAED,IAAMF,MAAM,GAAGG,UAAU,CAACC,MAAX,CAAkB;AAC7BH,EAAAA,KAAK,EAAC;AAEFI,IAAAA,iBAAiB,EAAC,SAFhB;AAGFC,IAAAA,iBAAiB,EAAC,CAHhB;AAIFC,IAAAA,KAAK,EAAE,GAJL;AAKFC,IAAAA,SAAS,EAAE;AALT,GADuB;AAQ5BN,EAAAA,MAAM,EAAC;AACHM,IAAAA,SAAS,EAAC;AADP;AARqB,CAAlB,CAAf","sourcesContent":["import { StyleSheet, Text, View, Button, TextInput } from 'react-native';\r\nimport React, { useState, useEffect } from 'react';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\nexport default function CreateNewUser({ navigation}){\r\n\r\n const [name, onChangeName] = useState('');\r\n const [email, onChangeEmail] = useState('');\r\n const [image, onChangeImage] = useState('');\r\n\r\n async function newUser(){\r\n try{\r\n await addDoc(collection(getFirestore(), 'Users'),{\r\n Name: name,\r\n Email: email,\r\n Image: image,\r\n });\r\n }\r\n catch(error){\r\n \r\n }\r\n };\r\n\r\n function Submitt(){\r\n newUser();\r\nnavigation.navigate({\r\n name: 'UserList',\r\n //params: { post: fach },\r\n merge: true,\r\n });\r\n }\r\nreturn(\r\n <View>\r\n \r\n <TextInput style={styles.input} onChangeText={onChangeName} value={name} multiline = {true} placeholder=\"Name\" />\r\n <TextInput style={styles.input} onChangeText={onChangeEmail} value={email} multiline = {true} placeholder=\"Email\"/>\r\n <TextInput style={styles.input} onChangeText={onChangeImage} value={image} multiline = {true} placeholder=\"Image URL\"/>\r\n <Button title='Submitt' onPress={Submitt} style={styles.button}/>\r\n </View>\r\n)\r\n};\r\n\r\nconst styles = StyleSheet.create({\r\n input:{\r\n //underlineColorAndroid: '#CFCDCD',\r\n borderBottomColor:'#CFCDCD',\r\n borderBottomWidth:1,\r\n width: 220,\r\n marginTop: 20,\r\n },\r\n button:{\r\n marginTop:35,\r\n }\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/02b0d99c53a4d3e648aacc4c94cae76c.json b/.expo/web/cache/development/babel-loader/02b0d99c53a4d3e648aacc4c94cae76c.json new file mode 100644 index 0000000000000000000000000000000000000000..1fd0856f85a88b1f1b48dec247da63d1b07a252e --- /dev/null +++ b/.expo/web/cache/development/babel-loader/02b0d99c53a4d3e648aacc4c94cae76c.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users.toString);\n setUsers(users);\n });\n\n if (users != null) {\n Alert.alert(' users load', users.id);\n }\n }, []);\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {\n children: item.Name\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: users,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","params","post","Item","item","onPress","backgroundColor","textColor","styles","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users.toString);\r\n setUsers(users)\r\n});\r\nif(users!= null){\r\n Alert.alert(' users load',users.id)\r\n}\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\n/*function writeData(){\r\n \r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})\r\n}*/\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async () => {\r\n const id = 'q5EOqKxKEsAO6lLmhbnc';\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUsers({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n Alert.alert(users[0])\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.Name} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser'/> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={users}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/03b6b6d3634ade1640fc1732163d7a85.json b/.expo/web/cache/development/babel-loader/03b6b6d3634ade1640fc1732163d7a85.json new file mode 100644 index 0000000000000000000000000000000000000000..d4689505a799f81f2211c0209c82f6b1d716b5a8 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/03b6b6d3634ade1640fc1732163d7a85.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport TextInput from \"react-native-web/dist/exports/TextInput\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport React, { useState, useEffect } from 'react';\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef, deleteDoc } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Details(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(route.params.itemDetails.name),\n _useState2 = _slicedToArray(_useState, 2),\n name = _useState2[0],\n onChangeName = _useState2[1];\n\n var _useState3 = useState(route.params.itemDetails.email),\n _useState4 = _slicedToArray(_useState3, 2),\n email = _useState4[0],\n onChangeEmail = _useState4[1];\n\n var _useState5 = useState(route.params.itemDetails.image),\n _useState6 = _slicedToArray(_useState5, 2),\n image = _useState6[0],\n onChangeImage = _useState6[1];\n\n function update() {\n return _regeneratorRuntime.async(function update$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _regeneratorRuntime.awrap(setDoc(doc(getFirestore(), \"Users\", route.params.itemDetails.id), {\n Name: name,\n Email: email,\n Image: image\n }));\n\n case 2:\n navigation.navigate({\n name: 'UserList',\n merge: true\n });\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n }\n\n var showAlert = function showAlert() {\n return Alert.alert(\"Delete\", \"Do you want to delete the User?\", [{\n text: \"Cancel\",\n onPress: function onPress() {\n return navigation.navigate({\n name: 'UserList',\n merge: true\n });\n },\n style: \"alertButton\"\n }, {\n text: \"Delete\",\n onPress: function onPress() {\n return deleteUser();\n },\n style: \"alertButton\"\n }]);\n };\n\n function deleteUser() {\n deleteDoc(doc(getFirestore(), \"Users\", route.params.itemDetails.id));\n navigation.navigate({\n name: 'UserList',\n merge: true\n });\n }\n\n return _jsxs(View, {\n style: styles.container,\n children: [_jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeName,\n value: name,\n multiline: true\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeEmail,\n value: email,\n multiline: true\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeImage,\n value: image,\n multiline: true\n }), _jsx(TouchableOpacity, {\n style: styles.button,\n onPress: update,\n children: _jsx(Text, {\n style: styles.cancelButtonText,\n children: \"Update\"\n })\n }), _jsx(TouchableOpacity, {\n style: styles.button,\n onPress: showAlert,\n children: _jsx(Text, {\n style: styles.cancelButtonText,\n children: \"Delete\"\n })\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n marginLeft: 10\n },\n input: {\n borderBottomColor: '#CFCDCD',\n borderBottomWidth: 1,\n width: 220,\n marginTop: 20\n },\n button: {\n marginTop: 35,\n width: 85,\n height: 35,\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\n borderRadius: 12,\n justifyContent: 'center'\n },\n cancelButtonText: {\n height: 28,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 15,\n lineHeight: 22,\n textAlign: 'center',\n color: \"#5E6A79\"\n },\n alertButton: {\n color: '#819EAC'\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/Details.js"],"names":["React","useState","useEffect","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","deleteDoc","Details","navigation","route","params","itemDetails","name","onChangeName","email","onChangeEmail","image","onChangeImage","update","id","Name","Email","Image","navigate","merge","showAlert","Alert","alert","text","onPress","style","deleteUser","styles","container","input","button","cancelButtonText","StyleSheet","create","marginLeft","borderBottomColor","borderBottomWidth","width","marginTop","height","backgroundColor","borderRadius","justifyContent","fontStyle","fontWeight","fontSize","lineHeight","textAlign","color","alertButton"],"mappings":"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","sourcesContent":["import { StyleSheet, Text, View, Button, TextInput, TouchableOpacity, Alert } from 'react-native';\r\nimport React, { useState, useEffect } from 'react';\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef, deleteDoc} from \"firebase/firestore\"\r\n\r\n\r\n\r\nexport default function Details({ navigation, route }){\r\n\r\n const [name, onChangeName] = useState(route.params.itemDetails.name);\r\n const [email, onChangeEmail] = useState(route.params.itemDetails.email);\r\n const [image, onChangeImage] = useState(route.params.itemDetails.image);\r\n\r\n async function update(){\r\n\r\n await setDoc(doc(getFirestore(), \"Users\", route.params.itemDetails.id), {\r\n Name: name,\r\n Email: email,\r\n Image: image,\r\n });\r\n \r\n\r\n\r\n navigation.navigate({\r\n name: 'UserList',\r\n //params: { post: fach },\r\n merge: true,\r\n });\r\n }\r\n\r\n\r\n const showAlert = () =>\r\n Alert.alert(\r\n \"Delete\",\r\n \"Do you want to delete the User?\",\r\n [\r\n {\r\n text: \"Cancel\",\r\n onPress: () => navigation.navigate({\r\n name: 'UserList',\r\n //params: { post: fach },\r\n merge: true,\r\n }),\r\n style: \"alertButton\",\r\n },\r\n {\r\n text: \"Delete\",\r\n onPress: () => deleteUser(),\r\n style: \"alertButton\",\r\n },\r\n ],\r\n \r\n );\r\n\r\n function deleteUser(){//async\r\n\r\n //await deleteDoc(doc(getFirestore(), \"Users\", route.params.itemDetails.id));\r\n \r\n deleteDoc(doc(getFirestore(), \"Users\", route.params.itemDetails.id));\r\n\r\n\r\n\r\n navigation.navigate({\r\n name: 'UserList',\r\n //params: { post: fach },\r\n merge: true,\r\n });\r\n }\r\n \r\n\r\n return(\r\n <View style={styles.container}>\r\n <TextInput style={styles.input} onChangeText={onChangeName} value={name} multiline = {true} />\r\n <TextInput style={styles.input} onChangeText={onChangeEmail} value={email} multiline = {true} />\r\n <TextInput style={styles.input} onChangeText={onChangeImage} value={image} multiline = {true} />\r\n\r\n <TouchableOpacity style={styles.button} onPress={update}>\r\n <Text style={styles.cancelButtonText}>\r\n Update\r\n </Text>\r\n </TouchableOpacity>\r\n <TouchableOpacity style={styles.button} onPress={showAlert}>\r\n <Text style={styles.cancelButtonText}>\r\n Delete\r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n )\r\n}\r\n\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container:{\r\n marginLeft:10,\r\n },\r\n input:{\r\n //underlineColorAndroid: '#CFCDCD',\r\n borderBottomColor:'#CFCDCD',\r\n borderBottomWidth:1,\r\n width: 220,\r\n marginTop: 20,\r\n },\r\n button:{\r\n marginTop:35,\r\n width: 85,\r\n height: 35,\r\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\r\n //box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);\r\n borderRadius: 12,\r\n justifyContent: 'center',\r\n \r\n },\r\n cancelButtonText:{\r\n //width: 55,\r\n height: 28,\r\n\r\n //font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 15,\r\n lineHeight: 22,\r\n textAlign:'center',\r\n color: \"#5E6A79\",\r\n },\r\n alertButton:{\r\n color:'#819EAC',\r\n }\r\n });"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/03b6e606e1981a9946bdf93d86cd9da3.json b/.expo/web/cache/development/babel-loader/03b6e606e1981a9946bdf93d86cd9da3.json new file mode 100644 index 0000000000000000000000000000000000000000..6ecb5337fbf325662fcb50baa380e354d3145537 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/03b6e606e1981a9946bdf93d86cd9da3.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport { isNumber } from '@react-native-firebase/app/lib/common';\nimport { buildNativeArray, generateNativeData } from \"./utils/serialize\";\nimport { DOCUMENT_ID } from \"./FirestoreFieldPath\";\nvar OPERATORS = {\n '==': 'EQUAL',\n '>': 'GREATER_THAN',\n '>=': 'GREATER_THAN_OR_EQUAL',\n '<': 'LESS_THAN',\n '<=': 'LESS_THAN_OR_EQUAL',\n '!=': 'NOT_EQUAL',\n 'array-contains': 'ARRAY_CONTAINS',\n 'array-contains-any': 'ARRAY_CONTAINS_ANY',\n 'not-in': 'NOT_IN',\n in: 'IN'\n};\nvar INEQUALITY = {\n LESS_THAN: true,\n LESS_THAN_OR_EQUAL: true,\n GREATER_THAN: true,\n GREATER_THAN_OR_EQUAL: true,\n NOT_EQUAL: true\n};\nvar DIRECTIONS = {\n asc: 'ASCENDING',\n desc: 'DESCENDING'\n};\n\nvar FirestoreQueryModifiers = function () {\n function FirestoreQueryModifiers() {\n _classCallCheck(this, FirestoreQueryModifiers);\n\n this._limit = undefined;\n this._limitToLast = undefined;\n this._filters = [];\n this._orders = [];\n this._type = 'collection';\n this._startAt = undefined;\n this._startAfter = undefined;\n this._endAt = undefined;\n this._endBefore = undefined;\n }\n\n _createClass(FirestoreQueryModifiers, [{\n key: \"_copy\",\n value: function _copy() {\n var newInstance = new FirestoreQueryModifiers();\n newInstance._limit = this._limit;\n newInstance._limitToLast = this._limitToLast;\n newInstance._filters = _toConsumableArray(this._filters);\n newInstance._orders = _toConsumableArray(this._orders);\n newInstance._type = this._type;\n newInstance._startAt = this._startAt;\n newInstance._startAfter = this._startAfter;\n newInstance._endAt = this._endAt;\n newInstance._endBefore = this._endBefore;\n return newInstance;\n }\n }, {\n key: \"filters\",\n get: function get() {\n return this._filters.map(function (f) {\n return _objectSpread(_objectSpread({}, f), {}, {\n fieldPath: f.fieldPath._toArray()\n });\n });\n }\n }, {\n key: \"orders\",\n get: function get() {\n return this._orders;\n }\n }, {\n key: \"options\",\n get: function get() {\n var options = {};\n\n if (this._limit) {\n options.limit = this._limit;\n }\n\n if (this._limitToLast) {\n options.limitToLast = this._limitToLast;\n }\n\n if (this._startAt) {\n options.startAt = this._startAt;\n }\n\n if (this._startAfter) {\n options.startAfter = this._startAfter;\n }\n\n if (this._endAt) {\n options.endAt = this._endAt;\n }\n\n if (this._endBefore) {\n options.endBefore = this._endBefore;\n }\n\n return options;\n }\n }, {\n key: \"type\",\n get: function get() {\n return this._type;\n }\n }, {\n key: \"setFieldsCursor\",\n value: function setFieldsCursor(cursor, fields) {\n this[\"_\" + cursor] = buildNativeArray(fields);\n return this;\n }\n }, {\n key: \"hasStart\",\n value: function hasStart() {\n return !!(this._startAt || this._startAfter);\n }\n }, {\n key: \"hasEnd\",\n value: function hasEnd() {\n return !!(this._endAt || this._endBefore);\n }\n }, {\n key: \"asCollectionGroupQuery\",\n value: function asCollectionGroupQuery() {\n this._type = 'collectionGroup';\n return this;\n }\n }, {\n key: \"isCollectionGroupQuery\",\n value: function isCollectionGroupQuery() {\n return this._type === 'collectionGroup';\n }\n }, {\n key: \"isValidLimit\",\n value: function isValidLimit(limit) {\n return !isNumber(limit) || Math.floor(limit) !== limit || limit <= 0;\n }\n }, {\n key: \"limit\",\n value: function limit(_limit) {\n this._limitToLast = undefined;\n this._limit = _limit;\n return this;\n }\n }, {\n key: \"isValidLimitToLast\",\n value: function isValidLimitToLast(limit) {\n return !isNumber(limit) || Math.floor(limit) !== limit || limit <= 0;\n }\n }, {\n key: \"validatelimitToLast\",\n value: function validatelimitToLast() {\n if (this._limitToLast) {\n if (!this._orders.length) {\n throw new Error('firebase.firestore().collection().limitToLast() queries require specifying at least one firebase.firestore().collection().orderBy() clause');\n }\n }\n }\n }, {\n key: \"limitToLast\",\n value: function limitToLast(_limitToLast) {\n this._limit = undefined;\n this._limitToLast = _limitToLast;\n return this;\n }\n }, {\n key: \"isValidOperator\",\n value: function isValidOperator(operator) {\n return !!OPERATORS[operator];\n }\n }, {\n key: \"isEqualOperator\",\n value: function isEqualOperator(operator) {\n return OPERATORS[operator] === 'EQUAL';\n }\n }, {\n key: \"isInOperator\",\n value: function isInOperator(operator) {\n return OPERATORS[operator] === 'IN' || OPERATORS[operator] === 'ARRAY_CONTAINS_ANY' || OPERATORS[operator] === 'NOT_IN';\n }\n }, {\n key: \"where\",\n value: function where(fieldPath, opStr, value) {\n var filter = {\n fieldPath: fieldPath,\n operator: OPERATORS[opStr],\n value: generateNativeData(value, true)\n };\n this._filters = this._filters.concat(filter);\n return this;\n }\n }, {\n key: \"validateWhere\",\n value: function validateWhere() {\n var hasInequality;\n var hasNotEqual;\n\n for (var i = 0; i < this._filters.length; i++) {\n var filter = this._filters[i];\n\n if (!INEQUALITY[filter.operator]) {\n continue;\n }\n\n if (filter.operator === OPERATORS['!=']) {\n if (hasNotEqual) {\n throw new Error(\"Invalid query. You cannot use more than one '!=' inequality filter.\");\n }\n\n hasNotEqual = true;\n }\n\n if (!hasInequality) {\n hasInequality = filter;\n continue;\n }\n\n if (INEQUALITY[filter.operator] && hasInequality) {\n if (hasInequality.fieldPath._toPath() !== filter.fieldPath._toPath()) {\n throw new Error(\"Invalid query. All where filters with an inequality (<, <=, >, != or >=) must be on the same field. But you have inequality filters on '\" + hasInequality.fieldPath._toPath() + \"' and '\" + filter.fieldPath._toPath() + \"'\");\n }\n }\n }\n\n var hasArrayContains;\n var hasArrayContainsAny;\n var hasIn;\n var hasNotIn;\n\n for (var _i = 0; _i < this._filters.length; _i++) {\n var _filter = this._filters[_i];\n\n if (_filter.operator === OPERATORS['array-contains']) {\n if (hasArrayContains) {\n throw new Error('Invalid query. Queries only support a single array-contains filter.');\n }\n\n hasArrayContains = true;\n }\n\n if (_filter.operator === OPERATORS['array-contains-any']) {\n if (hasArrayContainsAny) {\n throw new Error(\"Invalid query. You cannot use more than one 'array-contains-any' filter.\");\n }\n\n if (hasIn) {\n throw new Error(\"Invalid query. You cannot use 'array-contains-any' filters with 'in' filters.\");\n }\n\n if (hasNotIn) {\n throw new Error(\"Invalid query. You cannot use 'array-contains-any' filters with 'not-in' filters.\");\n }\n\n hasArrayContainsAny = true;\n }\n\n if (_filter.operator === OPERATORS.in) {\n if (hasIn) {\n throw new Error(\"Invalid query. You cannot use more than one 'in' filter.\");\n }\n\n if (hasArrayContainsAny) {\n throw new Error(\"Invalid query. You cannot use 'in' filters with 'array-contains-any' filters.\");\n }\n\n if (hasNotIn) {\n throw new Error(\"Invalid query. You cannot use 'in' filters with 'not-in' filters.\");\n }\n\n hasIn = true;\n }\n\n if (_filter.operator === OPERATORS['not-in']) {\n if (hasNotIn) {\n throw new Error(\"Invalid query. You cannot use more than one 'not-in' filter.\");\n }\n\n if (hasNotEqual) {\n throw new Error(\"Invalid query. You cannot use 'not-in' filters with '!=' inequality filters\");\n }\n\n if (hasIn) {\n throw new Error(\"Invalid query. You cannot use 'not-in' filters with 'in' filters.\");\n }\n\n if (hasArrayContainsAny) {\n throw new Error(\"Invalid query. You cannot use 'not-in' filters with 'array-contains-any' filters.\");\n }\n\n hasNotIn = true;\n }\n }\n }\n }, {\n key: \"isValidDirection\",\n value: function isValidDirection(directionStr) {\n return !!DIRECTIONS[directionStr.toLowerCase()];\n }\n }, {\n key: \"orderBy\",\n value: function orderBy(fieldPath, directionStr) {\n var order = {\n fieldPath: fieldPath._toPath(),\n direction: directionStr ? DIRECTIONS[directionStr.toLowerCase()] : DIRECTIONS.asc\n };\n this._orders = this._orders.concat(order);\n return this;\n }\n }, {\n key: \"validateOrderBy\",\n value: function validateOrderBy() {\n if (this._orders.length > 1) {\n var orders = this._orders.map(function ($) {\n return $.fieldPath;\n });\n\n var set = new Set(orders);\n\n if (set.size !== orders.length) {\n throw new Error('Invalid query. Order by clause cannot contain duplicate fields.');\n }\n }\n\n if (this._filters.length === 0) {\n return;\n }\n\n for (var i = 0; i < this._filters.length; i++) {\n var filter = this._filters[i];\n\n var filterFieldPath = filter.fieldPath._toPath();\n\n for (var k = 0; k < this._orders.length; k++) {\n var order = this._orders[k];\n var orderFieldPath = order.fieldPath;\n\n if (filter.operator === OPERATORS['==']) {\n if (filterFieldPath === orderFieldPath) {\n throw new Error(\"Invalid query. Query.orderBy() parameter: \" + orderFieldPath + \" cannot be the same as your Query.where() fieldPath parameter: \" + filterFieldPath);\n }\n }\n\n if (filterFieldPath === DOCUMENT_ID._toPath() && orderFieldPath !== DOCUMENT_ID._toPath()) {\n throw new Error(\"Invalid query. Query.where() fieldPath parameter: 'FirestoreFieldPath' cannot be used in conjunction with a different Query.orderBy() parameter\");\n }\n\n if (INEQUALITY[filter.operator]) {\n if (filterFieldPath !== this._orders[0].fieldPath) {\n throw new Error(\"Invalid query. Initial Query.orderBy() parameter: \" + orderFieldPath + \" has to be the same as the Query.where() fieldPath parameter(s): \" + filterFieldPath + \" when an inequality operator is invoked \");\n }\n }\n }\n }\n }\n }]);\n\n return FirestoreQueryModifiers;\n}();\n\nexport { FirestoreQueryModifiers as default };","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/firestore/lib/FirestoreQueryModifiers.js"],"names":["isNumber","buildNativeArray","generateNativeData","DOCUMENT_ID","OPERATORS","in","INEQUALITY","LESS_THAN","LESS_THAN_OR_EQUAL","GREATER_THAN","GREATER_THAN_OR_EQUAL","NOT_EQUAL","DIRECTIONS","asc","desc","FirestoreQueryModifiers","_limit","undefined","_limitToLast","_filters","_orders","_type","_startAt","_startAfter","_endAt","_endBefore","newInstance","map","f","fieldPath","_toArray","options","limit","limitToLast","startAt","startAfter","endAt","endBefore","cursor","fields","Math","floor","length","Error","operator","opStr","value","filter","concat","hasInequality","hasNotEqual","i","_toPath","hasArrayContains","hasArrayContainsAny","hasIn","hasNotIn","directionStr","toLowerCase","order","direction","orders","$","set","Set","size","filterFieldPath","k","orderFieldPath"],"mappings":"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","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { isNumber } from '@react-native-firebase/app/lib/common';\nimport { buildNativeArray, generateNativeData } from './utils/serialize';\nimport { DOCUMENT_ID } from './FirestoreFieldPath';\n\nconst OPERATORS = {\n '==': 'EQUAL',\n '>': 'GREATER_THAN',\n '>=': 'GREATER_THAN_OR_EQUAL',\n '<': 'LESS_THAN',\n '<=': 'LESS_THAN_OR_EQUAL',\n '!=': 'NOT_EQUAL',\n 'array-contains': 'ARRAY_CONTAINS',\n 'array-contains-any': 'ARRAY_CONTAINS_ANY',\n 'not-in': 'NOT_IN',\n in: 'IN',\n};\n\nconst INEQUALITY = {\n LESS_THAN: true,\n LESS_THAN_OR_EQUAL: true,\n GREATER_THAN: true,\n GREATER_THAN_OR_EQUAL: true,\n NOT_EQUAL: true,\n};\n\nconst DIRECTIONS = {\n asc: 'ASCENDING',\n desc: 'DESCENDING',\n};\n\nexport default class FirestoreQueryModifiers {\n constructor() {\n this._limit = undefined;\n this._limitToLast = undefined;\n this._filters = [];\n this._orders = [];\n this._type = 'collection';\n // Cursors\n this._startAt = undefined;\n this._startAfter = undefined;\n this._endAt = undefined;\n this._endBefore = undefined;\n }\n\n _copy() {\n const newInstance = new FirestoreQueryModifiers();\n newInstance._limit = this._limit;\n newInstance._limitToLast = this._limitToLast;\n newInstance._filters = [...this._filters];\n newInstance._orders = [...this._orders];\n newInstance._type = this._type;\n newInstance._startAt = this._startAt;\n newInstance._startAfter = this._startAfter;\n newInstance._endAt = this._endAt;\n newInstance._endBefore = this._endBefore;\n return newInstance;\n }\n\n get filters() {\n return this._filters.map(f => ({ ...f, fieldPath: f.fieldPath._toArray() }));\n }\n\n get orders() {\n return this._orders;\n }\n\n get options() {\n const options = {};\n\n if (this._limit) {\n options.limit = this._limit;\n }\n\n if (this._limitToLast) {\n options.limitToLast = this._limitToLast;\n }\n\n if (this._startAt) {\n options.startAt = this._startAt;\n }\n if (this._startAfter) {\n options.startAfter = this._startAfter;\n }\n if (this._endAt) {\n options.endAt = this._endAt;\n }\n if (this._endBefore) {\n options.endBefore = this._endBefore;\n }\n\n return options;\n }\n\n get type() {\n return this._type;\n }\n\n setFieldsCursor(cursor, fields) {\n this[`_${cursor}`] = buildNativeArray(fields);\n return this;\n }\n\n /**\n * Options\n */\n\n hasStart() {\n return !!(this._startAt || this._startAfter);\n }\n\n hasEnd() {\n return !!(this._endAt || this._endBefore);\n }\n\n /**\n * Collection Group Query\n */\n\n asCollectionGroupQuery() {\n this._type = 'collectionGroup';\n return this;\n }\n\n isCollectionGroupQuery() {\n return this._type === 'collectionGroup';\n }\n\n /**\n * Limit\n */\n\n isValidLimit(limit) {\n return !isNumber(limit) || Math.floor(limit) !== limit || limit <= 0;\n }\n\n limit(limit) {\n this._limitToLast = undefined;\n this._limit = limit;\n return this;\n }\n\n /**\n * limitToLast\n */\n\n isValidLimitToLast(limit) {\n return !isNumber(limit) || Math.floor(limit) !== limit || limit <= 0;\n }\n\n validatelimitToLast() {\n if (this._limitToLast) {\n if (!this._orders.length) {\n throw new Error(\n 'firebase.firestore().collection().limitToLast() queries require specifying at least one firebase.firestore().collection().orderBy() clause',\n );\n }\n }\n }\n\n limitToLast(limitToLast) {\n this._limit = undefined;\n this._limitToLast = limitToLast;\n return this;\n }\n\n /**\n * Filters\n */\n\n isValidOperator(operator) {\n return !!OPERATORS[operator];\n }\n\n isEqualOperator(operator) {\n return OPERATORS[operator] === 'EQUAL';\n }\n\n isInOperator(operator) {\n return (\n OPERATORS[operator] === 'IN' ||\n OPERATORS[operator] === 'ARRAY_CONTAINS_ANY' ||\n OPERATORS[operator] === 'NOT_IN'\n );\n }\n\n where(fieldPath, opStr, value) {\n const filter = {\n fieldPath,\n operator: OPERATORS[opStr],\n value: generateNativeData(value, true),\n };\n\n this._filters = this._filters.concat(filter);\n return this;\n }\n\n validateWhere() {\n let hasInequality;\n let hasNotEqual;\n\n for (let i = 0; i < this._filters.length; i++) {\n const filter = this._filters[i];\n // Skip if no inequality\n if (!INEQUALITY[filter.operator]) {\n continue;\n }\n\n if (filter.operator === OPERATORS['!=']) {\n if (hasNotEqual) {\n throw new Error(\"Invalid query. You cannot use more than one '!=' inequality filter.\");\n }\n //needs to set hasNotEqual = true before setting first hasInequality = filter. It is used in a condition check later\n hasNotEqual = true;\n }\n\n // Set the first inequality\n if (!hasInequality) {\n hasInequality = filter;\n continue;\n }\n\n // Check the set value is the same as the new one\n if (INEQUALITY[filter.operator] && hasInequality) {\n if (hasInequality.fieldPath._toPath() !== filter.fieldPath._toPath()) {\n throw new Error(\n `Invalid query. All where filters with an inequality (<, <=, >, != or >=) must be on the same field. But you have inequality filters on '${hasInequality.fieldPath._toPath()}' and '${filter.fieldPath._toPath()}'`,\n );\n }\n }\n }\n\n let hasArrayContains;\n let hasArrayContainsAny;\n let hasIn;\n let hasNotIn;\n\n for (let i = 0; i < this._filters.length; i++) {\n const filter = this._filters[i];\n\n if (filter.operator === OPERATORS['array-contains']) {\n if (hasArrayContains) {\n throw new Error('Invalid query. Queries only support a single array-contains filter.');\n }\n hasArrayContains = true;\n }\n\n if (filter.operator === OPERATORS['array-contains-any']) {\n if (hasArrayContainsAny) {\n throw new Error(\n \"Invalid query. You cannot use more than one 'array-contains-any' filter.\",\n );\n }\n\n if (hasIn) {\n throw new Error(\n \"Invalid query. You cannot use 'array-contains-any' filters with 'in' filters.\",\n );\n }\n\n if (hasNotIn) {\n throw new Error(\n \"Invalid query. You cannot use 'array-contains-any' filters with 'not-in' filters.\",\n );\n }\n\n hasArrayContainsAny = true;\n }\n\n if (filter.operator === OPERATORS.in) {\n if (hasIn) {\n throw new Error(\"Invalid query. You cannot use more than one 'in' filter.\");\n }\n\n if (hasArrayContainsAny) {\n throw new Error(\n \"Invalid query. You cannot use 'in' filters with 'array-contains-any' filters.\",\n );\n }\n\n if (hasNotIn) {\n throw new Error(\"Invalid query. You cannot use 'in' filters with 'not-in' filters.\");\n }\n\n hasIn = true;\n }\n\n if (filter.operator === OPERATORS['not-in']) {\n if (hasNotIn) {\n throw new Error(\"Invalid query. You cannot use more than one 'not-in' filter.\");\n }\n\n if (hasNotEqual) {\n throw new Error(\n \"Invalid query. You cannot use 'not-in' filters with '!=' inequality filters\",\n );\n }\n\n if (hasIn) {\n throw new Error(\"Invalid query. You cannot use 'not-in' filters with 'in' filters.\");\n }\n\n if (hasArrayContainsAny) {\n throw new Error(\n \"Invalid query. You cannot use 'not-in' filters with 'array-contains-any' filters.\",\n );\n }\n\n hasNotIn = true;\n }\n }\n }\n\n /**\n * Orders\n */\n\n isValidDirection(directionStr) {\n return !!DIRECTIONS[directionStr.toLowerCase()];\n }\n\n orderBy(fieldPath, directionStr) {\n const order = {\n fieldPath: fieldPath._toPath(),\n direction: directionStr ? DIRECTIONS[directionStr.toLowerCase()] : DIRECTIONS.asc,\n };\n\n this._orders = this._orders.concat(order);\n return this;\n }\n\n validateOrderBy() {\n // Ensure order hasn't been called on the same field\n if (this._orders.length > 1) {\n const orders = this._orders.map($ => $.fieldPath);\n const set = new Set(orders);\n\n if (set.size !== orders.length) {\n throw new Error('Invalid query. Order by clause cannot contain duplicate fields.');\n }\n }\n\n // Skip if no where filters\n if (this._filters.length === 0) {\n return;\n }\n\n // Ensure the first order field path is equal to the inequality filter field path\n for (let i = 0; i < this._filters.length; i++) {\n const filter = this._filters[i];\n const filterFieldPath = filter.fieldPath._toPath();\n\n for (let k = 0; k < this._orders.length; k++) {\n const order = this._orders[k];\n const orderFieldPath = order.fieldPath;\n if (filter.operator === OPERATORS['==']) {\n // Any where() fieldPath parameter cannot match any orderBy() parameter when '==' operand is invoked\n if (filterFieldPath === orderFieldPath) {\n throw new Error(\n `Invalid query. Query.orderBy() parameter: ${orderFieldPath} cannot be the same as your Query.where() fieldPath parameter: ${filterFieldPath}`,\n );\n }\n }\n\n if (filterFieldPath === DOCUMENT_ID._toPath() && orderFieldPath !== DOCUMENT_ID._toPath()) {\n throw new Error(\n \"Invalid query. Query.where() fieldPath parameter: 'FirestoreFieldPath' cannot be used in conjunction with a different Query.orderBy() parameter\",\n );\n }\n\n if (INEQUALITY[filter.operator]) {\n // Initial orderBy() parameter has to match every where() fieldPath parameter when inequality operator is invoked\n if (filterFieldPath !== this._orders[0].fieldPath) {\n throw new Error(\n `Invalid query. Initial Query.orderBy() parameter: ${orderFieldPath} has to be the same as the Query.where() fieldPath parameter(s): ${filterFieldPath} when an inequality operator is invoked `,\n );\n }\n }\n }\n }\n }\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/03d43a5ee197acc8154ca9b6f6810dae.json b/.expo/web/cache/development/babel-loader/03d43a5ee197acc8154ca9b6f6810dae.json new file mode 100644 index 0000000000000000000000000000000000000000..9184828dc0cf44637c7e42b32b3c8d65ac5a7dc8 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/03d43a5ee197acc8154ca9b6f6810dae.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _createClass from \"@babel/runtime/helpers/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nimport Platform from \"../Platform\";\nimport { CodedError } from \"./CodedError\";\nexport var UnavailabilityError = function (_CodedError) {\n _inherits(UnavailabilityError, _CodedError);\n\n var _super = _createSuper(UnavailabilityError);\n\n function UnavailabilityError(moduleName, propertyName) {\n _classCallCheck(this, UnavailabilityError);\n\n return _super.call(this, 'ERR_UNAVAILABLE', \"The method or property \" + moduleName + \".\" + propertyName + \" is not available on \" + Platform.OS + \", are you sure you've linked all the native dependencies properly?\");\n }\n\n return _createClass(UnavailabilityError);\n}(CodedError);","map":{"version":3,"sources":["../../src/errors/UnavailabilityError.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,QAAP;AACA,SAAS,UAAT;AAOA,WAAa,mBAAb;AAAA;;AAAA;;AACE,+BAAY,UAAZ,EAAgC,YAAhC,EAAoD;AAAA;;AAAA,6BAEhD,iBAFgD,8BAGtB,UAHsB,SAGR,YAHQ,6BAG4B,QAAQ,CAAC,EAHrC;AAKnD;;AANH;AAAA,EAAyC,UAAzC","sourcesContent":["import Platform from '../Platform';\nimport { CodedError } from './CodedError';\n\n/**\n * A class for errors to be thrown when a property is accessed which is\n * unavailable, unsupported, or not currently implemented on the running\n * platform.\n */\nexport class UnavailabilityError extends CodedError {\n constructor(moduleName: string, propertyName: string) {\n super(\n 'ERR_UNAVAILABLE',\n `The method or property ${moduleName}.${propertyName} is not available on ${Platform.OS}, are you sure you've linked all the native dependencies properly?`\n );\n }\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/03e041c2eed775dd0dc78a99d52b74ad.json b/.expo/web/cache/development/babel-loader/03e041c2eed775dd0dc78a99d52b74ad.json new file mode 100644 index 0000000000000000000000000000000000000000..b65f7855351fcd9ce34dd3e3f0cef3e0c8476f28 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/03e041c2eed775dd0dc78a99d52b74ad.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } 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\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(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\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 ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport * as React from 'react';\nimport NavigationBuilderContext from \"./NavigationBuilderContext\";\nimport NavigationRouteContext from \"./NavigationRouteContext\";\nvar VISITED_ROUTE_KEYS = Symbol('VISITED_ROUTE_KEYS');\nexport var shouldPreventRemove = function shouldPreventRemove(emitter, beforeRemoveListeners, currentRoutes, nextRoutes, action) {\n var _action$VISITED_ROUTE;\n\n var nextRouteKeys = nextRoutes.map(function (route) {\n return route.key;\n });\n var removedRoutes = currentRoutes.filter(function (route) {\n return !nextRouteKeys.includes(route.key);\n }).reverse();\n var visitedRouteKeys = (_action$VISITED_ROUTE = action[VISITED_ROUTE_KEYS]) !== null && _action$VISITED_ROUTE !== void 0 ? _action$VISITED_ROUTE : new Set();\n\n var beforeRemoveAction = _objectSpread(_objectSpread({}, action), {}, _defineProperty({}, VISITED_ROUTE_KEYS, visitedRouteKeys));\n\n for (var _iterator = _createForOfIteratorHelperLoose(removedRoutes), _step; !(_step = _iterator()).done;) {\n var route = _step.value;\n\n var _beforeRemoveListener;\n\n if (visitedRouteKeys.has(route.key)) {\n continue;\n }\n\n var isPrevented = (_beforeRemoveListener = beforeRemoveListeners[route.key]) === null || _beforeRemoveListener === void 0 ? void 0 : _beforeRemoveListener.call(beforeRemoveListeners, beforeRemoveAction);\n\n if (isPrevented) {\n return true;\n }\n\n visitedRouteKeys.add(route.key);\n var event = emitter.emit({\n type: 'beforeRemove',\n target: route.key,\n data: {\n action: beforeRemoveAction\n },\n canPreventDefault: true\n });\n\n if (event.defaultPrevented) {\n return true;\n }\n }\n\n return false;\n};\nexport default function useOnPreventRemove(_ref) {\n var getState = _ref.getState,\n emitter = _ref.emitter,\n beforeRemoveListeners = _ref.beforeRemoveListeners;\n\n var _React$useContext = React.useContext(NavigationBuilderContext),\n addKeyedListener = _React$useContext.addKeyedListener;\n\n var route = React.useContext(NavigationRouteContext);\n var routeKey = route === null || route === void 0 ? void 0 : route.key;\n React.useEffect(function () {\n if (routeKey) {\n return addKeyedListener === null || addKeyedListener === void 0 ? void 0 : addKeyedListener('beforeRemove', routeKey, function (action) {\n var state = getState();\n return shouldPreventRemove(emitter, beforeRemoveListeners, state.routes, [], action);\n });\n }\n }, [addKeyedListener, beforeRemoveListeners, emitter, getState, routeKey]);\n}","map":{"version":3,"sources":["useOnPreventRemove.tsx"],"names":["VISITED_ROUTE_KEYS","Symbol","shouldPreventRemove","nextRouteKeys","nextRoutes","route","removedRoutes","currentRoutes","visitedRouteKeys","action","beforeRemoveAction","isPrevented","beforeRemoveListeners","event","type","target","data","canPreventDefault","addKeyedListener","React","routeKey","state","getState"],"mappings":"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","sourcesContent":["import type {\n NavigationAction,\n NavigationState,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationBuilderContext, {\n ChildBeforeRemoveListener,\n} from './NavigationBuilderContext';\nimport NavigationRouteContext from './NavigationRouteContext';\nimport type { EventMapCore } from './types';\nimport type { NavigationEventEmitter } from './useEventEmitter';\n\ntype Options = {\n getState: () => NavigationState;\n emitter: NavigationEventEmitter<EventMapCore<any>>;\n beforeRemoveListeners: Record<string, ChildBeforeRemoveListener | undefined>;\n};\n\nconst VISITED_ROUTE_KEYS = Symbol('VISITED_ROUTE_KEYS');\n\nexport const shouldPreventRemove = (\n emitter: NavigationEventEmitter<EventMapCore<any>>,\n beforeRemoveListeners: Record<string, ChildBeforeRemoveListener | undefined>,\n currentRoutes: { key: string }[],\n nextRoutes: { key?: string | undefined }[],\n action: NavigationAction\n) => {\n const nextRouteKeys = nextRoutes.map((route) => route.key);\n\n // Call these in reverse order so last screens handle the event first\n const removedRoutes = currentRoutes\n .filter((route) => !nextRouteKeys.includes(route.key))\n .reverse();\n\n const visitedRouteKeys: Set<string> =\n // @ts-expect-error: add this property to mark that we've already emitted this action\n action[VISITED_ROUTE_KEYS] ?? new Set<string>();\n\n const beforeRemoveAction = {\n ...action,\n [VISITED_ROUTE_KEYS]: visitedRouteKeys,\n };\n\n for (const route of removedRoutes) {\n if (visitedRouteKeys.has(route.key)) {\n // Skip if we've already emitted this action for this screen\n continue;\n }\n\n // First, we need to check if any child screens want to prevent it\n const isPrevented = beforeRemoveListeners[route.key]?.(beforeRemoveAction);\n\n if (isPrevented) {\n return true;\n }\n\n visitedRouteKeys.add(route.key);\n\n const event = emitter.emit({\n type: 'beforeRemove',\n target: route.key,\n data: { action: beforeRemoveAction },\n canPreventDefault: true,\n });\n\n if (event.defaultPrevented) {\n return true;\n }\n }\n\n return false;\n};\n\nexport default function useOnPreventRemove({\n getState,\n emitter,\n beforeRemoveListeners,\n}: Options) {\n const { addKeyedListener } = React.useContext(NavigationBuilderContext);\n const route = React.useContext(NavigationRouteContext);\n const routeKey = route?.key;\n\n React.useEffect(() => {\n if (routeKey) {\n return addKeyedListener?.('beforeRemove', routeKey, (action) => {\n const state = getState();\n\n return shouldPreventRemove(\n emitter,\n beforeRemoveListeners,\n state.routes,\n [],\n action\n );\n });\n }\n }, [addKeyedListener, beforeRemoveListeners, emitter, getState, routeKey]);\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/040bd9b80ea7cf2f03c6a926bf0350a7.json b/.expo/web/cache/development/babel-loader/040bd9b80ea7cf2f03c6a926bf0350a7.json new file mode 100644 index 0000000000000000000000000000000000000000..896fa07510b22783c813117b7c1322a0a1d65442 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/040bd9b80ea7cf2f03c6a926bf0350a7.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { isArray, isNumber } from '@react-native-firebase/app/lib/common';\nimport { buildNativeArray, provideFieldValueClass } from \"./utils/serialize\";\nexport var TypeFieldValueDelete = 'delete';\nexport var TypeFieldValueIncrement = 'increment';\nexport var TypeFieldValueRemove = 'array_remove';\nexport var TypeFieldValueUnion = 'array_union';\nexport var TypeFieldValueTimestamp = 'timestamp';\n\nfunction validateArrayElements(elements) {\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i];\n\n if (element instanceof FirestoreFieldValue) {\n throw new Error('FieldValue instance cannot be used with other FieldValue methods.');\n }\n\n if (isArray(element)) {\n throw new Error('Nested arrays are not supported');\n }\n }\n}\n\nvar FirestoreFieldValue = function () {\n function FirestoreFieldValue() {\n var internal = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var type = arguments.length > 1 ? arguments[1] : undefined;\n var elements = arguments.length > 2 ? arguments[2] : undefined;\n\n _classCallCheck(this, FirestoreFieldValue);\n\n if (internal === false) {\n throw new Error('firebase.firestore.FieldValue constructor is private, use FieldValue.<field>() instead.');\n }\n\n this._type = type;\n this._elements = elements;\n }\n\n _createClass(FirestoreFieldValue, [{\n key: \"isEqual\",\n value: function isEqual(other) {\n if (!(other instanceof FirestoreFieldValue)) {\n throw new Error(\"firebase.firestore.FieldValue.isEqual(*) 'other' expected a FieldValue instance.\");\n }\n\n return this._type === other._type && JSON.stringify(this._elements) === JSON.stringify(other._elements);\n }\n }], [{\n key: \"delete\",\n value: function _delete() {\n return new FirestoreFieldValue(true, TypeFieldValueDelete);\n }\n }, {\n key: \"increment\",\n value: function increment(n) {\n if (!isNumber(n)) {\n throw new Error(\"firebase.firestore.FieldValue.increment(*) 'n' expected a number value.\");\n }\n\n return new FirestoreFieldValue(true, TypeFieldValueIncrement, n);\n }\n }, {\n key: \"serverTimestamp\",\n value: function serverTimestamp() {\n return new FirestoreFieldValue(true, TypeFieldValueTimestamp);\n }\n }, {\n key: \"arrayUnion\",\n value: function arrayUnion() {\n for (var _len = arguments.length, elements = new Array(_len), _key = 0; _key < _len; _key++) {\n elements[_key] = arguments[_key];\n }\n\n try {\n validateArrayElements(elements);\n } catch (e) {\n throw new Error(\"firebase.firestore.FieldValue.arrayUnion(*) 'elements' called with invalid data. \" + e.message);\n }\n\n return new FirestoreFieldValue(true, TypeFieldValueUnion, buildNativeArray(elements));\n }\n }, {\n key: \"arrayRemove\",\n value: function arrayRemove() {\n for (var _len2 = arguments.length, elements = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n elements[_key2] = arguments[_key2];\n }\n\n try {\n validateArrayElements(elements);\n } catch (e) {\n throw new Error(\"firebase.firestore.FieldValue.arrayRemove(*) 'elements' called with invalid data. \" + e.message);\n }\n\n return new FirestoreFieldValue(true, TypeFieldValueRemove, buildNativeArray(elements));\n }\n }]);\n\n return FirestoreFieldValue;\n}();\n\nexport { FirestoreFieldValue as default };\nprovideFieldValueClass(FirestoreFieldValue);","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/firestore/lib/FirestoreFieldValue.js"],"names":["isArray","isNumber","buildNativeArray","provideFieldValueClass","TypeFieldValueDelete","TypeFieldValueIncrement","TypeFieldValueRemove","TypeFieldValueUnion","TypeFieldValueTimestamp","validateArrayElements","elements","i","length","element","FirestoreFieldValue","Error","internal","type","_type","_elements","other","JSON","stringify","n","e","message"],"mappings":"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","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { isArray, isNumber } from '@react-native-firebase/app/lib/common';\nimport { buildNativeArray, provideFieldValueClass } from './utils/serialize';\n\nexport const TypeFieldValueDelete = 'delete';\nexport const TypeFieldValueIncrement = 'increment';\nexport const TypeFieldValueRemove = 'array_remove';\nexport const TypeFieldValueUnion = 'array_union';\nexport const TypeFieldValueTimestamp = 'timestamp';\n\nfunction validateArrayElements(elements) {\n for (let i = 0; i < elements.length; i++) {\n const element = elements[i];\n\n if (element instanceof FirestoreFieldValue) {\n throw new Error('FieldValue instance cannot be used with other FieldValue methods.');\n }\n\n if (isArray(element)) {\n throw new Error('Nested arrays are not supported');\n }\n }\n}\n\nexport default class FirestoreFieldValue {\n constructor(internal = false, type, elements) {\n if (internal === false) {\n throw new Error(\n 'firebase.firestore.FieldValue constructor is private, use FieldValue.<field>() instead.',\n );\n }\n\n this._type = type;\n this._elements = elements;\n }\n\n static delete() {\n return new FirestoreFieldValue(true, TypeFieldValueDelete);\n }\n\n static increment(n) {\n if (!isNumber(n)) {\n throw new Error(\"firebase.firestore.FieldValue.increment(*) 'n' expected a number value.\");\n }\n\n return new FirestoreFieldValue(true, TypeFieldValueIncrement, n);\n }\n\n static serverTimestamp() {\n return new FirestoreFieldValue(true, TypeFieldValueTimestamp);\n }\n\n static arrayUnion(...elements) {\n try {\n validateArrayElements(elements);\n } catch (e) {\n throw new Error(\n `firebase.firestore.FieldValue.arrayUnion(*) 'elements' called with invalid data. ${e.message}`,\n );\n }\n\n return new FirestoreFieldValue(true, TypeFieldValueUnion, buildNativeArray(elements));\n }\n\n static arrayRemove(...elements) {\n try {\n validateArrayElements(elements);\n } catch (e) {\n throw new Error(\n `firebase.firestore.FieldValue.arrayRemove(*) 'elements' called with invalid data. ${e.message}`,\n );\n }\n\n return new FirestoreFieldValue(true, TypeFieldValueRemove, buildNativeArray(elements));\n }\n\n isEqual(other) {\n if (!(other instanceof FirestoreFieldValue)) {\n throw new Error(\n \"firebase.firestore.FieldValue.isEqual(*) 'other' expected a FieldValue instance.\",\n );\n }\n\n return (\n this._type === other._type &&\n JSON.stringify(this._elements) === JSON.stringify(other._elements)\n );\n }\n}\n\nprovideFieldValueClass(FirestoreFieldValue); // serialize\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/04ac357386db0e4855cdfe9d1b1cbc9b.json b/.expo/web/cache/development/babel-loader/04ac357386db0e4855cdfe9d1b1cbc9b.json new file mode 100644 index 0000000000000000000000000000000000000000..b387ddeecb6b0ac3d42b247bcadd8bd99684a658 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/04ac357386db0e4855cdfe9d1b1cbc9b.json @@ -0,0 +1 @@ +{"ast":null,"code":"export default function isRecordEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n\n if (aKeys.length !== bKeys.length) {\n return false;\n }\n\n return aKeys.every(function (key) {\n return a[key] === b[key];\n });\n}","map":{"version":3,"sources":["isRecordEqual.tsx"],"names":["a","aKeys","Object","bKeys","key","b"],"mappings":"AAGA,eAAe,SAAA,aAAA,CAAA,CAAA,EAAA,CAAA,EAGb;AACA,MAAIA,CAAC,KAAL,CAAA,EAAa;AACX,WAAA,IAAA;AACD;;AAED,MAAMC,KAAK,GAAGC,MAAM,CAANA,IAAAA,CAAd,CAAcA,CAAd;AACA,MAAMC,KAAK,GAAGD,MAAM,CAANA,IAAAA,CAAd,CAAcA,CAAd;;AAEA,MAAID,KAAK,CAALA,MAAAA,KAAiBE,KAAK,CAA1B,MAAA,EAAmC;AACjC,WAAA,KAAA;AACD;;AAED,SAAOF,KAAK,CAALA,KAAAA,CAAaG,UAAAA,GAAD;AAAA,WAASJ,CAAC,CAADA,GAAC,CAADA,KAAWK,CAAC,CAAxC,GAAwC,CAArB;AAAA,GAAZJ,CAAP;AACD","sourcesContent":["/**\n * Compare two records with primitive values as the content.\n */\nexport default function isRecordEqual(\n a: Record<string, any>,\n b: Record<string, any>\n) {\n if (a === b) {\n return true;\n }\n\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n\n if (aKeys.length !== bKeys.length) {\n return false;\n }\n\n return aKeys.every((key) => a[key] === b[key]);\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/0581f8e968493e5b744844d39975d1fd.json b/.expo/web/cache/development/babel-loader/0581f8e968493e5b744844d39975d1fd.json new file mode 100644 index 0000000000000000000000000000000000000000..37c0a2630afa5e63d2ffd57294b95c36a825c1f1 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/0581f8e968493e5b744844d39975d1fd.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nimport Platform from \"../../../exports/Platform\";\nimport RCTDeviceEventEmitter from \"./RCTDeviceEventEmitter\";\nimport invariant from 'fbjs/lib/invariant';\n\nvar NativeEventEmitter = function () {\n function NativeEventEmitter(nativeModule) {\n if (Platform.OS === 'ios') {\n invariant(nativeModule != null, '`new NativeEventEmitter()` requires a non-null argument.');\n this._nativeModule = nativeModule;\n }\n }\n\n var _proto = NativeEventEmitter.prototype;\n\n _proto.addListener = function addListener(eventType, listener, context) {\n var _this$_nativeModule,\n _this = this;\n\n (_this$_nativeModule = this._nativeModule) == null ? void 0 : _this$_nativeModule.addListener(eventType);\n var subscription = RCTDeviceEventEmitter.addListener(eventType, listener, context);\n return {\n remove: function remove() {\n if (subscription != null) {\n var _this$_nativeModule2;\n\n (_this$_nativeModule2 = _this._nativeModule) == null ? void 0 : _this$_nativeModule2.removeListeners(1);\n subscription.remove();\n subscription = null;\n }\n }\n };\n };\n\n _proto.removeListener = function removeListener(eventType, listener) {\n var _this$_nativeModule3;\n\n (_this$_nativeModule3 = this._nativeModule) == null ? void 0 : _this$_nativeModule3.removeListeners(1);\n RCTDeviceEventEmitter.removeListener(eventType, listener);\n };\n\n _proto.emit = function 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\n RCTDeviceEventEmitter.emit.apply(RCTDeviceEventEmitter, [eventType].concat(args));\n };\n\n _proto.removeAllListeners = function removeAllListeners(eventType) {\n var _this$_nativeModule4;\n\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\n _proto.listenerCount = function listenerCount(eventType) {\n return RCTDeviceEventEmitter.listenerCount(eventType);\n };\n\n return NativeEventEmitter;\n}();\n\nexport { NativeEventEmitter as default };","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/NativeEventEmitter/index.js"],"names":["Platform","RCTDeviceEventEmitter","invariant","NativeEventEmitter","nativeModule","OS","_nativeModule","_proto","prototype","addListener","eventType","listener","context","_this$_nativeModule","_this","subscription","remove","_this$_nativeModule2","removeListeners","removeListener","_this$_nativeModule3","emit","_len","arguments","length","args","Array","_key","apply","concat","removeAllListeners","_this$_nativeModule4","listenerCount","default"],"mappings":"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","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nimport Platform from '../../../exports/Platform';\nimport RCTDeviceEventEmitter from './RCTDeviceEventEmitter';\nimport invariant from 'fbjs/lib/invariant';\n\n/**\n * `NativeEventEmitter` is intended for use by Native Modules to emit events to\n * JavaScript listeners. If a `NativeModule` is supplied to the constructor, it\n * will be notified (via `addListener` and `removeListeners`) when the listener\n * count changes to manage \"native memory\".\n *\n * Currently, all native events are fired via a global `RCTDeviceEventEmitter`.\n * This means event names must be globally unique, and it means that call sites\n * can theoretically listen to `RCTDeviceEventEmitter` (although discouraged).\n */\nvar NativeEventEmitter = /*#__PURE__*/function () {\n function NativeEventEmitter(nativeModule) {\n if (Platform.OS === 'ios') {\n invariant(nativeModule != null, '`new NativeEventEmitter()` requires a non-null argument.');\n this._nativeModule = nativeModule;\n }\n }\n\n var _proto = NativeEventEmitter.prototype;\n\n _proto.addListener = function addListener(eventType, listener, context) {\n var _this$_nativeModule,\n _this = this;\n\n (_this$_nativeModule = this._nativeModule) == null ? void 0 : _this$_nativeModule.addListener(eventType);\n var subscription = RCTDeviceEventEmitter.addListener(eventType, listener, context);\n return {\n remove: function remove() {\n if (subscription != null) {\n var _this$_nativeModule2;\n\n (_this$_nativeModule2 = _this._nativeModule) == null ? void 0 : _this$_nativeModule2.removeListeners(1); // $FlowFixMe[incompatible-use]\n\n subscription.remove();\n subscription = null;\n }\n }\n };\n }\n /**\n * @deprecated Use `remove` on the EventSubscription from `addListener`.\n */\n ;\n\n _proto.removeListener = function removeListener(eventType, listener) {\n var _this$_nativeModule3;\n\n (_this$_nativeModule3 = this._nativeModule) == null ? void 0 : _this$_nativeModule3.removeListeners(1); // NOTE: This will report a deprecation notice via `console.error`.\n // $FlowFixMe[prop-missing] - `removeListener` exists but is deprecated.\n\n RCTDeviceEventEmitter.removeListener(eventType, listener);\n };\n\n _proto.emit = function 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\n // Generally, `RCTDeviceEventEmitter` is directly invoked. But this is\n // included for completeness.\n RCTDeviceEventEmitter.emit.apply(RCTDeviceEventEmitter, [eventType].concat(args));\n };\n\n _proto.removeAllListeners = function removeAllListeners(eventType) {\n var _this$_nativeModule4;\n\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\n _proto.listenerCount = function listenerCount(eventType) {\n return RCTDeviceEventEmitter.listenerCount(eventType);\n };\n\n return NativeEventEmitter;\n}();\n\nexport { NativeEventEmitter as default };"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/05e8ca39e43e94594659cd0c22942d8e.json b/.expo/web/cache/development/babel-loader/05e8ca39e43e94594659cd0c22942d8e.json new file mode 100644 index 0000000000000000000000000000000000000000..65a791741274801c9a36bef0b1be5420664d9d37 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/05e8ca39e43e94594659cd0c22942d8e.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore } from \"firebase/firestore\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Name = _doc$data.Name,\n Email = _doc$data.Email,\n Image = _doc$data.Image;\n\n users.push({\n id: doc.id,\n Name: Name,\n Email: Email,\n Image: Image\n });\n });\n setUsers(users);\n });\n }, []);\n var firestore = getFirestore();\n var document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\n\n function writeData() {\n var docData = {\n Name: \"Ada\",\n Email: \"Lovelace\",\n Image: \"1815\"\n };\n setDoc(document, docData);\n }\n\n writeData();\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsxs(Text, {\n children: [item.title, users.toString]\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Name","Email","Image","push","id","firestore","document","writeData","docData","params","Alert","alert","post","Item","item","onPress","backgroundColor","textColor","styles","title","toString","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore} from \"firebase/firestore\"\r\n\r\n\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Name, Email, Image} = doc.data();\r\n users.push({id:doc.id, Name, Email, Image})\r\n });\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\n /*try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"users\"), {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\nconst firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async (id) => {\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUser({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n {users.toString}\r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/06095f6b97b4302ca94b2b368213d892.json b/.expo/web/cache/development/babel-loader/06095f6b97b4302ca94b2b368213d892.json new file mode 100644 index 0000000000000000000000000000000000000000..81ff3ad3ef2071db83ee53c28564ec8f89767ffb --- /dev/null +++ b/.expo/web/cache/development/babel-loader/06095f6b97b4302ca94b2b368213d892.json @@ -0,0 +1 @@ +{"ast":null,"code":"export { default } from 'react-native-web/dist/vendor/react-native/NativeEventEmitter/RCTDeviceEventEmitter';","map":{"version":3,"sources":["../src/SyntheticPlatformEmitter.web.ts"],"names":[],"mappings":"AAIA,SAAS,OAAT,QAAwB,oFAAxB","sourcesContent":["/**\n * This emitter is used for sending synthetic native events to listeners\n * registered in the API layer with `NativeEventEmitter`.\n */\nexport { default } from 'react-native-web/dist/vendor/react-native/NativeEventEmitter/RCTDeviceEventEmitter';\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/064ac48886ee0373fdec9ea5cec3960f.json b/.expo/web/cache/development/babel-loader/064ac48886ee0373fdec9ea5cec3960f.json new file mode 100644 index 0000000000000000000000000000000000000000..88765eafbb01e80826e55fdef6b002f3db40cab7 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/064ac48886ee0373fdec9ea5cec3960f.json @@ -0,0 +1 @@ +{"ast":null,"code":"var Platform = {\n OS: 'web',\n select: function select(obj) {\n return 'web' in obj ? obj.web : obj.default;\n },\n\n get isTesting() {\n if (process.env.NODE_ENV === 'test') {\n return true;\n }\n\n return false;\n }\n\n};\nexport default Platform;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/Platform/index.js"],"names":["Platform","OS","select","obj","web","default","isTesting","process","env","NODE_ENV"],"mappings":"AASA,IAAIA,QAAQ,GAAG;AACbC,EAAAA,EAAE,EAAE,KADS;AAEbC,EAAAA,MAAM,EAAE,SAASA,MAAT,CAAgBC,GAAhB,EAAqB;AAC3B,WAAO,SAASA,GAAT,GAAeA,GAAG,CAACC,GAAnB,GAAyBD,GAAG,CAACE,OAApC;AACD,GAJY;;AAMb,MAAIC,SAAJ,GAAgB;AACd,QAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,MAA7B,EAAqC;AACnC,aAAO,IAAP;AACD;;AAED,WAAO,KAAP;AACD;;AAZY,CAAf;AAeA,eAAeT,QAAf","sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\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 */\nvar Platform = {\n OS: 'web',\n select: function select(obj) {\n return 'web' in obj ? obj.web : obj.default;\n },\n\n get isTesting() {\n if (process.env.NODE_ENV === 'test') {\n return true;\n }\n\n return false;\n }\n\n};\nexport default Platform;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/0654f76c5cf4a9c7296ec9ebc74031d1.json b/.expo/web/cache/development/babel-loader/0654f76c5cf4a9c7296ec9ebc74031d1.json new file mode 100644 index 0000000000000000000000000000000000000000..8c1fedc967913ebd4afac321480757feb9c029ec --- /dev/null +++ b/.expo/web/cache/development/babel-loader/0654f76c5cf4a9c7296ec9ebc74031d1.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nimport { useEffect, useLayoutEffect } from 'react';\nvar useLayoutEffectImpl = canUseDOM ? useLayoutEffect : useEffect;\nexport default useLayoutEffectImpl;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/useLayoutEffect/index.js"],"names":["canUseDOM","useEffect","useLayoutEffect","useLayoutEffectImpl"],"mappings":"AAWA,SAASA,SAAT,QAA0B,+BAA1B;AACA,SAASC,SAAT,EAAoBC,eAApB,QAA2C,OAA3C;AACA,IAAIC,mBAAmB,GAAGH,SAAS,GAAGE,eAAH,GAAqBD,SAAxD;AACA,eAAeE,mBAAf","sourcesContent":["/**\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 */\nimport { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nimport { useEffect, useLayoutEffect } from 'react';\nvar useLayoutEffectImpl = canUseDOM ? useLayoutEffect : useEffect;\nexport default useLayoutEffectImpl;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/066b7f27fe5abb14e7d6f99fdd7fab9f.json b/.expo/web/cache/development/babel-loader/066b7f27fe5abb14e7d6f99fdd7fab9f.json new file mode 100644 index 0000000000000000000000000000000000000000..6751e19d05afd749c741201bcaa1fbbcf2bcf358 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/066b7f27fe5abb14e7d6f99fdd7fab9f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import dangerousStyleValue from \"./dangerousStyleValue\";\n\nfunction setValueForStyles(node, styles) {\n var style = node.style;\n\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n\n var isCustomProperty = styleName.indexOf('--') === 0;\n var styleValue = dangerousStyleValue(styleName, styles[styleName], isCustomProperty);\n\n if (styleName === 'float') {\n styleName = 'cssFloat';\n }\n\n if (isCustomProperty) {\n style.setProperty(styleName, styleValue);\n } else {\n style[styleName] = styleValue;\n }\n }\n}\n\nexport default setValueForStyles;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/setValueForStyles/index.js"],"names":["dangerousStyleValue","setValueForStyles","node","styles","style","styleName","hasOwnProperty","isCustomProperty","indexOf","styleValue","setProperty"],"mappings":"AAWA,OAAOA,mBAAP;;AASA,SAASC,iBAAT,CAA2BC,IAA3B,EAAiCC,MAAjC,EAAyC;AACvC,MAAIC,KAAK,GAAGF,IAAI,CAACE,KAAjB;;AAEA,OAAK,IAAIC,SAAT,IAAsBF,MAAtB,EAA8B;AAC5B,QAAI,CAACA,MAAM,CAACG,cAAP,CAAsBD,SAAtB,CAAL,EAAuC;AACrC;AACD;;AAED,QAAIE,gBAAgB,GAAGF,SAAS,CAACG,OAAV,CAAkB,IAAlB,MAA4B,CAAnD;AACA,QAAIC,UAAU,GAAGT,mBAAmB,CAACK,SAAD,EAAYF,MAAM,CAACE,SAAD,CAAlB,EAA+BE,gBAA/B,CAApC;;AAEA,QAAIF,SAAS,KAAK,OAAlB,EAA2B;AACzBA,MAAAA,SAAS,GAAG,UAAZ;AACD;;AAED,QAAIE,gBAAJ,EAAsB;AACpBH,MAAAA,KAAK,CAACM,WAAN,CAAkBL,SAAlB,EAA6BI,UAA7B;AACD,KAFD,MAEO;AACLL,MAAAA,KAAK,CAACC,SAAD,CAAL,GAAmBI,UAAnB;AACD;AACF;AACF;;AAED,eAAeR,iBAAf","sourcesContent":["/* eslint-disable */\n\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 * From React 16.3.0\n * \n */\nimport dangerousStyleValue from './dangerousStyleValue';\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 */\n\nfunction setValueForStyles(node, styles) {\n var style = node.style;\n\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n\n var isCustomProperty = styleName.indexOf('--') === 0;\n var styleValue = dangerousStyleValue(styleName, styles[styleName], isCustomProperty);\n\n if (styleName === 'float') {\n styleName = 'cssFloat';\n }\n\n if (isCustomProperty) {\n style.setProperty(styleName, styleValue);\n } else {\n style[styleName] = styleValue;\n }\n }\n}\n\nexport default setValueForStyles;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/07ac9939260634673a578931604bc0a3.json b/.expo/web/cache/development/babel-loader/07ac9939260634673a578931604bc0a3.json new file mode 100644 index 0000000000000000000000000000000000000000..1c957cd516d7c05c0900fb7b9c1116cfb9b1e9c2 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/07ac9939260634673a578931604bc0a3.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport TextInput from \"react-native-web/dist/exports/TextInput\";\nimport React, { useState, useEffect } from 'react';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function CreateNewUser(_ref) {\n var navigation = _ref.navigation;\n\n var _useState = useState(''),\n _useState2 = _slicedToArray(_useState, 2),\n name = _useState2[0],\n onChangeName = _useState2[1];\n\n var _useState3 = useState(''),\n _useState4 = _slicedToArray(_useState3, 2),\n email = _useState4[0],\n onChangeEmail = _useState4[1];\n\n var _useState5 = useState(''),\n _useState6 = _slicedToArray(_useState5, 2),\n image = _useState6[0],\n onChangeImage = _useState6[1];\n\n function newUser() {\n return _regeneratorRuntime.async(function newUser$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return _regeneratorRuntime.awrap(addDoc(collection(getFirestore(), 'Users'), {\n Name: name,\n Email: email,\n Image: image\n }));\n\n case 3:\n _context.next = 7;\n break;\n\n case 5:\n _context.prev = 5;\n _context.t0 = _context[\"catch\"](0);\n\n case 7:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, [[0, 5]], Promise);\n }\n\n ;\n\n function Submitt() {\n newUser();\n navigation.navigate({\n name: 'UserList',\n merge: true\n });\n }\n\n return _jsxs(View, {\n children: [_jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeName,\n value: name,\n multiline: true\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeEmail,\n value: email,\n multiline: true\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeImage,\n value: image,\n multiline: true\n }), _jsx(Button, {\n title: \"Submitt\",\n onPress: Submitt\n })]\n });\n}\n;\nvar styles = StyleSheet.create({\n input: {\n borderBottomColor: '#CFCDCD',\n borderBottomWidth: 1,\n width: 220,\n marginTop: 20\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/CreateNewUser.js"],"names":["React","useState","useEffect","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","firebase","CreateNewUser","navigation","name","onChangeName","email","onChangeEmail","image","onChangeImage","newUser","Name","Email","Image","Submitt","navigate","merge","styles","input","StyleSheet","create","borderBottomColor","borderBottomWidth","width","marginTop"],"mappings":";;;;;;;AACA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;AAEA,OAAOC,EAAP;AACA,SAAQC,UAAR,EAAoBC,GAApB,EAAyBC,UAAzB,EAAqCC,aAArC,EAAoDC,MAApD,EAA4DC,SAA5D,EAAuEC,MAAvE,EAA+EC,YAA/E,EAA6FC,MAA7F,EAAqGC,MAArG,QAAkH,oBAAlH;AACA,SAASC,QAAT,QAAyB,kCAAzB;;;AAEA,eAAe,SAASC,aAAT,OAAqC;AAAA,MAAZC,UAAY,QAAZA,UAAY;;AAEhD,kBAA6Bf,QAAQ,CAAC,EAAD,CAArC;AAAA;AAAA,MAAOgB,IAAP;AAAA,MAAaC,YAAb;;AACA,mBAA+BjB,QAAQ,CAAC,EAAD,CAAvC;AAAA;AAAA,MAAOkB,KAAP;AAAA,MAAcC,aAAd;;AACA,mBAA+BnB,QAAQ,CAAC,EAAD,CAAvC;AAAA;AAAA,MAAOoB,KAAP;AAAA,MAAcC,aAAd;;AAEA,WAAeC,OAAf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6CAEYf,MAAM,CAACJ,UAAU,CAACO,YAAY,EAAb,EAAiB,OAAjB,CAAX,EAAqC;AAC/Ca,cAAAA,IAAI,EAAEP,IADyC;AAE/CQ,cAAAA,KAAK,EAAEN,KAFwC;AAG/CO,cAAAA,KAAK,EAAEL;AAHwC,aAArC,CAFlB;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAWK;;AAEN,WAASM,OAAT,GAAkB;AACdJ,IAAAA,OAAO;AACdP,IAAAA,UAAU,CAACY,QAAX,CAAoB;AACRX,MAAAA,IAAI,EAAE,UADE;AAGRY,MAAAA,KAAK,EAAE;AAHC,KAApB;AAKK;;AACL,SACI,MAAC,IAAD;AAAA,eAEA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEC,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAEb,YAA9C;AAA4D,MAAA,KAAK,EAAED,IAAnE;AAAyE,MAAA,SAAS,EAAI;AAAtF,MAFA,EAGA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEa,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAEX,aAA9C;AAA6D,MAAA,KAAK,EAAED,KAApE;AAA2E,MAAA,SAAS,EAAI;AAAxF,MAHA,EAIA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEW,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAET,aAA9C;AAA6D,MAAA,KAAK,EAAED,KAApE;AAA2E,MAAA,SAAS,EAAI;AAAxF,MAJA,EAKA,KAAC,MAAD;AAAQ,MAAA,KAAK,EAAC,SAAd;AAAwB,MAAA,OAAO,EAAEM;AAAjC,MALA;AAAA,IADJ;AASC;AAAA;AAED,IAAMG,MAAM,GAAGE,UAAU,CAACC,MAAX,CAAkB;AAC7BF,EAAAA,KAAK,EAAC;AAEFG,IAAAA,iBAAiB,EAAC,SAFhB;AAGFC,IAAAA,iBAAiB,EAAC,CAHhB;AAIFC,IAAAA,KAAK,EAAE,GAJL;AAKFC,IAAAA,SAAS,EAAE;AALT;AADuB,CAAlB,CAAf","sourcesContent":["import { StyleSheet, Text, View, Button, TextInput } from 'react-native';\r\nimport React, { useState, useEffect } from 'react';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\nexport default function CreateNewUser({ navigation}){\r\n\r\n const [name, onChangeName] = useState('');\r\n const [email, onChangeEmail] = useState('');\r\n const [image, onChangeImage] = useState('');\r\n\r\n async function newUser(){\r\n try{\r\n await addDoc(collection(getFirestore(), 'Users'),{\r\n Name: name,\r\n Email: email,\r\n Image: image,\r\n });\r\n }\r\n catch(error){\r\n \r\n }\r\n };\r\n\r\n function Submitt(){\r\n newUser();\r\nnavigation.navigate({\r\n name: 'UserList',\r\n //params: { post: fach },\r\n merge: true,\r\n });\r\n }\r\nreturn(\r\n <View>\r\n \r\n <TextInput style={styles.input} onChangeText={onChangeName} value={name} multiline = {true} />\r\n <TextInput style={styles.input} onChangeText={onChangeEmail} value={email} multiline = {true} />\r\n <TextInput style={styles.input} onChangeText={onChangeImage} value={image} multiline = {true} />\r\n <Button title='Submitt' onPress={Submitt}/>\r\n </View>\r\n)\r\n};\r\n\r\nconst styles = StyleSheet.create({\r\n input:{\r\n //underlineColorAndroid: '#CFCDCD',\r\n borderBottomColor:'#CFCDCD',\r\n borderBottomWidth:1,\r\n width: 220,\r\n marginTop: 20,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/07b7032ef369a51a3f0a0a3cb7894347.json b/.expo/web/cache/development/babel-loader/07b7032ef369a51a3f0a0a3cb7894347.json new file mode 100644 index 0000000000000000000000000000000000000000..2837c0a307e7c3badcd0c3f243d75c4c01d54e83 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/07b7032ef369a51a3f0a0a3cb7894347.json @@ -0,0 +1 @@ +{"ast":null,"code":"var getBoundingClientRect = function getBoundingClientRect(node) {\n if (node != null) {\n var isElement = node.nodeType === 1;\n\n if (isElement && typeof node.getBoundingClientRect === 'function') {\n return node.getBoundingClientRect();\n }\n }\n};\n\nexport default getBoundingClientRect;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/getBoundingClientRect/index.js"],"names":["getBoundingClientRect","node","isElement","nodeType"],"mappings":"AAQA,IAAIA,qBAAqB,GAAG,SAASA,qBAAT,CAA+BC,IAA/B,EAAqC;AAC/D,MAAIA,IAAI,IAAI,IAAZ,EAAkB;AAChB,QAAIC,SAAS,GAAGD,IAAI,CAACE,QAAL,KAAkB,CAAlC;;AAGA,QAAID,SAAS,IAAI,OAAOD,IAAI,CAACD,qBAAZ,KAAsC,UAAvD,EAAmE;AACjE,aAAOC,IAAI,CAACD,qBAAL,EAAP;AACD;AACF;AACF,CATD;;AAWA,eAAeA,qBAAf","sourcesContent":["/**\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 getBoundingClientRect = function getBoundingClientRect(node) {\n if (node != null) {\n var isElement = node.nodeType === 1;\n /* Node.ELEMENT_NODE */\n\n if (isElement && typeof node.getBoundingClientRect === 'function') {\n return node.getBoundingClientRect();\n }\n }\n};\n\nexport default getBoundingClientRect;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/07cfe2d1ca48a085ba57cd6f6363e0c3.json b/.expo/web/cache/development/babel-loader/07cfe2d1ca48a085ba57cd6f6363e0c3.json new file mode 100644 index 0000000000000000000000000000000000000000..b6dad271cbe34ae9c363c1978c13e2420ed8ea68 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/07cfe2d1ca48a085ba57cd6f6363e0c3.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _extends from \"@babel/runtime/helpers/extends\";\nimport { isString } from '@react-native-firebase/app/lib/common';\nimport FirebaseApp from \"../../FirebaseApp\";\nimport SDK_VERSION from \"../../version\";\nimport { DEFAULT_APP_NAME, KNOWN_NAMESPACES } from \"../constants\";\nimport FirebaseModule from \"../FirebaseModule\";\nimport { getApp, getApps, initializeApp, setLogLevel, setOnAppCreate, setOnAppDestroy } from \"./app\";\nvar FIREBASE_ROOT = null;\nvar NAMESPACE_REGISTRY = {};\nvar APP_MODULE_INSTANCE = {};\nvar MODULE_GETTER_FOR_APP = {};\nvar MODULE_GETTER_FOR_ROOT = {};\nsetOnAppCreate(function (app) {\n for (var i = 0; i < KNOWN_NAMESPACES.length; i++) {\n var moduleNamespace = KNOWN_NAMESPACES[i];\n Object.defineProperty(app, moduleNamespace, {\n enumerable: false,\n get: firebaseAppModuleProxy.bind(null, app, moduleNamespace)\n });\n }\n});\nsetOnAppDestroy(function (app) {\n delete APP_MODULE_INSTANCE[app.name];\n delete MODULE_GETTER_FOR_APP[app.name];\n});\n\nfunction getOrCreateModuleForApp(app, moduleNamespace) {\n if (MODULE_GETTER_FOR_APP[app.name] && MODULE_GETTER_FOR_APP[app.name][moduleNamespace]) {\n return MODULE_GETTER_FOR_APP[app.name][moduleNamespace];\n }\n\n if (!MODULE_GETTER_FOR_APP[app.name]) {\n MODULE_GETTER_FOR_APP[app.name] = {};\n }\n\n var _NAMESPACE_REGISTRY$m = NAMESPACE_REGISTRY[moduleNamespace],\n hasCustomUrlOrRegionSupport = _NAMESPACE_REGISTRY$m.hasCustomUrlOrRegionSupport,\n hasMultiAppSupport = _NAMESPACE_REGISTRY$m.hasMultiAppSupport,\n ModuleClass = _NAMESPACE_REGISTRY$m.ModuleClass;\n\n if (!hasMultiAppSupport && app.name !== DEFAULT_APP_NAME) {\n throw new Error([\"You attempted to call \\\"firebase.app('\" + app.name + \"').\" + moduleNamespace + \"\\\" but; \" + moduleNamespace + \" does not support multiple Firebase Apps.\", '', \"Ensure you access \" + moduleNamespace + \" from the default application only.\"].join('\\r\\n'));\n }\n\n function firebaseModuleWithArgs(customUrlOrRegion) {\n if (customUrlOrRegion !== undefined) {\n if (!hasCustomUrlOrRegionSupport) {}\n\n if (!isString(customUrlOrRegion)) {}\n }\n\n var key = customUrlOrRegion ? customUrlOrRegion + \":\" + moduleNamespace : moduleNamespace;\n\n if (!APP_MODULE_INSTANCE[app.name]) {\n APP_MODULE_INSTANCE[app.name] = {};\n }\n\n if (!APP_MODULE_INSTANCE[app.name][key]) {\n APP_MODULE_INSTANCE[app.name][key] = new ModuleClass(app, NAMESPACE_REGISTRY[moduleNamespace], customUrlOrRegion);\n }\n\n return APP_MODULE_INSTANCE[app.name][key];\n }\n\n MODULE_GETTER_FOR_APP[app.name][moduleNamespace] = firebaseModuleWithArgs;\n return MODULE_GETTER_FOR_APP[app.name][moduleNamespace];\n}\n\nfunction getOrCreateModuleForRoot(moduleNamespace) {\n if (MODULE_GETTER_FOR_ROOT[moduleNamespace]) {\n return MODULE_GETTER_FOR_ROOT[moduleNamespace];\n }\n\n var _NAMESPACE_REGISTRY$m2 = NAMESPACE_REGISTRY[moduleNamespace],\n statics = _NAMESPACE_REGISTRY$m2.statics,\n hasMultiAppSupport = _NAMESPACE_REGISTRY$m2.hasMultiAppSupport,\n ModuleClass = _NAMESPACE_REGISTRY$m2.ModuleClass;\n\n function firebaseModuleWithApp(app) {\n var _app = app || getApp();\n\n if (!(_app instanceof FirebaseApp)) {\n throw new Error([\"\\\"firebase.\" + moduleNamespace + \"(app)\\\" arg expects a FirebaseApp instance or undefined.\", '', 'Ensure the arg provided is a Firebase app instance; or no args to use the default Firebase app.'].join('\\r\\n'));\n }\n\n if (!hasMultiAppSupport && _app.name !== DEFAULT_APP_NAME) {\n throw new Error([\"You attempted to call \\\"firebase.\" + moduleNamespace + \"(app)\\\" but; \" + moduleNamespace + \" does not support multiple Firebase Apps.\", '', \"Ensure the app provided is the default Firebase app only and not the \\\"\" + _app.name + \"\\\" app.\"].join('\\r\\n'));\n }\n\n if (!APP_MODULE_INSTANCE[_app.name]) {\n APP_MODULE_INSTANCE[_app.name] = {};\n }\n\n if (!APP_MODULE_INSTANCE[_app.name][moduleNamespace]) {\n APP_MODULE_INSTANCE[_app.name][moduleNamespace] = new ModuleClass(_app, NAMESPACE_REGISTRY[moduleNamespace]);\n }\n\n return APP_MODULE_INSTANCE[_app.name][moduleNamespace];\n }\n\n _extends(firebaseModuleWithApp, statics || {});\n\n Object.freeze(firebaseModuleWithApp);\n MODULE_GETTER_FOR_ROOT[moduleNamespace] = firebaseModuleWithApp;\n return MODULE_GETTER_FOR_ROOT[moduleNamespace];\n}\n\nfunction firebaseRootModuleProxy(firebaseNamespace, moduleNamespace) {\n if (NAMESPACE_REGISTRY[moduleNamespace]) {\n return getOrCreateModuleForRoot(moduleNamespace);\n }\n\n moduleWithDashes = moduleNamespace.split(/(?=[A-Z])/).join('-').toLowerCase();\n throw new Error([\"You attempted to use 'firebase.\" + moduleNamespace + \"' but this module could not be found.\", '', \"Ensure you have installed and imported the '@react-native-firebase/\" + moduleWithDashes + \"' package.\"].join('\\r\\n'));\n}\n\nexport function firebaseAppModuleProxy(app, moduleNamespace) {\n if (NAMESPACE_REGISTRY[moduleNamespace]) {\n app._checkDestroyed();\n\n return getOrCreateModuleForApp(app, moduleNamespace);\n }\n\n moduleWithDashes = moduleNamespace.split(/(?=[A-Z])/).join('-').toLowerCase();\n throw new Error([\"You attempted to use \\\"firebase.app('\" + app.name + \"').\" + moduleNamespace + \"\\\" but this module could not be found.\", '', \"Ensure you have installed and imported the '@react-native-firebase/\" + moduleWithDashes + \"' package.\"].join('\\r\\n'));\n}\nexport function createFirebaseRoot() {\n FIREBASE_ROOT = {\n initializeApp: initializeApp,\n\n get app() {\n return getApp;\n },\n\n get apps() {\n return getApps();\n },\n\n SDK_VERSION: SDK_VERSION,\n setLogLevel: setLogLevel\n };\n\n for (var i = 0; i < KNOWN_NAMESPACES.length; i++) {\n var namespace = KNOWN_NAMESPACES[i];\n Object.defineProperty(FIREBASE_ROOT, namespace, {\n enumerable: false,\n get: firebaseRootModuleProxy.bind(null, FIREBASE_ROOT, namespace)\n });\n }\n\n return FIREBASE_ROOT;\n}\nexport function getFirebaseRoot() {\n if (FIREBASE_ROOT) {\n return FIREBASE_ROOT;\n }\n\n return createFirebaseRoot();\n}\nexport function createModuleNamespace() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var namespace = options.namespace,\n ModuleClass = options.ModuleClass;\n\n if (!NAMESPACE_REGISTRY[namespace]) {\n if (FirebaseModule.__extended__ !== ModuleClass.__extended__) {\n throw new Error('INTERNAL ERROR: ModuleClass must be an instance of FirebaseModule.');\n }\n\n NAMESPACE_REGISTRY[namespace] = _extends({}, options);\n }\n\n return getFirebaseRoot()[namespace];\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/app/lib/internal/registry/namespace.js"],"names":["isString","FirebaseApp","SDK_VERSION","DEFAULT_APP_NAME","KNOWN_NAMESPACES","FirebaseModule","getApp","getApps","initializeApp","setLogLevel","setOnAppCreate","setOnAppDestroy","FIREBASE_ROOT","NAMESPACE_REGISTRY","APP_MODULE_INSTANCE","MODULE_GETTER_FOR_APP","MODULE_GETTER_FOR_ROOT","app","i","length","moduleNamespace","Object","defineProperty","enumerable","get","firebaseAppModuleProxy","bind","name","getOrCreateModuleForApp","hasCustomUrlOrRegionSupport","hasMultiAppSupport","ModuleClass","Error","join","firebaseModuleWithArgs","customUrlOrRegion","undefined","key","getOrCreateModuleForRoot","statics","firebaseModuleWithApp","_app","freeze","firebaseRootModuleProxy","firebaseNamespace","moduleWithDashes","split","toLowerCase","_checkDestroyed","createFirebaseRoot","apps","namespace","getFirebaseRoot","createModuleNamespace","options","__extended__"],"mappings":"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","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { isString } from '@react-native-firebase/app/lib/common';\nimport FirebaseApp from '../../FirebaseApp';\nimport SDK_VERSION from '../../version';\nimport { DEFAULT_APP_NAME, KNOWN_NAMESPACES } from '../constants';\nimport FirebaseModule from '../FirebaseModule';\nimport {\n getApp,\n getApps,\n initializeApp,\n setLogLevel,\n setOnAppCreate,\n setOnAppDestroy,\n} from './app';\n\n// firebase.X\nlet FIREBASE_ROOT = null;\n\nconst NAMESPACE_REGISTRY = {};\nconst APP_MODULE_INSTANCE = {};\nconst MODULE_GETTER_FOR_APP = {};\nconst MODULE_GETTER_FOR_ROOT = {};\n\n/**\n * Attaches module namespace getters on every newly created app.\n *\n * Structured like this to avoid metro require cycles.\n */\nsetOnAppCreate(app => {\n for (let i = 0; i < KNOWN_NAMESPACES.length; i++) {\n const moduleNamespace = KNOWN_NAMESPACES[i];\n Object.defineProperty(app, moduleNamespace, {\n enumerable: false,\n get: firebaseAppModuleProxy.bind(null, app, moduleNamespace),\n });\n }\n});\n\n/**\n * Destroys all APP_MODULE_INSTANCE & MODULE_GETTER_FOR_APP objects relating to the\n * recently destroyed app.\n *\n * Structured like this to avoid metro require cycles.\n */\nsetOnAppDestroy(app => {\n delete APP_MODULE_INSTANCE[app.name];\n delete MODULE_GETTER_FOR_APP[app.name];\n});\n\n/**\n *\n * @param app\n * @param moduleNamespace\n * @returns {*}\n */\nfunction getOrCreateModuleForApp(app, moduleNamespace) {\n if (MODULE_GETTER_FOR_APP[app.name] && MODULE_GETTER_FOR_APP[app.name][moduleNamespace]) {\n return MODULE_GETTER_FOR_APP[app.name][moduleNamespace];\n }\n\n if (!MODULE_GETTER_FOR_APP[app.name]) {\n MODULE_GETTER_FOR_APP[app.name] = {};\n }\n\n const { hasCustomUrlOrRegionSupport, hasMultiAppSupport, ModuleClass } =\n NAMESPACE_REGISTRY[moduleNamespace];\n\n // modules such as analytics only run on the default app\n if (!hasMultiAppSupport && app.name !== DEFAULT_APP_NAME) {\n throw new Error(\n [\n `You attempted to call \"firebase.app('${app.name}').${moduleNamespace}\" but; ${moduleNamespace} does not support multiple Firebase Apps.`,\n '',\n `Ensure you access ${moduleNamespace} from the default application only.`,\n ].join('\\r\\n'),\n );\n }\n\n // e.g. firebase.storage(customUrlOrRegion)\n function firebaseModuleWithArgs(customUrlOrRegion) {\n if (customUrlOrRegion !== undefined) {\n if (!hasCustomUrlOrRegionSupport) {\n // TODO throw Module does not support arguments error\n }\n\n if (!isString(customUrlOrRegion)) {\n // TODO throw Module first argument must be a string error\n }\n }\n\n const key = customUrlOrRegion ? `${customUrlOrRegion}:${moduleNamespace}` : moduleNamespace;\n\n if (!APP_MODULE_INSTANCE[app.name]) {\n APP_MODULE_INSTANCE[app.name] = {};\n }\n\n if (!APP_MODULE_INSTANCE[app.name][key]) {\n APP_MODULE_INSTANCE[app.name][key] = new ModuleClass(\n app,\n NAMESPACE_REGISTRY[moduleNamespace],\n customUrlOrRegion,\n );\n }\n\n return APP_MODULE_INSTANCE[app.name][key];\n }\n\n MODULE_GETTER_FOR_APP[app.name][moduleNamespace] = firebaseModuleWithArgs;\n return MODULE_GETTER_FOR_APP[app.name][moduleNamespace];\n}\n\n/**\n *\n * @param moduleNamespace\n * @returns {*}\n */\nfunction getOrCreateModuleForRoot(moduleNamespace) {\n if (MODULE_GETTER_FOR_ROOT[moduleNamespace]) {\n return MODULE_GETTER_FOR_ROOT[moduleNamespace];\n }\n\n const { statics, hasMultiAppSupport, ModuleClass } = NAMESPACE_REGISTRY[moduleNamespace];\n\n // e.g. firebase.storage(app)\n function firebaseModuleWithApp(app) {\n const _app = app || getApp();\n\n if (!(_app instanceof FirebaseApp)) {\n throw new Error(\n [\n `\"firebase.${moduleNamespace}(app)\" arg expects a FirebaseApp instance or undefined.`,\n '',\n 'Ensure the arg provided is a Firebase app instance; or no args to use the default Firebase app.',\n ].join('\\r\\n'),\n );\n }\n\n // modules such as analytics only run on the default app\n if (!hasMultiAppSupport && _app.name !== DEFAULT_APP_NAME) {\n throw new Error(\n [\n `You attempted to call \"firebase.${moduleNamespace}(app)\" but; ${moduleNamespace} does not support multiple Firebase Apps.`,\n '',\n `Ensure the app provided is the default Firebase app only and not the \"${_app.name}\" app.`,\n ].join('\\r\\n'),\n );\n }\n\n if (!APP_MODULE_INSTANCE[_app.name]) {\n APP_MODULE_INSTANCE[_app.name] = {};\n }\n\n if (!APP_MODULE_INSTANCE[_app.name][moduleNamespace]) {\n APP_MODULE_INSTANCE[_app.name][moduleNamespace] = new ModuleClass(\n _app,\n NAMESPACE_REGISTRY[moduleNamespace],\n );\n }\n\n return APP_MODULE_INSTANCE[_app.name][moduleNamespace];\n }\n\n Object.assign(firebaseModuleWithApp, statics || {});\n Object.freeze(firebaseModuleWithApp);\n MODULE_GETTER_FOR_ROOT[moduleNamespace] = firebaseModuleWithApp;\n\n return MODULE_GETTER_FOR_ROOT[moduleNamespace];\n}\n\n/**\n *\n * @param firebaseNamespace\n * @param moduleNamespace\n * @returns {*}\n */\nfunction firebaseRootModuleProxy(firebaseNamespace, moduleNamespace) {\n if (NAMESPACE_REGISTRY[moduleNamespace]) {\n return getOrCreateModuleForRoot(moduleNamespace);\n }\n\n moduleWithDashes = moduleNamespace\n .split(/(?=[A-Z])/)\n .join('-')\n .toLowerCase();\n\n throw new Error(\n [\n `You attempted to use 'firebase.${moduleNamespace}' but this module could not be found.`,\n '',\n `Ensure you have installed and imported the '@react-native-firebase/${moduleWithDashes}' package.`,\n ].join('\\r\\n'),\n );\n}\n\n/**\n *\n * @param app\n * @param moduleNamespace\n * @returns {*}\n */\nexport function firebaseAppModuleProxy(app, moduleNamespace) {\n if (NAMESPACE_REGISTRY[moduleNamespace]) {\n app._checkDestroyed();\n return getOrCreateModuleForApp(app, moduleNamespace);\n }\n\n moduleWithDashes = moduleNamespace\n .split(/(?=[A-Z])/)\n .join('-')\n .toLowerCase();\n\n throw new Error(\n [\n `You attempted to use \"firebase.app('${app.name}').${moduleNamespace}\" but this module could not be found.`,\n '',\n `Ensure you have installed and imported the '@react-native-firebase/${moduleWithDashes}' package.`,\n ].join('\\r\\n'),\n );\n}\n\n/**\n *\n * @returns {*}\n */\nexport function createFirebaseRoot() {\n FIREBASE_ROOT = {\n initializeApp,\n get app() {\n return getApp;\n },\n get apps() {\n return getApps();\n },\n SDK_VERSION,\n setLogLevel,\n };\n\n for (let i = 0; i < KNOWN_NAMESPACES.length; i++) {\n const namespace = KNOWN_NAMESPACES[i];\n Object.defineProperty(FIREBASE_ROOT, namespace, {\n enumerable: false,\n get: firebaseRootModuleProxy.bind(null, FIREBASE_ROOT, namespace),\n });\n }\n\n return FIREBASE_ROOT;\n}\n\n/**\n *\n * @returns {*}\n */\nexport function getFirebaseRoot() {\n if (FIREBASE_ROOT) {\n return FIREBASE_ROOT;\n }\n return createFirebaseRoot();\n}\n\n/**\n *\n * @param options\n * @returns {*}\n */\nexport function createModuleNamespace(options = {}) {\n const { namespace, ModuleClass } = options;\n\n if (!NAMESPACE_REGISTRY[namespace]) {\n // validation only for internal / module dev usage\n if (FirebaseModule.__extended__ !== ModuleClass.__extended__) {\n throw new Error('INTERNAL ERROR: ModuleClass must be an instance of FirebaseModule.');\n }\n\n NAMESPACE_REGISTRY[namespace] = Object.assign({}, options);\n }\n\n return getFirebaseRoot()[namespace];\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/07e1ebcb683e2c07a9973c01b0ab6831.json b/.expo/web/cache/development/babel-loader/07e1ebcb683e2c07a9973c01b0ab6831.json new file mode 100644 index 0000000000000000000000000000000000000000..4442ce72c68a7c5129c61bb29dba4a43e4589a34 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/07e1ebcb683e2c07a9973c01b0ab6831.json @@ -0,0 +1 @@ +{"ast":null,"code":"import normalizeColor from 'normalize-css-color';\n\nvar processColor = function processColor(color) {\n if (color === undefined || color === null) {\n return color;\n }\n\n var int32Color = normalizeColor(color);\n\n if (int32Color === undefined || int32Color === null) {\n return undefined;\n }\n\n int32Color = (int32Color << 24 | int32Color >>> 8) >>> 0;\n return int32Color;\n};\n\nexport default processColor;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/processColor/index.js"],"names":["normalizeColor","processColor","color","undefined","int32Color"],"mappings":"AASA,OAAOA,cAAP,MAA2B,qBAA3B;;AAEA,IAAIC,YAAY,GAAG,SAASA,YAAT,CAAsBC,KAAtB,EAA6B;AAC9C,MAAIA,KAAK,KAAKC,SAAV,IAAuBD,KAAK,KAAK,IAArC,EAA2C;AACzC,WAAOA,KAAP;AACD;;AAGD,MAAIE,UAAU,GAAGJ,cAAc,CAACE,KAAD,CAA/B;;AAEA,MAAIE,UAAU,KAAKD,SAAf,IAA4BC,UAAU,KAAK,IAA/C,EAAqD;AACnD,WAAOD,SAAP;AACD;;AAEDC,EAAAA,UAAU,GAAG,CAACA,UAAU,IAAI,EAAd,GAAmBA,UAAU,KAAK,CAAnC,MAA0C,CAAvD;AACA,SAAOA,UAAP;AACD,CAdD;;AAgBA,eAAeH,YAAf","sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport normalizeColor from 'normalize-css-color';\n\nvar processColor = function processColor(color) {\n if (color === undefined || color === null) {\n return color;\n } // convert number and hex\n\n\n var int32Color = normalizeColor(color);\n\n if (int32Color === undefined || int32Color === null) {\n return undefined;\n }\n\n int32Color = (int32Color << 24 | int32Color >>> 8) >>> 0;\n return int32Color;\n};\n\nexport default processColor;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/0881ad4821f9de5ddc4457fd3a8c123c.json b/.expo/web/cache/development/babel-loader/0881ad4821f9de5ddc4457fd3a8c123c.json new file mode 100644 index 0000000000000000000000000000000000000000..f6bf261b9a4e44bffd8cdecc0204be077a193f30 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/0881ad4821f9de5ddc4457fd3a8c123c.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport TextInput from \"react-native-web/dist/exports/TextInput\";\nimport React, { useState, useEffect } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Details(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(route.params.name.title),\n _useState2 = _slicedToArray(_useState, 2),\n fach = _useState2[0],\n onChangeFach = _useState2[1];\n\n return _jsxs(View, {\n children: [_jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeFach,\n value: fach,\n multiline: true\n }), _jsx(Text, {\n children: \"Hrllo\"\n })]\n });\n}\nvar styles = StyleSheet.create({\n input: {\n borderBottomColor: '#CFCDCD',\n borderBottomWidth: 1,\n width: 220\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/Details.js"],"names":["React","useState","useEffect","Details","navigation","route","params","name","title","fach","onChangeFach","styles","input","StyleSheet","create","borderBottomColor","borderBottomWidth","width"],"mappings":";;;;;;AACA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;;;AAGA,eAAe,SAASC,OAAT,OAAuC;AAAA,MAApBC,UAAoB,QAApBA,UAAoB;AAAA,MAARC,KAAQ,QAARA,KAAQ;;AAElD,kBAA6BJ,QAAQ,CAACI,KAAK,CAACC,MAAN,CAAaC,IAAb,CAAkBC,KAAnB,CAArC;AAAA;AAAA,MAAOC,IAAP;AAAA,MAAaC,YAAb;;AAGA,SACI,MAAC,IAAD;AAAA,eACA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEC,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAEF,YAA9C;AAA4D,MAAA,KAAK,EAAED,IAAnE;AAAyE,MAAA,SAAS,EAAI;AAAtF,MADA,EAEA,KAAC,IAAD;AAAA;AAAA,MAFA;AAAA,IADJ;AAMH;AAID,IAAME,MAAM,GAAGE,UAAU,CAACC,MAAX,CAAkB;AAC7BF,EAAAA,KAAK,EAAC;AAEFG,IAAAA,iBAAiB,EAAC,SAFhB;AAGFC,IAAAA,iBAAiB,EAAC,CAHhB;AAIFC,IAAAA,KAAK,EAAE;AAJL;AADuB,CAAlB,CAAf","sourcesContent":["import { StyleSheet, Text, View, Button, TextInput } from 'react-native';\r\nimport React, { useState, useEffect } from 'react';\r\n\r\n\r\nexport default function Details({ navigation, route }){\r\n\r\n const [fach, onChangeFach] = useState(route.params.name.title);\r\n \r\n\r\n return(\r\n <View>\r\n <TextInput style={styles.input} onChangeText={onChangeFach} value={fach} multiline = {true} />\r\n <Text>Hrllo</Text>\r\n </View>\r\n )\r\n}\r\n\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n input:{\r\n //underlineColorAndroid: '#CFCDCD',\r\n borderBottomColor:'#CFCDCD',\r\n borderBottomWidth:1,\r\n width: 220,\r\n },\r\n });"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/08b409b22915789e91748bbbf13ba921.json b/.expo/web/cache/development/babel-loader/08b409b22915789e91748bbbf13ba921.json new file mode 100644 index 0000000000000000000000000000000000000000..03a0dd36544317f810bba5064300157db0d7507f --- /dev/null +++ b/.expo/web/cache/development/babel-loader/08b409b22915789e91748bbbf13ba921.json @@ -0,0 +1 @@ +{"ast":null,"code":"export default function isArrayEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (a.length !== b.length) {\n return false;\n }\n\n return a.every(function (it, index) {\n return it === b[index];\n });\n}","map":{"version":3,"sources":["isArrayEqual.tsx"],"names":["a","b","it"],"mappings":"AAIA,eAAe,SAAA,YAAA,CAAA,CAAA,EAAA,CAAA,EAA0C;AACvD,MAAIA,CAAC,KAAL,CAAA,EAAa;AACX,WAAA,IAAA;AACD;;AAED,MAAIA,CAAC,CAADA,MAAAA,KAAaC,CAAC,CAAlB,MAAA,EAA2B;AACzB,WAAA,KAAA;AACD;;AAED,SAAOD,CAAC,CAADA,KAAAA,CAAQ,UAAA,EAAA,EAAA,KAAA;AAAA,WAAeE,EAAE,KAAKD,CAAC,CAAtC,KAAsC,CAAvB;AAAA,GAARD,CAAP;AACD","sourcesContent":["/**\n * Compare two arrays with primitive values as the content.\n * We need to make sure that both values and order match.\n */\nexport default function isArrayEqual(a: any[], b: any[]) {\n if (a === b) {\n return true;\n }\n\n if (a.length !== b.length) {\n return false;\n }\n\n return a.every((it, index) => it === b[index]);\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/08f2b973718985306ae0a5ace816e5bb.json b/.expo/web/cache/development/babel-loader/08f2b973718985306ae0a5ace816e5bb.json new file mode 100644 index 0000000000000000000000000000000000000000..82870318bc628af5c7cc17f671ab3eb758c6450b --- /dev/null +++ b/.expo/web/cache/development/babel-loader/08f2b973718985306ae0a5ace816e5bb.json @@ -0,0 +1 @@ +{"ast":null,"code":"import invariant from 'fbjs/lib/invariant';\nimport requestIdleCallback, { cancelIdleCallback } from \"../../modules/requestIdleCallback\";\nvar InteractionManager = {\n Events: {\n interactionStart: 'interactionStart',\n interactionComplete: 'interactionComplete'\n },\n runAfterInteractions: function runAfterInteractions(task) {\n var handle;\n var promise = new Promise(function (resolve) {\n handle = requestIdleCallback(function () {\n if (task) {\n resolve(task());\n } else {\n resolve();\n }\n });\n });\n return {\n then: promise.then.bind(promise),\n done: promise.then.bind(promise),\n cancel: function cancel() {\n cancelIdleCallback(handle);\n }\n };\n },\n createInteractionHandle: function createInteractionHandle() {\n return 1;\n },\n clearInteractionHandle: function clearInteractionHandle(handle) {\n invariant(!!handle, 'Must provide a handle to clear.');\n },\n addListener: function addListener() {}\n};\nexport default InteractionManager;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/InteractionManager/index.js"],"names":["invariant","requestIdleCallback","cancelIdleCallback","InteractionManager","Events","interactionStart","interactionComplete","runAfterInteractions","task","handle","promise","Promise","resolve","then","bind","done","cancel","createInteractionHandle","clearInteractionHandle","addListener"],"mappings":"AASA,OAAOA,SAAP,MAAsB,oBAAtB;AACA,OAAOC,mBAAP,IAA8BC,kBAA9B;AACA,IAAIC,kBAAkB,GAAG;AACvBC,EAAAA,MAAM,EAAE;AACNC,IAAAA,gBAAgB,EAAE,kBADZ;AAENC,IAAAA,mBAAmB,EAAE;AAFf,GADe;AASvBC,EAAAA,oBAAoB,EAAE,SAASA,oBAAT,CAA8BC,IAA9B,EAAoC;AACxD,QAAIC,MAAJ;AACA,QAAIC,OAAO,GAAG,IAAIC,OAAJ,CAAY,UAAUC,OAAV,EAAmB;AAC3CH,MAAAA,MAAM,GAAGR,mBAAmB,CAAC,YAAY;AACvC,YAAIO,IAAJ,EAAU;AACRI,UAAAA,OAAO,CAACJ,IAAI,EAAL,CAAP;AACD,SAFD,MAEO;AACLI,UAAAA,OAAO;AACR;AACF,OAN2B,CAA5B;AAOD,KARa,CAAd;AASA,WAAO;AACLC,MAAAA,IAAI,EAAEH,OAAO,CAACG,IAAR,CAAaC,IAAb,CAAkBJ,OAAlB,CADD;AAELK,MAAAA,IAAI,EAAEL,OAAO,CAACG,IAAR,CAAaC,IAAb,CAAkBJ,OAAlB,CAFD;AAGLM,MAAAA,MAAM,EAAE,SAASA,MAAT,GAAkB;AACxBd,QAAAA,kBAAkB,CAACO,MAAD,CAAlB;AACD;AALI,KAAP;AAOD,GA3BsB;AAgCvBQ,EAAAA,uBAAuB,EAAE,SAASA,uBAAT,GAAmC;AAC1D,WAAO,CAAP;AACD,GAlCsB;AAuCvBC,EAAAA,sBAAsB,EAAE,SAASA,sBAAT,CAAgCT,MAAhC,EAAwC;AAC9DT,IAAAA,SAAS,CAAC,CAAC,CAACS,MAAH,EAAW,iCAAX,CAAT;AACD,GAzCsB;AA0CvBU,EAAAA,WAAW,EAAE,SAASA,WAAT,GAAuB,CAAE;AA1Cf,CAAzB;AA4CA,eAAehB,kBAAf","sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport invariant from 'fbjs/lib/invariant';\nimport requestIdleCallback, { cancelIdleCallback } from '../../modules/requestIdleCallback';\nvar InteractionManager = {\n Events: {\n interactionStart: 'interactionStart',\n interactionComplete: 'interactionComplete'\n },\n\n /**\n * Schedule a function to run after all interactions have completed.\n */\n runAfterInteractions: function runAfterInteractions(task) {\n var handle;\n var promise = new Promise(function (resolve) {\n handle = requestIdleCallback(function () {\n if (task) {\n resolve(task());\n } else {\n resolve();\n }\n });\n });\n return {\n then: promise.then.bind(promise),\n done: promise.then.bind(promise),\n cancel: function cancel() {\n cancelIdleCallback(handle);\n }\n };\n },\n\n /**\n * Notify manager that an interaction has started.\n */\n createInteractionHandle: function createInteractionHandle() {\n return 1;\n },\n\n /**\n * Notify manager that an interaction has completed.\n */\n clearInteractionHandle: function clearInteractionHandle(handle) {\n invariant(!!handle, 'Must provide a handle to clear.');\n },\n addListener: function addListener() {}\n};\nexport default InteractionManager;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/08f422fda8eae8b4008ecf3ab0dee79d.json b/.expo/web/cache/development/babel-loader/08f422fda8eae8b4008ecf3ab0dee79d.json new file mode 100644 index 0000000000000000000000000000000000000000..7467f21f3863aa49a78e8f4cbc032b1e8a556745 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/08f422fda8eae8b4008ecf3ab0dee79d.json @@ -0,0 +1 @@ +{"ast":null,"code":"'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\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;\n throw error;\n }\n}\n\nmodule.exports = invariant;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/node_modules/fbjs/lib/invariant.js"],"names":["validateFormat","process","env","NODE_ENV","format","undefined","Error","invariant","condition","_len","arguments","length","args","Array","_key","error","argIndex","replace","String","name","framesToPop","module","exports"],"mappings":"AAQA;;AAEA,IAAIA,cAAc,GAAGC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,GAAwC,UAAUC,MAAV,EAAkB;AAC7E,MAAIA,MAAM,KAAKC,SAAf,EAA0B;AACxB,UAAM,IAAIC,KAAJ,CAAU,mDAAV,CAAN;AACD;AACF,CAJoB,GAIjB,UAAUF,MAAV,EAAkB,CAAE,CAJxB;;AAeA,SAASG,SAAT,CAAmBC,SAAnB,EAA8BJ,MAA9B,EAAsC;AACpC,OAAK,IAAIK,IAAI,GAAGC,SAAS,CAACC,MAArB,EAA6BC,IAAI,GAAG,IAAIC,KAAJ,CAAUJ,IAAI,GAAG,CAAP,GAAWA,IAAI,GAAG,CAAlB,GAAsB,CAAhC,CAApC,EAAwEK,IAAI,GAAG,CAApF,EAAuFA,IAAI,GAAGL,IAA9F,EAAoGK,IAAI,EAAxG,EAA4G;AAC1GF,IAAAA,IAAI,CAACE,IAAI,GAAG,CAAR,CAAJ,GAAiBJ,SAAS,CAACI,IAAD,CAA1B;AACD;;AAEDd,EAAAA,cAAc,CAACI,MAAD,CAAd;;AAEA,MAAI,CAACI,SAAL,EAAgB;AACd,QAAIO,KAAJ;;AAEA,QAAIX,MAAM,KAAKC,SAAf,EAA0B;AACxBU,MAAAA,KAAK,GAAG,IAAIT,KAAJ,CAAU,uEAAuE,6DAAjF,CAAR;AACD,KAFD,MAEO;AACL,UAAIU,QAAQ,GAAG,CAAf;AACAD,MAAAA,KAAK,GAAG,IAAIT,KAAJ,CAAUF,MAAM,CAACa,OAAP,CAAe,KAAf,EAAsB,YAAY;AAClD,eAAOC,MAAM,CAACN,IAAI,CAACI,QAAQ,EAAT,CAAL,CAAb;AACD,OAFiB,CAAV,CAAR;AAGAD,MAAAA,KAAK,CAACI,IAAN,GAAa,qBAAb;AACD;;AAEDJ,IAAAA,KAAK,CAACK,WAAN,GAAoB,CAApB;AAEA,UAAML,KAAN;AACD;AACF;;AAEDM,MAAM,CAACC,OAAP,GAAiBf,SAAjB","sourcesContent":["/**\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;"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/09c6b6a6e150a53b67f6ad7073f3d0a3.json b/.expo/web/cache/development/babel-loader/09c6b6a6e150a53b67f6ad7073f3d0a3.json new file mode 100644 index 0000000000000000000000000000000000000000..01374eb7303135f158de72ce9fb8b50883e16fb7 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/09c6b6a6e150a53b67f6ad7073f3d0a3.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nimport * as ResponderSystem from \"./ResponderSystem\";\nvar emptyObject = {};\nvar idCounter = 0;\n\nfunction useStable(getInitialValue) {\n var ref = React.useRef(null);\n\n if (ref.current == null) {\n ref.current = getInitialValue();\n }\n\n return ref.current;\n}\n\nexport default function useResponderEvents(hostRef, config) {\n if (config === void 0) {\n config = emptyObject;\n }\n\n var id = useStable(function () {\n return idCounter++;\n });\n var isAttachedRef = React.useRef(false);\n React.useEffect(function () {\n ResponderSystem.attachListeners();\n return function () {\n ResponderSystem.removeNode(id);\n };\n }, [id]);\n React.useEffect(function () {\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\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}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/useResponderEvents/index.js"],"names":["React","ResponderSystem","emptyObject","idCounter","useStable","getInitialValue","ref","useRef","current","useResponderEvents","hostRef","config","id","isAttachedRef","useEffect","attachListeners","removeNode","_config","onMoveShouldSetResponder","onMoveShouldSetResponderCapture","onScrollShouldSetResponder","onScrollShouldSetResponderCapture","onSelectionChangeShouldSetResponder","onSelectionChangeShouldSetResponderCapture","onStartShouldSetResponder","onStartShouldSetResponderCapture","requiresResponderSystem","node","addNode","useDebugValue","isResponder","getResponderNode"],"mappings":"AAkBA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAO,KAAKC,eAAZ;AACA,IAAIC,WAAW,GAAG,EAAlB;AACA,IAAIC,SAAS,GAAG,CAAhB;;AAEA,SAASC,SAAT,CAAmBC,eAAnB,EAAoC;AAClC,MAAIC,GAAG,GAAGN,KAAK,CAACO,MAAN,CAAa,IAAb,CAAV;;AAEA,MAAID,GAAG,CAACE,OAAJ,IAAe,IAAnB,EAAyB;AACvBF,IAAAA,GAAG,CAACE,OAAJ,GAAcH,eAAe,EAA7B;AACD;;AAED,SAAOC,GAAG,CAACE,OAAX;AACD;;AAED,eAAe,SAASC,kBAAT,CAA4BC,OAA5B,EAAqCC,MAArC,EAA6C;AAC1D,MAAIA,MAAM,KAAK,KAAK,CAApB,EAAuB;AACrBA,IAAAA,MAAM,GAAGT,WAAT;AACD;;AAED,MAAIU,EAAE,GAAGR,SAAS,CAAC,YAAY;AAC7B,WAAOD,SAAS,EAAhB;AACD,GAFiB,CAAlB;AAGA,MAAIU,aAAa,GAAGb,KAAK,CAACO,MAAN,CAAa,KAAb,CAApB;AAIAP,EAAAA,KAAK,CAACc,SAAN,CAAgB,YAAY;AAC1Bb,IAAAA,eAAe,CAACc,eAAhB;AACA,WAAO,YAAY;AACjBd,MAAAA,eAAe,CAACe,UAAhB,CAA2BJ,EAA3B;AACD,KAFD;AAGD,GALD,EAKG,CAACA,EAAD,CALH;AAOAZ,EAAAA,KAAK,CAACc,SAAN,CAAgB,YAAY;AAC1B,QAAIG,OAAO,GAAGN,MAAd;AAAA,QACIO,wBAAwB,GAAGD,OAAO,CAACC,wBADvC;AAAA,QAEIC,+BAA+B,GAAGF,OAAO,CAACE,+BAF9C;AAAA,QAGIC,0BAA0B,GAAGH,OAAO,CAACG,0BAHzC;AAAA,QAIIC,iCAAiC,GAAGJ,OAAO,CAACI,iCAJhD;AAAA,QAKIC,mCAAmC,GAAGL,OAAO,CAACK,mCALlD;AAAA,QAMIC,0CAA0C,GAAGN,OAAO,CAACM,0CANzD;AAAA,QAOIC,yBAAyB,GAAGP,OAAO,CAACO,yBAPxC;AAAA,QAQIC,gCAAgC,GAAGR,OAAO,CAACQ,gCAR/C;AASA,QAAIC,uBAAuB,GAAGR,wBAAwB,IAAI,IAA5B,IAAoCC,+BAA+B,IAAI,IAAvE,IAA+EC,0BAA0B,IAAI,IAA7G,IAAqHC,iCAAiC,IAAI,IAA1J,IAAkKC,mCAAmC,IAAI,IAAzM,IAAiNC,0CAA0C,IAAI,IAA/P,IAAuQC,yBAAyB,IAAI,IAApS,IAA4SC,gCAAgC,IAAI,IAA9W;AACA,QAAIE,IAAI,GAAGjB,OAAO,CAACF,OAAnB;;AAEA,QAAIkB,uBAAJ,EAA6B;AAC3BzB,MAAAA,eAAe,CAAC2B,OAAhB,CAAwBhB,EAAxB,EAA4Be,IAA5B,EAAkChB,MAAlC;AACAE,MAAAA,aAAa,CAACL,OAAd,GAAwB,IAAxB;AACD,KAHD,MAGO,IAAIK,aAAa,CAACL,OAAlB,EAA2B;AAChCP,MAAAA,eAAe,CAACe,UAAhB,CAA2BJ,EAA3B;AACAC,MAAAA,aAAa,CAACL,OAAd,GAAwB,KAAxB;AACD;AACF,GApBD,EAoBG,CAACG,MAAD,EAASD,OAAT,EAAkBE,EAAlB,CApBH;AAqBAZ,EAAAA,KAAK,CAAC6B,aAAN,CAAoB;AAClBC,IAAAA,WAAW,EAAEpB,OAAO,CAACF,OAAR,KAAoBP,eAAe,CAAC8B,gBAAhB;AADf,GAApB;AAGA/B,EAAAA,KAAK,CAAC6B,aAAN,CAAoBlB,MAApB;AACD","sourcesContent":["/**\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 <div ref={ref} />\n * }\n */\nimport * as React from 'react';\nimport * as ResponderSystem from './ResponderSystem';\nvar emptyObject = {};\nvar idCounter = 0;\n\nfunction useStable(getInitialValue) {\n var ref = React.useRef(null);\n\n if (ref.current == null) {\n ref.current = getInitialValue();\n }\n\n return ref.current;\n}\n\nexport default function useResponderEvents(hostRef, config) {\n if (config === void 0) {\n config = emptyObject;\n }\n\n var id = useStable(function () {\n return idCounter++;\n });\n var isAttachedRef = React.useRef(false); // 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\n React.useEffect(function () {\n ResponderSystem.attachListeners();\n return function () {\n ResponderSystem.removeNode(id);\n };\n }, [id]); // Register and unregister with the Responder System as necessary\n\n React.useEffect(function () {\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\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}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/09f087bdd5d0e12692a81e6b9e0adbe4.json b/.expo/web/cache/development/babel-loader/09f087bdd5d0e12692a81e6b9e0adbe4.json new file mode 100644 index 0000000000000000000000000000000000000000..b8f0b4dda9750b018d1decebd912ced10366e317 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/09f087bdd5d0e12692a81e6b9e0adbe4.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users.Name.toString);\n setUsers(users);\n });\n }, []);\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {})\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" bla\"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","params","post","Item","item","onPress","backgroundColor","textColor","styles","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users.Name.toString);\r\n setUsers(users)\r\n});\r\n\r\n\r\n},[])\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {/*item.Name*/} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> bla</Text>\r\n <Button title='addUser'/> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/0ababbf87552370533ae9e978231ddb5.json b/.expo/web/cache/development/babel-loader/0ababbf87552370533ae9e978231ddb5.json new file mode 100644 index 0000000000000000000000000000000000000000..931d10d26b18c3518d80b231ff8e33d8afd9f7c0 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/0ababbf87552370533ae9e978231ddb5.json @@ -0,0 +1 @@ +{"ast":null,"code":"export 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}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/useResponderEvents/ResponderEventTypes.js"],"names":["BLUR","CONTEXT_MENU","FOCUS_OUT","MOUSE_DOWN","MOUSE_MOVE","MOUSE_UP","MOUSE_CANCEL","TOUCH_START","TOUCH_MOVE","TOUCH_END","TOUCH_CANCEL","SCROLL","SELECT","SELECTION_CHANGE","isStartish","eventType","isMoveish","isEndish","isCancelish","isScroll","isSelectionChange"],"mappings":"AAQA,OAAO,IAAIA,IAAI,GAAG,MAAX;AACP,OAAO,IAAIC,YAAY,GAAG,aAAnB;AACP,OAAO,IAAIC,SAAS,GAAG,UAAhB;AACP,OAAO,IAAIC,UAAU,GAAG,WAAjB;AACP,OAAO,IAAIC,UAAU,GAAG,WAAjB;AACP,OAAO,IAAIC,QAAQ,GAAG,SAAf;AACP,OAAO,IAAIC,YAAY,GAAG,WAAnB;AACP,OAAO,IAAIC,WAAW,GAAG,YAAlB;AACP,OAAO,IAAIC,UAAU,GAAG,WAAjB;AACP,OAAO,IAAIC,SAAS,GAAG,UAAhB;AACP,OAAO,IAAIC,YAAY,GAAG,aAAnB;AACP,OAAO,IAAIC,MAAM,GAAG,QAAb;AACP,OAAO,IAAIC,MAAM,GAAG,QAAb;AACP,OAAO,IAAIC,gBAAgB,GAAG,iBAAvB;AACP,OAAO,SAASC,UAAT,CAAoBC,SAApB,EAA+B;AACpC,SAAOA,SAAS,KAAKR,WAAd,IAA6BQ,SAAS,KAAKZ,UAAlD;AACD;AACD,OAAO,SAASa,SAAT,CAAmBD,SAAnB,EAA8B;AACnC,SAAOA,SAAS,KAAKP,UAAd,IAA4BO,SAAS,KAAKX,UAAjD;AACD;AACD,OAAO,SAASa,QAAT,CAAkBF,SAAlB,EAA6B;AAClC,SAAOA,SAAS,KAAKN,SAAd,IAA2BM,SAAS,KAAKV,QAAzC,IAAqDa,WAAW,CAACH,SAAD,CAAvE;AACD;AACD,OAAO,SAASG,WAAT,CAAqBH,SAArB,EAAgC;AACrC,SAAOA,SAAS,KAAKL,YAAd,IAA8BK,SAAS,KAAKT,YAAnD;AACD;AACD,OAAO,SAASa,QAAT,CAAkBJ,SAAlB,EAA6B;AAClC,SAAOA,SAAS,KAAKJ,MAArB;AACD;AACD,OAAO,SAASS,iBAAT,CAA2BL,SAA3B,EAAsC;AAC3C,SAAOA,SAAS,KAAKH,MAAd,IAAwBG,SAAS,KAAKF,gBAA7C;AACD","sourcesContent":["/**\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 */\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}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/0b1cf4c2acc0855d089113c4bdc54806.json b/.expo/web/cache/development/babel-loader/0b1cf4c2acc0855d089113c4bdc54806.json new file mode 100644 index 0000000000000000000000000000000000000000..18f7fd3604f286ede335c0bf2be81d1a3b1c5307 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/0b1cf4c2acc0855d089113c4bdc54806.json @@ -0,0 +1 @@ +{"ast":null,"code":"import invariant from 'fbjs/lib/invariant';\nimport EmitterSubscription from \"./_EmitterSubscription\";\nimport EventSubscriptionVendor from \"./_EventSubscriptionVendor\";\n\nvar sparseFilterPredicate = function sparseFilterPredicate() {\n return true;\n};\n\nvar EventEmitter = function () {\n function EventEmitter(subscriber) {\n this._subscriber = subscriber || new EventSubscriptionVendor();\n }\n\n var _proto = EventEmitter.prototype;\n\n _proto.addListener = function addListener(eventType, listener, context) {\n return this._subscriber.addSubscription(eventType, new EmitterSubscription(this, this._subscriber, listener, context));\n };\n\n _proto.removeAllListeners = function removeAllListeners(eventType) {\n this._subscriber.removeAllSubscriptions(eventType);\n };\n\n _proto.removeSubscription = function removeSubscription(subscription) {\n invariant(subscription.emitter === this, 'Subscription does not belong to this emitter.');\n\n this._subscriber.removeSubscription(subscription);\n };\n\n _proto.listenerCount = function listenerCount(eventType) {\n var subscriptions = this._subscriber.getSubscriptionsForType(eventType);\n\n return subscriptions ? subscriptions.filter(sparseFilterPredicate).length : 0;\n };\n\n _proto.emit = function emit(eventType) {\n var subscriptions = this._subscriber.getSubscriptionsForType(eventType);\n\n if (subscriptions) {\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 for (var i = 0, l = subscriptions.length; i < l; i++) {\n var subscription = subscriptions[i];\n\n if (subscription && subscription.listener) {\n subscription.listener.apply(subscription.context, args);\n }\n }\n }\n };\n\n _proto.removeListener = function removeListener(eventType, listener) {\n console.error(\"EventEmitter.removeListener('\" + eventType + \"', ...): Method has been \" + 'deprecated. Please instead use `remove()` on the subscription ' + 'returned by `EventEmitter.addListener`.');\n\n var subscriptions = this._subscriber.getSubscriptionsForType(eventType);\n\n if (subscriptions) {\n for (var i = 0, l = subscriptions.length; i < l; i++) {\n var subscription = subscriptions[i];\n\n if (subscription && subscription.listener === listener) {\n subscription.remove();\n }\n }\n }\n };\n\n return EventEmitter;\n}();\n\nexport default EventEmitter;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/emitter/_EventEmitter.js"],"names":["invariant","EmitterSubscription","EventSubscriptionVendor","sparseFilterPredicate","EventEmitter","subscriber","_subscriber","_proto","prototype","addListener","eventType","listener","context","addSubscription","removeAllListeners","removeAllSubscriptions","removeSubscription","subscription","emitter","listenerCount","subscriptions","getSubscriptionsForType","filter","length","emit","_len","arguments","args","Array","_key","i","l","apply","removeListener","console","error","remove"],"mappings":"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","sourcesContent":["/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @typecheck\n */\nimport invariant from 'fbjs/lib/invariant';\nimport EmitterSubscription from './_EmitterSubscription';\nimport EventSubscriptionVendor from './_EventSubscriptionVendor';\n\nvar sparseFilterPredicate = function sparseFilterPredicate() {\n return true;\n};\n\n/**\n * @class EventEmitter\n * @description\n * An EventEmitter is responsible for managing a set of listeners and publishing\n * events to them when it is told that such events happened. In addition to the\n * data for the given event it also sends a event control object which allows\n * the listeners/handlers to prevent the default behavior of the given event.\n *\n * The emitter is designed to be generic enough to support all the different\n * contexts in which one might want to emit events. It is a simple multicast\n * mechanism on top of which extra functionality can be composed. For example, a\n * more advanced emitter may use an EventHolder and EventFactory.\n */\nvar EventEmitter = /*#__PURE__*/function () {\n /**\n * @constructor\n *\n * @param {EventSubscriptionVendor} subscriber - Optional subscriber instance\n * to use. If omitted, a new subscriber will be created for the emitter.\n */\n function EventEmitter(subscriber) {\n this._subscriber = subscriber || new EventSubscriptionVendor();\n }\n /**\n * Adds a listener to be invoked when events of the specified type are\n * emitted. An optional calling context may be provided. The data arguments\n * emitted will be passed to the listener function.\n *\n * TODO: Annotate the listener arg's type. This is tricky because listeners\n * can be invoked with varargs.\n *\n * @param {string} eventType - Name of the event to listen to\n * @param {function} listener - Function to invoke when the specified event is\n * emitted\n * @param {*} context - Optional context object to use when invoking the\n * listener\n */\n\n\n var _proto = EventEmitter.prototype;\n\n _proto.addListener = function addListener(eventType, // FIXME: listeners should return void instead of mixed to prevent issues\n listener, context) {\n return this._subscriber.addSubscription(eventType, new EmitterSubscription(this, this._subscriber, listener, context));\n }\n /**\n * Removes all of the registered listeners, including those registered as\n * listener maps.\n *\n * @param {?string} eventType - Optional name of the event whose registered\n * listeners to remove\n */\n ;\n\n _proto.removeAllListeners = function removeAllListeners(eventType) {\n this._subscriber.removeAllSubscriptions(eventType);\n }\n /**\n * @deprecated Use `remove` on the EventSubscription from `addListener`.\n */\n ;\n\n _proto.removeSubscription = function removeSubscription(subscription) {\n invariant(subscription.emitter === this, 'Subscription does not belong to this emitter.');\n\n this._subscriber.removeSubscription(subscription);\n }\n /**\n * Returns the number of listeners that are currently registered for the given\n * event.\n *\n * @param {string} eventType - Name of the event to query\n * @returns {number}\n */\n ;\n\n _proto.listenerCount = function listenerCount(eventType) {\n var subscriptions = this._subscriber.getSubscriptionsForType(eventType);\n\n return subscriptions ? // We filter out missing entries because the array is sparse.\n // \"callbackfn is called only for elements of the array which actually\n // exist; it is not called for missing elements of the array.\"\n // https://www.ecma-international.org/ecma-262/9.0/index.html#sec-array.prototype.filter\n subscriptions.filter(sparseFilterPredicate).length : 0;\n }\n /**\n * Emits an event of the given type with the given data. All handlers of that\n * particular type will be notified.\n *\n * @param {string} eventType - Name of the event to emit\n * @param {...*} Arbitrary arguments to be passed to each registered listener\n *\n * @example\n * emitter.addListener('someEvent', function(message) {\n * console.log(message);\n * });\n *\n * emitter.emit('someEvent', 'abc'); // logs 'abc'\n */\n ;\n\n _proto.emit = function emit(eventType) {\n var subscriptions = this._subscriber.getSubscriptionsForType(eventType);\n\n if (subscriptions) {\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 for (var i = 0, l = subscriptions.length; i < l; i++) {\n var subscription = subscriptions[i]; // The subscription may have been removed during this event loop.\n\n if (subscription && subscription.listener) {\n subscription.listener.apply(subscription.context, args);\n }\n }\n }\n }\n /**\n * @deprecated Use `remove` on the EventSubscription from `addListener`.\n */\n ;\n\n _proto.removeListener = function removeListener(eventType, // FIXME: listeners should return void instead of mixed to prevent issues\n listener) {\n console.error(\"EventEmitter.removeListener('\" + eventType + \"', ...): Method has been \" + 'deprecated. Please instead use `remove()` on the subscription ' + 'returned by `EventEmitter.addListener`.');\n\n var subscriptions = this._subscriber.getSubscriptionsForType(eventType);\n\n if (subscriptions) {\n for (var i = 0, l = subscriptions.length; i < l; i++) {\n var subscription = subscriptions[i]; // The subscription may have been removed during this event loop.\n // its listener matches the listener in method parameters\n\n if (subscription && subscription.listener === listener) {\n subscription.remove();\n }\n }\n }\n };\n\n return EventEmitter;\n}();\n\nexport default EventEmitter;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/0bb9e5998a22fb67ad9745f93e94e576.json b/.expo/web/cache/development/babel-loader/0bb9e5998a22fb67ad9745f93e94e576.json new file mode 100644 index 0000000000000000000000000000000000000000..3d7159a58c7e7610afffc4ee151de216b755c497 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/0bb9e5998a22fb67ad9745f93e94e576.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore } from \"firebase/firestore\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n setUsers(users);\n });\n }, []);\n\n function writeData() {\n var docRef;\n return _regeneratorRuntime.async(function writeData$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (DATA != null) {\n Alert.alert(DATA.toLocaleString);\n } else {\n Alert.alert('Data null');\n }\n\n try {\n docRef = function docRef() {\n return _regeneratorRuntime.async(function docRef$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _regeneratorRuntime.awrap(addDoc(collection(db, \"Users\"), {\n Email: \"Ada\",\n Image: \"Lovelace\",\n Name: \"1815\"\n }));\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n };\n\n console.log(\"Document written with ID: \", docRef.id);\n Alert.alert(\"write Data worked: \");\n } catch (e) {\n console.error(\"Error adding document: \", e);\n }\n\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }\n }, null, null, null, Promise);\n }\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsxs(Text, {\n children: [item.title, users.toString]\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\",\n onPress: writeData\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","writeData","Alert","alert","toLocaleString","docRef","console","log","e","error","params","post","Item","item","onPress","backgroundColor","textColor","styles","title","toString","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\nasync function writeData(){\r\n \r\n if(DATA != null){\r\n Alert.alert(DATA.toLocaleString);\r\n}\r\nelse{\r\n Alert.alert('Data null');\r\n}\r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})*/\r\n}\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async (id) => {\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUser({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n {users.toString}\r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser' onPress={writeData}/>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/0d591cf77cada85e9075e50731637eb7.json b/.expo/web/cache/development/babel-loader/0d591cf77cada85e9075e50731637eb7.json new file mode 100644 index 0000000000000000000000000000000000000000..237748c8a566d62c9ba2a8aa4403a2c75207b8e6 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/0d591cf77cada85e9075e50731637eb7.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATAS = null;\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n DATA = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(getFirestore(), \"Users\");\n var big = [];\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var itemData = {\n name: doc.data().Name,\n email: doc.data().Email,\n image: doc.data().Image,\n id: doc.id\n };\n big.push(itemData);\n setUsers(big);\n Alert.alert('count data', DATA.name);\n });\n });\n }, []);\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n var big = [];\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n big.push(itemData);\n }\n });\n setUsers(big);\n });\n }\n\n if (route.params != null) {\n setUsers(null);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n }), _jsx(Text, {\n style: styles.beschreibung,\n children: item.name\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsxs(View, {\n children: [_jsx(Text, {\n children: \"No Data Found\"\n }), _jsx(Button, {\n title: \"Load Data\",\n onPress: listenOnChange\n })]\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsx(TouchableOpacity, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n style: styles.button,\n children: _jsx(Text, {\n style: styles.cancelButtonText,\n children: \"Create new User\"\n })\n }), _jsx(Text, {\n children: \" \"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return item + index;\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50,\n borderRadius: 50 / 2,\n overflow: \"hidden\",\n borderWidth: 3,\n borderColor: \"#D9D9D9\"\n },\n item: {\n width: 250,\n paddingTop: 20,\n paddingBottom: 20,\n paddingRight: 20,\n marginVertical: 8,\n marginHorizontal: 25,\n borderBottomColor: '#D9D9D9',\n borderBottomWidth: 2,\n flexDirection: \"row\"\n },\n beschreibung: {\n marginLeft: 10,\n marginTop: 10,\n width: 180,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 16,\n lineHeight: 23,\n color: \"#5E6A79\"\n },\n button: {\n marginTop: 25,\n marginBottom: 20,\n height: 35,\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\n borderRadius: 12,\n justifyContent: 'center'\n },\n cancelButtonText: {\n height: 28,\n margin: 10,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 15,\n lineHeight: 22,\n textAlign: 'center',\n color: \"#5E6A79\"\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATAS","UserLists","navigation","route","DATA","setUsers","colRef","big","querySnapshot","forEach","itemData","name","data","Name","email","Email","image","Image","id","push","Alert","alert","listenOnChange","snapchot","docChanges","change","type","message","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","beschreibung","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","container","button","cancelButtonText","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height","borderRadius","overflow","borderWidth","borderColor","paddingTop","paddingBottom","paddingRight","marginVertical","borderBottomColor","borderBottomWidth","flexDirection","marginLeft","marginTop","fontStyle","fontWeight","fontSize","lineHeight","marginBottom","margin","textAlign"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATAS = null;\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [DATA, setUsers] = useState(null);\r\n\r\n//listenOnChange();\r\n//useeffect();\r\n\r\n/*useEffect(()=>{\r\nconst colRef = collection(getFirestore(),\"Users\");\r\nconst big= [];\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n //DATA.push(itemData);\r\n setUsers(big);\r\n //Alert.alert('count data',DATA.name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])*/\r\n\r\n\r\n\r\n\r\n//test\r\nuseEffect(()=>{\r\n const colRef = collection(getFirestore(),\"Users\");\r\n const big= [];\r\n onSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n //DATA.push(itemData);\r\n setUsers(big);\r\n Alert.alert('count data',DATA.name);\r\n });\r\n \r\n //setUsers(users)\r\n });\r\n //Alert.alert(users.Name.toString);\r\n \r\n },[])\r\n\r\n\r\n \r\n\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n const big = [];\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n //DATA.push(itemData);\r\n big.push(itemData);\r\n \r\n //Alert.alert('listen on change',message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n }); setUsers(big);\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\nsetUsers(null);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n \r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n <Text style={styles.beschreibung}>\r\n {item.name} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){ //DATAS zu DATA ändern ___-------\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <View>\r\n <Text>\r\n No Data Found \r\n </Text>\r\n <Button title='Load Data' onPress={listenOnChange}/>\r\n </View>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <TouchableOpacity onPress={()=> {navigation.navigate('CreateNewUser')}} style={styles.button}>\r\n <Text style={styles.cancelButtonText}>\r\n Create new User\r\n </Text>\r\n \r\n </TouchableOpacity>\r\n <Text> </Text>\r\n\r\n <FlatList\r\n data={DATA} //DATAS zu DATA ändern ___-------\r\n renderItem={renderItem}\r\n /*keyExtractor={ (item, index) => index.toString()}//item => item.id*/\r\n keyExtractor={(item, index) => item + index}\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n borderRadius: 50 / 2,\r\n overflow: \"hidden\",\r\n borderWidth: 3,\r\n borderColor: \"#D9D9D9\"\r\n },\r\n item: {\r\n width: 250,\r\n paddingTop: 20,\r\n paddingBottom: 20,\r\n paddingRight: 20,\r\n marginVertical: 8,\r\n marginHorizontal: 25,\r\n borderBottomColor: '#D9D9D9',\r\n borderBottomWidth: 2,\r\n flexDirection: \"row\",\r\n },\r\n beschreibung: {\r\n marginLeft:10,\r\n marginTop:10,\r\n width: 180,\r\n\r\n // font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 16,\r\n lineHeight: 23,\r\n color: \"#5E6A79\",\r\n },\r\n button:{\r\n marginTop:25,\r\n marginBottom: 20,\r\n height: 35,\r\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\r\n //box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);\r\n borderRadius: 12,\r\n justifyContent: 'center',\r\n \r\n},\r\ncancelButtonText:{\r\n //width: 55,\r\n height: 28,\r\nmargin:10,\r\n //font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 15,\r\n lineHeight: 22,\r\n textAlign:'center',\r\n color: \"#5E6A79\",\r\n},\r\n\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/0d98a4595f5ad5c2a8fe312108a11d96.json b/.expo/web/cache/development/babel-loader/0d98a4595f5ad5c2a8fe312108a11d96.json new file mode 100644 index 0000000000000000000000000000000000000000..8610bd0730fb30b6cfa8ab736bf38caf4a80b9fc --- /dev/null +++ b/.expo/web/cache/development/babel-loader/0d98a4595f5ad5c2a8fe312108a11d96.json @@ -0,0 +1 @@ +{"ast":null,"code":"export default function Screen(_) {\n return null;\n}","map":{"version":3,"sources":["Screen.tsx"],"names":[],"mappings":"AAOA,eAAe,SAAA,MAAA,CAAA,CAAA,EAMyD;AAEtE,SAAA,IAAA;AACD","sourcesContent":["import type { NavigationState, ParamListBase } from '@react-navigation/routers';\n\nimport type { EventMapBase, RouteConfig } from './types';\n\n/**\n * Empty component used for specifying route configuration.\n */\nexport default function Screen<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList,\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase\n>(_: RouteConfig<ParamList, RouteName, State, ScreenOptions, EventMap>) {\n /* istanbul ignore next */\n return null;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/0df405936a5f83630ce411c31eab4c0c.json b/.expo/web/cache/development/babel-loader/0df405936a5f83630ce411c31eab4c0c.json new file mode 100644 index 0000000000000000000000000000000000000000..f62a20e2057d8fe39e0c3f0921a453fee8521288 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/0df405936a5f83630ce411c31eab4c0c.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nvar LinkingContext = React.createContext({\n options: undefined\n});\nLinkingContext.displayName = 'LinkingContext';\nexport default LinkingContext;","map":{"version":3,"sources":["LinkingContext.tsx"],"names":["LinkingContext","options","undefined"],"mappings":"AACA,OAAO,KAAP,KAAA,MAAA,OAAA;AAIA,IAAMA,cAAc,GAAG,KAAK,CAAL,aAAA,CAEpB;AAAEC,EAAAA,OAAO,EAAEC;AAAX,CAFoB,CAAvB;AAIAF,cAAc,CAAdA,WAAAA,GAAAA,gBAAAA;AAEA,eAAA,cAAA","sourcesContent":["import type { ParamListBase } from '@react-navigation/core';\nimport * as React from 'react';\n\nimport type { LinkingOptions } from './types';\n\nconst LinkingContext = React.createContext<{\n options: LinkingOptions<ParamListBase> | undefined;\n}>({ options: undefined });\n\nLinkingContext.displayName = 'LinkingContext';\n\nexport default LinkingContext;\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/0e117710a9f7c624ac03ff1d1718f7b7.json b/.expo/web/cache/development/babel-loader/0e117710a9f7c624ac03ff1d1718f7b7.json new file mode 100644 index 0000000000000000000000000000000000000000..4b81d8449a50869baa90054435e7a81fa6c64f8d --- /dev/null +++ b/.expo/web/cache/development/babel-loader/0e117710a9f7c624ac03ff1d1718f7b7.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport AnimatedInterpolation from \"./AnimatedInterpolation\";\nimport AnimatedNode from \"./AnimatedNode\";\nimport AnimatedValue from \"./AnimatedValue\";\nimport AnimatedWithChildren from \"./AnimatedWithChildren\";\n\nvar AnimatedMultiplication = function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedMultiplication, _AnimatedWithChildren);\n\n function AnimatedMultiplication(a, b) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n _this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n _this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n return _this;\n }\n\n var _proto = AnimatedMultiplication.prototype;\n\n _proto.__makeNative = function __makeNative() {\n this._a.__makeNative();\n\n this._b.__makeNative();\n\n _AnimatedWithChildren.prototype.__makeNative.call(this);\n };\n\n _proto.__getValue = function __getValue() {\n return this._a.__getValue() * this._b.__getValue();\n };\n\n _proto.interpolate = function interpolate(config) {\n return new AnimatedInterpolation(this, config);\n };\n\n _proto.__attach = function __attach() {\n this._a.__addChild(this);\n\n this._b.__addChild(this);\n };\n\n _proto.__detach = function __detach() {\n this._a.__removeChild(this);\n\n this._b.__removeChild(this);\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n return {\n type: 'multiplication',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n };\n\n return AnimatedMultiplication;\n}(AnimatedWithChildren);\n\nexport default AnimatedMultiplication;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedMultiplication.js"],"names":["_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","AnimatedInterpolation","AnimatedNode","AnimatedValue","AnimatedWithChildren","AnimatedMultiplication","_AnimatedWithChildren","a","b","_this","call","_a","_b","_proto","__makeNative","__getValue","interpolate","config","__attach","__addChild","__detach","__removeChild","__getNativeConfig","type","input","__getNativeTag"],"mappings":"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","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\n\nvar AnimatedMultiplication = /*#__PURE__*/function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedMultiplication, _AnimatedWithChildren);\n\n function AnimatedMultiplication(a, b) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n _this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n _this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n return _this;\n }\n\n var _proto = AnimatedMultiplication.prototype;\n\n _proto.__makeNative = function __makeNative() {\n this._a.__makeNative();\n\n this._b.__makeNative();\n\n _AnimatedWithChildren.prototype.__makeNative.call(this);\n };\n\n _proto.__getValue = function __getValue() {\n return this._a.__getValue() * this._b.__getValue();\n };\n\n _proto.interpolate = function interpolate(config) {\n return new AnimatedInterpolation(this, config);\n };\n\n _proto.__attach = function __attach() {\n this._a.__addChild(this);\n\n this._b.__addChild(this);\n };\n\n _proto.__detach = function __detach() {\n this._a.__removeChild(this);\n\n this._b.__removeChild(this);\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n return {\n type: 'multiplication',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n };\n\n return AnimatedMultiplication;\n}(AnimatedWithChildren);\n\nexport default AnimatedMultiplication;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/0ec4c5808494968ad683c9566593c867.json b/.expo/web/cache/development/babel-loader/0ec4c5808494968ad683c9566593c867.json new file mode 100644 index 0000000000000000000000000000000000000000..2ae6f38c1d094c8f0a2db7d1bb5ff9e0e28e11ac --- /dev/null +++ b/.expo/web/cache/development/babel-loader/0ec4c5808494968ad683c9566593c867.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore } from \"firebase/firestore\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Name = _doc$data.Name,\n Email = _doc$data.Email,\n Image = _doc$data.Image;\n\n users.push({\n id: doc.id,\n Name: Name,\n Email: Email,\n Image: Image\n });\n });\n setUsers(users);\n });\n }, []);\n\n function writeData() {\n try {\n var docRef = function docRef() {\n return _regeneratorRuntime.async(function docRef$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _regeneratorRuntime.awrap(addDoc(collection(db, \"users\"), {\n Name: \"Ada\",\n Email: \"Lovelace\",\n Image: \"1815\"\n }));\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n };\n\n console.log(\"Document written with ID: \", docRef.id);\n Alert.alert(\"write Data worked: \");\n } catch (e) {\n console.error(\"Error adding document: \", e);\n }\n }\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsxs(Text, {\n children: [item.title, users.toString]\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\",\n onPress: writeData\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Name","Email","Image","push","id","writeData","docRef","console","log","Alert","alert","e","error","params","post","Item","item","onPress","backgroundColor","textColor","styles","title","toString","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore} from \"firebase/firestore\"\r\n\r\n\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Name, Email, Image} = doc.data();\r\n users.push({id:doc.id, Name, Email, Image})\r\n });\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\nfunction writeData(){\r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"users\"), {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}\r\n}\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();*/\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async (id) => {\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUser({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n {users.toString}\r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser' onPress={writeData}/>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/0ec84fee58d142708138ee751f584f9b.json b/.expo/web/cache/development/babel-loader/0ec84fee58d142708138ee751f584f9b.json new file mode 100644 index 0000000000000000000000000000000000000000..97c176ccd9b56dfb9d213d8c827412cfd2bcbcbd --- /dev/null +++ b/.expo/web/cache/development/babel-loader/0ec84fee58d142708138ee751f584f9b.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n DATA = _useState2[0],\n setUsers = _useState2[1];\n\n listenOnChange();\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n var big = [];\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n big.push(itemData);\n }\n });\n setUsers(big);\n });\n }\n\n if (route.params != null) {\n setUsers(null);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n }), _jsx(Text, {\n style: styles.beschreibung,\n children: item.name\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" \"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return item + index;\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n },\n item: {\n width: 250,\n paddingTop: 20,\n paddingBottom: 20,\n paddingRight: 20,\n marginVertical: 8,\n marginHorizontal: 25,\n borderBottomColor: '#D9D9D9',\n borderBottomWidth: 2,\n flexDirection: \"row\"\n },\n beschreibung: {\n marginLeft: 10,\n width: 180,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 16,\n lineHeight: 23,\n color: \"#5E6A79\"\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","UserLists","navigation","route","DATA","setUsers","listenOnChange","snapchot","big","docChanges","forEach","change","type","message","data","itemData","name","Name","email","Email","image","Image","push","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","beschreibung","selectedId","setSelectedId","renderItem","id","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","Alert","alert","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height","paddingTop","paddingBottom","paddingRight","marginVertical","borderBottomColor","borderBottomWidth","flexDirection","marginLeft","fontStyle","fontWeight","fontSize","lineHeight"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\n//let DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [DATA, setUsers] = useState(null);\r\n\r\nlistenOnChange();\r\n//useeffect();\r\n\r\n/*useEffect(()=>{\r\nconst colRef = collection(getFirestore(),\"Users\");\r\nconst big= [];\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n //DATA.push(itemData);\r\n setUsers(big);\r\n //Alert.alert('count data',DATA.name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])*/\r\n\r\n\r\n \r\n\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n const big = [];\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n //DATA.push(itemData);\r\n big.push(itemData);\r\n \r\n //Alert.alert('listen on change',message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n }); setUsers(big);\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\nsetUsers(null);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n \r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n <Text style={styles.beschreibung}>\r\n {item.name} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> </Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n /*keyExtractor={ (item, index) => index.toString()}//item => item.id*/\r\n keyExtractor={(item, index) => item + index}\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n item: {\r\n width: 250,\r\n paddingTop: 20,\r\n paddingBottom: 20,\r\n paddingRight: 20,\r\n marginVertical: 8,\r\n marginHorizontal: 25,\r\n borderBottomColor: '#D9D9D9',\r\n borderBottomWidth: 2,\r\n flexDirection: \"row\",\r\n },\r\n beschreibung: {\r\n marginLeft:10,\r\n width: 180,\r\n\r\n // font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 16,\r\n lineHeight: 23,\r\n color: \"#5E6A79\",\r\n },\r\n\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/0fc5f9dd4bb6bc876ee44e34dbf7fdd9.json b/.expo/web/cache/development/babel-loader/0fc5f9dd4bb6bc876ee44e34dbf7fdd9.json new file mode 100644 index 0000000000000000000000000000000000000000..1a7beefd572ca2694942d2c8fa0bcc7dfc864ef3 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/0fc5f9dd4bb6bc876ee44e34dbf7fdd9.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport Platform from \"react-native-web/dist/exports/Platform\";\nvar AlphaNumericUnderscore = /^[a-zA-Z0-9_]+$/;\nexport function objectKeyValuesAreStrings(object) {\n if (!isObject(object)) {\n return false;\n }\n\n var entries = Object.entries(object);\n\n for (var i = 0; i < entries.length; i++) {\n var _entries$i = _slicedToArray(entries[i], 2),\n key = _entries$i[0],\n value = _entries$i[1];\n\n if (!isString(key) || !isString(value)) {\n return false;\n }\n }\n\n return true;\n}\nexport function isNull(value) {\n return value === null;\n}\nexport function isObject(value) {\n return value ? typeof value === 'object' && !Array.isArray(value) && !isNull(value) : false;\n}\nexport function isDate(value) {\n return value && Object.prototype.toString.call(value) === '[object Date]' && !isNaN(value);\n}\nexport function isFunction(value) {\n return value ? typeof value === 'function' : false;\n}\nexport function isString(value) {\n return typeof value === 'string';\n}\nexport function isNumber(value) {\n return typeof value === 'number';\n}\nexport function isFinite(value) {\n return Number.isFinite(value);\n}\nexport function isInteger(value) {\n return Number.isInteger(value);\n}\nexport function isBoolean(value) {\n return typeof value === 'boolean';\n}\nexport function isArray(value) {\n return Array.isArray(value);\n}\nexport function isUndefined(value) {\n return typeof value === 'undefined';\n}\nexport function isAlphaNumericUnderscore(value) {\n return AlphaNumericUnderscore.test(value);\n}\nvar IS_VALID_URL_REGEX = /^(http|https):\\/\\/[^ \"]+$/;\nexport function isValidUrl(url) {\n return IS_VALID_URL_REGEX.test(url);\n}\nexport function isOneOf(value) {\n var oneOf = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n if (!isArray(oneOf)) {\n return false;\n }\n\n return oneOf.includes(value);\n}\nexport function noop() {}\nexport function validateOptionalNativeDependencyExists(firebaseJsonKey, apiName, nativeFnExists) {\n if (nativeFnExists) {\n return;\n }\n\n var errorMessage = \"You attempted to use an optional API that's not enabled natively. \\n\\n To enable \";\n errorMessage += apiName;\n errorMessage += \" please set the 'react-native' -> '\" + firebaseJsonKey + \"' key to true in your firebase.json file\";\n\n if (Platform.OS === 'android') {\n errorMessage += ' and rebuild your Android app.';\n } else {\n errorMessage += ', re-run pod install and rebuild your iOS app. ' + \"If you're not using Pods then make sure you've have downloaded the necessary Firebase iOS SDK dependencies for this API.\";\n }\n\n throw new Error(errorMessage);\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/app/lib/common/validate.js"],"names":["AlphaNumericUnderscore","objectKeyValuesAreStrings","object","isObject","entries","Object","i","length","key","value","isString","isNull","Array","isArray","isDate","prototype","toString","call","isNaN","isFunction","isNumber","isFinite","Number","isInteger","isBoolean","isUndefined","isAlphaNumericUnderscore","test","IS_VALID_URL_REGEX","isValidUrl","url","isOneOf","oneOf","includes","noop","validateOptionalNativeDependencyExists","firebaseJsonKey","apiName","nativeFnExists","errorMessage","Platform","OS","Error"],"mappings":"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","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { Platform } from 'react-native';\n\nconst AlphaNumericUnderscore = /^[a-zA-Z0-9_]+$/;\n\nexport function objectKeyValuesAreStrings(object) {\n if (!isObject(object)) {\n return false;\n }\n\n const entries = Object.entries(object);\n\n for (let i = 0; i < entries.length; i++) {\n const [key, value] = entries[i];\n if (!isString(key) || !isString(value)) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Simple is null check.\n *\n * @param value\n * @returns {boolean}\n */\nexport function isNull(value) {\n return value === null;\n}\n\n/**\n * Simple is object check.\n *\n * @param value\n * @returns {boolean}\n */\nexport function isObject(value) {\n return value ? typeof value === 'object' && !Array.isArray(value) && !isNull(value) : false;\n}\n\n/**\n * Simple is date check\n * https://stackoverflow.com/a/44198641\n * @param value\n * @returns {boolean}\n */\nexport function isDate(value) {\n // use the global isNaN() and not Number.isNaN() since it will validate an Invalid Date\n return value && Object.prototype.toString.call(value) === '[object Date]' && !isNaN(value);\n}\n\n/**\n * Simple is function check\n *\n * @param value\n * @returns {*|boolean}\n */\nexport function isFunction(value) {\n return value ? typeof value === 'function' : false;\n}\n\n/**\n * Simple is string check\n * @param value\n * @return {boolean}\n */\nexport function isString(value) {\n return typeof value === 'string';\n}\n\n/**\n * Simple is number check\n * @param value\n * @return {boolean}\n */\nexport function isNumber(value) {\n return typeof value === 'number';\n}\n\n/**\n * Simple finite check\n * @param value\n * @returns {boolean}\n */\nexport function isFinite(value) {\n return Number.isFinite(value);\n}\n\n/**\n * Simple integer check\n * @param value\n * @returns {boolean}\n */\nexport function isInteger(value) {\n return Number.isInteger(value);\n}\n\n/**\n * Simple is boolean check\n *\n * @param value\n * @return {boolean}\n */\nexport function isBoolean(value) {\n return typeof value === 'boolean';\n}\n\n/**\n *\n * @param value\n * @returns {arg is Array<any>}\n */\nexport function isArray(value) {\n return Array.isArray(value);\n}\n\n/**\n *\n * @param value\n * @returns {boolean}\n */\nexport function isUndefined(value) {\n return typeof value === 'undefined';\n}\n\n/**\n * /^[a-zA-Z0-9_]+$/\n *\n * @param value\n * @returns {boolean}\n */\nexport function isAlphaNumericUnderscore(value) {\n return AlphaNumericUnderscore.test(value);\n}\n\n/**\n * URL test\n * @param url\n * @returns {boolean}\n */\nconst IS_VALID_URL_REGEX = /^(http|https):\\/\\/[^ \"]+$/;\nexport function isValidUrl(url) {\n return IS_VALID_URL_REGEX.test(url);\n}\n\n/**\n * Array includes\n *\n * @param value\n * @param oneOf\n * @returns {boolean}\n */\nexport function isOneOf(value, oneOf = []) {\n if (!isArray(oneOf)) {\n return false;\n }\n return oneOf.includes(value);\n}\n\nexport function noop() {\n // noop-ðŸˆ\n}\n\nexport function validateOptionalNativeDependencyExists(firebaseJsonKey, apiName, nativeFnExists) {\n if (nativeFnExists) {\n return;\n }\n let errorMessage =\n \"You attempted to use an optional API that's not enabled natively. \\n\\n To enable \";\n\n errorMessage += apiName;\n errorMessage += ` please set the 'react-native' -> '${firebaseJsonKey}' key to true in your firebase.json file`;\n\n if (Platform.OS === 'android') {\n errorMessage += ' and rebuild your Android app.';\n } else {\n errorMessage +=\n ', re-run pod install and rebuild your iOS app. ' +\n \"If you're not using Pods then make sure you've have downloaded the necessary Firebase iOS SDK dependencies for this API.\";\n }\n\n throw new Error(errorMessage);\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/0fe022846057a88d1f9ce52999acf1f1.json b/.expo/web/cache/development/babel-loader/0fe022846057a88d1f9ce52999acf1f1.json new file mode 100644 index 0000000000000000000000000000000000000000..ea8a85a25b963f61b3c02f5d80469fa6d44e4606 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/0fe022846057a88d1f9ce52999acf1f1.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as TurboModuleRegistry from \"../TurboModule/TurboModuleRegistry\";\nexport default TurboModuleRegistry.get('NativeAnimatedTurboModule');","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/NativeAnimatedTurboModule.js"],"names":["TurboModuleRegistry","get"],"mappings":"AASA,OAAO,KAAKA,mBAAZ;AACA,eAAeA,mBAAmB,CAACC,GAApB,CAAwB,2BAAxB,CAAf","sourcesContent":["/**\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 * @format\n */\nimport * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';\nexport default TurboModuleRegistry.get('NativeAnimatedTurboModule');"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/107f2c58b765223f8daf1ca1c935a928.json b/.expo/web/cache/development/babel-loader/107f2c58b765223f8daf1ca1c935a928.json new file mode 100644 index 0000000000000000000000000000000000000000..523f231c36384b786963d80b11ce6cd5ef0fffa8 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/107f2c58b765223f8daf1ca1c935a928.json @@ -0,0 +1 @@ +{"ast":null,"code":"var isDisabled = function isDisabled(props) {\n return props.disabled || Array.isArray(props.accessibilityStates) && props.accessibilityStates.indexOf('disabled') > -1;\n};\n\nexport default isDisabled;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/AccessibilityUtil/isDisabled.js"],"names":["isDisabled","props","disabled","Array","isArray","accessibilityStates","indexOf"],"mappings":"AAQA,IAAIA,UAAU,GAAG,SAASA,UAAT,CAAoBC,KAApB,EAA2B;AAC1C,SAAOA,KAAK,CAACC,QAAN,IAAkBC,KAAK,CAACC,OAAN,CAAcH,KAAK,CAACI,mBAApB,KAA4CJ,KAAK,CAACI,mBAAN,CAA0BC,OAA1B,CAAkC,UAAlC,IAAgD,CAAC,CAAtH;AACD,CAFD;;AAIA,eAAeN,UAAf","sourcesContent":["/**\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 isDisabled = function isDisabled(props) {\n return props.disabled || Array.isArray(props.accessibilityStates) && props.accessibilityStates.indexOf('disabled') > -1;\n};\n\nexport default isDisabled;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/10cf6e337f2c1128456e3c7fda4bf2b2.json b/.expo/web/cache/development/babel-loader/10cf6e337f2c1128456e3c7fda4bf2b2.json new file mode 100644 index 0000000000000000000000000000000000000000..02a1be2e7e854c29576d7a8765024bc7ebb1cab0 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/10cf6e337f2c1128456e3c7fda4bf2b2.json @@ -0,0 +1 @@ +{"ast":null,"code":"export default function styleToBarStyle() {\n var style = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'auto';\n var colorScheme = arguments.length > 1 ? arguments[1] : undefined;\n\n if (!colorScheme) {\n colorScheme = 'light';\n }\n\n var resolvedStyle = style;\n\n if (style === 'auto') {\n resolvedStyle = colorScheme === 'light' ? 'dark' : 'light';\n } else if (style === 'inverted') {\n resolvedStyle = colorScheme === 'light' ? 'light' : 'dark';\n }\n\n return resolvedStyle === 'light' ? 'light-content' : 'dark-content';\n}","map":{"version":3,"sources":["../src/styleToBarStyle.web.ts"],"names":[],"mappings":"AAEA,eAAc,SAAU,eAAV,GAEiB;AAAA,MAD7B,KAC6B,uEADL,MACK;AAAA,MAA7B,WAA6B;;AAE7B,MAAI,CAAC,WAAL,EAAkB;AAChB,IAAA,WAAW,GAAG,OAAd;AACD;;AAED,MAAI,aAAa,GAAG,KAApB;;AACA,MAAI,KAAK,KAAK,MAAd,EAAsB;AACpB,IAAA,aAAa,GAAG,WAAW,KAAK,OAAhB,GAA0B,MAA1B,GAAmC,OAAnD;AACD,GAFD,MAEO,IAAI,KAAK,KAAK,UAAd,EAA0B;AAC/B,IAAA,aAAa,GAAG,WAAW,KAAK,OAAhB,GAA0B,OAA1B,GAAoC,MAApD;AACD;;AAED,SAAO,aAAa,KAAK,OAAlB,GAA4B,eAA5B,GAA8C,cAArD;AACD","sourcesContent":["import { StatusBarStyle } from './StatusBar.types';\n\nexport default function styleToBarStyle(\n style: StatusBarStyle = 'auto',\n colorScheme: 'light' | 'dark'\n): 'light-content' | 'dark-content' {\n if (!colorScheme) {\n colorScheme = 'light';\n }\n\n let resolvedStyle = style;\n if (style === 'auto') {\n resolvedStyle = colorScheme === 'light' ? 'dark' : 'light';\n } else if (style === 'inverted') {\n resolvedStyle = colorScheme === 'light' ? 'light' : 'dark';\n }\n\n return resolvedStyle === 'light' ? 'light-content' : 'dark-content';\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/11e134bd95e18e99e09844c20937f247.json b/.expo/web/cache/development/babel-loader/11e134bd95e18e99e09844c20937f247.json new file mode 100644 index 0000000000000000000000000000000000000000..03df316bd4542bbdca8c08f2bfe8bf947055cf6c --- /dev/null +++ b/.expo/web/cache/development/babel-loader/11e134bd95e18e99e09844c20937f247.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nvar UnhandledActionContext = React.createContext(undefined);\nexport default UnhandledActionContext;","map":{"version":3,"sources":["UnhandledActionContext.tsx"],"names":["UnhandledActionContext","React"],"mappings":"AACA,OAAO,KAAP,KAAA,MAAA,OAAA;AAEA,IAAMA,sBAAsB,GAAGC,KAAK,CAALA,aAAAA,CAA/B,SAA+BA,CAA/B;AAIA,eAAA,sBAAA","sourcesContent":["import type { NavigationAction } from '@react-navigation/routers';\nimport * as React from 'react';\n\nconst UnhandledActionContext = React.createContext<\n ((action: NavigationAction) => void) | undefined\n>(undefined);\n\nexport default UnhandledActionContext;\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/11e746fab400871da41962ed9390a11e.json b/.expo/web/cache/development/babel-loader/11e746fab400871da41962ed9390a11e.json new file mode 100644 index 0000000000000000000000000000000000000000..bbba5da2214cfe93a7c67eea4769c1f71f86df6b --- /dev/null +++ b/.expo/web/cache/development/babel-loader/11e746fab400871da41962ed9390a11e.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nimport NavigationBuilderContext from \"./NavigationBuilderContext\";\nimport NavigationStateContext from \"./NavigationStateContext\";\nexport default function useOptionsGetters(_ref) {\n var key = _ref.key,\n options = _ref.options,\n navigation = _ref.navigation;\n var optionsRef = React.useRef(options);\n var optionsGettersFromChildRef = React.useRef({});\n\n var _React$useContext = React.useContext(NavigationBuilderContext),\n onOptionsChange = _React$useContext.onOptionsChange;\n\n var _React$useContext2 = React.useContext(NavigationStateContext),\n parentAddOptionsGetter = _React$useContext2.addOptionsGetter;\n\n var optionsChangeListener = React.useCallback(function () {\n var _navigation$isFocused;\n\n var isFocused = (_navigation$isFocused = navigation === null || navigation === void 0 ? void 0 : navigation.isFocused()) !== null && _navigation$isFocused !== void 0 ? _navigation$isFocused : true;\n var hasChildren = Object.keys(optionsGettersFromChildRef.current).length;\n\n if (isFocused && !hasChildren) {\n var _optionsRef$current;\n\n onOptionsChange((_optionsRef$current = optionsRef.current) !== null && _optionsRef$current !== void 0 ? _optionsRef$current : {});\n }\n }, [navigation, onOptionsChange]);\n React.useEffect(function () {\n optionsRef.current = options;\n optionsChangeListener();\n return navigation === null || navigation === void 0 ? void 0 : navigation.addListener('focus', optionsChangeListener);\n }, [navigation, options, optionsChangeListener]);\n var getOptionsFromListener = React.useCallback(function () {\n for (var _key in optionsGettersFromChildRef.current) {\n if (optionsGettersFromChildRef.current.hasOwnProperty(_key)) {\n var _optionsGettersFromCh, _optionsGettersFromCh2;\n\n var result = (_optionsGettersFromCh = (_optionsGettersFromCh2 = optionsGettersFromChildRef.current)[_key]) === null || _optionsGettersFromCh === void 0 ? void 0 : _optionsGettersFromCh.call(_optionsGettersFromCh2);\n\n if (result !== null) {\n return result;\n }\n }\n }\n\n return null;\n }, []);\n var getCurrentOptions = React.useCallback(function () {\n var _navigation$isFocused2;\n\n var isFocused = (_navigation$isFocused2 = navigation === null || navigation === void 0 ? void 0 : navigation.isFocused()) !== null && _navigation$isFocused2 !== void 0 ? _navigation$isFocused2 : true;\n\n if (!isFocused) {\n return null;\n }\n\n var optionsFromListener = getOptionsFromListener();\n\n if (optionsFromListener !== null) {\n return optionsFromListener;\n }\n\n return optionsRef.current;\n }, [navigation, getOptionsFromListener]);\n React.useEffect(function () {\n return parentAddOptionsGetter === null || parentAddOptionsGetter === void 0 ? void 0 : parentAddOptionsGetter(key, getCurrentOptions);\n }, [getCurrentOptions, parentAddOptionsGetter, key]);\n var addOptionsGetter = React.useCallback(function (key, getter) {\n optionsGettersFromChildRef.current[key] = getter;\n optionsChangeListener();\n return function () {\n delete optionsGettersFromChildRef.current[key];\n optionsChangeListener();\n };\n }, [optionsChangeListener]);\n return {\n addOptionsGetter: addOptionsGetter,\n getCurrentOptions: getCurrentOptions\n };\n}","map":{"version":3,"sources":["useOptionsGetters.tsx"],"names":["navigation","optionsRef","React","optionsGettersFromChildRef","onOptionsChange","addOptionsGetter","parentAddOptionsGetter","optionsChangeListener","isFocused","hasChildren","Object","getOptionsFromListener","result","getCurrentOptions","optionsFromListener"],"mappings":"AACA,OAAO,KAAP,KAAA,MAAA,OAAA;AAEA,OAAA,wBAAA;AACA,OAAA,sBAAA;AASA,eAAe,SAAA,iBAAA,CAAA,IAAA,EAIH;AAJ8B,MAAA,GAAA,GAI9B,IAJ8B,CAAA,GAAA;AAAA,MAAA,OAAA,GAI9B,IAJ8B,CAAA,OAAA;AAAA,MAGxCA,UAHwC,GAI9B,IAJ8B,CAGxCA,UAHwC;AAKxC,MAAMC,UAAU,GAAGC,KAAK,CAALA,MAAAA,CAAnB,OAAmBA,CAAnB;AACA,MAAMC,0BAA0B,GAAGD,KAAK,CAALA,MAAAA,CAAnC,EAAmCA,CAAnC;;AAIA,0BAA4BA,KAAK,CAALA,UAAAA,CAA5B,wBAA4BA,CAA5B;AAAA,MAAQE,eAAR,qBAAQA,eAAR;;AACA,2BAAqDF,KAAK,CAALA,UAAAA,CAArD,sBAAqDA,CAArD;AAAA,MAA0BI,sBAA1B,sBAAQD,gBAAR;;AAIA,MAAME,qBAAqB,GAAG,KAAK,CAAL,WAAA,CAAkB,YAAM;AAAA,QAAA,qBAAA;;AACpD,QAAMC,SAAS,GAAA,CAAA,qBAAA,GAAGR,UAAH,KAAA,IAAGA,IAAAA,UAAH,KAAA,KAAA,CAAGA,GAAH,KAAA,CAAGA,GAAAA,UAAU,CAAb,SAAGA,EAAH,MAAA,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,GAAA,qBAAA,GAAf,IAAA;AACA,QAAMS,WAAW,GAAGC,MAAM,CAANA,IAAAA,CAAYP,0BAA0B,CAAtCO,OAAAA,EAApB,MAAA;;AAEA,QAAIF,SAAS,IAAI,CAAjB,WAAA,EAA+B;AAAA,UAAA,mBAAA;;AAC7BJ,MAAAA,eAAe,CAAA,CAAA,mBAAA,GAACH,UAAU,CAAX,OAAA,MAAA,IAAA,IAAA,mBAAA,KAAA,KAAA,CAAA,GAAA,mBAAA,GAAfG,EAAe,CAAfA;AACD;AAN2B,GAAA,EAO3B,CAAA,UAAA,EAPH,eAOG,CAP2B,CAA9B;AASAF,EAAAA,KAAK,CAALA,SAAAA,CAAgB,YAAM;AACpBD,IAAAA,UAAU,CAAVA,OAAAA,GAAAA,OAAAA;AACAM,IAAAA,qBAAqB;AAErB,WAAOP,UAAP,KAAA,IAAOA,IAAAA,UAAP,KAAA,KAAA,CAAOA,GAAP,KAAA,CAAOA,GAAAA,UAAU,CAAVA,WAAAA,CAAAA,OAAAA,EAAP,qBAAOA,CAAP;AAJFE,GAAAA,EAKG,CAAA,UAAA,EAAA,OAAA,EALHA,qBAKG,CALHA;AAOA,MAAMS,sBAAsB,GAAG,KAAK,CAAL,WAAA,CAAkB,YAAM;AACrD,SAAK,IAAL,IAAA,IAAgBR,0BAA0B,CAA1C,OAAA,EAAoD;AAClD,UAAIA,0BAA0B,CAA1BA,OAAAA,CAAAA,cAAAA,CAAJ,IAAIA,CAAJ,EAA4D;AAAA,YAAA,qBAAA,EAAA,sBAAA;;AAC1D,YAAMS,MAAM,GAAA,CAAA,qBAAA,GAAG,CAAA,sBAAA,GAAA,0BAA0B,CAA1B,OAAA,EAAH,IAAG,CAAH,MAAA,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAG,qBAAA,CAAA,IAAA,CAD2C,sBAC3C,CAAf;;AAGA,YAAIA,MAAM,KAAV,IAAA,EAAqB;AACnB,iBAAA,MAAA;AACD;AACF;AACF;;AAED,WAAA,IAAA;AAZ6B,GAAA,EAA/B,EAA+B,CAA/B;AAeA,MAAMC,iBAAiB,GAAG,KAAK,CAAL,WAAA,CAAkB,YAAM;AAAA,QAAA,sBAAA;;AAChD,QAAML,SAAS,GAAA,CAAA,sBAAA,GAAGR,UAAH,KAAA,IAAGA,IAAAA,UAAH,KAAA,KAAA,CAAGA,GAAH,KAAA,CAAGA,GAAAA,UAAU,CAAb,SAAGA,EAAH,MAAA,IAAA,IAAA,sBAAA,KAAA,KAAA,CAAA,GAAA,sBAAA,GAAf,IAAA;;AAEA,QAAI,CAAJ,SAAA,EAAgB;AACd,aAAA,IAAA;AACD;;AAED,QAAMc,mBAAmB,GAAGH,sBAA5B,EAAA;;AAEA,QAAIG,mBAAmB,KAAvB,IAAA,EAAkC;AAChC,aAAA,mBAAA;AACD;;AAED,WAAOb,UAAU,CAAjB,OAAA;AAbwB,GAAA,EAcvB,CAAA,UAAA,EAdH,sBAcG,CAduB,CAA1B;AAgBAC,EAAAA,KAAK,CAALA,SAAAA,CAAgB,YAAM;AACpB,WAAOI,sBAAP,KAAA,IAAOA,IAAAA,sBAAP,KAAA,KAAA,CAAOA,GAAP,KAAA,CAAOA,GAAAA,sBAAsB,CAAA,GAAA,EAA7B,iBAA6B,CAA7B;AADFJ,GAAAA,EAEG,CAAA,iBAAA,EAAA,sBAAA,EAFHA,GAEG,CAFHA;AAIA,MAAMG,gBAAgB,GAAG,KAAK,CAAL,WAAA,CACvB,UAAA,GAAA,EAAA,MAAA,EAA0D;AACxDF,IAAAA,0BAA0B,CAA1BA,OAAAA,CAAAA,GAAAA,IAAAA,MAAAA;AACAI,IAAAA,qBAAqB;AAErB,WAAO,YAAM;AAEX,aAAOJ,0BAA0B,CAA1BA,OAAAA,CAAP,GAAOA,CAAP;AACAI,MAAAA,qBAAqB;AAHvB,KAAA;AALqB,GAAA,EAWvB,CAXF,qBAWE,CAXuB,CAAzB;AAcA,SAAO;AACLF,IAAAA,gBADK,EACLA,gBADK;AAELQ,IAAAA,iBAAAA,EAAAA;AAFK,GAAP;AAID","sourcesContent":["import type { ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationBuilderContext from './NavigationBuilderContext';\nimport NavigationStateContext from './NavigationStateContext';\nimport type { NavigationProp } from './types';\n\ntype Options = {\n key?: string;\n navigation?: NavigationProp<ParamListBase>;\n options?: object | undefined;\n};\n\nexport default function useOptionsGetters({\n key,\n options,\n navigation,\n}: Options) {\n const optionsRef = React.useRef<object | undefined>(options);\n const optionsGettersFromChildRef = React.useRef<\n Record<string, () => object | undefined | null>\n >({});\n\n const { onOptionsChange } = React.useContext(NavigationBuilderContext);\n const { addOptionsGetter: parentAddOptionsGetter } = React.useContext(\n NavigationStateContext\n );\n\n const optionsChangeListener = React.useCallback(() => {\n const isFocused = navigation?.isFocused() ?? true;\n const hasChildren = Object.keys(optionsGettersFromChildRef.current).length;\n\n if (isFocused && !hasChildren) {\n onOptionsChange(optionsRef.current ?? {});\n }\n }, [navigation, onOptionsChange]);\n\n React.useEffect(() => {\n optionsRef.current = options;\n optionsChangeListener();\n\n return navigation?.addListener('focus', optionsChangeListener);\n }, [navigation, options, optionsChangeListener]);\n\n const getOptionsFromListener = React.useCallback(() => {\n for (let key in optionsGettersFromChildRef.current) {\n if (optionsGettersFromChildRef.current.hasOwnProperty(key)) {\n const result = optionsGettersFromChildRef.current[key]?.();\n\n // null means unfocused route\n if (result !== null) {\n return result;\n }\n }\n }\n\n return null;\n }, []);\n\n const getCurrentOptions = React.useCallback(() => {\n const isFocused = navigation?.isFocused() ?? true;\n\n if (!isFocused) {\n return null;\n }\n\n const optionsFromListener = getOptionsFromListener();\n\n if (optionsFromListener !== null) {\n return optionsFromListener;\n }\n\n return optionsRef.current;\n }, [navigation, getOptionsFromListener]);\n\n React.useEffect(() => {\n return parentAddOptionsGetter?.(key!, getCurrentOptions);\n }, [getCurrentOptions, parentAddOptionsGetter, key]);\n\n const addOptionsGetter = React.useCallback(\n (key: string, getter: () => object | undefined | null) => {\n optionsGettersFromChildRef.current[key] = getter;\n optionsChangeListener();\n\n return () => {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete optionsGettersFromChildRef.current[key];\n optionsChangeListener();\n };\n },\n [optionsChangeListener]\n );\n\n return {\n addOptionsGetter,\n getCurrentOptions,\n };\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/121c8665c6e2e4c1902bd89ddc9104ee.json b/.expo/web/cache/development/babel-loader/121c8665c6e2e4c1902bd89ddc9104ee.json new file mode 100644 index 0000000000000000000000000000000000000000..3becb247af3f52179f6b00ace386d24688e0fd6a --- /dev/null +++ b/.expo/web/cache/development/babel-loader/121c8665c6e2e4c1902bd89ddc9104ee.json @@ -0,0 +1 @@ +{"ast":null,"code":"export default function MaskedView(_ref) {\n var children = _ref.children;\n return children;\n}","map":{"version":3,"sources":["MaskedView.tsx"],"names":["children"],"mappings":"AAUA,eAAe,SAAA,UAAA,CAAA,IAAA,EAAyC;AAArB,MAAEA,QAAF,GAAqB,IAArB,CAAEA,QAAF;AACjC,SAAA,QAAA;AACD","sourcesContent":["/**\n * Use a stub for MaskedView on all Platforms that don't support it.\n */\nimport type * as React from 'react';\n\ntype Props = {\n maskElement: React.ReactElement;\n children: React.ReactElement;\n};\n\nexport default function MaskedView({ children }: Props) {\n return children;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/125c5e9fa80585fe56189c7550b8f73c.json b/.expo/web/cache/development/babel-loader/125c5e9fa80585fe56189c7550b8f73c.json new file mode 100644 index 0000000000000000000000000000000000000000..5c0883b5c18ee812b9cd9e4021da4581f3f07fc4 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/125c5e9fa80585fe56189c7550b8f73c.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nimport ThemeContext from \"./ThemeContext\";\nexport default function useTheme() {\n var theme = React.useContext(ThemeContext);\n return theme;\n}","map":{"version":3,"sources":["useTheme.tsx"],"names":["theme","React"],"mappings":"AAAA,OAAO,KAAP,KAAA,MAAA,OAAA;AAEA,OAAA,YAAA;AAEA,eAAe,SAAA,QAAA,GAAoB;AACjC,MAAMA,KAAK,GAAGC,KAAK,CAALA,UAAAA,CAAd,YAAcA,CAAd;AAEA,SAAA,KAAA;AACD","sourcesContent":["import * as React from 'react';\n\nimport ThemeContext from './ThemeContext';\n\nexport default function useTheme() {\n const theme = React.useContext(ThemeContext);\n\n return theme;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/131a85200debf02538099eac0ec293b4.json b/.expo/web/cache/development/babel-loader/131a85200debf02538099eac0ec293b4.json new file mode 100644 index 0000000000000000000000000000000000000000..036d0cb5b6603b7b07756169dc5b8df6a73653df --- /dev/null +++ b/.expo/web/cache/development/babel-loader/131a85200debf02538099eac0ec293b4.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nimport createEventHandle from \"../createEventHandle\";\n\nvar supportsPointerEvent = function supportsPointerEvent() {\n return !!(typeof window !== 'undefined' && window.PointerEvent != null);\n};\n\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};\nvar addBlurListener = createEventHandle(BLUR, bubbleOptions);\nvar addFocusListener = createEventHandle(FOCUS, bubbleOptions);\nvar addVisibilityChangeListener = createEventHandle(VISIBILITYCHANGE, captureOptions);\nvar addKeyDownListener = createEventHandle(KEYDOWN, captureOptions);\nvar addPointerDownListener = createEventHandle(POINTERDOWN, captureOptions);\nvar addPointerMoveListener = createEventHandle(POINTERMOVE, captureOptions);\nvar addContextMenuListener = createEventHandle(CONTEXTMENU, captureOptions);\nvar addMouseDownListener = createEventHandle(MOUSEDOWN, captureOptions);\nvar addMouseMoveListener = createEventHandle(MOUSEMOVE, captureOptions);\nvar addMouseUpListener = createEventHandle(MOUSEUP, captureOptions);\nvar addScrollListener = createEventHandle(SCROLL, captureOptions);\nvar addSelectiomChangeListener = createEventHandle(SELECTIONCHANGE, captureOptions);\nvar addTouchCancelListener = createEventHandle(TOUCHCANCEL, captureOptions);\nvar addTouchMoveListener = createEventHandle(TOUCHMOVE, captureOptions);\nvar addTouchStartListener = createEventHandle(TOUCHSTART, captureOptions);\n\nfunction restoreModality() {\n if (previousModality != null || previousActiveModality != null) {\n if (previousModality != null) {\n modality = previousModality;\n previousModality = null;\n }\n\n if (previousActiveModality != null) {\n activeModality = previousActiveModality;\n previousActiveModality = null;\n }\n\n callListeners();\n }\n}\n\nfunction onBlurWindow() {\n previousModality = modality;\n previousActiveModality = activeModality;\n activeModality = KEYBOARD;\n modality = KEYBOARD;\n callListeners();\n isEmulatingMouseEvents = false;\n}\n\nfunction onFocusWindow() {\n restoreModality();\n}\n\nfunction onKeyDown(event) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n\n if (modality !== KEYBOARD) {\n modality = KEYBOARD;\n activeModality = KEYBOARD;\n callListeners();\n }\n}\n\nfunction onVisibilityChange() {\n if (document.visibilityState !== 'hidden') {\n restoreModality();\n }\n}\n\nfunction onPointerish(event) {\n var eventType = event.type;\n\n if (supportsPointerEvent()) {\n if (eventType === POINTERDOWN) {\n if (activeModality !== event.pointerType) {\n modality = event.pointerType;\n activeModality = event.pointerType;\n callListeners();\n }\n\n return;\n }\n\n if (eventType === POINTERMOVE) {\n if (modality !== event.pointerType) {\n modality = event.pointerType;\n callListeners();\n }\n\n return;\n }\n } else {\n if (!isEmulatingMouseEvents) {\n if (eventType === MOUSEDOWN) {\n if (activeModality !== MOUSE) {\n modality = MOUSE;\n activeModality = MOUSE;\n callListeners();\n }\n }\n\n if (eventType === MOUSEMOVE) {\n if (modality !== MOUSE) {\n modality = MOUSE;\n callListeners();\n }\n }\n }\n\n if (eventType === TOUCHSTART) {\n isEmulatingMouseEvents = true;\n\n if (event.touches && event.touches.length > 1) {\n isEmulatingMouseEvents = false;\n }\n\n if (activeModality !== TOUCH) {\n modality = TOUCH;\n activeModality = TOUCH;\n callListeners();\n }\n\n return;\n }\n\n if (eventType === CONTEXTMENU || eventType === MOUSEUP || eventType === SELECTIONCHANGE || eventType === SCROLL || eventType === TOUCHCANCEL || eventType === TOUCHMOVE) {\n isEmulatingMouseEvents = false;\n }\n }\n}\n\nif (canUseDOM) {\n addBlurListener(window, onBlurWindow);\n addFocusListener(window, onFocusWindow);\n addKeyDownListener(document, onKeyDown);\n addPointerDownListener(document, onPointerish);\n addPointerMoveListener(document, onPointerish);\n addVisibilityChangeListener(document, onVisibilityChange);\n addContextMenuListener(document, onPointerish);\n addMouseDownListener(document, onPointerish);\n addMouseMoveListener(document, onPointerish);\n addMouseUpListener(document, onPointerish);\n addTouchCancelListener(document, onPointerish);\n addTouchMoveListener(document, onPointerish);\n addTouchStartListener(document, onPointerish);\n addSelectiomChangeListener(document, onPointerish);\n addScrollListener(document, onPointerish);\n}\n\nfunction callListeners() {\n var value = {\n activeModality: activeModality,\n modality: modality\n };\n listeners.forEach(function (listener) {\n listener(value);\n });\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 function () {\n listeners.delete(listener);\n };\n}\nexport function testOnly_resetActiveModality() {\n isEmulatingMouseEvents = false;\n activeModality = KEYBOARD;\n modality = KEYBOARD;\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/modality/index.js"],"names":["canUseDOM","createEventHandle","supportsPointerEvent","window","PointerEvent","activeModality","modality","previousModality","previousActiveModality","isEmulatingMouseEvents","listeners","Set","KEYBOARD","MOUSE","TOUCH","BLUR","CONTEXTMENU","FOCUS","KEYDOWN","MOUSEDOWN","MOUSEMOVE","MOUSEUP","POINTERDOWN","POINTERMOVE","SCROLL","SELECTIONCHANGE","TOUCHCANCEL","TOUCHMOVE","TOUCHSTART","VISIBILITYCHANGE","bubbleOptions","passive","captureOptions","capture","addBlurListener","addFocusListener","addVisibilityChangeListener","addKeyDownListener","addPointerDownListener","addPointerMoveListener","addContextMenuListener","addMouseDownListener","addMouseMoveListener","addMouseUpListener","addScrollListener","addSelectiomChangeListener","addTouchCancelListener","addTouchMoveListener","addTouchStartListener","restoreModality","callListeners","onBlurWindow","onFocusWindow","onKeyDown","event","metaKey","altKey","ctrlKey","onVisibilityChange","document","visibilityState","onPointerish","eventType","type","pointerType","touches","length","value","forEach","listener","getActiveModality","getModality","addModalityListener","add","delete","testOnly_resetActiveModality"],"mappings":"AAQA,SAASA,SAAT,QAA0B,+BAA1B;AACA,OAAOC,iBAAP;;AAEA,IAAIC,oBAAoB,GAAG,SAASA,oBAAT,GAAgC;AACzD,SAAO,CAAC,EAAE,OAAOC,MAAP,KAAkB,WAAlB,IAAiCA,MAAM,CAACC,YAAP,IAAuB,IAA1D,CAAR;AACD,CAFD;;AAIA,IAAIC,cAAc,GAAG,UAArB;AACA,IAAIC,QAAQ,GAAG,UAAf;AACA,IAAIC,gBAAJ;AACA,IAAIC,sBAAJ;AACA,IAAIC,sBAAsB,GAAG,KAA7B;AACA,IAAIC,SAAS,GAAG,IAAIC,GAAJ,EAAhB;AACA,IAAIC,QAAQ,GAAG,UAAf;AACA,IAAIC,KAAK,GAAG,OAAZ;AACA,IAAIC,KAAK,GAAG,OAAZ;AACA,IAAIC,IAAI,GAAG,MAAX;AACA,IAAIC,WAAW,GAAG,aAAlB;AACA,IAAIC,KAAK,GAAG,OAAZ;AACA,IAAIC,OAAO,GAAG,SAAd;AACA,IAAIC,SAAS,GAAG,WAAhB;AACA,IAAIC,SAAS,GAAG,WAAhB;AACA,IAAIC,OAAO,GAAG,SAAd;AACA,IAAIC,WAAW,GAAG,aAAlB;AACA,IAAIC,WAAW,GAAG,aAAlB;AACA,IAAIC,MAAM,GAAG,QAAb;AACA,IAAIC,eAAe,GAAG,iBAAtB;AACA,IAAIC,WAAW,GAAG,aAAlB;AACA,IAAIC,SAAS,GAAG,WAAhB;AACA,IAAIC,UAAU,GAAG,YAAjB;AACA,IAAIC,gBAAgB,GAAG,kBAAvB;AACA,IAAIC,aAAa,GAAG;AAClBC,EAAAA,OAAO,EAAE;AADS,CAApB;AAGA,IAAIC,cAAc,GAAG;AACnBC,EAAAA,OAAO,EAAE,IADU;AAEnBF,EAAAA,OAAO,EAAE;AAFU,CAArB;AAKA,IAAIG,eAAe,GAAGjC,iBAAiB,CAACc,IAAD,EAAOe,aAAP,CAAvC;AACA,IAAIK,gBAAgB,GAAGlC,iBAAiB,CAACgB,KAAD,EAAQa,aAAR,CAAxC;AAGA,IAAIM,2BAA2B,GAAGnC,iBAAiB,CAAC4B,gBAAD,EAAmBG,cAAnB,CAAnD;AACA,IAAIK,kBAAkB,GAAGpC,iBAAiB,CAACiB,OAAD,EAAUc,cAAV,CAA1C;AACA,IAAIM,sBAAsB,GAAGrC,iBAAiB,CAACqB,WAAD,EAAcU,cAAd,CAA9C;AACA,IAAIO,sBAAsB,GAAGtC,iBAAiB,CAACsB,WAAD,EAAcS,cAAd,CAA9C;AAEA,IAAIQ,sBAAsB,GAAGvC,iBAAiB,CAACe,WAAD,EAAcgB,cAAd,CAA9C;AACA,IAAIS,oBAAoB,GAAGxC,iBAAiB,CAACkB,SAAD,EAAYa,cAAZ,CAA5C;AACA,IAAIU,oBAAoB,GAAGzC,iBAAiB,CAACmB,SAAD,EAAYY,cAAZ,CAA5C;AACA,IAAIW,kBAAkB,GAAG1C,iBAAiB,CAACoB,OAAD,EAAUW,cAAV,CAA1C;AACA,IAAIY,iBAAiB,GAAG3C,iBAAiB,CAACuB,MAAD,EAASQ,cAAT,CAAzC;AACA,IAAIa,0BAA0B,GAAG5C,iBAAiB,CAACwB,eAAD,EAAkBO,cAAlB,CAAlD;AACA,IAAIc,sBAAsB,GAAG7C,iBAAiB,CAACyB,WAAD,EAAcM,cAAd,CAA9C;AACA,IAAIe,oBAAoB,GAAG9C,iBAAiB,CAAC0B,SAAD,EAAYK,cAAZ,CAA5C;AACA,IAAIgB,qBAAqB,GAAG/C,iBAAiB,CAAC2B,UAAD,EAAaI,cAAb,CAA7C;;AAEA,SAASiB,eAAT,GAA2B;AACzB,MAAI1C,gBAAgB,IAAI,IAApB,IAA4BC,sBAAsB,IAAI,IAA1D,EAAgE;AAC9D,QAAID,gBAAgB,IAAI,IAAxB,EAA8B;AAC5BD,MAAAA,QAAQ,GAAGC,gBAAX;AACAA,MAAAA,gBAAgB,GAAG,IAAnB;AACD;;AAED,QAAIC,sBAAsB,IAAI,IAA9B,EAAoC;AAClCH,MAAAA,cAAc,GAAGG,sBAAjB;AACAA,MAAAA,sBAAsB,GAAG,IAAzB;AACD;;AAED0C,IAAAA,aAAa;AACd;AACF;;AAED,SAASC,YAAT,GAAwB;AACtB5C,EAAAA,gBAAgB,GAAGD,QAAnB;AACAE,EAAAA,sBAAsB,GAAGH,cAAzB;AACAA,EAAAA,cAAc,GAAGO,QAAjB;AACAN,EAAAA,QAAQ,GAAGM,QAAX;AACAsC,EAAAA,aAAa;AAEbzC,EAAAA,sBAAsB,GAAG,KAAzB;AACD;;AAED,SAAS2C,aAAT,GAAyB;AACvBH,EAAAA,eAAe;AAChB;;AAED,SAASI,SAAT,CAAmBC,KAAnB,EAA0B;AACxB,MAAIA,KAAK,CAACC,OAAN,IAAiBD,KAAK,CAACE,MAAvB,IAAiCF,KAAK,CAACG,OAA3C,EAAoD;AAClD;AACD;;AAED,MAAInD,QAAQ,KAAKM,QAAjB,EAA2B;AACzBN,IAAAA,QAAQ,GAAGM,QAAX;AACAP,IAAAA,cAAc,GAAGO,QAAjB;AACAsC,IAAAA,aAAa;AACd;AACF;;AAED,SAASQ,kBAAT,GAA8B;AAC5B,MAAIC,QAAQ,CAACC,eAAT,KAA6B,QAAjC,EAA2C;AACzCX,IAAAA,eAAe;AAChB;AACF;;AAED,SAASY,YAAT,CAAsBP,KAAtB,EAA6B;AAC3B,MAAIQ,SAAS,GAAGR,KAAK,CAACS,IAAtB;;AAEA,MAAI7D,oBAAoB,EAAxB,EAA4B;AAC1B,QAAI4D,SAAS,KAAKxC,WAAlB,EAA+B;AAC7B,UAAIjB,cAAc,KAAKiD,KAAK,CAACU,WAA7B,EAA0C;AACxC1D,QAAAA,QAAQ,GAAGgD,KAAK,CAACU,WAAjB;AACA3D,QAAAA,cAAc,GAAGiD,KAAK,CAACU,WAAvB;AACAd,QAAAA,aAAa;AACd;;AAED;AACD;;AAED,QAAIY,SAAS,KAAKvC,WAAlB,EAA+B;AAC7B,UAAIjB,QAAQ,KAAKgD,KAAK,CAACU,WAAvB,EAAoC;AAClC1D,QAAAA,QAAQ,GAAGgD,KAAK,CAACU,WAAjB;AACAd,QAAAA,aAAa;AACd;;AAED;AACD;AACF,GAnBD,MAoBK;AACD,QAAI,CAACzC,sBAAL,EAA6B;AAC3B,UAAIqD,SAAS,KAAK3C,SAAlB,EAA6B;AAC3B,YAAId,cAAc,KAAKQ,KAAvB,EAA8B;AAC5BP,UAAAA,QAAQ,GAAGO,KAAX;AACAR,UAAAA,cAAc,GAAGQ,KAAjB;AACAqC,UAAAA,aAAa;AACd;AACF;;AAED,UAAIY,SAAS,KAAK1C,SAAlB,EAA6B;AAC3B,YAAId,QAAQ,KAAKO,KAAjB,EAAwB;AACtBP,UAAAA,QAAQ,GAAGO,KAAX;AACAqC,UAAAA,aAAa;AACd;AACF;AACF;;AAGD,QAAIY,SAAS,KAAKlC,UAAlB,EAA8B;AAC5BnB,MAAAA,sBAAsB,GAAG,IAAzB;;AAEA,UAAI6C,KAAK,CAACW,OAAN,IAAiBX,KAAK,CAACW,OAAN,CAAcC,MAAd,GAAuB,CAA5C,EAA+C;AAC7CzD,QAAAA,sBAAsB,GAAG,KAAzB;AACD;;AAED,UAAIJ,cAAc,KAAKS,KAAvB,EAA8B;AAC5BR,QAAAA,QAAQ,GAAGQ,KAAX;AACAT,QAAAA,cAAc,GAAGS,KAAjB;AACAoC,QAAAA,aAAa;AACd;;AAED;AACD;;AAID,QAAIY,SAAS,KAAK9C,WAAd,IAA6B8C,SAAS,KAAKzC,OAA3C,IAAsDyC,SAAS,KAAKrC,eAApE,IAAuFqC,SAAS,KAAKtC,MAArG,IAA+GsC,SAAS,KAAKpC,WAA7H,IAA4IoC,SAAS,KAAKnC,SAA9J,EAAyK;AACvKlB,MAAAA,sBAAsB,GAAG,KAAzB;AACD;AACF;AACJ;;AAED,IAAIT,SAAJ,EAAe;AACbkC,EAAAA,eAAe,CAAC/B,MAAD,EAASgD,YAAT,CAAf;AACAhB,EAAAA,gBAAgB,CAAChC,MAAD,EAASiD,aAAT,CAAhB;AACAf,EAAAA,kBAAkB,CAACsB,QAAD,EAAWN,SAAX,CAAlB;AACAf,EAAAA,sBAAsB,CAACqB,QAAD,EAAWE,YAAX,CAAtB;AACAtB,EAAAA,sBAAsB,CAACoB,QAAD,EAAWE,YAAX,CAAtB;AACAzB,EAAAA,2BAA2B,CAACuB,QAAD,EAAWD,kBAAX,CAA3B;AAEAlB,EAAAA,sBAAsB,CAACmB,QAAD,EAAWE,YAAX,CAAtB;AACApB,EAAAA,oBAAoB,CAACkB,QAAD,EAAWE,YAAX,CAApB;AACAnB,EAAAA,oBAAoB,CAACiB,QAAD,EAAWE,YAAX,CAApB;AACAlB,EAAAA,kBAAkB,CAACgB,QAAD,EAAWE,YAAX,CAAlB;AACAf,EAAAA,sBAAsB,CAACa,QAAD,EAAWE,YAAX,CAAtB;AACAd,EAAAA,oBAAoB,CAACY,QAAD,EAAWE,YAAX,CAApB;AACAb,EAAAA,qBAAqB,CAACW,QAAD,EAAWE,YAAX,CAArB;AACAhB,EAAAA,0BAA0B,CAACc,QAAD,EAAWE,YAAX,CAA1B;AACAjB,EAAAA,iBAAiB,CAACe,QAAD,EAAWE,YAAX,CAAjB;AACD;;AAED,SAASX,aAAT,GAAyB;AACvB,MAAIiB,KAAK,GAAG;AACV9D,IAAAA,cAAc,EAAEA,cADN;AAEVC,IAAAA,QAAQ,EAAEA;AAFA,GAAZ;AAIAI,EAAAA,SAAS,CAAC0D,OAAV,CAAkB,UAAUC,QAAV,EAAoB;AACpCA,IAAAA,QAAQ,CAACF,KAAD,CAAR;AACD,GAFD;AAGD;;AAED,OAAO,SAASG,iBAAT,GAA6B;AAClC,SAAOjE,cAAP;AACD;AACD,OAAO,SAASkE,WAAT,GAAuB;AAC5B,SAAOjE,QAAP;AACD;AACD,OAAO,SAASkE,mBAAT,CAA6BH,QAA7B,EAAuC;AAC5C3D,EAAAA,SAAS,CAAC+D,GAAV,CAAcJ,QAAd;AACA,SAAO,YAAY;AACjB3D,IAAAA,SAAS,CAACgE,MAAV,CAAiBL,QAAjB;AACD,GAFD;AAGD;AACD,OAAO,SAASM,4BAAT,GAAwC;AAC7ClE,EAAAA,sBAAsB,GAAG,KAAzB;AACAJ,EAAAA,cAAc,GAAGO,QAAjB;AACAN,EAAAA,QAAQ,GAAGM,QAAX;AACD","sourcesContent":["/**\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 'fbjs/lib/ExecutionEnvironment';\nimport createEventHandle from '../createEventHandle';\n\nvar supportsPointerEvent = function supportsPointerEvent() {\n return !!(typeof window !== 'undefined' && window.PointerEvent != null);\n};\n\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}; // Window events\n\nvar addBlurListener = createEventHandle(BLUR, bubbleOptions);\nvar addFocusListener = createEventHandle(FOCUS, bubbleOptions); // Must be capture phase because 'stopPropagation' might prevent these\n// events bubbling to the document.\n\nvar addVisibilityChangeListener = createEventHandle(VISIBILITYCHANGE, captureOptions);\nvar addKeyDownListener = createEventHandle(KEYDOWN, captureOptions);\nvar addPointerDownListener = createEventHandle(POINTERDOWN, captureOptions);\nvar addPointerMoveListener = createEventHandle(POINTERMOVE, captureOptions); // Fallback events\n\nvar addContextMenuListener = createEventHandle(CONTEXTMENU, captureOptions);\nvar addMouseDownListener = createEventHandle(MOUSEDOWN, captureOptions);\nvar addMouseMoveListener = createEventHandle(MOUSEMOVE, captureOptions);\nvar addMouseUpListener = createEventHandle(MOUSEUP, captureOptions);\nvar addScrollListener = createEventHandle(SCROLL, captureOptions);\nvar addSelectiomChangeListener = createEventHandle(SELECTIONCHANGE, captureOptions);\nvar addTouchCancelListener = createEventHandle(TOUCHCANCEL, captureOptions);\nvar addTouchMoveListener = createEventHandle(TOUCHMOVE, captureOptions);\nvar addTouchStartListener = createEventHandle(TOUCHSTART, captureOptions);\n\nfunction restoreModality() {\n if (previousModality != null || previousActiveModality != null) {\n if (previousModality != null) {\n modality = previousModality;\n previousModality = null;\n }\n\n if (previousActiveModality != null) {\n activeModality = previousActiveModality;\n previousActiveModality = null;\n }\n\n callListeners();\n }\n}\n\nfunction onBlurWindow() {\n previousModality = modality;\n previousActiveModality = activeModality;\n activeModality = KEYBOARD;\n modality = KEYBOARD;\n callListeners(); // for fallback events\n\n isEmulatingMouseEvents = false;\n}\n\nfunction onFocusWindow() {\n restoreModality();\n}\n\nfunction onKeyDown(event) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n\n if (modality !== KEYBOARD) {\n modality = KEYBOARD;\n activeModality = KEYBOARD;\n callListeners();\n }\n}\n\nfunction onVisibilityChange() {\n if (document.visibilityState !== 'hidden') {\n restoreModality();\n }\n}\n\nfunction onPointerish(event) {\n var eventType = event.type;\n\n if (supportsPointerEvent()) {\n if (eventType === POINTERDOWN) {\n if (activeModality !== event.pointerType) {\n modality = event.pointerType;\n activeModality = event.pointerType;\n callListeners();\n }\n\n return;\n }\n\n if (eventType === POINTERMOVE) {\n if (modality !== event.pointerType) {\n modality = event.pointerType;\n callListeners();\n }\n\n return;\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\n if (eventType === MOUSEMOVE) {\n if (modality !== MOUSE) {\n modality = MOUSE;\n callListeners();\n }\n }\n } // Flag when browser may produce emulated events\n\n\n if (eventType === TOUCHSTART) {\n isEmulatingMouseEvents = true;\n\n if (event.touches && event.touches.length > 1) {\n isEmulatingMouseEvents = false;\n }\n\n if (activeModality !== TOUCH) {\n modality = TOUCH;\n activeModality = TOUCH;\n callListeners();\n }\n\n return;\n } // Remove flag after emulated events are finished or cancelled, and if an\n // event occurs that cuts short a touch event sequence.\n\n\n if (eventType === CONTEXTMENU || eventType === MOUSEUP || eventType === SELECTIONCHANGE || eventType === SCROLL || eventType === TOUCHCANCEL || eventType === TOUCHMOVE) {\n isEmulatingMouseEvents = false;\n }\n }\n}\n\nif (canUseDOM) {\n addBlurListener(window, onBlurWindow);\n addFocusListener(window, onFocusWindow);\n addKeyDownListener(document, onKeyDown);\n addPointerDownListener(document, onPointerish);\n addPointerMoveListener(document, onPointerish);\n addVisibilityChangeListener(document, onVisibilityChange); // fallbacks\n\n addContextMenuListener(document, onPointerish);\n addMouseDownListener(document, onPointerish);\n addMouseMoveListener(document, onPointerish);\n addMouseUpListener(document, onPointerish);\n addTouchCancelListener(document, onPointerish);\n addTouchMoveListener(document, onPointerish);\n addTouchStartListener(document, onPointerish);\n addSelectiomChangeListener(document, onPointerish);\n addScrollListener(document, onPointerish);\n}\n\nfunction callListeners() {\n var value = {\n activeModality: activeModality,\n modality: modality\n };\n listeners.forEach(function (listener) {\n listener(value);\n });\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 function () {\n listeners.delete(listener);\n };\n}\nexport function testOnly_resetActiveModality() {\n isEmulatingMouseEvents = false;\n activeModality = KEYBOARD;\n modality = KEYBOARD;\n}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/152c6804124b63243dc9cc36afc54d37.json b/.expo/web/cache/development/babel-loader/152c6804124b63243dc9cc36afc54d37.json new file mode 100644 index 0000000000000000000000000000000000000000..d2c41dbf35c8caa7a1ca6a6f5a1ae01d7ae50b7d --- /dev/null +++ b/.expo/web/cache/development/babel-loader/152c6804124b63243dc9cc36afc54d37.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nexport default function useChildListeners() {\n var _React$useRef = React.useRef({\n action: [],\n focus: []\n }),\n listeners = _React$useRef.current;\n\n var addListener = React.useCallback(function (type, listener) {\n listeners[type].push(listener);\n return function () {\n var index = listeners[type].indexOf(listener);\n listeners[type].splice(index, 1);\n };\n }, [listeners]);\n return {\n listeners: listeners,\n addListener: addListener\n };\n}","map":{"version":3,"sources":["useChildListeners.tsx"],"names":["current","listeners","action","focus","addListener","index"],"mappings":"AAAA,OAAO,KAAP,KAAA,MAAA,OAAA;AAOA,eAAe,SAAA,iBAAA,GAA6B;AAC1C,sBAA+B,KAAK,CAAL,MAAA,CAE5B;AACDE,IAAAA,MAAM,EADL,EAAA;AAEDC,IAAAA,KAAK,EAAE;AAFN,GAF4B,CAA/B;AAAA,MAAiBF,SAAjB,iBAAQD,OAAR;;AAOA,MAAMI,WAAW,GAAG,KAAK,CAAL,WAAA,CAClB,UAAA,IAAA,EAAA,QAAA,EAAoE;AAElEH,IAAAA,SAAS,CAATA,IAAS,CAATA,CAAAA,IAAAA,CAAAA,QAAAA;AAEA,WAAO,YAAM;AAEX,UAAMI,KAAK,GAAGJ,SAAS,CAATA,IAAS,CAATA,CAAAA,OAAAA,CAAd,QAAcA,CAAd;AAEAA,MAAAA,SAAS,CAATA,IAAS,CAATA,CAAAA,MAAAA,CAAAA,KAAAA,EAAAA,CAAAA;AAJF,KAAA;AALgB,GAAA,EAYlB,CAZF,SAYE,CAZkB,CAApB;AAeA,SAAO;AACLA,IAAAA,SADK,EACLA,SADK;AAELG,IAAAA,WAAAA,EAAAA;AAFK,GAAP;AAID","sourcesContent":["import * as React from 'react';\n\nimport type { ListenerMap } from './NavigationBuilderContext';\n\n/**\n * Hook which lets child navigators add action listeners.\n */\nexport default function useChildListeners() {\n const { current: listeners } = React.useRef<{\n [K in keyof ListenerMap]: ListenerMap[K][];\n }>({\n action: [],\n focus: [],\n });\n\n const addListener = React.useCallback(\n <T extends keyof ListenerMap>(type: T, listener: ListenerMap[T]) => {\n // @ts-expect-error: listener should be correct type according to `type`\n listeners[type].push(listener);\n\n return () => {\n // @ts-expect-error: listener should be correct type according to `type`\n const index = listeners[type].indexOf(listener);\n\n listeners[type].splice(index, 1);\n };\n },\n [listeners]\n );\n\n return {\n listeners,\n addListener,\n };\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/16a40b2abf76d9be08482addb72439a7.json b/.expo/web/cache/development/babel-loader/16a40b2abf76d9be08482addb72439a7.json new file mode 100644 index 0000000000000000000000000000000000000000..fee99d6171bc8f809a637861548fb6283358d640 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/16a40b2abf76d9be08482addb72439a7.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nimport View from \"react-native-web/dist/exports/View\";\nvar CSSTransitions = {\n WebkitTransition: 'webkitTransitionEnd',\n Transition: 'transitionEnd',\n MozTransition: 'transitionend',\n MSTransition: 'msTransitionEnd',\n OTransition: 'oTransitionEnd'\n};\nexport default function NativeSafeAreaView(_ref) {\n var children = _ref.children,\n style = _ref.style,\n onInsetsChange = _ref.onInsetsChange;\n React.useEffect(function () {\n if (typeof document === 'undefined') {\n return;\n }\n\n var element = createContextElement();\n document.body.appendChild(element);\n\n var onEnd = function onEnd() {\n var _window$getComputedSt = window.getComputedStyle(element),\n paddingTop = _window$getComputedSt.paddingTop,\n paddingBottom = _window$getComputedSt.paddingBottom,\n paddingLeft = _window$getComputedSt.paddingLeft,\n paddingRight = _window$getComputedSt.paddingRight;\n\n var insets = {\n top: paddingTop ? parseInt(paddingTop, 10) : 0,\n bottom: paddingBottom ? parseInt(paddingBottom, 10) : 0,\n left: paddingLeft ? parseInt(paddingLeft, 10) : 0,\n right: paddingRight ? parseInt(paddingRight, 10) : 0\n };\n var frame = {\n x: 0,\n y: 0,\n width: document.documentElement.offsetWidth,\n height: document.documentElement.offsetHeight\n };\n onInsetsChange({\n nativeEvent: {\n insets: insets,\n frame: frame\n }\n });\n };\n\n element.addEventListener(getSupportedTransitionEvent(), onEnd);\n onEnd();\n return function () {\n document.body.removeChild(element);\n element.removeEventListener(getSupportedTransitionEvent(), onEnd);\n };\n }, [onInsetsChange]);\n return React.createElement(View, {\n style: style\n }, children);\n}\nvar _supportedTransitionEvent = null;\n\nfunction getSupportedTransitionEvent() {\n if (_supportedTransitionEvent !== null) {\n return _supportedTransitionEvent;\n }\n\n var element = document.createElement('invalidtype');\n _supportedTransitionEvent = CSSTransitions.Transition;\n\n for (var key in CSSTransitions) {\n if (element.style[key] !== undefined) {\n _supportedTransitionEvent = CSSTransitions[key];\n break;\n }\n }\n\n return _supportedTransitionEvent;\n}\n\nvar _supportedEnv = null;\n\nfunction getSupportedEnv() {\n if (_supportedEnv !== null) {\n return _supportedEnv;\n }\n\n var _window = window,\n CSS = _window.CSS;\n\n if (CSS && CSS.supports && CSS.supports('top: constant(safe-area-inset-top)')) {\n _supportedEnv = 'constant';\n } else {\n _supportedEnv = 'env';\n }\n\n return _supportedEnv;\n}\n\nfunction getInset(side) {\n return getSupportedEnv() + \"(safe-area-inset-\" + side + \")\";\n}\n\nfunction createContextElement() {\n var element = document.createElement('div');\n var style = element.style;\n style.position = 'fixed';\n style.left = '0';\n style.top = '0';\n style.width = '0';\n style.height = '0';\n style.zIndex = '-1';\n style.overflow = 'hidden';\n style.visibility = 'hidden';\n style.transitionDuration = '0.05s';\n style.transitionProperty = 'padding';\n style.transitionDelay = '0s';\n style.paddingTop = getInset('top');\n style.paddingBottom = getInset('bottom');\n style.paddingLeft = getInset('left');\n style.paddingRight = getInset('right');\n return element;\n}","map":{"version":3,"sources":["NativeSafeAreaProvider.tsx"],"names":["CSSTransitions","WebkitTransition","Transition","MozTransition","MSTransition","OTransition","onInsetsChange","React","element","createContextElement","document","onEnd","paddingRight","window","insets","top","paddingTop","parseInt","bottom","paddingBottom","left","paddingLeft","right","frame","x","y","width","height","offsetHeight","nativeEvent","getSupportedTransitionEvent","style","_supportedTransitionEvent","_supportedEnv","CSS","getSupportedEnv","getInset"],"mappings":"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","sourcesContent":["/* eslint-env browser */\n\nimport * as React from 'react';\nimport { View } from 'react-native';\nimport { NativeSafeAreaProviderProps } from './SafeArea.types';\n\n/**\n * TODO:\n * Currently insets and frame are based on the window and are not\n * relative to the provider view. This is inconsistent with iOS and Android.\n * However in most cases if the provider view covers the screen this is not\n * an issue.\n */\n\nconst CSSTransitions: Record<string, string> = {\n WebkitTransition: 'webkitTransitionEnd',\n Transition: 'transitionEnd',\n MozTransition: 'transitionend',\n MSTransition: 'msTransitionEnd',\n OTransition: 'oTransitionEnd',\n};\n\nexport default function NativeSafeAreaView({\n children,\n style,\n onInsetsChange,\n}: NativeSafeAreaProviderProps) {\n React.useEffect(() => {\n // Skip for SSR.\n if (typeof document === 'undefined') {\n return;\n }\n\n const element = createContextElement();\n document.body.appendChild(element);\n const onEnd = () => {\n const { paddingTop, paddingBottom, paddingLeft, paddingRight } =\n window.getComputedStyle(element);\n\n const insets = {\n top: paddingTop ? parseInt(paddingTop, 10) : 0,\n bottom: paddingBottom ? parseInt(paddingBottom, 10) : 0,\n left: paddingLeft ? parseInt(paddingLeft, 10) : 0,\n right: paddingRight ? parseInt(paddingRight, 10) : 0,\n };\n const frame = {\n x: 0,\n y: 0,\n width: document.documentElement.offsetWidth,\n height: document.documentElement.offsetHeight,\n };\n // @ts-ignore: missing properties\n onInsetsChange({ nativeEvent: { insets, frame } });\n };\n element.addEventListener(getSupportedTransitionEvent(), onEnd);\n onEnd();\n return () => {\n document.body.removeChild(element);\n element.removeEventListener(getSupportedTransitionEvent(), onEnd);\n };\n }, [onInsetsChange]);\n\n return <View style={style}>{children}</View>;\n}\n\nlet _supportedTransitionEvent: string | null = null;\nfunction getSupportedTransitionEvent(): string {\n if (_supportedTransitionEvent !== null) {\n return _supportedTransitionEvent;\n }\n const element = document.createElement('invalidtype');\n\n _supportedTransitionEvent = CSSTransitions.Transition;\n for (const key in CSSTransitions) {\n if (element.style[key as keyof CSSStyleDeclaration] !== undefined) {\n _supportedTransitionEvent = CSSTransitions[key];\n break;\n }\n }\n return _supportedTransitionEvent;\n}\n\ntype CssEnv = 'constant' | 'env';\n\nlet _supportedEnv: CssEnv | null = null;\nfunction getSupportedEnv(): CssEnv {\n if (_supportedEnv !== null) {\n return _supportedEnv;\n }\n const { CSS } = window;\n if (\n CSS &&\n CSS.supports &&\n CSS.supports('top: constant(safe-area-inset-top)')\n ) {\n _supportedEnv = 'constant';\n } else {\n _supportedEnv = 'env';\n }\n return _supportedEnv;\n}\n\nfunction getInset(side: string): string {\n return `${getSupportedEnv()}(safe-area-inset-${side})`;\n}\n\nfunction createContextElement(): HTMLElement {\n const element = document.createElement('div');\n const { style } = element;\n style.position = 'fixed';\n style.left = '0';\n style.top = '0';\n style.width = '0';\n style.height = '0';\n style.zIndex = '-1';\n style.overflow = 'hidden';\n style.visibility = 'hidden';\n // Bacon: Anything faster than this and the callback will be invoked too early with the wrong insets\n style.transitionDuration = '0.05s';\n style.transitionProperty = 'padding';\n style.transitionDelay = '0s';\n style.paddingTop = getInset('top');\n style.paddingBottom = getInset('bottom');\n style.paddingLeft = getInset('left');\n style.paddingRight = getInset('right');\n return element;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/16a64d63da25fcc406d435d27829fb44.json b/.expo/web/cache/development/babel-loader/16a64d63da25fcc406d435d27829fb44.json new file mode 100644 index 0000000000000000000000000000000000000000..e754ab63d1c307c570f345b6da3e19d14ff1bdac --- /dev/null +++ b/.expo/web/cache/development/babel-loader/16a64d63da25fcc406d435d27829fb44.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATAS = null;\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n DATA = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(getFirestore(), \"Users\");\n var big = [];\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var itemData = {\n name: doc.data().Name,\n email: doc.data().Email,\n image: doc.data().Image,\n id: doc.id\n };\n big.push(itemData);\n DATA.push(big);\n });\n });\n }, []);\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n var big = [];\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n big.push(itemData);\n }\n });\n setUsers(big);\n });\n }\n\n if (route.params != null) {\n setUsers(null);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n }), _jsx(Text, {\n style: styles.beschreibung,\n children: item.name\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsxs(View, {\n children: [_jsx(Text, {\n children: \"No Data Found\"\n }), _jsx(Button, {\n title: \"Load Data\",\n onPress: listenOnChange\n })]\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" \"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return item + index;\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n },\n item: {\n width: 250,\n paddingTop: 20,\n paddingBottom: 20,\n paddingRight: 20,\n marginVertical: 8,\n marginHorizontal: 25,\n borderBottomColor: '#D9D9D9',\n borderBottomWidth: 2,\n flexDirection: \"row\"\n },\n beschreibung: {\n marginLeft: 10,\n width: 180,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 16,\n lineHeight: 23,\n color: \"#5E6A79\"\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATAS","UserLists","navigation","route","DATA","setUsers","colRef","big","querySnapshot","forEach","itemData","name","data","Name","email","Email","image","Image","id","push","listenOnChange","snapchot","docChanges","change","type","message","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","beschreibung","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","Alert","alert","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height","paddingTop","paddingBottom","paddingRight","marginVertical","borderBottomColor","borderBottomWidth","flexDirection","marginLeft","fontStyle","fontWeight","fontSize","lineHeight"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATAS = null;\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [DATA, setUsers] = useState(null);\r\n\r\n//listenOnChange();\r\n//useeffect();\r\n\r\n/*useEffect(()=>{\r\nconst colRef = collection(getFirestore(),\"Users\");\r\nconst big= [];\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n //DATA.push(itemData);\r\n setUsers(big);\r\n //Alert.alert('count data',DATA.name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])*/\r\n\r\n\r\n\r\n\r\n//test\r\nuseEffect(()=>{\r\n const colRef = collection(getFirestore(),\"Users\");\r\n const big= [];\r\n onSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n //DATA.push(itemData);\r\n DATA.push(big);\r\n //Alert.alert('count data',DATA.name);\r\n });\r\n \r\n //setUsers(users)\r\n });\r\n //Alert.alert(users.Name.toString);\r\n \r\n },[])\r\n\r\n\r\n \r\n\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n const big = [];\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n //DATA.push(itemData);\r\n big.push(itemData);\r\n \r\n //Alert.alert('listen on change',message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n }); setUsers(big);\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\nsetUsers(null);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n \r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n <Text style={styles.beschreibung}>\r\n {item.name} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){ //DATAS zu DATA ändern ___-------\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <View>\r\n <Text>\r\n No Data Found \r\n </Text>\r\n <Button title='Load Data' onPress={listenOnChange}/>\r\n </View>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> </Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA} //DATAS zu DATA ändern ___-------\r\n renderItem={renderItem}\r\n /*keyExtractor={ (item, index) => index.toString()}//item => item.id*/\r\n keyExtractor={(item, index) => item + index}\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n item: {\r\n width: 250,\r\n paddingTop: 20,\r\n paddingBottom: 20,\r\n paddingRight: 20,\r\n marginVertical: 8,\r\n marginHorizontal: 25,\r\n borderBottomColor: '#D9D9D9',\r\n borderBottomWidth: 2,\r\n flexDirection: \"row\",\r\n },\r\n beschreibung: {\r\n marginLeft:10,\r\n width: 180,\r\n\r\n // font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 16,\r\n lineHeight: 23,\r\n color: \"#5E6A79\",\r\n },\r\n\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/16b42da706aa97ed53ee7ba7c56da80f.json b/.expo/web/cache/development/babel-loader/16b42da706aa97ed53ee7ba7c56da80f.json new file mode 100644 index 0000000000000000000000000000000000000000..e6a6bdc6f222a9b4d3f0fb3bfbc83d51898b76e6 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/16b42da706aa97ed53ee7ba7c56da80f.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport AnimatedInterpolation from \"./AnimatedInterpolation\";\nimport AnimatedNode from \"./AnimatedNode\";\nimport AnimatedWithChildren from \"./AnimatedWithChildren\";\n\nvar AnimatedDiffClamp = function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedDiffClamp, _AnimatedWithChildren);\n\n function AnimatedDiffClamp(a, min, max) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n _this._a = a;\n _this._min = min;\n _this._max = max;\n _this._value = _this._lastValue = _this._a.__getValue();\n return _this;\n }\n\n var _proto = AnimatedDiffClamp.prototype;\n\n _proto.__makeNative = function __makeNative() {\n this._a.__makeNative();\n\n _AnimatedWithChildren.prototype.__makeNative.call(this);\n };\n\n _proto.interpolate = function interpolate(config) {\n return new AnimatedInterpolation(this, config);\n };\n\n _proto.__getValue = function __getValue() {\n var value = this._a.__getValue();\n\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\n _proto.__attach = function __attach() {\n this._a.__addChild(this);\n };\n\n _proto.__detach = function __detach() {\n this._a.__removeChild(this);\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n return {\n type: 'diffclamp',\n input: this._a.__getNativeTag(),\n min: this._min,\n max: this._max\n };\n };\n\n return AnimatedDiffClamp;\n}(AnimatedWithChildren);\n\nexport default AnimatedDiffClamp;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedDiffClamp.js"],"names":["_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","AnimatedInterpolation","AnimatedNode","AnimatedWithChildren","AnimatedDiffClamp","_AnimatedWithChildren","a","min","max","_this","call","_a","_min","_max","_value","_lastValue","__getValue","_proto","__makeNative","interpolate","config","value","diff","Math","__attach","__addChild","__detach","__removeChild","__getNativeConfig","type","input","__getNativeTag"],"mappings":"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","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedWithChildren from './AnimatedWithChildren';\n\nvar AnimatedDiffClamp = /*#__PURE__*/function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedDiffClamp, _AnimatedWithChildren);\n\n function AnimatedDiffClamp(a, min, max) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n _this._a = a;\n _this._min = min;\n _this._max = max;\n _this._value = _this._lastValue = _this._a.__getValue();\n return _this;\n }\n\n var _proto = AnimatedDiffClamp.prototype;\n\n _proto.__makeNative = function __makeNative() {\n this._a.__makeNative();\n\n _AnimatedWithChildren.prototype.__makeNative.call(this);\n };\n\n _proto.interpolate = function interpolate(config) {\n return new AnimatedInterpolation(this, config);\n };\n\n _proto.__getValue = function __getValue() {\n var value = this._a.__getValue();\n\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\n _proto.__attach = function __attach() {\n this._a.__addChild(this);\n };\n\n _proto.__detach = function __detach() {\n this._a.__removeChild(this);\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n return {\n type: 'diffclamp',\n input: this._a.__getNativeTag(),\n min: this._min,\n max: this._max\n };\n };\n\n return AnimatedDiffClamp;\n}(AnimatedWithChildren);\n\nexport default AnimatedDiffClamp;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/16f021304a46df8357d6063fedff2ffa.json b/.expo/web/cache/development/babel-loader/16f021304a46df8357d6063fedff2ffa.json new file mode 100644 index 0000000000000000000000000000000000000000..6d13c2da2a52b7f67ee921190dfb49143b80a374 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/16f021304a46df8357d6063fedff2ffa.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _excluded = [\"defaultStatus\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport { nanoid } from 'nanoid/non-secure';\nimport TabRouter, { TabActions } from \"./TabRouter\";\nexport var DrawerActions = _objectSpread(_objectSpread({}, TabActions), {}, {\n openDrawer: function openDrawer() {\n return {\n type: 'OPEN_DRAWER'\n };\n },\n closeDrawer: function closeDrawer() {\n return {\n type: 'CLOSE_DRAWER'\n };\n },\n toggleDrawer: function toggleDrawer() {\n return {\n type: 'TOGGLE_DRAWER'\n };\n }\n});\nexport default function DrawerRouter(_ref) {\n var _ref$defaultStatus = _ref.defaultStatus,\n defaultStatus = _ref$defaultStatus === void 0 ? 'closed' : _ref$defaultStatus,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n var router = TabRouter(rest);\n\n var isDrawerInHistory = function isDrawerInHistory(state) {\n var _state$history;\n\n return Boolean((_state$history = state.history) === null || _state$history === void 0 ? void 0 : _state$history.some(function (it) {\n return it.type === 'drawer';\n }));\n };\n\n var addDrawerToHistory = function addDrawerToHistory(state) {\n if (isDrawerInHistory(state)) {\n return state;\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n history: [].concat(_toConsumableArray(state.history), [{\n type: 'drawer',\n status: defaultStatus === 'open' ? 'closed' : 'open'\n }])\n });\n };\n\n var removeDrawerFromHistory = function removeDrawerFromHistory(state) {\n if (!isDrawerInHistory(state)) {\n return state;\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n history: state.history.filter(function (it) {\n return it.type !== 'drawer';\n })\n });\n };\n\n var openDrawer = function openDrawer(state) {\n if (defaultStatus === 'open') {\n return removeDrawerFromHistory(state);\n }\n\n return addDrawerToHistory(state);\n };\n\n var closeDrawer = function closeDrawer(state) {\n if (defaultStatus === 'open') {\n return addDrawerToHistory(state);\n }\n\n return removeDrawerFromHistory(state);\n };\n\n return _objectSpread(_objectSpread({}, router), {}, {\n type: 'drawer',\n getInitialState: function getInitialState(_ref2) {\n var routeNames = _ref2.routeNames,\n routeParamList = _ref2.routeParamList,\n routeGetIdList = _ref2.routeGetIdList;\n var state = router.getInitialState({\n routeNames: routeNames,\n routeParamList: routeParamList,\n routeGetIdList: routeGetIdList\n });\n return _objectSpread(_objectSpread({}, state), {}, {\n default: defaultStatus,\n stale: false,\n type: 'drawer',\n key: \"drawer-\" + nanoid()\n });\n },\n getRehydratedState: function getRehydratedState(partialState, _ref3) {\n var routeNames = _ref3.routeNames,\n routeParamList = _ref3.routeParamList,\n routeGetIdList = _ref3.routeGetIdList;\n\n if (partialState.stale === false) {\n return partialState;\n }\n\n var state = router.getRehydratedState(partialState, {\n routeNames: routeNames,\n routeParamList: routeParamList,\n routeGetIdList: routeGetIdList\n });\n\n if (isDrawerInHistory(partialState)) {\n state = removeDrawerFromHistory(state);\n state = addDrawerToHistory(state);\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n default: defaultStatus,\n type: 'drawer',\n key: \"drawer-\" + nanoid()\n });\n },\n getStateForRouteFocus: function getStateForRouteFocus(state, key) {\n var result = router.getStateForRouteFocus(state, key);\n return closeDrawer(result);\n },\n getStateForAction: function getStateForAction(state, action, options) {\n switch (action.type) {\n case 'OPEN_DRAWER':\n return openDrawer(state);\n\n case 'CLOSE_DRAWER':\n return closeDrawer(state);\n\n case 'TOGGLE_DRAWER':\n if (isDrawerInHistory(state)) {\n return removeDrawerFromHistory(state);\n }\n\n return addDrawerToHistory(state);\n\n case 'JUMP_TO':\n case 'NAVIGATE':\n {\n var result = router.getStateForAction(state, action, options);\n\n if (result != null && result.index !== state.index) {\n return closeDrawer(result);\n }\n\n return result;\n }\n\n case 'GO_BACK':\n if (isDrawerInHistory(state)) {\n return removeDrawerFromHistory(state);\n }\n\n return router.getStateForAction(state, action, options);\n\n default:\n return router.getStateForAction(state, action, options);\n }\n },\n actionCreators: DrawerActions\n });\n}","map":{"version":3,"sources":["DrawerRouter.tsx"],"names":["DrawerActions","openDrawer","type","closeDrawer","toggleDrawer","defaultStatus","rest","router","TabRouter","isDrawerInHistory","state","Boolean","it","addDrawerToHistory","history","status","removeDrawerFromHistory","getInitialState","routeGetIdList","routeNames","routeParamList","default","stale","key","nanoid","getRehydratedState","partialState","getStateForRouteFocus","result","getStateForAction","action","actionCreators"],"mappings":"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","sourcesContent":["import { nanoid } from 'nanoid/non-secure';\n\nimport TabRouter, {\n TabActionHelpers,\n TabActions,\n TabActionType,\n TabNavigationState,\n TabRouterOptions,\n} from './TabRouter';\nimport type {\n CommonNavigationAction,\n ParamListBase,\n PartialState,\n Router,\n} from './types';\nexport type DrawerStatus = 'open' | 'closed';\n\nexport type DrawerActionType =\n | TabActionType\n | {\n type: 'OPEN_DRAWER' | 'CLOSE_DRAWER' | 'TOGGLE_DRAWER';\n source?: string;\n target?: string;\n };\n\nexport type DrawerRouterOptions = TabRouterOptions & {\n defaultStatus?: DrawerStatus;\n};\n\nexport type DrawerNavigationState<ParamList extends ParamListBase> = Omit<\n TabNavigationState<ParamList>,\n 'type' | 'history'\n> & {\n /**\n * Type of the router, in this case, it's drawer.\n */\n type: 'drawer';\n /**\n * Default status of the drawer.\n */\n default: DrawerStatus;\n /**\n * List of previously visited route keys and drawer open status.\n */\n history: (\n | { type: 'route'; key: string }\n | { type: 'drawer'; status: DrawerStatus }\n )[];\n};\n\nexport type DrawerActionHelpers<ParamList extends ParamListBase> =\n TabActionHelpers<ParamList> & {\n /**\n * Open the drawer sidebar.\n */\n openDrawer(): void;\n\n /**\n * Close the drawer sidebar.\n */\n closeDrawer(): void;\n\n /**\n * Open the drawer sidebar if closed, or close if opened.\n */\n toggleDrawer(): void;\n };\n\nexport const DrawerActions = {\n ...TabActions,\n openDrawer(): DrawerActionType {\n return { type: 'OPEN_DRAWER' };\n },\n closeDrawer(): DrawerActionType {\n return { type: 'CLOSE_DRAWER' };\n },\n toggleDrawer(): DrawerActionType {\n return { type: 'TOGGLE_DRAWER' };\n },\n};\n\nexport default function DrawerRouter({\n defaultStatus = 'closed',\n ...rest\n}: DrawerRouterOptions): Router<\n DrawerNavigationState<ParamListBase>,\n DrawerActionType | CommonNavigationAction\n> {\n const router = TabRouter(rest) as unknown as Router<\n DrawerNavigationState<ParamListBase>,\n TabActionType | CommonNavigationAction\n >;\n\n const isDrawerInHistory = (\n state:\n | DrawerNavigationState<ParamListBase>\n | PartialState<DrawerNavigationState<ParamListBase>>\n ) => Boolean(state.history?.some((it) => it.type === 'drawer'));\n\n const addDrawerToHistory = (\n state: DrawerNavigationState<ParamListBase>\n ): DrawerNavigationState<ParamListBase> => {\n if (isDrawerInHistory(state)) {\n return state;\n }\n\n return {\n ...state,\n history: [\n ...state.history,\n {\n type: 'drawer',\n status: defaultStatus === 'open' ? 'closed' : 'open',\n },\n ],\n };\n };\n\n const removeDrawerFromHistory = (\n state: DrawerNavigationState<ParamListBase>\n ): DrawerNavigationState<ParamListBase> => {\n if (!isDrawerInHistory(state)) {\n return state;\n }\n\n return {\n ...state,\n history: state.history.filter((it) => it.type !== 'drawer'),\n };\n };\n\n const openDrawer = (\n state: DrawerNavigationState<ParamListBase>\n ): DrawerNavigationState<ParamListBase> => {\n if (defaultStatus === 'open') {\n return removeDrawerFromHistory(state);\n }\n\n return addDrawerToHistory(state);\n };\n\n const closeDrawer = (\n state: DrawerNavigationState<ParamListBase>\n ): DrawerNavigationState<ParamListBase> => {\n if (defaultStatus === 'open') {\n return addDrawerToHistory(state);\n }\n\n return removeDrawerFromHistory(state);\n };\n\n return {\n ...router,\n\n type: 'drawer',\n\n getInitialState({ routeNames, routeParamList, routeGetIdList }) {\n const state = router.getInitialState({\n routeNames,\n routeParamList,\n routeGetIdList,\n });\n\n return {\n ...state,\n default: defaultStatus,\n stale: false,\n type: 'drawer',\n key: `drawer-${nanoid()}`,\n };\n },\n\n getRehydratedState(\n partialState,\n { routeNames, routeParamList, routeGetIdList }\n ) {\n if (partialState.stale === false) {\n return partialState;\n }\n\n let state = router.getRehydratedState(partialState, {\n routeNames,\n routeParamList,\n routeGetIdList,\n });\n\n if (isDrawerInHistory(partialState)) {\n // Re-sync the drawer entry in history to correct it if it was wrong\n state = removeDrawerFromHistory(state);\n state = addDrawerToHistory(state);\n }\n\n return {\n ...state,\n default: defaultStatus,\n type: 'drawer',\n key: `drawer-${nanoid()}`,\n };\n },\n\n getStateForRouteFocus(state, key) {\n const result = router.getStateForRouteFocus(state, key);\n\n return closeDrawer(result);\n },\n\n getStateForAction(state, action, options) {\n switch (action.type) {\n case 'OPEN_DRAWER':\n return openDrawer(state);\n\n case 'CLOSE_DRAWER':\n return closeDrawer(state);\n\n case 'TOGGLE_DRAWER':\n if (isDrawerInHistory(state)) {\n return removeDrawerFromHistory(state);\n }\n\n return addDrawerToHistory(state);\n\n case 'JUMP_TO':\n case 'NAVIGATE': {\n const result = router.getStateForAction(state, action, options);\n\n if (result != null && result.index !== state.index) {\n return closeDrawer(result as DrawerNavigationState<ParamListBase>);\n }\n\n return result;\n }\n\n case 'GO_BACK':\n if (isDrawerInHistory(state)) {\n return removeDrawerFromHistory(state);\n }\n\n return router.getStateForAction(state, action, options);\n\n default:\n return router.getStateForAction(state, action, options);\n }\n },\n\n actionCreators: DrawerActions,\n };\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/170f0b20febc3d8b06fdf33d1ea41f11.json b/.expo/web/cache/development/babel-loader/170f0b20febc3d8b06fdf33d1ea41f11.json new file mode 100644 index 0000000000000000000000000000000000000000..b7c0e9efb42eb1c78de4832fabfd5d07e488e4d2 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/170f0b20febc3d8b06fdf33d1ea41f11.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { getHeaderTitle, Header, HeaderBackButton, SafeAreaProviderCompat, Screen } from '@react-navigation/elements';\nimport * as React from 'react';\nimport Image from \"react-native-web/dist/exports/Image\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport View from \"react-native-web/dist/exports/View\";\nvar TRANSPARENT_PRESENTATIONS = ['transparentModal', 'containedTransparentModal'];\nexport default function NativeStackView(_ref) {\n var state = _ref.state,\n descriptors = _ref.descriptors;\n return React.createElement(SafeAreaProviderCompat, null, React.createElement(View, {\n style: styles.container\n }, state.routes.map(function (route, i) {\n var _state$routes, _state$routes2;\n\n var isFocused = state.index === i;\n var canGoBack = i !== 0;\n var previousKey = (_state$routes = state.routes[i - 1]) === null || _state$routes === void 0 ? void 0 : _state$routes.key;\n var nextKey = (_state$routes2 = state.routes[i + 1]) === null || _state$routes2 === void 0 ? void 0 : _state$routes2.key;\n var previousDescriptor = previousKey ? descriptors[previousKey] : undefined;\n var nexDescriptor = nextKey ? descriptors[nextKey] : undefined;\n var _descriptors$route$ke = descriptors[route.key],\n options = _descriptors$route$ke.options,\n navigation = _descriptors$route$ke.navigation,\n render = _descriptors$route$ke.render;\n var header = options.header,\n headerShown = options.headerShown,\n headerTintColor = options.headerTintColor,\n headerBackImageSource = options.headerBackImageSource,\n headerLeft = options.headerLeft,\n headerRight = options.headerRight,\n headerTitle = options.headerTitle,\n headerTitleAlign = options.headerTitleAlign,\n headerTitleStyle = options.headerTitleStyle,\n headerStyle = options.headerStyle,\n headerShadowVisible = options.headerShadowVisible,\n headerTransparent = options.headerTransparent,\n headerBackTitle = options.headerBackTitle,\n presentation = options.presentation,\n contentStyle = options.contentStyle;\n var nextPresentation = nexDescriptor === null || nexDescriptor === void 0 ? void 0 : nexDescriptor.options.presentation;\n return React.createElement(Screen, {\n key: route.key,\n focused: isFocused,\n route: route,\n navigation: navigation,\n headerShown: headerShown,\n headerTransparent: headerTransparent,\n header: header !== undefined ? header({\n back: previousDescriptor ? {\n title: getHeaderTitle(previousDescriptor.options, previousDescriptor.route.name)\n } : undefined,\n options: options,\n route: route,\n navigation: navigation\n }) : React.createElement(Header, {\n title: getHeaderTitle(options, route.name),\n headerTintColor: headerTintColor,\n headerLeft: typeof headerLeft === 'function' ? function (_ref2) {\n var tintColor = _ref2.tintColor;\n return headerLeft({\n tintColor: tintColor,\n canGoBack: canGoBack,\n label: headerBackTitle\n });\n } : headerLeft === undefined && canGoBack ? function (_ref3) {\n var tintColor = _ref3.tintColor;\n return React.createElement(HeaderBackButton, {\n tintColor: tintColor,\n backImage: headerBackImageSource !== undefined ? function () {\n return React.createElement(Image, {\n source: headerBackImageSource,\n style: [styles.backImage, {\n tintColor: tintColor\n }]\n });\n } : undefined,\n onPress: navigation.goBack,\n canGoBack: canGoBack\n });\n } : headerLeft,\n headerRight: typeof headerRight === 'function' ? function (_ref4) {\n var tintColor = _ref4.tintColor;\n return headerRight({\n tintColor: tintColor,\n canGoBack: canGoBack\n });\n } : headerRight,\n headerTitle: typeof headerTitle === 'function' ? function (_ref5) {\n var children = _ref5.children,\n tintColor = _ref5.tintColor;\n return headerTitle({\n children: children,\n tintColor: tintColor\n });\n } : headerTitle,\n headerTitleAlign: headerTitleAlign,\n headerTitleStyle: headerTitleStyle,\n headerStyle: [headerTransparent ? {\n position: 'absolute',\n backgroundColor: 'transparent'\n } : null, headerStyle, headerShadowVisible === false ? {\n shadowOpacity: 0,\n borderBottomWidth: 0\n } : null]\n }),\n style: [StyleSheet.absoluteFill, {\n display: isFocused || nextPresentation != null && TRANSPARENT_PRESENTATIONS.includes(nextPresentation) ? 'flex' : 'none'\n }, presentation != null && TRANSPARENT_PRESENTATIONS.includes(presentation) ? {\n backgroundColor: 'transparent'\n } : null]\n }, React.createElement(View, {\n style: [styles.contentContainer, contentStyle]\n }, render()));\n })));\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1\n },\n contentContainer: {\n flex: 1\n },\n backImage: {\n height: 24,\n width: 24,\n margin: 3,\n resizeMode: 'contain'\n }\n});","map":{"version":3,"sources":["NativeStackView.tsx"],"names":["TRANSPARENT_PRESENTATIONS","descriptors","styles","container","isFocused","state","canGoBack","i","previousKey","nextKey","previousDescriptor","nexDescriptor","render","route","contentStyle","nextPresentation","header","back","title","getHeaderTitle","options","navigation","tintColor","headerLeft","label","headerBackTitle","headerRight","headerTitle","children","headerTransparent","position","backgroundColor","shadowOpacity","borderBottomWidth","StyleSheet","display","flex","contentContainer","backImage","height","width","margin","resizeMode"],"mappings":"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","sourcesContent":["import {\n getHeaderTitle,\n Header,\n HeaderBackButton,\n SafeAreaProviderCompat,\n Screen,\n} from '@react-navigation/elements';\nimport type {\n ParamListBase,\n StackNavigationState,\n} from '@react-navigation/native';\nimport * as React from 'react';\nimport { Image, StyleSheet, View } from 'react-native';\n\nimport type {\n NativeStackDescriptorMap,\n NativeStackNavigationHelpers,\n} from '../types';\n\ntype Props = {\n state: StackNavigationState<ParamListBase>;\n // This is used for the native implementation of the stack.\n // eslint-disable-next-line react/no-unused-prop-types\n navigation: NativeStackNavigationHelpers;\n descriptors: NativeStackDescriptorMap;\n};\n\nconst TRANSPARENT_PRESENTATIONS = [\n 'transparentModal',\n 'containedTransparentModal',\n];\n\nexport default function NativeStackView({ state, descriptors }: Props) {\n return (\n <SafeAreaProviderCompat>\n <View style={styles.container}>\n {state.routes.map((route, i) => {\n const isFocused = state.index === i;\n const canGoBack = i !== 0;\n const previousKey = state.routes[i - 1]?.key;\n const nextKey = state.routes[i + 1]?.key;\n const previousDescriptor = previousKey\n ? descriptors[previousKey]\n : undefined;\n const nexDescriptor = nextKey ? descriptors[nextKey] : undefined;\n const { options, navigation, render } = descriptors[route.key];\n\n const {\n header,\n headerShown,\n headerTintColor,\n headerBackImageSource,\n headerLeft,\n headerRight,\n headerTitle,\n headerTitleAlign,\n headerTitleStyle,\n headerStyle,\n headerShadowVisible,\n headerTransparent,\n headerBackTitle,\n presentation,\n contentStyle,\n } = options;\n\n const nextPresentation = nexDescriptor?.options.presentation;\n\n return (\n <Screen\n key={route.key}\n focused={isFocused}\n route={route}\n navigation={navigation}\n headerShown={headerShown}\n headerTransparent={headerTransparent}\n header={\n header !== undefined ? (\n header({\n back: previousDescriptor\n ? {\n title: getHeaderTitle(\n previousDescriptor.options,\n previousDescriptor.route.name\n ),\n }\n : undefined,\n options,\n route,\n navigation,\n })\n ) : (\n <Header\n title={getHeaderTitle(options, route.name)}\n headerTintColor={headerTintColor}\n headerLeft={\n typeof headerLeft === 'function'\n ? ({ tintColor }) =>\n headerLeft({\n tintColor,\n canGoBack,\n label: headerBackTitle,\n })\n : headerLeft === undefined && canGoBack\n ? ({ tintColor }) => (\n <HeaderBackButton\n tintColor={tintColor}\n backImage={\n headerBackImageSource !== undefined\n ? () => (\n <Image\n source={headerBackImageSource}\n style={[\n styles.backImage,\n { tintColor },\n ]}\n />\n )\n : undefined\n }\n onPress={navigation.goBack}\n canGoBack={canGoBack}\n />\n )\n : headerLeft\n }\n headerRight={\n typeof headerRight === 'function'\n ? ({ tintColor }) =>\n headerRight({ tintColor, canGoBack })\n : headerRight\n }\n headerTitle={\n typeof headerTitle === 'function'\n ? ({ children, tintColor }) =>\n headerTitle({ children, tintColor })\n : headerTitle\n }\n headerTitleAlign={headerTitleAlign}\n headerTitleStyle={headerTitleStyle}\n headerStyle={[\n headerTransparent\n ? {\n position: 'absolute',\n backgroundColor: 'transparent',\n }\n : null,\n headerStyle,\n headerShadowVisible === false\n ? { shadowOpacity: 0, borderBottomWidth: 0 }\n : null,\n ]}\n />\n )\n }\n style={[\n StyleSheet.absoluteFill,\n {\n display:\n isFocused ||\n (nextPresentation != null &&\n TRANSPARENT_PRESENTATIONS.includes(nextPresentation))\n ? 'flex'\n : 'none',\n },\n presentation != null &&\n TRANSPARENT_PRESENTATIONS.includes(presentation)\n ? { backgroundColor: 'transparent' }\n : null,\n ]}\n >\n <View style={[styles.contentContainer, contentStyle]}>\n {render()}\n </View>\n </Screen>\n );\n })}\n </View>\n </SafeAreaProviderCompat>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n contentContainer: {\n flex: 1,\n },\n backImage: {\n height: 24,\n width: 24,\n margin: 3,\n resizeMode: 'contain',\n },\n});\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/17ae14008308a028d52956b507c8ff62.json b/.expo/web/cache/development/babel-loader/17ae14008308a028d52956b507c8ff62.json new file mode 100644 index 0000000000000000000000000000000000000000..67bbd06e1315e61e34a53da8e1ee566a3e89d620 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/17ae14008308a028d52956b507c8ff62.json @@ -0,0 +1 @@ +{"ast":null,"code":"import EventEmitter from 'react-native/Libraries/vendor/emitter/EventEmitter';\nexport default new EventEmitter();","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/app/lib/internal/SharedEventEmitter.js"],"names":["EventEmitter"],"mappings":"AAiBA,OAAOA,YAAP,MAAyB,oDAAzB;AAEA,eAAe,IAAIA,YAAJ,EAAf","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport EventEmitter from 'react-native/Libraries/vendor/emitter/EventEmitter';\n\nexport default new EventEmitter();\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/18a202f97176071c542165b541aa1d5d.json b/.expo/web/cache/development/babel-loader/18a202f97176071c542165b541aa1d5d.json new file mode 100644 index 0000000000000000000000000000000000000000..28cb4e8e7c5e92b1eb728a05e3869e403b38c715 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/18a202f97176071c542165b541aa1d5d.json @@ -0,0 +1 @@ +{"ast":null,"code":"if (module.hot) {\n var lastHash;\n\n var upToDate = function upToDate() {\n return lastHash.indexOf(__webpack_hash__) >= 0;\n };\n\n var log = require(\"./log\");\n\n var check = function check() {\n module.hot.check(true).then(function (updatedModules) {\n if (!updatedModules) {\n log(\"warning\", \"[HMR] Cannot find update. Need to do a full reload!\");\n log(\"warning\", \"[HMR] (Probably because of restarting the webpack-dev-server)\");\n window.location.reload();\n return;\n }\n\n if (!upToDate()) {\n check();\n }\n\n require(\"./log-apply-result\")(updatedModules, updatedModules);\n\n if (upToDate()) {\n log(\"info\", \"[HMR] App is up to date.\");\n }\n }).catch(function (err) {\n var status = module.hot.status();\n\n if ([\"abort\", \"fail\"].indexOf(status) >= 0) {\n log(\"warning\", \"[HMR] Cannot apply update. Need to do a full reload!\");\n log(\"warning\", \"[HMR] \" + log.formatError(err));\n window.location.reload();\n } else {\n log(\"warning\", \"[HMR] Update failed: \" + log.formatError(err));\n }\n });\n };\n\n var hotEmitter = require(\"./emitter\");\n\n hotEmitter.on(\"webpackHotUpdate\", function (currentHash) {\n lastHash = currentHash;\n\n if (!upToDate() && module.hot.status() === \"idle\") {\n log(\"info\", \"[HMR] Checking for updates on the server...\");\n check();\n }\n });\n log(\"info\", \"[HMR] Waiting for update signal from WDS...\");\n} else {\n throw new Error(\"[HMR] Hot Module Replacement is disabled.\");\n}","map":{"version":3,"sources":["C:/Users/user/AppData/Roaming/npm/node_modules/expo-cli/node_modules/webpack/hot/dev-server.js"],"names":["module","hot","lastHash","upToDate","indexOf","__webpack_hash__","log","require","check","then","updatedModules","window","location","reload","catch","err","status","formatError","hotEmitter","on","currentHash","Error"],"mappings":"AAKA,IAAIA,MAAM,CAACC,GAAX,EAAgB;AACf,MAAIC,QAAJ;;AACA,MAAIC,QAAQ,GAAG,SAASA,QAAT,GAAoB;AAClC,WAAOD,QAAQ,CAACE,OAAT,CAAiBC,gBAAjB,KAAsC,CAA7C;AACA,GAFD;;AAGA,MAAIC,GAAG,GAAGC,OAAO,SAAjB;;AACA,MAAIC,KAAK,GAAG,SAASA,KAAT,GAAiB;AAC5BR,IAAAA,MAAM,CAACC,GAAP,CACEO,KADF,CACQ,IADR,EAEEC,IAFF,CAEO,UAASC,cAAT,EAAyB;AAC9B,UAAI,CAACA,cAAL,EAAqB;AACpBJ,QAAAA,GAAG,CAAC,SAAD,EAAY,qDAAZ,CAAH;AACAA,QAAAA,GAAG,CACF,SADE,EAEF,+DAFE,CAAH;AAIAK,QAAAA,MAAM,CAACC,QAAP,CAAgBC,MAAhB;AACA;AACA;;AAED,UAAI,CAACV,QAAQ,EAAb,EAAiB;AAChBK,QAAAA,KAAK;AACL;;AAEDD,MAAAA,OAAO,sBAAP,CAA8BG,cAA9B,EAA8CA,cAA9C;;AAEA,UAAIP,QAAQ,EAAZ,EAAgB;AACfG,QAAAA,GAAG,CAAC,MAAD,EAAS,0BAAT,CAAH;AACA;AACD,KAtBF,EAuBEQ,KAvBF,CAuBQ,UAASC,GAAT,EAAc;AACpB,UAAIC,MAAM,GAAGhB,MAAM,CAACC,GAAP,CAAWe,MAAX,EAAb;;AACA,UAAI,CAAC,OAAD,EAAU,MAAV,EAAkBZ,OAAlB,CAA0BY,MAA1B,KAAqC,CAAzC,EAA4C;AAC3CV,QAAAA,GAAG,CACF,SADE,EAEF,sDAFE,CAAH;AAIAA,QAAAA,GAAG,CAAC,SAAD,EAAY,WAAWA,GAAG,CAACW,WAAJ,CAAgBF,GAAhB,CAAvB,CAAH;AACAJ,QAAAA,MAAM,CAACC,QAAP,CAAgBC,MAAhB;AACA,OAPD,MAOO;AACNP,QAAAA,GAAG,CAAC,SAAD,EAAY,0BAA0BA,GAAG,CAACW,WAAJ,CAAgBF,GAAhB,CAAtC,CAAH;AACA;AACD,KAnCF;AAoCA,GArCD;;AAsCA,MAAIG,UAAU,GAAGX,OAAO,aAAxB;;AACAW,EAAAA,UAAU,CAACC,EAAX,CAAc,kBAAd,EAAkC,UAASC,WAAT,EAAsB;AACvDlB,IAAAA,QAAQ,GAAGkB,WAAX;;AACA,QAAI,CAACjB,QAAQ,EAAT,IAAeH,MAAM,CAACC,GAAP,CAAWe,MAAX,OAAwB,MAA3C,EAAmD;AAClDV,MAAAA,GAAG,CAAC,MAAD,EAAS,6CAAT,CAAH;AACAE,MAAAA,KAAK;AACL;AACD,GAND;AAOAF,EAAAA,GAAG,CAAC,MAAD,EAAS,6CAAT,CAAH;AACA,CArDD,MAqDO;AACN,QAAM,IAAIe,KAAJ,CAAU,2CAAV,CAAN;AACA","sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n/*globals window __webpack_hash__ */\nif (module.hot) {\n\tvar lastHash;\n\tvar upToDate = function upToDate() {\n\t\treturn lastHash.indexOf(__webpack_hash__) >= 0;\n\t};\n\tvar log = require(\"./log\");\n\tvar check = function check() {\n\t\tmodule.hot\n\t\t\t.check(true)\n\t\t\t.then(function(updatedModules) {\n\t\t\t\tif (!updatedModules) {\n\t\t\t\t\tlog(\"warning\", \"[HMR] Cannot find update. Need to do a full reload!\");\n\t\t\t\t\tlog(\n\t\t\t\t\t\t\"warning\",\n\t\t\t\t\t\t\"[HMR] (Probably because of restarting the webpack-dev-server)\"\n\t\t\t\t\t);\n\t\t\t\t\twindow.location.reload();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (!upToDate()) {\n\t\t\t\t\tcheck();\n\t\t\t\t}\n\n\t\t\t\trequire(\"./log-apply-result\")(updatedModules, updatedModules);\n\n\t\t\t\tif (upToDate()) {\n\t\t\t\t\tlog(\"info\", \"[HMR] App is up to date.\");\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch(function(err) {\n\t\t\t\tvar status = module.hot.status();\n\t\t\t\tif ([\"abort\", \"fail\"].indexOf(status) >= 0) {\n\t\t\t\t\tlog(\n\t\t\t\t\t\t\"warning\",\n\t\t\t\t\t\t\"[HMR] Cannot apply update. Need to do a full reload!\"\n\t\t\t\t\t);\n\t\t\t\t\tlog(\"warning\", \"[HMR] \" + log.formatError(err));\n\t\t\t\t\twindow.location.reload();\n\t\t\t\t} else {\n\t\t\t\t\tlog(\"warning\", \"[HMR] Update failed: \" + log.formatError(err));\n\t\t\t\t}\n\t\t\t});\n\t};\n\tvar hotEmitter = require(\"./emitter\");\n\thotEmitter.on(\"webpackHotUpdate\", function(currentHash) {\n\t\tlastHash = currentHash;\n\t\tif (!upToDate() && module.hot.status() === \"idle\") {\n\t\t\tlog(\"info\", \"[HMR] Checking for updates on the server...\");\n\t\t\tcheck();\n\t\t}\n\t});\n\tlog(\"info\", \"[HMR] Waiting for update signal from WDS...\");\n} else {\n\tthrow new Error(\"[HMR] Hot Module Replacement is disabled.\");\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/18cf89fcb0159145f08245d0c914b15e.json b/.expo/web/cache/development/babel-loader/18cf89fcb0159145f08245d0c914b15e.json new file mode 100644 index 0000000000000000000000000000000000000000..fce5fa38f8ab7bb9abda231ddb478617def22236 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/18cf89fcb0159145f08245d0c914b15e.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATAS = null;\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n DATA = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n Alert.alert('count data', DATA != null);\n var colRef = collection(getFirestore(), \"Users\");\n var big = [];\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var itemData = {\n name: doc.data().Name,\n email: doc.data().Email,\n image: doc.data().Image,\n id: doc.id\n };\n big.push(itemData);\n setUsers(big);\n });\n });\n }, []);\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n var big = [];\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n big.push(itemData);\n }\n });\n setUsers(big);\n });\n }\n\n if (route.params != null) {\n setUsers(null);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n }), _jsx(Text, {\n style: styles.beschreibung,\n children: item.name\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsxs(View, {\n children: [_jsx(Text, {\n children: \"No Data Found\"\n }), _jsx(Button, {\n title: \"Load Data\",\n onPress: listenOnChange\n })]\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsx(TouchableOpacity, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n style: styles.button,\n children: _jsx(Text, {\n style: styles.cancelButtonText,\n children: \"Create new User\"\n })\n }), _jsx(Text, {\n children: \" \"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return item + index;\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50,\n borderRadius: 50 / 2,\n overflow: \"hidden\",\n borderWidth: 3,\n borderColor: \"#D9D9D9\"\n },\n item: {\n width: 250,\n paddingTop: 20,\n paddingBottom: 20,\n paddingRight: 20,\n marginVertical: 8,\n marginHorizontal: 25,\n borderBottomColor: '#D9D9D9',\n borderBottomWidth: 2,\n flexDirection: \"row\"\n },\n beschreibung: {\n marginLeft: 10,\n marginTop: 10,\n width: 180,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 16,\n lineHeight: 23,\n color: \"#5E6A79\"\n },\n button: {\n marginTop: 25,\n marginBottom: 20,\n height: 35,\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\n borderRadius: 12,\n justifyContent: 'center'\n },\n cancelButtonText: {\n height: 28,\n margin: 10,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 15,\n lineHeight: 22,\n textAlign: 'center',\n color: \"#5E6A79\"\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATAS","UserLists","navigation","route","DATA","setUsers","Alert","alert","colRef","big","querySnapshot","forEach","itemData","name","data","Name","email","Email","image","Image","id","push","listenOnChange","snapchot","docChanges","change","type","message","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","beschreibung","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","container","button","cancelButtonText","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height","borderRadius","overflow","borderWidth","borderColor","paddingTop","paddingBottom","paddingRight","marginVertical","borderBottomColor","borderBottomWidth","flexDirection","marginLeft","marginTop","fontStyle","fontWeight","fontSize","lineHeight","marginBottom","margin","textAlign"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATAS = null;\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [DATA, setUsers] = useState(null);\r\n\r\n//listenOnChange();\r\n//useeffect();\r\n\r\n/*useEffect(()=>{\r\nconst colRef = collection(getFirestore(),\"Users\");\r\nconst big= [];\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n //DATA.push(itemData);\r\n setUsers(big);\r\n //Alert.alert('count data',DATA.name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])*/\r\n\r\n\r\n\r\n\r\n//test\r\nuseEffect(()=>{\r\n Alert.alert('count data',DATA != null);\r\n const colRef = collection(getFirestore(),\"Users\");\r\n const big= [];\r\n onSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n //DATA.push(itemData);\r\n setUsers(big);\r\n \r\n });\r\n \r\n //setUsers(users)\r\n });\r\n //Alert.alert(users.Name.toString);\r\n \r\n },[])\r\n\r\n\r\n \r\n\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n const big = [];\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n //DATA.push(itemData);\r\n big.push(itemData);\r\n \r\n //Alert.alert('listen on change',message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n }); setUsers(big);\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\nsetUsers(null);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n \r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n <Text style={styles.beschreibung}>\r\n {item.name} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){ //DATAS zu DATA ändern ___-------\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <View>\r\n <Text>\r\n No Data Found \r\n </Text>\r\n <Button title='Load Data' onPress={listenOnChange}/>\r\n </View>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <TouchableOpacity onPress={()=> {navigation.navigate('CreateNewUser')}} style={styles.button}>\r\n <Text style={styles.cancelButtonText}>\r\n Create new User\r\n </Text>\r\n \r\n </TouchableOpacity>\r\n <Text> </Text>\r\n\r\n <FlatList\r\n data={DATA} //DATAS zu DATA ändern ___-------\r\n renderItem={renderItem}\r\n /*keyExtractor={ (item, index) => index.toString()}//item => item.id*/\r\n keyExtractor={(item, index) => item + index}\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n borderRadius: 50 / 2,\r\n overflow: \"hidden\",\r\n borderWidth: 3,\r\n borderColor: \"#D9D9D9\"\r\n },\r\n item: {\r\n width: 250,\r\n paddingTop: 20,\r\n paddingBottom: 20,\r\n paddingRight: 20,\r\n marginVertical: 8,\r\n marginHorizontal: 25,\r\n borderBottomColor: '#D9D9D9',\r\n borderBottomWidth: 2,\r\n flexDirection: \"row\",\r\n },\r\n beschreibung: {\r\n marginLeft:10,\r\n marginTop:10,\r\n width: 180,\r\n\r\n // font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 16,\r\n lineHeight: 23,\r\n color: \"#5E6A79\",\r\n },\r\n button:{\r\n marginTop:25,\r\n marginBottom: 20,\r\n height: 35,\r\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\r\n //box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);\r\n borderRadius: 12,\r\n justifyContent: 'center',\r\n \r\n},\r\ncancelButtonText:{\r\n //width: 55,\r\n height: 28,\r\nmargin:10,\r\n //font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 15,\r\n lineHeight: 22,\r\n textAlign:'center',\r\n color: \"#5E6A79\",\r\n},\r\n\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/195c856c3e7a37ef40853fd0b89b3fee.json b/.expo/web/cache/development/babel-loader/195c856c3e7a37ef40853fd0b89b3fee.json new file mode 100644 index 0000000000000000000000000000000000000000..18744e0e23dc9a8e804965630bc1d93ebcded2bf --- /dev/null +++ b/.expo/web/cache/development/babel-loader/195c856c3e7a37ef40853fd0b89b3fee.json @@ -0,0 +1 @@ +{"ast":null,"code":"export { default as createNativeStackNavigator } from \"./navigators/createNativeStackNavigator\";\nexport { default as NativeStackView } from \"./views/NativeStackView\";","map":{"version":3,"sources":["index.tsx"],"names":["default"],"mappings":"AAGA,SAASA,OAAO,IAAhB,0BAAA;AAKA,SAASA,OAAO,IAAhB,eAAA","sourcesContent":["/**\n * Navigators\n */\nexport { default as createNativeStackNavigator } from './navigators/createNativeStackNavigator';\n\n/**\n * Views\n */\nexport { default as NativeStackView } from './views/NativeStackView';\n\n/**\n * Types\n */\nexport type {\n NativeStackHeaderProps,\n NativeStackNavigationEventMap,\n NativeStackNavigationOptions,\n NativeStackNavigationProp,\n NativeStackScreenProps,\n} from './types';\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/19ed710beb73a4a32169191ef03de683.json b/.expo/web/cache/development/babel-loader/19ed710beb73a4a32169191ef03de683.json new file mode 100644 index 0000000000000000000000000000000000000000..1f98a48e320cf0814e45328a3fc62cdbfab93b68 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/19ed710beb73a4a32169191ef03de683.json @@ -0,0 +1 @@ +{"ast":null,"code":"module.exports = '14.7.0';","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/app/lib/version.js"],"names":["module","exports"],"mappings":"AACAA,MAAM,CAACC,OAAP,GAAiB,QAAjB","sourcesContent":["// generated by genversion\nmodule.exports = '14.7.0';\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/1a27ebe2a05b4f3b7849416eb572f4f3.json b/.expo/web/cache/development/babel-loader/1a27ebe2a05b4f3b7849416eb572f4f3.json new file mode 100644 index 0000000000000000000000000000000000000000..884492185a9b39f4ec5687a8d9ca57654c456429 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/1a27ebe2a05b4f3b7849416eb572f4f3.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport AnimatedValue from \"./AnimatedValue\";\nimport AnimatedNode from \"./AnimatedNode\";\nimport { generateNewAnimationId, shouldUseNativeDriver } from \"../NativeAnimatedHelper\";\n\nvar AnimatedTracking = function (_AnimatedNode) {\n _inheritsLoose(AnimatedTracking, _AnimatedNode);\n\n function AnimatedTracking(value, parent, animationClass, animationConfig, callback) {\n var _this;\n\n _this = _AnimatedNode.call(this) || this;\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\n _this.__attach();\n\n return _this;\n }\n\n var _proto = AnimatedTracking.prototype;\n\n _proto.__makeNative = function __makeNative() {\n this.__isNative = true;\n\n this._parent.__makeNative();\n\n _AnimatedNode.prototype.__makeNative.call(this);\n\n this._value.__makeNative();\n };\n\n _proto.__getValue = function __getValue() {\n return this._parent.__getValue();\n };\n\n _proto.__attach = function __attach() {\n this._parent.__addChild(this);\n\n if (this._useNativeDriver) {\n this.__makeNative();\n }\n };\n\n _proto.__detach = function __detach() {\n this._parent.__removeChild(this);\n\n _AnimatedNode.prototype.__detach.call(this);\n };\n\n _proto.update = function update() {\n this._value.animate(new this._animationClass(_objectSpread(_objectSpread({}, this._animationConfig), {}, {\n toValue: this._animationConfig.toValue.__getValue()\n })), this._callback);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n var animation = new this._animationClass(_objectSpread(_objectSpread({}, this._animationConfig), {}, {\n toValue: undefined\n }));\n\n var animationConfig = animation.__getNativeAnimationConfig();\n\n return {\n type: 'tracking',\n animationId: generateNewAnimationId(),\n animationConfig: animationConfig,\n toValue: this._parent.__getNativeTag(),\n value: this._value.__getNativeTag()\n };\n };\n\n return AnimatedTracking;\n}(AnimatedNode);\n\nexport default AnimatedTracking;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedTracking.js"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","_inheritsLoose","subClass","superClass","prototype","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","AnimatedValue","AnimatedNode","generateNewAnimationId","shouldUseNativeDriver","AnimatedTracking","_AnimatedNode","parent","animationClass","animationConfig","callback","_this","call","_value","_parent","_animationClass","_animationConfig","_useNativeDriver","_callback","__attach","_proto","__makeNative","__isNative","__getValue","__addChild","__detach","__removeChild","update","animate","toValue","__getNativeConfig","animation","undefined","__getNativeAnimationConfig","type","animationId","__getNativeTag"],"mappings":"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","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedNode from './AnimatedNode';\nimport { generateNewAnimationId, shouldUseNativeDriver } from '../NativeAnimatedHelper';\n\nvar AnimatedTracking = /*#__PURE__*/function (_AnimatedNode) {\n _inheritsLoose(AnimatedTracking, _AnimatedNode);\n\n function AnimatedTracking(value, parent, animationClass, animationConfig, callback) {\n var _this;\n\n _this = _AnimatedNode.call(this) || this;\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\n _this.__attach();\n\n return _this;\n }\n\n var _proto = AnimatedTracking.prototype;\n\n _proto.__makeNative = function __makeNative() {\n this.__isNative = true;\n\n this._parent.__makeNative();\n\n _AnimatedNode.prototype.__makeNative.call(this);\n\n this._value.__makeNative();\n };\n\n _proto.__getValue = function __getValue() {\n return this._parent.__getValue();\n };\n\n _proto.__attach = function __attach() {\n this._parent.__addChild(this);\n\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\n _proto.__detach = function __detach() {\n this._parent.__removeChild(this);\n\n _AnimatedNode.prototype.__detach.call(this);\n };\n\n _proto.update = function update() {\n this._value.animate(new this._animationClass(_objectSpread(_objectSpread({}, this._animationConfig), {}, {\n toValue: this._animationConfig.toValue.__getValue()\n })), this._callback);\n };\n\n _proto.__getNativeConfig = function __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\n var animationConfig = animation.__getNativeAnimationConfig();\n\n return {\n type: 'tracking',\n animationId: generateNewAnimationId(),\n animationConfig: animationConfig,\n toValue: this._parent.__getNativeTag(),\n value: this._value.__getNativeTag()\n };\n };\n\n return AnimatedTracking;\n}(AnimatedNode);\n\nexport default AnimatedTracking;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/1b24ba68d3d7290ee20993579e82ba07.json b/.expo/web/cache/development/babel-loader/1b24ba68d3d7290ee20993579e82ba07.json new file mode 100644 index 0000000000000000000000000000000000000000..09967c948c1a0dde59138138bb4e1b1c41d8ffa9 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/1b24ba68d3d7290ee20993579e82ba07.json @@ -0,0 +1 @@ +{"ast":null,"code":"import SectionList from \"../../vendor/react-native/SectionList\";\nexport default SectionList;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/SectionList/index.js"],"names":["SectionList"],"mappings":"AAQA,OAAOA,WAAP;AACA,eAAeA,WAAf","sourcesContent":["/**\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 */\nimport SectionList from '../../vendor/react-native/SectionList';\nexport default SectionList;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/1b4db712177d1cbe8126d00be506e7fb.json b/.expo/web/cache/development/babel-loader/1b4db712177d1cbe8126d00be506e7fb.json new file mode 100644 index 0000000000000000000000000000000000000000..619fb2c7cd953953d22103bc878c53f1f4b5083a --- /dev/null +++ b/.expo/web/cache/development/babel-loader/1b4db712177d1cbe8126d00be506e7fb.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nimport * as React from 'react';\nimport { attachRecoveredProps } from \"./RecoveryProps\";\nexport default function withExpoRoot(AppRootComponent) {\n return function (_React$Component) {\n _inherits(ExpoRootComponent, _React$Component);\n\n var _super = _createSuper(ExpoRootComponent);\n\n function ExpoRootComponent() {\n _classCallCheck(this, ExpoRootComponent);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(ExpoRootComponent, [{\n key: \"render\",\n value: function render() {\n var combinedProps = attachRecoveredProps(this.props);\n return React.createElement(AppRootComponent, _objectSpread({}, combinedProps));\n }\n }]);\n\n return ExpoRootComponent;\n }(React.Component);\n}","map":{"version":3,"sources":["../../src/launch/withExpoRoot.web.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AAEA,SAAS,oBAAT;AAGA,eAAc,SAAU,YAAV,CACZ,gBADY,EAC4B;AAExC;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,aACE,kBAAM;AACJ,YAAM,aAAa,GAAG,oBAAoB,CAAC,KAAK,KAAN,CAA1C;AACA,eAAO,KAAA,CAAA,aAAA,CAAC,gBAAD,oBAAsB,aAAtB,EAAP;AACD;AAJH;;AAAA;AAAA,IAAuC,KAAK,CAAC,SAA7C;AAMD","sourcesContent":["import * as React from 'react';\n\nimport { attachRecoveredProps } from './RecoveryProps';\nimport { InitialProps } from './withExpoRoot.types';\n\nexport default function withExpoRoot<P extends InitialProps>(\n AppRootComponent: React.ComponentType<P>\n): React.ComponentClass<P> {\n return class ExpoRootComponent extends React.Component<P> {\n render() {\n const combinedProps = attachRecoveredProps(this.props);\n return <AppRootComponent {...combinedProps} />;\n }\n };\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/1b6149bccc2f22113aef73d8dbdf1b1a.json b/.expo/web/cache/development/babel-loader/1b6149bccc2f22113aef73d8dbdf1b1a.json new file mode 100644 index 0000000000000000000000000000000000000000..a3ae535489f7a21e71c7c385753d1683b9e2dd21 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/1b6149bccc2f22113aef73d8dbdf1b1a.json @@ -0,0 +1 @@ +{"ast":null,"code":"export default function Group(_) {\n return null;\n}","map":{"version":3,"sources":["Group.tsx"],"names":[],"mappings":"AAOA,eAAe,SAAA,KAAA,CAAA,CAAA,EAGkC;AAE/C,SAAA,IAAA;AACD","sourcesContent":["import type { ParamListBase } from '@react-navigation/routers';\n\nimport type { RouteGroupConfig } from './types';\n\n/**\n * Empty component used for grouping screen configs.\n */\nexport default function Group<\n ParamList extends ParamListBase,\n ScreenOptions extends {}\n>(_: RouteGroupConfig<ParamList, ScreenOptions>) {\n /* istanbul ignore next */\n return null;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/1b713fdb9ab1b81560473e20cb52a91c.json b/.expo/web/cache/development/babel-loader/1b713fdb9ab1b81560473e20cb52a91c.json new file mode 100644 index 0000000000000000000000000000000000000000..4fdb55ce405dbb4b78fbe36d86a7a51ccde260a9 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/1b713fdb9ab1b81560473e20cb52a91c.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n listenOnChange();\n useEffect(function () {\n var colRef = collection(getFirestore(), \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n email = _doc$data.email,\n image = _doc$data.image,\n name = _doc$data.name;\n\n var itemData = {\n name: name,\n email: email,\n image: image\n };\n Alert.alert(doc.id);\n });\n });\n }, []);\n\n function useeffect() {\n getDocs(collection(getFirestore(), 'Users')).forEach(function (doc) {\n console.log(doc.id + \" => \" + doc.data());\n });\n }\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n }\n });\n });\n }\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" bla\"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATA","UserLists","navigation","route","users","setUsers","listenOnChange","colRef","querySnapshot","forEach","data","email","image","name","itemData","Alert","alert","id","useeffect","console","log","snapchot","docChanges","change","type","message","Name","Email","Image","push","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState(null);\r\n\r\nlistenOnChange();\r\n//useeffect();\r\n\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(getFirestore(),\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n const {email, image, name} = doc.data();\r\n const itemData = {name: name, email: email, image: image}\r\n //DATA.push(itemData);\r\n Alert.alert(doc.id);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\nfunction useeffect(){\r\n getDocs(collection(getFirestore(),'Users')).forEach((doc) => {\r\n console.log(`${doc.id} => ${doc.data()}`);\r\n});\r\n}\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n //Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> bla</Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/1c34636ff7e6fe4a2afb4027daf07fdd.json b/.expo/web/cache/development/babel-loader/1c34636ff7e6fe4a2afb4027daf07fdd.json new file mode 100644 index 0000000000000000000000000000000000000000..146771aaf1df02cfa9df610cb2a44574433e168c --- /dev/null +++ b/.expo/web/cache/development/babel-loader/1c34636ff7e6fe4a2afb4027daf07fdd.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { isBoolean, isFunction, isObject, isUndefined } from '@react-native-firebase/app/lib/common';\nimport FirestoreDocumentChange from \"./FirestoreDocumentChange\";\nimport FirestoreDocumentSnapshot from \"./FirestoreDocumentSnapshot\";\nimport FirestoreSnapshotMetadata from \"./FirestoreSnapshotMetadata\";\n\nvar FirestoreQuerySnapshot = function () {\n function FirestoreQuerySnapshot(firestore, query, nativeData) {\n _classCallCheck(this, FirestoreQuerySnapshot);\n\n this._query = query;\n this._source = nativeData.source;\n this._excludesMetadataChanges = nativeData.excludesMetadataChanges;\n this._changes = nativeData.changes.map(function ($) {\n return new FirestoreDocumentChange(firestore, $);\n });\n this._docs = nativeData.documents.map(function ($) {\n return new FirestoreDocumentSnapshot(firestore, $);\n });\n this._metadata = new FirestoreSnapshotMetadata(nativeData.metadata);\n }\n\n _createClass(FirestoreQuerySnapshot, [{\n key: \"docs\",\n get: function get() {\n return this._docs;\n }\n }, {\n key: \"empty\",\n get: function get() {\n return this._docs.length === 0;\n }\n }, {\n key: \"metadata\",\n get: function get() {\n return this._metadata;\n }\n }, {\n key: \"query\",\n get: function get() {\n return this._query;\n }\n }, {\n key: \"size\",\n get: function get() {\n return this._docs.length;\n }\n }, {\n key: \"docChanges\",\n value: function docChanges(options) {\n if (!isUndefined(options) && !isObject(options)) {\n throw new Error(\"firebase.firestore() QuerySnapshot.docChanges(*) 'options' expected an object.\");\n }\n\n var includeMetaDataChanges = false;\n\n if (options) {\n if (!isBoolean(options.includeMetadataChanges)) {\n throw new Error(\"firebase.firestore() QuerySnapshot.docChanges(*) 'options.includeMetadataChanges' expected a boolean.\");\n }\n\n includeMetaDataChanges = options.includeMetadataChanges;\n }\n\n if (this._source === 'get') {\n return this._changes;\n }\n\n if (includeMetaDataChanges && this._excludesMetadataChanges) {\n throw new Error('firebase.firestore() QuerySnapshot.docChanges() To include metadata changes with your document changes, you must also pass { includeMetadataChanges:true } to onSnapshot().');\n }\n\n return this._changes.filter(function ($) {\n if (!includeMetaDataChanges) {\n return $._isMetadataChange === false;\n }\n\n return true;\n });\n }\n }, {\n key: \"forEach\",\n value: function forEach(callback, thisArg) {\n if (!isFunction(callback)) {\n throw new Error(\"firebase.firestore() QuerySnapshot.forEach(*) 'callback' expected a function.\");\n }\n\n var cb = thisArg ? callback.bind(thisArg) : callback;\n\n for (var i = 0; i < this._docs.length; i++) {\n cb(this._docs[i], i);\n }\n }\n }, {\n key: \"isEqual\",\n value: function isEqual(other) {\n if (!(other instanceof FirestoreQuerySnapshot)) {\n throw new Error(\"firebase.firestore() QuerySnapshot.isEqual(*) 'other' expected a QuerySnapshot instance.\");\n }\n\n if (this.empty !== other.empty || this.size !== other.size || !this.metadata.isEqual(other.metadata)) {\n return false;\n }\n\n for (var i = 0; i < this.docs.length; i++) {\n var thisDoc = this.docs[i];\n var otherDoc = other.docs[i];\n\n if (!thisDoc.isEqual(otherDoc)) {\n return false;\n }\n }\n\n return true;\n }\n }]);\n\n return FirestoreQuerySnapshot;\n}();\n\nexport { FirestoreQuerySnapshot as default };","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/firestore/lib/FirestoreQuerySnapshot.js"],"names":["isBoolean","isFunction","isObject","isUndefined","FirestoreDocumentChange","FirestoreDocumentSnapshot","FirestoreSnapshotMetadata","FirestoreQuerySnapshot","firestore","query","nativeData","_query","_source","source","_excludesMetadataChanges","excludesMetadataChanges","_changes","changes","map","$","_docs","documents","_metadata","metadata","length","options","Error","includeMetaDataChanges","includeMetadataChanges","filter","_isMetadataChange","callback","thisArg","cb","bind","i","other","empty","size","isEqual","docs","thisDoc","otherDoc"],"mappings":"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","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport {\n isBoolean,\n isFunction,\n isObject,\n isUndefined,\n} from '@react-native-firebase/app/lib/common';\nimport FirestoreDocumentChange from './FirestoreDocumentChange';\nimport FirestoreDocumentSnapshot from './FirestoreDocumentSnapshot';\nimport FirestoreSnapshotMetadata from './FirestoreSnapshotMetadata';\n\nexport default class FirestoreQuerySnapshot {\n constructor(firestore, query, nativeData) {\n this._query = query;\n this._source = nativeData.source;\n this._excludesMetadataChanges = nativeData.excludesMetadataChanges;\n this._changes = nativeData.changes.map($ => new FirestoreDocumentChange(firestore, $));\n this._docs = nativeData.documents.map($ => new FirestoreDocumentSnapshot(firestore, $));\n this._metadata = new FirestoreSnapshotMetadata(nativeData.metadata);\n }\n\n get docs() {\n return this._docs;\n }\n\n get empty() {\n return this._docs.length === 0;\n }\n\n get metadata() {\n return this._metadata;\n }\n\n get query() {\n return this._query;\n }\n\n get size() {\n return this._docs.length;\n }\n\n docChanges(options) {\n if (!isUndefined(options) && !isObject(options)) {\n throw new Error(\n \"firebase.firestore() QuerySnapshot.docChanges(*) 'options' expected an object.\",\n );\n }\n\n let includeMetaDataChanges = false;\n\n if (options) {\n if (!isBoolean(options.includeMetadataChanges)) {\n throw new Error(\n \"firebase.firestore() QuerySnapshot.docChanges(*) 'options.includeMetadataChanges' expected a boolean.\",\n );\n }\n\n includeMetaDataChanges = options.includeMetadataChanges;\n }\n\n // A get query should always return the document changes from native\n if (this._source === 'get') {\n return this._changes;\n }\n\n if (includeMetaDataChanges && this._excludesMetadataChanges) {\n throw new Error(\n 'firebase.firestore() QuerySnapshot.docChanges() To include metadata changes with your document changes, you must also pass { includeMetadataChanges:true } to onSnapshot().',\n );\n }\n\n return this._changes.filter($ => {\n // Remove all changes that have come from metadata changes list\n if (!includeMetaDataChanges) {\n return $._isMetadataChange === false;\n }\n\n return true;\n });\n }\n\n forEach(callback, thisArg) {\n if (!isFunction(callback)) {\n throw new Error(\n \"firebase.firestore() QuerySnapshot.forEach(*) 'callback' expected a function.\",\n );\n }\n\n const cb = thisArg ? callback.bind(thisArg) : callback;\n\n for (let i = 0; i < this._docs.length; i++) {\n cb(this._docs[i], i);\n }\n }\n\n isEqual(other) {\n if (!(other instanceof FirestoreQuerySnapshot)) {\n throw new Error(\n \"firebase.firestore() QuerySnapshot.isEqual(*) 'other' expected a QuerySnapshot instance.\",\n );\n }\n\n // Simple checks first\n if (\n this.empty !== other.empty ||\n this.size !== other.size ||\n !this.metadata.isEqual(other.metadata)\n ) {\n return false;\n }\n\n // Expensive check\n // Each doc must be in order & have the same data\n for (let i = 0; i < this.docs.length; i++) {\n const thisDoc = this.docs[i];\n const otherDoc = other.docs[i];\n\n if (!thisDoc.isEqual(otherDoc)) {\n return false;\n }\n }\n\n return true;\n }\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/1cd0ae3cdb856caa5f8f025836c2150b.json b/.expo/web/cache/development/babel-loader/1cd0ae3cdb856caa5f8f025836c2150b.json new file mode 100644 index 0000000000000000000000000000000000000000..1ef7d690b214a0a345fd931a0c6748b23720087a --- /dev/null +++ b/.expo/web/cache/development/babel-loader/1cd0ae3cdb856caa5f8f025836c2150b.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nimport NavigationBuilderContext from \"./NavigationBuilderContext\";\nexport default function useOnRouteFocus(_ref) {\n var router = _ref.router,\n getState = _ref.getState,\n sourceRouteKey = _ref.key,\n setState = _ref.setState;\n\n var _React$useContext = React.useContext(NavigationBuilderContext),\n onRouteFocusParent = _React$useContext.onRouteFocus;\n\n return React.useCallback(function (key) {\n var state = getState();\n var result = router.getStateForRouteFocus(state, key);\n\n if (result !== state) {\n setState(result);\n }\n\n if (onRouteFocusParent !== undefined && sourceRouteKey !== undefined) {\n onRouteFocusParent(sourceRouteKey);\n }\n }, [getState, onRouteFocusParent, router, setState, sourceRouteKey]);\n}","map":{"version":3,"sources":["useOnRouteFocus.tsx"],"names":["key","setState","onRouteFocus","onRouteFocusParent","React","state","getState","result","router","sourceRouteKey"],"mappings":"AAKA,OAAO,KAAP,KAAA,MAAA,OAAA;AAEA,OAAA,wBAAA;AAcA,eAAe,SAAA,eAAA,CAAA,IAAA,EAKK;AALqD,MAAA,MAAA,GAKrD,IALqD,CAAA,MAAA;AAAA,MAAA,QAAA,GAKrD,IALqD,CAAA,QAAA;AAAA,MAAA,cAAA,GAKrD,IALqD,CAGvEA,GAHuE;AAAA,MAIvEC,QAJuE,GAKrD,IALqD,CAIvEA,QAJuE;;AAMvE,0BAA6CG,KAAK,CAALA,UAAAA,CAA7C,wBAA6CA,CAA7C;AAAA,MAAsBD,kBAAtB,qBAAQD,YAAR;;AAIA,SAAO,KAAK,CAAL,WAAA,CACJF,UAAAA,GAAD,EAAiB;AACf,QAAMK,KAAK,GAAGC,QAAd,EAAA;AACA,QAAMC,MAAM,GAAGC,MAAM,CAANA,qBAAAA,CAAAA,KAAAA,EAAf,GAAeA,CAAf;;AAEA,QAAID,MAAM,KAAV,KAAA,EAAsB;AACpBN,MAAAA,QAAQ,CAARA,MAAQ,CAARA;AACD;;AAED,QAAIE,kBAAkB,KAAlBA,SAAAA,IAAoCM,cAAc,KAAtD,SAAA,EAAsE;AACpEN,MAAAA,kBAAkB,CAAlBA,cAAkB,CAAlBA;AACD;AAXE,GAAA,EAaL,CAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,QAAA,EAbF,cAaE,CAbK,CAAP;AAeD","sourcesContent":["import type {\n NavigationAction,\n NavigationState,\n Router,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationBuilderContext from './NavigationBuilderContext';\n\ntype Options<Action extends NavigationAction> = {\n router: Router<NavigationState, Action>;\n getState: () => NavigationState;\n setState: (state: NavigationState) => void;\n key?: string;\n};\n\n/**\n * Hook to handle focus actions for a route.\n * Focus action needs to be treated specially, coz when a nested route is focused,\n * the parent navigators also needs to be focused.\n */\nexport default function useOnRouteFocus<Action extends NavigationAction>({\n router,\n getState,\n key: sourceRouteKey,\n setState,\n}: Options<Action>) {\n const { onRouteFocus: onRouteFocusParent } = React.useContext(\n NavigationBuilderContext\n );\n\n return React.useCallback(\n (key: string) => {\n const state = getState();\n const result = router.getStateForRouteFocus(state, key);\n\n if (result !== state) {\n setState(result);\n }\n\n if (onRouteFocusParent !== undefined && sourceRouteKey !== undefined) {\n onRouteFocusParent(sourceRouteKey);\n }\n },\n [getState, onRouteFocusParent, router, setState, sourceRouteKey]\n );\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/1d117439e9aa8945c8a4e304e765fead.json b/.expo/web/cache/development/babel-loader/1d117439e9aa8945c8a4e304e765fead.json new file mode 100644 index 0000000000000000000000000000000000000000..9dfaed4c91d7cbc750b9396eff3f916253695784 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/1d117439e9aa8945c8a4e304e765fead.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore } from \"firebase/firestore\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar dbRef = firebase.firestore().collection('Users');\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n setUsers(users);\n });\n }, []);\n\n function writeData() {\n return _regeneratorRuntime.async(function writeData$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _regeneratorRuntime.awrap(db.collection(\"Users\").add(blol));\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n }\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsxs(Text, {\n children: [item.title, users.toString]\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\",\n onPress: writeData\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","dbRef","firebase","firestore","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","writeData","add","blol","params","Alert","alert","post","Item","item","onPress","backgroundColor","textColor","styles","title","toString","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore} from \"firebase/firestore\"\r\n\r\n\r\nconst dbRef = firebase.firestore().collection('Users');\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\nasync function writeData(){\r\n /*try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\n\r\nawait db.collection(\"Users\").add(blol)\r\n\r\n}\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})*/\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async (id) => {\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUser({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n {users.toString}\r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser' onPress={writeData}/>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/1d124ee83776792d9c353bd9658397a3.json b/.expo/web/cache/development/babel-loader/1d124ee83776792d9c353bd9658397a3.json new file mode 100644 index 0000000000000000000000000000000000000000..c635e42ba16f0fd96b3b483cda2cd08a61a56dc7 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/1d124ee83776792d9c353bd9658397a3.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _wrapNativeSuper from \"@babel/runtime/helpers/wrapNativeSuper\";\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar NativeFirebaseError = function (_Error) {\n _inherits(NativeFirebaseError, _Error);\n\n var _super = _createSuper(NativeFirebaseError);\n\n function NativeFirebaseError(nativeError, jsStack, namespace) {\n var _this;\n\n _classCallCheck(this, NativeFirebaseError);\n\n _this = _super.call(this);\n var userInfo = nativeError.userInfo;\n Object.defineProperty(_assertThisInitialized(_this), 'namespace', {\n enumerable: false,\n value: namespace\n });\n Object.defineProperty(_assertThisInitialized(_this), 'code', {\n enumerable: false,\n value: _this.namespace + \"/\" + (userInfo.code || 'unknown')\n });\n Object.defineProperty(_assertThisInitialized(_this), 'message', {\n enumerable: false,\n value: \"[\" + _this.code + \"] \" + (userInfo.message || nativeError.message)\n });\n Object.defineProperty(_assertThisInitialized(_this), 'jsStack', {\n enumerable: false,\n value: jsStack\n });\n Object.defineProperty(_assertThisInitialized(_this), 'userInfo', {\n enumerable: false,\n value: userInfo\n });\n Object.defineProperty(_assertThisInitialized(_this), 'nativeErrorCode', {\n enumerable: false,\n value: userInfo.nativeErrorCode || null\n });\n Object.defineProperty(_assertThisInitialized(_this), 'nativeErrorMessage', {\n enumerable: false,\n value: userInfo.nativeErrorMessage || null\n });\n _this.stack = NativeFirebaseError.getStackWithMessage(\"NativeFirebaseError: \" + _this.message, _this.jsStack);\n return _this;\n }\n\n _createClass(NativeFirebaseError, null, [{\n key: \"fromEvent\",\n value: function fromEvent(errorEvent, namespace, stack) {\n return new NativeFirebaseError({\n userInfo: errorEvent\n }, stack || new Error().stack, namespace);\n }\n }, {\n key: \"getStackWithMessage\",\n value: function getStackWithMessage(message, jsStack) {\n return [message].concat(_toConsumableArray(jsStack.split('\\n').slice(2, 13))).join('\\n');\n }\n }]);\n\n return NativeFirebaseError;\n}(_wrapNativeSuper(Error));\n\nexport { NativeFirebaseError as default };","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/app/lib/internal/NativeFirebaseError.js"],"names":["NativeFirebaseError","nativeError","jsStack","namespace","userInfo","Object","defineProperty","enumerable","value","code","message","nativeErrorCode","nativeErrorMessage","stack","getStackWithMessage","errorEvent","Error","split","slice","join"],"mappings":";;;;;;;;;;;;;IAiBqBA,mB;;;;;AAKnB,+BAAYC,WAAZ,EAAyBC,OAAzB,EAAkCC,SAAlC,EAA6C;AAAA;;AAAA;;AAC3C;AACA,QAAQC,QAAR,GAAqBH,WAArB,CAAQG,QAAR;AAEAC,IAAAA,MAAM,CAACC,cAAP,gCAA4B,WAA5B,EAAyC;AACvCC,MAAAA,UAAU,EAAE,KAD2B;AAEvCC,MAAAA,KAAK,EAAEL;AAFgC,KAAzC;AAKAE,IAAAA,MAAM,CAACC,cAAP,gCAA4B,MAA5B,EAAoC;AAClCC,MAAAA,UAAU,EAAE,KADsB;AAElCC,MAAAA,KAAK,EAAK,MAAKL,SAAV,UAAuBC,QAAQ,CAACK,IAAT,IAAiB,SAAxC;AAF6B,KAApC;AAKAJ,IAAAA,MAAM,CAACC,cAAP,gCAA4B,SAA5B,EAAuC;AACrCC,MAAAA,UAAU,EAAE,KADyB;AAErCC,MAAAA,KAAK,QAAM,MAAKC,IAAX,WAAoBL,QAAQ,CAACM,OAAT,IAAoBT,WAAW,CAACS,OAApD;AAFgC,KAAvC;AAKAL,IAAAA,MAAM,CAACC,cAAP,gCAA4B,SAA5B,EAAuC;AACrCC,MAAAA,UAAU,EAAE,KADyB;AAErCC,MAAAA,KAAK,EAAEN;AAF8B,KAAvC;AAKAG,IAAAA,MAAM,CAACC,cAAP,gCAA4B,UAA5B,EAAwC;AACtCC,MAAAA,UAAU,EAAE,KAD0B;AAEtCC,MAAAA,KAAK,EAAEJ;AAF+B,KAAxC;AAKAC,IAAAA,MAAM,CAACC,cAAP,gCAA4B,iBAA5B,EAA+C;AAC7CC,MAAAA,UAAU,EAAE,KADiC;AAE7CC,MAAAA,KAAK,EAAEJ,QAAQ,CAACO,eAAT,IAA4B;AAFU,KAA/C;AAKAN,IAAAA,MAAM,CAACC,cAAP,gCAA4B,oBAA5B,EAAkD;AAChDC,MAAAA,UAAU,EAAE,KADoC;AAEhDC,MAAAA,KAAK,EAAEJ,QAAQ,CAACQ,kBAAT,IAA+B;AAFU,KAAlD;AAKA,UAAKC,KAAL,GAAab,mBAAmB,CAACc,mBAApB,2BACa,MAAKJ,OADlB,EAEX,MAAKR,OAFM,CAAb;AAvC2C;AA+C5C;;;;WAnDD,mBAAiBa,UAAjB,EAA6BZ,SAA7B,EAAwCU,KAAxC,EAA+C;AAC7C,aAAO,IAAIb,mBAAJ,CAAwB;AAAEI,QAAAA,QAAQ,EAAEW;AAAZ,OAAxB,EAAkDF,KAAK,IAAI,IAAIG,KAAJ,GAAYH,KAAvE,EAA8EV,SAA9E,CAAP;AACD;;;WAwDD,6BAA2BO,OAA3B,EAAoCR,OAApC,EAA6C;AAC3C,aAAO,CAACQ,OAAD,4BAAaR,OAAO,CAACe,KAAR,CAAc,IAAd,EAAoBC,KAApB,CAA0B,CAA1B,EAA6B,EAA7B,CAAb,GAA+CC,IAA/C,CAAoD,IAApD,CAAP;AACD;;;;mBA7D8CH,K;;SAA5BhB,mB","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nexport default class NativeFirebaseError extends Error {\n static fromEvent(errorEvent, namespace, stack) {\n return new NativeFirebaseError({ userInfo: errorEvent }, stack || new Error().stack, namespace);\n }\n\n constructor(nativeError, jsStack, namespace) {\n super();\n const { userInfo } = nativeError;\n\n Object.defineProperty(this, 'namespace', {\n enumerable: false,\n value: namespace,\n });\n\n Object.defineProperty(this, 'code', {\n enumerable: false,\n value: `${this.namespace}/${userInfo.code || 'unknown'}`,\n });\n\n Object.defineProperty(this, 'message', {\n enumerable: false,\n value: `[${this.code}] ${userInfo.message || nativeError.message}`,\n });\n\n Object.defineProperty(this, 'jsStack', {\n enumerable: false,\n value: jsStack,\n });\n\n Object.defineProperty(this, 'userInfo', {\n enumerable: false,\n value: userInfo,\n });\n\n Object.defineProperty(this, 'nativeErrorCode', {\n enumerable: false,\n value: userInfo.nativeErrorCode || null,\n });\n\n Object.defineProperty(this, 'nativeErrorMessage', {\n enumerable: false,\n value: userInfo.nativeErrorMessage || null,\n });\n\n this.stack = NativeFirebaseError.getStackWithMessage(\n `NativeFirebaseError: ${this.message}`,\n this.jsStack,\n );\n\n // Unused\n // this.nativeStackIOS = nativeError.nativeStackIOS;\n // this.nativeStackAndroid = nativeError.nativeStackAndroid;\n }\n\n /**\n * Build a stack trace that includes JS stack prior to calling the native method.\n *\n * @returns {string}\n */\n static getStackWithMessage(message, jsStack) {\n return [message, ...jsStack.split('\\n').slice(2, 13)].join('\\n');\n }\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/1d532e8e492854b22cb963ae3cd7a119.json b/.expo/web/cache/development/babel-loader/1d532e8e492854b22cb963ae3cd7a119.json new file mode 100644 index 0000000000000000000000000000000000000000..654059d8c7adb4f3a2cdd62dd90fecee418ffe64 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/1d532e8e492854b22cb963ae3cd7a119.json @@ -0,0 +1 @@ +{"ast":null,"code":"function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nimport * as React from 'react';\nimport createElement from \"../createElement\";\nimport css from \"../StyleSheet/css\";\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 StyleSheet from \"../StyleSheet\";\nimport TextInputState from \"../../modules/TextInputState\";\n\nvar isSelectionStale = function 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\nvar setSelection = function setSelection(node, selection) {\n if (isSelectionStale(node, selection)) {\n var start = selection.start,\n end = selection.end;\n\n try {\n node.setSelectionRange(start, end || start);\n } catch (e) {}\n }\n};\n\nvar forwardPropsList = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, 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});\n\nvar pickProps = function pickProps(props) {\n return pick(props, forwardPropsList);\n};\n\nfunction isEventComposing(nativeEvent) {\n return nativeEvent.isComposing || nativeEvent.keyCode === 229;\n}\n\nvar TextInput = React.forwardRef(function (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 clearTextOnFocus = props.clearTextOnFocus,\n dir = props.dir,\n _props$editable = props.editable,\n editable = _props$editable === void 0 ? true : _props$editable,\n _props$keyboardType = props.keyboardType,\n keyboardType = _props$keyboardType === void 0 ? 'default' : _props$keyboardType,\n _props$multiline = props.multiline,\n multiline = _props$multiline === void 0 ? false : _props$multiline,\n _props$numberOfLines = props.numberOfLines,\n numberOfLines = _props$numberOfLines === void 0 ? 1 : _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 returnKeyType = props.returnKeyType,\n _props$secureTextEntr = props.secureTextEntry,\n secureTextEntry = _props$secureTextEntr === void 0 ? false : _props$secureTextEntr,\n selection = props.selection,\n selectTextOnFocus = props.selectTextOnFocus,\n spellCheck = props.spellCheck;\n var type;\n var inputMode;\n\n switch (keyboardType) {\n case 'email-address':\n type = 'email';\n break;\n\n case 'number-pad':\n case 'numeric':\n inputMode = 'numeric';\n break;\n\n case 'decimal-pad':\n inputMode = 'decimal';\n break;\n\n case 'phone-pad':\n type = 'tel';\n break;\n\n case 'search':\n case 'web-search':\n type = 'search';\n break;\n\n case 'url':\n type = 'url';\n break;\n\n default:\n type = 'text';\n }\n\n if (secureTextEntry) {\n type = 'password';\n }\n\n var dimensions = React.useRef({\n height: null,\n width: null\n });\n var hostRef = React.useRef(null);\n var handleContentSizeChange = React.useCallback(function (hostNode) {\n if (multiline && onContentSizeChange && hostNode != null) {\n var newHeight = hostNode.scrollHeight;\n var newWidth = hostNode.scrollWidth;\n\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(function () {\n return function (hostNode) {\n if (hostNode != null) {\n hostNode.clear = function () {\n if (hostNode != null) {\n hostNode.value = '';\n }\n };\n\n hostNode.isFocused = function () {\n return hostNode != null && TextInputState.currentlyFocusedField() === hostNode;\n };\n\n handleContentSizeChange(hostNode);\n }\n };\n }, [handleContentSizeChange]);\n\n function handleBlur(e) {\n TextInputState._currentlyFocusedNode = null;\n\n if (onBlur) {\n e.nativeEvent.text = e.target.value;\n onBlur(e);\n }\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\n if (onChange) {\n onChange(e);\n }\n\n if (onChangeText) {\n onChangeText(text);\n }\n }\n\n function handleFocus(e) {\n var hostNode = e.target;\n\n if (onFocus) {\n e.nativeEvent.text = hostNode.value;\n onFocus(e);\n }\n\n if (hostNode != null) {\n TextInputState._currentlyFocusedNode = hostNode;\n\n if (clearTextOnFocus) {\n hostNode.value = '';\n }\n\n if (selectTextOnFocus) {\n setTimeout(function () {\n hostNode.select();\n }, 0);\n }\n }\n }\n\n function handleKeyDown(e) {\n var hostNode = e.target;\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\n if (onKeyPress) {\n onKeyPress(e);\n }\n\n if (e.key === 'Enter' && !e.shiftKey && !isComposing && !e.isDefaultPrevented()) {\n if ((blurOnSubmit || !multiline) && onSubmitEditing) {\n e.preventDefault();\n nativeEvent.text = e.target.value;\n onSubmitEditing(e);\n }\n\n if (shouldBlurOnSubmit && hostNode != null) {\n hostNode.blur();\n }\n }\n }\n\n function handleSelectionChange(e) {\n if (onSelectionChange) {\n try {\n var node = e.target;\n var selectionStart = node.selectionStart,\n selectionEnd = node.selectionEnd;\n e.nativeEvent.selection = {\n start: selectionStart,\n end: selectionEnd\n };\n e.nativeEvent.text = e.target.value;\n onSelectionChange(e);\n } catch (e) {}\n }\n }\n\n useLayoutEffect(function () {\n var node = hostRef.current;\n\n if (node != null && selection != null) {\n setSelection(node, selection);\n }\n\n if (document.activeElement === node) {\n TextInputState._currentlyFocusedNode = node;\n }\n }, [hostRef, selection]);\n var component = multiline ? 'textarea' : 'input';\n var classList = [classes.textinput];\n var style = StyleSheet.compose(props.style, placeholderTextColor && {\n placeholderTextColor: placeholderTextColor\n });\n useElementLayout(hostRef, onLayout);\n useResponderEvents(hostRef, {\n onMoveShouldSetResponder: onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture: onMoveShouldSetResponderCapture,\n onResponderEnd: onResponderEnd,\n onResponderGrant: onResponderGrant,\n onResponderMove: onResponderMove,\n onResponderReject: onResponderReject,\n onResponderRelease: onResponderRelease,\n onResponderStart: onResponderStart,\n onResponderTerminate: onResponderTerminate,\n onResponderTerminationRequest: onResponderTerminationRequest,\n onScrollShouldSetResponder: onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture: onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder: onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture: onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder: onStartShouldSetResponder,\n onStartShouldSetResponderCapture: onStartShouldSetResponderCapture\n });\n var supportedProps = pickProps(props);\n supportedProps.autoCapitalize = autoCapitalize;\n supportedProps.autoComplete = autoComplete || autoCompleteType || 'on';\n supportedProps.autoCorrect = autoCorrect ? 'on' : 'off';\n supportedProps.classList = classList;\n supportedProps.dir = dir !== undefined ? dir : 'auto';\n supportedProps.enterKeyHint = returnKeyType;\n supportedProps.onBlur = handleBlur;\n supportedProps.onChange = handleChange;\n supportedProps.onFocus = handleFocus;\n supportedProps.onKeyDown = handleKeyDown;\n supportedProps.onSelect = handleSelectionChange;\n supportedProps.readOnly = !editable;\n supportedProps.rows = multiline ? numberOfLines : undefined;\n supportedProps.spellCheck = spellCheck != null ? spellCheck : autoCorrect;\n supportedProps.style = style;\n supportedProps.type = multiline ? undefined : type;\n supportedProps.inputMode = inputMode;\n var platformMethodsRef = usePlatformMethods(supportedProps);\n var setRef = useMergeRefs(hostRef, platformMethodsRef, imperativeRef, forwardedRef);\n supportedProps.ref = setRef;\n return createElement(component, supportedProps);\n});\nTextInput.displayName = 'TextInput';\nTextInput.State = TextInputState;\nvar classes = css.create({\n textinput: {\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});\nexport default TextInput;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/TextInput/index.js"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","React","createElement","css","forwardedProps","pick","useElementLayout","useLayoutEffect","useMergeRefs","usePlatformMethods","useResponderEvents","StyleSheet","TextInputState","isSelectionStale","node","selection","selectionEnd","selectionStart","start","end","setSelection","setSelectionRange","e","forwardPropsList","defaultProps","accessibilityProps","clickProps","focusProps","keyboardProps","mouseProps","touchProps","styleProps","autoCapitalize","autoComplete","autoCorrect","autoFocus","defaultValue","disabled","lang","maxLength","onChange","onScroll","placeholder","pointerEvents","readOnly","rows","spellCheck","type","pickProps","props","isEventComposing","nativeEvent","isComposing","keyCode","TextInput","forwardRef","forwardedRef","_props$autoCapitalize","autoCompleteType","_props$autoCorrect","blurOnSubmit","clearTextOnFocus","dir","_props$editable","editable","_props$keyboardType","keyboardType","_props$multiline","multiline","_props$numberOfLines","numberOfLines","onBlur","onChangeText","onContentSizeChange","onFocus","onKeyPress","onLayout","onMoveShouldSetResponder","onMoveShouldSetResponderCapture","onResponderEnd","onResponderGrant","onResponderMove","onResponderReject","onResponderRelease","onResponderStart","onResponderTerminate","onResponderTerminationRequest","onScrollShouldSetResponder","onScrollShouldSetResponderCapture","onSelectionChange","onSelectionChangeShouldSetResponder","onSelectionChangeShouldSetResponderCapture","onStartShouldSetResponder","onStartShouldSetResponderCapture","onSubmitEditing","placeholderTextColor","returnKeyType","_props$secureTextEntr","secureTextEntry","selectTextOnFocus","inputMode","dimensions","useRef","height","width","hostRef","handleContentSizeChange","useCallback","hostNode","newHeight","scrollHeight","newWidth","scrollWidth","current","contentSize","imperativeRef","useMemo","clear","isFocused","currentlyFocusedField","handleBlur","_currentlyFocusedNode","text","handleChange","handleFocus","setTimeout","select","handleKeyDown","stopPropagation","blurOnSubmitDefault","shouldBlurOnSubmit","shiftKey","isDefaultPrevented","preventDefault","blur","handleSelectionChange","document","activeElement","component","classList","classes","textinput","style","compose","supportedProps","undefined","enterKeyHint","onKeyDown","onSelect","platformMethodsRef","setRef","ref","displayName","State","create","MozAppearance","WebkitAppearance","backgroundColor","border","borderRadius","boxSizing","font","margin","padding","resize"],"mappings":"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","sourcesContent":["function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport css from '../StyleSheet/css';\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 StyleSheet from '../StyleSheet';\nimport TextInputState from '../../modules/TextInputState';\n/**\n * Determines whether a 'selection' prop differs from a node's existing\n * selection state.\n */\n\nvar isSelectionStale = function 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 * Certain input types do no support 'selectSelectionRange' and will throw an\n * error.\n */\n\n\nvar setSelection = function setSelection(node, selection) {\n if (isSelectionStale(node, selection)) {\n var start = selection.start,\n end = selection.end;\n\n try {\n node.setSelectionRange(start, end || start);\n } catch (e) {}\n }\n};\n\nvar forwardPropsList = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, 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});\n\nvar pickProps = function pickProps(props) {\n return pick(props, forwardPropsList);\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\n\n\nfunction isEventComposing(nativeEvent) {\n return nativeEvent.isComposing || nativeEvent.keyCode === 229;\n}\n\nvar TextInput = /*#__PURE__*/React.forwardRef(function (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 clearTextOnFocus = props.clearTextOnFocus,\n dir = props.dir,\n _props$editable = props.editable,\n editable = _props$editable === void 0 ? true : _props$editable,\n _props$keyboardType = props.keyboardType,\n keyboardType = _props$keyboardType === void 0 ? 'default' : _props$keyboardType,\n _props$multiline = props.multiline,\n multiline = _props$multiline === void 0 ? false : _props$multiline,\n _props$numberOfLines = props.numberOfLines,\n numberOfLines = _props$numberOfLines === void 0 ? 1 : _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 returnKeyType = props.returnKeyType,\n _props$secureTextEntr = props.secureTextEntry,\n secureTextEntry = _props$secureTextEntr === void 0 ? false : _props$secureTextEntr,\n selection = props.selection,\n selectTextOnFocus = props.selectTextOnFocus,\n spellCheck = props.spellCheck;\n var type;\n var inputMode;\n\n switch (keyboardType) {\n case 'email-address':\n type = 'email';\n break;\n\n case 'number-pad':\n case 'numeric':\n inputMode = 'numeric';\n break;\n\n case 'decimal-pad':\n inputMode = 'decimal';\n break;\n\n case 'phone-pad':\n type = 'tel';\n break;\n\n case 'search':\n case 'web-search':\n type = 'search';\n break;\n\n case 'url':\n type = 'url';\n break;\n\n default:\n type = 'text';\n }\n\n if (secureTextEntry) {\n type = 'password';\n }\n\n var dimensions = React.useRef({\n height: null,\n width: null\n });\n var hostRef = React.useRef(null);\n var handleContentSizeChange = React.useCallback(function (hostNode) {\n if (multiline && onContentSizeChange && hostNode != null) {\n var newHeight = hostNode.scrollHeight;\n var newWidth = hostNode.scrollWidth;\n\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(function () {\n return function (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\n hostNode.isFocused = function () {\n return hostNode != null && TextInputState.currentlyFocusedField() === hostNode;\n };\n\n handleContentSizeChange(hostNode);\n }\n };\n }, [handleContentSizeChange]);\n\n function handleBlur(e) {\n TextInputState._currentlyFocusedNode = null;\n\n if (onBlur) {\n e.nativeEvent.text = e.target.value;\n onBlur(e);\n }\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\n if (onChange) {\n onChange(e);\n }\n\n if (onChangeText) {\n onChangeText(text);\n }\n }\n\n function handleFocus(e) {\n var hostNode = e.target;\n\n if (onFocus) {\n e.nativeEvent.text = hostNode.value;\n onFocus(e);\n }\n\n if (hostNode != null) {\n TextInputState._currentlyFocusedNode = hostNode;\n\n if (clearTextOnFocus) {\n hostNode.value = '';\n }\n\n if (selectTextOnFocus) {\n // Safari requires selection to occur in a setTimeout\n setTimeout(function () {\n hostNode.select();\n }, 0);\n }\n }\n }\n\n function handleKeyDown(e) {\n var hostNode = e.target; // Prevent key events bubbling (see #612)\n\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\n if (onKeyPress) {\n onKeyPress(e);\n }\n\n if (e.key === 'Enter' && !e.shiftKey && // 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\n if (shouldBlurOnSubmit && hostNode != null) {\n hostNode.blur();\n }\n }\n }\n\n function handleSelectionChange(e) {\n if (onSelectionChange) {\n try {\n var node = e.target;\n var selectionStart = node.selectionStart,\n selectionEnd = node.selectionEnd;\n e.nativeEvent.selection = {\n start: selectionStart,\n end: selectionEnd\n };\n e.nativeEvent.text = e.target.value;\n onSelectionChange(e);\n } catch (e) {}\n }\n }\n\n useLayoutEffect(function () {\n var node = hostRef.current;\n\n if (node != null && selection != null) {\n setSelection(node, selection);\n }\n\n if (document.activeElement === node) {\n TextInputState._currentlyFocusedNode = node;\n }\n }, [hostRef, selection]);\n var component = multiline ? 'textarea' : 'input';\n var classList = [classes.textinput];\n var style = StyleSheet.compose(props.style, placeholderTextColor && {\n placeholderTextColor: placeholderTextColor\n });\n useElementLayout(hostRef, onLayout);\n useResponderEvents(hostRef, {\n onMoveShouldSetResponder: onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture: onMoveShouldSetResponderCapture,\n onResponderEnd: onResponderEnd,\n onResponderGrant: onResponderGrant,\n onResponderMove: onResponderMove,\n onResponderReject: onResponderReject,\n onResponderRelease: onResponderRelease,\n onResponderStart: onResponderStart,\n onResponderTerminate: onResponderTerminate,\n onResponderTerminationRequest: onResponderTerminationRequest,\n onScrollShouldSetResponder: onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture: onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder: onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture: onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder: onStartShouldSetResponder,\n onStartShouldSetResponderCapture: onStartShouldSetResponderCapture\n });\n var supportedProps = pickProps(props);\n supportedProps.autoCapitalize = autoCapitalize;\n supportedProps.autoComplete = autoComplete || autoCompleteType || 'on';\n supportedProps.autoCorrect = autoCorrect ? 'on' : 'off';\n supportedProps.classList = classList; // 'auto' by default allows browsers to infer writing direction\n\n supportedProps.dir = dir !== undefined ? dir : 'auto';\n supportedProps.enterKeyHint = returnKeyType;\n supportedProps.onBlur = handleBlur;\n supportedProps.onChange = handleChange;\n supportedProps.onFocus = handleFocus;\n supportedProps.onKeyDown = handleKeyDown;\n supportedProps.onSelect = handleSelectionChange;\n supportedProps.readOnly = !editable;\n supportedProps.rows = multiline ? numberOfLines : undefined;\n supportedProps.spellCheck = spellCheck != null ? spellCheck : autoCorrect;\n supportedProps.style = style;\n supportedProps.type = multiline ? undefined : type;\n supportedProps.inputMode = inputMode;\n var platformMethodsRef = usePlatformMethods(supportedProps);\n var setRef = useMergeRefs(hostRef, platformMethodsRef, imperativeRef, forwardedRef);\n supportedProps.ref = setRef;\n return createElement(component, supportedProps);\n});\nTextInput.displayName = 'TextInput'; // $FlowFixMe\n\nTextInput.State = TextInputState;\nvar classes = css.create({\n textinput: {\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});\nexport default TextInput;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/1d64fecfc178edc2aaadb17829da2e71.json b/.expo/web/cache/development/babel-loader/1d64fecfc178edc2aaadb17829da2e71.json new file mode 100644 index 0000000000000000000000000000000000000000..54a8be94fcbaaef0911e9fba253579180f50370f --- /dev/null +++ b/.expo/web/cache/development/babel-loader/1d64fecfc178edc2aaadb17829da2e71.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nvar NavigationBuilderContext = React.createContext({\n onDispatchAction: function onDispatchAction() {\n return undefined;\n },\n onOptionsChange: function onOptionsChange() {\n return undefined;\n }\n});\nexport default NavigationBuilderContext;","map":{"version":3,"sources":["NavigationBuilderContext.tsx"],"names":["NavigationBuilderContext","onDispatchAction","onOptionsChange","undefined"],"mappings":"AAKA,OAAO,KAAP,KAAA,MAAA,OAAA;AAgDA,IAAMA,wBAAwB,GAAG,KAAK,CAAL,aAAA,CAW9B;AACDC,EAAAA,gBAAgB,EAAE;AAAA,WADjB,SACiB;AAAA,GADjB;AAEDC,EAAAA,eAAe,EAAE;AAAA,WAAMC,SAAN;AAAA;AAFhB,CAX8B,CAAjC;AAgBA,eAAA,wBAAA","sourcesContent":["import type {\n NavigationAction,\n NavigationState,\n ParamListBase,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { NavigationHelpers } from './types';\n\nexport type ListenerMap = {\n action: ChildActionListener;\n focus: FocusedNavigationListener;\n};\n\nexport type KeyedListenerMap = {\n getState: GetStateListener;\n beforeRemove: ChildBeforeRemoveListener;\n};\n\nexport type AddListener = <T extends keyof ListenerMap>(\n type: T,\n listener: ListenerMap[T]\n) => void;\n\nexport type AddKeyedListener = <T extends keyof KeyedListenerMap>(\n type: T,\n key: string,\n listener: KeyedListenerMap[T]\n) => void;\n\nexport type ChildActionListener = (\n action: NavigationAction,\n visitedNavigators?: Set<string>\n) => boolean;\n\nexport type FocusedNavigationCallback<T> = (\n navigation: NavigationHelpers<ParamListBase>\n) => T;\n\nexport type FocusedNavigationListener = <T>(\n callback: FocusedNavigationCallback<T>\n) => {\n handled: boolean;\n result: T;\n};\n\nexport type GetStateListener = () => NavigationState;\n\nexport type ChildBeforeRemoveListener = (action: NavigationAction) => boolean;\n\n/**\n * Context which holds the required helpers needed to build nested navigators.\n */\nconst NavigationBuilderContext = React.createContext<{\n onAction?: (\n action: NavigationAction,\n visitedNavigators?: Set<string>\n ) => boolean;\n addListener?: AddListener;\n addKeyedListener?: AddKeyedListener;\n onRouteFocus?: (key: string) => void;\n onDispatchAction: (action: NavigationAction, noop: boolean) => void;\n onOptionsChange: (options: object) => void;\n stackRef?: React.MutableRefObject<string | undefined>;\n}>({\n onDispatchAction: () => undefined,\n onOptionsChange: () => undefined,\n});\n\nexport default NavigationBuilderContext;\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/1d7781888c75b514d56364887a2b95c2.json b/.expo/web/cache/development/babel-loader/1d7781888c75b514d56364887a2b95c2.json new file mode 100644 index 0000000000000000000000000000000000000000..62dab8e18cd846f02ec7a060f4db429af32e8c68 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/1d7781888c75b514d56364887a2b95c2.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore } from \"firebase/firestore\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar dbRef = firebase.firestore().collection('Users');\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n setUsers(users);\n });\n }, []);\n\n function writeData() {\n dbRef.add({\n Email: \"Ada\",\n Image: \"Lovelace\",\n Name: \"1815\"\n });\n }\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsxs(Text, {\n children: [item.title, users.toString]\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\",\n onPress: writeData\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","dbRef","firebase","firestore","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","writeData","add","params","Alert","alert","post","Item","item","onPress","backgroundColor","textColor","styles","title","toString","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore} from \"firebase/firestore\"\r\n\r\n\r\nconst dbRef = firebase.firestore().collection('Users');\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\nfunction writeData(){\r\n /*try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\n\r\n\r\n\r\n\r\n\r\ndbRef.add({\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n})\r\n}\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})*/\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async (id) => {\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUser({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n {users.toString}\r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser' onPress={writeData}/>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/1e49ea7f25bafcfb30861394c60c9835.json b/.expo/web/cache/development/babel-loader/1e49ea7f25bafcfb30861394c60c9835.json new file mode 100644 index 0000000000000000000000000000000000000000..0ba81bcb440067f3ba64565657381326d8df52ec --- /dev/null +++ b/.expo/web/cache/development/babel-loader/1e49ea7f25bafcfb30861394c60c9835.json @@ -0,0 +1 @@ +{"ast":null,"code":"var DefaultTheme = {\n dark: false,\n colors: {\n primary: 'rgb(0, 122, 255)',\n background: 'rgb(242, 242, 242)',\n card: 'rgb(255, 255, 255)',\n text: 'rgb(28, 28, 30)',\n border: 'rgb(216, 216, 216)',\n notification: 'rgb(255, 59, 48)'\n }\n};\nexport default DefaultTheme;","map":{"version":3,"sources":["DefaultTheme.tsx"],"names":["DefaultTheme","dark","colors","primary","background","card","text","border","notification"],"mappings":"AAEA,IAAMA,YAAmB,GAAG;AAC1BC,EAAAA,IAAI,EADsB,KAAA;AAE1BC,EAAAA,MAAM,EAAE;AACNC,IAAAA,OAAO,EADD,kBAAA;AAENC,IAAAA,UAAU,EAFJ,oBAAA;AAGNC,IAAAA,IAAI,EAHE,oBAAA;AAINC,IAAAA,IAAI,EAJE,iBAAA;AAKNC,IAAAA,MAAM,EALA,oBAAA;AAMNC,IAAAA,YAAY,EAAE;AANR;AAFkB,CAA5B;AAYA,eAAA,YAAA","sourcesContent":["import type { Theme } from '../types';\n\nconst DefaultTheme: Theme = {\n dark: false,\n colors: {\n primary: 'rgb(0, 122, 255)',\n background: 'rgb(242, 242, 242)',\n card: 'rgb(255, 255, 255)',\n text: 'rgb(28, 28, 30)',\n border: 'rgb(216, 216, 216)',\n notification: 'rgb(255, 59, 48)',\n },\n};\n\nexport default DefaultTheme;\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/1eb4f4bcbdbed30c05587be08f5ab87c.json b/.expo/web/cache/development/babel-loader/1eb4f4bcbdbed30c05587be08f5ab87c.json new file mode 100644 index 0000000000000000000000000000000000000000..bb8a8c059417046713b7665050382546b12c1ab3 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/1eb4f4bcbdbed30c05587be08f5ab87c.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users.toString);\n setUsers(users);\n });\n }, []);\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {\n children: item.Name\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: users,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","params","post","Item","item","onPress","backgroundColor","textColor","styles","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users.toString);\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\n/*function writeData(){\r\n \r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})\r\n}*/\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async () => {\r\n const id = 'q5EOqKxKEsAO6lLmhbnc';\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUsers({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n Alert.alert(users[0])\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.Name} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser'/> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={users}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/1fffbc8da081155dc15d6dc29538c100.json b/.expo/web/cache/development/babel-loader/1fffbc8da081155dc15d6dc29538c100.json new file mode 100644 index 0000000000000000000000000000000000000000..a996f81d3ccf570572e1ebea5572dedb237480b3 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/1fffbc8da081155dc15d6dc29538c100.json @@ -0,0 +1 @@ +{"ast":null,"code":"import Animated from \"../../vendor/react-native/Animated/Animated\";\nexport default Animated;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/Animated/index.js"],"names":["Animated"],"mappings":"AAQA,OAAOA,QAAP;AACA,eAAeA,QAAf","sourcesContent":["/**\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 Animated from '../../vendor/react-native/Animated/Animated';\nexport default Animated;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/204b5dc8fd945f22ec3f8ac8f4cedb7d.json b/.expo/web/cache/development/babel-loader/204b5dc8fd945f22ec3f8ac8f4cedb7d.json new file mode 100644 index 0000000000000000000000000000000000000000..bd15224e0957d94a44152400f4ef94ad511114d1 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/204b5dc8fd945f22ec3f8ac8f4cedb7d.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } 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\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(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\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 ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport escape from 'escape-string-regexp';\nimport * as queryString from 'query-string';\nimport findFocusedRoute from \"./findFocusedRoute\";\nimport validatePathConfig from \"./validatePathConfig\";\nexport default function getStateFromPath(path, options) {\n var _ref;\n\n if (options) {\n validatePathConfig(options);\n }\n\n var initialRoutes = [];\n\n if (options !== null && options !== void 0 && options.initialRouteName) {\n initialRoutes.push({\n initialRouteName: options.initialRouteName,\n parentScreens: []\n });\n }\n\n var screens = options === null || options === void 0 ? void 0 : options.screens;\n var remaining = path.replace(/\\/+/g, '/').replace(/^\\//, '').replace(/\\?.*$/, '');\n remaining = remaining.endsWith('/') ? remaining : remaining + \"/\";\n\n if (screens === undefined) {\n var _routes = remaining.split('/').filter(Boolean).map(function (segment) {\n var name = decodeURIComponent(segment);\n return {\n name: name\n };\n });\n\n if (_routes.length) {\n return createNestedStateObject(path, _routes, initialRoutes);\n }\n\n return undefined;\n }\n\n var configs = (_ref = []).concat.apply(_ref, _toConsumableArray(Object.keys(screens).map(function (key) {\n return createNormalizedConfigs(key, screens, [], initialRoutes, []);\n }))).sort(function (a, b) {\n if (a.pattern === b.pattern) {\n return b.routeNames.join('>').localeCompare(a.routeNames.join('>'));\n }\n\n if (a.pattern.startsWith(b.pattern)) {\n return -1;\n }\n\n if (b.pattern.startsWith(a.pattern)) {\n return 1;\n }\n\n var aParts = a.pattern.split('/');\n var bParts = b.pattern.split('/');\n\n for (var i = 0; i < Math.max(aParts.length, bParts.length); i++) {\n if (aParts[i] == null) {\n return 1;\n }\n\n if (bParts[i] == null) {\n return -1;\n }\n\n var aWildCard = aParts[i] === '*' || aParts[i].startsWith(':');\n var bWildCard = bParts[i] === '*' || bParts[i].startsWith(':');\n\n if (aWildCard && bWildCard) {\n continue;\n }\n\n if (aWildCard) {\n return 1;\n }\n\n if (bWildCard) {\n return -1;\n }\n }\n\n return bParts.length - aParts.length;\n });\n\n configs.reduce(function (acc, config) {\n if (acc[config.pattern]) {\n var a = acc[config.pattern].routeNames;\n var b = config.routeNames;\n var intersects = a.length > b.length ? b.every(function (it, i) {\n return a[i] === it;\n }) : a.every(function (it, i) {\n return b[i] === it;\n });\n\n if (!intersects) {\n throw new Error(\"Found conflicting screens with the same pattern. The pattern '\" + config.pattern + \"' resolves to both '\" + a.join(' > ') + \"' and '\" + b.join(' > ') + \"'. Patterns must be unique and cannot resolve to more than one screen.\");\n }\n }\n\n return _extends(acc, _defineProperty({}, config.pattern, config));\n }, {});\n\n if (remaining === '/') {\n var match = configs.find(function (config) {\n return config.path === '' && config.routeNames.every(function (name) {\n var _configs$find;\n\n return !((_configs$find = configs.find(function (c) {\n return c.screen === name;\n })) !== null && _configs$find !== void 0 && _configs$find.path);\n });\n });\n\n if (match) {\n return createNestedStateObject(path, match.routeNames.map(function (name) {\n return {\n name: name\n };\n }), initialRoutes, configs);\n }\n\n return undefined;\n }\n\n var result;\n var current;\n\n var _matchAgainstConfigs = matchAgainstConfigs(remaining, configs.map(function (c) {\n return _objectSpread(_objectSpread({}, c), {}, {\n regex: c.regex ? new RegExp(c.regex.source + '$') : undefined\n });\n })),\n routes = _matchAgainstConfigs.routes,\n remainingPath = _matchAgainstConfigs.remainingPath;\n\n if (routes !== undefined) {\n current = createNestedStateObject(path, routes, initialRoutes, configs);\n remaining = remainingPath;\n result = current;\n }\n\n if (current == null || result == null) {\n return undefined;\n }\n\n return result;\n}\n\nvar joinPaths = function joinPaths() {\n var _ref2;\n\n for (var _len = arguments.length, paths = new Array(_len), _key = 0; _key < _len; _key++) {\n paths[_key] = arguments[_key];\n }\n\n return (_ref2 = []).concat.apply(_ref2, _toConsumableArray(paths.map(function (p) {\n return p.split('/');\n }))).filter(Boolean).join('/');\n};\n\nvar matchAgainstConfigs = function matchAgainstConfigs(remaining, configs) {\n var routes;\n var remainingPath = remaining;\n\n var _loop = function _loop(config) {\n if (!config.regex) {\n return \"continue\";\n }\n\n var match = remainingPath.match(config.regex);\n\n if (match) {\n var matchedParams = (_config$pattern = config.pattern) === null || _config$pattern === void 0 ? void 0 : _config$pattern.split('/').filter(function (p) {\n return p.startsWith(':');\n }).reduce(function (acc, p, i) {\n return _extends(acc, _defineProperty({}, p, match[(i + 1) * 2].replace(/\\//, '')));\n }, {});\n routes = config.routeNames.map(function (name) {\n var _config$path;\n\n var config = configs.find(function (c) {\n return c.screen === name;\n });\n var params = config === null || config === void 0 ? void 0 : (_config$path = config.path) === null || _config$path === void 0 ? void 0 : _config$path.split('/').filter(function (p) {\n return p.startsWith(':');\n }).reduce(function (acc, p) {\n var value = matchedParams[p];\n\n if (value) {\n var _config$parse;\n\n var key = p.replace(/^:/, '').replace(/\\?$/, '');\n acc[key] = (_config$parse = config.parse) !== null && _config$parse !== void 0 && _config$parse[key] ? config.parse[key](value) : value;\n }\n\n return acc;\n }, {});\n\n if (params && Object.keys(params).length) {\n return {\n name: name,\n params: params\n };\n }\n\n return {\n name: name\n };\n });\n remainingPath = remainingPath.replace(match[1], '');\n return \"break\";\n }\n };\n\n for (var _iterator = _createForOfIteratorHelperLoose(configs), _step; !(_step = _iterator()).done;) {\n var config = _step.value;\n\n var _config$pattern;\n\n var _ret = _loop(config);\n\n if (_ret === \"continue\") continue;\n if (_ret === \"break\") break;\n }\n\n return {\n routes: routes,\n remainingPath: remainingPath\n };\n};\n\nvar createNormalizedConfigs = function createNormalizedConfigs(screen, routeConfig) {\n var routeNames = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n var initials = arguments.length > 3 ? arguments[3] : undefined;\n var parentScreens = arguments.length > 4 ? arguments[4] : undefined;\n var parentPattern = arguments.length > 5 ? arguments[5] : undefined;\n var configs = [];\n routeNames.push(screen);\n parentScreens.push(screen);\n var config = routeConfig[screen];\n\n if (typeof config === 'string') {\n var pattern = parentPattern ? joinPaths(parentPattern, config) : config;\n configs.push(createConfigItem(screen, routeNames, pattern, config));\n } else if (typeof config === 'object') {\n var _pattern2;\n\n if (typeof config.path === 'string') {\n if (config.exact && config.path === undefined) {\n throw new Error(\"A 'path' needs to be specified when specifying 'exact: true'. If you don't want this screen in the URL, specify it as empty string, e.g. `path: ''`.\");\n }\n\n _pattern2 = config.exact !== true ? joinPaths(parentPattern || '', config.path || '') : config.path || '';\n configs.push(createConfigItem(screen, routeNames, _pattern2, config.path, config.parse));\n }\n\n if (config.screens) {\n if (config.initialRouteName) {\n initials.push({\n initialRouteName: config.initialRouteName,\n parentScreens: parentScreens\n });\n }\n\n Object.keys(config.screens).forEach(function (nestedConfig) {\n var _pattern;\n\n var result = createNormalizedConfigs(nestedConfig, config.screens, routeNames, initials, _toConsumableArray(parentScreens), (_pattern = _pattern2) !== null && _pattern !== void 0 ? _pattern : parentPattern);\n configs.push.apply(configs, _toConsumableArray(result));\n });\n }\n }\n\n routeNames.pop();\n return configs;\n};\n\nvar createConfigItem = function createConfigItem(screen, routeNames, pattern, path, parse) {\n pattern = pattern.split('/').filter(Boolean).join('/');\n var regex = pattern ? new RegExp(\"^(\" + pattern.split('/').map(function (it) {\n if (it.startsWith(':')) {\n return \"(([^/]+\\\\/)\" + (it.endsWith('?') ? '?' : '') + \")\";\n }\n\n return (it === '*' ? '.*' : escape(it)) + \"\\\\/\";\n }).join('') + \")\") : undefined;\n return {\n screen: screen,\n regex: regex,\n pattern: pattern,\n path: path,\n routeNames: _toConsumableArray(routeNames),\n parse: parse\n };\n};\n\nvar findParseConfigForRoute = function findParseConfigForRoute(routeName, flatConfig) {\n for (var _iterator2 = _createForOfIteratorHelperLoose(flatConfig), _step2; !(_step2 = _iterator2()).done;) {\n var config = _step2.value;\n\n if (routeName === config.routeNames[config.routeNames.length - 1]) {\n return config.parse;\n }\n }\n\n return undefined;\n};\n\nvar findInitialRoute = function findInitialRoute(routeName, parentScreens, initialRoutes) {\n for (var _iterator3 = _createForOfIteratorHelperLoose(initialRoutes), _step3; !(_step3 = _iterator3()).done;) {\n var config = _step3.value;\n\n if (parentScreens.length === config.parentScreens.length) {\n var sameParents = true;\n\n for (var i = 0; i < parentScreens.length; i++) {\n if (parentScreens[i].localeCompare(config.parentScreens[i]) !== 0) {\n sameParents = false;\n break;\n }\n }\n\n if (sameParents) {\n return routeName !== config.initialRouteName ? config.initialRouteName : undefined;\n }\n }\n }\n\n return undefined;\n};\n\nvar createStateObject = function createStateObject(initialRoute, route, isEmpty) {\n if (isEmpty) {\n if (initialRoute) {\n return {\n index: 1,\n routes: [{\n name: initialRoute\n }, route]\n };\n } else {\n return {\n routes: [route]\n };\n }\n } else {\n if (initialRoute) {\n return {\n index: 1,\n routes: [{\n name: initialRoute\n }, _objectSpread(_objectSpread({}, route), {}, {\n state: {\n routes: []\n }\n })]\n };\n } else {\n return {\n routes: [_objectSpread(_objectSpread({}, route), {}, {\n state: {\n routes: []\n }\n })]\n };\n }\n }\n};\n\nvar createNestedStateObject = function createNestedStateObject(path, routes, initialRoutes, flatConfig) {\n var state;\n var route = routes.shift();\n var parentScreens = [];\n var initialRoute = findInitialRoute(route.name, parentScreens, initialRoutes);\n parentScreens.push(route.name);\n state = createStateObject(initialRoute, route, routes.length === 0);\n\n if (routes.length > 0) {\n var nestedState = state;\n\n while (route = routes.shift()) {\n initialRoute = findInitialRoute(route.name, parentScreens, initialRoutes);\n var nestedStateIndex = nestedState.index || nestedState.routes.length - 1;\n nestedState.routes[nestedStateIndex].state = createStateObject(initialRoute, route, routes.length === 0);\n\n if (routes.length > 0) {\n nestedState = nestedState.routes[nestedStateIndex].state;\n }\n\n parentScreens.push(route.name);\n }\n }\n\n route = findFocusedRoute(state);\n route.path = path;\n var params = parseQueryParams(path, flatConfig ? findParseConfigForRoute(route.name, flatConfig) : undefined);\n\n if (params) {\n route.params = _objectSpread(_objectSpread({}, route.params), params);\n }\n\n return state;\n};\n\nvar parseQueryParams = function parseQueryParams(path, parseConfig) {\n var query = path.split('?')[1];\n var params = queryString.parse(query);\n\n if (parseConfig) {\n Object.keys(params).forEach(function (name) {\n if (parseConfig[name] && typeof params[name] === 'string') {\n params[name] = parseConfig[name](params[name]);\n }\n });\n }\n\n return Object.keys(params).length ? params : undefined;\n};","map":{"version":3,"sources":["getStateFromPath.tsx"],"names":["validatePathConfig","initialRoutes","options","initialRouteName","parentScreens","screens","remaining","routes","segment","name","decodeURIComponent","createNestedStateObject","configs","Object","key","createNormalizedConfigs","a","b","aParts","bParts","i","Math","aWildCard","bWildCard","acc","config","intersects","pattern","match","c","remainingPath","matchAgainstConfigs","regex","undefined","current","result","joinPaths","paths","p","matchedParams","params","value","routeNames","initials","parentPattern","routeConfig","createConfigItem","nestedConfig","it","escape","screen","path","parse","findParseConfigForRoute","routeName","findInitialRoute","sameParents","createStateObject","index","initialRoute","state","route","nestedState","nestedStateIndex","findFocusedRoute","parseQueryParams","flatConfig","query","queryString","parseConfig"],"mappings":"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","sourcesContent":["import type {\n InitialState,\n NavigationState,\n PartialState,\n} from '@react-navigation/routers';\nimport escape from 'escape-string-regexp';\nimport * as queryString from 'query-string';\n\nimport findFocusedRoute from './findFocusedRoute';\nimport type { PathConfigMap } from './types';\nimport validatePathConfig from './validatePathConfig';\n\ntype Options<ParamList extends {}> = {\n initialRouteName?: string;\n screens: PathConfigMap<ParamList>;\n};\n\ntype ParseConfig = Record<string, (value: string) => any>;\n\ntype RouteConfig = {\n screen: string;\n regex?: RegExp;\n path: string;\n pattern: string;\n routeNames: string[];\n parse?: ParseConfig;\n};\n\ntype InitialRouteConfig = {\n initialRouteName: string;\n parentScreens: string[];\n};\n\ntype ResultState = PartialState<NavigationState> & {\n state?: ResultState;\n};\n\ntype ParsedRoute = {\n name: string;\n path?: string;\n params?: Record<string, any> | undefined;\n};\n\n/**\n * Utility to parse a path string to initial state object accepted by the container.\n * This is useful for deep linking when we need to handle the incoming URL.\n *\n * @example\n * ```js\n * getStateFromPath(\n * '/chat/jane/42',\n * {\n * screens: {\n * Chat: {\n * path: 'chat/:author/:id',\n * parse: { id: Number }\n * }\n * }\n * }\n * )\n * ```\n * @param path Path string to parse and convert, e.g. /foo/bar?count=42.\n * @param options Extra options to fine-tune how to parse the path.\n */\nexport default function getStateFromPath<ParamList extends {}>(\n path: string,\n options?: Options<ParamList>\n): ResultState | undefined {\n if (options) {\n validatePathConfig(options);\n }\n\n let initialRoutes: InitialRouteConfig[] = [];\n\n if (options?.initialRouteName) {\n initialRoutes.push({\n initialRouteName: options.initialRouteName,\n parentScreens: [],\n });\n }\n\n const screens = options?.screens;\n\n let remaining = path\n .replace(/\\/+/g, '/') // Replace multiple slash (//) with single ones\n .replace(/^\\//, '') // Remove extra leading slash\n .replace(/\\?.*$/, ''); // Remove query params which we will handle later\n\n // Make sure there is a trailing slash\n remaining = remaining.endsWith('/') ? remaining : `${remaining}/`;\n\n if (screens === undefined) {\n // When no config is specified, use the path segments as route names\n const routes = remaining\n .split('/')\n .filter(Boolean)\n .map((segment) => {\n const name = decodeURIComponent(segment);\n return { name };\n });\n\n if (routes.length) {\n return createNestedStateObject(path, routes, initialRoutes);\n }\n\n return undefined;\n }\n\n // Create a normalized configs array which will be easier to use\n const configs = ([] as RouteConfig[])\n .concat(\n ...Object.keys(screens).map((key) =>\n createNormalizedConfigs(\n key,\n screens as PathConfigMap<object>,\n [],\n initialRoutes,\n []\n )\n )\n )\n .sort((a, b) => {\n // Sort config so that:\n // - the most exhaustive ones are always at the beginning\n // - patterns with wildcard are always at the end\n\n // If 2 patterns are same, move the one with less route names up\n // This is an error state, so it's only useful for consistent error messages\n if (a.pattern === b.pattern) {\n return b.routeNames.join('>').localeCompare(a.routeNames.join('>'));\n }\n\n // If one of the patterns starts with the other, it's more exhaustive\n // So move it up\n if (a.pattern.startsWith(b.pattern)) {\n return -1;\n }\n\n if (b.pattern.startsWith(a.pattern)) {\n return 1;\n }\n\n const aParts = a.pattern.split('/');\n const bParts = b.pattern.split('/');\n\n for (let i = 0; i < Math.max(aParts.length, bParts.length); i++) {\n // if b is longer, b get higher priority\n if (aParts[i] == null) {\n return 1;\n }\n // if a is longer, a get higher priority\n if (bParts[i] == null) {\n return -1;\n }\n const aWildCard = aParts[i] === '*' || aParts[i].startsWith(':');\n const bWildCard = bParts[i] === '*' || bParts[i].startsWith(':');\n // if both are wildcard we compare next component\n if (aWildCard && bWildCard) {\n continue;\n }\n // if only a is wild card, b get higher priority\n if (aWildCard) {\n return 1;\n }\n // if only b is wild card, a get higher priority\n if (bWildCard) {\n return -1;\n }\n }\n return bParts.length - aParts.length;\n });\n\n // Check for duplicate patterns in the config\n configs.reduce<Record<string, RouteConfig>>((acc, config) => {\n if (acc[config.pattern]) {\n const a = acc[config.pattern].routeNames;\n const b = config.routeNames;\n\n // It's not a problem if the path string omitted from a inner most screen\n // For example, it's ok if a path resolves to `A > B > C` or `A > B`\n const intersects =\n a.length > b.length\n ? b.every((it, i) => a[i] === it)\n : a.every((it, i) => b[i] === it);\n\n if (!intersects) {\n throw new Error(\n `Found conflicting screens with the same pattern. The pattern '${\n config.pattern\n }' resolves to both '${a.join(' > ')}' and '${b.join(\n ' > '\n )}'. Patterns must be unique and cannot resolve to more than one screen.`\n );\n }\n }\n\n return Object.assign(acc, {\n [config.pattern]: config,\n });\n }, {});\n\n if (remaining === '/') {\n // We need to add special handling of empty path so navigation to empty path also works\n // When handling empty path, we should only look at the root level config\n const match = configs.find(\n (config) =>\n config.path === '' &&\n config.routeNames.every(\n // Make sure that none of the parent configs have a non-empty path defined\n (name) => !configs.find((c) => c.screen === name)?.path\n )\n );\n\n if (match) {\n return createNestedStateObject(\n path,\n match.routeNames.map((name) => ({ name })),\n initialRoutes,\n configs\n );\n }\n\n return undefined;\n }\n\n let result: PartialState<NavigationState> | undefined;\n let current: PartialState<NavigationState> | undefined;\n\n // We match the whole path against the regex instead of segments\n // This makes sure matches such as wildcard will catch any unmatched routes, even if nested\n const { routes, remainingPath } = matchAgainstConfigs(\n remaining,\n configs.map((c) => ({\n ...c,\n // Add `$` to the regex to make sure it matches till end of the path and not just beginning\n regex: c.regex ? new RegExp(c.regex.source + '$') : undefined,\n }))\n );\n\n if (routes !== undefined) {\n // This will always be empty if full path matched\n current = createNestedStateObject(path, routes, initialRoutes, configs);\n remaining = remainingPath;\n result = current;\n }\n\n if (current == null || result == null) {\n return undefined;\n }\n\n return result;\n}\n\nconst joinPaths = (...paths: string[]): string =>\n ([] as string[])\n .concat(...paths.map((p) => p.split('/')))\n .filter(Boolean)\n .join('/');\n\nconst matchAgainstConfigs = (remaining: string, configs: RouteConfig[]) => {\n let routes: ParsedRoute[] | undefined;\n let remainingPath = remaining;\n\n // Go through all configs, and see if the next path segment matches our regex\n for (const config of configs) {\n if (!config.regex) {\n continue;\n }\n\n const match = remainingPath.match(config.regex);\n\n // If our regex matches, we need to extract params from the path\n if (match) {\n const matchedParams = config.pattern\n ?.split('/')\n .filter((p) => p.startsWith(':'))\n .reduce<Record<string, any>>(\n (acc, p, i) =>\n Object.assign(acc, {\n // The param segments appear every second item starting from 2 in the regex match result\n [p]: match![(i + 1) * 2].replace(/\\//, ''),\n }),\n {}\n );\n\n routes = config.routeNames.map((name) => {\n const config = configs.find((c) => c.screen === name);\n const params = config?.path\n ?.split('/')\n .filter((p) => p.startsWith(':'))\n .reduce<Record<string, any>>((acc, p) => {\n const value = matchedParams[p];\n\n if (value) {\n const key = p.replace(/^:/, '').replace(/\\?$/, '');\n acc[key] = config.parse?.[key] ? config.parse[key](value) : value;\n }\n\n return acc;\n }, {});\n\n if (params && Object.keys(params).length) {\n return { name, params };\n }\n\n return { name };\n });\n\n remainingPath = remainingPath.replace(match[1], '');\n\n break;\n }\n }\n\n return { routes, remainingPath };\n};\n\nconst createNormalizedConfigs = (\n screen: string,\n routeConfig: PathConfigMap<object>,\n routeNames: string[] = [],\n initials: InitialRouteConfig[],\n parentScreens: string[],\n parentPattern?: string\n): RouteConfig[] => {\n const configs: RouteConfig[] = [];\n\n routeNames.push(screen);\n\n parentScreens.push(screen);\n\n // @ts-expect-error: we can't strongly typecheck this for now\n const config = routeConfig[screen];\n\n if (typeof config === 'string') {\n // If a string is specified as the value of the key(e.g. Foo: '/path'), use it as the pattern\n const pattern = parentPattern ? joinPaths(parentPattern, config) : config;\n\n configs.push(createConfigItem(screen, routeNames, pattern, config));\n } else if (typeof config === 'object') {\n let pattern: string | undefined;\n\n // if an object is specified as the value (e.g. Foo: { ... }),\n // it can have `path` property and\n // it could have `screens` prop which has nested configs\n if (typeof config.path === 'string') {\n if (config.exact && config.path === undefined) {\n throw new Error(\n \"A 'path' needs to be specified when specifying 'exact: true'. If you don't want this screen in the URL, specify it as empty string, e.g. `path: ''`.\"\n );\n }\n\n pattern =\n config.exact !== true\n ? joinPaths(parentPattern || '', config.path || '')\n : config.path || '';\n\n configs.push(\n createConfigItem(\n screen,\n routeNames,\n pattern!,\n config.path,\n config.parse\n )\n );\n }\n\n if (config.screens) {\n // property `initialRouteName` without `screens` has no purpose\n if (config.initialRouteName) {\n initials.push({\n initialRouteName: config.initialRouteName,\n parentScreens,\n });\n }\n\n Object.keys(config.screens).forEach((nestedConfig) => {\n const result = createNormalizedConfigs(\n nestedConfig,\n config.screens as PathConfigMap<object>,\n routeNames,\n initials,\n [...parentScreens],\n pattern ?? parentPattern\n );\n\n configs.push(...result);\n });\n }\n }\n\n routeNames.pop();\n\n return configs;\n};\n\nconst createConfigItem = (\n screen: string,\n routeNames: string[],\n pattern: string,\n path: string,\n parse?: ParseConfig\n): RouteConfig => {\n // Normalize pattern to remove any leading, trailing slashes, duplicate slashes etc.\n pattern = pattern.split('/').filter(Boolean).join('/');\n\n const regex = pattern\n ? new RegExp(\n `^(${pattern\n .split('/')\n .map((it) => {\n if (it.startsWith(':')) {\n return `(([^/]+\\\\/)${it.endsWith('?') ? '?' : ''})`;\n }\n\n return `${it === '*' ? '.*' : escape(it)}\\\\/`;\n })\n .join('')})`\n )\n : undefined;\n\n return {\n screen,\n regex,\n pattern,\n path,\n // The routeNames array is mutated, so copy it to keep the current state\n routeNames: [...routeNames],\n parse,\n };\n};\n\nconst findParseConfigForRoute = (\n routeName: string,\n flatConfig: RouteConfig[]\n): ParseConfig | undefined => {\n for (const config of flatConfig) {\n if (routeName === config.routeNames[config.routeNames.length - 1]) {\n return config.parse;\n }\n }\n\n return undefined;\n};\n\n// Try to find an initial route connected with the one passed\nconst findInitialRoute = (\n routeName: string,\n parentScreens: string[],\n initialRoutes: InitialRouteConfig[]\n): string | undefined => {\n for (const config of initialRoutes) {\n if (parentScreens.length === config.parentScreens.length) {\n let sameParents = true;\n for (let i = 0; i < parentScreens.length; i++) {\n if (parentScreens[i].localeCompare(config.parentScreens[i]) !== 0) {\n sameParents = false;\n break;\n }\n }\n if (sameParents) {\n return routeName !== config.initialRouteName\n ? config.initialRouteName\n : undefined;\n }\n }\n }\n return undefined;\n};\n\n// returns state object with values depending on whether\n// it is the end of state and if there is initialRoute for this level\nconst createStateObject = (\n initialRoute: string | undefined,\n route: ParsedRoute,\n isEmpty: boolean\n): InitialState => {\n if (isEmpty) {\n if (initialRoute) {\n return {\n index: 1,\n routes: [{ name: initialRoute }, route],\n };\n } else {\n return {\n routes: [route],\n };\n }\n } else {\n if (initialRoute) {\n return {\n index: 1,\n routes: [{ name: initialRoute }, { ...route, state: { routes: [] } }],\n };\n } else {\n return {\n routes: [{ ...route, state: { routes: [] } }],\n };\n }\n }\n};\n\nconst createNestedStateObject = (\n path: string,\n routes: ParsedRoute[],\n initialRoutes: InitialRouteConfig[],\n flatConfig?: RouteConfig[]\n) => {\n let state: InitialState;\n let route = routes.shift() as ParsedRoute;\n const parentScreens: string[] = [];\n\n let initialRoute = findInitialRoute(route.name, parentScreens, initialRoutes);\n\n parentScreens.push(route.name);\n\n state = createStateObject(initialRoute, route, routes.length === 0);\n\n if (routes.length > 0) {\n let nestedState = state;\n\n while ((route = routes.shift() as ParsedRoute)) {\n initialRoute = findInitialRoute(route.name, parentScreens, initialRoutes);\n\n const nestedStateIndex =\n nestedState.index || nestedState.routes.length - 1;\n\n nestedState.routes[nestedStateIndex].state = createStateObject(\n initialRoute,\n route,\n routes.length === 0\n );\n\n if (routes.length > 0) {\n nestedState = nestedState.routes[nestedStateIndex]\n .state as InitialState;\n }\n\n parentScreens.push(route.name);\n }\n }\n\n route = findFocusedRoute(state) as ParsedRoute;\n route.path = path;\n\n const params = parseQueryParams(\n path,\n flatConfig ? findParseConfigForRoute(route.name, flatConfig) : undefined\n );\n\n if (params) {\n route.params = { ...route.params, ...params };\n }\n\n return state;\n};\n\nconst parseQueryParams = (\n path: string,\n parseConfig?: Record<string, (value: string) => any>\n) => {\n const query = path.split('?')[1];\n const params = queryString.parse(query);\n\n if (parseConfig) {\n Object.keys(params).forEach((name) => {\n if (parseConfig[name] && typeof params[name] === 'string') {\n params[name] = parseConfig[name](params[name] as string);\n }\n });\n }\n\n return Object.keys(params).length ? params : undefined;\n};\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/20d1d16a5c3a89268342d960d0e35f49.json b/.expo/web/cache/development/babel-loader/20d1d16a5c3a89268342d960d0e35f49.json new file mode 100644 index 0000000000000000000000000000000000000000..d401f2caff4528af779ef79d54a00e6662e96c42 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/20d1d16a5c3a89268342d960d0e35f49.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _extends from \"@babel/runtime/helpers/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { getAppModule } from \"./internal/registry/nativeModule\";\n\nvar FirebaseApp = function () {\n function FirebaseApp(options, appConfig, fromNative, deleteApp) {\n _classCallCheck(this, FirebaseApp);\n\n var name = appConfig.name,\n automaticDataCollectionEnabled = appConfig.automaticDataCollectionEnabled;\n this._name = name;\n this._deleted = false;\n this._deleteApp = deleteApp;\n this._options = _extends({}, options);\n this._automaticDataCollectionEnabled = !!automaticDataCollectionEnabled;\n\n if (fromNative) {\n this._initialized = true;\n this._nativeInitialized = true;\n } else {\n this._initialized = false;\n this._nativeInitialized = false;\n }\n }\n\n _createClass(FirebaseApp, [{\n key: \"name\",\n get: function get() {\n return this._name;\n }\n }, {\n key: \"options\",\n get: function get() {\n return _extends({}, this._options);\n }\n }, {\n key: \"automaticDataCollectionEnabled\",\n get: function get() {\n return this._automaticDataCollectionEnabled;\n },\n set: function set(enabled) {\n this._checkDestroyed();\n\n getAppModule().setAutomaticDataCollectionEnabled(this.name, enabled);\n this._automaticDataCollectionEnabled = enabled;\n }\n }, {\n key: \"_checkDestroyed\",\n value: function _checkDestroyed() {\n if (this._deleted) {\n throw new Error(\"Firebase App named '\" + this._name + \"' already deleted\");\n }\n }\n }, {\n key: \"extendApp\",\n value: function extendApp(extendedProps) {\n this._checkDestroyed();\n\n _extends(this, extendedProps);\n }\n }, {\n key: \"delete\",\n value: function _delete() {\n this._checkDestroyed();\n\n return this._deleteApp();\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return this.name;\n }\n }]);\n\n return FirebaseApp;\n}();\n\nexport { FirebaseApp as default };","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/app/lib/FirebaseApp.js"],"names":["getAppModule","FirebaseApp","options","appConfig","fromNative","deleteApp","name","automaticDataCollectionEnabled","_name","_deleted","_deleteApp","_options","_automaticDataCollectionEnabled","_initialized","_nativeInitialized","enabled","_checkDestroyed","setAutomaticDataCollectionEnabled","Error","extendedProps"],"mappings":";;;AAiBA,SAASA,YAAT;;IAEqBC,W;AACnB,uBAAYC,OAAZ,EAAqBC,SAArB,EAAgCC,UAAhC,EAA4CC,SAA5C,EAAuD;AAAA;;AACrD,QAAQC,IAAR,GAAiDH,SAAjD,CAAQG,IAAR;AAAA,QAAcC,8BAAd,GAAiDJ,SAAjD,CAAcI,8BAAd;AAEA,SAAKC,KAAL,GAAaF,IAAb;AACA,SAAKG,QAAL,GAAgB,KAAhB;AACA,SAAKC,UAAL,GAAkBL,SAAlB;AACA,SAAKM,QAAL,GAAgB,SAAc,EAAd,EAAkBT,OAAlB,CAAhB;AACA,SAAKU,+BAAL,GAAuC,CAAC,CAACL,8BAAzC;;AAEA,QAAIH,UAAJ,EAAgB;AACd,WAAKS,YAAL,GAAoB,IAApB;AACA,WAAKC,kBAAL,GAA0B,IAA1B;AACD,KAHD,MAGO;AACL,WAAKD,YAAL,GAAoB,KAApB;AACA,WAAKC,kBAAL,GAA0B,KAA1B;AACD;AACF;;;;SAED,eAAW;AACT,aAAO,KAAKN,KAAZ;AACD;;;SAED,eAAc;AACZ,aAAO,SAAc,EAAd,EAAkB,KAAKG,QAAvB,CAAP;AACD;;;SAED,eAAqC;AACnC,aAAO,KAAKC,+BAAZ;AACD,K;SAED,aAAmCG,OAAnC,EAA4C;AAC1C,WAAKC,eAAL;;AACAhB,MAAAA,YAAY,GAAGiB,iCAAf,CAAiD,KAAKX,IAAtD,EAA4DS,OAA5D;AACA,WAAKH,+BAAL,GAAuCG,OAAvC;AACD;;;WAED,2BAAkB;AAChB,UAAI,KAAKN,QAAT,EAAmB;AACjB,cAAM,IAAIS,KAAJ,0BAAiC,KAAKV,KAAtC,uBAAN;AACD;AACF;;;WAED,mBAAUW,aAAV,EAAyB;AACvB,WAAKH,eAAL;;AACA,eAAc,IAAd,EAAoBG,aAApB;AACD;;;WAED,mBAAS;AACP,WAAKH,eAAL;;AACA,aAAO,KAAKN,UAAL,EAAP;AACD;;;WAED,oBAAW;AACT,aAAO,KAAKJ,IAAZ;AACD;;;;;;SAvDkBL,W","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { getAppModule } from './internal/registry/nativeModule';\n\nexport default class FirebaseApp {\n constructor(options, appConfig, fromNative, deleteApp) {\n const { name, automaticDataCollectionEnabled } = appConfig;\n\n this._name = name;\n this._deleted = false;\n this._deleteApp = deleteApp;\n this._options = Object.assign({}, options);\n this._automaticDataCollectionEnabled = !!automaticDataCollectionEnabled;\n\n if (fromNative) {\n this._initialized = true;\n this._nativeInitialized = true;\n } else {\n this._initialized = false;\n this._nativeInitialized = false;\n }\n }\n\n get name() {\n return this._name;\n }\n\n get options() {\n return Object.assign({}, this._options);\n }\n\n get automaticDataCollectionEnabled() {\n return this._automaticDataCollectionEnabled;\n }\n\n set automaticDataCollectionEnabled(enabled) {\n this._checkDestroyed();\n getAppModule().setAutomaticDataCollectionEnabled(this.name, enabled);\n this._automaticDataCollectionEnabled = enabled;\n }\n\n _checkDestroyed() {\n if (this._deleted) {\n throw new Error(`Firebase App named '${this._name}' already deleted`);\n }\n }\n\n extendApp(extendedProps) {\n this._checkDestroyed();\n Object.assign(this, extendedProps);\n }\n\n delete() {\n this._checkDestroyed();\n return this._deleteApp();\n }\n\n toString() {\n return this.name;\n }\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/20dc9f988097eee1ed5764facf28c82f.json b/.expo/web/cache/development/babel-loader/20dc9f988097eee1ed5764facf28c82f.json new file mode 100644 index 0000000000000000000000000000000000000000..2479d4c20e662d6824a6aa6b173ec22ddc3c946d --- /dev/null +++ b/.expo/web/cache/development/babel-loader/20dc9f988097eee1ed5764facf28c82f.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction infoLog() {\n var _console;\n\n return (_console = console).log.apply(_console, arguments);\n}\n\nexport default infoLog;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/infoLog/index.js"],"names":["infoLog","_console","console","log","apply","arguments"],"mappings":"AAMA;;AAKA,SAASA,OAAT,GAAmB;AACjB,MAAIC,QAAJ;;AAEA,SAAO,CAACA,QAAQ,GAAGC,OAAZ,EAAqBC,GAArB,CAAyBC,KAAzB,CAA+BH,QAA/B,EAAyCI,SAAzC,CAAP;AACD;;AAED,eAAeL,OAAf","sourcesContent":["/**\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'use strict';\n/**\n * Intentional info-level logging for clear separation from ad-hoc console debug logging.\n */\n\nfunction infoLog() {\n var _console;\n\n return (_console = console).log.apply(_console, arguments);\n}\n\nexport default infoLog;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/20ea6346cc6b4b202eb99ad23dd96d81.json b/.expo/web/cache/development/babel-loader/20ea6346cc6b4b202eb99ad23dd96d81.json new file mode 100644 index 0000000000000000000000000000000000000000..089e573b860f495208fa1cebb0ae7f04d6836fe5 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/20ea6346cc6b4b202eb99ad23dd96d81.json @@ -0,0 +1 @@ +{"ast":null,"code":"export var PermissionStatus;\n\n(function (PermissionStatus) {\n PermissionStatus[\"GRANTED\"] = \"granted\";\n PermissionStatus[\"UNDETERMINED\"] = \"undetermined\";\n PermissionStatus[\"DENIED\"] = \"denied\";\n})(PermissionStatus || (PermissionStatus = {}));","map":{"version":3,"sources":["../src/PermissionsInterface.ts"],"names":[],"mappings":"AAAA,OAAA,IAAY,gBAAZ;;AAAA,CAAA,UAAY,gBAAZ,EAA4B;AAC1B,EAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAA;AACA,EAAA,gBAAA,CAAA,cAAA,CAAA,GAAA,cAAA;AACA,EAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,QAAA;AACD,CAJD,EAAY,gBAAgB,KAAhB,gBAAgB,GAAA,EAAA,CAA5B","sourcesContent":["export enum PermissionStatus {\n GRANTED = 'granted',\n UNDETERMINED = 'undetermined',\n DENIED = 'denied',\n}\n\nexport type PermissionExpiration = 'never' | number;\n\nexport interface PermissionResponse {\n status: PermissionStatus;\n expires: PermissionExpiration;\n granted: boolean;\n canAskAgain: boolean;\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/216cc22a98654e93dc9ce44170359716.json b/.expo/web/cache/development/babel-loader/216cc22a98654e93dc9ce44170359716.json new file mode 100644 index 0000000000000000000000000000000000000000..1f66c5ab59bbddedbf1afcd21af8a84dc91ed7f2 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/216cc22a98654e93dc9ce44170359716.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nvar NavigationContext = React.createContext(undefined);\nexport default NavigationContext;","map":{"version":3,"sources":["NavigationContext.tsx"],"names":["NavigationContext","React"],"mappings":"AACA,OAAO,KAAP,KAAA,MAAA,OAAA;AAOA,IAAMA,iBAAiB,GAAGC,KAAK,CAALA,aAAAA,CAA1B,SAA0BA,CAA1B;AAIA,eAAA,iBAAA","sourcesContent":["import type { ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { NavigationProp } from './types';\n\n/**\n * Context which holds the navigation prop for a screen.\n */\nconst NavigationContext = React.createContext<\n NavigationProp<ParamListBase> | undefined\n>(undefined);\n\nexport default NavigationContext;\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/22064978eecb127cb449ca2deae739e5.json b/.expo/web/cache/development/babel-loader/22064978eecb127cb449ca2deae739e5.json new file mode 100644 index 0000000000000000000000000000000000000000..223474c9f970886619c4f8655335d32ba79dd6ad --- /dev/null +++ b/.expo/web/cache/development/babel-loader/22064978eecb127cb449ca2deae739e5.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nvar MISSING_CONTEXT_ERROR = \"Couldn't find a navigation context. Have you wrapped your app with 'NavigationContainer'? See https://reactnavigation.org/docs/getting-started for setup instructions.\";\nexport default React.createContext({\n isDefault: true,\n\n get getKey() {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n\n get setKey() {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n\n get getState() {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n\n get setState() {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n\n get getIsInitial() {\n throw new Error(MISSING_CONTEXT_ERROR);\n }\n\n});","map":{"version":3,"sources":["NavigationStateContext.tsx"],"names":["MISSING_CONTEXT_ERROR","isDefault"],"mappings":"AACA,OAAO,KAAP,KAAA,MAAA,OAAA;AAEA,IAAMA,qBAAqB,GAA3B,wKAAA;AAGA,eAAe,KAAK,CAAL,aAAA,CAcZ;AACDC,EAAAA,SAAS,EADR,IAAA;;AAGD,MAAA,MAAA,GAAkB;AAChB,UAAM,IAAA,KAAA,CAAN,qBAAM,CAAN;AAJD,GAAA;;AAMD,MAAA,MAAA,GAAkB;AAChB,UAAM,IAAA,KAAA,CAAN,qBAAM,CAAN;AAPD,GAAA;;AASD,MAAA,QAAA,GAAoB;AAClB,UAAM,IAAA,KAAA,CAAN,qBAAM,CAAN;AAVD,GAAA;;AAYD,MAAA,QAAA,GAAoB;AAClB,UAAM,IAAA,KAAA,CAAN,qBAAM,CAAN;AAbD,GAAA;;AAeD,MAAA,YAAA,GAAwB;AACtB,UAAM,IAAA,KAAA,CAAN,qBAAM,CAAN;AACD;;AAjBA,CAdY,CAAf","sourcesContent":["import type { NavigationState, PartialState } from '@react-navigation/routers';\nimport * as React from 'react';\n\nconst MISSING_CONTEXT_ERROR =\n \"Couldn't find a navigation context. Have you wrapped your app with 'NavigationContainer'? See https://reactnavigation.org/docs/getting-started for setup instructions.\";\n\nexport default React.createContext<{\n isDefault?: true;\n state?: NavigationState | PartialState<NavigationState>;\n getKey: () => string | undefined;\n setKey: (key: string) => void;\n getState: () => NavigationState | PartialState<NavigationState> | undefined;\n setState: (\n state: NavigationState | PartialState<NavigationState> | undefined\n ) => void;\n getIsInitial: () => boolean;\n addOptionsGetter?: (\n key: string,\n getter: () => object | undefined | null\n ) => void;\n}>({\n isDefault: true,\n\n get getKey(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n get setKey(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n get getState(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n get setState(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n get getIsInitial(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n});\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/2346f16cfaf1c8b0460fa1eca82ef680.json b/.expo/web/cache/development/babel-loader/2346f16cfaf1c8b0460fa1eca82ef680.json new file mode 100644 index 0000000000000000000000000000000000000000..a076c7bc5fc75e0433997ab2d45c72ea0159a450 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/2346f16cfaf1c8b0460fa1eca82ef680.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"state\"];\nimport * as React from 'react';\nexport var CHILD_STATE = Symbol('CHILD_STATE');\nexport default function useRouteCache(routes) {\n var cache = React.useMemo(function () {\n return {\n current: new Map()\n };\n }, []);\n\n if (process.env.NODE_ENV === 'production') {\n return routes;\n }\n\n cache.current = routes.reduce(function (acc, route) {\n var previous = cache.current.get(route);\n\n if (previous) {\n acc.set(route, previous);\n } else {\n var state = route.state,\n proxy = _objectWithoutProperties(route, _excluded);\n\n Object.defineProperty(proxy, CHILD_STATE, {\n enumerable: false,\n value: state\n });\n acc.set(route, proxy);\n }\n\n return acc;\n }, new Map());\n return Array.from(cache.current.values());\n}","map":{"version":3,"sources":["useRouteCache.tsx"],"names":["CHILD_STATE","Symbol","cache","current","process","previous","acc","proxy","Object","enumerable","value","state","Array"],"mappings":";;AAKA,OAAO,KAAP,KAAA,MAAA,OAAA;AAWA,OAAO,IAAMA,WAAW,GAAGC,MAAM,CAA1B,aAA0B,CAA1B;AAMP,eAAe,SAAA,aAAA,CAAA,MAAA,EAEb;AAEA,MAAMC,KAAK,GAAG,KAAK,CAAL,OAAA,CAAc;AAAA,WAAO;AAAEC,MAAAA,OAAO,EAAE,IAAA,GAAA;AAAX,KAAP;AAAA,GAAd,EAAd,EAAc,CAAd;;AAEA,MAAIC,OAAO,CAAPA,GAAAA,CAAAA,QAAAA,KAAJ,YAAA,EAA2C;AAEzC,WAAA,MAAA;AACD;;AAEDF,EAAAA,KAAK,CAALA,OAAAA,GAAgB,MAAM,CAAN,MAAA,CAAc,UAAA,GAAA,EAAA,KAAA,EAAgB;AAC5C,QAAMG,QAAQ,GAAGH,KAAK,CAALA,OAAAA,CAAAA,GAAAA,CAAjB,KAAiBA,CAAjB;;AAEA,QAAA,QAAA,EAAc;AAEZI,MAAAA,GAAG,CAAHA,GAAAA,CAAAA,KAAAA,EAAAA,QAAAA;AAFF,KAAA,MAGO;AACL,UAAM,KAAN,GAAA,KAAA,CAAM,KAAN;AAAA,UAAkBC,KAAlB,4BAAA,KAAA;;AAEAC,MAAAA,MAAM,CAANA,cAAAA,CAAAA,KAAAA,EAAAA,WAAAA,EAA0C;AACxCC,QAAAA,UAAU,EAD8B,KAAA;AAExCC,QAAAA,KAAK,EAAEC;AAFiC,OAA1CH;AAKAF,MAAAA,GAAG,CAAHA,GAAAA,CAAAA,KAAAA,EAAAA,KAAAA;AACD;;AAED,WAAA,GAAA;AAjBc,GAAA,EAkBb,IAlBHJ,GAkBG,EAlBa,CAAhBA;AAoBA,SAAOU,KAAK,CAALA,IAAAA,CAAWV,KAAK,CAALA,OAAAA,CAAlB,MAAkBA,EAAXU,CAAP;AACD","sourcesContent":["import type {\n NavigationState,\n ParamListBase,\n Route,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { RouteProp } from './types';\n\ntype RouteCache = Map<Route<string>, RouteProp<ParamListBase>>;\n\n/**\n * Utilites such as `getFocusedRouteNameFromRoute` need to access state.\n * So we need a way to suppress the warning for those use cases.\n * This is fine since they are internal utilities and this is not public API.\n */\nexport const CHILD_STATE = Symbol('CHILD_STATE');\n\n/**\n * Hook to cache route props for each screen in the navigator.\n * This lets add warnings and modifications to the route object but keep references between renders.\n */\nexport default function useRouteCache<State extends NavigationState>(\n routes: State['routes']\n) {\n // Cache object which holds route objects for each screen\n const cache = React.useMemo(() => ({ current: new Map() as RouteCache }), []);\n\n if (process.env.NODE_ENV === 'production') {\n // We don't want the overhead of creating extra maps every render in prod\n return routes;\n }\n\n cache.current = routes.reduce((acc, route) => {\n const previous = cache.current.get(route);\n\n if (previous) {\n // If a cached route object already exists, reuse it\n acc.set(route, previous);\n } else {\n const { state, ...proxy } = route;\n\n Object.defineProperty(proxy, CHILD_STATE, {\n enumerable: false,\n value: state,\n });\n\n acc.set(route, proxy);\n }\n\n return acc;\n }, new Map() as RouteCache);\n\n return Array.from(cache.current.values());\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/23a76604c6ab569d1c42669d9be6b96e.json b/.expo/web/cache/development/babel-loader/23a76604c6ab569d1c42669d9be6b96e.json new file mode 100644 index 0000000000000000000000000000000000000000..c6ca794f32ebe598a2a7d597b854d21014d74c07 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/23a76604c6ab569d1c42669d9be6b96e.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar deepDiffer = function deepDiffer(one, two, maxDepth) {\n if (maxDepth === void 0) {\n maxDepth = -1;\n }\n\n if (maxDepth === 0) {\n return true;\n }\n\n if (one === two) {\n return false;\n }\n\n if (typeof one === 'function' && typeof two === 'function') {\n return false;\n }\n\n if (typeof one !== 'object' || one === null) {\n return one !== two;\n }\n\n if (typeof two !== 'object' || two === null) {\n return true;\n }\n\n if (one.constructor !== two.constructor) {\n return true;\n }\n\n if (Array.isArray(one)) {\n var len = one.length;\n\n if (two.length !== len) {\n return true;\n }\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\n for (var twoKey in two) {\n if (one[twoKey] === undefined && two[twoKey] !== undefined) {\n return true;\n }\n }\n }\n\n return false;\n};\n\nexport default deepDiffer;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/deepDiffer/index.js"],"names":["deepDiffer","one","two","maxDepth","constructor","Array","isArray","len","length","ii","key","twoKey","undefined"],"mappings":"AASA;;AAKA,IAAIA,UAAU,GAAG,SAASA,UAAT,CAAoBC,GAApB,EAAyBC,GAAzB,EAA8BC,QAA9B,EAAwC;AACvD,MAAIA,QAAQ,KAAK,KAAK,CAAtB,EAAyB;AACvBA,IAAAA,QAAQ,GAAG,CAAC,CAAZ;AACD;;AAED,MAAIA,QAAQ,KAAK,CAAjB,EAAoB;AAClB,WAAO,IAAP;AACD;;AAED,MAAIF,GAAG,KAAKC,GAAZ,EAAiB;AAEf,WAAO,KAAP;AACD;;AAED,MAAI,OAAOD,GAAP,KAAe,UAAf,IAA6B,OAAOC,GAAP,KAAe,UAAhD,EAA4D;AAE1D,WAAO,KAAP;AACD;;AAED,MAAI,OAAOD,GAAP,KAAe,QAAf,IAA2BA,GAAG,KAAK,IAAvC,EAA6C;AAE3C,WAAOA,GAAG,KAAKC,GAAf;AACD;;AAED,MAAI,OAAOA,GAAP,KAAe,QAAf,IAA2BA,GAAG,KAAK,IAAvC,EAA6C;AAG3C,WAAO,IAAP;AACD;;AAED,MAAID,GAAG,CAACG,WAAJ,KAAoBF,GAAG,CAACE,WAA5B,EAAyC;AACvC,WAAO,IAAP;AACD;;AAED,MAAIC,KAAK,CAACC,OAAN,CAAcL,GAAd,CAAJ,EAAwB;AAEtB,QAAIM,GAAG,GAAGN,GAAG,CAACO,MAAd;;AAEA,QAAIN,GAAG,CAACM,MAAJ,KAAeD,GAAnB,EAAwB;AACtB,aAAO,IAAP;AACD;;AAED,SAAK,IAAIE,EAAE,GAAG,CAAd,EAAiBA,EAAE,GAAGF,GAAtB,EAA2BE,EAAE,EAA7B,EAAiC;AAC/B,UAAIT,UAAU,CAACC,GAAG,CAACQ,EAAD,CAAJ,EAAUP,GAAG,CAACO,EAAD,CAAb,EAAmBN,QAAQ,GAAG,CAA9B,CAAd,EAAgD;AAC9C,eAAO,IAAP;AACD;AACF;AACF,GAbD,MAaO;AACL,SAAK,IAAIO,GAAT,IAAgBT,GAAhB,EAAqB;AACnB,UAAID,UAAU,CAACC,GAAG,CAACS,GAAD,CAAJ,EAAWR,GAAG,CAACQ,GAAD,CAAd,EAAqBP,QAAQ,GAAG,CAAhC,CAAd,EAAkD;AAChD,eAAO,IAAP;AACD;AACF;;AAED,SAAK,IAAIQ,MAAT,IAAmBT,GAAnB,EAAwB;AAGtB,UAAID,GAAG,CAACU,MAAD,CAAH,KAAgBC,SAAhB,IAA6BV,GAAG,CAACS,MAAD,CAAH,KAAgBC,SAAjD,EAA4D;AAC1D,eAAO,IAAP;AACD;AACF;AACF;;AAED,SAAO,KAAP;AACD,CAhED;;AAkEA,eAAeZ,UAAf","sourcesContent":["/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n'use strict';\n/*\n * @returns {bool} true if different, false if equal\n */\n\nvar deepDiffer = function deepDiffer(one, two, maxDepth) {\n if (maxDepth === void 0) {\n maxDepth = -1;\n }\n\n if (maxDepth === 0) {\n return true;\n }\n\n if (one === two) {\n // Short circuit on identical object references instead of traversing them.\n return false;\n }\n\n if (typeof one === 'function' && typeof two === 'function') {\n // We consider all functions equal\n return false;\n }\n\n if (typeof one !== 'object' || one === null) {\n // Primitives can be directly compared\n return one !== two;\n }\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\n if (one.constructor !== two.constructor) {\n return true;\n }\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\n if (two.length !== len) {\n return true;\n }\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\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\n return false;\n};\n\nexport default deepDiffer;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/23ae6c7d29fbd48edf8a3c9225aedb9d.json b/.expo/web/cache/development/babel-loader/23ae6c7d29fbd48edf8a3c9225aedb9d.json new file mode 100644 index 0000000000000000000000000000000000000000..4ece886c2b866793ea2c96190fefa71c1c49825c --- /dev/null +++ b/.expo/web/cache/development/babel-loader/23ae6c7d29fbd48edf8a3c9225aedb9d.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nimport createCSSStyleSheet from \"./createCSSStyleSheet\";\nimport createCompileableStyle from \"./createCompileableStyle\";\nimport createOrderedCSSStyleSheet from \"./createOrderedCSSStyleSheet\";\nimport flattenArray from \"../../modules/flattenArray\";\nimport flattenStyle from \"./flattenStyle\";\nimport I18nManager from \"../I18nManager\";\nimport i18nStyle from \"./i18nStyle\";\nimport { atomic, classic, inline, stringifyValueWithProperty } from \"./compile\";\nimport initialRules from \"./initialRules\";\nimport modality from \"./modality\";\nimport { STYLE_ELEMENT_ID, STYLE_GROUPS } from \"./constants\";\nexport default function createStyleResolver() {\n var inserted, sheet, cache;\n var resolved = {\n css: {},\n ltr: {},\n rtl: {},\n rtlNoSwap: {}\n };\n\n var init = function init() {\n inserted = {\n css: {},\n ltr: {},\n rtl: {},\n rtlNoSwap: {}\n };\n sheet = createOrderedCSSStyleSheet(createCSSStyleSheet(STYLE_ELEMENT_ID));\n cache = {};\n modality(function (rule) {\n return sheet.insert(rule, STYLE_GROUPS.modality);\n });\n initialRules.forEach(function (rule) {\n sheet.insert(rule, STYLE_GROUPS.reset);\n });\n };\n\n init();\n\n function addToCache(className, prop, value) {\n if (!cache[prop]) {\n cache[prop] = {};\n }\n\n cache[prop][value] = className;\n }\n\n function getClassName(prop, value) {\n var val = stringifyValueWithProperty(value, prop);\n return cache[prop] && cache[prop].hasOwnProperty(val) && cache[prop][val];\n }\n\n function _injectRegisteredStyle(id) {\n var _I18nManager$getConst = I18nManager.getConstants(),\n doLeftAndRightSwapInRTL = _I18nManager$getConst.doLeftAndRightSwapInRTL,\n isRTL = _I18nManager$getConst.isRTL;\n\n var dir = isRTL ? doLeftAndRightSwapInRTL ? 'rtl' : 'rtlNoSwap' : 'ltr';\n\n if (!inserted[dir][id]) {\n var style = createCompileableStyle(i18nStyle(flattenStyle(id)));\n var results = atomic(style);\n Object.keys(results).forEach(function (key) {\n var _results$key = results[key],\n identifier = _results$key.identifier,\n property = _results$key.property,\n rules = _results$key.rules,\n value = _results$key.value;\n addToCache(identifier, property, value);\n rules.forEach(function (rule) {\n var group = STYLE_GROUPS.custom[property] || STYLE_GROUPS.atomic;\n sheet.insert(rule, group);\n });\n });\n inserted[dir][id] = true;\n }\n }\n\n function resolve(style, classList) {\n var nextClassList = [];\n var props = {};\n\n if (!style && !classList) {\n return props;\n }\n\n if (Array.isArray(classList)) {\n flattenArray(classList).forEach(function (identifier) {\n if (identifier) {\n if (inserted.css[identifier] == null && resolved.css[identifier] != null) {\n var item = resolved.css[identifier];\n item.rules.forEach(function (rule) {\n sheet.insert(rule, item.group);\n });\n inserted.css[identifier] = true;\n }\n\n nextClassList.push(identifier);\n }\n });\n }\n\n if (typeof style === 'number') {\n _injectRegisteredStyle(style);\n\n var key = createCacheKey(style);\n props = _resolveStyle(style, key);\n } else if (!Array.isArray(style)) {\n props = _resolveStyle(style);\n } else {\n var flatArray = flattenArray(style);\n var isArrayOfNumbers = true;\n var cacheKey = '';\n\n for (var i = 0; i < flatArray.length; i++) {\n var id = flatArray[i];\n\n if (typeof id !== 'number') {\n isArrayOfNumbers = false;\n } else {\n if (isArrayOfNumbers) {\n cacheKey += id + '-';\n }\n\n _injectRegisteredStyle(id);\n }\n }\n\n var _key = isArrayOfNumbers ? createCacheKey(cacheKey) : null;\n\n props = _resolveStyle(flatArray, _key);\n }\n\n nextClassList.push.apply(nextClassList, props.classList);\n var finalProps = {\n className: classListToString(nextClassList),\n classList: nextClassList\n };\n\n if (props.style) {\n finalProps.style = props.style;\n }\n\n return finalProps;\n }\n\n function _resolveStyle(style, key) {\n var _I18nManager$getConst2 = I18nManager.getConstants(),\n doLeftAndRightSwapInRTL = _I18nManager$getConst2.doLeftAndRightSwapInRTL,\n isRTL = _I18nManager$getConst2.isRTL;\n\n var dir = isRTL ? doLeftAndRightSwapInRTL ? 'rtl' : 'rtlNoSwap' : 'ltr';\n\n if (key != null && resolved[dir][key] != null) {\n return resolved[dir][key];\n }\n\n var flatStyle = flattenStyle(style);\n var localizedStyle = createCompileableStyle(i18nStyle(flatStyle));\n var props = Object.keys(localizedStyle).sort().reduce(function (props, styleProp) {\n var value = localizedStyle[styleProp];\n\n if (value != null) {\n var className = getClassName(styleProp, value);\n\n if (className) {\n props.classList.push(className);\n } else {\n if (styleProp === 'animationKeyframes' || styleProp === 'placeholderTextColor' || styleProp === 'pointerEvents' || styleProp === 'scrollbarWidth') {\n var _atomic;\n\n var a = atomic((_atomic = {}, _atomic[styleProp] = value, _atomic));\n Object.keys(a).forEach(function (key) {\n var _a$key = a[key],\n identifier = _a$key.identifier,\n rules = _a$key.rules;\n props.classList.push(identifier);\n rules.forEach(function (rule) {\n sheet.insert(rule, STYLE_GROUPS.atomic);\n });\n });\n } else {\n if (!props.style) {\n props.style = {};\n }\n\n props.style[styleProp] = value;\n }\n }\n }\n\n return props;\n }, {\n classList: []\n });\n\n if (props.style) {\n props.style = inline(props.style);\n }\n\n if (key != null) {\n resolved[dir][key] = props;\n }\n\n return props;\n }\n\n return {\n getStyleSheet: function getStyleSheet() {\n var textContent = sheet.getTextContent();\n\n if (!canUseDOM) {\n init();\n }\n\n return {\n id: STYLE_ELEMENT_ID,\n textContent: textContent\n };\n },\n createCSS: function createCSS(rules, group) {\n var result = {};\n Object.keys(rules).forEach(function (name) {\n var style = rules[name];\n var compiled = classic(style, name);\n Object.keys(compiled).forEach(function (key) {\n var _compiled$key = compiled[key],\n identifier = _compiled$key.identifier,\n rules = _compiled$key.rules;\n resolved.css[identifier] = {\n group: group || STYLE_GROUPS.classic,\n rules: rules\n };\n result[name] = identifier;\n });\n });\n return result;\n },\n resolve: resolve,\n\n get sheet() {\n return sheet;\n }\n\n };\n}\n\nvar createCacheKey = function createCacheKey(id) {\n var prefix = 'rn';\n return prefix + \"-\" + id;\n};\n\nvar classListToString = function classListToString(list) {\n return list.join(' ').trim();\n};","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/StyleSheet/createStyleResolver.js"],"names":["canUseDOM","createCSSStyleSheet","createCompileableStyle","createOrderedCSSStyleSheet","flattenArray","flattenStyle","I18nManager","i18nStyle","atomic","classic","inline","stringifyValueWithProperty","initialRules","modality","STYLE_ELEMENT_ID","STYLE_GROUPS","createStyleResolver","inserted","sheet","cache","resolved","css","ltr","rtl","rtlNoSwap","init","rule","insert","forEach","reset","addToCache","className","prop","value","getClassName","val","hasOwnProperty","_injectRegisteredStyle","id","_I18nManager$getConst","getConstants","doLeftAndRightSwapInRTL","isRTL","dir","style","results","Object","keys","key","_results$key","identifier","property","rules","group","custom","resolve","classList","nextClassList","props","Array","isArray","item","push","createCacheKey","_resolveStyle","flatArray","isArrayOfNumbers","cacheKey","i","length","_key","apply","finalProps","classListToString","_I18nManager$getConst2","flatStyle","localizedStyle","sort","reduce","styleProp","_atomic","a","_a$key","getStyleSheet","textContent","getTextContent","createCSS","result","name","compiled","_compiled$key","prefix","list","join","trim"],"mappings":"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","sourcesContent":["/**\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 * WARNING: changes to this file in particular can cause significant changes to\n * the results of render performance benchmarks.\n */\nimport { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nimport createCSSStyleSheet from './createCSSStyleSheet';\nimport createCompileableStyle from './createCompileableStyle';\nimport createOrderedCSSStyleSheet from './createOrderedCSSStyleSheet';\nimport flattenArray from '../../modules/flattenArray';\nimport flattenStyle from './flattenStyle';\nimport I18nManager from '../I18nManager';\nimport i18nStyle from './i18nStyle';\nimport { atomic, classic, inline, stringifyValueWithProperty } from './compile';\nimport initialRules from './initialRules';\nimport modality from './modality';\nimport { STYLE_ELEMENT_ID, STYLE_GROUPS } from './constants';\nexport default function createStyleResolver() {\n var inserted, sheet, cache;\n var resolved = {\n css: {},\n ltr: {},\n rtl: {},\n rtlNoSwap: {}\n };\n\n var init = function init() {\n inserted = {\n css: {},\n ltr: {},\n rtl: {},\n rtlNoSwap: {}\n };\n sheet = createOrderedCSSStyleSheet(createCSSStyleSheet(STYLE_ELEMENT_ID));\n cache = {};\n modality(function (rule) {\n return sheet.insert(rule, STYLE_GROUPS.modality);\n });\n initialRules.forEach(function (rule) {\n sheet.insert(rule, STYLE_GROUPS.reset);\n });\n };\n\n init();\n\n function addToCache(className, prop, value) {\n if (!cache[prop]) {\n cache[prop] = {};\n }\n\n cache[prop][value] = className;\n }\n\n function getClassName(prop, value) {\n var val = stringifyValueWithProperty(value, prop);\n return cache[prop] && cache[prop].hasOwnProperty(val) && cache[prop][val];\n }\n\n function _injectRegisteredStyle(id) {\n var _I18nManager$getConst = I18nManager.getConstants(),\n doLeftAndRightSwapInRTL = _I18nManager$getConst.doLeftAndRightSwapInRTL,\n isRTL = _I18nManager$getConst.isRTL;\n\n var dir = isRTL ? doLeftAndRightSwapInRTL ? 'rtl' : 'rtlNoSwap' : 'ltr';\n\n if (!inserted[dir][id]) {\n var style = createCompileableStyle(i18nStyle(flattenStyle(id)));\n var results = atomic(style);\n Object.keys(results).forEach(function (key) {\n var _results$key = results[key],\n identifier = _results$key.identifier,\n property = _results$key.property,\n rules = _results$key.rules,\n value = _results$key.value;\n addToCache(identifier, property, value);\n rules.forEach(function (rule) {\n var group = STYLE_GROUPS.custom[property] || STYLE_GROUPS.atomic;\n sheet.insert(rule, group);\n });\n });\n inserted[dir][id] = true;\n }\n }\n /**\n * Resolves a React Native style object to DOM attributes\n */\n\n\n function resolve(style, classList) {\n var nextClassList = [];\n var props = {};\n\n if (!style && !classList) {\n return props;\n }\n\n if (Array.isArray(classList)) {\n flattenArray(classList).forEach(function (identifier) {\n if (identifier) {\n if (inserted.css[identifier] == null && resolved.css[identifier] != null) {\n var item = resolved.css[identifier];\n item.rules.forEach(function (rule) {\n sheet.insert(rule, item.group);\n });\n inserted.css[identifier] = true;\n }\n\n nextClassList.push(identifier);\n }\n });\n }\n\n if (typeof style === 'number') {\n // fast and cachable\n _injectRegisteredStyle(style);\n\n var key = createCacheKey(style);\n props = _resolveStyle(style, key);\n } else if (!Array.isArray(style)) {\n // resolve a plain RN style object\n props = _resolveStyle(style);\n } else {\n // flatten the style array\n // cache resolved props when all styles are registered\n // otherwise fallback to resolving\n var flatArray = flattenArray(style);\n var isArrayOfNumbers = true;\n var cacheKey = '';\n\n for (var i = 0; i < flatArray.length; i++) {\n var id = flatArray[i];\n\n if (typeof id !== 'number') {\n isArrayOfNumbers = false;\n } else {\n if (isArrayOfNumbers) {\n cacheKey += id + '-';\n }\n\n _injectRegisteredStyle(id);\n }\n }\n\n var _key = isArrayOfNumbers ? createCacheKey(cacheKey) : null;\n\n props = _resolveStyle(flatArray, _key);\n }\n\n nextClassList.push.apply(nextClassList, props.classList);\n var finalProps = {\n className: classListToString(nextClassList),\n classList: nextClassList\n };\n\n if (props.style) {\n finalProps.style = props.style;\n }\n\n return finalProps;\n }\n /**\n * Resolves a React Native style object\n */\n\n\n function _resolveStyle(style, key) {\n var _I18nManager$getConst2 = I18nManager.getConstants(),\n doLeftAndRightSwapInRTL = _I18nManager$getConst2.doLeftAndRightSwapInRTL,\n isRTL = _I18nManager$getConst2.isRTL;\n\n var dir = isRTL ? doLeftAndRightSwapInRTL ? 'rtl' : 'rtlNoSwap' : 'ltr'; // faster: memoized\n\n if (key != null && resolved[dir][key] != null) {\n return resolved[dir][key];\n }\n\n var flatStyle = flattenStyle(style);\n var localizedStyle = createCompileableStyle(i18nStyle(flatStyle)); // slower: convert style object to props and cache\n\n var props = Object.keys(localizedStyle).sort().reduce(function (props, styleProp) {\n var value = localizedStyle[styleProp];\n\n if (value != null) {\n var className = getClassName(styleProp, value);\n\n if (className) {\n props.classList.push(className);\n } else {\n // Certain properties and values are not transformed by 'createReactDOMStyle' as they\n // require more complex transforms into multiple CSS rules. Here we assume that StyleManager\n // can bind these styles to a className, and prevent them becoming invalid inline-styles.\n if (styleProp === 'animationKeyframes' || styleProp === 'placeholderTextColor' || styleProp === 'pointerEvents' || styleProp === 'scrollbarWidth') {\n var _atomic;\n\n var a = atomic((_atomic = {}, _atomic[styleProp] = value, _atomic));\n Object.keys(a).forEach(function (key) {\n var _a$key = a[key],\n identifier = _a$key.identifier,\n rules = _a$key.rules;\n props.classList.push(identifier);\n rules.forEach(function (rule) {\n sheet.insert(rule, STYLE_GROUPS.atomic);\n });\n });\n } else {\n if (!props.style) {\n props.style = {};\n } // 4x slower render\n\n\n props.style[styleProp] = value;\n }\n }\n }\n\n return props;\n }, {\n classList: []\n });\n\n if (props.style) {\n props.style = inline(props.style);\n }\n\n if (key != null) {\n resolved[dir][key] = props;\n }\n\n return props;\n }\n\n return {\n getStyleSheet: function getStyleSheet() {\n var textContent = sheet.getTextContent(); // Reset state on the server so critical css is always the result\n\n if (!canUseDOM) {\n init();\n }\n\n return {\n id: STYLE_ELEMENT_ID,\n textContent: textContent\n };\n },\n createCSS: function createCSS(rules, group) {\n var result = {};\n Object.keys(rules).forEach(function (name) {\n var style = rules[name];\n var compiled = classic(style, name);\n Object.keys(compiled).forEach(function (key) {\n var _compiled$key = compiled[key],\n identifier = _compiled$key.identifier,\n rules = _compiled$key.rules;\n resolved.css[identifier] = {\n group: group || STYLE_GROUPS.classic,\n rules: rules\n };\n result[name] = identifier;\n });\n });\n return result;\n },\n resolve: resolve,\n\n get sheet() {\n return sheet;\n }\n\n };\n}\n/**\n * Misc helpers\n */\n\nvar createCacheKey = function createCacheKey(id) {\n var prefix = 'rn';\n return prefix + \"-\" + id;\n};\n\nvar classListToString = function classListToString(list) {\n return list.join(' ').trim();\n};"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/2402d65277651043f8dca71387d270de.json b/.expo/web/cache/development/babel-loader/2402d65277651043f8dca71387d270de.json new file mode 100644 index 0000000000000000000000000000000000000000..8b59dd92566881e0aa65ba20df5bf066ed0cefd3 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/2402d65277651043f8dca71387d270de.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n listenOnChange();\n useeffect();\n\n function useeffect() {\n var querySnapshot = getDocs(collection(getFirestore(), 'Users'));\n querySnapshot.forEach(function (doc) {\n console.log(doc.id + \" => \" + doc.data());\n });\n }\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n }\n });\n });\n }\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" bla\"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATA","UserLists","navigation","route","users","setUsers","listenOnChange","useeffect","querySnapshot","forEach","console","log","id","data","snapchot","docChanges","change","type","message","itemData","name","Name","email","Email","image","Image","push","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","Alert","alert","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState(null);\r\n\r\nlistenOnChange();\r\nuseeffect();\r\n\r\n/*useEffect(()=>{\r\n \r\nconst colRef = collection(db,\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n const {email, image, name} = doc.data();\r\n const itemData = {name: name, email: email, image: image}\r\n DATA.push(itemData);\r\n Alert.alert(name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])*/\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\nfunction useeffect(){\r\n const querySnapshot = getDocs(collection(getFirestore(),'Users'));\r\nquerySnapshot.forEach((doc) => {\r\n console.log(`${doc.id} => ${doc.data()}`);\r\n});\r\n}\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n //Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> bla</Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/241f28c18cae818692f85af8966cdded.json b/.expo/web/cache/development/babel-loader/241f28c18cae818692f85af8966cdded.json new file mode 100644 index 0000000000000000000000000000000000000000..5529d53c7f2a0748bce98f2cf5d183a8332b049a --- /dev/null +++ b/.expo/web/cache/development/babel-loader/241f28c18cae818692f85af8966cdded.json @@ -0,0 +1 @@ +{"ast":null,"code":"import UIManager from \"../../exports/UIManager\";\nvar TextInputState = {\n _currentlyFocusedNode: null,\n currentlyFocusedField: function currentlyFocusedField() {\n if (document.activeElement !== this._currentlyFocusedNode) {\n this._currentlyFocusedNode = null;\n }\n\n return this._currentlyFocusedNode;\n },\n focusTextInput: function focusTextInput(textFieldNode) {\n if (textFieldNode !== null) {\n this._currentlyFocusedNode = textFieldNode;\n\n if (document.activeElement !== textFieldNode) {\n UIManager.focus(textFieldNode);\n }\n }\n },\n blurTextInput: function blurTextInput(textFieldNode) {\n if (textFieldNode !== null) {\n this._currentlyFocusedNode = null;\n\n if (document.activeElement === textFieldNode) {\n UIManager.blur(textFieldNode);\n }\n }\n }\n};\nexport default TextInputState;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/TextInputState/index.js"],"names":["UIManager","TextInputState","_currentlyFocusedNode","currentlyFocusedField","document","activeElement","focusTextInput","textFieldNode","focus","blurTextInput","blur"],"mappings":"AASA,OAAOA,SAAP;AAOA,IAAIC,cAAc,GAAG;AAInBC,EAAAA,qBAAqB,EAAE,IAJJ;AAUnBC,EAAAA,qBAAqB,EAAE,SAASA,qBAAT,GAAiC;AACtD,QAAIC,QAAQ,CAACC,aAAT,KAA2B,KAAKH,qBAApC,EAA2D;AACzD,WAAKA,qBAAL,GAA6B,IAA7B;AACD;;AAED,WAAO,KAAKA,qBAAZ;AACD,GAhBkB;AAuBnBI,EAAAA,cAAc,EAAE,SAASA,cAAT,CAAwBC,aAAxB,EAAuC;AACrD,QAAIA,aAAa,KAAK,IAAtB,EAA4B;AAC1B,WAAKL,qBAAL,GAA6BK,aAA7B;;AAEA,UAAIH,QAAQ,CAACC,aAAT,KAA2BE,aAA/B,EAA8C;AAC5CP,QAAAA,SAAS,CAACQ,KAAV,CAAgBD,aAAhB;AACD;AACF;AACF,GA/BkB;AAsCnBE,EAAAA,aAAa,EAAE,SAASA,aAAT,CAAuBF,aAAvB,EAAsC;AACnD,QAAIA,aAAa,KAAK,IAAtB,EAA4B;AAC1B,WAAKL,qBAAL,GAA6B,IAA7B;;AAEA,UAAIE,QAAQ,CAACC,aAAT,KAA2BE,aAA/B,EAA8C;AAC5CP,QAAAA,SAAS,CAACU,IAAV,CAAeH,aAAf;AACD;AACF;AACF;AA9CkB,CAArB;AAgDA,eAAeN,cAAf","sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport UIManager from '../../exports/UIManager';\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 */\n\nvar TextInputState = {\n /**\n * Internal state\n */\n _currentlyFocusedNode: null,\n\n /**\n * Returns the ID of the currently focused text field, if one exists\n * If no text field is focused it returns null\n */\n currentlyFocusedField: function currentlyFocusedField() {\n if (document.activeElement !== this._currentlyFocusedNode) {\n this._currentlyFocusedNode = null;\n }\n\n return this._currentlyFocusedNode;\n },\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: function focusTextInput(textFieldNode) {\n if (textFieldNode !== null) {\n this._currentlyFocusedNode = textFieldNode;\n\n if (document.activeElement !== textFieldNode) {\n UIManager.focus(textFieldNode);\n }\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: function blurTextInput(textFieldNode) {\n if (textFieldNode !== null) {\n this._currentlyFocusedNode = null;\n\n if (document.activeElement === textFieldNode) {\n UIManager.blur(textFieldNode);\n }\n }\n }\n};\nexport default TextInputState;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/243fd888346341dcf78a287ac1be9586.json b/.expo/web/cache/development/babel-loader/243fd888346341dcf78a287ac1be9586.json new file mode 100644 index 0000000000000000000000000000000000000000..f98e21554d129b31a476d041a67c35e920fd5973 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/243fd888346341dcf78a287ac1be9586.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n listenOnChange();\n useEffect(function () {\n var colRef = collection(getFirestore(), \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var itemData = {\n name: doc.data().Name,\n email: doc.data().Email,\n image: doc.data().Image\n };\n DATA.push(itemData);\n Alert.alert(doc.data().Name);\n });\n });\n }, []);\n\n function useeffect() {\n getDocs(collection(getFirestore(), 'Users')).forEach(function (doc) {\n console.log(doc.id + \" => \" + doc.data());\n });\n }\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n }\n });\n });\n }\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" bla\"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATA","UserLists","navigation","route","users","setUsers","listenOnChange","colRef","querySnapshot","forEach","itemData","name","data","Name","email","Email","image","Image","push","Alert","alert","useeffect","console","log","id","snapchot","docChanges","change","type","message","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState(null);\r\n\r\nlistenOnChange();\r\n//useeffect();\r\n\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(getFirestore(),\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image}\r\n DATA.push(itemData);\r\n Alert.alert(doc.data().Name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\nfunction useeffect(){\r\n getDocs(collection(getFirestore(),'Users')).forEach((doc) => {\r\n console.log(`${doc.id} => ${doc.data()}`);\r\n});\r\n}\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n //Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> bla</Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/24df0efa53f51b66822bac7b50c2f51b.json b/.expo/web/cache/development/babel-loader/24df0efa53f51b66822bac7b50c2f51b.json new file mode 100644 index 0000000000000000000000000000000000000000..acfcca0147890d9009816e6e16fcf4c710eb7777 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/24df0efa53f51b66822bac7b50c2f51b.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n listenOnChange();\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n }\n });\n });\n }\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Text, {\n children: item.image\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" bla\"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: 'https://reactnative.dev/img/tiny_logo.png'\n }\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","firebase","DATA","UserLists","navigation","route","users","setUsers","listenOnChange","snapchot","docChanges","forEach","change","type","message","data","itemData","name","Name","email","Email","image","Image","push","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","selectedId","setSelectedId","renderItem","id","color","OpenEditVorlesungsliste","navigate","EmptyListMessage","Alert","alert","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState(null);\r\n\r\nlistenOnChange();\r\n\r\n/*useEffect(()=>{\r\n \r\nconst colRef = collection(db,\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n const {email, image, name} = doc.data();\r\n const itemData = {name: name, email: email, image: image}\r\n DATA.push(itemData);\r\n Alert.alert(name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])*/\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n //Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n <Text>\r\n {item.image} \r\n </Text>\r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> bla</Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <Image\r\n style={styles.tinyLogo}\r\n source={{\r\n uri: 'https://reactnative.dev/img/tiny_logo.png',\r\n }}\r\n />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/250a8da117a0766354fd74cdd8a0b1e0.json b/.expo/web/cache/development/babel-loader/250a8da117a0766354fd74cdd8a0b1e0.json new file mode 100644 index 0000000000000000000000000000000000000000..88a388474f67617ac46c5e228f38dd89923a055b --- /dev/null +++ b/.expo/web/cache/development/babel-loader/250a8da117a0766354fd74cdd8a0b1e0.json @@ -0,0 +1 @@ +{"ast":null,"code":"export { default as BaseNavigationContainer } from \"./BaseNavigationContainer\";\nexport { default as createNavigationContainerRef } from \"./createNavigationContainerRef\";\nexport { default as createNavigatorFactory } from \"./createNavigatorFactory\";\nexport { default as CurrentRenderContext } from \"./CurrentRenderContext\";\nexport { default as findFocusedRoute } from \"./findFocusedRoute\";\nexport { default as getActionFromState } from \"./getActionFromState\";\nexport { default as getFocusedRouteNameFromRoute } from \"./getFocusedRouteNameFromRoute\";\nexport { default as getPathFromState } from \"./getPathFromState\";\nexport { default as getStateFromPath } from \"./getStateFromPath\";\nexport { default as NavigationContainerRefContext } from \"./NavigationContainerRefContext\";\nexport { default as NavigationContext } from \"./NavigationContext\";\nexport { default as NavigationHelpersContext } from \"./NavigationHelpersContext\";\nexport { default as NavigationRouteContext } from \"./NavigationRouteContext\";\nexport * from \"./types\";\nexport { default as useFocusEffect } from \"./useFocusEffect\";\nexport { default as useIsFocused } from \"./useIsFocused\";\nexport { default as useNavigation } from \"./useNavigation\";\nexport { default as useNavigationBuilder } from \"./useNavigationBuilder\";\nexport { default as useNavigationContainerRef } from \"./useNavigationContainerRef\";\nexport { default as useNavigationState } from \"./useNavigationState\";\nexport { default as useRoute } from \"./useRoute\";\nexport { default as validatePathConfig } from \"./validatePathConfig\";\nexport * from '@react-navigation/routers';","map":{"version":3,"sources":["index.tsx"],"names":["default"],"mappings":"AAAA,SAASA,OAAO,IAAhB,uBAAA;AACA,SAASA,OAAO,IAAhB,4BAAA;AACA,SAASA,OAAO,IAAhB,sBAAA;AACA,SAASA,OAAO,IAAhB,oBAAA;AACA,SAASA,OAAO,IAAhB,gBAAA;AACA,SAASA,OAAO,IAAhB,kBAAA;AACA,SAASA,OAAO,IAAhB,4BAAA;AACA,SAASA,OAAO,IAAhB,gBAAA;AACA,SAASA,OAAO,IAAhB,gBAAA;AACA,SAASA,OAAO,IAAhB,6BAAA;AACA,SAASA,OAAO,IAAhB,iBAAA;AACA,SAASA,OAAO,IAAhB,wBAAA;AACA,SAASA,OAAO,IAAhB,sBAAA;AACA;AACA,SAASA,OAAO,IAAhB,cAAA;AACA,SAASA,OAAO,IAAhB,YAAA;AACA,SAASA,OAAO,IAAhB,aAAA;AACA,SAASA,OAAO,IAAhB,oBAAA;AACA,SAASA,OAAO,IAAhB,yBAAA;AACA,SAASA,OAAO,IAAhB,kBAAA;AACA,SAASA,OAAO,IAAhB,QAAA;AACA,SAASA,OAAO,IAAhB,kBAAA;AACA,cAAA,2BAAA","sourcesContent":["export { default as BaseNavigationContainer } from './BaseNavigationContainer';\nexport { default as createNavigationContainerRef } from './createNavigationContainerRef';\nexport { default as createNavigatorFactory } from './createNavigatorFactory';\nexport { default as CurrentRenderContext } from './CurrentRenderContext';\nexport { default as findFocusedRoute } from './findFocusedRoute';\nexport { default as getActionFromState } from './getActionFromState';\nexport { default as getFocusedRouteNameFromRoute } from './getFocusedRouteNameFromRoute';\nexport { default as getPathFromState } from './getPathFromState';\nexport { default as getStateFromPath } from './getStateFromPath';\nexport { default as NavigationContainerRefContext } from './NavigationContainerRefContext';\nexport { default as NavigationContext } from './NavigationContext';\nexport { default as NavigationHelpersContext } from './NavigationHelpersContext';\nexport { default as NavigationRouteContext } from './NavigationRouteContext';\nexport * from './types';\nexport { default as useFocusEffect } from './useFocusEffect';\nexport { default as useIsFocused } from './useIsFocused';\nexport { default as useNavigation } from './useNavigation';\nexport { default as useNavigationBuilder } from './useNavigationBuilder';\nexport { default as useNavigationContainerRef } from './useNavigationContainerRef';\nexport { default as useNavigationState } from './useNavigationState';\nexport { default as useRoute } from './useRoute';\nexport { default as validatePathConfig } from './validatePathConfig';\nexport * from '@react-navigation/routers';\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/250bfe8e6f39fe1b783e5380cd90e5b1.json b/.expo/web/cache/development/babel-loader/250bfe8e6f39fe1b783e5380cd90e5b1.json new file mode 100644 index 0000000000000000000000000000000000000000..847a74aeba51cc1896a562bb64538e4f15071a98 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/250bfe8e6f39fe1b783e5380cd90e5b1.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nmodule.exports = '/__open-stack-frame-in-editor';","map":{"version":3,"sources":["C:/Users/user/AppData/Roaming/npm/node_modules/expo-cli/node_modules/react-dev-utils/launchEditorEndpoint.js"],"names":["module","exports"],"mappings":"AAMA;;AAGAA,MAAM,CAACC,OAAP,GAAiB,+BAAjB","sourcesContent":["/**\n * Copyright (c) 2015-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'use strict';\n\n// TODO: we might want to make this injectable to support DEV-time non-root URLs.\nmodule.exports = '/__open-stack-frame-in-editor';\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/259bc04e9127bb620d46b0325d7165eb.json b/.expo/web/cache/development/babel-loader/259bc04e9127bb620d46b0325d7165eb.json new file mode 100644 index 0000000000000000000000000000000000000000..59f7ae8598380be79074f09d89ada9561f9069a0 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/259bc04e9127bb620d46b0325d7165eb.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users.toString);\n setUsers(users);\n });\n\n if (users != null) {\n Alert.alert(users.toString);\n }\n }, []);\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {\n children: item.Name\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: users,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","params","post","Item","item","onPress","backgroundColor","textColor","styles","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users.toString);\r\n setUsers(users)\r\n});\r\nif(users!= null){\r\n Alert.alert(users.toString)\r\n}\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\n/*function writeData(){\r\n \r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})\r\n}*/\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async () => {\r\n const id = 'q5EOqKxKEsAO6lLmhbnc';\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUsers({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n Alert.alert(users[0])\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.Name} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser'/> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={users}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/25b1bccaedec57754993ccd111e641bc.json b/.expo/web/cache/development/babel-loader/25b1bccaedec57754993ccd111e641bc.json new file mode 100644 index 0000000000000000000000000000000000000000..0de26aeb55853b8e5579b8d5e547f069ca96f45c --- /dev/null +++ b/.expo/web/cache/development/babel-loader/25b1bccaedec57754993ccd111e641bc.json @@ -0,0 +1 @@ +{"ast":null,"code":";\n\n(function (root) {\n var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n var freeModule = typeof module == 'object' && module && !module.nodeType && module;\n var freeGlobal = typeof global == 'object' && global;\n\n if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal) {\n root = freeGlobal;\n }\n\n var punycode,\n maxInt = 2147483647,\n base = 36,\n tMin = 1,\n tMax = 26,\n skew = 38,\n damp = 700,\n initialBias = 72,\n initialN = 128,\n delimiter = '-',\n regexPunycode = /^xn--/,\n regexNonASCII = /[^\\x20-\\x7E]/,\n regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g,\n errors = {\n 'overflow': 'Overflow: input needs wider integers to process',\n 'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n 'invalid-input': 'Invalid input'\n },\n baseMinusTMin = base - tMin,\n floor = Math.floor,\n stringFromCharCode = String.fromCharCode,\n key;\n\n function error(type) {\n throw new RangeError(errors[type]);\n }\n\n function map(array, fn) {\n var length = array.length;\n var result = [];\n\n while (length--) {\n result[length] = fn(array[length]);\n }\n\n return result;\n }\n\n function mapDomain(string, fn) {\n var parts = string.split('@');\n var result = '';\n\n if (parts.length > 1) {\n result = parts[0] + '@';\n string = parts[1];\n }\n\n string = string.replace(regexSeparators, '\\x2E');\n var labels = string.split('.');\n var encoded = map(labels, fn).join('.');\n return result + encoded;\n }\n\n function ucs2decode(string) {\n var output = [],\n counter = 0,\n length = string.length,\n value,\n extra;\n\n while (counter < length) {\n value = string.charCodeAt(counter++);\n\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n extra = string.charCodeAt(counter++);\n\n if ((extra & 0xFC00) == 0xDC00) {\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n\n return output;\n }\n\n function ucs2encode(array) {\n return map(array, function (value) {\n var output = '';\n\n if (value > 0xFFFF) {\n value -= 0x10000;\n output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n value = 0xDC00 | value & 0x3FF;\n }\n\n output += stringFromCharCode(value);\n return output;\n }).join('');\n }\n\n function basicToDigit(codePoint) {\n if (codePoint - 48 < 10) {\n return codePoint - 22;\n }\n\n if (codePoint - 65 < 26) {\n return codePoint - 65;\n }\n\n if (codePoint - 97 < 26) {\n return codePoint - 97;\n }\n\n return base;\n }\n\n function digitToBasic(digit, flag) {\n return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n }\n\n function adapt(delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n }\n\n function decode(input) {\n var output = [],\n inputLength = input.length,\n out,\n i = 0,\n n = initialN,\n bias = initialBias,\n basic,\n j,\n index,\n oldi,\n w,\n k,\n digit,\n t,\n baseMinusT;\n basic = input.lastIndexOf(delimiter);\n\n if (basic < 0) {\n basic = 0;\n }\n\n for (j = 0; j < basic; ++j) {\n if (input.charCodeAt(j) >= 0x80) {\n error('not-basic');\n }\n\n output.push(input.charCodeAt(j));\n }\n\n for (index = basic > 0 ? basic + 1 : 0; index < inputLength;) {\n for (oldi = i, w = 1, k = base;; k += base) {\n if (index >= inputLength) {\n error('invalid-input');\n }\n\n digit = basicToDigit(input.charCodeAt(index++));\n\n if (digit >= base || digit > floor((maxInt - i) / w)) {\n error('overflow');\n }\n\n i += digit * w;\n t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n\n if (digit < t) {\n break;\n }\n\n baseMinusT = base - t;\n\n if (w > floor(maxInt / baseMinusT)) {\n error('overflow');\n }\n\n w *= baseMinusT;\n }\n\n out = output.length + 1;\n bias = adapt(i - oldi, out, oldi == 0);\n\n if (floor(i / out) > maxInt - n) {\n error('overflow');\n }\n\n n += floor(i / out);\n i %= out;\n output.splice(i++, 0, n);\n }\n\n return ucs2encode(output);\n }\n\n function encode(input) {\n var n,\n delta,\n handledCPCount,\n basicLength,\n bias,\n j,\n m,\n q,\n k,\n t,\n currentValue,\n output = [],\n inputLength,\n handledCPCountPlusOne,\n baseMinusT,\n qMinusT;\n input = ucs2decode(input);\n inputLength = input.length;\n n = initialN;\n delta = 0;\n bias = initialBias;\n\n for (j = 0; j < inputLength; ++j) {\n currentValue = input[j];\n\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n handledCPCount = basicLength = output.length;\n\n if (basicLength) {\n output.push(delimiter);\n }\n\n while (handledCPCount < inputLength) {\n for (m = maxInt, j = 0; j < inputLength; ++j) {\n currentValue = input[j];\n\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n handledCPCountPlusOne = handledCPCount + 1;\n\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n error('overflow');\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (j = 0; j < inputLength; ++j) {\n currentValue = input[j];\n\n if (currentValue < n && ++delta > maxInt) {\n error('overflow');\n }\n\n if (currentValue == n) {\n for (q = delta, k = base;; k += base) {\n t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n\n if (q < t) {\n break;\n }\n\n qMinusT = q - t;\n baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)));\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q, 0)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n\n return output.join('');\n }\n\n function toUnicode(input) {\n return mapDomain(input, function (string) {\n return regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string;\n });\n }\n\n function toASCII(input) {\n return mapDomain(input, function (string) {\n return regexNonASCII.test(string) ? 'xn--' + encode(string) : string;\n });\n }\n\n punycode = {\n 'version': '1.4.1',\n 'ucs2': {\n 'decode': ucs2decode,\n 'encode': ucs2encode\n },\n 'decode': decode,\n 'encode': encode,\n 'toASCII': toASCII,\n 'toUnicode': toUnicode\n };\n\n if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {\n define('punycode', function () {\n return punycode;\n });\n } else if (freeExports && freeModule) {\n if (module.exports == freeExports) {\n freeModule.exports = punycode;\n } else {\n for (key in punycode) {\n punycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n }\n }\n } else {\n root.punycode = punycode;\n }\n})(this);","map":{"version":3,"sources":["C:/Users/user/AppData/Roaming/npm/node_modules/expo-cli/node_modules/node-libs-browser/node_modules/punycode/punycode.js"],"names":["root","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","window","self","punycode","maxInt","base","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexPunycode","regexNonASCII","regexSeparators","errors","baseMinusTMin","floor","Math","stringFromCharCode","String","fromCharCode","key","error","type","RangeError","map","array","fn","length","result","mapDomain","string","parts","split","replace","labels","encoded","join","ucs2decode","output","counter","value","extra","charCodeAt","push","ucs2encode","basicToDigit","codePoint","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","k","decode","input","inputLength","out","i","n","bias","basic","j","index","oldi","w","t","baseMinusT","lastIndexOf","splice","encode","handledCPCount","basicLength","m","q","currentValue","handledCPCountPlusOne","qMinusT","toUnicode","test","slice","toLowerCase","toASCII","define","amd","hasOwnProperty"],"mappings":"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","sourcesContent":["/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/262246bed99114a502f7511ecec33089.json b/.expo/web/cache/development/babel-loader/262246bed99114a502f7511ecec33089.json new file mode 100644 index 0000000000000000000000000000000000000000..e9d19720d829549779ab49878e8ee8103e591d33 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/262246bed99114a502f7511ecec33089.json @@ -0,0 +1 @@ +{"ast":null,"code":"var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;","map":{"version":3,"sources":["C:/Users/user/AppData/Roaming/npm/node_modules/expo-cli/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js"],"names":["arrayLikeToArray","require","_unsupportedIterableToArray","o","minLen","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","module","exports"],"mappings":"AAAA,IAAIA,gBAAgB,GAAGC,OAAO,sBAA9B;;AAEA,SAASC,2BAAT,CAAqCC,CAArC,EAAwCC,MAAxC,EAAgD;AAC9C,MAAI,CAACD,CAAL,EAAQ;AACR,MAAI,OAAOA,CAAP,KAAa,QAAjB,EAA2B,OAAOH,gBAAgB,CAACG,CAAD,EAAIC,MAAJ,CAAvB;AAC3B,MAAIC,CAAC,GAAGC,MAAM,CAACC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BN,CAA/B,EAAkCO,KAAlC,CAAwC,CAAxC,EAA2C,CAAC,CAA5C,CAAR;AACA,MAAIL,CAAC,KAAK,QAAN,IAAkBF,CAAC,CAACQ,WAAxB,EAAqCN,CAAC,GAAGF,CAAC,CAACQ,WAAF,CAAcC,IAAlB;AACrC,MAAIP,CAAC,KAAK,KAAN,IAAeA,CAAC,KAAK,KAAzB,EAAgC,OAAOQ,KAAK,CAACC,IAAN,CAAWT,CAAX,CAAP;AAChC,MAAIA,CAAC,KAAK,WAAN,IAAqB,2CAA2CU,IAA3C,CAAgDV,CAAhD,CAAzB,EAA6E,OAAOL,gBAAgB,CAACG,CAAD,EAAIC,MAAJ,CAAvB;AAC9E;;AAEDY,MAAM,CAACC,OAAP,GAAiBf,2BAAjB","sourcesContent":["var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/2732d285005feb9b64d68618dbcc91a2.json b/.expo/web/cache/development/babel-loader/2732d285005feb9b64d68618dbcc91a2.json new file mode 100644 index 0000000000000000000000000000000000000000..7c915084cbe52d3cc046726bfed96a63a3475b1d --- /dev/null +++ b/.expo/web/cache/development/babel-loader/2732d285005feb9b64d68618dbcc91a2.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATAS = null;\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n DATA = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(getFirestore(), \"Users\");\n var big = [];\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var itemData = {\n name: doc.data().Name,\n email: doc.data().Email,\n image: doc.data().Image,\n id: doc.id\n };\n big.push(itemData);\n DATAS = big;\n });\n });\n }, []);\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n var big = [];\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n big.push(itemData);\n }\n });\n setUsers(big);\n });\n }\n\n if (route.params != null) {\n setUsers(null);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n }), _jsx(Text, {\n style: styles.beschreibung,\n children: item.name\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATAS != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsxs(View, {\n children: [_jsx(Text, {\n children: \"No Data Found\"\n }), _jsx(Button, {\n title: \"Load Data\",\n onPress: listenOnChange\n })]\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" \"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATAS,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return item + index;\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n },\n item: {\n width: 250,\n paddingTop: 20,\n paddingBottom: 20,\n paddingRight: 20,\n marginVertical: 8,\n marginHorizontal: 25,\n borderBottomColor: '#D9D9D9',\n borderBottomWidth: 2,\n flexDirection: \"row\"\n },\n beschreibung: {\n marginLeft: 10,\n width: 180,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 16,\n lineHeight: 23,\n color: \"#5E6A79\"\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATAS","UserLists","navigation","route","DATA","setUsers","colRef","big","querySnapshot","forEach","itemData","name","data","Name","email","Email","image","Image","id","push","listenOnChange","snapchot","docChanges","change","type","message","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","beschreibung","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","Alert","alert","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height","paddingTop","paddingBottom","paddingRight","marginVertical","borderBottomColor","borderBottomWidth","flexDirection","marginLeft","fontStyle","fontWeight","fontSize","lineHeight"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATAS = null;\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [DATA, setUsers] = useState(null);\r\n\r\n//listenOnChange();\r\n//useeffect();\r\n\r\n/*useEffect(()=>{\r\nconst colRef = collection(getFirestore(),\"Users\");\r\nconst big= [];\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n //DATA.push(itemData);\r\n setUsers(big);\r\n //Alert.alert('count data',DATA.name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])*/\r\n\r\n\r\n\r\n\r\n//test\r\nuseEffect(()=>{\r\n const colRef = collection(getFirestore(),\"Users\");\r\n const big= [];\r\n onSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n //DATA.push(itemData);\r\n DATAS = (big);\r\n //Alert.alert('count data',DATA.name);\r\n });\r\n \r\n //setUsers(users)\r\n });\r\n //Alert.alert(users.Name.toString);\r\n \r\n },[])\r\n\r\n\r\n \r\n\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n const big = [];\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n //DATA.push(itemData);\r\n big.push(itemData);\r\n \r\n //Alert.alert('listen on change',message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n }); setUsers(big);\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\nsetUsers(null);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n \r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n <Text style={styles.beschreibung}>\r\n {item.name} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATAS != null ){ //DATAS zu DATA ändern ___-------\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <View>\r\n <Text>\r\n No Data Found \r\n </Text>\r\n <Button title='Load Data' onPress={listenOnChange}/>\r\n </View>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> </Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATAS} //DATAS zu DATA ändern ___-------\r\n renderItem={renderItem}\r\n /*keyExtractor={ (item, index) => index.toString()}//item => item.id*/\r\n keyExtractor={(item, index) => item + index}\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n item: {\r\n width: 250,\r\n paddingTop: 20,\r\n paddingBottom: 20,\r\n paddingRight: 20,\r\n marginVertical: 8,\r\n marginHorizontal: 25,\r\n borderBottomColor: '#D9D9D9',\r\n borderBottomWidth: 2,\r\n flexDirection: \"row\",\r\n },\r\n beschreibung: {\r\n marginLeft:10,\r\n width: 180,\r\n\r\n // font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 16,\r\n lineHeight: 23,\r\n color: \"#5E6A79\",\r\n },\r\n\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/27434c63fc26903a452950a5f7d5957a.json b/.expo/web/cache/development/babel-loader/27434c63fc26903a452950a5f7d5957a.json new file mode 100644 index 0000000000000000000000000000000000000000..33ba71ebf1ed8c1d26ff37f5c218b0433ee5c4d0 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/27434c63fc26903a452950a5f7d5957a.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc } from \"firebase/firestore\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Name = _doc$data.Name,\n Email = _doc$data.Email,\n Image = _doc$data.Image;\n\n users.push({\n id: doc.id,\n Name: Name,\n Email: Email,\n Image: Image\n });\n });\n setUsers(users);\n });\n }, []);\n var document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\n\n function writeData() {\n var docData = {\n Name: \"Ada\",\n Email: \"Lovelace\",\n Image: \"1815\"\n };\n setDoc(document, docData);\n }\n\n writeData();\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsxs(Text, {\n children: [item.title, users.toString]\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Name","Email","Image","push","id","document","firestore","writeData","docData","params","Alert","alert","post","Item","item","onPress","backgroundColor","textColor","styles","title","toString","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc} from \"firebase/firestore\"\r\n\r\n\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Name, Email, Image} = doc.data();\r\n users.push({id:doc.id, Name, Email, Image})\r\n });\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\n /*try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"users\"), {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async (id) => {\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUser({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n {users.toString}\r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/27593b3208f0eb524c32a71193856cc4.json b/.expo/web/cache/development/babel-loader/27593b3208f0eb524c32a71193856cc4.json new file mode 100644 index 0000000000000000000000000000000000000000..0ad7527f33de8f8bb1f8a2182c48668047eecb92 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/27593b3208f0eb524c32a71193856cc4.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore } from \"firebase/firestore\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n setUsers(users);\n });\n }, []);\n\n function writeData() {\n return _regeneratorRuntime.async(function writeData$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (DATA != null) {\n Alert.alert(DATA.toLocaleString);\n } else {\n Alert.alert('Data null');\n }\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n }\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsxs(Text, {\n children: [item.title, users.toString]\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\",\n onPress: writeData\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","writeData","Alert","alert","toLocaleString","params","post","Item","item","onPress","backgroundColor","textColor","styles","title","toString","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\nasync function writeData(){\r\n \r\n if(DATA != null){\r\n Alert.alert(DATA.toLocaleString);\r\n}\r\nelse{\r\n Alert.alert('Data null');\r\n}\r\n /*try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})*/\r\n}\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async (id) => {\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUser({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n {users.toString}\r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser' onPress={writeData}/>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/278fa50a0adae403f67393d006d449e0.json b/.expo/web/cache/development/babel-loader/278fa50a0adae403f67393d006d449e0.json new file mode 100644 index 0000000000000000000000000000000000000000..359e77ce364a5e022e963534f37ff69f7e36a9a1 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/278fa50a0adae403f67393d006d449e0.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users[0].Name.toString);\n setUsers(users);\n });\n }, []);\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {})\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" bla\"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","params","post","Item","item","onPress","backgroundColor","textColor","styles","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users[0].Name.toString);\r\n setUsers(users)\r\n});\r\n\r\n\r\n},[])\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {/*item.Name*/} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> bla</Text>\r\n <Button title='addUser'/> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/2805664a0eaed008285bb50e26b2bcfa.json b/.expo/web/cache/development/babel-loader/2805664a0eaed008285bb50e26b2bcfa.json new file mode 100644 index 0000000000000000000000000000000000000000..ad2902cd728d21c69bcd37eeb4bc7154c2e2cc95 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/2805664a0eaed008285bb50e26b2bcfa.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _extends from \"@babel/runtime/helpers/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport NativeModules from \"react-native-web/dist/exports/NativeModules\";\nimport Platform from \"react-native-web/dist/exports/Platform\";\nimport { APP_NATIVE_MODULE } from \"../constants\";\nimport NativeFirebaseError from \"../NativeFirebaseError\";\nimport RNFBNativeEventEmitter from \"../RNFBNativeEventEmitter\";\nimport SharedEventEmitter from \"../SharedEventEmitter\";\nvar NATIVE_MODULE_REGISTRY = {};\nvar NATIVE_MODULE_EVENT_SUBSCRIPTIONS = {};\n\nfunction nativeModuleKey(module) {\n return (module._customUrlOrRegion || '') + \":\" + module.app.name + \":\" + module._config.namespace;\n}\n\nfunction nativeModuleMethodWrapped(namespace, method, argToPrepend) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var possiblePromise = method.apply(void 0, [].concat(_toConsumableArray(argToPrepend), args));\n\n if (possiblePromise && possiblePromise.then) {\n var jsStack = new Error().stack;\n return possiblePromise.catch(function (nativeError) {\n return Promise.reject(new NativeFirebaseError(nativeError, jsStack, namespace));\n });\n }\n\n return possiblePromise;\n };\n}\n\nfunction nativeModuleWrapped(namespace, NativeModule, argToPrepend) {\n var native = {};\n\n if (!NativeModule) {\n return NativeModule;\n }\n\n var properties = Object.keys(NativeModule);\n\n for (var i = 0, len = properties.length; i < len; i++) {\n var property = properties[i];\n\n if (typeof NativeModule[property] === 'function') {\n native[property] = nativeModuleMethodWrapped(namespace, NativeModule[property], argToPrepend);\n } else {\n native[property] = NativeModule[property];\n }\n }\n\n return native;\n}\n\nfunction initialiseNativeModule(module) {\n var config = module._config;\n var key = nativeModuleKey(module);\n var namespace = config.namespace,\n nativeEvents = config.nativeEvents,\n nativeModuleName = config.nativeModuleName,\n hasMultiAppSupport = config.hasMultiAppSupport,\n hasCustomUrlOrRegionSupport = config.hasCustomUrlOrRegionSupport,\n disablePrependCustomUrlOrRegion = config.disablePrependCustomUrlOrRegion;\n var multiModuleRoot = {};\n var multiModule = Array.isArray(nativeModuleName);\n var nativeModuleNames = multiModule ? nativeModuleName : [nativeModuleName];\n\n for (var i = 0; i < nativeModuleNames.length; i++) {\n var nativeModule = NativeModules[nativeModuleNames[i]];\n\n if (!multiModule && !nativeModule) {\n throw new Error(getMissingModuleHelpText(namespace));\n }\n\n if (multiModule) {\n multiModuleRoot[nativeModuleNames[i]] = !!nativeModule;\n }\n\n var argToPrepend = [];\n\n if (hasMultiAppSupport) {\n argToPrepend.push(module.app.name);\n }\n\n if (hasCustomUrlOrRegionSupport && !disablePrependCustomUrlOrRegion) {\n argToPrepend.push(module._customUrlOrRegion);\n }\n\n _extends(multiModuleRoot, nativeModuleWrapped(namespace, nativeModule, argToPrepend));\n }\n\n if (nativeEvents && nativeEvents.length) {\n for (var _i = 0, len = nativeEvents.length; _i < len; _i++) {\n subscribeToNativeModuleEvent(nativeEvents[_i]);\n }\n }\n\n Object.freeze(multiModuleRoot);\n NATIVE_MODULE_REGISTRY[key] = multiModuleRoot;\n return NATIVE_MODULE_REGISTRY[key];\n}\n\nfunction subscribeToNativeModuleEvent(eventName) {\n if (!NATIVE_MODULE_EVENT_SUBSCRIPTIONS[eventName]) {\n RNFBNativeEventEmitter.addListener(eventName, function (event) {\n if (event.appName) {\n SharedEventEmitter.emit(event.appName + \"-\" + eventName, event);\n } else {\n SharedEventEmitter.emit(eventName, event);\n }\n });\n NATIVE_MODULE_EVENT_SUBSCRIPTIONS[eventName] = true;\n }\n}\n\nfunction getMissingModuleHelpText(namespace) {\n var snippet = \"firebase.\" + namespace + \"()\";\n var nativeModule = namespace.charAt(0).toUpperCase() + namespace.slice(1);\n\n if (Platform.OS === 'ios') {\n return \"You attempted to use a firebase module that's not installed natively on your iOS project by calling \" + snippet + \".\" + '\\r\\n\\r\\nEnsure you have either linked the module or added it to your projects Podfile.' + '\\r\\n\\r\\nSee http://invertase.link/ios for full setup instructions.';\n }\n\n var rnFirebasePackage = \"'io.invertase.firebase.\" + namespace + \".ReactNativeFirebase\" + nativeModule + \"Package'\";\n var newInstance = \"'new ReactNativeFirebase\" + nativeModule + \"Package()'\";\n return \"You attempted to use a firebase module that's not installed on your Android project by calling \" + snippet + \".\" + (\"\\r\\n\\r\\nEnsure you have:\\r\\n\\r\\n1) imported the \" + rnFirebasePackage + \" module in your 'MainApplication.java' file.\\r\\n\\r\\n2) Added the \") + (newInstance + \" line inside of the RN 'getPackages()' method list.\") + '\\r\\n\\r\\nSee http://invertase.link/android for full setup instructions.';\n}\n\nexport function getNativeModule(module) {\n var key = nativeModuleKey(module);\n\n if (NATIVE_MODULE_REGISTRY[key]) {\n return NATIVE_MODULE_REGISTRY[key];\n }\n\n return initialiseNativeModule(module);\n}\nexport function getAppModule() {\n if (NATIVE_MODULE_REGISTRY[APP_NATIVE_MODULE]) {\n return NATIVE_MODULE_REGISTRY[APP_NATIVE_MODULE];\n }\n\n var namespace = 'app';\n var nativeModule = NativeModules[APP_NATIVE_MODULE];\n\n if (!nativeModule) {\n throw new Error(getMissingModuleHelpText(namespace));\n }\n\n NATIVE_MODULE_REGISTRY[APP_NATIVE_MODULE] = nativeModuleWrapped(namespace, nativeModule, []);\n return NATIVE_MODULE_REGISTRY[APP_NATIVE_MODULE];\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/app/lib/internal/registry/nativeModule.js"],"names":["APP_NATIVE_MODULE","NativeFirebaseError","RNFBNativeEventEmitter","SharedEventEmitter","NATIVE_MODULE_REGISTRY","NATIVE_MODULE_EVENT_SUBSCRIPTIONS","nativeModuleKey","module","_customUrlOrRegion","app","name","_config","namespace","nativeModuleMethodWrapped","method","argToPrepend","args","possiblePromise","then","jsStack","Error","stack","catch","nativeError","Promise","reject","nativeModuleWrapped","NativeModule","native","properties","Object","keys","i","len","length","property","initialiseNativeModule","config","key","nativeEvents","nativeModuleName","hasMultiAppSupport","hasCustomUrlOrRegionSupport","disablePrependCustomUrlOrRegion","multiModuleRoot","multiModule","Array","isArray","nativeModuleNames","nativeModule","NativeModules","getMissingModuleHelpText","push","subscribeToNativeModuleEvent","freeze","eventName","addListener","event","appName","emit","snippet","charAt","toUpperCase","slice","Platform","OS","rnFirebasePackage","newInstance","getNativeModule","getAppModule"],"mappings":"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","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { NativeModules, Platform } from 'react-native';\nimport { APP_NATIVE_MODULE } from '../constants';\nimport NativeFirebaseError from '../NativeFirebaseError';\nimport RNFBNativeEventEmitter from '../RNFBNativeEventEmitter';\nimport SharedEventEmitter from '../SharedEventEmitter';\n\nconst NATIVE_MODULE_REGISTRY = {};\nconst NATIVE_MODULE_EVENT_SUBSCRIPTIONS = {};\n\nfunction nativeModuleKey(module) {\n return `${module._customUrlOrRegion || ''}:${module.app.name}:${module._config.namespace}`;\n}\n\n/**\n * Wraps a native module method to provide\n * auto prepended args and custom Error classes.\n *\n * @param namespace\n * @param method\n * @param argToPrepend\n * @returns {Function}\n */\nfunction nativeModuleMethodWrapped(namespace, method, argToPrepend) {\n return (...args) => {\n const possiblePromise = method(...[...argToPrepend, ...args]);\n\n if (possiblePromise && possiblePromise.then) {\n const jsStack = new Error().stack;\n return possiblePromise.catch(nativeError =>\n Promise.reject(new NativeFirebaseError(nativeError, jsStack, namespace)),\n );\n }\n\n return possiblePromise;\n };\n}\n\n/**\n * Prepends all arguments in prependArgs to all native method calls\n *\n * @param namespace\n * @param NativeModule\n * @param argToPrepend\n */\nfunction nativeModuleWrapped(namespace, NativeModule, argToPrepend) {\n const native = {};\n if (!NativeModule) {\n return NativeModule;\n }\n\n const properties = Object.keys(NativeModule);\n\n for (let i = 0, len = properties.length; i < len; i++) {\n const property = properties[i];\n if (typeof NativeModule[property] === 'function') {\n native[property] = nativeModuleMethodWrapped(namespace, NativeModule[property], argToPrepend);\n } else {\n native[property] = NativeModule[property];\n }\n }\n\n return native;\n}\n\n/**\n * Initialises and wraps all the native module methods.\n *\n * @param module\n * @returns {*}\n */\nfunction initialiseNativeModule(module) {\n const config = module._config;\n const key = nativeModuleKey(module);\n const {\n namespace,\n nativeEvents,\n nativeModuleName,\n hasMultiAppSupport,\n hasCustomUrlOrRegionSupport,\n disablePrependCustomUrlOrRegion,\n } = config;\n const multiModuleRoot = {};\n const multiModule = Array.isArray(nativeModuleName);\n const nativeModuleNames = multiModule ? nativeModuleName : [nativeModuleName];\n\n for (let i = 0; i < nativeModuleNames.length; i++) {\n const nativeModule = NativeModules[nativeModuleNames[i]];\n\n // only error if there's a single native module\n // as multi modules can mean some are optional\n if (!multiModule && !nativeModule) {\n throw new Error(getMissingModuleHelpText(namespace));\n }\n\n if (multiModule) {\n multiModuleRoot[nativeModuleNames[i]] = !!nativeModule;\n }\n\n const argToPrepend = [];\n\n if (hasMultiAppSupport) {\n argToPrepend.push(module.app.name);\n }\n\n if (hasCustomUrlOrRegionSupport && !disablePrependCustomUrlOrRegion) {\n argToPrepend.push(module._customUrlOrRegion);\n }\n\n Object.assign(multiModuleRoot, nativeModuleWrapped(namespace, nativeModule, argToPrepend));\n }\n\n if (nativeEvents && nativeEvents.length) {\n for (let i = 0, len = nativeEvents.length; i < len; i++) {\n subscribeToNativeModuleEvent(nativeEvents[i]);\n }\n }\n\n Object.freeze(multiModuleRoot);\n\n NATIVE_MODULE_REGISTRY[key] = multiModuleRoot;\n\n return NATIVE_MODULE_REGISTRY[key];\n}\n\n/**\n * Subscribe to a native event for js side distribution by appName\n * React Native events are hard set at compile - cant do dynamic event names\n * so we use a single event send it to js and js then internally can prefix it\n * and distribute dynamically.\n *\n * @param eventName\n * @private\n */\nfunction subscribeToNativeModuleEvent(eventName) {\n if (!NATIVE_MODULE_EVENT_SUBSCRIPTIONS[eventName]) {\n RNFBNativeEventEmitter.addListener(eventName, event => {\n if (event.appName) {\n // native event has an appName property - auto prefix and internally emit\n SharedEventEmitter.emit(`${event.appName}-${eventName}`, event);\n } else {\n // standard event - no need to prefix\n SharedEventEmitter.emit(eventName, event);\n }\n });\n\n NATIVE_MODULE_EVENT_SUBSCRIPTIONS[eventName] = true;\n }\n}\n\n/**\n * Help text for integrating the native counter parts for each firebase module.\n *\n * @param namespace\n * @returns {string}\n */\nfunction getMissingModuleHelpText(namespace) {\n const snippet = `firebase.${namespace}()`;\n const nativeModule = namespace.charAt(0).toUpperCase() + namespace.slice(1);\n\n if (Platform.OS === 'ios') {\n return (\n `You attempted to use a firebase module that's not installed natively on your iOS project by calling ${snippet}.` +\n '\\r\\n\\r\\nEnsure you have either linked the module or added it to your projects Podfile.' +\n '\\r\\n\\r\\nSee http://invertase.link/ios for full setup instructions.'\n );\n }\n\n const rnFirebasePackage = `'io.invertase.firebase.${namespace}.ReactNativeFirebase${nativeModule}Package'`;\n const newInstance = `'new ReactNativeFirebase${nativeModule}Package()'`;\n\n return (\n `You attempted to use a firebase module that's not installed on your Android project by calling ${snippet}.` +\n `\\r\\n\\r\\nEnsure you have:\\r\\n\\r\\n1) imported the ${rnFirebasePackage} module in your 'MainApplication.java' file.\\r\\n\\r\\n2) Added the ` +\n `${newInstance} line inside of the RN 'getPackages()' method list.` +\n '\\r\\n\\r\\nSee http://invertase.link/android for full setup instructions.'\n );\n}\n\n/**\n * Gets a wrapped native module instance for the provided firebase module.\n * Will attempt to create a new instance if non previously created.\n *\n * @param module\n * @returns {*}\n */\nexport function getNativeModule(module) {\n const key = nativeModuleKey(module);\n\n if (NATIVE_MODULE_REGISTRY[key]) {\n return NATIVE_MODULE_REGISTRY[key];\n }\n\n return initialiseNativeModule(module);\n}\n\n/**\n * Custom wrapped app module as it does not have it's own FirebaseModule based class.\n *\n * @returns {*}\n */\nexport function getAppModule() {\n if (NATIVE_MODULE_REGISTRY[APP_NATIVE_MODULE]) {\n return NATIVE_MODULE_REGISTRY[APP_NATIVE_MODULE];\n }\n\n const namespace = 'app';\n const nativeModule = NativeModules[APP_NATIVE_MODULE];\n\n if (!nativeModule) {\n throw new Error(getMissingModuleHelpText(namespace));\n }\n\n NATIVE_MODULE_REGISTRY[APP_NATIVE_MODULE] = nativeModuleWrapped(namespace, nativeModule, []);\n\n return NATIVE_MODULE_REGISTRY[APP_NATIVE_MODULE];\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/28446f14bc3d330d063f0424cd9d9528.json b/.expo/web/cache/development/babel-loader/28446f14bc3d330d063f0424cd9d9528.json new file mode 100644 index 0000000000000000000000000000000000000000..81ed85a0878bb5ed8ae057e63ea9c5a0abd06910 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/28446f14bc3d330d063f0424cd9d9528.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nmodule.exports = {\n isString: function isString(arg) {\n return typeof arg === 'string';\n },\n isObject: function isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n },\n isNull: function isNull(arg) {\n return arg === null;\n },\n isNullOrUndefined: function isNullOrUndefined(arg) {\n return arg == null;\n }\n};","map":{"version":3,"sources":["C:/Users/user/AppData/Roaming/npm/node_modules/expo-cli/node_modules/url/util.js"],"names":["module","exports","isString","arg","isObject","isNull","isNullOrUndefined"],"mappings":"AAAA;;AAEAA,MAAM,CAACC,OAAP,GAAiB;AACfC,EAAAA,QAAQ,EAAE,kBAASC,GAAT,EAAc;AACtB,WAAO,OAAOA,GAAP,KAAgB,QAAvB;AACD,GAHc;AAIfC,EAAAA,QAAQ,EAAE,kBAASD,GAAT,EAAc;AACtB,WAAO,OAAOA,GAAP,KAAgB,QAAhB,IAA4BA,GAAG,KAAK,IAA3C;AACD,GANc;AAOfE,EAAAA,MAAM,EAAE,gBAASF,GAAT,EAAc;AACpB,WAAOA,GAAG,KAAK,IAAf;AACD,GATc;AAUfG,EAAAA,iBAAiB,EAAE,2BAASH,GAAT,EAAc;AAC/B,WAAOA,GAAG,IAAI,IAAd;AACD;AAZc,CAAjB","sourcesContent":["'use strict';\n\nmodule.exports = {\n isString: function(arg) {\n return typeof(arg) === 'string';\n },\n isObject: function(arg) {\n return typeof(arg) === 'object' && arg !== null;\n },\n isNull: function(arg) {\n return arg === null;\n },\n isNullOrUndefined: function(arg) {\n return arg == null;\n }\n};\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/2ba3d813f8f9b8e05971aaf6c6bc5630.json b/.expo/web/cache/development/babel-loader/2ba3d813f8f9b8e05971aaf6c6bc5630.json new file mode 100644 index 0000000000000000000000000000000000000000..482a2c61846dadd8971e1ced4f4dccbda84f6ec2 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/2ba3d813f8f9b8e05971aaf6c6bc5630.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport TextInput from \"react-native-web/dist/exports/TextInput\";\nimport React, { useState, useEffect } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Details(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(route.params.name.title),\n _useState2 = _slicedToArray(_useState, 2),\n fach = _useState2[0],\n onChangeFach = _useState2[1];\n\n return _jsxs(View, {\n children: [_jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeFach,\n value: fach,\n multiline: true\n }), _jsx(Text, {\n children: \"Hrllo\"\n })]\n });\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/Details.js"],"names":["React","useState","useEffect","Details","navigation","route","params","name","title","fach","onChangeFach","styles","input"],"mappings":";;;;;;AACA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;;;AAGA,eAAe,SAASC,OAAT,OAAuC;AAAA,MAApBC,UAAoB,QAApBA,UAAoB;AAAA,MAARC,KAAQ,QAARA,KAAQ;;AAElD,kBAA6BJ,QAAQ,CAACI,KAAK,CAACC,MAAN,CAAaC,IAAb,CAAkBC,KAAnB,CAArC;AAAA;AAAA,MAAOC,IAAP;AAAA,MAAaC,YAAb;;AAGA,SACI,MAAC,IAAD;AAAA,eACA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEC,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAEF,YAA9C;AAA4D,MAAA,KAAK,EAAED,IAAnE;AAAyE,MAAA,SAAS,EAAI;AAAtF,MADA,EAEA,KAAC,IAAD;AAAA;AAAA,MAFA;AAAA,IADJ;AAMH","sourcesContent":["import { StyleSheet, Text, View, Button, TextInput } from 'react-native';\r\nimport React, { useState, useEffect } from 'react';\r\n\r\n\r\nexport default function Details({ navigation, route }){\r\n\r\n const [fach, onChangeFach] = useState(route.params.name.title);\r\n \r\n\r\n return(\r\n <View>\r\n <TextInput style={styles.input} onChangeText={onChangeFach} value={fach} multiline = {true} />\r\n <Text>Hrllo</Text>\r\n </View>\r\n )\r\n}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/2c44a33685265254d8590de4abd58210.json b/.expo/web/cache/development/babel-loader/2c44a33685265254d8590de4abd58210.json new file mode 100644 index 0000000000000000000000000000000000000000..8927063b699dd28a38ba12931c47706ea7adc8fc --- /dev/null +++ b/.expo/web/cache/development/babel-loader/2c44a33685265254d8590de4abd58210.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { isFinite, isNumber, isUndefined } from '@react-native-firebase/app/lib/common';\n\nvar FirestoreGeoPoint = function () {\n function FirestoreGeoPoint(latitude, longitude) {\n _classCallCheck(this, FirestoreGeoPoint);\n\n if (isUndefined(latitude) || isUndefined(longitude)) {\n throw new Error('firebase.firestore.GeoPoint constructor expected latitude and longitude values.');\n }\n\n if (!isNumber(latitude)) {\n throw new Error(\"firebase.firestore.GeoPoint 'latitude' must be a number value.\");\n }\n\n if (!isNumber(longitude)) {\n throw new Error(\"firebase.firestore.GeoPoint 'longitude' must be a number value.\");\n }\n\n if (!isFinite(latitude) || latitude < -90 || latitude > 90) {\n throw new Error(\"firebase.firestore.GeoPoint 'latitude' must be a number between -90 and 90, but was: \" + latitude + \".\");\n }\n\n if (!isFinite(longitude) || longitude < -180 || longitude > 180) {\n throw new Error(\"firebase.firestore.GeoPoint 'longitude' must be a number between -180 and 180, but was: \" + longitude + \".\");\n }\n\n this._latitude = latitude;\n this._longitude = longitude;\n }\n\n _createClass(FirestoreGeoPoint, [{\n key: \"latitude\",\n get: function get() {\n return this._latitude;\n }\n }, {\n key: \"longitude\",\n get: function get() {\n return this._longitude;\n }\n }, {\n key: \"isEqual\",\n value: function isEqual(other) {\n if (!(other instanceof FirestoreGeoPoint)) {\n throw new Error(\"firebase.firestore.GeoPoint.isEqual(*) 'other' expected an instance of GeoPoint.\");\n }\n\n return this._latitude === other._latitude && this._longitude === other._longitude;\n }\n }]);\n\n return FirestoreGeoPoint;\n}();\n\nexport { FirestoreGeoPoint as default };","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/firestore/lib/FirestoreGeoPoint.js"],"names":["isFinite","isNumber","isUndefined","FirestoreGeoPoint","latitude","longitude","Error","_latitude","_longitude","other"],"mappings":";;AAiBA,SAASA,QAAT,EAAmBC,QAAnB,EAA6BC,WAA7B,QAAgD,uCAAhD;;IAEqBC,iB;AACnB,6BAAYC,QAAZ,EAAsBC,SAAtB,EAAiC;AAAA;;AAC/B,QAAIH,WAAW,CAACE,QAAD,CAAX,IAAyBF,WAAW,CAACG,SAAD,CAAxC,EAAqD;AACnD,YAAM,IAAIC,KAAJ,CACJ,iFADI,CAAN;AAGD;;AAED,QAAI,CAACL,QAAQ,CAACG,QAAD,CAAb,EAAyB;AACvB,YAAM,IAAIE,KAAJ,CAAU,gEAAV,CAAN;AACD;;AAED,QAAI,CAACL,QAAQ,CAACI,SAAD,CAAb,EAA0B;AACxB,YAAM,IAAIC,KAAJ,CAAU,iEAAV,CAAN;AACD;;AAED,QAAI,CAACN,QAAQ,CAACI,QAAD,CAAT,IAAuBA,QAAQ,GAAG,CAAC,EAAnC,IAAyCA,QAAQ,GAAG,EAAxD,EAA4D;AAC1D,YAAM,IAAIE,KAAJ,2FACoFF,QADpF,OAAN;AAGD;;AAED,QAAI,CAACJ,QAAQ,CAACK,SAAD,CAAT,IAAwBA,SAAS,GAAG,CAAC,GAArC,IAA4CA,SAAS,GAAG,GAA5D,EAAiE;AAC/D,YAAM,IAAIC,KAAJ,8FACuFD,SADvF,OAAN;AAGD;;AAED,SAAKE,SAAL,GAAiBH,QAAjB;AACA,SAAKI,UAAL,GAAkBH,SAAlB;AACD;;;;SAED,eAAe;AACb,aAAO,KAAKE,SAAZ;AACD;;;SAED,eAAgB;AACd,aAAO,KAAKC,UAAZ;AACD;;;WAED,iBAAQC,KAAR,EAAe;AACb,UAAI,EAAEA,KAAK,YAAYN,iBAAnB,CAAJ,EAA2C;AACzC,cAAM,IAAIG,KAAJ,CACJ,kFADI,CAAN;AAGD;;AAED,aAAO,KAAKC,SAAL,KAAmBE,KAAK,CAACF,SAAzB,IAAsC,KAAKC,UAAL,KAAoBC,KAAK,CAACD,UAAvE;AACD;;;;;;SAhDkBL,iB","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { isFinite, isNumber, isUndefined } from '@react-native-firebase/app/lib/common';\n\nexport default class FirestoreGeoPoint {\n constructor(latitude, longitude) {\n if (isUndefined(latitude) || isUndefined(longitude)) {\n throw new Error(\n 'firebase.firestore.GeoPoint constructor expected latitude and longitude values.',\n );\n }\n\n if (!isNumber(latitude)) {\n throw new Error(\"firebase.firestore.GeoPoint 'latitude' must be a number value.\");\n }\n\n if (!isNumber(longitude)) {\n throw new Error(\"firebase.firestore.GeoPoint 'longitude' must be a number value.\");\n }\n\n if (!isFinite(latitude) || latitude < -90 || latitude > 90) {\n throw new Error(\n `firebase.firestore.GeoPoint 'latitude' must be a number between -90 and 90, but was: ${latitude}.`,\n );\n }\n\n if (!isFinite(longitude) || longitude < -180 || longitude > 180) {\n throw new Error(\n `firebase.firestore.GeoPoint 'longitude' must be a number between -180 and 180, but was: ${longitude}.`,\n );\n }\n\n this._latitude = latitude;\n this._longitude = longitude;\n }\n\n get latitude() {\n return this._latitude;\n }\n\n get longitude() {\n return this._longitude;\n }\n\n isEqual(other) {\n if (!(other instanceof FirestoreGeoPoint)) {\n throw new Error(\n \"firebase.firestore.GeoPoint.isEqual(*) 'other' expected an instance of GeoPoint.\",\n );\n }\n\n return this._latitude === other._latitude && this._longitude === other._longitude;\n }\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/2c99009e210cc75c550b8fe9bf60e161.json b/.expo/web/cache/development/babel-loader/2c99009e210cc75c550b8fe9bf60e161.json new file mode 100644 index 0000000000000000000000000000000000000000..9e9e083c85162e8f7bc76d3e509ebaba4150110b --- /dev/null +++ b/.expo/web/cache/development/babel-loader/2c99009e210cc75c550b8fe9bf60e161.json @@ -0,0 +1 @@ +{"ast":null,"code":"module.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = [];\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};","map":{"version":3,"sources":["C:/Users/user/AppData/Roaming/npm/node_modules/expo-cli/node_modules/webpack/buildin/module.js"],"names":["module","exports","webpackPolyfill","deprecate","paths","children","Object","defineProperty","enumerable","get","l","i"],"mappings":"AAAAA,MAAM,CAACC,OAAP,GAAiB,UAASD,MAAT,EAAiB;AACjC,MAAI,CAACA,MAAM,CAACE,eAAZ,EAA6B;AAC5BF,IAAAA,MAAM,CAACG,SAAP,GAAmB,YAAW,CAAE,CAAhC;;AACAH,IAAAA,MAAM,CAACI,KAAP,GAAe,EAAf;AAEA,QAAI,CAACJ,MAAM,CAACK,QAAZ,EAAsBL,MAAM,CAACK,QAAP,GAAkB,EAAlB;AACtBC,IAAAA,MAAM,CAACC,cAAP,CAAsBP,MAAtB,EAA8B,QAA9B,EAAwC;AACvCQ,MAAAA,UAAU,EAAE,IAD2B;AAEvCC,MAAAA,GAAG,EAAE,eAAW;AACf,eAAOT,MAAM,CAACU,CAAd;AACA;AAJsC,KAAxC;AAMAJ,IAAAA,MAAM,CAACC,cAAP,CAAsBP,MAAtB,EAA8B,IAA9B,EAAoC;AACnCQ,MAAAA,UAAU,EAAE,IADuB;AAEnCC,MAAAA,GAAG,EAAE,eAAW;AACf,eAAOT,MAAM,CAACW,CAAd;AACA;AAJkC,KAApC;AAMAX,IAAAA,MAAM,CAACE,eAAP,GAAyB,CAAzB;AACA;;AACD,SAAOF,MAAP;AACA,CArBD","sourcesContent":["module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/2cab90d7dd8c4eded83299daac87d4a6.json b/.expo/web/cache/development/babel-loader/2cab90d7dd8c4eded83299daac87d4a6.json new file mode 100644 index 0000000000000000000000000000000000000000..be3ba86dad2edc0086b4baabe8c52cb672878a49 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/2cab90d7dd8c4eded83299daac87d4a6.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATAS = null;\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n DATA = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(getFirestore(), \"Users\");\n var big = [];\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var itemData = {\n name: doc.data().Name,\n email: doc.data().Email,\n image: doc.data().Image,\n id: doc.id\n };\n big.push(itemData);\n setUsers(big);\n });\n });\n }, []);\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n var big = [];\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n big.push(itemData);\n }\n });\n setUsers(big);\n });\n }\n\n if (route.params != null) {\n setUsers(null);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n }), _jsx(Text, {\n style: styles.beschreibung,\n children: item.name\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsxs(View, {\n children: [_jsx(Text, {\n children: \"No Data Found\"\n }), _jsx(Button, {\n title: \"Load Data\",\n onPress: listenOnChange\n })]\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsx(TouchableOpacity, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n style: styles.button,\n children: _jsx(Text, {\n style: styles.cancelButtonText,\n children: \"Create new User\"\n })\n }), _jsx(Text, {\n children: \" \"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return item + index;\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50,\n borderRadius: 50 / 2,\n overflow: \"hidden\",\n borderWidth: 3,\n borderColor: \"#D9D9D9\"\n },\n item: {\n width: 250,\n paddingTop: 20,\n paddingBottom: 20,\n paddingRight: 20,\n marginVertical: 8,\n marginHorizontal: 25,\n borderBottomColor: '#D9D9D9',\n borderBottomWidth: 2,\n flexDirection: \"row\"\n },\n beschreibung: {\n marginLeft: 10,\n marginTop: 10,\n width: 180,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 16,\n lineHeight: 23,\n color: \"#5E6A79\"\n },\n button: {\n marginTop: 25,\n marginBottom: 20,\n height: 35,\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\n borderRadius: 12,\n justifyContent: 'center'\n },\n cancelButtonText: {\n height: 28,\n margin: 10,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 15,\n lineHeight: 22,\n textAlign: 'center',\n color: \"#5E6A79\"\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATAS","UserLists","navigation","route","DATA","setUsers","colRef","big","querySnapshot","forEach","itemData","name","data","Name","email","Email","image","Image","id","push","listenOnChange","snapchot","docChanges","change","type","message","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","beschreibung","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","Alert","alert","container","button","cancelButtonText","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height","borderRadius","overflow","borderWidth","borderColor","paddingTop","paddingBottom","paddingRight","marginVertical","borderBottomColor","borderBottomWidth","flexDirection","marginLeft","marginTop","fontStyle","fontWeight","fontSize","lineHeight","marginBottom","margin","textAlign"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATAS = null;\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [DATA, setUsers] = useState(null);\r\n\r\n//listenOnChange();\r\n//useeffect();\r\n\r\n/*useEffect(()=>{\r\nconst colRef = collection(getFirestore(),\"Users\");\r\nconst big= [];\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n //DATA.push(itemData);\r\n setUsers(big);\r\n //Alert.alert('count data',DATA.name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])*/\r\n\r\n\r\n\r\n\r\n//test\r\nuseEffect(()=>{\r\n const colRef = collection(getFirestore(),\"Users\");\r\n const big= [];\r\n onSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n //DATA.push(itemData);\r\n setUsers(big);\r\n //Alert.alert('count data',DATA.name);\r\n });\r\n \r\n //setUsers(users)\r\n });\r\n //Alert.alert(users.Name.toString);\r\n \r\n },[])\r\n\r\n\r\n \r\n\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n const big = [];\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n //DATA.push(itemData);\r\n big.push(itemData);\r\n \r\n //Alert.alert('listen on change',message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n }); setUsers(big);\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\nsetUsers(null);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n \r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n <Text style={styles.beschreibung}>\r\n {item.name} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){ //DATAS zu DATA ändern ___-------\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <View>\r\n <Text>\r\n No Data Found \r\n </Text>\r\n <Button title='Load Data' onPress={listenOnChange}/>\r\n </View>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <TouchableOpacity onPress={()=> {navigation.navigate('CreateNewUser')}} style={styles.button}>\r\n <Text style={styles.cancelButtonText}>\r\n Create new User\r\n </Text>\r\n \r\n </TouchableOpacity>\r\n <Text> </Text>\r\n\r\n <FlatList\r\n data={DATA} //DATAS zu DATA ändern ___-------\r\n renderItem={renderItem}\r\n /*keyExtractor={ (item, index) => index.toString()}//item => item.id*/\r\n keyExtractor={(item, index) => item + index}\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n borderRadius: 50 / 2,\r\n overflow: \"hidden\",\r\n borderWidth: 3,\r\n borderColor: \"#D9D9D9\"\r\n },\r\n item: {\r\n width: 250,\r\n paddingTop: 20,\r\n paddingBottom: 20,\r\n paddingRight: 20,\r\n marginVertical: 8,\r\n marginHorizontal: 25,\r\n borderBottomColor: '#D9D9D9',\r\n borderBottomWidth: 2,\r\n flexDirection: \"row\",\r\n },\r\n beschreibung: {\r\n marginLeft:10,\r\n marginTop:10,\r\n width: 180,\r\n\r\n // font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 16,\r\n lineHeight: 23,\r\n color: \"#5E6A79\",\r\n },\r\n button:{\r\n marginTop:25,\r\n marginBottom: 20,\r\n height: 35,\r\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\r\n //box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);\r\n borderRadius: 12,\r\n justifyContent: 'center',\r\n \r\n},\r\ncancelButtonText:{\r\n //width: 55,\r\n height: 28,\r\nmargin:10,\r\n //font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 15,\r\n lineHeight: 22,\r\n textAlign:'center',\r\n color: \"#5E6A79\",\r\n},\r\n\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/2cd0e3677aa2915a89b06a6cb2ccc59e.json b/.expo/web/cache/development/babel-loader/2cd0e3677aa2915a89b06a6cb2ccc59e.json new file mode 100644 index 0000000000000000000000000000000000000000..7430493bcf0cc753e37df4d0382d12ef70103dc8 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/2cd0e3677aa2915a89b06a6cb2ccc59e.json @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\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;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/node_modules/fbjs/lib/emptyFunction.js"],"names":["makeEmptyFunction","arg","emptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","module","exports"],"mappings":"AAAA;;AAUA,SAASA,iBAAT,CAA2BC,GAA3B,EAAgC;AAC9B,SAAO,YAAY;AACjB,WAAOA,GAAP;AACD,GAFD;AAGD;;AAQD,IAAIC,aAAa,GAAG,SAASA,aAAT,GAAyB,CAAE,CAA/C;;AAEAA,aAAa,CAACC,WAAd,GAA4BH,iBAA5B;AACAE,aAAa,CAACE,gBAAd,GAAiCJ,iBAAiB,CAAC,KAAD,CAAlD;AACAE,aAAa,CAACG,eAAd,GAAgCL,iBAAiB,CAAC,IAAD,CAAjD;AACAE,aAAa,CAACI,eAAd,GAAgCN,iBAAiB,CAAC,IAAD,CAAjD;;AAEAE,aAAa,CAACK,eAAd,GAAgC,YAAY;AAC1C,SAAO,IAAP;AACD,CAFD;;AAIAL,aAAa,CAACM,mBAAd,GAAoC,UAAUP,GAAV,EAAe;AACjD,SAAOA,GAAP;AACD,CAFD;;AAIAQ,MAAM,CAACC,OAAP,GAAiBR,aAAjB","sourcesContent":["\"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;"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/2ce2aaa2ad27733c8b3153db94e3c15c.json b/.expo/web/cache/development/babel-loader/2ce2aaa2ad27733c8b3153db94e3c15c.json new file mode 100644 index 0000000000000000000000000000000000000000..9c2b7ef21250afc8171faba2cf4e135d8d199b0c --- /dev/null +++ b/.expo/web/cache/development/babel-loader/2ce2aaa2ad27733c8b3153db94e3c15c.json @@ -0,0 +1 @@ +{"ast":null,"code":"import normalizeColor from \"../../modules/normalizeColor\";\nimport normalizeValueWithProperty from \"./normalizeValueWithProperty\";\nvar defaultOffset = {\n height: 0,\n width: 0\n};\n\nvar resolveShadowValue = function resolveShadowValue(style) {\n var shadowColor = style.shadowColor,\n shadowOffset = style.shadowOffset,\n shadowOpacity = style.shadowOpacity,\n shadowRadius = style.shadowRadius;\n\n var _ref = shadowOffset || defaultOffset,\n height = _ref.height,\n width = _ref.width;\n\n var offsetX = normalizeValueWithProperty(width);\n var offsetY = normalizeValueWithProperty(height);\n var blurRadius = normalizeValueWithProperty(shadowRadius || 0);\n var color = normalizeColor(shadowColor || 'black', shadowOpacity);\n\n if (color != null && offsetX != null && offsetY != null && blurRadius != null) {\n return offsetX + \" \" + offsetY + \" \" + blurRadius + \" \" + color;\n }\n};\n\nexport default resolveShadowValue;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/StyleSheet/resolveShadowValue.js"],"names":["normalizeColor","normalizeValueWithProperty","defaultOffset","height","width","resolveShadowValue","style","shadowColor","shadowOffset","shadowOpacity","shadowRadius","_ref","offsetX","offsetY","blurRadius","color"],"mappings":"AAQA,OAAOA,cAAP;AACA,OAAOC,0BAAP;AACA,IAAIC,aAAa,GAAG;AAClBC,EAAAA,MAAM,EAAE,CADU;AAElBC,EAAAA,KAAK,EAAE;AAFW,CAApB;;AAKA,IAAIC,kBAAkB,GAAG,SAASA,kBAAT,CAA4BC,KAA5B,EAAmC;AAC1D,MAAIC,WAAW,GAAGD,KAAK,CAACC,WAAxB;AAAA,MACIC,YAAY,GAAGF,KAAK,CAACE,YADzB;AAAA,MAEIC,aAAa,GAAGH,KAAK,CAACG,aAF1B;AAAA,MAGIC,YAAY,GAAGJ,KAAK,CAACI,YAHzB;;AAKA,MAAIC,IAAI,GAAGH,YAAY,IAAIN,aAA3B;AAAA,MACIC,MAAM,GAAGQ,IAAI,CAACR,MADlB;AAAA,MAEIC,KAAK,GAAGO,IAAI,CAACP,KAFjB;;AAIA,MAAIQ,OAAO,GAAGX,0BAA0B,CAACG,KAAD,CAAxC;AACA,MAAIS,OAAO,GAAGZ,0BAA0B,CAACE,MAAD,CAAxC;AACA,MAAIW,UAAU,GAAGb,0BAA0B,CAACS,YAAY,IAAI,CAAjB,CAA3C;AACA,MAAIK,KAAK,GAAGf,cAAc,CAACO,WAAW,IAAI,OAAhB,EAAyBE,aAAzB,CAA1B;;AAEA,MAAIM,KAAK,IAAI,IAAT,IAAiBH,OAAO,IAAI,IAA5B,IAAoCC,OAAO,IAAI,IAA/C,IAAuDC,UAAU,IAAI,IAAzE,EAA+E;AAC7E,WAAOF,OAAO,GAAG,GAAV,GAAgBC,OAAhB,GAA0B,GAA1B,GAAgCC,UAAhC,GAA6C,GAA7C,GAAmDC,KAA1D;AACD;AACF,CAlBD;;AAoBA,eAAeV,kBAAf","sourcesContent":["/**\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 normalizeColor from '../../modules/normalizeColor';\nimport normalizeValueWithProperty from './normalizeValueWithProperty';\nvar defaultOffset = {\n height: 0,\n width: 0\n};\n\nvar resolveShadowValue = function resolveShadowValue(style) {\n var shadowColor = style.shadowColor,\n shadowOffset = style.shadowOffset,\n shadowOpacity = style.shadowOpacity,\n shadowRadius = style.shadowRadius;\n\n var _ref = shadowOffset || defaultOffset,\n height = _ref.height,\n width = _ref.width;\n\n var offsetX = normalizeValueWithProperty(width);\n var offsetY = normalizeValueWithProperty(height);\n var blurRadius = normalizeValueWithProperty(shadowRadius || 0);\n var color = normalizeColor(shadowColor || 'black', shadowOpacity);\n\n if (color != null && offsetX != null && offsetY != null && blurRadius != null) {\n return offsetX + \" \" + offsetY + \" \" + blurRadius + \" \" + color;\n }\n};\n\nexport default resolveShadowValue;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/2ce9c14d1d53035f0d9c412abb703d3a.json b/.expo/web/cache/development/babel-loader/2ce9c14d1d53035f0d9c412abb703d3a.json new file mode 100644 index 0000000000000000000000000000000000000000..414faa889b72fcbf8723b7f24fa0aa9a0177673f --- /dev/null +++ b/.expo/web/cache/development/babel-loader/2ce9c14d1d53035f0d9c412abb703d3a.json @@ -0,0 +1 @@ +{"ast":null,"code":"function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","map":{"version":3,"sources":["C:/Users/user/AppData/Roaming/npm/node_modules/expo-cli/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js"],"names":["_iterableToArrayLimit","arr","i","Symbol","iterator","Object","_arr","_n","_d","_e","undefined","_i","_s","next","done","push","value","length","err","module","exports"],"mappings":"AAAA,SAASA,qBAAT,CAA+BC,GAA/B,EAAoCC,CAApC,EAAuC;AACrC,MAAI,OAAOC,MAAP,KAAkB,WAAlB,IAAiC,EAAEA,MAAM,CAACC,QAAP,IAAmBC,MAAM,CAACJ,GAAD,CAA3B,CAArC,EAAwE;AACxE,MAAIK,IAAI,GAAG,EAAX;AACA,MAAIC,EAAE,GAAG,IAAT;AACA,MAAIC,EAAE,GAAG,KAAT;AACA,MAAIC,EAAE,GAAGC,SAAT;;AAEA,MAAI;AACF,SAAK,IAAIC,EAAE,GAAGV,GAAG,CAACE,MAAM,CAACC,QAAR,CAAH,EAAT,EAAiCQ,EAAtC,EAA0C,EAAEL,EAAE,GAAG,CAACK,EAAE,GAAGD,EAAE,CAACE,IAAH,EAAN,EAAiBC,IAAxB,CAA1C,EAAyEP,EAAE,GAAG,IAA9E,EAAoF;AAClFD,MAAAA,IAAI,CAACS,IAAL,CAAUH,EAAE,CAACI,KAAb;;AAEA,UAAId,CAAC,IAAII,IAAI,CAACW,MAAL,KAAgBf,CAAzB,EAA4B;AAC7B;AACF,GAND,CAME,OAAOgB,GAAP,EAAY;AACZV,IAAAA,EAAE,GAAG,IAAL;AACAC,IAAAA,EAAE,GAAGS,GAAL;AACD,GATD,SASU;AACR,QAAI;AACF,UAAI,CAACX,EAAD,IAAOI,EAAE,CAAC,QAAD,CAAF,IAAgB,IAA3B,EAAiCA,EAAE,CAAC,QAAD,CAAF;AAClC,KAFD,SAEU;AACR,UAAIH,EAAJ,EAAQ,MAAMC,EAAN;AACT;AACF;;AAED,SAAOH,IAAP;AACD;;AAEDa,MAAM,CAACC,OAAP,GAAiBpB,qBAAjB","sourcesContent":["function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/2cea70fb37780b72815316eabdbcc113.json b/.expo/web/cache/development/babel-loader/2cea70fb37780b72815316eabdbcc113.json new file mode 100644 index 0000000000000000000000000000000000000000..97d577fa288f09a3ab17c288ad75c4db05da48f7 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/2cea70fb37780b72815316eabdbcc113.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n name = _doc$data.name,\n email = _doc$data.email,\n phone = _doc$data.phone;\n\n users.push({\n id: doc.id,\n name: name,\n email: email,\n phone: phone\n });\n });\n setUsers(users);\n });\n }, []);\n\n try {\n var docRef = function docRef() {\n return _regeneratorRuntime.async(function docRef$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _regeneratorRuntime.awrap(addDoc(collection(db, \"users\"), {\n Name: \"Ada\",\n Email: \"Lovelace\",\n born: 1815\n }));\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n };\n\n console.log(\"Document written with ID: \", docRef.id);\n } catch (e) {\n console.error(\"Error adding document: \", e);\n }\n\n var getUserById = function getUserById(id) {\n var docRef, docu, user;\n return _regeneratorRuntime.async(function getUserById$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n docRef = doc(db, 'users', id);\n _context2.next = 3;\n return _regeneratorRuntime.awrap(getDoc(docRef));\n\n case 3:\n docu = _context2.sent;\n user = docu.data();\n setUser(_objectSpread(_objectSpread({}, user), {}, {\n id: docu.id\n }));\n setLoading(false);\n\n case 7:\n case \"end\":\n return _context2.stop();\n }\n }\n }, null, null, null, Promise);\n };\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {\n children: item.title\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","name","email","phone","push","id","docRef","Name","Email","born","console","log","e","error","getUserById","getDoc","docu","user","setUser","setLoading","params","Alert","alert","post","Item","item","onPress","backgroundColor","textColor","styles","title","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","EmptyListMessage","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc} from \"firebase/firestore\"\r\n\r\n\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {name, email, phone} = doc.data();\r\n users.push({id:doc.id, name, email, phone})\r\n });\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"users\"), {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n born: 1815\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}\r\n\r\n\r\n\r\n//update user\r\nconst getUserById = async (id) => {\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUser({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n };\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/2d7146138a93a0b53eee31ca3830bb30.json b/.expo/web/cache/development/babel-loader/2d7146138a93a0b53eee31ca3830bb30.json new file mode 100644 index 0000000000000000000000000000000000000000..a4f5d592cf16c95f67b39ac5e71186880b60b9c3 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/2d7146138a93a0b53eee31ca3830bb30.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nvar MULTIPLE_NAVIGATOR_ERROR = \"Another navigator is already registered for this container. You likely have multiple navigators under a single \\\"NavigationContainer\\\" or \\\"Screen\\\". Make sure each navigator is under a separate \\\"Screen\\\" container. See https://reactnavigation.org/docs/nesting-navigators for a guide on nesting.\";\nexport var SingleNavigatorContext = React.createContext(undefined);\nexport default function EnsureSingleNavigator(_ref) {\n var children = _ref.children;\n var navigatorKeyRef = React.useRef();\n var value = React.useMemo(function () {\n return {\n register: function register(key) {\n var currentKey = navigatorKeyRef.current;\n\n if (currentKey !== undefined && key !== currentKey) {\n throw new Error(MULTIPLE_NAVIGATOR_ERROR);\n }\n\n navigatorKeyRef.current = key;\n },\n unregister: function unregister(key) {\n var currentKey = navigatorKeyRef.current;\n\n if (key !== currentKey) {\n return;\n }\n\n navigatorKeyRef.current = undefined;\n }\n };\n }, []);\n return React.createElement(SingleNavigatorContext.Provider, {\n value: value\n }, children);\n}","map":{"version":3,"sources":["EnsureSingleNavigator.tsx"],"names":["MULTIPLE_NAVIGATOR_ERROR","SingleNavigatorContext","React","children","navigatorKeyRef","value","register","currentKey","key","unregister"],"mappings":"AAAA,OAAO,KAAP,KAAA,MAAA,OAAA;AAMA,IAAMA,wBAAN,6SAAA;AAEA,OAAO,IAAMC,sBAAsB,GAAGC,KAAK,CAALA,aAAAA,CAA/B,SAA+BA,CAA/B;AAWP,eAAe,SAAA,qBAAA,CAAA,IAAA,EAAoD;AAArB,MAAEC,QAAF,GAAqB,IAArB,CAAEA,QAAF;AAC5C,MAAMC,eAAe,GAAGF,KAAK,CAA7B,MAAwBA,EAAxB;AAEA,MAAMG,KAAK,GAAG,KAAK,CAAL,OAAA,CACZ;AAAA,WAAO;AACLC,MAAAA,QADK,oBACG,GADH,EACiB;AACpB,YAAMC,UAAU,GAAGH,eAAe,CAAlC,OAAA;;AAEA,YAAIG,UAAU,KAAVA,SAAAA,IAA4BC,GAAG,KAAnC,UAAA,EAAoD;AAClD,gBAAM,IAAA,KAAA,CAAN,wBAAM,CAAN;AACD;;AAEDJ,QAAAA,eAAe,CAAfA,OAAAA,GAAAA,GAAAA;AARG,OAAA;AAULK,MAAAA,UAVK,sBAUK,GAVL,EAUmB;AACtB,YAAMF,UAAU,GAAGH,eAAe,CAAlC,OAAA;;AAEA,YAAII,GAAG,KAAP,UAAA,EAAwB;AACtB;AACD;;AAEDJ,QAAAA,eAAe,CAAfA,OAAAA,GAAAA,SAAAA;AACD;AAlBI,KAAP;AAAA,GADY,EAAd,EAAc,CAAd;AAwBA,SACE,KAAA,CAAA,aAAA,CAAC,sBAAD,CAAA,QAAA,EAAA;AAAiC,IAAA,KAAK,EAAEC;AAAxC,GAAA,EADF,QACE,CADF;AAKD","sourcesContent":["import * as React from 'react';\n\ntype Props = {\n children: React.ReactNode;\n};\n\nconst MULTIPLE_NAVIGATOR_ERROR = `Another navigator is already registered for this container. You likely have multiple navigators under a single \"NavigationContainer\" or \"Screen\". Make sure each navigator is under a separate \"Screen\" container. See https://reactnavigation.org/docs/nesting-navigators for a guide on nesting.`;\n\nexport const SingleNavigatorContext = React.createContext<\n | {\n register(key: string): void;\n unregister(key: string): void;\n }\n | undefined\n>(undefined);\n\n/**\n * Component which ensures that there's only one navigator nested under it.\n */\nexport default function EnsureSingleNavigator({ children }: Props) {\n const navigatorKeyRef = React.useRef<string | undefined>();\n\n const value = React.useMemo(\n () => ({\n register(key: string) {\n const currentKey = navigatorKeyRef.current;\n\n if (currentKey !== undefined && key !== currentKey) {\n throw new Error(MULTIPLE_NAVIGATOR_ERROR);\n }\n\n navigatorKeyRef.current = key;\n },\n unregister(key: string) {\n const currentKey = navigatorKeyRef.current;\n\n if (key !== currentKey) {\n return;\n }\n\n navigatorKeyRef.current = undefined;\n },\n }),\n []\n );\n\n return (\n <SingleNavigatorContext.Provider value={value}>\n {children}\n </SingleNavigatorContext.Provider>\n );\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/2e49026c78705fbb909f19a5aa9be276.json b/.expo/web/cache/development/babel-loader/2e49026c78705fbb909f19a5aa9be276.json new file mode 100644 index 0000000000000000000000000000000000000000..85a078efadb3803c8f9b7f62cd1d06a79fa97ba7 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/2e49026c78705fbb909f19a5aa9be276.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(getFirestore(), \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var itemData = {\n name: doc.data().Name,\n email: doc.data().Email,\n image: doc.data().Image\n };\n DATA.push(itemData);\n Alert.alert('useEffect', doc.data().Name);\n });\n });\n }, []);\n\n function useeffect() {\n getDocs(collection(getFirestore(), 'Users')).forEach(function (doc) {\n console.log(doc.id + \" => \" + doc.data());\n });\n }\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n Alert.alert('listen on change', message.Name);\n }\n });\n });\n }\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" Data[0].name\"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","itemData","name","data","Name","email","Email","image","Image","push","Alert","alert","useeffect","console","log","id","listenOnChange","snapchot","docChanges","change","type","message","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState(null);\r\n\r\n//listenOnChange();\r\n//useeffect();\r\n\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(getFirestore(),\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image}\r\n DATA.push(itemData);\r\n Alert.alert('useEffect',doc.data().Name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\nfunction useeffect(){\r\n getDocs(collection(getFirestore(),'Users')).forEach((doc) => {\r\n console.log(`${doc.id} => ${doc.data()}`);\r\n});\r\n}\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n Alert.alert('listen on change',message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> Data[0].name</Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n /*ListEmptyComponent={EmptyListMessage}*/\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/2e8ed4d7cb786b737dd27be6eb9d26b0.json b/.expo/web/cache/development/babel-loader/2e8ed4d7cb786b737dd27be6eb9d26b0.json new file mode 100644 index 0000000000000000000000000000000000000000..e7a89979de1891b6eab87168e8f3e6fa16c94dbb --- /dev/null +++ b/.expo/web/cache/development/babel-loader/2e8ed4d7cb786b737dd27be6eb9d26b0.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport { useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport Animated from \"react-native-web/dist/exports/Animated\";\nimport I18nManager from \"react-native-web/dist/exports/I18nManager\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport Platform from \"react-native-web/dist/exports/Platform\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport View from \"react-native-web/dist/exports/View\";\nimport MaskedView from \"../MaskedView\";\nimport PlatformPressable from \"../PlatformPressable\";\nexport default function HeaderBackButton(_ref) {\n var disabled = _ref.disabled,\n allowFontScaling = _ref.allowFontScaling,\n backImage = _ref.backImage,\n label = _ref.label,\n labelStyle = _ref.labelStyle,\n labelVisible = _ref.labelVisible,\n onLabelLayout = _ref.onLabelLayout,\n onPress = _ref.onPress,\n pressColor = _ref.pressColor,\n pressOpacity = _ref.pressOpacity,\n screenLayout = _ref.screenLayout,\n customTintColor = _ref.tintColor,\n titleLayout = _ref.titleLayout,\n _ref$truncatedLabel = _ref.truncatedLabel,\n truncatedLabel = _ref$truncatedLabel === void 0 ? 'Back' : _ref$truncatedLabel,\n _ref$accessibilityLab = _ref.accessibilityLabel,\n accessibilityLabel = _ref$accessibilityLab === void 0 ? label && label !== 'Back' ? label + \", back\" : 'Go back' : _ref$accessibilityLab,\n testID = _ref.testID,\n style = _ref.style;\n\n var _useTheme = useTheme(),\n colors = _useTheme.colors;\n\n var _React$useState = React.useState(undefined),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n initialLabelWidth = _React$useState2[0],\n setInitialLabelWidth = _React$useState2[1];\n\n var tintColor = customTintColor !== undefined ? customTintColor : Platform.select({\n ios: colors.primary,\n default: colors.text\n });\n\n var handleLabelLayout = function handleLabelLayout(e) {\n onLabelLayout === null || onLabelLayout === void 0 ? void 0 : onLabelLayout(e);\n setInitialLabelWidth(e.nativeEvent.layout.x + e.nativeEvent.layout.width);\n };\n\n var shouldTruncateLabel = function shouldTruncateLabel() {\n return !label || initialLabelWidth && titleLayout && screenLayout && (screenLayout.width - titleLayout.width) / 2 < initialLabelWidth + 26;\n };\n\n var renderBackImage = function renderBackImage() {\n if (backImage) {\n return backImage({\n tintColor: tintColor\n });\n } else {\n return React.createElement(Image, {\n style: [styles.icon, Boolean(labelVisible) && styles.iconWithLabel, Boolean(tintColor) && {\n tintColor: tintColor\n }],\n source: require(\"../assets/back-icon.png\"),\n fadeDuration: 0\n });\n }\n };\n\n var renderLabel = function renderLabel() {\n var leftLabelText = shouldTruncateLabel() ? truncatedLabel : label;\n\n if (!labelVisible || leftLabelText === undefined) {\n return null;\n }\n\n var labelElement = React.createElement(View, {\n style: screenLayout ? [styles.labelWrapper, {\n minWidth: screenLayout.width / 2 - 27\n }] : null\n }, React.createElement(Animated.Text, {\n accessible: false,\n onLayout: leftLabelText === label ? handleLabelLayout : undefined,\n style: [styles.label, tintColor ? {\n color: tintColor\n } : null, labelStyle],\n numberOfLines: 1,\n allowFontScaling: !!allowFontScaling\n }, leftLabelText));\n\n if (backImage || Platform.OS !== 'ios') {\n return labelElement;\n }\n\n return React.createElement(MaskedView, {\n maskElement: React.createElement(View, {\n style: styles.iconMaskContainer\n }, React.createElement(Image, {\n source: require(\"../assets/back-icon-mask.png\"),\n style: styles.iconMask\n }), React.createElement(View, {\n style: styles.iconMaskFillerRect\n }))\n }, labelElement);\n };\n\n var handlePress = function handlePress() {\n return onPress && requestAnimationFrame(onPress);\n };\n\n return React.createElement(PlatformPressable, {\n disabled: disabled,\n accessible: true,\n accessibilityRole: \"button\",\n accessibilityLabel: accessibilityLabel,\n testID: testID,\n onPress: disabled ? undefined : handlePress,\n pressColor: pressColor,\n pressOpacity: pressOpacity,\n android_ripple: {\n borderless: true\n },\n style: [styles.container, disabled && styles.disabled, style],\n hitSlop: Platform.select({\n ios: undefined,\n default: {\n top: 16,\n right: 16,\n bottom: 16,\n left: 16\n }\n })\n }, React.createElement(React.Fragment, null, renderBackImage(), renderLabel()));\n}\nvar styles = StyleSheet.create({\n container: _objectSpread({\n alignItems: 'center',\n flexDirection: 'row',\n minWidth: StyleSheet.hairlineWidth\n }, Platform.select({\n ios: null,\n default: {\n marginVertical: 3,\n marginHorizontal: 11\n }\n })),\n disabled: {\n opacity: 0.5\n },\n label: {\n fontSize: 17,\n letterSpacing: 0.35\n },\n labelWrapper: {\n flexDirection: 'row',\n alignItems: 'flex-start'\n },\n icon: Platform.select({\n ios: {\n height: 21,\n width: 13,\n marginLeft: 8,\n marginRight: 22,\n marginVertical: 12,\n resizeMode: 'contain',\n transform: [{\n scaleX: I18nManager.isRTL ? -1 : 1\n }]\n },\n default: {\n height: 24,\n width: 24,\n margin: 3,\n resizeMode: 'contain',\n transform: [{\n scaleX: I18nManager.isRTL ? -1 : 1\n }]\n }\n }),\n iconWithLabel: Platform.OS === 'ios' ? {\n marginRight: 6\n } : {},\n iconMaskContainer: {\n flex: 1,\n flexDirection: 'row',\n justifyContent: 'center'\n },\n iconMaskFillerRect: {\n flex: 1,\n backgroundColor: '#000'\n },\n iconMask: {\n height: 21,\n width: 13,\n marginLeft: -14.5,\n marginVertical: 12,\n alignSelf: 'center',\n resizeMode: 'contain',\n transform: [{\n scaleX: I18nManager.isRTL ? -1 : 1\n }]\n }\n});","map":{"version":3,"sources":["HeaderBackButton.tsx"],"names":["tintColor","truncatedLabel","accessibilityLabel","label","style","colors","useTheme","React","customTintColor","ios","default","text","handleLabelLayout","e","onLabelLayout","setInitialLabelWidth","shouldTruncateLabel","initialLabelWidth","screenLayout","titleLayout","renderBackImage","backImage","styles","Boolean","require","renderLabel","leftLabelText","labelElement","minWidth","color","allowFontScaling","Platform","iconMaskContainer","iconMask","iconMaskFillerRect","handlePress","onPress","requestAnimationFrame","disabled","borderless","top","right","bottom","left","container","alignItems","flexDirection","StyleSheet","marginVertical","marginHorizontal","opacity","fontSize","letterSpacing","labelWrapper","icon","height","width","marginLeft","marginRight","resizeMode","transform","scaleX","I18nManager","margin","iconWithLabel","flex","justifyContent","backgroundColor","alignSelf"],"mappings":"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","sourcesContent":["import { useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport {\n Animated,\n I18nManager,\n Image,\n LayoutChangeEvent,\n Platform,\n StyleSheet,\n View,\n} from 'react-native';\n\nimport MaskedView from '../MaskedView';\nimport PlatformPressable from '../PlatformPressable';\nimport type { HeaderBackButtonProps } from '../types';\n\nexport default function HeaderBackButton({\n disabled,\n allowFontScaling,\n backImage,\n label,\n labelStyle,\n labelVisible,\n onLabelLayout,\n onPress,\n pressColor,\n pressOpacity,\n screenLayout,\n tintColor: customTintColor,\n titleLayout,\n truncatedLabel = 'Back',\n accessibilityLabel = label && label !== 'Back' ? `${label}, back` : 'Go back',\n testID,\n style,\n}: HeaderBackButtonProps) {\n const { colors } = useTheme();\n\n const [initialLabelWidth, setInitialLabelWidth] = React.useState<\n undefined | number\n >(undefined);\n\n const tintColor =\n customTintColor !== undefined\n ? customTintColor\n : Platform.select({\n ios: colors.primary,\n default: colors.text,\n });\n\n const handleLabelLayout = (e: LayoutChangeEvent) => {\n onLabelLayout?.(e);\n\n setInitialLabelWidth(e.nativeEvent.layout.x + e.nativeEvent.layout.width);\n };\n\n const shouldTruncateLabel = () => {\n return (\n !label ||\n (initialLabelWidth &&\n titleLayout &&\n screenLayout &&\n (screenLayout.width - titleLayout.width) / 2 < initialLabelWidth + 26)\n );\n };\n\n const renderBackImage = () => {\n if (backImage) {\n return backImage({ tintColor });\n } else {\n return (\n <Image\n style={[\n styles.icon,\n Boolean(labelVisible) && styles.iconWithLabel,\n Boolean(tintColor) && { tintColor },\n ]}\n source={require('../assets/back-icon.png')}\n fadeDuration={0}\n />\n );\n }\n };\n\n const renderLabel = () => {\n const leftLabelText = shouldTruncateLabel() ? truncatedLabel : label;\n\n if (!labelVisible || leftLabelText === undefined) {\n return null;\n }\n\n const labelElement = (\n <View\n style={\n screenLayout\n ? // We make the button extend till the middle of the screen\n // Otherwise it appears to cut off when translating\n [styles.labelWrapper, { minWidth: screenLayout.width / 2 - 27 }]\n : null\n }\n >\n <Animated.Text\n accessible={false}\n onLayout={\n // This measurement is used to determine if we should truncate the label when it doesn't fit\n // Only measure it when label is not truncated because we want the measurement of full label\n leftLabelText === label ? handleLabelLayout : undefined\n }\n style={[\n styles.label,\n tintColor ? { color: tintColor } : null,\n labelStyle,\n ]}\n numberOfLines={1}\n allowFontScaling={!!allowFontScaling}\n >\n {leftLabelText}\n </Animated.Text>\n </View>\n );\n\n if (backImage || Platform.OS !== 'ios') {\n // When a custom backimage is specified, we can't mask the label\n // Otherwise there might be weird effect due to our mask not being the same as the image\n return labelElement;\n }\n\n return (\n <MaskedView\n maskElement={\n <View style={styles.iconMaskContainer}>\n <Image\n source={require('../assets/back-icon-mask.png')}\n style={styles.iconMask}\n />\n <View style={styles.iconMaskFillerRect} />\n </View>\n }\n >\n {labelElement}\n </MaskedView>\n );\n };\n\n const handlePress = () => onPress && requestAnimationFrame(onPress);\n\n return (\n <PlatformPressable\n disabled={disabled}\n accessible\n accessibilityRole=\"button\"\n accessibilityLabel={accessibilityLabel}\n testID={testID}\n onPress={disabled ? undefined : handlePress}\n pressColor={pressColor}\n pressOpacity={pressOpacity}\n android_ripple={{ borderless: true }}\n style={[styles.container, disabled && styles.disabled, style]}\n hitSlop={Platform.select({\n ios: undefined,\n default: { top: 16, right: 16, bottom: 16, left: 16 },\n })}\n >\n <React.Fragment>\n {renderBackImage()}\n {renderLabel()}\n </React.Fragment>\n </PlatformPressable>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n minWidth: StyleSheet.hairlineWidth, // Avoid collapsing when title is long\n ...Platform.select({\n ios: null,\n default: {\n marginVertical: 3,\n marginHorizontal: 11,\n },\n }),\n },\n disabled: {\n opacity: 0.5,\n },\n label: {\n fontSize: 17,\n // Title and back label are a bit different width due to title being bold\n // Adjusting the letterSpacing makes them coincide better\n letterSpacing: 0.35,\n },\n labelWrapper: {\n // These styles will make sure that the label doesn't fill the available space\n // Otherwise it messes with the measurement of the label\n flexDirection: 'row',\n alignItems: 'flex-start',\n },\n icon: Platform.select({\n ios: {\n height: 21,\n width: 13,\n marginLeft: 8,\n marginRight: 22,\n marginVertical: 12,\n resizeMode: 'contain',\n transform: [{ scaleX: I18nManager.isRTL ? -1 : 1 }],\n },\n default: {\n height: 24,\n width: 24,\n margin: 3,\n resizeMode: 'contain',\n transform: [{ scaleX: I18nManager.isRTL ? -1 : 1 }],\n },\n }),\n iconWithLabel:\n Platform.OS === 'ios'\n ? {\n marginRight: 6,\n }\n : {},\n iconMaskContainer: {\n flex: 1,\n flexDirection: 'row',\n justifyContent: 'center',\n },\n iconMaskFillerRect: {\n flex: 1,\n backgroundColor: '#000',\n },\n iconMask: {\n height: 21,\n width: 13,\n marginLeft: -14.5,\n marginVertical: 12,\n alignSelf: 'center',\n resizeMode: 'contain',\n transform: [{ scaleX: I18nManager.isRTL ? -1 : 1 }],\n },\n});\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/302634bbdffcec193d85c189778cb639.json b/.expo/web/cache/development/babel-loader/302634bbdffcec193d85c189778cb639.json new file mode 100644 index 0000000000000000000000000000000000000000..18c18e0e990989fc7b91505bab20eaf78036d07c --- /dev/null +++ b/.expo/web/cache/development/babel-loader/302634bbdffcec193d85c189778cb639.json @@ -0,0 +1 @@ +{"ast":null,"code":"import ReactNativePlatform from \"react-native-web/dist/exports/Platform\";\nimport { isDOMAvailable, canUseEventListeners, canUseViewport, isAsyncDebugging } from \"./environment/browser\";\nvar Platform = {\n OS: ReactNativePlatform.OS,\n select: ReactNativePlatform.select,\n isDOMAvailable: isDOMAvailable,\n canUseEventListeners: canUseEventListeners,\n canUseViewport: canUseViewport,\n isAsyncDebugging: isAsyncDebugging\n};\nexport default Platform;","map":{"version":3,"sources":["../src/Platform.ts"],"names":[],"mappings":";AAEA,SACE,cADF,EAEE,oBAFF,EAGE,cAHF,EAIE,gBAJF;AAWA,IAAM,QAAQ,GAAG;AAKf,EAAA,EAAE,EAAE,mBAAmB,CAAC,EALT;AAcf,EAAA,MAAM,EAAE,mBAAmB,CAAC,MAdb;AAmBf,EAAA,cAAc,EAAd,cAnBe;AAyBf,EAAA,oBAAoB,EAApB,oBAzBe;AA+Bf,EAAA,cAAc,EAAd,cA/Be;AAoCf,EAAA,gBAAgB,EAAhB;AApCe,CAAjB;AAuCA,eAAe,QAAf","sourcesContent":["import { Platform as ReactNativePlatform, PlatformOSType } from 'react-native';\n\nimport {\n isDOMAvailable,\n canUseEventListeners,\n canUseViewport,\n isAsyncDebugging,\n} from './environment/browser';\n\nexport type PlatformSelectOSType = PlatformOSType | 'native' | 'electron' | 'default';\n\nexport type PlatformSelect = <T>(specifics: { [platform in PlatformSelectOSType]?: T }) => T;\n\nconst Platform = {\n /**\n * Denotes the currently running platform.\n * Can be one of ios, android, web.\n */\n OS: ReactNativePlatform.OS,\n /**\n * Returns the value with the matching platform.\n * Object keys can be any of ios, android, native, web, default.\n *\n * @ios ios, native, default\n * @android android, native, default\n * @web web, default\n */\n select: ReactNativePlatform.select as PlatformSelect,\n /**\n * Denotes if the DOM API is available in the current environment.\n * The DOM is not available in native React runtimes and Node.js.\n */\n isDOMAvailable,\n /**\n * Denotes if the current environment can attach event listeners\n * to the window. This will return false in native React\n * runtimes and Node.js.\n */\n canUseEventListeners,\n /**\n * Denotes if the current environment can inspect properties of the\n * screen on which the current window is being rendered. This will\n * return false in native React runtimes and Node.js.\n */\n canUseViewport,\n /**\n * If the JavaScript is being executed in a remote JavaScript environment.\n * When `true`, synchronous native invocations cannot be executed.\n */\n isAsyncDebugging,\n};\n\nexport default Platform;\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/30424601d2f1dd57699fe3ab8ee64097.json b/.expo/web/cache/development/babel-loader/30424601d2f1dd57699fe3ab8ee64097.json new file mode 100644 index 0000000000000000000000000000000000000000..3b36a9705cf32c4c887131b1f381ff41d347d927 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/30424601d2f1dd57699fe3ab8ee64097.json @@ -0,0 +1 @@ +{"ast":null,"code":"import getNamedContext from \"../getNamedContext\";\nvar HeaderBackContext = getNamedContext('HeaderBackContext', undefined);\nexport default HeaderBackContext;","map":{"version":3,"sources":["HeaderBackContext.tsx"],"names":["HeaderBackContext","getNamedContext"],"mappings":"AAAA,OAAA,eAAA;AAEA,IAAMA,iBAAiB,GAAGC,eAAe,CAAA,mBAAA,EAAzC,SAAyC,CAAzC;AAKA,eAAA,iBAAA","sourcesContent":["import getNamedContext from '../getNamedContext';\n\nconst HeaderBackContext = getNamedContext<{ title: string } | undefined>(\n 'HeaderBackContext',\n undefined\n);\n\nexport default HeaderBackContext;\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/306eaa8037b247922b9af5891b00471b.json b/.expo/web/cache/development/babel-loader/306eaa8037b247922b9af5891b00471b.json new file mode 100644 index 0000000000000000000000000000000000000000..5d52f2f610e324aefb1100c8c6c4f2b0e8e26ff0 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/306eaa8037b247922b9af5891b00471b.json @@ -0,0 +1 @@ +{"ast":null,"code":"import I18nManager from \"../I18nManager\";\nimport multiplyStyleLengthValue from \"../../modules/multiplyStyleLengthValue\";\nvar emptyObject = {};\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';\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};\nvar PROPERTIES_I18N = {\n borderTopStartRadius: borderTopLeftRadius,\n borderTopEndRadius: borderTopRightRadius,\n borderBottomStartRadius: borderBottomLeftRadius,\n borderBottomEndRadius: borderBottomRightRadius,\n borderStartColor: borderLeftColor,\n borderStartStyle: borderLeftStyle,\n borderStartWidth: borderLeftWidth,\n borderEndColor: borderRightColor,\n borderEndStyle: borderRightStyle,\n borderEndWidth: borderRightWidth,\n end: right,\n marginStart: marginLeft,\n marginEnd: marginRight,\n paddingStart: paddingLeft,\n paddingEnd: paddingRight,\n start: left\n};\nvar PROPERTIES_VALUE = {\n clear: true,\n float: true,\n textAlign: true\n};\n\nvar additiveInverse = function additiveInverse(value) {\n return multiplyStyleLengthValue(value, -1);\n};\n\nvar i18nStyle = function i18nStyle(originalStyle) {\n var _I18nManager$getConst = I18nManager.getConstants(),\n doLeftAndRightSwapInRTL = _I18nManager$getConst.doLeftAndRightSwapInRTL,\n isRTL = _I18nManager$getConst.isRTL;\n\n var style = originalStyle || emptyObject;\n var frozenProps = {};\n var nextStyle = {};\n\n for (var originalProp in style) {\n if (!Object.prototype.hasOwnProperty.call(style, originalProp)) {\n continue;\n }\n\n var originalValue = style[originalProp];\n var prop = originalProp;\n var value = originalValue;\n\n if (PROPERTIES_I18N.hasOwnProperty(originalProp)) {\n var convertedProp = PROPERTIES_I18N[originalProp];\n prop = isRTL ? PROPERTIES_FLIP[convertedProp] : convertedProp;\n } else if (isRTL && doLeftAndRightSwapInRTL && PROPERTIES_FLIP[originalProp]) {\n prop = PROPERTIES_FLIP[originalProp];\n }\n\n if (PROPERTIES_VALUE.hasOwnProperty(originalProp)) {\n if (originalValue === 'start') {\n value = isRTL ? 'right' : 'left';\n } else if (originalValue === 'end') {\n value = isRTL ? 'left' : 'right';\n } else if (isRTL && doLeftAndRightSwapInRTL) {\n if (originalValue === 'left') {\n value = 'right';\n } else if (originalValue === 'right') {\n value = 'left';\n }\n }\n }\n\n if (prop === 'transitionProperty') {\n if (PROPERTIES_I18N.hasOwnProperty(value)) {\n var convertedValue = PROPERTIES_I18N[originalValue];\n value = isRTL ? PROPERTIES_FLIP[convertedValue] : convertedValue;\n } else if (isRTL && doLeftAndRightSwapInRTL) {\n var flippedValue = PROPERTIES_FLIP[originalValue];\n\n if (flippedValue != null) {\n value = flippedValue;\n }\n }\n }\n\n if (isRTL && prop === 'textShadowOffset') {\n var invertedValue = additiveInverse(value.width);\n value.width = invertedValue;\n nextStyle[prop] = value;\n } else if (!frozenProps[prop]) {\n nextStyle[prop] = value;\n }\n\n if (PROPERTIES_I18N[originalProp]) {\n frozenProps[prop] = true;\n }\n }\n\n return nextStyle;\n};\n\nexport default i18nStyle;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/StyleSheet/i18nStyle.js"],"names":["I18nManager","multiplyStyleLengthValue","emptyObject","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderLeftColor","borderLeftStyle","borderLeftWidth","borderRightColor","borderRightStyle","borderRightWidth","right","marginLeft","marginRight","paddingLeft","paddingRight","left","PROPERTIES_FLIP","PROPERTIES_I18N","borderTopStartRadius","borderTopEndRadius","borderBottomStartRadius","borderBottomEndRadius","borderStartColor","borderStartStyle","borderStartWidth","borderEndColor","borderEndStyle","borderEndWidth","end","marginStart","marginEnd","paddingStart","paddingEnd","start","PROPERTIES_VALUE","clear","float","textAlign","additiveInverse","value","i18nStyle","originalStyle","_I18nManager$getConst","getConstants","doLeftAndRightSwapInRTL","isRTL","style","frozenProps","nextStyle","originalProp","Object","prototype","hasOwnProperty","call","originalValue","prop","convertedProp","convertedValue","flippedValue","invertedValue","width"],"mappings":"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","sourcesContent":["/**\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 I18nManager from '../I18nManager';\nimport multiplyStyleLengthValue from '../../modules/multiplyStyleLengthValue';\nvar emptyObject = {};\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'; // Map of LTR property names to their BiDi equivalent.\n\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}; // Map of I18N property names to their LTR equivalent.\n\nvar PROPERTIES_I18N = {\n borderTopStartRadius: borderTopLeftRadius,\n borderTopEndRadius: borderTopRightRadius,\n borderBottomStartRadius: borderBottomLeftRadius,\n borderBottomEndRadius: borderBottomRightRadius,\n borderStartColor: borderLeftColor,\n borderStartStyle: borderLeftStyle,\n borderStartWidth: borderLeftWidth,\n borderEndColor: borderRightColor,\n borderEndStyle: borderRightStyle,\n borderEndWidth: borderRightWidth,\n end: right,\n marginStart: marginLeft,\n marginEnd: marginRight,\n paddingStart: paddingLeft,\n paddingEnd: paddingRight,\n start: left\n};\nvar PROPERTIES_VALUE = {\n clear: true,\n float: true,\n textAlign: true\n}; // Invert the sign of a numeric-like value\n\nvar additiveInverse = function additiveInverse(value) {\n return multiplyStyleLengthValue(value, -1);\n};\n\nvar i18nStyle = function i18nStyle(originalStyle) {\n var _I18nManager$getConst = I18nManager.getConstants(),\n doLeftAndRightSwapInRTL = _I18nManager$getConst.doLeftAndRightSwapInRTL,\n isRTL = _I18nManager$getConst.isRTL;\n\n var style = originalStyle || emptyObject;\n var frozenProps = {};\n var nextStyle = {};\n\n for (var originalProp in style) {\n if (!Object.prototype.hasOwnProperty.call(style, originalProp)) {\n continue;\n }\n\n var originalValue = style[originalProp];\n var prop = originalProp;\n var value = originalValue; // BiDi flip properties\n\n if (PROPERTIES_I18N.hasOwnProperty(originalProp)) {\n // convert start/end\n var convertedProp = PROPERTIES_I18N[originalProp];\n prop = isRTL ? PROPERTIES_FLIP[convertedProp] : convertedProp;\n } else if (isRTL && doLeftAndRightSwapInRTL && PROPERTIES_FLIP[originalProp]) {\n prop = PROPERTIES_FLIP[originalProp];\n } // BiDi flip values\n\n\n if (PROPERTIES_VALUE.hasOwnProperty(originalProp)) {\n if (originalValue === 'start') {\n value = isRTL ? 'right' : 'left';\n } else if (originalValue === 'end') {\n value = isRTL ? 'left' : 'right';\n } else if (isRTL && doLeftAndRightSwapInRTL) {\n if (originalValue === 'left') {\n value = 'right';\n } else if (originalValue === 'right') {\n value = 'left';\n }\n }\n } // BiDi flip transitionProperty value\n\n\n if (prop === 'transitionProperty') {\n // BiDi flip properties\n if (PROPERTIES_I18N.hasOwnProperty(value)) {\n // convert start/end\n var convertedValue = PROPERTIES_I18N[originalValue];\n value = isRTL ? PROPERTIES_FLIP[convertedValue] : convertedValue;\n } else if (isRTL && doLeftAndRightSwapInRTL) {\n var flippedValue = PROPERTIES_FLIP[originalValue];\n\n if (flippedValue != null) {\n value = flippedValue;\n }\n }\n } // Create finalized style\n\n\n if (isRTL && prop === 'textShadowOffset') {\n var invertedValue = additiveInverse(value.width);\n value.width = invertedValue;\n nextStyle[prop] = value;\n } else if (!frozenProps[prop]) {\n nextStyle[prop] = value;\n }\n\n if (PROPERTIES_I18N[originalProp]) {\n frozenProps[prop] = true;\n }\n } // $FlowIgnore\n\n\n return nextStyle;\n};\n\nexport default i18nStyle;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/319723ab55e99611c6360323597af4a7.json b/.expo/web/cache/development/babel-loader/319723ab55e99611c6360323597af4a7.json new file mode 100644 index 0000000000000000000000000000000000000000..f28a1a0a4c5d9e6e6d0abdf76291366b1333969a --- /dev/null +++ b/.expo/web/cache/development/babel-loader/319723ab55e99611c6360323597af4a7.json @@ -0,0 +1 @@ +{"ast":null,"code":"export default function checkDuplicateRouteNames(state) {\n var duplicates = [];\n\n var getRouteNames = function getRouteNames(location, state) {\n state.routes.forEach(function (route) {\n var _route$state, _route$state$routeNam;\n\n var currentLocation = location ? location + \" > \" + route.name : route.name;\n (_route$state = route.state) === null || _route$state === void 0 ? void 0 : (_route$state$routeNam = _route$state.routeNames) === null || _route$state$routeNam === void 0 ? void 0 : _route$state$routeNam.forEach(function (routeName) {\n if (routeName === route.name) {\n duplicates.push([currentLocation, currentLocation + \" > \" + route.name]);\n }\n });\n\n if (route.state) {\n getRouteNames(currentLocation, route.state);\n }\n });\n };\n\n getRouteNames('', state);\n return duplicates;\n}","map":{"version":3,"sources":["checkDuplicateRouteNames.tsx"],"names":["duplicates","getRouteNames","state","route","currentLocation","location","routeName"],"mappings":"AAEA,eAAe,SAAA,wBAAA,CAAA,KAAA,EAA0D;AACvE,MAAMA,UAAsB,GAA5B,EAAA;;AAEA,MAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAAA,QAAA,EAAA,KAAA,EAGjB;AACHC,IAAAA,KAAK,CAALA,MAAAA,CAAAA,OAAAA,CAAsBC,UAAAA,KAAD,EAAmC;AAAA,UAAA,YAAA,EAAA,qBAAA;;AACtD,UAAMC,eAAe,GAAGC,QAAQ,GACzBA,QADyB,WACXF,KAAK,CADM,IAAA,GAE5BA,KAAK,CAFT,IAAA;AAIA,OAAA,YAAA,GAAA,KAAK,CAAL,KAAA,MAAA,IAAA,IAAA,YAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAA,qBAAA,GAAA,YAAA,CAAA,UAAA,MAAA,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,qBAAA,CAAA,OAAA,CAAkCG,UAAAA,SAAD,EAAe;AAC9C,YAAIA,SAAS,KAAKH,KAAK,CAAvB,IAAA,EAA8B;AAC5BH,UAAAA,UAAU,CAAVA,IAAAA,CAAgB,CAAA,eAAA,EAEXI,eAFW,WAEUD,KAAK,CAF/BH,IAAgB,CAAhBA;AAID;AANH,OAAA,CAAA;;AASA,UAAIG,KAAK,CAAT,KAAA,EAAiB;AACfF,QAAAA,aAAa,CAAA,eAAA,EAAkBE,KAAK,CAApCF,KAAa,CAAbA;AACD;AAhBHC,KAAAA;AAJF,GAAA;;AAwBAD,EAAAA,aAAa,CAAA,EAAA,EAAbA,KAAa,CAAbA;AAEA,SAAA,UAAA;AACD","sourcesContent":["import type { NavigationState, PartialState } from '@react-navigation/routers';\n\nexport default function checkDuplicateRouteNames(state: NavigationState) {\n const duplicates: string[][] = [];\n\n const getRouteNames = (\n location: string,\n state: NavigationState | PartialState<NavigationState>\n ) => {\n state.routes.forEach((route: typeof state.routes[0]) => {\n const currentLocation = location\n ? `${location} > ${route.name}`\n : route.name;\n\n route.state?.routeNames?.forEach((routeName) => {\n if (routeName === route.name) {\n duplicates.push([\n currentLocation,\n `${currentLocation} > ${route.name}`,\n ]);\n }\n });\n\n if (route.state) {\n getRouteNames(currentLocation, route.state);\n }\n });\n };\n\n getRouteNames('', state);\n\n return duplicates;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/31da1a2fc2cdaf9c925d87d6045d322f.json b/.expo/web/cache/development/babel-loader/31da1a2fc2cdaf9c925d87d6045d322f.json new file mode 100644 index 0000000000000000000000000000000000000000..3d6fe7eb0c4dc231b5a2b24dfbb8800a0f4aedab --- /dev/null +++ b/.expo/web/cache/development/babel-loader/31da1a2fc2cdaf9c925d87d6045d322f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nimport View from \"../../../../exports/View\";\nimport createAnimatedComponent from \"../createAnimatedComponent\";\nexport default createAnimatedComponent(View, {\n collapsable: true\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedView.js"],"names":["React","View","createAnimatedComponent","collapsable"],"mappings":"AASA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,IAAP;AACA,OAAOC,uBAAP;AACA,eAAeA,uBAAuB,CAACD,IAAD,EAAO;AAC3CE,EAAAA,WAAW,EAAE;AAD8B,CAAP,CAAtC","sourcesContent":["/**\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 * @format\n */\nimport * as React from 'react';\nimport View from '../../../../exports/View';\nimport createAnimatedComponent from '../createAnimatedComponent';\nexport default createAnimatedComponent(View, {\n collapsable: true\n});"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/324d88be40a6523e4c2d43e9680e8e76.json b/.expo/web/cache/development/babel-loader/324d88be40a6523e4c2d43e9680e8e76.json new file mode 100644 index 0000000000000000000000000000000000000000..2f289c964ec77a362644a8a1eebadaa32bcbbbc0 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/324d88be40a6523e4c2d43e9680e8e76.json @@ -0,0 +1 @@ +{"ast":null,"code":"import NativeModules from \"react-native-web/dist/exports/NativeModules\";\nimport FirestoreBlob from \"./FirestoreBlob\";\nimport FirestoreFieldPath from \"./FirestoreFieldPath\";\nimport FirestoreFieldValue from \"./FirestoreFieldValue\";\nimport FirestoreGeoPoint from \"./FirestoreGeoPoint\";\nimport FirestoreTimestamp from \"./FirestoreTimestamp\";\nexport default {\n Blob: FirestoreBlob,\n FieldPath: FirestoreFieldPath,\n FieldValue: FirestoreFieldValue,\n GeoPoint: FirestoreGeoPoint,\n Timestamp: FirestoreTimestamp,\n CACHE_SIZE_UNLIMITED: -1,\n setLogLevel: function setLogLevel(logLevel) {\n if (logLevel !== 'debug' && logLevel !== 'error' && logLevel !== 'silent') {\n throw new Error(\"firebase.firestore.setLogLevel(*) 'logLevel' expected one of 'debug', 'error' or 'silent'\");\n }\n\n var native = NativeModules.RNFBFirestoreModule;\n native.setLogLevel(logLevel);\n }\n};","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/firestore/lib/FirestoreStatics.js"],"names":["FirestoreBlob","FirestoreFieldPath","FirestoreFieldValue","FirestoreGeoPoint","FirestoreTimestamp","Blob","FieldPath","FieldValue","GeoPoint","Timestamp","CACHE_SIZE_UNLIMITED","setLogLevel","logLevel","Error","native","NativeModules","RNFBFirestoreModule"],"mappings":";AAkBA,OAAOA,aAAP;AACA,OAAOC,kBAAP;AACA,OAAOC,mBAAP;AACA,OAAOC,iBAAP;AACA,OAAOC,kBAAP;AAEA,eAAe;AACbC,EAAAA,IAAI,EAAEL,aADO;AAEbM,EAAAA,SAAS,EAAEL,kBAFE;AAGbM,EAAAA,UAAU,EAAEL,mBAHC;AAIbM,EAAAA,QAAQ,EAAEL,iBAJG;AAKbM,EAAAA,SAAS,EAAEL,kBALE;AAObM,EAAAA,oBAAoB,EAAE,CAAC,CAPV;AASbC,EAAAA,WATa,uBASDC,QATC,EASS;AACpB,QAAIA,QAAQ,KAAK,OAAb,IAAwBA,QAAQ,KAAK,OAArC,IAAgDA,QAAQ,KAAK,QAAjE,EAA2E;AACzE,YAAM,IAAIC,KAAJ,CACJ,2FADI,CAAN;AAGD;;AAED,QAAMC,MAAM,GAAGC,aAAa,CAACC,mBAA7B;AACAF,IAAAA,MAAM,CAACH,WAAP,CAAmBC,QAAnB;AACD;AAlBY,CAAf","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { NativeModules } from 'react-native';\nimport FirestoreBlob from './FirestoreBlob';\nimport FirestoreFieldPath from './FirestoreFieldPath';\nimport FirestoreFieldValue from './FirestoreFieldValue';\nimport FirestoreGeoPoint from './FirestoreGeoPoint';\nimport FirestoreTimestamp from './FirestoreTimestamp';\n\nexport default {\n Blob: FirestoreBlob,\n FieldPath: FirestoreFieldPath,\n FieldValue: FirestoreFieldValue,\n GeoPoint: FirestoreGeoPoint,\n Timestamp: FirestoreTimestamp,\n\n CACHE_SIZE_UNLIMITED: -1,\n\n setLogLevel(logLevel) {\n if (logLevel !== 'debug' && logLevel !== 'error' && logLevel !== 'silent') {\n throw new Error(\n \"firebase.firestore.setLogLevel(*) 'logLevel' expected one of 'debug', 'error' or 'silent'\",\n );\n }\n\n const native = NativeModules.RNFBFirestoreModule;\n native.setLogLevel(logLevel);\n },\n};\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/3268e0ae8d457dea4cc8ab37e8760694.json b/.expo/web/cache/development/babel-loader/3268e0ae8d457dea4cc8ab37e8760694.json new file mode 100644 index 0000000000000000000000000000000000000000..7b1b9539c87be533dff94cab4cd3e3d25d5e2e17 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/3268e0ae8d457dea4cc8ab37e8760694.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc } from \"firebase/firestore\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n name = _doc$data.name,\n email = _doc$data.email,\n phone = _doc$data.phone;\n\n users.push({\n id: doc.id,\n name: name,\n email: email,\n phone: phone\n });\n });\n setUsers(users);\n });\n }, []);\n\n try {\n var docRef = function docRef() {\n return _regeneratorRuntime.async(function docRef$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _regeneratorRuntime.awrap(addDoc(collection(db, \"users\"), {\n Name: \"Ada\",\n Email: \"Lovelace\",\n born: 1815\n }));\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n };\n\n console.log(\"Document written with ID: \", docRef.id);\n Alert.alert(\"write Data worked: \");\n } catch (e) {\n console.error(\"Error adding document: \", e);\n }\n\n var getUserById = function getUserById(id) {\n var docRef, docu, user;\n return _regeneratorRuntime.async(function getUserById$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n docRef = doc(db, 'users', id);\n _context2.next = 3;\n return _regeneratorRuntime.awrap(getDoc(docRef));\n\n case 3:\n docu = _context2.sent;\n user = docu.data();\n setUser(_objectSpread(_objectSpread({}, user), {}, {\n id: docu.id\n }));\n setLoading(false);\n\n case 7:\n case \"end\":\n return _context2.stop();\n }\n }\n }, null, null, null, Promise);\n };\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsxs(Text, {\n children: [item.title, users.toString]\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","name","email","phone","push","id","docRef","Name","Email","born","console","log","Alert","alert","e","error","getUserById","getDoc","docu","user","setUser","setLoading","params","post","Item","item","onPress","backgroundColor","textColor","styles","title","toString","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc} from \"firebase/firestore\"\r\n\r\n\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {name, email, phone} = doc.data();\r\n users.push({id:doc.id, name, email, phone})\r\n });\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"users\"), {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n born: 1815\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}\r\n\r\n\r\n\r\n//update user\r\nconst getUserById = async (id) => {\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUser({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n };\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n {users.toString}\r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/339d97f9a5f3ece9454a3fb3e864bb8b.json b/.expo/web/cache/development/babel-loader/339d97f9a5f3ece9454a3fb3e864bb8b.json new file mode 100644 index 0000000000000000000000000000000000000000..9ac81c11d0db3cef392e67613aaba0b79e84f8b7 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/339d97f9a5f3ece9454a3fb3e864bb8b.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"style\", \"mode\", \"edges\"];\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nimport * as React from 'react';\nimport View from \"react-native-web/dist/exports/View\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport { useSafeAreaInsets } from \"./SafeAreaContext\";\nvar TOP = 8,\n RIGHT = 4,\n BOTTOM = 2,\n LEFT = 1,\n ALL = 15;\nvar edgeBitmaskMap = {\n top: TOP,\n right: RIGHT,\n bottom: BOTTOM,\n left: LEFT\n};\nexport function SafeAreaView(_ref) {\n var _ref$style = _ref.style,\n style = _ref$style === void 0 ? {} : _ref$style,\n mode = _ref.mode,\n edges = _ref.edges,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n var insets = useSafeAreaInsets();\n var edgeBitmask = edges != null ? edges.reduce(function (accum, edge) {\n return accum | edgeBitmaskMap[edge];\n }, 0) : ALL;\n var appliedStyle = React.useMemo(function () {\n var insetTop = edgeBitmask & TOP ? insets.top : 0;\n var insetRight = edgeBitmask & RIGHT ? insets.right : 0;\n var insetBottom = edgeBitmask & BOTTOM ? insets.bottom : 0;\n var insetLeft = edgeBitmask & LEFT ? insets.left : 0;\n var flatStyle = StyleSheet.flatten(style);\n\n if (mode === 'margin') {\n var _flatStyle$margin = flatStyle.margin,\n margin = _flatStyle$margin === void 0 ? 0 : _flatStyle$margin,\n _flatStyle$marginVert = flatStyle.marginVertical,\n marginVertical = _flatStyle$marginVert === void 0 ? margin : _flatStyle$marginVert,\n _flatStyle$marginHori = flatStyle.marginHorizontal,\n marginHorizontal = _flatStyle$marginHori === void 0 ? margin : _flatStyle$marginHori,\n _flatStyle$marginTop = flatStyle.marginTop,\n marginTop = _flatStyle$marginTop === void 0 ? marginVertical : _flatStyle$marginTop,\n _flatStyle$marginRigh = flatStyle.marginRight,\n marginRight = _flatStyle$marginRigh === void 0 ? marginHorizontal : _flatStyle$marginRigh,\n _flatStyle$marginBott = flatStyle.marginBottom,\n marginBottom = _flatStyle$marginBott === void 0 ? marginVertical : _flatStyle$marginBott,\n _flatStyle$marginLeft = flatStyle.marginLeft,\n marginLeft = _flatStyle$marginLeft === void 0 ? marginHorizontal : _flatStyle$marginLeft;\n var marginStyle = {\n marginTop: marginTop + insetTop,\n marginRight: marginRight + insetRight,\n marginBottom: marginBottom + insetBottom,\n marginLeft: marginLeft + insetLeft\n };\n return [style, marginStyle];\n } else {\n var _flatStyle$padding = flatStyle.padding,\n padding = _flatStyle$padding === void 0 ? 0 : _flatStyle$padding,\n _flatStyle$paddingVer = flatStyle.paddingVertical,\n paddingVertical = _flatStyle$paddingVer === void 0 ? padding : _flatStyle$paddingVer,\n _flatStyle$paddingHor = flatStyle.paddingHorizontal,\n paddingHorizontal = _flatStyle$paddingHor === void 0 ? padding : _flatStyle$paddingHor,\n _flatStyle$paddingTop = flatStyle.paddingTop,\n paddingTop = _flatStyle$paddingTop === void 0 ? paddingVertical : _flatStyle$paddingTop,\n _flatStyle$paddingRig = flatStyle.paddingRight,\n paddingRight = _flatStyle$paddingRig === void 0 ? paddingHorizontal : _flatStyle$paddingRig,\n _flatStyle$paddingBot = flatStyle.paddingBottom,\n paddingBottom = _flatStyle$paddingBot === void 0 ? paddingVertical : _flatStyle$paddingBot,\n _flatStyle$paddingLef = flatStyle.paddingLeft,\n paddingLeft = _flatStyle$paddingLef === void 0 ? paddingHorizontal : _flatStyle$paddingLef;\n var paddingStyle = {\n paddingTop: paddingTop + insetTop,\n paddingRight: paddingRight + insetRight,\n paddingBottom: paddingBottom + insetBottom,\n paddingLeft: paddingLeft + insetLeft\n };\n return [style, paddingStyle];\n }\n }, [style, insets, mode, edgeBitmask]);\n return React.createElement(View, _extends({\n style: appliedStyle\n }, rest));\n}","map":{"version":3,"sources":["SafeAreaView.tsx"],"names":["TOP","RIGHT","BOTTOM","LEFT","ALL","edgeBitmaskMap","top","right","bottom","left","style","rest","insets","useSafeAreaInsets","edgeBitmask","edges","accum","appliedStyle","insetTop","insetRight","insetBottom","insetLeft","flatStyle","StyleSheet","mode","margin","marginVertical","marginHorizontal","marginTop","marginRight","marginBottom","marginLeft","marginStyle","padding","paddingVertical","paddingHorizontal","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingStyle"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { View, StyleSheet } from 'react-native';\nimport { useSafeAreaInsets } from './SafeAreaContext';\nimport { Edge, NativeSafeAreaViewProps } from './SafeArea.types';\n\n// prettier-ignore\nconst TOP = 0b1000,\n RIGHT = 0b0100,\n BOTTOM = 0b0010,\n LEFT = 0b0001,\n ALL = 0b1111;\n\n/* eslint-disable no-bitwise */\n\nconst edgeBitmaskMap: Record<Edge, number> = {\n top: TOP,\n right: RIGHT,\n bottom: BOTTOM,\n left: LEFT,\n};\n\nexport function SafeAreaView({\n style = {},\n mode,\n edges,\n ...rest\n}: NativeSafeAreaViewProps) {\n const insets = useSafeAreaInsets();\n\n const edgeBitmask =\n edges != null\n ? edges.reduce((accum, edge) => accum | edgeBitmaskMap[edge], 0)\n : ALL;\n\n const appliedStyle = React.useMemo(() => {\n const insetTop = edgeBitmask & TOP ? insets.top : 0;\n const insetRight = edgeBitmask & RIGHT ? insets.right : 0;\n const insetBottom = edgeBitmask & BOTTOM ? insets.bottom : 0;\n const insetLeft = edgeBitmask & LEFT ? insets.left : 0;\n\n const flatStyle = StyleSheet.flatten(style) as Record<string, number>;\n\n if (mode === 'margin') {\n const {\n margin = 0,\n marginVertical = margin,\n marginHorizontal = margin,\n marginTop = marginVertical,\n marginRight = marginHorizontal,\n marginBottom = marginVertical,\n marginLeft = marginHorizontal,\n } = flatStyle;\n\n const marginStyle = {\n marginTop: marginTop + insetTop,\n marginRight: marginRight + insetRight,\n marginBottom: marginBottom + insetBottom,\n marginLeft: marginLeft + insetLeft,\n };\n\n return [style, marginStyle];\n } else {\n const {\n padding = 0,\n paddingVertical = padding,\n paddingHorizontal = padding,\n paddingTop = paddingVertical,\n paddingRight = paddingHorizontal,\n paddingBottom = paddingVertical,\n paddingLeft = paddingHorizontal,\n } = flatStyle;\n\n const paddingStyle = {\n paddingTop: paddingTop + insetTop,\n paddingRight: paddingRight + insetRight,\n paddingBottom: paddingBottom + insetBottom,\n paddingLeft: paddingLeft + insetLeft,\n };\n\n return [style, paddingStyle];\n }\n }, [style, insets, mode, edgeBitmask]);\n\n return <View style={appliedStyle} {...rest} />;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/33a9d3be7e6cd32f234b0f3a26320491.json b/.expo/web/cache/development/babel-loader/33a9d3be7e6cd32f234b0f3a26320491.json new file mode 100644 index 0000000000000000000000000000000000000000..69b217262c0382602aa5f27a91727e95e56fe2f2 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/33a9d3be7e6cd32f234b0f3a26320491.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users.toString);\n setUsers(users);\n });\n }, []);\n\n function writeData() {\n try {\n var _docRef = function _docRef() {\n addDoc(collection(db, \"Users\"), {\n Email: \"Ada\",\n Image: \"Lovelace\",\n Name: \"1815\"\n });\n };\n\n console.log(\"Document written with ID: \", _docRef.id);\n Alert.alert(\"write Data worked: \");\n } catch (e) {\n console.error(\"Error adding document: \", e);\n }\n }\n\n var getUserById = function getUserById() {\n var id, docRef, docu, user;\n return _regeneratorRuntime.async(function getUserById$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n id = 'q5EOqKxKEsAO6lLmhbnc';\n docRef = doc(db, 'users', id);\n _context.next = 4;\n return _regeneratorRuntime.awrap(getDoc(docRef));\n\n case 4:\n docu = _context.sent;\n user = docu.data();\n setUsers(_objectSpread(_objectSpread({}, user), {}, {\n id: docu.id\n }));\n setLoading(false);\n Alert.alert(users[0]);\n\n case 9:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n };\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {\n children: item.title\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\",\n onPress: writeData\n }), _jsx(Button, {\n title: \"UpdateUser\",\n onPress: getUserById\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","writeData","console","log","e","error","getUserById","docu","user","setLoading","params","post","Item","item","onPress","backgroundColor","textColor","styles","title","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users.toString);\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\nfunction writeData(){\r\n \r\n try {\r\n const docRef = () =>{//async\r\n addDoc(collection(db, \"Users\"), {//await\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})*/\r\n}\r\n\r\n\r\n\r\n//update user\r\nconst getUserById = async () => {\r\n const id = 'q5EOqKxKEsAO6lLmhbnc';\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUsers({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n Alert.alert(users[0])\r\n };\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n \r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser' onPress={writeData}/>\r\n <Button title='UpdateUser' onPress={getUserById}/>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/33ece39bb0ba38852855c66ed9b5ad6b.json b/.expo/web/cache/development/babel-loader/33ece39bb0ba38852855c66ed9b5ad6b.json new file mode 100644 index 0000000000000000000000000000000000000000..137d007bdeb2752e66e3234c662c28ae88a1c782 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/33ece39bb0ba38852855c66ed9b5ad6b.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { isString } from '@react-native-firebase/app/lib/common';\nimport FirestoreDocumentReference, { provideDocumentSnapshotClass } from \"./FirestoreDocumentReference\";\nimport FirestoreFieldPath, { fromDotSeparatedString } from \"./FirestoreFieldPath\";\nimport FirestorePath from \"./FirestorePath\";\nimport FirestoreSnapshotMetadata from \"./FirestoreSnapshotMetadata\";\nimport { extractFieldPathData } from \"./utils\";\nimport { parseNativeMap } from \"./utils/serialize\";\n\nvar FirestoreDocumentSnapshot = function () {\n function FirestoreDocumentSnapshot(firestore, nativeData) {\n _classCallCheck(this, FirestoreDocumentSnapshot);\n\n this._data = parseNativeMap(firestore, nativeData.data);\n this._metadata = new FirestoreSnapshotMetadata(nativeData.metadata);\n this._ref = new FirestoreDocumentReference(firestore, FirestorePath.fromName(nativeData.path));\n this._exists = nativeData.exists;\n }\n\n _createClass(FirestoreDocumentSnapshot, [{\n key: \"exists\",\n get: function get() {\n return this._exists;\n }\n }, {\n key: \"id\",\n get: function get() {\n return this._ref.id;\n }\n }, {\n key: \"metadata\",\n get: function get() {\n return this._metadata;\n }\n }, {\n key: \"ref\",\n get: function get() {\n return this._ref;\n }\n }, {\n key: \"data\",\n value: function data() {\n return this._data;\n }\n }, {\n key: \"get\",\n value: function get(fieldPath) {\n if (!isString(fieldPath) && !(fieldPath instanceof FirestoreFieldPath)) {\n throw new Error(\"firebase.firestore() DocumentSnapshot.get(*) 'fieldPath' expected type string or FieldPath.\");\n }\n\n var path;\n\n if (isString(fieldPath)) {\n try {\n path = fromDotSeparatedString(fieldPath);\n } catch (e) {\n throw new Error(\"firebase.firestore() DocumentSnapshot.get(*) 'fieldPath' \" + e.message + \".\");\n }\n } else {\n path = fieldPath;\n }\n\n return extractFieldPathData(this._data, path._segments);\n }\n }, {\n key: \"isEqual\",\n value: function isEqual(other) {\n if (!(other instanceof FirestoreDocumentSnapshot)) {\n throw new Error(\"firebase.firestore() DocumentSnapshot.isEqual(*) 'other' expected a DocumentSnapshot instance.\");\n }\n\n if (this.exists !== other.exists || !this.metadata.isEqual(other.metadata) || !this.ref.isEqual(other.ref)) {\n return false;\n }\n\n var thisData = JSON.stringify(this.data());\n var otherData = JSON.stringify(other.data());\n return thisData === otherData;\n }\n }]);\n\n return FirestoreDocumentSnapshot;\n}();\n\nexport { FirestoreDocumentSnapshot as default };\nprovideDocumentSnapshotClass(FirestoreDocumentSnapshot);","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/firestore/lib/FirestoreDocumentSnapshot.js"],"names":["isString","FirestoreDocumentReference","provideDocumentSnapshotClass","FirestoreFieldPath","fromDotSeparatedString","FirestorePath","FirestoreSnapshotMetadata","extractFieldPathData","parseNativeMap","FirestoreDocumentSnapshot","firestore","nativeData","_data","data","_metadata","metadata","_ref","fromName","path","_exists","exists","id","fieldPath","Error","e","message","_segments","other","isEqual","ref","thisData","JSON","stringify","otherData"],"mappings":";;AAiBA,SAASA,QAAT,QAAyB,uCAAzB;AACA,OAAOC,0BAAP,IACEC,4BADF;AAGA,OAAOC,kBAAP,IAA6BC,sBAA7B;AACA,OAAOC,aAAP;AACA,OAAOC,yBAAP;AACA,SAASC,oBAAT;AACA,SAASC,cAAT;;IAEqBC,yB;AACnB,qCAAYC,SAAZ,EAAuBC,UAAvB,EAAmC;AAAA;;AACjC,SAAKC,KAAL,GAAaJ,cAAc,CAACE,SAAD,EAAYC,UAAU,CAACE,IAAvB,CAA3B;AACA,SAAKC,SAAL,GAAiB,IAAIR,yBAAJ,CAA8BK,UAAU,CAACI,QAAzC,CAAjB;AACA,SAAKC,IAAL,GAAY,IAAIf,0BAAJ,CAA+BS,SAA/B,EAA0CL,aAAa,CAACY,QAAd,CAAuBN,UAAU,CAACO,IAAlC,CAA1C,CAAZ;AACA,SAAKC,OAAL,GAAeR,UAAU,CAACS,MAA1B;AACD;;;;SAED,eAAa;AACX,aAAO,KAAKD,OAAZ;AACD;;;SAED,eAAS;AACP,aAAO,KAAKH,IAAL,CAAUK,EAAjB;AACD;;;SAED,eAAe;AACb,aAAO,KAAKP,SAAZ;AACD;;;SAED,eAAU;AACR,aAAO,KAAKE,IAAZ;AACD;;;WAED,gBAAO;AAuBL,aAAO,KAAKJ,KAAZ;AACD;;;WAED,aAAIU,SAAJ,EAAe;AAGb,UAAI,CAACtB,QAAQ,CAACsB,SAAD,CAAT,IAAwB,EAAEA,SAAS,YAAYnB,kBAAvB,CAA5B,EAAwE;AACtE,cAAM,IAAIoB,KAAJ,CACJ,6FADI,CAAN;AAGD;;AAED,UAAIL,IAAJ;;AAEA,UAAIlB,QAAQ,CAACsB,SAAD,CAAZ,EAAyB;AACvB,YAAI;AACFJ,UAAAA,IAAI,GAAGd,sBAAsB,CAACkB,SAAD,CAA7B;AACD,SAFD,CAEE,OAAOE,CAAP,EAAU;AACV,gBAAM,IAAID,KAAJ,+DAAsEC,CAAC,CAACC,OAAxE,OAAN;AACD;AACF,OAND,MAMO;AAELP,QAAAA,IAAI,GAAGI,SAAP;AACD;;AAED,aAAOf,oBAAoB,CAAC,KAAKK,KAAN,EAAaM,IAAI,CAACQ,SAAlB,CAA3B;AACD;;;WAED,iBAAQC,KAAR,EAAe;AACb,UAAI,EAAEA,KAAK,YAAYlB,yBAAnB,CAAJ,EAAmD;AACjD,cAAM,IAAIc,KAAJ,CACJ,gGADI,CAAN;AAGD;;AAED,UACE,KAAKH,MAAL,KAAgBO,KAAK,CAACP,MAAtB,IACA,CAAC,KAAKL,QAAL,CAAca,OAAd,CAAsBD,KAAK,CAACZ,QAA5B,CADD,IAEA,CAAC,KAAKc,GAAL,CAASD,OAAT,CAAiBD,KAAK,CAACE,GAAvB,CAHH,EAIE;AACA,eAAO,KAAP;AACD;;AAED,UAAMC,QAAQ,GAAGC,IAAI,CAACC,SAAL,CAAe,KAAKnB,IAAL,EAAf,CAAjB;AACA,UAAMoB,SAAS,GAAGF,IAAI,CAACC,SAAL,CAAeL,KAAK,CAACd,IAAN,EAAf,CAAlB;AAEA,aAAOiB,QAAQ,KAAKG,SAApB;AACD;;;;;;SA9FkBxB,yB;AAkGrBP,4BAA4B,CAACO,yBAAD,CAA5B","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { isString } from '@react-native-firebase/app/lib/common';\nimport FirestoreDocumentReference, {\n provideDocumentSnapshotClass,\n} from './FirestoreDocumentReference';\nimport FirestoreFieldPath, { fromDotSeparatedString } from './FirestoreFieldPath';\nimport FirestorePath from './FirestorePath';\nimport FirestoreSnapshotMetadata from './FirestoreSnapshotMetadata';\nimport { extractFieldPathData } from './utils';\nimport { parseNativeMap } from './utils/serialize';\n\nexport default class FirestoreDocumentSnapshot {\n constructor(firestore, nativeData) {\n this._data = parseNativeMap(firestore, nativeData.data);\n this._metadata = new FirestoreSnapshotMetadata(nativeData.metadata);\n this._ref = new FirestoreDocumentReference(firestore, FirestorePath.fromName(nativeData.path));\n this._exists = nativeData.exists;\n }\n\n get exists() {\n return this._exists;\n }\n\n get id() {\n return this._ref.id;\n }\n\n get metadata() {\n return this._metadata;\n }\n\n get ref() {\n return this._ref;\n }\n\n data() {\n // TODO: ehesp: Figure out how to handle this.\n // const snapshotOptions = {};\n //\n // if (!isUndefined(options)) {\n // if (!isObject(options)) {\n // throw new Error(\n // `firebase.firestore() DocumentSnapshot.data(*) 'options' expected an object if defined.`,\n // );\n // }\n //\n // if (\n // options.serverTimestamps &&\n // options.serverTimestamps !== 'estimate' &&\n // options.serverTimestamps !== 'previous' &&\n // options.serverTimestamps !== 'none'\n // ) {\n // throw new Error(\n // `firebase.firestore() DocumentSnapshot.data(*) 'options.serverTimestamps' expected one of 'estimate', 'previous' or 'none'.`,\n // );\n // }\n // }\n\n return this._data;\n }\n\n get(fieldPath) {\n // TODO: ehesp: How are SnapshotOptions handled?\n\n if (!isString(fieldPath) && !(fieldPath instanceof FirestoreFieldPath)) {\n throw new Error(\n \"firebase.firestore() DocumentSnapshot.get(*) 'fieldPath' expected type string or FieldPath.\",\n );\n }\n\n let path;\n\n if (isString(fieldPath)) {\n try {\n path = fromDotSeparatedString(fieldPath);\n } catch (e) {\n throw new Error(`firebase.firestore() DocumentSnapshot.get(*) 'fieldPath' ${e.message}.`);\n }\n } else {\n // Is already field path\n path = fieldPath;\n }\n\n return extractFieldPathData(this._data, path._segments);\n }\n\n isEqual(other) {\n if (!(other instanceof FirestoreDocumentSnapshot)) {\n throw new Error(\n \"firebase.firestore() DocumentSnapshot.isEqual(*) 'other' expected a DocumentSnapshot instance.\",\n );\n }\n\n if (\n this.exists !== other.exists ||\n !this.metadata.isEqual(other.metadata) ||\n !this.ref.isEqual(other.ref)\n ) {\n return false;\n }\n\n const thisData = JSON.stringify(this.data());\n const otherData = JSON.stringify(other.data());\n\n return thisData === otherData;\n }\n}\n\n// To avoid React Native require cycle\nprovideDocumentSnapshotClass(FirestoreDocumentSnapshot);\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/3432f447dcbc00d384b1aa676e267574.json b/.expo/web/cache/development/babel-loader/3432f447dcbc00d384b1aa676e267574.json new file mode 100644 index 0000000000000000000000000000000000000000..91f01572af74f54a10daaa97ed98abab5dad6725 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/3432f447dcbc00d384b1aa676e267574.json @@ -0,0 +1 @@ +{"ast":null,"code":"import EventEmitter from \"../emitter/EventEmitter\";\nexport default new EventEmitter();","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/NativeEventEmitter/RCTDeviceEventEmitter.js"],"names":["EventEmitter"],"mappings":"AASA,OAAOA,YAAP;AAQA,eAAe,IAAIA,YAAJ,EAAf","sourcesContent":["/**\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 * @format\n */\nimport EventEmitter from '../emitter/EventEmitter'; // 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();"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/345e3f955de23ecc1dcccd388f7755e8.json b/.expo/web/cache/development/babel-loader/345e3f955de23ecc1dcccd388f7755e8.json new file mode 100644 index 0000000000000000000000000000000000000000..84f0b73c8e49a21dda8f0bd261c5e532792dfa37 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/345e3f955de23ecc1dcccd388f7755e8.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n listenOnChange();\n useEffect(function () {\n var colRef = collection(getFirestore(), \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var itemData = {\n name: doc.data().Name,\n email: doc.data().Email,\n image: doc.data().Image\n };\n DATA.push(itemData);\n Alert.alert('useEffect', doc.data().Name);\n });\n });\n }, []);\n\n function useeffect() {\n getDocs(collection(getFirestore(), 'Users')).forEach(function (doc) {\n console.log(doc.id + \" => \" + doc.data());\n });\n }\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n Alert.alert('listen on change', message.Name);\n }\n });\n });\n }\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" bla\"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATA","UserLists","navigation","route","users","setUsers","listenOnChange","colRef","querySnapshot","forEach","itemData","name","data","Name","email","Email","image","Image","push","Alert","alert","useeffect","console","log","id","snapchot","docChanges","change","type","message","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState(null);\r\n\r\nlistenOnChange();\r\n//useeffect();\r\n\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(getFirestore(),\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image}\r\n DATA.push(itemData);\r\n Alert.alert('useEffect',doc.data().Name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\nfunction useeffect(){\r\n getDocs(collection(getFirestore(),'Users')).forEach((doc) => {\r\n console.log(`${doc.id} => ${doc.data()}`);\r\n});\r\n}\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n Alert.alert('listen on change',message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> bla</Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n /*ListEmptyComponent={EmptyListMessage}*/\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/35b26d74f0eab84943c98c94f747b769.json b/.expo/web/cache/development/babel-loader/35b26d74f0eab84943c98c94f747b769.json new file mode 100644 index 0000000000000000000000000000000000000000..13d38360784b82da7c6d15d741a17f32b67ac0e0 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/35b26d74f0eab84943c98c94f747b769.json @@ -0,0 +1 @@ +{"ast":null,"code":"export {};","map":{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":["export {};\n//# sourceMappingURL=SafeArea.types.js.map"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/36cfec84e4d6ada919034fbbb776a521.json b/.expo/web/cache/development/babel-loader/36cfec84e4d6ada919034fbbb776a521.json new file mode 100644 index 0000000000000000000000000000000000000000..dba89b6c6f536754b23220709f82811de68b6966 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/36cfec84e4d6ada919034fbbb776a521.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nvar ExecutionEnvironment = {\n canUseDOM: canUseDOM,\n canUseWorkers: typeof Worker !== 'undefined',\n canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),\n canUseViewport: canUseDOM && !!window.screen,\n isInWorker: !canUseDOM\n};\nmodule.exports = ExecutionEnvironment;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/node_modules/fbjs/lib/ExecutionEnvironment.js"],"names":["canUseDOM","window","document","createElement","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","addEventListener","attachEvent","canUseViewport","screen","isInWorker","module","exports"],"mappings":"AAOA;;AAEA,IAAIA,SAAS,GAAG,CAAC,EAAE,OAAOC,MAAP,KAAkB,WAAlB,IAAiCA,MAAM,CAACC,QAAxC,IAAoDD,MAAM,CAACC,QAAP,CAAgBC,aAAtE,CAAjB;AAQA,IAAIC,oBAAoB,GAAG;AACzBJ,EAAAA,SAAS,EAAEA,SADc;AAEzBK,EAAAA,aAAa,EAAE,OAAOC,MAAP,KAAkB,WAFR;AAGzBC,EAAAA,oBAAoB,EAAEP,SAAS,IAAI,CAAC,EAAEC,MAAM,CAACO,gBAAP,IAA2BP,MAAM,CAACQ,WAApC,CAHX;AAIzBC,EAAAA,cAAc,EAAEV,SAAS,IAAI,CAAC,CAACC,MAAM,CAACU,MAJb;AAKzBC,EAAAA,UAAU,EAAE,CAACZ;AALY,CAA3B;AAQAa,MAAM,CAACC,OAAP,GAAiBV,oBAAjB","sourcesContent":["/**\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 canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n/**\n * Simple, lightweight module assisting with the detection and context of\n * Worker. Helps avoid circular dependencies and allows code to reason about\n * whether or not they are in a Worker, even if they never include the main\n * `ReactWorker` dependency.\n */\n\nvar ExecutionEnvironment = {\n canUseDOM: canUseDOM,\n canUseWorkers: typeof Worker !== 'undefined',\n canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),\n canUseViewport: canUseDOM && !!window.screen,\n isInWorker: !canUseDOM // For now, this is true - might change in the future.\n\n};\nmodule.exports = ExecutionEnvironment;"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/376aed6ba1e2409b00a514a276b3fefd.json b/.expo/web/cache/development/babel-loader/376aed6ba1e2409b00a514a276b3fefd.json new file mode 100644 index 0000000000000000000000000000000000000000..23fd0a67f77260899acca2273f468c39a1f18cd3 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/376aed6ba1e2409b00a514a276b3fefd.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATAS = null;\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n DATA = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n if (DATA != null) {\n Alert.alert('count data');\n }\n\n setUsers(null);\n var colRef = collection(getFirestore(), \"Users\");\n var big = [];\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var itemData = {\n name: doc.data().Name,\n email: doc.data().Email,\n image: doc.data().Image,\n id: doc.id\n };\n big.push(itemData);\n setUsers(big);\n });\n });\n }, []);\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n var big = [];\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n big.push(itemData);\n }\n });\n setUsers(big);\n });\n }\n\n if (route.params != null) {\n setUsers(null);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n }), _jsx(Text, {\n style: styles.beschreibung,\n children: item.name\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsxs(View, {\n children: [_jsx(Text, {\n children: \"No Data Found\"\n }), _jsx(Button, {\n title: \"Load Data\",\n onPress: listenOnChange\n })]\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsx(TouchableOpacity, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n style: styles.button,\n children: _jsx(Text, {\n style: styles.cancelButtonText,\n children: \"Create new User\"\n })\n }), _jsx(Text, {\n children: \" \"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return item + index;\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50,\n borderRadius: 50 / 2,\n overflow: \"hidden\",\n borderWidth: 3,\n borderColor: \"#D9D9D9\"\n },\n item: {\n width: 250,\n paddingTop: 20,\n paddingBottom: 20,\n paddingRight: 20,\n marginVertical: 8,\n marginHorizontal: 25,\n borderBottomColor: '#D9D9D9',\n borderBottomWidth: 2,\n flexDirection: \"row\"\n },\n beschreibung: {\n marginLeft: 10,\n marginTop: 10,\n width: 180,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 16,\n lineHeight: 23,\n color: \"#5E6A79\"\n },\n button: {\n marginTop: 25,\n marginBottom: 20,\n height: 35,\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\n borderRadius: 12,\n justifyContent: 'center'\n },\n cancelButtonText: {\n height: 28,\n margin: 10,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 15,\n lineHeight: 22,\n textAlign: 'center',\n color: \"#5E6A79\"\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATAS","UserLists","navigation","route","DATA","setUsers","Alert","alert","colRef","big","querySnapshot","forEach","itemData","name","data","Name","email","Email","image","Image","id","push","listenOnChange","snapchot","docChanges","change","type","message","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","beschreibung","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","container","button","cancelButtonText","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height","borderRadius","overflow","borderWidth","borderColor","paddingTop","paddingBottom","paddingRight","marginVertical","borderBottomColor","borderBottomWidth","flexDirection","marginLeft","marginTop","fontStyle","fontWeight","fontSize","lineHeight","marginBottom","margin","textAlign"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATAS = null;\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [DATA, setUsers] = useState(null);\r\n\r\n//listenOnChange();\r\n//useeffect();\r\n\r\n/*useEffect(()=>{\r\nconst colRef = collection(getFirestore(),\"Users\");\r\nconst big= [];\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n //DATA.push(itemData);\r\n setUsers(big);\r\n //Alert.alert('count data',DATA.name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])*/\r\n\r\n\r\n\r\n\r\n//test\r\nuseEffect(()=>{\r\n if(DATA != null){Alert.alert('count data', );}\r\n setUsers(null);\r\n \r\n const colRef = collection(getFirestore(),\"Users\");\r\n const big= [];\r\n onSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n //DATA.push(itemData);\r\n setUsers(big);\r\n \r\n });\r\n \r\n //setUsers(users)\r\n });\r\n //Alert.alert(users.Name.toString);\r\n \r\n },[])\r\n\r\n\r\n \r\n\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n const big = [];\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n //DATA.push(itemData);\r\n big.push(itemData);\r\n \r\n //Alert.alert('listen on change',message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n }); setUsers(big);\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\nsetUsers(null);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n \r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n <Text style={styles.beschreibung}>\r\n {item.name} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){ //DATAS zu DATA ändern ___-------\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <View>\r\n <Text>\r\n No Data Found \r\n </Text>\r\n <Button title='Load Data' onPress={listenOnChange}/>\r\n </View>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <TouchableOpacity onPress={()=> {navigation.navigate('CreateNewUser')}} style={styles.button}>\r\n <Text style={styles.cancelButtonText}>\r\n Create new User\r\n </Text>\r\n \r\n </TouchableOpacity>\r\n <Text> </Text>\r\n\r\n <FlatList\r\n data={DATA} //DATAS zu DATA ändern ___-------\r\n renderItem={renderItem}\r\n /*keyExtractor={ (item, index) => index.toString()}//item => item.id*/\r\n keyExtractor={(item, index) => item + index}\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n borderRadius: 50 / 2,\r\n overflow: \"hidden\",\r\n borderWidth: 3,\r\n borderColor: \"#D9D9D9\"\r\n },\r\n item: {\r\n width: 250,\r\n paddingTop: 20,\r\n paddingBottom: 20,\r\n paddingRight: 20,\r\n marginVertical: 8,\r\n marginHorizontal: 25,\r\n borderBottomColor: '#D9D9D9',\r\n borderBottomWidth: 2,\r\n flexDirection: \"row\",\r\n },\r\n beschreibung: {\r\n marginLeft:10,\r\n marginTop:10,\r\n width: 180,\r\n\r\n // font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 16,\r\n lineHeight: 23,\r\n color: \"#5E6A79\",\r\n },\r\n button:{\r\n marginTop:25,\r\n marginBottom: 20,\r\n height: 35,\r\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\r\n //box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);\r\n borderRadius: 12,\r\n justifyContent: 'center',\r\n \r\n},\r\ncancelButtonText:{\r\n //width: 55,\r\n height: 28,\r\nmargin:10,\r\n //font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 15,\r\n lineHeight: 22,\r\n textAlign:'center',\r\n color: \"#5E6A79\",\r\n},\r\n\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/37916b9054738c0a1dcd16cfa45c2906.json b/.expo/web/cache/development/babel-loader/37916b9054738c0a1dcd16cfa45c2906.json new file mode 100644 index 0000000000000000000000000000000000000000..7aae5d2889ade45905b4d004fb41fa3de9daf7be --- /dev/null +++ b/.expo/web/cache/development/babel-loader/37916b9054738c0a1dcd16cfa45c2906.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n\nvar formatToList = function formatToList(items) {\n return items.map(function (key) {\n return \"- \" + key;\n }).join('\\n');\n};\n\nexport default function validatePathConfig(config) {\n var root = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var validKeys = ['initialRouteName', 'screens'];\n\n if (!root) {\n validKeys.push('path', 'exact', 'stringify', 'parse');\n }\n\n var invalidKeys = Object.keys(config).filter(function (key) {\n return !validKeys.includes(key);\n });\n\n if (invalidKeys.length) {\n throw new Error(\"Found invalid properties in the configuration:\\n\" + formatToList(invalidKeys) + \"\\n\\nDid you forget to specify them under a 'screens' property?\\n\\nYou can only specify the following properties:\\n\" + formatToList(validKeys) + \"\\n\\nSee https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration.\");\n }\n\n if (config.screens) {\n Object.entries(config.screens).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n _ = _ref2[0],\n value = _ref2[1];\n\n if (typeof value !== 'string') {\n validatePathConfig(value, false);\n }\n });\n }\n}","map":{"version":3,"sources":["validatePathConfig.tsx"],"names":["formatToList","items","key","root","validKeys","invalidKeys","Object","config","validatePathConfig"],"mappings":";;AAAA,IAAMA,YAAY,GAAIC,SAAhBD,YAAgBC,CAAAA,KAAD;AAAA,SACnBA,KAAK,CAALA,GAAAA,CAAWC,UAAAA,GAAD;AAAA,kBAAVD,GAAU;AAAA,GAAVA,EAAAA,IAAAA,CADF,IACEA,CADmB;AAAA,CAArB;;AAGA,eAAe,SAAA,kBAAA,CAAA,MAAA,EAAsD;AAAA,MAAbE,IAAa,GAAA,SAAA,CAAA,MAAA,GAAA,CAAA,IAAA,SAAA,CAAA,CAAA,CAAA,KAAA,SAAA,GAAA,SAAA,CAAA,CAAA,CAAA,GAAN,IAAM;AACnE,MAAMC,SAAS,GAAG,CAAA,kBAAA,EAAlB,SAAkB,CAAlB;;AAEA,MAAI,CAAJ,IAAA,EAAW;AACTA,IAAAA,SAAS,CAATA,IAAAA,CAAAA,MAAAA,EAAAA,OAAAA,EAAAA,WAAAA,EAAAA,OAAAA;AACD;;AAED,MAAMC,WAAW,GAAGC,MAAM,CAANA,IAAAA,CAAAA,MAAAA,EAAAA,MAAAA,CACjBJ,UAAAA,GAAD;AAAA,WAAS,CAACE,SAAS,CAATA,QAAAA,CADZ,GACYA,CAAV;AAAA,GADkBE,CAApB;;AAIA,MAAID,WAAW,CAAf,MAAA,EAAwB;AACtB,UAAM,IAAA,KAAA,sDAC+CL,YAAY,CAAA,WAAA,CAD3D,0HAGkHA,YAAY,CAHpI,SAGoI,CAH9H,4HAAN;AAOD;;AAED,MAAIO,MAAM,CAAV,OAAA,EAAoB;AAClBD,IAAAA,MAAM,CAANA,OAAAA,CAAeC,MAAM,CAArBD,OAAAA,EAAAA,OAAAA,CAAuC,UAAA,IAAA,EAAgB;AAAf,iCAAe,IAAf;AAAA,UAAA,CAAA;AAAA,UAAA,KAAA;;AACtC,UAAI,OAAA,KAAA,KAAJ,QAAA,EAA+B;AAC7BE,QAAAA,kBAAkB,CAAA,KAAA,EAAlBA,KAAkB,CAAlBA;AACD;AAHHF,KAAAA;AAKD;AACF","sourcesContent":["const formatToList = (items: string[]) =>\n items.map((key) => `- ${key}`).join('\\n');\n\nexport default function validatePathConfig(config: any, root = true) {\n const validKeys = ['initialRouteName', 'screens'];\n\n if (!root) {\n validKeys.push('path', 'exact', 'stringify', 'parse');\n }\n\n const invalidKeys = Object.keys(config).filter(\n (key) => !validKeys.includes(key)\n );\n\n if (invalidKeys.length) {\n throw new Error(\n `Found invalid properties in the configuration:\\n${formatToList(\n invalidKeys\n )}\\n\\nDid you forget to specify them under a 'screens' property?\\n\\nYou can only specify the following properties:\\n${formatToList(\n validKeys\n )}\\n\\nSee https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration.`\n );\n }\n\n if (config.screens) {\n Object.entries(config.screens).forEach(([_, value]) => {\n if (typeof value !== 'string') {\n validatePathConfig(value, false);\n }\n });\n }\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/379344173898828c798a32acc9d77b6f.json b/.expo/web/cache/development/babel-loader/379344173898828c798a32acc9d77b6f.json new file mode 100644 index 0000000000000000000000000000000000000000..ad1407cc9887de2d499428a5ab7e5a8f7b9b9c4d --- /dev/null +++ b/.expo/web/cache/development/babel-loader/379344173898828c798a32acc9d77b6f.json @@ -0,0 +1 @@ +{"ast":null,"code":"export function goBack() {\n return {\n type: 'GO_BACK'\n };\n}\nexport function navigate() {\n if (typeof (arguments.length <= 0 ? undefined : arguments[0]) === 'string') {\n return {\n type: 'NAVIGATE',\n payload: {\n name: arguments.length <= 0 ? undefined : arguments[0],\n params: arguments.length <= 1 ? undefined : arguments[1]\n }\n };\n } else {\n var payload = (arguments.length <= 0 ? undefined : arguments[0]) || {};\n\n if (!payload.hasOwnProperty('key') && !payload.hasOwnProperty('name')) {\n throw new Error('You need to specify name or key when calling navigate with an object as the argument. See https://reactnavigation.org/docs/navigation-actions#navigate for usage.');\n }\n\n return {\n type: 'NAVIGATE',\n payload: payload\n };\n }\n}\nexport function reset(state) {\n return {\n type: 'RESET',\n payload: state\n };\n}\nexport function setParams(params) {\n return {\n type: 'SET_PARAMS',\n payload: {\n params: params\n }\n };\n}","map":{"version":3,"sources":["CommonActions.tsx"],"names":["type","payload","name","params","args","state"],"mappings":"AAgDA,OAAO,SAAA,MAAA,GAA0B;AAC/B,SAAO;AAAEA,IAAAA,IAAI,EAAE;AAAR,GAAP;AACD;AAgBD,OAAO,SAAA,QAAA,GAAwC;AAC7C,MAAI,8DAAJ,QAAA,EAAiC;AAC/B,WAAO;AAAEA,MAAAA,IAAI,EAAN,UAAA;AAAoBC,MAAAA,OAAO,EAAE;AAAEC,QAAAA,IAAF,kDAAA;AAAiBC,QAAAA,MAAM;AAAvB;AAA7B,KAAP;AADF,GAAA,MAEO;AACL,QAAMF,OAAO,GAAGG,sDAAhB,EAAA;;AAEA,QAAI,CAACH,OAAO,CAAPA,cAAAA,CAAD,KAACA,CAAD,IAAkC,CAACA,OAAO,CAAPA,cAAAA,CAAvC,MAAuCA,CAAvC,EAAuE;AACrE,YAAM,IAAA,KAAA,CAAN,mKAAM,CAAN;AAGD;;AAED,WAAO;AAAED,MAAAA,IAAI,EAAN,UAAA;AAAoBC,MAAAA,OAAAA,EAAAA;AAApB,KAAP;AACD;AACF;AAED,OAAO,SAAA,KAAA,CAAA,KAAA,EAAsD;AAC3D,SAAO;AAAED,IAAAA,IAAI,EAAN,OAAA;AAAiBC,IAAAA,OAAO,EAAEI;AAA1B,GAAP;AACD;AAED,OAAO,SAAA,SAAA,CAAA,MAAA,EAA2C;AAChD,SAAO;AAAEL,IAAAA,IAAI,EAAN,YAAA;AAAsBC,IAAAA,OAAO,EAAE;AAAEE,MAAAA,MAAAA,EAAAA;AAAF;AAA/B,GAAP;AACD","sourcesContent":["import type { NavigationState, PartialState, Route } from './types';\n\ntype ResetState =\n | PartialState<NavigationState>\n | NavigationState\n | (Omit<NavigationState, 'routes'> & {\n routes: Omit<Route<string>, 'key'>[];\n });\n\nexport type Action =\n | {\n type: 'GO_BACK';\n source?: string;\n target?: string;\n }\n | {\n type: 'NAVIGATE';\n payload:\n | {\n key: string;\n name?: undefined;\n params?: object;\n path?: string;\n merge?: boolean;\n }\n | {\n name: string;\n key?: string;\n params?: object;\n path?: string;\n merge?: boolean;\n };\n source?: string;\n target?: string;\n }\n | {\n type: 'RESET';\n payload: ResetState | undefined;\n source?: string;\n target?: string;\n }\n | {\n type: 'SET_PARAMS';\n payload: { params?: object };\n source?: string;\n target?: string;\n };\n\nexport function goBack(): Action {\n return { type: 'GO_BACK' };\n}\n\nexport function navigate(\n options:\n | { key: string; params?: object; path?: string; merge?: boolean }\n | {\n name: string;\n key?: string;\n params?: object;\n path?: string;\n merge?: boolean;\n }\n): Action;\n// eslint-disable-next-line no-redeclare\nexport function navigate(name: string, params?: object): Action;\n// eslint-disable-next-line no-redeclare\nexport function navigate(...args: any): Action {\n if (typeof args[0] === 'string') {\n return { type: 'NAVIGATE', payload: { name: args[0], params: args[1] } };\n } else {\n const payload = args[0] || {};\n\n if (!payload.hasOwnProperty('key') && !payload.hasOwnProperty('name')) {\n throw new Error(\n 'You need to specify name or key when calling navigate with an object as the argument. See https://reactnavigation.org/docs/navigation-actions#navigate for usage.'\n );\n }\n\n return { type: 'NAVIGATE', payload };\n }\n}\n\nexport function reset(state: ResetState | undefined): Action {\n return { type: 'RESET', payload: state };\n}\n\nexport function setParams(params: object): Action {\n return { type: 'SET_PARAMS', payload: { params } };\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/37a85579c13425bf171f172a1cb5504a.json b/.expo/web/cache/development/babel-loader/37a85579c13425bf171f172a1cb5504a.json new file mode 100644 index 0000000000000000000000000000000000000000..169ffa9f070a81586a0feac49d09952acee10921 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/37a85579c13425bf171f172a1cb5504a.json @@ -0,0 +1 @@ +{"ast":null,"code":"function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nimport normalizeValueWithProperty from \"./normalizeValueWithProperty\";\nimport resolveShadowValue from \"./resolveShadowValue\";\nvar defaultOffset = {\n height: 0,\n width: 0\n};\n\nfunction boxShadowReducer(resolvedStyle, style) {\n var boxShadow = style.boxShadow;\n var shadow = resolveShadowValue(style);\n\n if (shadow != null) {\n resolvedStyle.boxShadow = boxShadow ? boxShadow + \", \" + shadow : shadow;\n }\n}\n\nfunction textShadowReducer(resolvedStyle, style) {\n var textShadowColor = style.textShadowColor,\n textShadowOffset = style.textShadowOffset,\n textShadowRadius = style.textShadowRadius;\n\n var _ref = textShadowOffset || defaultOffset,\n height = _ref.height,\n width = _ref.width;\n\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\n if (color && (height !== 0 || width !== 0 || radius !== 0) && offsetX != null && offsetY != null && blurRadius != null) {\n resolvedStyle.textShadow = offsetX + \" \" + offsetY + \" \" + blurRadius + \" \" + color;\n }\n}\n\nvar createCompileableStyle = function createCompileableStyle(styles) {\n var shadowColor = styles.shadowColor,\n shadowOffset = styles.shadowOffset,\n shadowOpacity = styles.shadowOpacity,\n shadowRadius = styles.shadowRadius,\n textShadowColor = styles.textShadowColor,\n textShadowOffset = styles.textShadowOffset,\n textShadowRadius = styles.textShadowRadius,\n nextStyles = _objectWithoutPropertiesLoose(styles, [\"shadowColor\", \"shadowOffset\", \"shadowOpacity\", \"shadowRadius\", \"textShadowColor\", \"textShadowOffset\", \"textShadowRadius\"]);\n\n if (shadowColor != null || shadowOffset != null || shadowOpacity != null || shadowRadius != null) {\n boxShadowReducer(nextStyles, styles);\n }\n\n if (textShadowColor != null || textShadowOffset != null || textShadowRadius != null) {\n textShadowReducer(nextStyles, styles);\n }\n\n return nextStyles;\n};\n\nexport default createCompileableStyle;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/StyleSheet/createCompileableStyle.js"],"names":["_objectWithoutPropertiesLoose","source","excluded","target","sourceKeys","Object","keys","key","i","length","indexOf","normalizeValueWithProperty","resolveShadowValue","defaultOffset","height","width","boxShadowReducer","resolvedStyle","style","boxShadow","shadow","textShadowReducer","textShadowColor","textShadowOffset","textShadowRadius","_ref","radius","offsetX","offsetY","blurRadius","color","textShadow","createCompileableStyle","styles","shadowColor","shadowOffset","shadowOpacity","shadowRadius","nextStyles"],"mappings":"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","sourcesContent":["function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\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 */\nimport normalizeValueWithProperty from './normalizeValueWithProperty';\nimport resolveShadowValue from './resolveShadowValue';\nvar defaultOffset = {\n height: 0,\n width: 0\n};\n\nfunction boxShadowReducer(resolvedStyle, style) {\n var boxShadow = style.boxShadow;\n var shadow = resolveShadowValue(style);\n\n if (shadow != null) {\n resolvedStyle.boxShadow = boxShadow ? boxShadow + \", \" + shadow : shadow;\n }\n}\n\nfunction textShadowReducer(resolvedStyle, style) {\n var textShadowColor = style.textShadowColor,\n textShadowOffset = style.textShadowOffset,\n textShadowRadius = style.textShadowRadius;\n\n var _ref = textShadowOffset || defaultOffset,\n height = _ref.height,\n width = _ref.width;\n\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\n if (color && (height !== 0 || width !== 0 || radius !== 0) && offsetX != null && offsetY != null && blurRadius != null) {\n resolvedStyle.textShadow = offsetX + \" \" + offsetY + \" \" + blurRadius + \" \" + color;\n }\n}\n\nvar createCompileableStyle = function createCompileableStyle(styles) {\n var shadowColor = styles.shadowColor,\n shadowOffset = styles.shadowOffset,\n shadowOpacity = styles.shadowOpacity,\n shadowRadius = styles.shadowRadius,\n textShadowColor = styles.textShadowColor,\n textShadowOffset = styles.textShadowOffset,\n textShadowRadius = styles.textShadowRadius,\n nextStyles = _objectWithoutPropertiesLoose(styles, [\"shadowColor\", \"shadowOffset\", \"shadowOpacity\", \"shadowRadius\", \"textShadowColor\", \"textShadowOffset\", \"textShadowRadius\"]);\n\n if (shadowColor != null || shadowOffset != null || shadowOpacity != null || shadowRadius != null) {\n boxShadowReducer(nextStyles, styles);\n }\n\n if (textShadowColor != null || textShadowOffset != null || textShadowRadius != null) {\n textShadowReducer(nextStyles, styles);\n }\n\n return nextStyles;\n};\n\nexport default createCompileableStyle;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/37f4273e5b78129dab0f0e8036165871.json b/.expo/web/cache/development/babel-loader/37f4273e5b78129dab0f0e8036165871.json new file mode 100644 index 0000000000000000000000000000000000000000..661ef0101848f8b7f51441d102c8a1d4a70c3448 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/37f4273e5b78129dab0f0e8036165871.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport TextInput from \"react-native-web/dist/exports/TextInput\";\nimport React, { useState, useEffect } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function CreateNewUser(_ref) {\n var navigation = _ref.navigation;\n\n var _useState = useState(''),\n _useState2 = _slicedToArray(_useState, 2),\n fach = _useState2[0],\n onChangeFach = _useState2[1];\n\n function Submitt() {\n navigation.navigate({\n name: 'UserList',\n params: {\n post: fach\n },\n merge: true\n });\n }\n\n return _jsxs(View, {\n children: [_jsx(Text, {\n children: \"CreateNewUser\"\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeFach,\n value: fach,\n multiline: true\n }), _jsx(Button, {\n title: \"Submitt\",\n onPress: Submitt\n })]\n });\n}\n;\nvar styles = StyleSheet.create({\n input: {\n borderBottomColor: '#CFCDCD',\n borderBottomWidth: 1,\n width: 220\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/CreateNewUser.js"],"names":["React","useState","useEffect","CreateNewUser","navigation","fach","onChangeFach","Submitt","navigate","name","params","post","merge","styles","input","StyleSheet","create","borderBottomColor","borderBottomWidth","width"],"mappings":";;;;;;AACA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;;;AAEA,eAAe,SAASC,aAAT,OAAqC;AAAA,MAAZC,UAAY,QAAZA,UAAY;;AAEhD,kBAA6BH,QAAQ,CAAC,EAAD,CAArC;AAAA;AAAA,MAAOI,IAAP;AAAA,MAAaC,YAAb;;AAED,WAASC,OAAT,GAAkB;AACrBH,IAAAA,UAAU,CAACI,QAAX,CAAoB;AACRC,MAAAA,IAAI,EAAE,UADE;AAERC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,IAAI,EAAEN;AAAR,OAFA;AAGRO,MAAAA,KAAK,EAAE;AAHC,KAApB;AAKK;;AACL,SACI,MAAC,IAAD;AAAA,eACA,KAAC,IAAD;AAAA;AAAA,MADA,EAIA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEC,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAER,YAA9C;AAA4D,MAAA,KAAK,EAAED,IAAnE;AAAyE,MAAA,SAAS,EAAI;AAAtF,MAJA,EAKA,KAAC,MAAD;AAAQ,MAAA,KAAK,EAAC,SAAd;AAAwB,MAAA,OAAO,EAAEE;AAAjC,MALA;AAAA,IADJ;AASC;AAAA;AAED,IAAMM,MAAM,GAAGE,UAAU,CAACC,MAAX,CAAkB;AAC7BF,EAAAA,KAAK,EAAC;AAEFG,IAAAA,iBAAiB,EAAC,SAFhB;AAGFC,IAAAA,iBAAiB,EAAC,CAHhB;AAIFC,IAAAA,KAAK,EAAE;AAJL;AADuB,CAAlB,CAAf","sourcesContent":["import { StyleSheet, Text, View, Button, TextInput } from 'react-native';\r\nimport React, { useState, useEffect } from 'react';\r\n\r\nexport default function CreateNewUser({ navigation}){\r\n\r\n const [fach, onChangeFach] = useState('');\r\n\r\n function Submitt(){\r\nnavigation.navigate({\r\n name: 'UserList',\r\n params: { post: fach },\r\n merge: true,\r\n });\r\n }\r\nreturn(\r\n <View>\r\n <Text>\r\n CreateNewUser\r\n </Text>\r\n <TextInput style={styles.input} onChangeText={onChangeFach} value={fach} multiline = {true} />\r\n <Button title='Submitt' onPress={Submitt}/>\r\n </View>\r\n)\r\n};\r\n\r\nconst styles = StyleSheet.create({\r\n input:{\r\n //underlineColorAndroid: '#CFCDCD',\r\n borderBottomColor:'#CFCDCD',\r\n borderBottomWidth:1,\r\n width: 220,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/3865d8b7787e1fb4f731877983a25a2c.json b/.expo/web/cache/development/babel-loader/3865d8b7787e1fb4f731877983a25a2c.json new file mode 100644 index 0000000000000000000000000000000000000000..491f9eced9dde5b058b4d50da1c52025db2b069b --- /dev/null +++ b/.expo/web/cache/development/babel-loader/3865d8b7787e1fb4f731877983a25a2c.json @@ -0,0 +1 @@ +{"ast":null,"code":"import compareVersions from 'compare-versions';\nimport { CodedError } from \"./errors/CodedError\";\nvar postedWarnings = {};\nexport default function deprecate(library, deprecatedAPI) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var currentVersion = options.currentVersion,\n versionToRemove = options.versionToRemove,\n replacement = options.replacement;\n var code = codeFromLibrary(library);\n var key = code + \":\" + deprecatedAPI + \":\" + replacement;\n\n if (!postedWarnings[key]) {\n postedWarnings[key] = true;\n }\n\n if (!currentVersion || !versionToRemove || compareVersions(currentVersion, versionToRemove) >= 0) {\n var _message = \"`\" + deprecatedAPI + \"` has been removed\";\n\n if (versionToRemove) {\n _message = _message + \" as of version \\\"\" + versionToRemove + \"\\\"\";\n }\n\n if (replacement && replacement.length) {\n _message = _message + \" please migrate to: `\" + replacement + \"`\";\n }\n\n throw new CodedError(\"ERR_DEPRECATED_API\", prependLibrary(library, _message));\n }\n\n var message = \"`\" + deprecatedAPI + \"` has been deprecated\";\n\n if (replacement && replacement.length) {\n message = message + \" in favor of `\" + replacement + \"`\";\n }\n\n if (versionToRemove && versionToRemove.length) {\n message = message + \" and will be removed in version \\\"\" + versionToRemove + \"\\\"\";\n }\n\n console.warn(prependLibrary(library, message));\n}\n\nfunction prependLibrary(library, message) {\n return library + \": \" + message;\n}\n\nfunction codeFromLibrary(library) {\n var code = library.replace(/[-.]/g, '_').toUpperCase();\n return code;\n}","map":{"version":3,"sources":["../src/deprecate.ts"],"names":[],"mappings":"AAAA,OAAO,eAAP,MAA4B,kBAA5B;AAEA,SAAS,UAAT;AAEA,IAAM,cAAc,GAA+B,EAAnD;AAKA,eAAc,SAAU,SAAV,CACZ,OADY,EAEZ,aAFY,EAON;AAAA,MAJN,OAIM,uEAAF,EAAE;AAEN,MAAQ,cAAR,GAAyD,OAAzD,CAAQ,cAAR;AAAA,MAAwB,eAAxB,GAAyD,OAAzD,CAAwB,eAAxB;AAAA,MAAyC,WAAzC,GAAyD,OAAzD,CAAyC,WAAzC;AACA,MAAM,IAAI,GAAG,eAAe,CAAC,OAAD,CAA5B;AACA,MAAM,GAAG,GAAM,IAAN,SAAc,aAAd,SAA+B,WAAxC;;AACA,MAAI,CAAC,cAAc,CAAC,GAAD,CAAnB,EAA0B;AACxB,IAAA,cAAc,CAAC,GAAD,CAAd,GAAsB,IAAtB;AACD;;AAED,MACE,CAAC,cAAD,IACA,CAAC,eADD,IAEA,eAAe,CAAC,cAAD,EAAiB,eAAjB,CAAf,IAAoD,CAHtD,EAIE;AACA,QAAI,QAAO,SAAQ,aAAR,uBAAX;;AACA,QAAI,eAAJ,EAAqB;AACnB,MAAA,QAAO,GAAM,QAAN,yBAAgC,eAAhC,OAAP;AACD;;AACD,QAAI,WAAW,IAAI,WAAW,CAAC,MAA/B,EAAuC;AACrC,MAAA,QAAO,GAAM,QAAN,6BAAsC,WAAtC,MAAP;AACD;;AAED,UAAM,IAAI,UAAJ,uBAAqC,cAAc,CAAC,OAAD,EAAU,QAAV,CAAnD,CAAN;AACD;;AAED,MAAI,OAAO,SAAQ,aAAR,0BAAX;;AACA,MAAI,WAAW,IAAI,WAAW,CAAC,MAA/B,EAAuC;AACrC,IAAA,OAAO,GAAM,OAAN,sBAA+B,WAA/B,MAAP;AACD;;AACD,MAAI,eAAe,IAAI,eAAe,CAAC,MAAvC,EAA+C;AAC7C,IAAA,OAAO,GAAM,OAAN,0CAAiD,eAAjD,OAAP;AACD;;AACD,EAAA,OAAO,CAAC,IAAR,CAAa,cAAc,CAAC,OAAD,EAAU,OAAV,CAA3B;AACD;;AAED,SAAS,cAAT,CAAwB,OAAxB,EAAyC,OAAzC,EAAwD;AACtD,SAAU,OAAV,UAAsB,OAAtB;AACD;;AAOD,SAAS,eAAT,CAAyB,OAAzB,EAAwC;AACtC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAR,CAAgB,OAAhB,EAAyB,GAAzB,EAA8B,WAA9B,EAAb;AACA,SAAO,IAAP;AACD","sourcesContent":["import compareVersions from 'compare-versions';\n\nimport { CodedError } from './errors/CodedError';\n\nconst postedWarnings: { [key: string]: boolean } = {};\n\n/**\n * Used for deprecating values and throwing an error if a given version of Expo has passed.\n */\nexport default function deprecate(\n library: string,\n deprecatedAPI: string,\n options: {\n replacement?: string;\n currentVersion?: string;\n versionToRemove?: string;\n } = {}\n): void {\n const { currentVersion, versionToRemove, replacement } = options;\n const code = codeFromLibrary(library);\n const key = `${code}:${deprecatedAPI}:${replacement}`;\n if (!postedWarnings[key]) {\n postedWarnings[key] = true;\n }\n\n if (\n !currentVersion ||\n !versionToRemove ||\n compareVersions(currentVersion, versionToRemove) >= 0\n ) {\n let message = `\\`${deprecatedAPI}\\` has been removed`;\n if (versionToRemove) {\n message = `${message} as of version \"${versionToRemove}\"`;\n }\n if (replacement && replacement.length) {\n message = `${message} please migrate to: \\`${replacement}\\``;\n }\n\n throw new CodedError(`ERR_DEPRECATED_API`, prependLibrary(library, message));\n }\n\n let message = `\\`${deprecatedAPI}\\` has been deprecated`;\n if (replacement && replacement.length) {\n message = `${message} in favor of \\`${replacement}\\``;\n }\n if (versionToRemove && versionToRemove.length) {\n message = `${message} and will be removed in version \"${versionToRemove}\"`;\n }\n console.warn(prependLibrary(library, message));\n}\n\nfunction prependLibrary(library: string, message: string): string {\n return `${library}: ${message}`;\n}\n\n/**\n * Transform format:\n * Expo.AR -> EXPO_AR\n * expo-ar -> EXPO_AR\n */\nfunction codeFromLibrary(library: string): string {\n const code = library.replace(/[-.]/g, '_').toUpperCase();\n return code;\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/39bdf41864cc5a00de64a7a531ae21bd.json b/.expo/web/cache/development/babel-loader/39bdf41864cc5a00de64a7a531ae21bd.json new file mode 100644 index 0000000000000000000000000000000000000000..ec3974caac1344a46c4d5e5471915ceedb35123f --- /dev/null +++ b/.expo/web/cache/development/babel-loader/39bdf41864cc5a00de64a7a531ae21bd.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users.toString);\n setUsers(users);\n });\n }, []);\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {\n children: item.Name\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\"\n }), \" //onPress=\", writeData, _jsx(Button, {\n title: \"UpdateUser\",\n onPress: getUserById\n }), _jsx(FlatList, {\n data: users,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","params","post","Item","item","onPress","backgroundColor","textColor","styles","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","writeData","getUserById","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users.toString);\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\n/*function writeData(){\r\n \r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})\r\n}*/\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async () => {\r\n const id = 'q5EOqKxKEsAO6lLmhbnc';\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUsers({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n Alert.alert(users[0])\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.Name}\r\n \r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser'/> //onPress={writeData}\r\n <Button title='UpdateUser' onPress={getUserById}/>\r\n <FlatList\r\n data={users}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/3a4c54d448fc87c60137135c223b903b.json b/.expo/web/cache/development/babel-loader/3a4c54d448fc87c60137135c223b903b.json new file mode 100644 index 0000000000000000000000000000000000000000..fd58bae602b31d6c2d0cc64610190e97cff826f3 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/3a4c54d448fc87c60137135c223b903b.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\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\";\nvar emptyObject = {};\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};\n\nfunction changeCurrentResponder(responder) {\n currentResponder = responder;\n}\n\nfunction getResponderConfig(id) {\n var config = responderListenersMap.get(id);\n return config != null ? config : emptyObject;\n}\n\nfunction eventListener(domEvent) {\n var eventType = domEvent.type;\n var eventTarget = domEvent.target;\n\n if (eventType === 'touchstart') {\n isEmulatingMouseEvents = true;\n }\n\n if (eventType === 'touchmove' || trackedTouchCount > 1) {\n isEmulatingMouseEvents = false;\n }\n\n if (eventType === 'mousedown' && isEmulatingMouseEvents || eventType === 'mousemove' && isEmulatingMouseEvents || eventType === 'mousemove' && trackedTouchCount < 1) {\n return;\n }\n\n if (isEmulatingMouseEvents && eventType === 'mouseup') {\n if (trackedTouchCount === 0) {\n isEmulatingMouseEvents = false;\n }\n\n return;\n }\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);\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\n ResponderTouchHistoryStore.recordTouchTrack(eventType, responderEvent.nativeEvent);\n }\n\n var eventPaths = getResponderPaths(domEvent);\n var wasNegotiated = false;\n var wantsResponder;\n\n if (isStartEvent || isMoveEvent || isScrollEvent && trackedTouchCount > 0) {\n var currentResponderIdPath = currentResponder.idPath;\n var eventIdPath = eventPaths.idPath;\n\n if (currentResponderIdPath != null && eventIdPath != null) {\n var lowestCommonAncestor = getLowestCommonAncestor(currentResponderIdPath, eventIdPath);\n\n if (lowestCommonAncestor != null) {\n var indexOfLowestCommonAncestor = eventIdPath.indexOf(lowestCommonAncestor);\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\n if (eventPaths != null) {\n wantsResponder = findWantsResponder(eventPaths, domEvent, responderEvent);\n\n if (wantsResponder != null) {\n attemptTransfer(responderEvent, wantsResponder);\n wasNegotiated = true;\n }\n }\n }\n\n if (currentResponder.id != null && currentResponder.node != null) {\n var _currentResponder = currentResponder,\n id = _currentResponder.id,\n node = _currentResponder.node;\n\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\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node;\n\n if (isStartEvent) {\n if (onResponderStart != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderStart';\n onResponderStart(responderEvent);\n }\n } else if (isMoveEvent) {\n if (onResponderMove != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderMove';\n onResponderMove(responderEvent);\n }\n } else {\n var isTerminateEvent = isCancelish(eventType) || eventType === 'contextmenu' || eventType === 'blur' && eventTarget === window || eventType === 'blur' && eventTarget.contains(node) && domEvent.relatedTarget !== node || isScrollEvent && trackedTouchCount === 0 || isScrollEvent && eventTarget.contains(node) && eventTarget !== node || isSelectionChangeEvent && hasValidSelection(domEvent);\n var isReleaseEvent = isEndEvent && !isTerminateEvent && !hasTargetTouches(node, domEvent.touches);\n\n if (isEndEvent) {\n if (onResponderEnd != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderEnd';\n onResponderEnd(responderEvent);\n }\n }\n\n if (isReleaseEvent) {\n if (onResponderRelease != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderRelease';\n onResponderRelease(responderEvent);\n }\n\n changeCurrentResponder(emptyResponder);\n }\n\n if (isTerminateEvent) {\n var shouldTerminate = true;\n\n if (eventType === 'contextmenu' || eventType === 'scroll' || eventType === 'selectionchange') {\n if (wasNegotiated) {\n shouldTerminate = false;\n } else if (onResponderTerminationRequest != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminationRequest';\n\n if (onResponderTerminationRequest(responderEvent) === false) {\n shouldTerminate = false;\n }\n }\n }\n\n if (shouldTerminate) {\n if (onResponderTerminate != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminate';\n onResponderTerminate(responderEvent);\n }\n\n changeCurrentResponder(emptyResponder);\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n }\n }\n }\n }\n}\n\nfunction findWantsResponder(eventPaths, domEvent, responderEvent) {\n var shouldSetCallbacks = shouldSetResponderEvents[domEvent.type];\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\n var check = function check(id, node, callbackName) {\n var config = getResponderConfig(id);\n var shouldSetCallback = config[callbackName];\n\n if (shouldSetCallback != null) {\n responderEvent.currentTarget = node;\n\n if (shouldSetCallback(responderEvent) === true) {\n var prunedIdPath = idPath.slice(idPath.indexOf(id));\n return {\n id: id,\n node: node,\n idPath: prunedIdPath\n };\n }\n }\n };\n\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\n if (result != null) {\n return result;\n }\n\n if (responderEvent.isPropagationStopped() === true) {\n return;\n }\n }\n\n if (bubbles) {\n for (var _i = 0; _i < idPath.length; _i++) {\n var _id = idPath[_i];\n var _node = nodePath[_i];\n\n var _result = check(_id, _node, shouldSetCallbackBubbleName);\n\n if (_result != null) {\n return _result;\n }\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\n if (target === _node2) {\n return check(_id2, _node2, shouldSetCallbackBubbleName);\n }\n }\n }\n}\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\n var _getResponderConfig2 = getResponderConfig(id),\n onResponderGrant = _getResponderConfig2.onResponderGrant,\n onResponderReject = _getResponderConfig2.onResponderReject;\n\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node;\n\n if (currentId == null) {\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderGrant';\n onResponderGrant(responderEvent);\n }\n\n changeCurrentResponder(wantsResponder);\n } else {\n var _getResponderConfig3 = getResponderConfig(currentId),\n onResponderTerminate = _getResponderConfig3.onResponderTerminate,\n onResponderTerminationRequest = _getResponderConfig3.onResponderTerminationRequest;\n\n var allowTransfer = true;\n\n if (onResponderTerminationRequest != null) {\n responderEvent.currentTarget = currentNode;\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminationRequest';\n\n if (onResponderTerminationRequest(responderEvent) === false) {\n allowTransfer = false;\n }\n }\n\n if (allowTransfer) {\n if (onResponderTerminate != null) {\n responderEvent.currentTarget = currentNode;\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminate';\n onResponderTerminate(responderEvent);\n }\n\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderGrant';\n onResponderGrant(responderEvent);\n }\n\n changeCurrentResponder(wantsResponder);\n } else {\n if (onResponderReject != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderReject';\n onResponderReject(responderEvent);\n }\n }\n }\n}\n\nvar documentEventsCapturePhase = ['blur', 'scroll'];\nvar documentEventsBubblePhase = ['mousedown', 'mousemove', 'mouseup', 'dragstart', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'contextmenu', 'select', 'selectionchange'];\nexport function attachListeners() {\n if (canUseDOM && window.__reactResponderSystemActive == null) {\n window.addEventListener('blur', eventListener);\n documentEventsBubblePhase.forEach(function (eventType) {\n document.addEventListener(eventType, eventListener);\n });\n documentEventsCapturePhase.forEach(function (eventType) {\n document.addEventListener(eventType, eventListener, true);\n });\n window.__reactResponderSystemActive = true;\n }\n}\nexport function addNode(id, node, config) {\n setResponderId(node, id);\n responderListenersMap.set(id, config);\n}\nexport function removeNode(id) {\n if (currentResponder.id === id) {\n terminateResponder();\n }\n\n if (responderListenersMap.has(id)) {\n responderListenersMap.delete(id);\n }\n}\nexport function terminateResponder() {\n var _currentResponder3 = currentResponder,\n id = _currentResponder3.id,\n node = _currentResponder3.node;\n\n if (id != null && node != null) {\n var _getResponderConfig4 = getResponderConfig(id),\n onResponderTerminate = _getResponderConfig4.onResponderTerminate;\n\n if (onResponderTerminate != null) {\n var event = createResponderEvent({});\n event.currentTarget = node;\n onResponderTerminate(event);\n }\n\n changeCurrentResponder(emptyResponder);\n }\n\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n}\nexport function getResponderNode() {\n return currentResponder.node;\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/useResponderEvents/ResponderSystem.js"],"names":["canUseDOM","createResponderEvent","isCancelish","isEndish","isMoveish","isScroll","isSelectionChange","isStartish","getLowestCommonAncestor","getResponderPaths","hasTargetTouches","hasValidSelection","isPrimaryPointerDown","setResponderId","ResponderTouchHistoryStore","emptyObject","startRegistration","bubbles","moveRegistration","scrollRegistration","shouldSetResponderEvents","touchstart","mousedown","touchmove","mousemove","scroll","emptyResponder","id","idPath","node","responderListenersMap","Map","isEmulatingMouseEvents","trackedTouchCount","currentResponder","changeCurrentResponder","responder","getResponderConfig","config","get","eventListener","domEvent","eventType","type","eventTarget","target","isStartEvent","isMoveEvent","isEndEvent","isScrollEvent","isSelectionChangeEvent","responderEvent","touches","length","recordTouchTrack","nativeEvent","eventPaths","wasNegotiated","wantsResponder","currentResponderIdPath","eventIdPath","lowestCommonAncestor","indexOfLowestCommonAncestor","indexOf","index","slice","nodePath","findWantsResponder","attemptTransfer","_currentResponder","_getResponderConfig","onResponderStart","onResponderMove","onResponderEnd","onResponderRelease","onResponderTerminate","onResponderTerminationRequest","cancelable","currentTarget","dispatchConfig","registrationName","isTerminateEvent","window","contains","relatedTarget","isReleaseEvent","shouldTerminate","shouldSetCallbacks","shouldSetCallbackCaptureName","shouldSetCallbackBubbleName","check","callbackName","shouldSetCallback","prunedIdPath","i","result","isPropagationStopped","_i","_id","_node","_result","_id2","_node2","_currentResponder2","currentId","currentNode","_getResponderConfig2","onResponderGrant","onResponderReject","_getResponderConfig3","allowTransfer","documentEventsCapturePhase","documentEventsBubblePhase","attachListeners","__reactResponderSystemActive","addEventListener","forEach","document","addNode","set","removeNode","terminateResponder","has","delete","_currentResponder3","_getResponderConfig4","event","getResponderNode"],"mappings":"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","sourcesContent":["/**\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 + + */\nimport { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\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';\n/* ------------ TYPES ------------ */\n\nvar emptyObject = {};\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};\n\nfunction changeCurrentResponder(responder) {\n currentResponder = responder;\n}\n\nfunction getResponderConfig(id) {\n var config = responderListenersMap.get(id);\n return config != null ? config : emptyObject;\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 */\n\n\nfunction eventListener(domEvent) {\n var eventType = domEvent.type;\n var eventTarget = domEvent.target;\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 // Flag when browser may produce emulated events\n\n if (eventType === 'touchstart') {\n isEmulatingMouseEvents = true;\n } // Remove flag when browser will not produce emulated events\n\n\n if (eventType === 'touchmove' || trackedTouchCount > 1) {\n isEmulatingMouseEvents = false;\n } // Ignore various events in particular circumstances\n\n\n if ( // Ignore browser emulated mouse events\n eventType === 'mousedown' && isEmulatingMouseEvents || eventType === 'mousemove' && isEmulatingMouseEvents || // Ignore mousemove if a mousedown didn't occur first\n eventType === 'mousemove' && trackedTouchCount < 1) {\n return;\n } // Remove flag after emulated events are finished\n\n\n if (isEmulatingMouseEvents && eventType === 'mouseup') {\n if (trackedTouchCount === 0) {\n isEmulatingMouseEvents = false;\n }\n\n return;\n }\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);\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\n ResponderTouchHistoryStore.recordTouchTrack(eventType, responderEvent.nativeEvent);\n }\n /**\n * Responder System logic\n */\n\n\n var eventPaths = getResponderPaths(domEvent);\n var wasNegotiated = false;\n var wantsResponder; // If an event occured that might change the current responder...\n\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\n if (currentResponderIdPath != null && eventIdPath != null) {\n var lowestCommonAncestor = getLowestCommonAncestor(currentResponderIdPath, eventIdPath);\n\n if (lowestCommonAncestor != null) {\n var indexOfLowestCommonAncestor = eventIdPath.indexOf(lowestCommonAncestor); // Skip the current responder so it doesn't receive unexpected \"shouldSet\" events.\n\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\n if (eventPaths != null) {\n // If a node wants to become the responder, attempt to transfer.\n wantsResponder = findWantsResponder(eventPaths, domEvent, responderEvent);\n\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 } // If there is now a responder, invoke its callbacks for the lifecycle of the gesture.\n\n\n if (currentResponder.id != null && currentResponder.node != null) {\n var _currentResponder = currentResponder,\n id = _currentResponder.id,\n node = _currentResponder.node;\n\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\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node; // Start\n\n if (isStartEvent) {\n if (onResponderStart != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderStart';\n onResponderStart(responderEvent);\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) || // native context menu\n eventType === 'contextmenu' || // window blur\n eventType === 'blur' && eventTarget === window || // responder (or ancestors) blur\n eventType === 'blur' && eventTarget.contains(node) && domEvent.relatedTarget !== node || // native scroll without using a pointer\n isScrollEvent && trackedTouchCount === 0 || // native scroll on node that is parent of the responder (allow siblings to scroll)\n isScrollEvent && eventTarget.contains(node) && eventTarget !== node || // native select/selectionchange on node\n isSelectionChangeEvent && hasValidSelection(domEvent);\n var isReleaseEvent = isEndEvent && !isTerminateEvent && !hasTargetTouches(node, domEvent.touches); // End\n\n if (isEndEvent) {\n if (onResponderEnd != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderEnd';\n onResponderEnd(responderEvent);\n }\n } // Release\n\n\n if (isReleaseEvent) {\n if (onResponderRelease != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderRelease';\n onResponderRelease(responderEvent);\n }\n\n changeCurrentResponder(emptyResponder);\n } // Terminate\n\n\n if (isTerminateEvent) {\n var shouldTerminate = true; // Responders can still avoid termination but only for these events.\n\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\n if (onResponderTerminationRequest(responderEvent) === false) {\n shouldTerminate = false;\n }\n }\n }\n\n if (shouldTerminate) {\n if (onResponderTerminate != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminate';\n onResponderTerminate(responderEvent);\n }\n\n changeCurrentResponder(emptyResponder);\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\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 */\n\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\n var check = function check(id, node, callbackName) {\n var config = getResponderConfig(id);\n var shouldSetCallback = config[callbackName];\n\n if (shouldSetCallback != null) {\n responderEvent.currentTarget = node;\n\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: id,\n node: node,\n idPath: prunedIdPath\n };\n }\n }\n }; // capture\n\n\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\n if (result != null) {\n return result;\n }\n\n if (responderEvent.isPropagationStopped() === true) {\n return;\n }\n } // bubble\n\n\n if (bubbles) {\n for (var _i = 0; _i < idPath.length; _i++) {\n var _id = idPath[_i];\n var _node = nodePath[_i];\n\n var _result = check(_id, _node, shouldSetCallbackBubbleName);\n\n if (_result != null) {\n return _result;\n }\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\n if (target === _node2) {\n return check(_id2, _node2, shouldSetCallbackBubbleName);\n }\n }\n }\n}\n/**\n * Attempt to transfer the responder.\n */\n\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\n var _getResponderConfig2 = getResponderConfig(id),\n onResponderGrant = _getResponderConfig2.onResponderGrant,\n onResponderReject = _getResponderConfig2.onResponderReject;\n\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node; // Set responder\n\n if (currentId == null) {\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderGrant';\n onResponderGrant(responderEvent);\n }\n\n changeCurrentResponder(wantsResponder);\n } // Negotiate with current responder\n else {\n var _getResponderConfig3 = getResponderConfig(currentId),\n onResponderTerminate = _getResponderConfig3.onResponderTerminate,\n onResponderTerminationRequest = _getResponderConfig3.onResponderTerminationRequest;\n\n var allowTransfer = true;\n\n if (onResponderTerminationRequest != null) {\n responderEvent.currentTarget = currentNode;\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminationRequest';\n\n if (onResponderTerminationRequest(responderEvent) === false) {\n allowTransfer = false;\n }\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 } // Grant next responder\n\n\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderGrant';\n onResponderGrant(responderEvent);\n }\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/* ------------ 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 */\n\n\nvar documentEventsCapturePhase = ['blur', 'scroll'];\nvar documentEventsBubblePhase = [// mouse\n'mousedown', 'mousemove', 'mouseup', 'dragstart', // touch\n'touchstart', 'touchmove', 'touchend', 'touchcancel', // other\n'contextmenu', 'select', 'selectionchange'];\nexport function attachListeners() {\n if (canUseDOM && window.__reactResponderSystemActive == null) {\n window.addEventListener('blur', eventListener);\n documentEventsBubblePhase.forEach(function (eventType) {\n document.addEventListener(eventType, eventListener);\n });\n documentEventsCapturePhase.forEach(function (eventType) {\n document.addEventListener(eventType, eventListener, true);\n });\n window.__reactResponderSystemActive = true;\n }\n}\n/**\n * Register a node with the ResponderSystem.\n */\n\nexport function addNode(id, node, config) {\n setResponderId(node, id);\n responderListenersMap.set(id, config);\n}\n/**\n * Unregister a node with the ResponderSystem.\n */\n\nexport function removeNode(id) {\n if (currentResponder.id === id) {\n terminateResponder();\n }\n\n if (responderListenersMap.has(id)) {\n responderListenersMap.delete(id);\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 */\n\nexport function terminateResponder() {\n var _currentResponder3 = currentResponder,\n id = _currentResponder3.id,\n node = _currentResponder3.node;\n\n if (id != null && node != null) {\n var _getResponderConfig4 = getResponderConfig(id),\n onResponderTerminate = _getResponderConfig4.onResponderTerminate;\n\n if (onResponderTerminate != null) {\n var event = createResponderEvent({});\n event.currentTarget = node;\n onResponderTerminate(event);\n }\n\n changeCurrentResponder(emptyResponder);\n }\n\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n}\n/**\n * Allow unit tests to inspect the current responder in the system.\n * FOR TESTING ONLY.\n */\n\nexport function getResponderNode() {\n return currentResponder.node;\n}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/3ad090cea0b32679d5b32c669cd86b20.json b/.expo/web/cache/development/babel-loader/3ad090cea0b32679d5b32c669cd86b20.json new file mode 100644 index 0000000000000000000000000000000000000000..c6146d5b853fa5c7c0e79865975fc3467512d5a9 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/3ad090cea0b32679d5b32c669cd86b20.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport TextInput from \"react-native-web/dist/exports/TextInput\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function Details(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(''),\n _useState2 = _slicedToArray(_useState, 2),\n fach = _useState2[0],\n onChangeFach = _useState2[1];\n\n return _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeFach,\n value: fach,\n multiline: true\n });\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/Details.js"],"names":["Details","navigation","route","useState","fach","onChangeFach","styles","input"],"mappings":";;;;;;;AAGA,eAAe,SAASA,OAAT,OAAuC;AAAA,MAApBC,UAAoB,QAApBA,UAAoB;AAAA,MAARC,KAAQ,QAARA,KAAQ;;AAElD,kBAA6BC,QAAQ,CAAC,EAAD,CAArC;AAAA;AAAA,MAAOC,IAAP;AAAA,MAAaC,YAAb;;AAEA,SACI,KAAC,SAAD;AAAW,IAAA,KAAK,EAAEC,MAAM,CAACC,KAAzB;AAAgC,IAAA,YAAY,EAAEF,YAA9C;AAA4D,IAAA,KAAK,EAAED,IAAnE;AAAyE,IAAA,SAAS,EAAI;AAAtF,IADJ;AAGH","sourcesContent":["import { StyleSheet, Text, View, Button } from 'react-native';\r\nimport { TextInput } from 'react-native-web';\r\n\r\nexport default function Details({ navigation, route }){\r\n\r\n const [fach, onChangeFach] = useState('');\r\n\r\n return(\r\n <TextInput style={styles.input} onChangeText={onChangeFach} value={fach} multiline = {true} />\r\n )\r\n}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/3ad415a441436cc6e8ef014bcfd2028a.json b/.expo/web/cache/development/babel-loader/3ad415a441436cc6e8ef014bcfd2028a.json new file mode 100644 index 0000000000000000000000000000000000000000..757f4a1ec214f574b49a91eb2a7bcc4970b0f368 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/3ad415a441436cc6e8ef014bcfd2028a.json @@ -0,0 +1 @@ +{"ast":null,"code":"export default function ExpoStatusBar(props) {\n return null;\n}","map":{"version":3,"sources":["../src/ExpoStatusBar.tsx"],"names":[],"mappings":"AAaA,eAAc,SAAU,aAAV,CAAwB,KAAxB,EAA6C;AAEzD,SAAO,IAAP;AACD","sourcesContent":["import { StatusBarProps } from './StatusBar.types';\n\n// @needsAudit\n/**\n * A component that allows you to configure your status bar without directly calling imperative\n * methods like `setBarStyle`.\n *\n * You will likely have multiple `StatusBar` components mounted in the same app at the same time.\n * For example, if you have multiple screens in your app, you may end up using one per screen.\n * The props of each `StatusBar` component will be merged in the order that they were mounted.\n * This component is built on top of the [StatusBar](https://reactnative.dev/docs/statusbar)\n * component exported from React Native, and it provides defaults that work better for Expo users.\n */\nexport default function ExpoStatusBar(props: StatusBarProps) {\n // StatusBar does nothing on web currently\n return null;\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/3ae1e4959a15c8e1a7494e192a2f49a9.json b/.expo/web/cache/development/babel-loader/3ae1e4959a15c8e1a7494e192a2f49a9.json new file mode 100644 index 0000000000000000000000000000000000000000..d52feb594de056ffe4c5cc6a6f1ac934f427e25f --- /dev/null +++ b/.expo/web/cache/development/babel-loader/3ae1e4959a15c8e1a7494e192a2f49a9.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users.Name.toString);\n setUsers(users);\n });\n }, []);\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {})\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" bla\"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","params","post","Item","item","onPress","backgroundColor","textColor","styles","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":";AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;;;;;;;;;AAEA,SAASC,SAAT,QAA0B,iBAA1B;AAEA,OAAOC,EAAP;AACA,SAAQC,UAAR,EAAoBC,GAApB,EAAyBC,UAAzB,EAAqCC,aAArC,EAAoDC,MAApD,EAA4DC,SAA5D,EAAuEC,MAAvE,EAA+EC,YAA/E,EAA6FC,MAA7F,EAAqGC,MAArG,QAAkH,oBAAlH;;;AAIA,IAAIC,IAAI,GAAG,EAAX;AAEA,eAAe,SAASC,SAAT,OAAuC;AAAA,MAAnBC,UAAmB,QAAnBA,UAAmB;AAAA,MAAPC,KAAO,QAAPA,KAAO;;AAEtD,kBAA0BjB,QAAQ,CAAC,IAAD,CAAlC;AAAA;AAAA,MAAOkB,KAAP;AAAA,MAAcC,QAAd;;AACAlB,EAAAA,SAAS,CAAC,YAAI;AAEd,QAAMmB,MAAM,GAAGhB,UAAU,CAACD,EAAD,EAAI,OAAJ,CAAzB;AACAG,IAAAA,UAAU,CAACc,MAAD,EAAS,UAACC,aAAD,EAAmB;AACpC,UAAMH,KAAK,GAAG,EAAd;AACAG,MAAAA,aAAa,CAACC,OAAd,CAAsB,UAACjB,GAAD,EAAO;AAC3B,wBAA6BA,GAAG,CAACkB,IAAJ,EAA7B;AAAA,YAAOC,KAAP,aAAOA,KAAP;AAAA,YAAcC,KAAd,aAAcA,KAAd;AAAA,YAAqBC,IAArB,aAAqBA,IAArB;;AACFR,QAAAA,KAAK,CAACS,IAAN,CAAW;AAACC,UAAAA,EAAE,EAACvB,GAAG,CAACuB,EAAR;AAAYJ,UAAAA,KAAK,EAALA,KAAZ;AAAmBC,UAAAA,KAAK,EAALA,KAAnB;AAA0BC,UAAAA,IAAI,EAAJA;AAA1B,SAAX;AACC,OAHD;AAIAG,MAAAA,KAAK,CAACC,KAAN,CAAYZ,KAAK,CAACQ,IAAN,CAAWK,QAAvB;AACAZ,MAAAA,QAAQ,CAACD,KAAD,CAAR;AACD,KARS,CAAV;AAWC,GAdQ,EAcP,EAdO,CAAT;;AAkBA,MAAGD,KAAK,CAACe,MAAN,IAAgB,IAAnB,EAAwB;AAExBH,IAAAA,KAAK,CAACC,KAAN,CAAYb,KAAK,CAACe,MAAN,CAAaC,IAAzB;AACC;;AACG,MAAMC,IAAI,GAAG,SAAPA,IAAO;AAAA,QAAGC,IAAH,SAAGA,IAAH;AAAA,QAASC,OAAT,SAASA,OAAT;AAAA,QAAkBC,eAAlB,SAAkBA,eAAlB;AAAA,QAAmCC,SAAnC,SAAmCA,SAAnC;AAAA,WACT,KAAC,IAAD;AAAA,gBACE,KAAC,gBAAD;AAAkB,QAAA,OAAO,EAAEF,OAA3B;AAAoC,QAAA,KAAK,EAAE,CAACG,MAAM,CAACJ,IAAR,EAAcE,eAAd,CAA3C;AAAA,kBACE,KAAC,IAAD;AADF;AADF,MADS;AAAA,GAAb;;AAUJ,mBAAoCrC,QAAQ,CAAC,IAAD,CAA5C;AAAA;AAAA,MAAOwC,UAAP;AAAA,MAAmBC,aAAnB;;AAEE,MAAMC,UAAU,GAAG,SAAbA,UAAa,QAAc;AAAA,QAAXP,IAAW,SAAXA,IAAW;AAC/B,QAAME,eAAe,GAAGF,IAAI,CAACP,EAAL,KAAYY,UAAZ,GAAyB,SAAzB,GAAqC,SAA7D;AACA,QAAMG,KAAK,GAAGR,IAAI,CAACP,EAAL,KAAYY,UAAZ,GAAyB,OAAzB,GAAmC,OAAjD;AAEA,WACE,KAAC,IAAD;AACE,MAAA,IAAI,EAAEL,IADR;AAEE,MAAA,OAAO,EAAE;AAAA,eAAMS,uBAAuB,CAACT,IAAD,CAA7B;AAAA,OAFX;AAIE,MAAA,SAAS,EAAE;AAAEQ,QAAAA,KAAK,EAALA;AAAF;AAJb,MADF;AAQD,GAZD;;AAeA,MAAMC,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACT,IAAD,EAAS;AAExCM,IAAAA,aAAa,CAACN,IAAI,CAACP,EAAN,CAAb;AAEDZ,IAAAA,UAAU,CAAC6B,QAAX,CAAoB,SAApB,EAA8B;AAACC,MAAAA,IAAI,EAACX;AAAN,KAA9B;AAED,GANC;;AASF,MAAMY,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAM;AAC3B,QAAGjC,IAAI,IAAI,IAAX,EAAiB,CAEhB,CAFD,MAGI;AACFe,MAAAA,KAAK,CAACC,KAAN,CAAY,eAAZ;AACD;;AAED,WAEE,KAAC,IAAD;AAAA;AAAA,MAFF;AAOD,GAfH;;AAiBE,SACE,MAAC,YAAD;AAAc,IAAA,KAAK,EAAES,MAAM,CAACS,SAA5B;AAAA,eACA,MAAC,IAAD;AAAA,iBACC,KAAC,MAAD;AAAQ,QAAA,OAAO,EAAE,mBAAK;AAAChC,UAAAA,UAAU,CAAC6B,QAAX,CAAoB,eAApB;AAAqC,SAA5D;AAA8D,QAAA,KAAK,EAAC;AAApE,QADD,EAEE,KAAC,SAAD;AAAW,QAAA,KAAK,EAAC;AAAjB,QAFF;AAAA,MADA,EAKA,KAAC,IAAD;AAAA;AAAA,MALA,EAMA,KAAC,MAAD;AAAQ,MAAA,KAAK,EAAC;AAAd,MANA,EAOA,KAAC,MAAD;AAAQ,MAAA,KAAK,EAAC;AAAd,MAPA,EAQA,KAAC,QAAD;AACI,MAAA,IAAI,EAAE/B,IADV;AAEI,MAAA,UAAU,EAAE4B,UAFhB;AAGI,MAAA,YAAY,EAAG,sBAACP,IAAD,EAAOc,KAAP;AAAA,eAAiBA,KAAK,CAAClB,QAAN,EAAjB;AAAA,OAHnB;AAII,MAAA,SAAS,EAAES,UAJf;AAKI,MAAA,kBAAkB,EAAEO;AALxB,MARA;AAAA,IADF;AAoBD;AAGD,IAAMR,MAAM,GAAGW,UAAU,CAACC,MAAX,CAAkB;AAC7BH,EAAAA,SAAS,EAAE;AACTI,IAAAA,IAAI,EAAE,CADG;AAETf,IAAAA,eAAe,EAAE,MAFR;AAGTgB,IAAAA,UAAU,EAAE,QAHH;AAITC,IAAAA,cAAc,EAAE,QAJP;AAKTC,IAAAA,gBAAgB,EAAE;AALT;AADkB,CAAlB,CAAf","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState(null);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users.Name.toString);\r\n setUsers(users)\r\n});\r\n\r\n\r\n},[])\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {/*item.Name*/} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> bla</Text>\r\n <Button title='addUser'/> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/3af99219e0e053c4835b7fd4ef8e17c9.json b/.expo/web/cache/development/babel-loader/3af99219e0e053c4835b7fd4ef8e17c9.json new file mode 100644 index 0000000000000000000000000000000000000000..30ef0b85c2329b3cd3a07f5ea09ec051a2cb13a6 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/3af99219e0e053c4835b7fd4ef8e17c9.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nvar NavigationHelpersContext = React.createContext(undefined);\nexport default NavigationHelpersContext;","map":{"version":3,"sources":["NavigationHelpersContext.tsx"],"names":["NavigationHelpersContext","React"],"mappings":"AACA,OAAO,KAAP,KAAA,MAAA,OAAA;AAQA,IAAMA,wBAAwB,GAAGC,KAAK,CAALA,aAAAA,CAAjC,SAAiCA,CAAjC;AAIA,eAAA,wBAAA","sourcesContent":["import type { ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { NavigationHelpers } from './types';\n\n/**\n * Context which holds the navigation helpers of the parent navigator.\n * Navigators should use this context in their view component.\n */\nconst NavigationHelpersContext = React.createContext<\n NavigationHelpers<ParamListBase> | undefined\n>(undefined);\n\nexport default NavigationHelpersContext;\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/3b1dd6a8dc6029ee767a1b63901a8e87.json b/.expo/web/cache/development/babel-loader/3b1dd6a8dc6029ee767a1b63901a8e87.json new file mode 100644 index 0000000000000000000000000000000000000000..bc0a8bc0a9f15f92938047d44df16bc4fb027f07 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/3b1dd6a8dc6029ee767a1b63901a8e87.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * 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\n if (ref.current === UNINITIALIZED) {\n ref.current = getInitialValue();\n }\n\n return ref.current;\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/useStable/index.js"],"names":["React","UNINITIALIZED","Symbol","Object","freeze","useStable","getInitialValue","ref","useRef","current"],"mappings":"AAQA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,IAAIC,aAAa,GAAG,OAAOC,MAAP,KAAkB,UAAlB,IAAgC,OAAOA,MAAM,EAAb,KAAoB,QAApD,GAA+DA,MAAM,EAArE,GAA0EC,MAAM,CAACC,MAAP,CAAc,EAAd,CAA9F;AACA,eAAe,SAASC,SAAT,CAAmBC,eAAnB,EAAoC;AACjD,MAAIC,GAAG,GAAGP,KAAK,CAACQ,MAAN,CAAaP,aAAb,CAAV;;AAEA,MAAIM,GAAG,CAACE,OAAJ,KAAgBR,aAApB,EAAmC;AACjCM,IAAAA,GAAG,CAACE,OAAJ,GAAcH,eAAe,EAA7B;AACD;;AAGD,SAAOC,GAAG,CAACE,OAAX;AACD","sourcesContent":["/**\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 */\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\n if (ref.current === UNINITIALIZED) {\n ref.current = getInitialValue();\n } // $FlowFixMe (#64650789) Trouble refining types where `Symbol` is concerned.\n\n\n return ref.current;\n}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/3c0317ea7ae6852be653fec591733367.json b/.expo/web/cache/development/babel-loader/3c0317ea7ae6852be653fec591733367.json new file mode 100644 index 0000000000000000000000000000000000000000..ab146b7d6683c66adb244bd74d00f89b91e1629b --- /dev/null +++ b/.expo/web/cache/development/babel-loader/3c0317ea7ae6852be653fec591733367.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar ansiRegex = require('ansi-regex');\n\nmodule.exports = function (string) {\n return typeof string === 'string' ? string.replace(ansiRegex(), '') : string;\n};","map":{"version":3,"sources":["C:/Users/user/AppData/Roaming/npm/node_modules/expo-cli/node_modules/react-dev-utils/node_modules/strip-ansi/index.js"],"names":["ansiRegex","require","module","exports","string","replace"],"mappings":"AAAA;;AACA,IAAMA,SAAS,GAAGC,OAAO,CAAC,YAAD,CAAzB;;AAEAC,MAAM,CAACC,OAAP,GAAiB,UAAAC,MAAM;AAAA,SAAI,OAAOA,MAAP,KAAkB,QAAlB,GAA6BA,MAAM,CAACC,OAAP,CAAeL,SAAS,EAAxB,EAA4B,EAA5B,CAA7B,GAA+DI,MAAnE;AAAA,CAAvB","sourcesContent":["'use strict';\nconst ansiRegex = require('ansi-regex');\n\nmodule.exports = string => typeof string === 'string' ? string.replace(ansiRegex(), '') : string;\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/3c4cff60b69ca4a503004a1c8dfe748a.json b/.expo/web/cache/development/babel-loader/3c4cff60b69ca4a503004a1c8dfe748a.json new file mode 100644 index 0000000000000000000000000000000000000000..f466efa04ea2adbc062fa3e0e6079ca68b9b8e78 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/3c4cff60b69ca4a503004a1c8dfe748a.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { isArray, isBoolean, isDate, isNull, isNumber, isObject, isString, isUndefined } from '@react-native-firebase/app/lib/common';\nimport FirestoreBlob from \"../FirestoreBlob\";\nimport { DOCUMENT_ID } from \"../FirestoreFieldPath\";\nimport FirestoreGeoPoint from \"../FirestoreGeoPoint\";\nimport FirestorePath from \"../FirestorePath\";\nimport FirestoreTimestamp from \"../FirestoreTimestamp\";\nimport { getTypeMapInt, getTypeMapName } from \"./typemap\";\nvar FirestoreDocumentReference = null;\nexport function provideDocumentReferenceClass(documentReference) {\n FirestoreDocumentReference = documentReference;\n}\nvar FirestoreFieldValue = null;\nexport function provideFieldValueClass(fieldValue) {\n FirestoreFieldValue = fieldValue;\n}\nexport function buildNativeMap(data, ignoreUndefined) {\n var nativeData = {};\n\n if (data) {\n var keys = Object.keys(data);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (typeof data[key] === 'undefined') {\n if (!ignoreUndefined) {\n throw new Error('Unsupported field value: undefined');\n } else {\n continue;\n }\n }\n\n var typeMap = generateNativeData(data[key], ignoreUndefined);\n\n if (typeMap) {\n nativeData[key] = typeMap;\n }\n }\n }\n\n return nativeData;\n}\nexport function buildNativeArray(array, ignoreUndefined) {\n var nativeArray = [];\n\n if (array) {\n for (var i = 0; i < array.length; i++) {\n var value = array[i];\n\n if (typeof value === 'undefined') {\n if (!ignoreUndefined) {\n throw new Error('Unsupported field value: undefined');\n } else {\n continue;\n }\n }\n\n var typeMap = generateNativeData(value, ignoreUndefined);\n\n if (typeMap) {\n nativeArray.push(typeMap);\n }\n }\n }\n\n return nativeArray;\n}\nexport function generateNativeData(value, ignoreUndefined) {\n if (Number.isNaN(value)) {\n return getTypeMapInt('nan');\n }\n\n if (value === Number.NEGATIVE_INFINITY) {\n return getTypeMapInt('-infinity');\n }\n\n if (value === Number.POSITIVE_INFINITY) {\n return getTypeMapInt('infinity');\n }\n\n if (isNull(value) || isUndefined(value)) {\n return getTypeMapInt('null');\n }\n\n if (value === DOCUMENT_ID) {\n return getTypeMapInt('documentid');\n }\n\n if (isBoolean(value)) {\n if (value === true) {\n return getTypeMapInt('booleanTrue');\n }\n\n return getTypeMapInt('booleanFalse');\n }\n\n if (isNumber(value)) {\n if (value === 0 && 1 / value === -Infinity) {\n return getTypeMapInt('negativeZero');\n }\n\n if (Number.isSafeInteger(value)) {\n return getTypeMapInt('integer', value);\n }\n\n return getTypeMapInt('double', value);\n }\n\n if (isString(value)) {\n if (value === '') {\n return getTypeMapInt('stringEmpty');\n }\n\n return getTypeMapInt('string', value);\n }\n\n if (isArray(value)) {\n return getTypeMapInt('array', buildNativeArray(value, ignoreUndefined));\n }\n\n if (isObject(value)) {\n if (value instanceof FirestoreDocumentReference) {\n return getTypeMapInt('reference', value.path);\n }\n\n if (value instanceof FirestoreGeoPoint) {\n return getTypeMapInt('geopoint', [value.latitude, value.longitude]);\n }\n\n if (isDate(value)) {\n var timestamp = FirestoreTimestamp.fromDate(value);\n return getTypeMapInt('timestamp', [timestamp.seconds, timestamp.nanoseconds]);\n }\n\n if (value instanceof FirestoreTimestamp) {\n return getTypeMapInt('timestamp', [value.seconds, value.nanoseconds]);\n }\n\n if (value instanceof FirestoreBlob) {\n return getTypeMapInt('blob', value.toBase64());\n }\n\n if (value instanceof FirestoreFieldValue) {\n return getTypeMapInt('fieldvalue', [value._type, value._elements]);\n }\n\n return getTypeMapInt('object', buildNativeMap(value, ignoreUndefined));\n }\n\n console.warn(\"Unknown data type received \" + value);\n return getTypeMapInt('unknown');\n}\nexport function parseNativeMap(firestore, nativeData) {\n var data;\n\n if (nativeData) {\n data = {};\n var entries = Object.entries(nativeData);\n\n for (var i = 0; i < entries.length; i++) {\n var _entries$i = _slicedToArray(entries[i], 2),\n key = _entries$i[0],\n typeArray = _entries$i[1];\n\n data[key] = parseNativeData(firestore, typeArray);\n }\n }\n\n return data;\n}\nexport function parseNativeArray(firestore, nativeArray) {\n var array = [];\n\n if (nativeArray) {\n for (var i = 0; i < nativeArray.length; i++) {\n array.push(parseNativeData(firestore, nativeArray[i]));\n }\n }\n\n return array;\n}\nexport function parseNativeData(firestore, nativeArray) {\n var _nativeArray = _slicedToArray(nativeArray, 2),\n int = _nativeArray[0],\n value = _nativeArray[1];\n\n var type = getTypeMapName(int);\n\n switch (type) {\n case 'nan':\n return NaN;\n\n case '-infinity':\n return -Infinity;\n\n case 'infinity':\n return Infinity;\n\n case 'null':\n return null;\n\n case 'booleanTrue':\n return true;\n\n case 'booleanFalse':\n return false;\n\n case 'double':\n case 'integer':\n case 'negativeZero':\n case 'string':\n return value;\n\n case 'stringEmpty':\n return '';\n\n case 'array':\n return parseNativeArray(firestore, value);\n\n case 'object':\n return parseNativeMap(firestore, value);\n\n case 'reference':\n return new FirestoreDocumentReference(firestore, FirestorePath.fromName(value));\n\n case 'geopoint':\n return new FirestoreGeoPoint(value[0], value[1]);\n\n case 'timestamp':\n return new FirestoreTimestamp(value[0], value[1]);\n\n case 'blob':\n return FirestoreBlob.fromBase64String(value);\n\n default:\n console.warn(\"Unknown data type received from native channel: \" + type);\n return value;\n }\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/firestore/lib/utils/serialize.js"],"names":["isArray","isBoolean","isDate","isNull","isNumber","isObject","isString","isUndefined","FirestoreBlob","DOCUMENT_ID","FirestoreGeoPoint","FirestorePath","FirestoreTimestamp","getTypeMapInt","getTypeMapName","FirestoreDocumentReference","provideDocumentReferenceClass","documentReference","FirestoreFieldValue","provideFieldValueClass","fieldValue","buildNativeMap","data","ignoreUndefined","nativeData","keys","Object","i","length","key","Error","typeMap","generateNativeData","buildNativeArray","array","nativeArray","value","push","Number","isNaN","NEGATIVE_INFINITY","POSITIVE_INFINITY","Infinity","isSafeInteger","path","latitude","longitude","timestamp","fromDate","seconds","nanoseconds","toBase64","_type","_elements","console","warn","parseNativeMap","firestore","entries","typeArray","parseNativeData","parseNativeArray","int","type","NaN","fromName","fromBase64String"],"mappings":"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","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport {\n isArray,\n isBoolean,\n isDate,\n isNull,\n isNumber,\n isObject,\n isString,\n isUndefined,\n} from '@react-native-firebase/app/lib/common';\nimport FirestoreBlob from '../FirestoreBlob';\nimport { DOCUMENT_ID } from '../FirestoreFieldPath';\nimport FirestoreGeoPoint from '../FirestoreGeoPoint';\nimport FirestorePath from '../FirestorePath';\nimport FirestoreTimestamp from '../FirestoreTimestamp';\nimport { getTypeMapInt, getTypeMapName } from './typemap';\n\n// To avoid React Native require cycle warnings\nlet FirestoreDocumentReference = null;\nexport function provideDocumentReferenceClass(documentReference) {\n FirestoreDocumentReference = documentReference;\n}\n\nlet FirestoreFieldValue = null;\nexport function provideFieldValueClass(fieldValue) {\n FirestoreFieldValue = fieldValue;\n}\n\n/**\n *\n * @param data\n * @param ignoreUndefined\n */\nexport function buildNativeMap(data, ignoreUndefined) {\n const nativeData = {};\n if (data) {\n const keys = Object.keys(data);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n\n if (typeof data[key] === 'undefined') {\n if (!ignoreUndefined) {\n throw new Error('Unsupported field value: undefined');\n } else {\n continue;\n }\n }\n\n const typeMap = generateNativeData(data[key], ignoreUndefined);\n if (typeMap) {\n nativeData[key] = typeMap;\n }\n }\n }\n return nativeData;\n}\n\n/**\n *\n * @param array\n * @returns {Array}\n */\nexport function buildNativeArray(array, ignoreUndefined) {\n const nativeArray = [];\n if (array) {\n for (let i = 0; i < array.length; i++) {\n const value = array[i];\n if (typeof value === 'undefined') {\n if (!ignoreUndefined) {\n throw new Error('Unsupported field value: undefined');\n } else {\n continue;\n }\n }\n const typeMap = generateNativeData(value, ignoreUndefined);\n if (typeMap) {\n nativeArray.push(typeMap);\n }\n }\n }\n return nativeArray;\n}\n\n/**\n * Creates a lightweight array of an object value to be sent over the bridge.\n * The type is convered to an integer which is handled on the native side\n * to create the correct types.\n *\n * Example: [7, 'some string'];\n *\n * @param value\n * @param ignoreUndefined\n * @returns {*}\n */\nexport function generateNativeData(value, ignoreUndefined) {\n if (Number.isNaN(value)) {\n return getTypeMapInt('nan');\n }\n\n if (value === Number.NEGATIVE_INFINITY) {\n return getTypeMapInt('-infinity');\n }\n\n if (value === Number.POSITIVE_INFINITY) {\n return getTypeMapInt('infinity');\n }\n\n if (isNull(value) || isUndefined(value)) {\n return getTypeMapInt('null');\n }\n\n if (value === DOCUMENT_ID) {\n return getTypeMapInt('documentid');\n }\n\n if (isBoolean(value)) {\n if (value === true) {\n return getTypeMapInt('booleanTrue');\n }\n return getTypeMapInt('booleanFalse');\n }\n\n if (isNumber(value)) {\n // mirror the JS SDK's integer detection algorithm\n // https://github.com/firebase/firebase-js-sdk/blob/086df7c7e0299cedd9f3cff9080f46ca25cab7cd/packages/firestore/src/remote/number_serializer.ts#L56\n if (value === 0 && 1 / value === -Infinity) {\n return getTypeMapInt('negativeZero');\n }\n if (Number.isSafeInteger(value)) {\n return getTypeMapInt('integer', value);\n }\n return getTypeMapInt('double', value);\n }\n\n if (isString(value)) {\n if (value === '') {\n return getTypeMapInt('stringEmpty');\n }\n return getTypeMapInt('string', value);\n }\n\n if (isArray(value)) {\n return getTypeMapInt('array', buildNativeArray(value, ignoreUndefined));\n }\n\n if (isObject(value)) {\n if (value instanceof FirestoreDocumentReference) {\n return getTypeMapInt('reference', value.path);\n }\n\n if (value instanceof FirestoreGeoPoint) {\n return getTypeMapInt('geopoint', [value.latitude, value.longitude]);\n }\n\n // Handle Date objects are Timestamps as per web sdk\n if (isDate(value)) {\n const timestamp = FirestoreTimestamp.fromDate(value);\n return getTypeMapInt('timestamp', [timestamp.seconds, timestamp.nanoseconds]);\n }\n\n if (value instanceof FirestoreTimestamp) {\n return getTypeMapInt('timestamp', [value.seconds, value.nanoseconds]);\n }\n\n if (value instanceof FirestoreBlob) {\n return getTypeMapInt('blob', value.toBase64());\n }\n\n if (value instanceof FirestoreFieldValue) {\n return getTypeMapInt('fieldvalue', [value._type, value._elements]);\n }\n\n return getTypeMapInt('object', buildNativeMap(value, ignoreUndefined));\n }\n\n // eslint-disable-next-line no-console\n console.warn(`Unknown data type received ${value}`);\n\n return getTypeMapInt('unknown');\n}\n\n/**\n *\n * @param firestore\n * @param nativeData\n */\nexport function parseNativeMap(firestore, nativeData) {\n let data;\n if (nativeData) {\n data = {};\n const entries = Object.entries(nativeData);\n for (let i = 0; i < entries.length; i++) {\n const [key, typeArray] = entries[i];\n data[key] = parseNativeData(firestore, typeArray);\n }\n }\n return data;\n}\n\n/**\n *\n * @param firestore\n * @param nativeArray\n * @returns {Array}\n */\nexport function parseNativeArray(firestore, nativeArray) {\n const array = [];\n if (nativeArray) {\n for (let i = 0; i < nativeArray.length; i++) {\n array.push(parseNativeData(firestore, nativeArray[i]));\n }\n }\n return array;\n}\n\n/**\n * Data returned from native is constructed in the same way it sent to keep\n * payloads over the bridge as small as possible. The index matches to a type\n * which is then created on JS land.\n *\n * Example: [7, 'string']\n *\n * @param firestore\n * @param nativeArray\n * @returns *\n */\nexport function parseNativeData(firestore, nativeArray) {\n const [int, value] = nativeArray;\n const type = getTypeMapName(int);\n\n switch (type) {\n case 'nan':\n return NaN;\n case '-infinity':\n return -Infinity;\n case 'infinity':\n return Infinity;\n case 'null':\n return null;\n case 'booleanTrue':\n return true;\n case 'booleanFalse':\n return false;\n case 'double':\n case 'integer':\n case 'negativeZero':\n case 'string':\n return value;\n case 'stringEmpty':\n return '';\n case 'array':\n return parseNativeArray(firestore, value);\n case 'object':\n return parseNativeMap(firestore, value);\n case 'reference':\n return new FirestoreDocumentReference(firestore, FirestorePath.fromName(value));\n case 'geopoint':\n return new FirestoreGeoPoint(value[0], value[1]);\n case 'timestamp':\n return new FirestoreTimestamp(value[0], value[1]);\n case 'blob':\n return FirestoreBlob.fromBase64String(value);\n default:\n // eslint-disable-next-line no-console\n console.warn(`Unknown data type received from native channel: ${type}`);\n return value;\n }\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/3c559d740178f723889c7f4bffc5adc0.json b/.expo/web/cache/development/babel-loader/3c559d740178f723889c7f4bffc5adc0.json new file mode 100644 index 0000000000000000000000000000000000000000..951b2cc9e222f3fcf7a06fdbe7dee7cb959fd41b --- /dev/null +++ b/.expo/web/cache/development/babel-loader/3c559d740178f723889c7f4bffc5adc0.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { findFocusedRoute, getActionFromState as getActionFromStateDefault, getPathFromState as getPathFromStateDefault, getStateFromPath as getStateFromPathDefault } from '@react-navigation/core';\nimport isEqual from 'fast-deep-equal';\nimport { nanoid } from 'nanoid/non-secure';\nimport * as React from 'react';\nimport ServerContext from \"./ServerContext\";\n\nvar createMemoryHistory = function createMemoryHistory() {\n var index = 0;\n var items = [];\n var pending = [];\n\n var interrupt = function interrupt() {\n pending.forEach(function (it) {\n var cb = it.cb;\n\n it.cb = function () {\n return cb(true);\n };\n });\n };\n\n var history = {\n get index() {\n var _window$history$state;\n\n var id = (_window$history$state = window.history.state) === null || _window$history$state === void 0 ? void 0 : _window$history$state.id;\n\n if (id) {\n var _index = items.findIndex(function (item) {\n return item.id === id;\n });\n\n return _index > -1 ? _index : 0;\n }\n\n return 0;\n },\n\n get: function get(index) {\n return items[index];\n },\n backIndex: function backIndex(_ref) {\n var path = _ref.path;\n\n for (var i = index - 1; i >= 0; i--) {\n var item = items[i];\n\n if (item.path === path) {\n return i;\n }\n }\n\n return -1;\n },\n push: function push(_ref2) {\n var path = _ref2.path,\n state = _ref2.state;\n interrupt();\n var id = nanoid();\n items = items.slice(0, index + 1);\n items.push({\n path: path,\n state: state,\n id: id\n });\n index = items.length - 1;\n window.history.pushState({\n id: id\n }, '', path);\n },\n replace: function replace(_ref3) {\n var _window$history$state2, _window$history$state3;\n\n var path = _ref3.path,\n state = _ref3.state;\n interrupt();\n var id = (_window$history$state2 = (_window$history$state3 = window.history.state) === null || _window$history$state3 === void 0 ? void 0 : _window$history$state3.id) !== null && _window$history$state2 !== void 0 ? _window$history$state2 : nanoid();\n\n if (!items.length || items.findIndex(function (item) {\n return item.id === id;\n }) < 0) {\n items = [{\n path: path,\n state: state,\n id: id\n }];\n index = 0;\n } else {\n items[index] = {\n path: path,\n state: state,\n id: id\n };\n }\n\n window.history.replaceState({\n id: id\n }, '', path);\n },\n go: function go(n) {\n interrupt();\n\n if (n === 0) {\n return;\n }\n\n index = n < 0 ? Math.max(index - n, 0) : Math.min(index + n, items.length - 1);\n return new Promise(function (resolve, reject) {\n var done = function done(interrupted) {\n clearTimeout(timer);\n\n if (interrupted) {\n reject(new Error('History was changed during navigation.'));\n return;\n }\n\n var title = window.document.title;\n window.document.title = '';\n window.document.title = title;\n resolve();\n };\n\n pending.push({\n ref: done,\n cb: done\n });\n var timer = setTimeout(function () {\n var index = pending.findIndex(function (it) {\n return it.ref === done;\n });\n\n if (index > -1) {\n pending[index].cb();\n pending.splice(index, 1);\n }\n }, 100);\n\n var onPopState = function onPopState() {\n var _window$history$state4;\n\n var id = (_window$history$state4 = window.history.state) === null || _window$history$state4 === void 0 ? void 0 : _window$history$state4.id;\n var currentIndex = items.findIndex(function (item) {\n return item.id === id;\n });\n index = Math.max(currentIndex, 0);\n var last = pending.pop();\n window.removeEventListener('popstate', onPopState);\n last === null || last === void 0 ? void 0 : last.cb();\n };\n\n window.addEventListener('popstate', onPopState);\n window.history.go(n);\n });\n },\n listen: function listen(listener) {\n var onPopState = function onPopState() {\n if (pending.length) {\n return;\n }\n\n listener();\n };\n\n window.addEventListener('popstate', onPopState);\n return function () {\n return window.removeEventListener('popstate', onPopState);\n };\n }\n };\n return history;\n};\n\nvar findMatchingState = function findMatchingState(a, b) {\n if (a === undefined || b === undefined || a.key !== b.key) {\n return [undefined, undefined];\n }\n\n var aHistoryLength = a.history ? a.history.length : a.routes.length;\n var bHistoryLength = b.history ? b.history.length : b.routes.length;\n var aRoute = a.routes[a.index];\n var bRoute = b.routes[b.index];\n var aChildState = aRoute.state;\n var bChildState = bRoute.state;\n\n if (aHistoryLength !== bHistoryLength || aRoute.key !== bRoute.key || aChildState === undefined || bChildState === undefined || aChildState.key !== bChildState.key) {\n return [a, b];\n }\n\n return findMatchingState(aChildState, bChildState);\n};\n\nvar series = function series(cb) {\n var handling = false;\n var queue = [];\n\n var callback = function callback() {\n var last;\n return _regeneratorRuntime.async(function callback$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n\n if (!handling) {\n _context.next = 4;\n break;\n }\n\n queue.unshift(callback);\n return _context.abrupt(\"return\");\n\n case 4:\n handling = true;\n _context.next = 7;\n return _regeneratorRuntime.awrap(cb());\n\n case 7:\n _context.prev = 7;\n handling = false;\n\n if (queue.length) {\n last = queue.pop();\n last === null || last === void 0 ? void 0 : last();\n }\n\n return _context.finish(7);\n\n case 11:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, [[0,, 7, 11]], Promise);\n };\n\n return callback;\n};\n\nvar linkingHandlers = [];\nexport default function useLinking(ref, _ref4) {\n var independent = _ref4.independent,\n _ref4$enabled = _ref4.enabled,\n enabled = _ref4$enabled === void 0 ? true : _ref4$enabled,\n config = _ref4.config,\n _ref4$getStateFromPat = _ref4.getStateFromPath,\n getStateFromPath = _ref4$getStateFromPat === void 0 ? getStateFromPathDefault : _ref4$getStateFromPat,\n _ref4$getPathFromStat = _ref4.getPathFromState,\n getPathFromState = _ref4$getPathFromStat === void 0 ? getPathFromStateDefault : _ref4$getPathFromStat,\n _ref4$getActionFromSt = _ref4.getActionFromState,\n getActionFromState = _ref4$getActionFromSt === void 0 ? getActionFromStateDefault : _ref4$getActionFromSt;\n React.useEffect(function () {\n if (process.env.NODE_ENV === 'production') {\n return undefined;\n }\n\n if (independent) {\n return undefined;\n }\n\n if (enabled !== false && linkingHandlers.length) {\n console.error(['Looks like you have configured linking in multiple places. This is likely an error since deep links should only be handled in one place to avoid conflicts. Make sure that:', \"- You don't have multiple NavigationContainers in the app each with 'linking' enabled\", '- Only a single instance of the root component is rendered'].join('\\n').trim());\n }\n\n var handler = Symbol();\n\n if (enabled !== false) {\n linkingHandlers.push(handler);\n }\n\n return function () {\n var index = linkingHandlers.indexOf(handler);\n\n if (index > -1) {\n linkingHandlers.splice(index, 1);\n }\n };\n }, [enabled, independent]);\n\n var _React$useState = React.useState(createMemoryHistory),\n _React$useState2 = _slicedToArray(_React$useState, 1),\n history = _React$useState2[0];\n\n var enabledRef = React.useRef(enabled);\n var configRef = React.useRef(config);\n var getStateFromPathRef = React.useRef(getStateFromPath);\n var getPathFromStateRef = React.useRef(getPathFromState);\n var getActionFromStateRef = React.useRef(getActionFromState);\n React.useEffect(function () {\n enabledRef.current = enabled;\n configRef.current = config;\n getStateFromPathRef.current = getStateFromPath;\n getPathFromStateRef.current = getPathFromState;\n getActionFromStateRef.current = getActionFromState;\n });\n var server = React.useContext(ServerContext);\n var getInitialState = React.useCallback(function () {\n var value;\n\n if (enabledRef.current) {\n var _server$location;\n\n var _location = (_server$location = server === null || server === void 0 ? void 0 : server.location) !== null && _server$location !== void 0 ? _server$location : typeof window !== 'undefined' ? window.location : undefined;\n\n var path = _location ? _location.pathname + _location.search : undefined;\n\n if (path) {\n value = getStateFromPathRef.current(path, configRef.current);\n }\n }\n\n var thenable = {\n then: function then(onfulfilled) {\n return Promise.resolve(onfulfilled ? onfulfilled(value) : value);\n },\n catch: function _catch() {\n return thenable;\n }\n };\n return thenable;\n }, []);\n var previousIndexRef = React.useRef(undefined);\n var previousStateRef = React.useRef(undefined);\n var pendingPopStatePathRef = React.useRef(undefined);\n React.useEffect(function () {\n previousIndexRef.current = history.index;\n return history.listen(function () {\n var _previousIndexRef$cur;\n\n var navigation = ref.current;\n\n if (!navigation || !enabled) {\n return;\n }\n\n var path = location.pathname + location.search;\n var index = history.index;\n var previousIndex = (_previousIndexRef$cur = previousIndexRef.current) !== null && _previousIndexRef$cur !== void 0 ? _previousIndexRef$cur : 0;\n previousIndexRef.current = index;\n pendingPopStatePathRef.current = path;\n var record = history.get(index);\n\n if ((record === null || record === void 0 ? void 0 : record.path) === path && record !== null && record !== void 0 && record.state) {\n navigation.resetRoot(record.state);\n return;\n }\n\n var state = getStateFromPathRef.current(path, configRef.current);\n\n if (state) {\n var rootState = navigation.getRootState();\n\n if (state.routes.some(function (r) {\n return !(rootState !== null && rootState !== void 0 && rootState.routeNames.includes(r.name));\n })) {\n console.warn(\"The navigation state parsed from the URL contains routes not present in the root navigator. This usually means that the linking configuration doesn't match the navigation structure. See https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration.\");\n return;\n }\n\n if (index > previousIndex) {\n var action = getActionFromStateRef.current(state, configRef.current);\n\n if (action !== undefined) {\n try {\n navigation.dispatch(action);\n } catch (e) {\n console.warn(\"An error occurred when trying to handle the link '\" + path + \"': \" + (typeof e === 'object' && e != null && 'message' in e ? e.message : e));\n }\n } else {\n navigation.resetRoot(state);\n }\n } else {\n navigation.resetRoot(state);\n }\n } else {\n navigation.resetRoot(state);\n }\n });\n }, [enabled, history, ref]);\n React.useEffect(function () {\n var _ref$current;\n\n if (!enabled) {\n return;\n }\n\n var getPathForRoute = function getPathForRoute(route, state) {\n if (route !== null && route !== void 0 && route.path) {\n var stateForPath = getStateFromPathRef.current(route.path, configRef.current);\n\n if (stateForPath) {\n var focusedRoute = findFocusedRoute(stateForPath);\n\n if (focusedRoute && focusedRoute.name === route.name && isEqual(focusedRoute.params, route.params)) {\n return route.path;\n }\n }\n }\n\n return getPathFromStateRef.current(state, configRef.current);\n };\n\n if (ref.current) {\n var state = ref.current.getRootState();\n\n if (state) {\n var route = findFocusedRoute(state);\n var path = getPathForRoute(route, state);\n\n if (previousStateRef.current === undefined) {\n previousStateRef.current = state;\n }\n\n history.replace({\n path: path,\n state: state\n });\n }\n }\n\n var onStateChange = function onStateChange() {\n var navigation, previousState, state, pendingPath, route, path, _findMatchingState, _findMatchingState2, previousFocusedState, focusedState, historyDelta, nextIndex, currentIndex;\n\n return _regeneratorRuntime.async(function onStateChange$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n navigation = ref.current;\n\n if (!(!navigation || !enabled)) {\n _context2.next = 3;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 3:\n previousState = previousStateRef.current;\n state = navigation.getRootState();\n\n if (state) {\n _context2.next = 7;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 7:\n pendingPath = pendingPopStatePathRef.current;\n route = findFocusedRoute(state);\n path = getPathForRoute(route, state);\n previousStateRef.current = state;\n pendingPopStatePathRef.current = undefined;\n _findMatchingState = findMatchingState(previousState, state), _findMatchingState2 = _slicedToArray(_findMatchingState, 2), previousFocusedState = _findMatchingState2[0], focusedState = _findMatchingState2[1];\n\n if (!(previousFocusedState && focusedState && path !== pendingPath)) {\n _context2.next = 40;\n break;\n }\n\n historyDelta = (focusedState.history ? focusedState.history.length : focusedState.routes.length) - (previousFocusedState.history ? previousFocusedState.history.length : previousFocusedState.routes.length);\n\n if (!(historyDelta > 0)) {\n _context2.next = 19;\n break;\n }\n\n history.push({\n path: path,\n state: state\n });\n _context2.next = 38;\n break;\n\n case 19:\n if (!(historyDelta < 0)) {\n _context2.next = 37;\n break;\n }\n\n nextIndex = history.backIndex({\n path: path\n });\n currentIndex = history.index;\n _context2.prev = 22;\n\n if (!(nextIndex !== -1 && nextIndex < currentIndex)) {\n _context2.next = 28;\n break;\n }\n\n _context2.next = 26;\n return _regeneratorRuntime.awrap(history.go(nextIndex - currentIndex));\n\n case 26:\n _context2.next = 30;\n break;\n\n case 28:\n _context2.next = 30;\n return _regeneratorRuntime.awrap(history.go(historyDelta));\n\n case 30:\n history.replace({\n path: path,\n state: state\n });\n _context2.next = 35;\n break;\n\n case 33:\n _context2.prev = 33;\n _context2.t0 = _context2[\"catch\"](22);\n\n case 35:\n _context2.next = 38;\n break;\n\n case 37:\n history.replace({\n path: path,\n state: state\n });\n\n case 38:\n _context2.next = 41;\n break;\n\n case 40:\n history.replace({\n path: path,\n state: state\n });\n\n case 41:\n case \"end\":\n return _context2.stop();\n }\n }\n }, null, null, [[22, 33]], Promise);\n };\n\n return (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.addListener('state', series(onStateChange));\n });\n return {\n getInitialState: getInitialState\n };\n}","map":{"version":3,"sources":["useLinking.tsx"],"names":["getActionFromState","getPathFromState","getStateFromPath","createMemoryHistory","index","items","pending","interrupt","it","cb","history","id","window","item","get","backIndex","path","i","push","state","nanoid","replace","go","n","Math","done","interrupted","clearTimeout","reject","title","resolve","ref","timer","setTimeout","onPopState","currentIndex","last","listen","listener","findMatchingState","a","b","aHistoryLength","bHistoryLength","aRoute","bRoute","aChildState","bChildState","series","handling","queue","callback","linkingHandlers","enabled","getActionFromStateDefault","React","process","console","handler","Symbol","enabledRef","configRef","getStateFromPathRef","getPathFromStateRef","getActionFromStateRef","server","getInitialState","location","value","thenable","then","Promise","onfulfilled","catch","previousIndexRef","previousStateRef","pendingPopStatePathRef","navigation","previousIndex","record","rootState","r","action","e","getPathForRoute","route","stateForPath","focusedRoute","findFocusedRoute","isEqual","onStateChange","previousState","pendingPath","previousFocusedState","historyDelta","focusedState","nextIndex"],"mappings":"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","sourcesContent":["import {\n findFocusedRoute,\n getActionFromState as getActionFromStateDefault,\n getPathFromState as getPathFromStateDefault,\n getStateFromPath as getStateFromPathDefault,\n NavigationContainerRef,\n NavigationState,\n ParamListBase,\n} from '@react-navigation/core';\nimport isEqual from 'fast-deep-equal';\nimport { nanoid } from 'nanoid/non-secure';\nimport * as React from 'react';\n\nimport ServerContext from './ServerContext';\nimport type { LinkingOptions } from './types';\n\ntype ResultState = ReturnType<typeof getStateFromPathDefault>;\n\ntype HistoryRecord = {\n // Unique identifier for this record to match it with window.history.state\n id: string;\n // Navigation state object for the history entry\n state: NavigationState;\n // Path of the history entry\n path: string;\n};\n\nconst createMemoryHistory = () => {\n let index = 0;\n let items: HistoryRecord[] = [];\n\n // Pending callbacks for `history.go(n)`\n // We might modify the callback stored if it was interrupted, so we have a ref to identify it\n const pending: { ref: unknown; cb: (interrupted?: boolean) => void }[] = [];\n\n const interrupt = () => {\n // If another history operation was performed we need to interrupt existing ones\n // This makes sure that calls such as `history.replace` after `history.go` don't happen\n // Since otherwise it won't be correct if something else has changed\n pending.forEach((it) => {\n const cb = it.cb;\n it.cb = () => cb(true);\n });\n };\n\n const history = {\n get index(): number {\n // We store an id in the state instead of an index\n // Index could get out of sync with in-memory values if page reloads\n const id = window.history.state?.id;\n\n if (id) {\n const index = items.findIndex((item) => item.id === id);\n\n return index > -1 ? index : 0;\n }\n\n return 0;\n },\n\n get(index: number) {\n return items[index];\n },\n\n backIndex({ path }: { path: string }) {\n // We need to find the index from the element before current to get closest path to go back to\n for (let i = index - 1; i >= 0; i--) {\n const item = items[i];\n\n if (item.path === path) {\n return i;\n }\n }\n\n return -1;\n },\n\n push({ path, state }: { path: string; state: NavigationState }) {\n interrupt();\n\n const id = nanoid();\n\n // When a new entry is pushed, all the existing entries after index will be inaccessible\n // So we remove any existing entries after the current index to clean them up\n items = items.slice(0, index + 1);\n\n items.push({ path, state, id });\n index = items.length - 1;\n\n // We pass empty string for title because it's ignored in all browsers except safari\n // We don't store state object in history.state because:\n // - browsers have limits on how big it can be, and we don't control the size\n // - while not recommended, there could be non-serializable data in state\n window.history.pushState({ id }, '', path);\n },\n\n replace({ path, state }: { path: string; state: NavigationState }) {\n interrupt();\n\n const id = window.history.state?.id ?? nanoid();\n\n if (!items.length || items.findIndex((item) => item.id === id) < 0) {\n // There are two scenarios for creating an array with only one history record:\n // - When loaded id not found in the items array, this function by default will replace\n // the first item. We need to keep only the new updated object, otherwise it will break\n // the page when navigating forward in history.\n // - This is the first time any state modifications are done\n // So we need to push the entry as there's nothing to replace\n items = [{ path, state, id }];\n index = 0;\n } else {\n items[index] = { path, state, id };\n }\n\n window.history.replaceState({ id }, '', path);\n },\n\n // `history.go(n)` is asynchronous, there are couple of things to keep in mind:\n // - it won't do anything if we can't go `n` steps, the `popstate` event won't fire.\n // - each `history.go(n)` call will trigger a separate `popstate` event with correct location.\n // - the `popstate` event fires before the next frame after calling `history.go(n)`.\n // This method differs from `history.go(n)` in the sense that it'll go back as many steps it can.\n go(n: number) {\n interrupt();\n\n if (n === 0) {\n return;\n }\n\n // We shouldn't go back more than the 0 index (otherwise we'll exit the page)\n // Or forward more than the available index (or the app will crash)\n index =\n n < 0 ? Math.max(index - n, 0) : Math.min(index + n, items.length - 1);\n\n // When we call `history.go`, `popstate` will fire when there's history to go back to\n // So we need to somehow handle following cases:\n // - There's history to go back, `history.go` is called, and `popstate` fires\n // - `history.go` is called multiple times, we need to resolve on respective `popstate`\n // - No history to go back, but `history.go` was called, browser has no API to detect it\n return new Promise<void>((resolve, reject) => {\n const done = (interrupted?: boolean) => {\n clearTimeout(timer);\n\n if (interrupted) {\n reject(new Error('History was changed during navigation.'));\n return;\n }\n\n // There seems to be a bug in Chrome regarding updating the title\n // If we set a title just before calling `history.go`, the title gets lost\n // However the value of `document.title` is still what we set it to\n // It's just not displayed in the tab bar\n // To update the tab bar, we need to reset the title to something else first (e.g. '')\n // And set the title to what it was before so it gets applied\n // It won't work without setting it to empty string coz otherwise title isn't changing\n // Which means that the browser won't do anything after setting the title\n const { title } = window.document;\n\n window.document.title = '';\n window.document.title = title;\n\n resolve();\n };\n\n pending.push({ ref: done, cb: done });\n\n // If navigation didn't happen within 100ms, assume that it won't happen\n // This may not be accurate, but hopefully it won't take so much time\n // In Chrome, navigation seems to happen instantly in next microtask\n // But on Firefox, it seems to take much longer, around 50ms from our testing\n // We're using a hacky timeout since there doesn't seem to be way to know for sure\n const timer = setTimeout(() => {\n const index = pending.findIndex((it) => it.ref === done);\n\n if (index > -1) {\n pending[index].cb();\n pending.splice(index, 1);\n }\n }, 100);\n\n const onPopState = () => {\n const id = window.history.state?.id;\n const currentIndex = items.findIndex((item) => item.id === id);\n\n // Fix createMemoryHistory.index variable's value\n // as it may go out of sync when navigating in the browser.\n index = Math.max(currentIndex, 0);\n\n const last = pending.pop();\n\n window.removeEventListener('popstate', onPopState);\n last?.cb();\n };\n\n window.addEventListener('popstate', onPopState);\n window.history.go(n);\n });\n },\n\n // The `popstate` event is triggered when history changes, except `pushState` and `replaceState`\n // If we call `history.go(n)` ourselves, we don't want it to trigger the listener\n // Here we normalize it so that only external changes (e.g. user pressing back/forward) trigger the listener\n listen(listener: () => void) {\n const onPopState = () => {\n if (pending.length) {\n // This was triggered by `history.go(n)`, we shouldn't call the listener\n return;\n }\n\n listener();\n };\n\n window.addEventListener('popstate', onPopState);\n\n return () => window.removeEventListener('popstate', onPopState);\n },\n };\n\n return history;\n};\n\n/**\n * Find the matching navigation state that changed between 2 navigation states\n * e.g.: a -> b -> c -> d and a -> b -> c -> e -> f, if history in b changed, b is the matching state\n */\nconst findMatchingState = <T extends NavigationState>(\n a: T | undefined,\n b: T | undefined\n): [T | undefined, T | undefined] => {\n if (a === undefined || b === undefined || a.key !== b.key) {\n return [undefined, undefined];\n }\n\n // Tab and drawer will have `history` property, but stack will have history in `routes`\n const aHistoryLength = a.history ? a.history.length : a.routes.length;\n const bHistoryLength = b.history ? b.history.length : b.routes.length;\n\n const aRoute = a.routes[a.index];\n const bRoute = b.routes[b.index];\n\n const aChildState = aRoute.state as T | undefined;\n const bChildState = bRoute.state as T | undefined;\n\n // Stop here if this is the state object that changed:\n // - history length is different\n // - focused routes are different\n // - one of them doesn't have child state\n // - child state keys are different\n if (\n aHistoryLength !== bHistoryLength ||\n aRoute.key !== bRoute.key ||\n aChildState === undefined ||\n bChildState === undefined ||\n aChildState.key !== bChildState.key\n ) {\n return [a, b];\n }\n\n return findMatchingState(aChildState, bChildState);\n};\n\n/**\n * Run async function in series as it's called.\n */\nconst series = (cb: () => Promise<void>) => {\n // Whether we're currently handling a callback\n let handling = false;\n let queue: (() => Promise<void>)[] = [];\n\n const callback = async () => {\n try {\n if (handling) {\n // If we're currently handling a previous event, wait before handling this one\n // Add the callback to the beginning of the queue\n queue.unshift(callback);\n return;\n }\n\n handling = true;\n\n await cb();\n } finally {\n handling = false;\n\n if (queue.length) {\n // If we have queued items, handle the last one\n const last = queue.pop();\n\n last?.();\n }\n }\n };\n\n return callback;\n};\n\nlet linkingHandlers: Symbol[] = [];\n\ntype Options = LinkingOptions<ParamListBase> & {\n independent?: boolean;\n};\n\nexport default function useLinking(\n ref: React.RefObject<NavigationContainerRef<ParamListBase>>,\n {\n independent,\n enabled = true,\n config,\n getStateFromPath = getStateFromPathDefault,\n getPathFromState = getPathFromStateDefault,\n getActionFromState = getActionFromStateDefault,\n }: Options\n) {\n React.useEffect(() => {\n if (process.env.NODE_ENV === 'production') {\n return undefined;\n }\n\n if (independent) {\n return undefined;\n }\n\n if (enabled !== false && linkingHandlers.length) {\n console.error(\n [\n 'Looks like you have configured linking in multiple places. This is likely an error since deep links should only be handled in one place to avoid conflicts. Make sure that:',\n \"- You don't have multiple NavigationContainers in the app each with 'linking' enabled\",\n '- Only a single instance of the root component is rendered',\n ]\n .join('\\n')\n .trim()\n );\n }\n\n const handler = Symbol();\n\n if (enabled !== false) {\n linkingHandlers.push(handler);\n }\n\n return () => {\n const index = linkingHandlers.indexOf(handler);\n\n if (index > -1) {\n linkingHandlers.splice(index, 1);\n }\n };\n }, [enabled, independent]);\n\n const [history] = React.useState(createMemoryHistory);\n\n // We store these options in ref to avoid re-creating getInitialState and re-subscribing listeners\n // This lets user avoid wrapping the items in `React.useCallback` or `React.useMemo`\n // Not re-creating `getInitialState` is important coz it makes it easier for the user to use in an effect\n const enabledRef = React.useRef(enabled);\n const configRef = React.useRef(config);\n const getStateFromPathRef = React.useRef(getStateFromPath);\n const getPathFromStateRef = React.useRef(getPathFromState);\n const getActionFromStateRef = React.useRef(getActionFromState);\n\n React.useEffect(() => {\n enabledRef.current = enabled;\n configRef.current = config;\n getStateFromPathRef.current = getStateFromPath;\n getPathFromStateRef.current = getPathFromState;\n getActionFromStateRef.current = getActionFromState;\n });\n\n const server = React.useContext(ServerContext);\n\n const getInitialState = React.useCallback(() => {\n let value: ResultState | undefined;\n\n if (enabledRef.current) {\n const location =\n server?.location ??\n (typeof window !== 'undefined' ? window.location : undefined);\n\n const path = location ? location.pathname + location.search : undefined;\n\n if (path) {\n value = getStateFromPathRef.current(path, configRef.current);\n }\n }\n\n const thenable = {\n then(onfulfilled?: (state: ResultState | undefined) => void) {\n return Promise.resolve(onfulfilled ? onfulfilled(value) : value);\n },\n catch() {\n return thenable;\n },\n };\n\n return thenable as PromiseLike<ResultState | undefined>;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const previousIndexRef = React.useRef<number | undefined>(undefined);\n const previousStateRef = React.useRef<NavigationState | undefined>(undefined);\n const pendingPopStatePathRef = React.useRef<string | undefined>(undefined);\n\n React.useEffect(() => {\n previousIndexRef.current = history.index;\n\n return history.listen(() => {\n const navigation = ref.current;\n\n if (!navigation || !enabled) {\n return;\n }\n\n const path = location.pathname + location.search;\n const index = history.index;\n\n const previousIndex = previousIndexRef.current ?? 0;\n\n previousIndexRef.current = index;\n pendingPopStatePathRef.current = path;\n\n // When browser back/forward is clicked, we first need to check if state object for this index exists\n // If it does we'll reset to that state object\n // Otherwise, we'll handle it like a regular deep link\n const record = history.get(index);\n\n if (record?.path === path && record?.state) {\n navigation.resetRoot(record.state);\n return;\n }\n\n const state = getStateFromPathRef.current(path, configRef.current);\n\n // We should only dispatch an action when going forward\n // Otherwise the action will likely add items to history, which would mess things up\n if (state) {\n // Make sure that the routes in the state exist in the root navigator\n // Otherwise there's an error in the linking configuration\n const rootState = navigation.getRootState();\n\n if (state.routes.some((r) => !rootState?.routeNames.includes(r.name))) {\n console.warn(\n \"The navigation state parsed from the URL contains routes not present in the root navigator. This usually means that the linking configuration doesn't match the navigation structure. See https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration.\"\n );\n return;\n }\n\n if (index > previousIndex) {\n const action = getActionFromStateRef.current(\n state,\n configRef.current\n );\n\n if (action !== undefined) {\n try {\n navigation.dispatch(action);\n } catch (e) {\n // Ignore any errors from deep linking.\n // This could happen in case of malformed links, navigation object not being initialized etc.\n console.warn(\n `An error occurred when trying to handle the link '${path}': ${\n typeof e === 'object' && e != null && 'message' in e\n ? // @ts-expect-error: we're already checking for this\n e.message\n : e\n }`\n );\n }\n } else {\n navigation.resetRoot(state);\n }\n } else {\n navigation.resetRoot(state);\n }\n } else {\n // if current path didn't return any state, we should revert to initial state\n navigation.resetRoot(state);\n }\n });\n }, [enabled, history, ref]);\n\n React.useEffect(() => {\n if (!enabled) {\n return;\n }\n\n const getPathForRoute = (\n route: ReturnType<typeof findFocusedRoute>,\n state: NavigationState\n ): string => {\n // If the `route` object contains a `path`, use that path as long as `route.name` and `params` still match\n // This makes sure that we preserve the original URL for wildcard routes\n if (route?.path) {\n const stateForPath = getStateFromPathRef.current(\n route.path,\n configRef.current\n );\n\n if (stateForPath) {\n const focusedRoute = findFocusedRoute(stateForPath);\n\n if (\n focusedRoute &&\n focusedRoute.name === route.name &&\n isEqual(focusedRoute.params, route.params)\n ) {\n return route.path;\n }\n }\n }\n\n return getPathFromStateRef.current(state, configRef.current);\n };\n\n if (ref.current) {\n // We need to record the current metadata on the first render if they aren't set\n // This will allow the initial state to be in the history entry\n const state = ref.current.getRootState();\n\n if (state) {\n const route = findFocusedRoute(state);\n const path = getPathForRoute(route, state);\n\n if (previousStateRef.current === undefined) {\n previousStateRef.current = state;\n }\n\n history.replace({ path, state });\n }\n }\n\n const onStateChange = async () => {\n const navigation = ref.current;\n\n if (!navigation || !enabled) {\n return;\n }\n\n const previousState = previousStateRef.current;\n const state = navigation.getRootState();\n\n // root state may not available, for example when root navigators switch inside the container\n if (!state) {\n return;\n }\n\n const pendingPath = pendingPopStatePathRef.current;\n const route = findFocusedRoute(state);\n const path = getPathForRoute(route, state);\n\n previousStateRef.current = state;\n pendingPopStatePathRef.current = undefined;\n\n // To detect the kind of state change, we need to:\n // - Find the common focused navigation state in previous and current state\n // - If only the route keys changed, compare history/routes.length to check if we go back/forward/replace\n // - If no common focused navigation state found, it's a replace\n const [previousFocusedState, focusedState] = findMatchingState(\n previousState,\n state\n );\n\n if (\n previousFocusedState &&\n focusedState &&\n // We should only handle push/pop if path changed from what was in last `popstate`\n // Otherwise it's likely a change triggered by `popstate`\n path !== pendingPath\n ) {\n const historyDelta =\n (focusedState.history\n ? focusedState.history.length\n : focusedState.routes.length) -\n (previousFocusedState.history\n ? previousFocusedState.history.length\n : previousFocusedState.routes.length);\n\n if (historyDelta > 0) {\n // If history length is increased, we should pushState\n // Note that path might not actually change here, for example, drawer open should pushState\n history.push({ path, state });\n } else if (historyDelta < 0) {\n // If history length is decreased, i.e. entries were removed, we want to go back\n\n const nextIndex = history.backIndex({ path });\n const currentIndex = history.index;\n\n try {\n if (nextIndex !== -1 && nextIndex < currentIndex) {\n // An existing entry for this path exists and it's less than current index, go back to that\n await history.go(nextIndex - currentIndex);\n } else {\n // We couldn't find an existing entry to go back to, so we'll go back by the delta\n // This won't be correct if multiple routes were pushed in one go before\n // Usually this shouldn't happen and this is a fallback for that\n await history.go(historyDelta);\n }\n\n // Store the updated state as well as fix the path if incorrect\n history.replace({ path, state });\n } catch (e) {\n // The navigation was interrupted\n }\n } else {\n // If history length is unchanged, we want to replaceState\n history.replace({ path, state });\n }\n } else {\n // If no common navigation state was found, assume it's a replace\n // This would happen if the user did a reset/conditionally changed navigators\n history.replace({ path, state });\n }\n };\n\n // We debounce onStateChange coz we don't want multiple state changes to be handled at one time\n // This could happen since `history.go(n)` is asynchronous\n // If `pushState` or `replaceState` were called before `history.go(n)` completes, it'll mess stuff up\n return ref.current?.addListener('state', series(onStateChange));\n });\n\n return {\n getInitialState,\n };\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/3c6883f5bfcbee9c6fb1b719a1b3fa14.json b/.expo/web/cache/development/babel-loader/3c6883f5bfcbee9c6fb1b719a1b3fa14.json new file mode 100644 index 0000000000000000000000000000000000000000..0a414a36802b603dc948ab75cf2e85c4289c545f --- /dev/null +++ b/.expo/web/cache/development/babel-loader/3c6883f5bfcbee9c6fb1b719a1b3fa14.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nexport default function useKeyedChildListeners() {\n var _React$useRef = React.useRef({\n getState: {},\n beforeRemove: {}\n }),\n keyedListeners = _React$useRef.current;\n\n var addKeyedListener = React.useCallback(function (type, key, listener) {\n keyedListeners[type][key] = listener;\n return function () {\n keyedListeners[type][key] = undefined;\n };\n }, [keyedListeners]);\n return {\n keyedListeners: keyedListeners,\n addKeyedListener: addKeyedListener\n };\n}","map":{"version":3,"sources":["useKeyedChildListeners.tsx"],"names":["current","keyedListeners","getState","beforeRemove","addKeyedListener"],"mappings":"AAAA,OAAO,KAAP,KAAA,MAAA,OAAA;AAOA,eAAe,SAAA,sBAAA,GAAkC;AAC/C,sBAAoC,KAAK,CAAL,MAAA,CAKjC;AACDE,IAAAA,QAAQ,EADP,EAAA;AAEDC,IAAAA,YAAY,EAAE;AAFb,GALiC,CAApC;AAAA,MAAiBF,cAAjB,iBAAQD,OAAR;;AAUA,MAAMI,gBAAgB,GAAG,KAAK,CAAL,WAAA,CACvB,UAAA,IAAA,EAAA,GAAA,EAAA,QAAA,EAIK;AACHH,IAAAA,cAAc,CAAdA,IAAc,CAAdA,CAAAA,GAAAA,IAAAA,QAAAA;AAEA,WAAO,YAAM;AACXA,MAAAA,cAAc,CAAdA,IAAc,CAAdA,CAAAA,GAAAA,IAAAA,SAAAA;AADF,KAAA;AARqB,GAAA,EAYvB,CAZF,cAYE,CAZuB,CAAzB;AAeA,SAAO;AACLA,IAAAA,cADK,EACLA,cADK;AAELG,IAAAA,gBAAAA,EAAAA;AAFK,GAAP;AAID","sourcesContent":["import * as React from 'react';\n\nimport type { KeyedListenerMap } from './NavigationBuilderContext';\n\n/**\n * Hook which lets child navigators add getters to be called for obtaining rehydrated state.\n */\nexport default function useKeyedChildListeners() {\n const { current: keyedListeners } = React.useRef<{\n [K in keyof KeyedListenerMap]: Record<\n string,\n KeyedListenerMap[K] | undefined\n >;\n }>({\n getState: {},\n beforeRemove: {},\n });\n\n const addKeyedListener = React.useCallback(\n <T extends keyof KeyedListenerMap>(\n type: T,\n key: string,\n listener: KeyedListenerMap[T]\n ) => {\n keyedListeners[type][key] = listener;\n\n return () => {\n keyedListeners[type][key] = undefined;\n };\n },\n [keyedListeners]\n );\n\n return {\n keyedListeners,\n addKeyedListener,\n };\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/3cc92eca5928b76e86675c9631ef5ae8.json b/.expo/web/cache/development/babel-loader/3cc92eca5928b76e86675c9631ef5ae8.json new file mode 100644 index 0000000000000000000000000000000000000000..4368d4a5c7ed9f132e2fcfb42b531ee43e7db3ca --- /dev/null +++ b/.expo/web/cache/development/babel-loader/3cc92eca5928b76e86675c9631ef5ae8.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n listenOnChange();\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n }\n });\n });\n }\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" bla\"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","firebase","DATA","UserLists","navigation","route","users","setUsers","listenOnChange","snapchot","docChanges","forEach","change","type","message","data","itemData","name","Name","email","Email","image","Image","push","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","selectedId","setSelectedId","renderItem","id","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","Alert","alert","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState(null);\r\n\r\nlistenOnChange();\r\n\r\n/*useEffect(()=>{\r\n \r\nconst colRef = collection(db,\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n const {email, image, name} = doc.data();\r\n const itemData = {name: name, email: email, image: image}\r\n DATA.push(itemData);\r\n Alert.alert(name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])*/\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n //Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> bla</Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/3d240f8e5f7292368adb18586eeefb9f.json b/.expo/web/cache/development/babel-loader/3d240f8e5f7292368adb18586eeefb9f.json new file mode 100644 index 0000000000000000000000000000000000000000..3bd72a4fa2a505d60fd0a6bd6ce6dbfbff47974a --- /dev/null +++ b/.expo/web/cache/development/babel-loader/3d240f8e5f7292368adb18586eeefb9f.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport AnimatedNode from \"./AnimatedNode\";\nimport AnimatedTransform from \"./AnimatedTransform\";\nimport AnimatedWithChildren from \"./AnimatedWithChildren\";\nimport NativeAnimatedHelper from \"../NativeAnimatedHelper\";\nimport flattenStyle from \"../../../../exports/StyleSheet/flattenStyle\";\n\nvar AnimatedStyle = function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedStyle, _AnimatedWithChildren);\n\n function AnimatedStyle(style) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n style = flattenStyle(style) || {};\n\n if (style.transform) {\n style = _objectSpread(_objectSpread({}, style), {}, {\n transform: new AnimatedTransform(style.transform)\n });\n }\n\n _this._style = style;\n return _this;\n }\n\n var _proto = AnimatedStyle.prototype;\n\n _proto._walkStyleAndGetValues = function _walkStyleAndGetValues(style) {\n var updatedStyle = {};\n\n for (var key in style) {\n var value = style[key];\n\n if (value instanceof AnimatedNode) {\n if (!value.__isNative) {\n updatedStyle[key] = value.__getValue();\n }\n } else if (value && !Array.isArray(value) && typeof value === 'object') {\n updatedStyle[key] = this._walkStyleAndGetValues(value);\n } else {\n updatedStyle[key] = value;\n }\n }\n\n return updatedStyle;\n };\n\n _proto.__getValue = function __getValue() {\n return this._walkStyleAndGetValues(this._style);\n };\n\n _proto._walkStyleAndGetAnimatedValues = function _walkStyleAndGetAnimatedValues(style) {\n var updatedStyle = {};\n\n for (var key in style) {\n var value = style[key];\n\n if (value instanceof AnimatedNode) {\n updatedStyle[key] = value.__getAnimatedValue();\n } else if (value && !Array.isArray(value) && typeof value === 'object') {\n updatedStyle[key] = this._walkStyleAndGetAnimatedValues(value);\n }\n }\n\n return updatedStyle;\n };\n\n _proto.__getAnimatedValue = function __getAnimatedValue() {\n return this._walkStyleAndGetAnimatedValues(this._style);\n };\n\n _proto.__attach = function __attach() {\n for (var key in this._style) {\n var value = this._style[key];\n\n if (value instanceof AnimatedNode) {\n value.__addChild(this);\n }\n }\n };\n\n _proto.__detach = function __detach() {\n for (var key in this._style) {\n var value = this._style[key];\n\n if (value instanceof AnimatedNode) {\n value.__removeChild(this);\n }\n }\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__makeNative = function __makeNative() {\n for (var key in this._style) {\n var value = this._style[key];\n\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n }\n }\n\n _AnimatedWithChildren.prototype.__makeNative.call(this);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n var styleConfig = {};\n\n for (var styleKey in this._style) {\n if (this._style[styleKey] instanceof AnimatedNode) {\n var style = this._style[styleKey];\n\n style.__makeNative();\n\n styleConfig[styleKey] = style.__getNativeTag();\n }\n }\n\n NativeAnimatedHelper.validateStyles(styleConfig);\n return {\n type: 'style',\n style: styleConfig\n };\n };\n\n return AnimatedStyle;\n}(AnimatedWithChildren);\n\nexport default AnimatedStyle;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedStyle.js"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","_inheritsLoose","subClass","superClass","prototype","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","AnimatedNode","AnimatedTransform","AnimatedWithChildren","NativeAnimatedHelper","flattenStyle","AnimatedStyle","_AnimatedWithChildren","style","_this","call","transform","_style","_proto","_walkStyleAndGetValues","updatedStyle","__isNative","__getValue","Array","isArray","_walkStyleAndGetAnimatedValues","__getAnimatedValue","__attach","__addChild","__detach","__removeChild","__makeNative","__getNativeConfig","styleConfig","styleKey","__getNativeTag","validateStyles","type"],"mappings":"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","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedTransform from './AnimatedTransform';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nimport flattenStyle from '../../../../exports/StyleSheet/flattenStyle';\n\nvar AnimatedStyle = /*#__PURE__*/function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedStyle, _AnimatedWithChildren);\n\n function AnimatedStyle(style) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n style = flattenStyle(style) || {};\n\n if (style.transform) {\n style = _objectSpread(_objectSpread({}, style), {}, {\n transform: new AnimatedTransform(style.transform)\n });\n }\n\n _this._style = style;\n return _this;\n } // Recursively get values for nested styles (like iOS's shadowOffset)\n\n\n var _proto = AnimatedStyle.prototype;\n\n _proto._walkStyleAndGetValues = function _walkStyleAndGetValues(style) {\n var updatedStyle = {};\n\n for (var key in style) {\n var value = style[key];\n\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\n return updatedStyle;\n };\n\n _proto.__getValue = function __getValue() {\n return this._walkStyleAndGetValues(this._style);\n } // Recursively get animated values for nested styles (like iOS's shadowOffset)\n ;\n\n _proto._walkStyleAndGetAnimatedValues = function _walkStyleAndGetAnimatedValues(style) {\n var updatedStyle = {};\n\n for (var key in style) {\n var value = style[key];\n\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\n return updatedStyle;\n };\n\n _proto.__getAnimatedValue = function __getAnimatedValue() {\n return this._walkStyleAndGetAnimatedValues(this._style);\n };\n\n _proto.__attach = function __attach() {\n for (var key in this._style) {\n var value = this._style[key];\n\n if (value instanceof AnimatedNode) {\n value.__addChild(this);\n }\n }\n };\n\n _proto.__detach = function __detach() {\n for (var key in this._style) {\n var value = this._style[key];\n\n if (value instanceof AnimatedNode) {\n value.__removeChild(this);\n }\n }\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__makeNative = function __makeNative() {\n for (var key in this._style) {\n var value = this._style[key];\n\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n }\n }\n\n _AnimatedWithChildren.prototype.__makeNative.call(this);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n var styleConfig = {};\n\n for (var styleKey in this._style) {\n if (this._style[styleKey] instanceof AnimatedNode) {\n var style = this._style[styleKey];\n\n style.__makeNative();\n\n styleConfig[styleKey] = style.__getNativeTag();\n } // Non-animated styles are set using `setNativeProps`, no need\n // to pass those as a part of the node config\n\n }\n\n NativeAnimatedHelper.validateStyles(styleConfig);\n return {\n type: 'style',\n style: styleConfig\n };\n };\n\n return AnimatedStyle;\n}(AnimatedWithChildren);\n\nexport default AnimatedStyle;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/3e676190f6d9838878fbc9adf5868bed.json b/.expo/web/cache/development/babel-loader/3e676190f6d9838878fbc9adf5868bed.json new file mode 100644 index 0000000000000000000000000000000000000000..5af46c6d04639194547d1a6278dcc978228ecadc --- /dev/null +++ b/.expo/web/cache/development/babel-loader/3e676190f6d9838878fbc9adf5868bed.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"style\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nimport { useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport Animated from \"react-native-web/dist/exports/Animated\";\nimport Platform from \"react-native-web/dist/exports/Platform\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nexport default function HeaderBackground(_ref) {\n var style = _ref.style,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n var _useTheme = useTheme(),\n colors = _useTheme.colors;\n\n return React.createElement(Animated.View, _extends({\n style: [styles.container, {\n backgroundColor: colors.card,\n borderBottomColor: colors.border,\n shadowColor: colors.border\n }, style]\n }, rest));\n}\nvar styles = StyleSheet.create({\n container: _objectSpread({\n flex: 1\n }, Platform.select({\n android: {\n elevation: 4\n },\n ios: {\n shadowOpacity: 0.85,\n shadowRadius: 0,\n shadowOffset: {\n width: 0,\n height: StyleSheet.hairlineWidth\n }\n },\n default: {\n borderBottomWidth: StyleSheet.hairlineWidth\n }\n }))\n});","map":{"version":3,"sources":["HeaderBackground.tsx"],"names":["rest","colors","useTheme","styles","backgroundColor","borderBottomColor","shadowColor","border","container","flex","android","elevation","ios","shadowOpacity","shadowRadius","shadowOffset","width","height","StyleSheet","hairlineWidth","default","borderBottomWidth"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAA,QAAA,QAAA,0BAAA;AACA,OAAO,KAAP,KAAA,MAAA,OAAA;;;;AAeA,eAAe,SAAA,gBAAA,CAAA,IAAA,EAAqD;AAA3B,MAAA,KAAA,GAA2B,IAA3B,CAAA,KAAA;AAAA,MAAYA,IAAZ,4BAA2B,IAA3B;;AACvC,kBAAmBE,QAAnB,EAAA;AAAA,MAAQD,MAAR,aAAQA,MAAR;;AAEA,SACE,KAAA,CAAA,aAAA,CAAC,QAAD,CAAA,IAAA,EAAA,QAAA,CAAA;AACE,IAAA,KAAK,EAAE,CACLE,MAAM,CADD,SAAA,EAEL;AACEC,MAAAA,eAAe,EAAEH,MAAM,CADzB,IAAA;AAEEI,MAAAA,iBAAiB,EAAEJ,MAAM,CAF3B,MAAA;AAGEK,MAAAA,WAAW,EAAEL,MAAM,CAACM;AAHtB,KAFK,EAAA,KAAA;AADT,GAAA,EADF,IACE,CAAA,CADF;AAcD;AAED,IAAMJ,MAAM,GAAG,UAAU,CAAV,MAAA,CAAkB;AAC/BK,EAAAA,SAAS;AACPC,IAAAA,IAAI,EADK;AAAF,KAEJ,QAAQ,CAAR,MAAA,CAAgB;AACjBC,IAAAA,OAAO,EAAE;AACPC,MAAAA,SAAS,EAAE;AADJ,KADQ;AAIjBC,IAAAA,GAAG,EAAE;AACHC,MAAAA,aAAa,EADV,IAAA;AAEHC,MAAAA,YAAY,EAFT,CAAA;AAGHC,MAAAA,YAAY,EAAE;AACZC,QAAAA,KAAK,EADO,CAAA;AAEZC,QAAAA,MAAM,EAAEC,UAAU,CAACC;AAFP;AAHX,KAJY;AAYjBC,IAAAA,OAAO,EAAE;AACPC,MAAAA,iBAAiB,EAAEH,UAAU,CAACC;AADvB;AAZQ,GAAhB,CAFI;AADsB,CAAlB,CAAf","sourcesContent":["import { useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport {\n Animated,\n Platform,\n StyleProp,\n StyleSheet,\n ViewProps,\n ViewStyle,\n} from 'react-native';\n\ntype Props = ViewProps & {\n style?: Animated.WithAnimatedValue<StyleProp<ViewStyle>>;\n children?: React.ReactNode;\n};\n\nexport default function HeaderBackground({ style, ...rest }: Props) {\n const { colors } = useTheme();\n\n return (\n <Animated.View\n style={[\n styles.container,\n {\n backgroundColor: colors.card,\n borderBottomColor: colors.border,\n shadowColor: colors.border,\n },\n style,\n ]}\n {...rest}\n />\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n ...Platform.select({\n android: {\n elevation: 4,\n },\n ios: {\n shadowOpacity: 0.85,\n shadowRadius: 0,\n shadowOffset: {\n width: 0,\n height: StyleSheet.hairlineWidth,\n },\n },\n default: {\n borderBottomWidth: StyleSheet.hairlineWidth,\n },\n }),\n },\n});\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/3e8398e6523045904ed53236512128a3.json b/.expo/web/cache/development/babel-loader/3e8398e6523045904ed53236512128a3.json new file mode 100644 index 0000000000000000000000000000000000000000..c5aec49601fff3d7caa9e7814abd15d266ddd159 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/3e8398e6523045904ed53236512128a3.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nimport { isBoolean, isFunction, isNumber, isObject, isString, isUndefined, isAndroid } from '@react-native-firebase/app/lib/common';\nimport { createModuleNamespace, FirebaseModule, getFirebaseRoot } from '@react-native-firebase/app/lib/internal';\nimport FirestoreCollectionReference from \"./FirestoreCollectionReference\";\nimport FirestoreDocumentReference from \"./FirestoreDocumentReference\";\nimport FirestorePath from \"./FirestorePath\";\nimport FirestoreQuery from \"./FirestoreQuery\";\nimport FirestoreQueryModifiers from \"./FirestoreQueryModifiers\";\nimport FirestoreStatics from \"./FirestoreStatics\";\nimport FirestoreTransactionHandler from \"./FirestoreTransactionHandler\";\nimport FirestoreWriteBatch from \"./FirestoreWriteBatch\";\nimport version from \"./version\";\nvar namespace = 'firestore';\nvar nativeModuleName = ['RNFBFirestoreModule', 'RNFBFirestoreCollectionModule', 'RNFBFirestoreDocumentModule', 'RNFBFirestoreTransactionModule'];\nvar nativeEvents = ['firestore_collection_sync_event', 'firestore_document_sync_event', 'firestore_transaction_event'];\n\nvar FirebaseFirestoreModule = function (_FirebaseModule) {\n _inherits(FirebaseFirestoreModule, _FirebaseModule);\n\n var _super = _createSuper(FirebaseFirestoreModule);\n\n function FirebaseFirestoreModule(app, config) {\n var _this;\n\n _classCallCheck(this, FirebaseFirestoreModule);\n\n _this = _super.call(this, app, config);\n _this._referencePath = new FirestorePath();\n _this._transactionHandler = new FirestoreTransactionHandler(_assertThisInitialized(_this));\n\n _this.emitter.addListener(_this.eventNameForApp('firestore_collection_sync_event'), function (event) {\n _this.emitter.emit(_this.eventNameForApp(\"firestore_collection_sync_event:\" + event.listenerId), event);\n });\n\n _this.emitter.addListener(_this.eventNameForApp('firestore_document_sync_event'), function (event) {\n _this.emitter.emit(_this.eventNameForApp(\"firestore_document_sync_event:\" + event.listenerId), event);\n });\n\n _this._settings = {\n ignoreUndefinedProperties: false\n };\n return _this;\n }\n\n _createClass(FirebaseFirestoreModule, [{\n key: \"batch\",\n value: function batch() {\n return new FirestoreWriteBatch(this);\n }\n }, {\n key: \"clearPersistence\",\n value: function clearPersistence() {\n return _regeneratorRuntime.async(function clearPersistence$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _regeneratorRuntime.awrap(this.native.clearPersistence());\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, this, null, Promise);\n }\n }, {\n key: \"waitForPendingWrites\",\n value: function waitForPendingWrites() {\n return _regeneratorRuntime.async(function waitForPendingWrites$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return _regeneratorRuntime.awrap(this.native.waitForPendingWrites());\n\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }\n }, null, this, null, Promise);\n }\n }, {\n key: \"terminate\",\n value: function terminate() {\n return _regeneratorRuntime.async(function terminate$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return _regeneratorRuntime.awrap(this.native.terminate());\n\n case 2:\n case \"end\":\n return _context3.stop();\n }\n }\n }, null, this, null, Promise);\n }\n }, {\n key: \"useEmulator\",\n value: function useEmulator(host, port) {\n if (!host || !isString(host) || !port || !isNumber(port)) {\n throw new Error('firebase.firestore().useEmulator() takes a non-empty host and port');\n }\n\n var _host = host;\n var androidBypassEmulatorUrlRemap = typeof this.firebaseJson.android_bypass_emulator_url_remap === 'boolean' && this.firebaseJson.android_bypass_emulator_url_remap;\n\n if (!androidBypassEmulatorUrlRemap && isAndroid && _host) {\n if (_host === 'localhost' || _host === '127.0.0.1') {\n _host = '10.0.2.2';\n console.log('Mapping firestore host to \"10.0.2.2\" for android emulators. Use real IP on real devices. You can bypass this behaviour with \"android_bypass_emulator_url_remap\" flag.');\n }\n }\n\n this.native.useEmulator(_host, port);\n return [_host, port];\n }\n }, {\n key: \"collection\",\n value: function collection(collectionPath) {\n if (!isString(collectionPath)) {\n throw new Error(\"firebase.firestore().collection(*) 'collectionPath' must be a string value.\");\n }\n\n if (collectionPath === '') {\n throw new Error(\"firebase.firestore().collection(*) 'collectionPath' must be a non-empty string.\");\n }\n\n var path = this._referencePath.child(collectionPath);\n\n if (!path.isCollection) {\n throw new Error(\"firebase.firestore().collection(*) 'collectionPath' must point to a collection.\");\n }\n\n return new FirestoreCollectionReference(this, path);\n }\n }, {\n key: \"collectionGroup\",\n value: function collectionGroup(collectionId) {\n if (!isString(collectionId)) {\n throw new Error(\"firebase.firestore().collectionGroup(*) 'collectionId' must be a string value.\");\n }\n\n if (collectionId === '') {\n throw new Error(\"firebase.firestore().collectionGroup(*) 'collectionId' must be a non-empty string.\");\n }\n\n if (collectionId.indexOf('/') >= 0) {\n throw new Error(\"firebase.firestore().collectionGroup(*) 'collectionId' must not contain '/'.\");\n }\n\n return new FirestoreQuery(this, this._referencePath.child(collectionId), new FirestoreQueryModifiers().asCollectionGroupQuery());\n }\n }, {\n key: \"disableNetwork\",\n value: function disableNetwork() {\n return _regeneratorRuntime.async(function disableNetwork$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return _regeneratorRuntime.awrap(this.native.disableNetwork());\n\n case 2:\n case \"end\":\n return _context4.stop();\n }\n }\n }, null, this, null, Promise);\n }\n }, {\n key: \"doc\",\n value: function doc(documentPath) {\n if (!isString(documentPath)) {\n throw new Error(\"firebase.firestore().doc(*) 'documentPath' must be a string value.\");\n }\n\n if (documentPath === '') {\n throw new Error(\"firebase.firestore().doc(*) 'documentPath' must be a non-empty string.\");\n }\n\n var path = this._referencePath.child(documentPath);\n\n if (!path.isDocument) {\n throw new Error(\"firebase.firestore().doc(*) 'documentPath' must point to a document.\");\n }\n\n return new FirestoreDocumentReference(this, path);\n }\n }, {\n key: \"enableNetwork\",\n value: function enableNetwork() {\n return _regeneratorRuntime.async(function enableNetwork$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return _regeneratorRuntime.awrap(this.native.enableNetwork());\n\n case 2:\n case \"end\":\n return _context5.stop();\n }\n }\n }, null, this, null, Promise);\n }\n }, {\n key: \"runTransaction\",\n value: function runTransaction(updateFunction) {\n if (!isFunction(updateFunction)) {\n return Promise.reject(new Error(\"firebase.firestore().runTransaction(*) 'updateFunction' must be a function.\"));\n }\n\n return this._transactionHandler._add(updateFunction);\n }\n }, {\n key: \"settings\",\n value: function settings(_settings) {\n if (!isObject(_settings)) {\n return Promise.reject(new Error(\"firebase.firestore().settings(*) 'settings' must be an object.\"));\n }\n\n var keys = Object.keys(_settings);\n var opts = ['cacheSizeBytes', 'host', 'persistence', 'ssl', 'ignoreUndefinedProperties', 'serverTimestampBehavior'];\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (!opts.includes(key)) {\n return Promise.reject(new Error(\"firebase.firestore().settings(*) 'settings.\" + key + \"' is not a valid settings field.\"));\n }\n }\n\n if (!isUndefined(_settings.cacheSizeBytes)) {\n if (!isNumber(_settings.cacheSizeBytes)) {\n return Promise.reject(new Error(\"firebase.firestore().settings(*) 'settings.cacheSizeBytes' must be a number value.\"));\n }\n\n if (_settings.cacheSizeBytes !== FirestoreStatics.CACHE_SIZE_UNLIMITED && _settings.cacheSizeBytes < 1048576) {\n return Promise.reject(new Error(\"firebase.firestore().settings(*) 'settings.cacheSizeBytes' the minimum cache size is 1048576 bytes (1MB).\"));\n }\n }\n\n if (!isUndefined(_settings.host)) {\n console.warn('host in settings to connect with firestore emulator is deprecated. Use useEmulator instead.');\n\n if (!isString(_settings.host)) {\n return Promise.reject(new Error(\"firebase.firestore().settings(*) 'settings.host' must be a string value.\"));\n }\n\n if (_settings.host === '') {\n return Promise.reject(new Error(\"firebase.firestore().settings(*) 'settings.host' must not be an empty string.\"));\n }\n\n if (isAndroid) {\n if (_settings.host.startsWith('localhost')) {\n _settings.host = _settings.host.replace('localhost', '10.0.2.2');\n console.log('Mapping firestore host \"localhost\" to \"10.0.2.2\" for android emulators. Use real IP on real devices.');\n }\n\n if (_settings.host.startsWith('127.0.0.1')) {\n _settings.host = _settings.host.replace('127.0.0.1', '10.0.2.2');\n console.log('Mapping firestore host \"127.0.0.1\" to \"10.0.2.2\" for android emulators. Use real IP on real devices.');\n }\n }\n }\n\n if (!isUndefined(_settings.persistence) && !isBoolean(_settings.persistence)) {\n return Promise.reject(new Error(\"firebase.firestore().settings(*) 'settings.persistence' must be a boolean value.\"));\n }\n\n if (!isUndefined(_settings.ssl) && !isBoolean(_settings.ssl)) {\n throw new Error(\"firebase.firestore().settings(*) 'settings.ssl' must be a boolean value.\");\n }\n\n if (!isUndefined(_settings.serverTimestampBehavior) && !['estimate', 'previous', 'none'].includes(_settings.serverTimestampBehavior)) {\n return Promise.reject(new Error(\"firebase.firestore().settings(*) 'settings.serverTimestampBehavior' must be one of 'estimate', 'previous', 'none'.\"));\n }\n\n if (!isUndefined(_settings.ignoreUndefinedProperties)) {\n if (!isBoolean(_settings.ignoreUndefinedProperties)) {\n return Promise.reject(new Error(\"firebase.firestore().settings(*) 'settings.ignoreUndefinedProperties' must be a boolean value.\"));\n } else {\n this._settings.ignoreUndefinedProperties = _settings.ignoreUndefinedProperties;\n }\n\n delete _settings.ignoreUndefinedProperties;\n }\n\n return this.native.settings(_settings);\n }\n }]);\n\n return FirebaseFirestoreModule;\n}(FirebaseModule);\n\nexport var SDK_VERSION = version;\nexport default createModuleNamespace({\n statics: FirestoreStatics,\n version: version,\n namespace: namespace,\n nativeModuleName: nativeModuleName,\n nativeEvents: nativeEvents,\n hasMultiAppSupport: true,\n hasCustomUrlOrRegionSupport: false,\n ModuleClass: FirebaseFirestoreModule\n});\nexport var firebase = getFirebaseRoot();","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/firestore/lib/index.js"],"names":["isBoolean","isFunction","isNumber","isObject","isString","isUndefined","isAndroid","createModuleNamespace","FirebaseModule","getFirebaseRoot","FirestoreCollectionReference","FirestoreDocumentReference","FirestorePath","FirestoreQuery","FirestoreQueryModifiers","FirestoreStatics","FirestoreTransactionHandler","FirestoreWriteBatch","version","namespace","nativeModuleName","nativeEvents","FirebaseFirestoreModule","app","config","_referencePath","_transactionHandler","emitter","addListener","eventNameForApp","event","emit","listenerId","_settings","ignoreUndefinedProperties","native","clearPersistence","waitForPendingWrites","terminate","host","port","Error","_host","androidBypassEmulatorUrlRemap","firebaseJson","android_bypass_emulator_url_remap","console","log","useEmulator","collectionPath","path","child","isCollection","collectionId","indexOf","asCollectionGroupQuery","disableNetwork","documentPath","isDocument","enableNetwork","updateFunction","Promise","reject","_add","settings","keys","Object","opts","i","length","key","includes","cacheSizeBytes","CACHE_SIZE_UNLIMITED","warn","startsWith","replace","persistence","ssl","serverTimestampBehavior","SDK_VERSION","statics","hasMultiAppSupport","hasCustomUrlOrRegionSupport","ModuleClass","firebase"],"mappings":"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","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport {\n isBoolean,\n isFunction,\n isNumber,\n isObject,\n isString,\n isUndefined,\n isAndroid,\n} from '@react-native-firebase/app/lib/common';\nimport {\n createModuleNamespace,\n FirebaseModule,\n getFirebaseRoot,\n} from '@react-native-firebase/app/lib/internal';\nimport FirestoreCollectionReference from './FirestoreCollectionReference';\nimport FirestoreDocumentReference from './FirestoreDocumentReference';\nimport FirestorePath from './FirestorePath';\nimport FirestoreQuery from './FirestoreQuery';\nimport FirestoreQueryModifiers from './FirestoreQueryModifiers';\nimport FirestoreStatics from './FirestoreStatics';\nimport FirestoreTransactionHandler from './FirestoreTransactionHandler';\nimport FirestoreWriteBatch from './FirestoreWriteBatch';\nimport version from './version';\n\nconst namespace = 'firestore';\n\nconst nativeModuleName = [\n 'RNFBFirestoreModule',\n 'RNFBFirestoreCollectionModule',\n 'RNFBFirestoreDocumentModule',\n 'RNFBFirestoreTransactionModule',\n];\n\nconst nativeEvents = [\n 'firestore_collection_sync_event',\n 'firestore_document_sync_event',\n 'firestore_transaction_event',\n];\n\nclass FirebaseFirestoreModule extends FirebaseModule {\n constructor(app, config) {\n super(app, config);\n this._referencePath = new FirestorePath();\n this._transactionHandler = new FirestoreTransactionHandler(this);\n\n // Fan out native events\n this.emitter.addListener(this.eventNameForApp('firestore_collection_sync_event'), event => {\n this.emitter.emit(\n this.eventNameForApp(`firestore_collection_sync_event:${event.listenerId}`),\n event,\n );\n });\n\n this.emitter.addListener(this.eventNameForApp('firestore_document_sync_event'), event => {\n this.emitter.emit(\n this.eventNameForApp(`firestore_document_sync_event:${event.listenerId}`),\n event,\n );\n });\n\n this._settings = {\n ignoreUndefinedProperties: false,\n };\n }\n\n batch() {\n return new FirestoreWriteBatch(this);\n }\n\n async clearPersistence() {\n await this.native.clearPersistence();\n }\n\n async waitForPendingWrites() {\n await this.native.waitForPendingWrites();\n }\n\n async terminate() {\n await this.native.terminate();\n }\n\n useEmulator(host, port) {\n if (!host || !isString(host) || !port || !isNumber(port)) {\n throw new Error('firebase.firestore().useEmulator() takes a non-empty host and port');\n }\n let _host = host;\n const androidBypassEmulatorUrlRemap =\n typeof this.firebaseJson.android_bypass_emulator_url_remap === 'boolean' &&\n this.firebaseJson.android_bypass_emulator_url_remap;\n if (!androidBypassEmulatorUrlRemap && isAndroid && _host) {\n if (_host === 'localhost' || _host === '127.0.0.1') {\n _host = '10.0.2.2';\n // eslint-disable-next-line no-console\n console.log(\n 'Mapping firestore host to \"10.0.2.2\" for android emulators. Use real IP on real devices. You can bypass this behaviour with \"android_bypass_emulator_url_remap\" flag.',\n );\n }\n }\n this.native.useEmulator(_host, port);\n return [_host, port]; // undocumented return, just used to unit test android host remapping\n }\n\n collection(collectionPath) {\n if (!isString(collectionPath)) {\n throw new Error(\n \"firebase.firestore().collection(*) 'collectionPath' must be a string value.\",\n );\n }\n\n if (collectionPath === '') {\n throw new Error(\n \"firebase.firestore().collection(*) 'collectionPath' must be a non-empty string.\",\n );\n }\n\n const path = this._referencePath.child(collectionPath);\n\n if (!path.isCollection) {\n throw new Error(\n \"firebase.firestore().collection(*) 'collectionPath' must point to a collection.\",\n );\n }\n\n return new FirestoreCollectionReference(this, path);\n }\n\n collectionGroup(collectionId) {\n if (!isString(collectionId)) {\n throw new Error(\n \"firebase.firestore().collectionGroup(*) 'collectionId' must be a string value.\",\n );\n }\n\n if (collectionId === '') {\n throw new Error(\n \"firebase.firestore().collectionGroup(*) 'collectionId' must be a non-empty string.\",\n );\n }\n\n if (collectionId.indexOf('/') >= 0) {\n throw new Error(\n \"firebase.firestore().collectionGroup(*) 'collectionId' must not contain '/'.\",\n );\n }\n\n return new FirestoreQuery(\n this,\n this._referencePath.child(collectionId),\n new FirestoreQueryModifiers().asCollectionGroupQuery(),\n );\n }\n\n async disableNetwork() {\n await this.native.disableNetwork();\n }\n\n doc(documentPath) {\n if (!isString(documentPath)) {\n throw new Error(\"firebase.firestore().doc(*) 'documentPath' must be a string value.\");\n }\n\n if (documentPath === '') {\n throw new Error(\"firebase.firestore().doc(*) 'documentPath' must be a non-empty string.\");\n }\n\n const path = this._referencePath.child(documentPath);\n\n if (!path.isDocument) {\n throw new Error(\"firebase.firestore().doc(*) 'documentPath' must point to a document.\");\n }\n\n return new FirestoreDocumentReference(this, path);\n }\n\n async enableNetwork() {\n await this.native.enableNetwork();\n }\n\n runTransaction(updateFunction) {\n if (!isFunction(updateFunction)) {\n return Promise.reject(\n new Error(\"firebase.firestore().runTransaction(*) 'updateFunction' must be a function.\"),\n );\n }\n\n return this._transactionHandler._add(updateFunction);\n }\n\n settings(settings) {\n if (!isObject(settings)) {\n return Promise.reject(\n new Error(\"firebase.firestore().settings(*) 'settings' must be an object.\"),\n );\n }\n\n const keys = Object.keys(settings);\n\n const opts = [\n 'cacheSizeBytes',\n 'host',\n 'persistence',\n 'ssl',\n 'ignoreUndefinedProperties',\n 'serverTimestampBehavior',\n ];\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (!opts.includes(key)) {\n return Promise.reject(\n new Error(\n `firebase.firestore().settings(*) 'settings.${key}' is not a valid settings field.`,\n ),\n );\n }\n }\n\n if (!isUndefined(settings.cacheSizeBytes)) {\n if (!isNumber(settings.cacheSizeBytes)) {\n return Promise.reject(\n new Error(\n \"firebase.firestore().settings(*) 'settings.cacheSizeBytes' must be a number value.\",\n ),\n );\n }\n\n if (\n settings.cacheSizeBytes !== FirestoreStatics.CACHE_SIZE_UNLIMITED &&\n settings.cacheSizeBytes < 1048576 // 1MB\n ) {\n return Promise.reject(\n new Error(\n \"firebase.firestore().settings(*) 'settings.cacheSizeBytes' the minimum cache size is 1048576 bytes (1MB).\",\n ),\n );\n }\n }\n\n if (!isUndefined(settings.host)) {\n // eslint-disable-next-line no-console\n console.warn(\n 'host in settings to connect with firestore emulator is deprecated. Use useEmulator instead.',\n );\n if (!isString(settings.host)) {\n return Promise.reject(\n new Error(\"firebase.firestore().settings(*) 'settings.host' must be a string value.\"),\n );\n }\n\n if (settings.host === '') {\n return Promise.reject(\n new Error(\n \"firebase.firestore().settings(*) 'settings.host' must not be an empty string.\",\n ),\n );\n }\n\n if (isAndroid) {\n if (settings.host.startsWith('localhost')) {\n settings.host = settings.host.replace('localhost', '10.0.2.2');\n // eslint-disable-next-line no-console\n console.log(\n 'Mapping firestore host \"localhost\" to \"10.0.2.2\" for android emulators. Use real IP on real devices.',\n );\n }\n if (settings.host.startsWith('127.0.0.1')) {\n settings.host = settings.host.replace('127.0.0.1', '10.0.2.2');\n // eslint-disable-next-line no-console\n console.log(\n 'Mapping firestore host \"127.0.0.1\" to \"10.0.2.2\" for android emulators. Use real IP on real devices.',\n );\n }\n }\n }\n\n if (!isUndefined(settings.persistence) && !isBoolean(settings.persistence)) {\n return Promise.reject(\n new Error(\n \"firebase.firestore().settings(*) 'settings.persistence' must be a boolean value.\",\n ),\n );\n }\n\n if (!isUndefined(settings.ssl) && !isBoolean(settings.ssl)) {\n throw new Error(\"firebase.firestore().settings(*) 'settings.ssl' must be a boolean value.\");\n }\n\n if (\n !isUndefined(settings.serverTimestampBehavior) &&\n !['estimate', 'previous', 'none'].includes(settings.serverTimestampBehavior)\n ) {\n return Promise.reject(\n new Error(\n \"firebase.firestore().settings(*) 'settings.serverTimestampBehavior' must be one of 'estimate', 'previous', 'none'.\",\n ),\n );\n }\n\n if (!isUndefined(settings.ignoreUndefinedProperties)) {\n if (!isBoolean(settings.ignoreUndefinedProperties)) {\n return Promise.reject(\n new Error(\n \"firebase.firestore().settings(*) 'settings.ignoreUndefinedProperties' must be a boolean value.\",\n ),\n );\n } else {\n this._settings.ignoreUndefinedProperties = settings.ignoreUndefinedProperties;\n }\n\n delete settings.ignoreUndefinedProperties;\n }\n\n return this.native.settings(settings);\n }\n}\n\n// import { SDK_VERSION } from '@react-native-firebase/firestore';\nexport const SDK_VERSION = version;\n\n// import firestore from '@react-native-firebase/firestore';\n// firestore().X(...);\nexport default createModuleNamespace({\n statics: FirestoreStatics,\n version,\n namespace,\n nativeModuleName,\n nativeEvents,\n hasMultiAppSupport: true,\n hasCustomUrlOrRegionSupport: false,\n ModuleClass: FirebaseFirestoreModule,\n});\n\n// import firestore, { firebase } from '@react-native-firebase/firestore';\n// firestore().X(...);\n// firebase.firestore().X(...);\nexport const firebase = getFirebaseRoot();\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/3fd984c35f943827900cb7f0879a7339.json b/.expo/web/cache/development/babel-loader/3fd984c35f943827900cb7f0879a7339.json new file mode 100644 index 0000000000000000000000000000000000000000..5f7204cc03449d9a9d5f5505cbca8f9519166abc --- /dev/null +++ b/.expo/web/cache/development/babel-loader/3fd984c35f943827900cb7f0879a7339.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport TextInput from \"react-native-web/dist/exports/TextInput\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport React, { useState, useEffect } from 'react';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function CreateNewUser(_ref) {\n var navigation = _ref.navigation;\n\n var _useState = useState(''),\n _useState2 = _slicedToArray(_useState, 2),\n name = _useState2[0],\n onChangeName = _useState2[1];\n\n var _useState3 = useState(''),\n _useState4 = _slicedToArray(_useState3, 2),\n email = _useState4[0],\n onChangeEmail = _useState4[1];\n\n var _useState5 = useState(''),\n _useState6 = _slicedToArray(_useState5, 2),\n image = _useState6[0],\n onChangeImage = _useState6[1];\n\n function newUser() {\n return _regeneratorRuntime.async(function newUser$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return _regeneratorRuntime.awrap(addDoc(collection(getFirestore(), 'Users'), {\n Name: name,\n Email: email,\n Image: image\n }));\n\n case 3:\n _context.next = 7;\n break;\n\n case 5:\n _context.prev = 5;\n _context.t0 = _context[\"catch\"](0);\n\n case 7:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, [[0, 5]], Promise);\n }\n\n ;\n\n function Submitt() {\n newUser();\n navigation.navigate({\n name: 'UserList',\n merge: true\n });\n }\n\n return _jsxs(View, {\n style: styles.container,\n children: [_jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeName,\n value: name,\n multiline: true,\n placeholder: \"Name\"\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeEmail,\n value: email,\n multiline: true,\n placeholder: \"Email\"\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeImage,\n value: image,\n multiline: true,\n placeholder: \"Image URL\"\n }), _jsx(TouchableOpacity, {\n style: styles.button,\n onPress: Submitt,\n children: _jsx(Text, {\n style: styles.cancelButtonText,\n children: \"Submitt\"\n })\n })]\n });\n}\n;\nvar styles = StyleSheet.create({\n container: {\n marginLeft: 10\n },\n input: {\n borderBottomColor: '#CFCDCD',\n borderBottomWidth: 1,\n width: 220,\n marginTop: 20\n },\n button: {\n marginTop: 35,\n width: 85,\n height: 35,\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\n borderRadius: 12,\n justifyContent: 'center'\n },\n cancelButtonText: {\n height: 28,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 15,\n lineHeight: 22,\n textAlign: 'center',\n color: \"#5E6A79\"\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/CreateNewUser.js"],"names":["React","useState","useEffect","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","firebase","CreateNewUser","navigation","name","onChangeName","email","onChangeEmail","image","onChangeImage","newUser","Name","Email","Image","Submitt","navigate","merge","styles","container","input","button","cancelButtonText","StyleSheet","create","marginLeft","borderBottomColor","borderBottomWidth","width","marginTop","height","backgroundColor","borderRadius","justifyContent","fontStyle","fontWeight","fontSize","lineHeight","textAlign","color"],"mappings":"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","sourcesContent":["import { StyleSheet, Text, View, Button, TextInput, TouchableOpacity } from 'react-native';\r\nimport React, { useState, useEffect } from 'react';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\nexport default function CreateNewUser({ navigation}){\r\n\r\n const [name, onChangeName] = useState('');\r\n const [email, onChangeEmail] = useState('');\r\n const [image, onChangeImage] = useState('');\r\n\r\n async function newUser(){\r\n try{\r\n await addDoc(collection(getFirestore(), 'Users'),{\r\n Name: name,\r\n Email: email,\r\n Image: image,\r\n });\r\n }\r\n catch(error){\r\n \r\n }\r\n };\r\n\r\n function Submitt(){\r\n newUser();\r\nnavigation.navigate({\r\n name: 'UserList',\r\n //params: { post: fach },\r\n merge: true,\r\n });\r\n }\r\nreturn(\r\n <View style={styles.container}>\r\n \r\n <TextInput style={styles.input} onChangeText={onChangeName} value={name} multiline = {true} placeholder=\"Name\" />\r\n <TextInput style={styles.input} onChangeText={onChangeEmail} value={email} multiline = {true} placeholder=\"Email\"/>\r\n <TextInput style={styles.input} onChangeText={onChangeImage} value={image} multiline = {true} placeholder=\"Image URL\"/>\r\n <TouchableOpacity style={styles.button} onPress={Submitt}> \r\n <Text style={styles.cancelButtonText}>\r\n Submitt\r\n </Text>\r\n </TouchableOpacity>\r\n \r\n </View>\r\n)\r\n};\r\n\r\nconst styles = StyleSheet.create({\r\n container:{\r\n marginLeft:10,\r\n },\r\n input:{\r\n //underlineColorAndroid: '#CFCDCD',\r\n borderBottomColor:'#CFCDCD',\r\n borderBottomWidth:1,\r\n width: 220,\r\n marginTop: 20,\r\n },\r\n button:{\r\n marginTop:35,\r\n width: 85,\r\n height: 35,\r\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\r\n //box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);\r\n borderRadius: 12,\r\n justifyContent: 'center',\r\n \r\n },\r\n cancelButtonText:{\r\n //width: 55,\r\n height: 28,\r\n\r\n //font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 15,\r\n lineHeight: 22,\r\n textAlign:'center',\r\n color: \"#5E6A79\",\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/407ea366b5bfa512cd3e437a1e8bf412.json b/.expo/web/cache/development/babel-loader/407ea366b5bfa512cd3e437a1e8bf412.json new file mode 100644 index 0000000000000000000000000000000000000000..2d908a07994eb9a154ffc4afced87cc2b6d3acc1 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/407ea366b5bfa512cd3e437a1e8bf412.json @@ -0,0 +1 @@ +{"ast":null,"code":"import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';\nvar doLeftAndRightSwapInRTL = true;\nvar isPreferredLanguageRTL = false;\nvar isRTLAllowed = true;\nvar isRTLForced = false;\n\nvar isRTL = function isRTL() {\n if (isRTLForced) {\n return true;\n }\n\n return isRTLAllowed && isPreferredLanguageRTL;\n};\n\nvar onDirectionChange = function onDirectionChange() {\n if (ExecutionEnvironment.canUseDOM) {\n if (document.documentElement && document.documentElement.setAttribute) {\n document.documentElement.setAttribute('dir', isRTL() ? 'rtl' : 'ltr');\n }\n }\n};\n\nvar I18nManager = {\n allowRTL: function allowRTL(bool) {\n isRTLAllowed = bool;\n onDirectionChange();\n },\n forceRTL: function forceRTL(bool) {\n isRTLForced = bool;\n onDirectionChange();\n },\n getConstants: function getConstants() {\n return {\n doLeftAndRightSwapInRTL: doLeftAndRightSwapInRTL,\n isRTL: isRTL()\n };\n },\n setPreferredLanguageRTL: function setPreferredLanguageRTL(bool) {\n isPreferredLanguageRTL = bool;\n onDirectionChange();\n },\n swapLeftAndRightInRTL: function swapLeftAndRightInRTL(bool) {\n doLeftAndRightSwapInRTL = bool;\n }\n};\nexport default I18nManager;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/I18nManager/index.js"],"names":["ExecutionEnvironment","doLeftAndRightSwapInRTL","isPreferredLanguageRTL","isRTLAllowed","isRTLForced","isRTL","onDirectionChange","canUseDOM","document","documentElement","setAttribute","I18nManager","allowRTL","bool","forceRTL","getConstants","setPreferredLanguageRTL","swapLeftAndRightInRTL"],"mappings":"AASA,OAAOA,oBAAP,MAAiC,+BAAjC;AACA,IAAIC,uBAAuB,GAAG,IAA9B;AACA,IAAIC,sBAAsB,GAAG,KAA7B;AACA,IAAIC,YAAY,GAAG,IAAnB;AACA,IAAIC,WAAW,GAAG,KAAlB;;AAEA,IAAIC,KAAK,GAAG,SAASA,KAAT,GAAiB;AAC3B,MAAID,WAAJ,EAAiB;AACf,WAAO,IAAP;AACD;;AAED,SAAOD,YAAY,IAAID,sBAAvB;AACD,CAND;;AAQA,IAAII,iBAAiB,GAAG,SAASA,iBAAT,GAA6B;AACnD,MAAIN,oBAAoB,CAACO,SAAzB,EAAoC;AAClC,QAAIC,QAAQ,CAACC,eAAT,IAA4BD,QAAQ,CAACC,eAAT,CAAyBC,YAAzD,EAAuE;AACrEF,MAAAA,QAAQ,CAACC,eAAT,CAAyBC,YAAzB,CAAsC,KAAtC,EAA6CL,KAAK,KAAK,KAAL,GAAa,KAA/D;AACD;AACF;AACF,CAND;;AAQA,IAAIM,WAAW,GAAG;AAChBC,EAAAA,QAAQ,EAAE,SAASA,QAAT,CAAkBC,IAAlB,EAAwB;AAChCV,IAAAA,YAAY,GAAGU,IAAf;AACAP,IAAAA,iBAAiB;AAClB,GAJe;AAKhBQ,EAAAA,QAAQ,EAAE,SAASA,QAAT,CAAkBD,IAAlB,EAAwB;AAChCT,IAAAA,WAAW,GAAGS,IAAd;AACAP,IAAAA,iBAAiB;AAClB,GARe;AAShBS,EAAAA,YAAY,EAAE,SAASA,YAAT,GAAwB;AACpC,WAAO;AACLd,MAAAA,uBAAuB,EAAEA,uBADpB;AAELI,MAAAA,KAAK,EAAEA,KAAK;AAFP,KAAP;AAID,GAde;AAehBW,EAAAA,uBAAuB,EAAE,SAASA,uBAAT,CAAiCH,IAAjC,EAAuC;AAC9DX,IAAAA,sBAAsB,GAAGW,IAAzB;AACAP,IAAAA,iBAAiB;AAClB,GAlBe;AAmBhBW,EAAAA,qBAAqB,EAAE,SAASA,qBAAT,CAA+BJ,IAA/B,EAAqC;AAC1DZ,IAAAA,uBAAuB,GAAGY,IAA1B;AACD;AArBe,CAAlB;AAuBA,eAAeF,WAAf","sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';\nvar doLeftAndRightSwapInRTL = true;\nvar isPreferredLanguageRTL = false;\nvar isRTLAllowed = true;\nvar isRTLForced = false;\n\nvar isRTL = function isRTL() {\n if (isRTLForced) {\n return true;\n }\n\n return isRTLAllowed && isPreferredLanguageRTL;\n};\n\nvar onDirectionChange = function onDirectionChange() {\n if (ExecutionEnvironment.canUseDOM) {\n if (document.documentElement && document.documentElement.setAttribute) {\n document.documentElement.setAttribute('dir', isRTL() ? 'rtl' : 'ltr');\n }\n }\n};\n\nvar I18nManager = {\n allowRTL: function allowRTL(bool) {\n isRTLAllowed = bool;\n onDirectionChange();\n },\n forceRTL: function forceRTL(bool) {\n isRTLForced = bool;\n onDirectionChange();\n },\n getConstants: function getConstants() {\n return {\n doLeftAndRightSwapInRTL: doLeftAndRightSwapInRTL,\n isRTL: isRTL()\n };\n },\n setPreferredLanguageRTL: function setPreferredLanguageRTL(bool) {\n isPreferredLanguageRTL = bool;\n onDirectionChange();\n },\n swapLeftAndRightInRTL: function swapLeftAndRightInRTL(bool) {\n doLeftAndRightSwapInRTL = bool;\n }\n};\nexport default I18nManager;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/40f18b3b650727d6a5f448b67b339b5b.json b/.expo/web/cache/development/babel-loader/40f18b3b650727d6a5f448b67b339b5b.json new file mode 100644 index 0000000000000000000000000000000000000000..2911662cc0a167d8ddbfe1d0bbd31d39bda20bac --- /dev/null +++ b/.expo/web/cache/development/babel-loader/40f18b3b650727d6a5f448b67b339b5b.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nvar NavigationContainerRefContext = React.createContext(undefined);\nexport default NavigationContainerRefContext;","map":{"version":3,"sources":["NavigationContainerRefContext.tsx"],"names":["NavigationContainerRefContext","React"],"mappings":"AACA,OAAO,KAAP,KAAA,MAAA,OAAA;AAOA,IAAMA,6BAA6B,GAAGC,KAAK,CAALA,aAAAA,CAAtC,SAAsCA,CAAtC;AAIA,eAAA,6BAAA","sourcesContent":["import type { ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { NavigationContainerRef } from './types';\n\n/**\n * Context which holds the route prop for a screen.\n */\nconst NavigationContainerRefContext = React.createContext<\n NavigationContainerRef<ParamListBase> | undefined\n>(undefined);\n\nexport default NavigationContainerRefContext;\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/41d8928826539047c7d3c0a8c9f09219.json b/.expo/web/cache/development/babel-loader/41d8928826539047c7d3c0a8c9f09219.json new file mode 100644 index 0000000000000000000000000000000000000000..00619ac8e8c6b5f1a16f40d381b363e0a9c6d7a3 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/41d8928826539047c7d3c0a8c9f09219.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _extends from \"@babel/runtime/helpers/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { getAppModule, getNativeModule } from \"./registry/nativeModule\";\nimport SharedEventEmitter from \"./SharedEventEmitter\";\nvar firebaseJson = null;\n\nvar FirebaseModule = function () {\n function FirebaseModule(app, config, customUrlOrRegion) {\n _classCallCheck(this, FirebaseModule);\n\n this._app = app;\n this._nativeModule = null;\n this._customUrlOrRegion = customUrlOrRegion;\n this._config = _extends({}, config);\n }\n\n _createClass(FirebaseModule, [{\n key: \"app\",\n get: function get() {\n return this._app;\n }\n }, {\n key: \"firebaseJson\",\n get: function get() {\n if (firebaseJson) {\n return firebaseJson;\n }\n\n firebaseJson = JSON.parse(getAppModule().FIREBASE_RAW_JSON);\n return firebaseJson;\n }\n }, {\n key: \"emitter\",\n get: function get() {\n return SharedEventEmitter;\n }\n }, {\n key: \"eventNameForApp\",\n value: function eventNameForApp() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return this.app.name + \"-\" + args.join('-');\n }\n }, {\n key: \"native\",\n get: function get() {\n if (this._nativeModule) {\n return this._nativeModule;\n }\n\n this._nativeModule = getNativeModule(this);\n return this._nativeModule;\n }\n }]);\n\n return FirebaseModule;\n}();\n\nexport { FirebaseModule as default };\nFirebaseModule.__extended__ = {};","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/app/lib/internal/FirebaseModule.js"],"names":["getAppModule","getNativeModule","SharedEventEmitter","firebaseJson","FirebaseModule","app","config","customUrlOrRegion","_app","_nativeModule","_customUrlOrRegion","_config","JSON","parse","FIREBASE_RAW_JSON","args","name","join","__extended__"],"mappings":";;;AAiBA,SAASA,YAAT,EAAuBC,eAAvB;AACA,OAAOC,kBAAP;AAEA,IAAIC,YAAY,GAAG,IAAnB;;IAEqBC,c;AACnB,0BAAYC,GAAZ,EAAiBC,MAAjB,EAAyBC,iBAAzB,EAA4C;AAAA;;AAC1C,SAAKC,IAAL,GAAYH,GAAZ;AACA,SAAKI,aAAL,GAAqB,IAArB;AACA,SAAKC,kBAAL,GAA0BH,iBAA1B;AACA,SAAKI,OAAL,GAAe,SAAc,EAAd,EAAkBL,MAAlB,CAAf;AACD;;;;SAED,eAAU;AACR,aAAO,KAAKE,IAAZ;AACD;;;SAED,eAAmB;AACjB,UAAIL,YAAJ,EAAkB;AAChB,eAAOA,YAAP;AACD;;AACDA,MAAAA,YAAY,GAAGS,IAAI,CAACC,KAAL,CAAWb,YAAY,GAAGc,iBAA1B,CAAf;AACA,aAAOX,YAAP;AACD;;;SAED,eAAc;AACZ,aAAOD,kBAAP;AACD;;;WAGD,2BAAyB;AAAA,wCAANa,IAAM;AAANA,QAAAA,IAAM;AAAA;;AACvB,aAAU,KAAKV,GAAL,CAASW,IAAnB,SAA2BD,IAAI,CAACE,IAAL,CAAU,GAAV,CAA3B;AACD;;;SAED,eAAa;AACX,UAAI,KAAKR,aAAT,EAAwB;AACtB,eAAO,KAAKA,aAAZ;AACD;;AACD,WAAKA,aAAL,GAAqBR,eAAe,CAAC,IAAD,CAApC;AACA,aAAO,KAAKQ,aAAZ;AACD;;;;;;SAnCkBL,c;AAuCrBA,cAAc,CAACc,YAAf,GAA8B,EAA9B","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { getAppModule, getNativeModule } from './registry/nativeModule';\nimport SharedEventEmitter from './SharedEventEmitter';\n\nlet firebaseJson = null;\n\nexport default class FirebaseModule {\n constructor(app, config, customUrlOrRegion) {\n this._app = app;\n this._nativeModule = null;\n this._customUrlOrRegion = customUrlOrRegion;\n this._config = Object.assign({}, config);\n }\n\n get app() {\n return this._app;\n }\n\n get firebaseJson() {\n if (firebaseJson) {\n return firebaseJson;\n }\n firebaseJson = JSON.parse(getAppModule().FIREBASE_RAW_JSON);\n return firebaseJson;\n }\n\n get emitter() {\n return SharedEventEmitter;\n }\n\n // TODO Handle custom url or region?\n eventNameForApp(...args) {\n return `${this.app.name}-${args.join('-')}`;\n }\n\n get native() {\n if (this._nativeModule) {\n return this._nativeModule;\n }\n this._nativeModule = getNativeModule(this);\n return this._nativeModule;\n }\n}\n\n// Instance of checks don't work once compiled\nFirebaseModule.__extended__ = {};\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/41ee448f90ba02d6dc5eda9ebd961cc0.json b/.expo/web/cache/development/babel-loader/41ee448f90ba02d6dc5eda9ebd961cc0.json new file mode 100644 index 0000000000000000000000000000000000000000..db041da953102408429df9c1581f5dc292d36678 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/41ee448f90ba02d6dc5eda9ebd961cc0.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nimport ThemeContext from \"./ThemeContext\";\nexport default function ThemeProvider(_ref) {\n var value = _ref.value,\n children = _ref.children;\n return React.createElement(ThemeContext.Provider, {\n value: value\n }, children);\n}","map":{"version":3,"sources":["ThemeProvider.tsx"],"names":["children","value"],"mappings":"AAAA,OAAO,KAAP,KAAA,MAAA,OAAA;AAGA,OAAA,YAAA;AAOA,eAAe,SAAA,aAAA,CAAA,IAAA,EAAmD;AAA5B,MAAA,KAAA,GAA4B,IAA5B,CAAA,KAAA;AAAA,MAASA,QAAT,GAA4B,IAA5B,CAASA,QAAT;AACpC,SACE,KAAA,CAAA,aAAA,CAAC,YAAD,CAAA,QAAA,EAAA;AAAuB,IAAA,KAAK,EAAEC;AAA9B,GAAA,EADF,QACE,CADF;AAGD","sourcesContent":["import * as React from 'react';\n\nimport type { Theme } from '../types';\nimport ThemeContext from './ThemeContext';\n\ntype Props = {\n value: Theme;\n children: React.ReactNode;\n};\n\nexport default function ThemeProvider({ value, children }: Props) {\n return (\n <ThemeContext.Provider value={value}>{children}</ThemeContext.Provider>\n );\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/424ae2f4305272367e3e52ebec620d85.json b/.expo/web/cache/development/babel-loader/424ae2f4305272367e3e52ebec620d85.json new file mode 100644 index 0000000000000000000000000000000000000000..e20231983b0d6ffde58e125b02afbb647764600e --- /dev/null +++ b/.expo/web/cache/development/babel-loader/424ae2f4305272367e3e52ebec620d85.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nimport invariant from 'fbjs/lib/invariant';\n\nvar EventSubscriptionVendor = function () {\n function EventSubscriptionVendor() {\n this._subscriptionsForType = {};\n }\n\n var _proto = EventSubscriptionVendor.prototype;\n\n _proto.addSubscription = function addSubscription(eventType, subscription) {\n invariant(subscription.subscriber === this, 'The subscriber of the subscription is incorrectly set.');\n\n if (!this._subscriptionsForType[eventType]) {\n this._subscriptionsForType[eventType] = [];\n }\n\n var key = this._subscriptionsForType[eventType].length;\n\n this._subscriptionsForType[eventType].push(subscription);\n\n subscription.eventType = eventType;\n subscription.key = key;\n return subscription;\n };\n\n _proto.removeAllSubscriptions = function removeAllSubscriptions(eventType) {\n if (eventType == null) {\n this._subscriptionsForType = {};\n } else {\n delete this._subscriptionsForType[eventType];\n }\n };\n\n _proto.removeSubscription = function removeSubscription(subscription) {\n var eventType = subscription.eventType;\n var key = subscription.key;\n var subscriptionsForType = this._subscriptionsForType[eventType];\n\n if (subscriptionsForType) {\n delete subscriptionsForType[key];\n }\n };\n\n _proto.getSubscriptionsForType = function getSubscriptionsForType(eventType) {\n return this._subscriptionsForType[eventType];\n };\n\n return EventSubscriptionVendor;\n}();\n\nexport default EventSubscriptionVendor;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/emitter/_EventSubscriptionVendor.js"],"names":["invariant","EventSubscriptionVendor","_subscriptionsForType","_proto","prototype","addSubscription","eventType","subscription","subscriber","key","length","push","removeAllSubscriptions","removeSubscription","subscriptionsForType","getSubscriptionsForType"],"mappings":"AASA;;AAEA,OAAOA,SAAP,MAAsB,oBAAtB;;AAMA,IAAIC,uBAAuB,GAAgB,YAAY;AACrD,WAASA,uBAAT,GAAmC;AACjC,SAAKC,qBAAL,GAA6B,EAA7B;AACD;;AASD,MAAIC,MAAM,GAAGF,uBAAuB,CAACG,SAArC;;AAEAD,EAAAA,MAAM,CAACE,eAAP,GAAyB,SAASA,eAAT,CAAyBC,SAAzB,EAAoCC,YAApC,EAAkD;AACzEP,IAAAA,SAAS,CAACO,YAAY,CAACC,UAAb,KAA4B,IAA7B,EAAmC,wDAAnC,CAAT;;AAEA,QAAI,CAAC,KAAKN,qBAAL,CAA2BI,SAA3B,CAAL,EAA4C;AAC1C,WAAKJ,qBAAL,CAA2BI,SAA3B,IAAwC,EAAxC;AACD;;AAED,QAAIG,GAAG,GAAG,KAAKP,qBAAL,CAA2BI,SAA3B,EAAsCI,MAAhD;;AAEA,SAAKR,qBAAL,CAA2BI,SAA3B,EAAsCK,IAAtC,CAA2CJ,YAA3C;;AAEAA,IAAAA,YAAY,CAACD,SAAb,GAAyBA,SAAzB;AACAC,IAAAA,YAAY,CAACE,GAAb,GAAmBA,GAAnB;AACA,WAAOF,YAAP;AACD,GAdD;;AAuBAJ,EAAAA,MAAM,CAACS,sBAAP,GAAgC,SAASA,sBAAT,CAAgCN,SAAhC,EAA2C;AACzE,QAAIA,SAAS,IAAI,IAAjB,EAAuB;AACrB,WAAKJ,qBAAL,GAA6B,EAA7B;AACD,KAFD,MAEO;AACL,aAAO,KAAKA,qBAAL,CAA2BI,SAA3B,CAAP;AACD;AACF,GAND;;AAeAH,EAAAA,MAAM,CAACU,kBAAP,GAA4B,SAASA,kBAAT,CAA4BN,YAA5B,EAA0C;AACpE,QAAID,SAAS,GAAGC,YAAY,CAACD,SAA7B;AACA,QAAIG,GAAG,GAAGF,YAAY,CAACE,GAAvB;AACA,QAAIK,oBAAoB,GAAG,KAAKZ,qBAAL,CAA2BI,SAA3B,CAA3B;;AAEA,QAAIQ,oBAAJ,EAA0B;AACxB,aAAOA,oBAAoB,CAACL,GAAD,CAA3B;AACD;AACF,GARD;;AAuBAN,EAAAA,MAAM,CAACY,uBAAP,GAAiC,SAASA,uBAAT,CAAiCT,SAAjC,EAA4C;AAC3E,WAAO,KAAKJ,qBAAL,CAA2BI,SAA3B,CAAP;AACD,GAFD;;AAIA,SAAOL,uBAAP;AACD,CAhF0C,EAA3C;;AAkFA,eAAeA,uBAAf","sourcesContent":["/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n'use strict';\n\nimport invariant from 'fbjs/lib/invariant';\n\n/**\n * EventSubscriptionVendor stores a set of EventSubscriptions that are\n * subscribed to a particular event type.\n */\nvar EventSubscriptionVendor = /*#__PURE__*/function () {\n function EventSubscriptionVendor() {\n this._subscriptionsForType = {};\n }\n /**\n * Adds a subscription keyed by an event type.\n *\n * @param {string} eventType\n * @param {EventSubscription} subscription\n */\n\n\n var _proto = EventSubscriptionVendor.prototype;\n\n _proto.addSubscription = function addSubscription(eventType, subscription) {\n invariant(subscription.subscriber === this, 'The subscriber of the subscription is incorrectly set.');\n\n if (!this._subscriptionsForType[eventType]) {\n this._subscriptionsForType[eventType] = [];\n }\n\n var key = this._subscriptionsForType[eventType].length;\n\n this._subscriptionsForType[eventType].push(subscription);\n\n subscription.eventType = eventType;\n subscription.key = key;\n return subscription;\n }\n /**\n * Removes a bulk set of the subscriptions.\n *\n * @param {?string} eventType - Optional name of the event type whose\n * registered supscriptions to remove, if null remove all subscriptions.\n */\n ;\n\n _proto.removeAllSubscriptions = function removeAllSubscriptions(eventType) {\n if (eventType == null) {\n this._subscriptionsForType = {};\n } else {\n delete this._subscriptionsForType[eventType];\n }\n }\n /**\n * Removes a specific subscription. Instead of calling this function, call\n * `subscription.remove()` directly.\n *\n * @param {object} subscription\n */\n ;\n\n _proto.removeSubscription = function removeSubscription(subscription) {\n var eventType = subscription.eventType;\n var key = subscription.key;\n var subscriptionsForType = this._subscriptionsForType[eventType];\n\n if (subscriptionsForType) {\n delete subscriptionsForType[key];\n }\n }\n /**\n * Returns the array of subscriptions that are currently registered for the\n * given event type.\n *\n * Note: This array can be potentially sparse as subscriptions are deleted\n * from it when they are removed.\n *\n * TODO: This returns a nullable array. wat?\n *\n * @param {string} eventType\n * @returns {?array}\n */\n ;\n\n _proto.getSubscriptionsForType = function getSubscriptionsForType(eventType) {\n return this._subscriptionsForType[eventType];\n };\n\n return EventSubscriptionVendor;\n}();\n\nexport default EventSubscriptionVendor;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/424eea668c73e4a122e56b2cbf164178.json b/.expo/web/cache/development/babel-loader/424eea668c73e4a122e56b2cbf164178.json new file mode 100644 index 0000000000000000000000000000000000000000..35832374b9ea1e7966440d0b5fe3838ca92ab093 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/424eea668c73e4a122e56b2cbf164178.json @@ -0,0 +1 @@ +{"ast":null,"code":"function flattenArray(array) {\n function flattenDown(array, result) {\n for (var i = 0; i < array.length; i++) {\n var value = array[i];\n\n if (Array.isArray(value)) {\n flattenDown(value, result);\n } else if (value != null && value !== false) {\n result.push(value);\n }\n }\n\n return result;\n }\n\n return flattenDown(array, []);\n}\n\nexport default flattenArray;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/flattenArray/index.js"],"names":["flattenArray","array","flattenDown","result","i","length","value","Array","isArray","push"],"mappings":"AAQA,SAASA,YAAT,CAAsBC,KAAtB,EAA6B;AAC3B,WAASC,WAAT,CAAqBD,KAArB,EAA4BE,MAA5B,EAAoC;AAClC,SAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,KAAK,CAACI,MAA1B,EAAkCD,CAAC,EAAnC,EAAuC;AACrC,UAAIE,KAAK,GAAGL,KAAK,CAACG,CAAD,CAAjB;;AAEA,UAAIG,KAAK,CAACC,OAAN,CAAcF,KAAd,CAAJ,EAA0B;AACxBJ,QAAAA,WAAW,CAACI,KAAD,EAAQH,MAAR,CAAX;AACD,OAFD,MAEO,IAAIG,KAAK,IAAI,IAAT,IAAiBA,KAAK,KAAK,KAA/B,EAAsC;AAC3CH,QAAAA,MAAM,CAACM,IAAP,CAAYH,KAAZ;AACD;AACF;;AAED,WAAOH,MAAP;AACD;;AAED,SAAOD,WAAW,CAACD,KAAD,EAAQ,EAAR,CAAlB;AACD;;AAED,eAAeD,YAAf","sourcesContent":["/**\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 */\nfunction flattenArray(array) {\n function flattenDown(array, result) {\n for (var i = 0; i < array.length; i++) {\n var value = array[i];\n\n if (Array.isArray(value)) {\n flattenDown(value, result);\n } else if (value != null && value !== false) {\n result.push(value);\n }\n }\n\n return result;\n }\n\n return flattenDown(array, []);\n}\n\nexport default flattenArray;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/4285ba002f922237cbbd49dd1a89bf75.json b/.expo/web/cache/development/babel-loader/4285ba002f922237cbbd49dd1a89bf75.json new file mode 100644 index 0000000000000000000000000000000000000000..41e04e5b2c017e8e309eef2fcc189ad9ef597270 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/4285ba002f922237cbbd49dd1a89bf75.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport { nanoid } from 'nanoid/non-secure';\nimport BaseRouter from \"./BaseRouter\";\nvar TYPE_ROUTE = 'route';\nexport var TabActions = {\n jumpTo: function jumpTo(name, params) {\n return {\n type: 'JUMP_TO',\n payload: {\n name: name,\n params: params\n }\n };\n }\n};\n\nvar getRouteHistory = function getRouteHistory(routes, index, backBehavior, initialRouteName) {\n var history = [{\n type: TYPE_ROUTE,\n key: routes[index].key\n }];\n var initialRouteIndex;\n\n switch (backBehavior) {\n case 'order':\n for (var i = index; i > 0; i--) {\n history.unshift({\n type: TYPE_ROUTE,\n key: routes[i - 1].key\n });\n }\n\n break;\n\n case 'firstRoute':\n if (index !== 0) {\n history.unshift({\n type: TYPE_ROUTE,\n key: routes[0].key\n });\n }\n\n break;\n\n case 'initialRoute':\n initialRouteIndex = routes.findIndex(function (route) {\n return route.name === initialRouteName;\n });\n initialRouteIndex = initialRouteIndex === -1 ? 0 : initialRouteIndex;\n\n if (index !== initialRouteIndex) {\n history.unshift({\n type: TYPE_ROUTE,\n key: routes[initialRouteIndex].key\n });\n }\n\n break;\n\n case 'history':\n break;\n }\n\n return history;\n};\n\nvar changeIndex = function changeIndex(state, index, backBehavior, initialRouteName) {\n var history;\n\n if (backBehavior === 'history') {\n var currentKey = state.routes[index].key;\n history = state.history.filter(function (it) {\n return it.type === 'route' ? it.key !== currentKey : false;\n }).concat({\n type: TYPE_ROUTE,\n key: currentKey\n });\n } else {\n history = getRouteHistory(state.routes, index, backBehavior, initialRouteName);\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n index: index,\n history: history\n });\n};\n\nexport default function TabRouter(_ref) {\n var initialRouteName = _ref.initialRouteName,\n _ref$backBehavior = _ref.backBehavior,\n backBehavior = _ref$backBehavior === void 0 ? 'firstRoute' : _ref$backBehavior;\n\n var router = _objectSpread(_objectSpread({}, BaseRouter), {}, {\n type: 'tab',\n getInitialState: function getInitialState(_ref2) {\n var routeNames = _ref2.routeNames,\n routeParamList = _ref2.routeParamList;\n var index = initialRouteName !== undefined && routeNames.includes(initialRouteName) ? routeNames.indexOf(initialRouteName) : 0;\n var routes = routeNames.map(function (name) {\n return {\n name: name,\n key: name + \"-\" + nanoid(),\n params: routeParamList[name]\n };\n });\n var history = getRouteHistory(routes, index, backBehavior, initialRouteName);\n return {\n stale: false,\n type: 'tab',\n key: \"tab-\" + nanoid(),\n index: index,\n routeNames: routeNames,\n history: history,\n routes: routes\n };\n },\n getRehydratedState: function getRehydratedState(partialState, _ref3) {\n var routeNames = _ref3.routeNames,\n routeParamList = _ref3.routeParamList;\n\n var _state$routes, _state$index, _state$history$filter, _state$history;\n\n var state = partialState;\n\n if (state.stale === false) {\n return state;\n }\n\n var routes = routeNames.map(function (name) {\n var route = state.routes.find(function (r) {\n return r.name === name;\n });\n return _objectSpread(_objectSpread({}, route), {}, {\n name: name,\n key: route && route.name === name && route.key ? route.key : name + \"-\" + nanoid(),\n params: routeParamList[name] !== undefined ? _objectSpread(_objectSpread({}, routeParamList[name]), route ? route.params : undefined) : route ? route.params : undefined\n });\n });\n var index = Math.min(Math.max(routeNames.indexOf((_state$routes = state.routes[(_state$index = state === null || state === void 0 ? void 0 : state.index) !== null && _state$index !== void 0 ? _state$index : 0]) === null || _state$routes === void 0 ? void 0 : _state$routes.name), 0), routes.length - 1);\n var history = (_state$history$filter = (_state$history = state.history) === null || _state$history === void 0 ? void 0 : _state$history.filter(function (it) {\n return routes.find(function (r) {\n return r.key === it.key;\n });\n })) !== null && _state$history$filter !== void 0 ? _state$history$filter : [];\n return changeIndex({\n stale: false,\n type: 'tab',\n key: \"tab-\" + nanoid(),\n index: index,\n routeNames: routeNames,\n history: history,\n routes: routes\n }, index, backBehavior, initialRouteName);\n },\n getStateForRouteNamesChange: function getStateForRouteNamesChange(state, _ref4) {\n var routeNames = _ref4.routeNames,\n routeParamList = _ref4.routeParamList,\n routeKeyChanges = _ref4.routeKeyChanges;\n var routes = routeNames.map(function (name) {\n return state.routes.find(function (r) {\n return r.name === name && !routeKeyChanges.includes(r.name);\n }) || {\n name: name,\n key: name + \"-\" + nanoid(),\n params: routeParamList[name]\n };\n });\n var index = Math.max(0, routeNames.indexOf(state.routes[state.index].name));\n var history = state.history.filter(function (it) {\n return it.type !== 'route' || routes.find(function (r) {\n return r.key === it.key;\n });\n });\n\n if (!history.length) {\n history = getRouteHistory(routes, index, backBehavior, initialRouteName);\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n history: history,\n routeNames: routeNames,\n routes: routes,\n index: index\n });\n },\n getStateForRouteFocus: function getStateForRouteFocus(state, key) {\n var index = state.routes.findIndex(function (r) {\n return r.key === key;\n });\n\n if (index === -1 || index === state.index) {\n return state;\n }\n\n return changeIndex(state, index, backBehavior, initialRouteName);\n },\n getStateForAction: function getStateForAction(state, action, _ref5) {\n var routeParamList = _ref5.routeParamList;\n\n switch (action.type) {\n case 'JUMP_TO':\n case 'NAVIGATE':\n {\n var index = -1;\n\n if (action.type === 'NAVIGATE' && action.payload.key) {\n index = state.routes.findIndex(function (route) {\n return route.key === action.payload.key;\n });\n } else {\n index = state.routes.findIndex(function (route) {\n return route.name === action.payload.name;\n });\n }\n\n if (index === -1) {\n return null;\n }\n\n return changeIndex(_objectSpread(_objectSpread({}, state), {}, {\n routes: state.routes.map(function (route, i) {\n if (i !== index) {\n return route;\n }\n\n var params;\n\n if (action.type === 'NAVIGATE' && action.payload.merge) {\n params = action.payload.params !== undefined || routeParamList[route.name] !== undefined ? _objectSpread(_objectSpread(_objectSpread({}, routeParamList[route.name]), route.params), action.payload.params) : route.params;\n } else {\n params = routeParamList[route.name] !== undefined ? _objectSpread(_objectSpread({}, routeParamList[route.name]), action.payload.params) : action.payload.params;\n }\n\n var path = action.type === 'NAVIGATE' && action.payload.path != null ? action.payload.path : route.path;\n return params !== route.params || path !== route.path ? _objectSpread(_objectSpread({}, route), {}, {\n path: path,\n params: params\n }) : route;\n })\n }), index, backBehavior, initialRouteName);\n }\n\n case 'GO_BACK':\n {\n if (state.history.length === 1) {\n return null;\n }\n\n var previousKey = state.history[state.history.length - 2].key;\n\n var _index = state.routes.findIndex(function (route) {\n return route.key === previousKey;\n });\n\n if (_index === -1) {\n return null;\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n history: state.history.slice(0, -1),\n index: _index\n });\n }\n\n default:\n return BaseRouter.getStateForAction(state, action);\n }\n },\n shouldActionChangeFocus: function shouldActionChangeFocus(action) {\n return action.type === 'NAVIGATE';\n },\n actionCreators: TabActions\n });\n\n return router;\n}","map":{"version":3,"sources":["TabRouter.tsx"],"names":["TYPE_ROUTE","TabActions","jumpTo","type","payload","name","params","getRouteHistory","history","key","routes","i","index","initialRouteIndex","route","changeIndex","backBehavior","currentKey","state","it","router","getInitialState","routeParamList","initialRouteName","routeNames","nanoid","stale","getRehydratedState","r","undefined","Math","getStateForRouteNamesChange","routeKeyChanges","getStateForRouteFocus","getStateForAction","action","path","previousKey","BaseRouter","shouldActionChangeFocus","actionCreators"],"mappings":"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","sourcesContent":["import { nanoid } from 'nanoid/non-secure';\n\nimport BaseRouter from './BaseRouter';\nimport type {\n CommonNavigationAction,\n DefaultRouterOptions,\n NavigationState,\n ParamListBase,\n PartialState,\n Route,\n Router,\n} from './types';\n\nexport type TabActionType = {\n type: 'JUMP_TO';\n payload: { name: string; params?: object };\n source?: string;\n target?: string;\n};\n\nexport type BackBehavior =\n | 'initialRoute'\n | 'firstRoute'\n | 'history'\n | 'order'\n | 'none';\n\nexport type TabRouterOptions = DefaultRouterOptions & {\n backBehavior?: BackBehavior;\n};\n\nexport type TabNavigationState<ParamList extends ParamListBase> = Omit<\n NavigationState<ParamList>,\n 'history'\n> & {\n /**\n * Type of the router, in this case, it's tab.\n */\n type: 'tab';\n /**\n * List of previously visited route keys.\n */\n history: { type: 'route'; key: string }[];\n};\n\nexport type TabActionHelpers<ParamList extends ParamListBase> = {\n /**\n * Jump to an existing tab.\n *\n * @param name Name of the route for the tab.\n * @param [params] Params object for the route.\n */\n jumpTo<RouteName extends Extract<keyof ParamList, string>>(\n ...args: undefined extends ParamList[RouteName]\n ? [screen: RouteName] | [screen: RouteName, params: ParamList[RouteName]]\n : [screen: RouteName, params: ParamList[RouteName]]\n ): void;\n};\n\nconst TYPE_ROUTE = 'route' as const;\n\nexport const TabActions = {\n jumpTo(name: string, params?: object): TabActionType {\n return { type: 'JUMP_TO', payload: { name, params } };\n },\n};\n\nconst getRouteHistory = (\n routes: Route<string>[],\n index: number,\n backBehavior: BackBehavior,\n initialRouteName: string | undefined\n) => {\n const history = [{ type: TYPE_ROUTE, key: routes[index].key }];\n let initialRouteIndex;\n\n switch (backBehavior) {\n case 'order':\n for (let i = index; i > 0; i--) {\n history.unshift({ type: TYPE_ROUTE, key: routes[i - 1].key });\n }\n break;\n case 'firstRoute':\n if (index !== 0) {\n history.unshift({\n type: TYPE_ROUTE,\n key: routes[0].key,\n });\n }\n break;\n case 'initialRoute':\n initialRouteIndex = routes.findIndex(\n (route) => route.name === initialRouteName\n );\n initialRouteIndex = initialRouteIndex === -1 ? 0 : initialRouteIndex;\n\n if (index !== initialRouteIndex) {\n history.unshift({\n type: TYPE_ROUTE,\n key: routes[initialRouteIndex].key,\n });\n }\n break;\n case 'history':\n // The history will fill up on navigation\n break;\n }\n\n return history;\n};\n\nconst changeIndex = (\n state: TabNavigationState<ParamListBase>,\n index: number,\n backBehavior: BackBehavior,\n initialRouteName: string | undefined\n) => {\n let history;\n\n if (backBehavior === 'history') {\n const currentKey = state.routes[index].key;\n\n history = state.history\n .filter((it) => (it.type === 'route' ? it.key !== currentKey : false))\n .concat({ type: TYPE_ROUTE, key: currentKey });\n } else {\n history = getRouteHistory(\n state.routes,\n index,\n backBehavior,\n initialRouteName\n );\n }\n\n return {\n ...state,\n index,\n history,\n };\n};\n\nexport default function TabRouter({\n initialRouteName,\n backBehavior = 'firstRoute',\n}: TabRouterOptions) {\n const router: Router<\n TabNavigationState<ParamListBase>,\n TabActionType | CommonNavigationAction\n > = {\n ...BaseRouter,\n\n type: 'tab',\n\n getInitialState({ routeNames, routeParamList }) {\n const index =\n initialRouteName !== undefined && routeNames.includes(initialRouteName)\n ? routeNames.indexOf(initialRouteName)\n : 0;\n\n const routes = routeNames.map((name) => ({\n name,\n key: `${name}-${nanoid()}`,\n params: routeParamList[name],\n }));\n\n const history = getRouteHistory(\n routes,\n index,\n backBehavior,\n initialRouteName\n );\n\n return {\n stale: false,\n type: 'tab',\n key: `tab-${nanoid()}`,\n index,\n routeNames,\n history,\n routes,\n };\n },\n\n getRehydratedState(partialState, { routeNames, routeParamList }) {\n let state = partialState;\n\n if (state.stale === false) {\n return state;\n }\n\n const routes = routeNames.map((name) => {\n const route = (\n state as PartialState<TabNavigationState<ParamListBase>>\n ).routes.find((r) => r.name === name);\n\n return {\n ...route,\n name,\n key:\n route && route.name === name && route.key\n ? route.key\n : `${name}-${nanoid()}`,\n params:\n routeParamList[name] !== undefined\n ? {\n ...routeParamList[name],\n ...(route ? route.params : undefined),\n }\n : route\n ? route.params\n : undefined,\n } as Route<string>;\n });\n\n const index = Math.min(\n Math.max(routeNames.indexOf(state.routes[state?.index ?? 0]?.name), 0),\n routes.length - 1\n );\n\n const history =\n state.history?.filter((it) => routes.find((r) => r.key === it.key)) ??\n [];\n\n return changeIndex(\n {\n stale: false,\n type: 'tab',\n key: `tab-${nanoid()}`,\n index,\n routeNames,\n history,\n routes,\n },\n index,\n backBehavior,\n initialRouteName\n );\n },\n\n getStateForRouteNamesChange(\n state,\n { routeNames, routeParamList, routeKeyChanges }\n ) {\n const routes = routeNames.map(\n (name) =>\n state.routes.find(\n (r) => r.name === name && !routeKeyChanges.includes(r.name)\n ) || {\n name,\n key: `${name}-${nanoid()}`,\n params: routeParamList[name],\n }\n );\n\n const index = Math.max(\n 0,\n routeNames.indexOf(state.routes[state.index].name)\n );\n\n let history = state.history.filter(\n // Type will always be 'route' for tabs, but could be different in a router extending this (e.g. drawer)\n (it) => it.type !== 'route' || routes.find((r) => r.key === it.key)\n );\n\n if (!history.length) {\n history = getRouteHistory(\n routes,\n index,\n backBehavior,\n initialRouteName\n );\n }\n\n return {\n ...state,\n history,\n routeNames,\n routes,\n index,\n };\n },\n\n getStateForRouteFocus(state, key) {\n const index = state.routes.findIndex((r) => r.key === key);\n\n if (index === -1 || index === state.index) {\n return state;\n }\n\n return changeIndex(state, index, backBehavior, initialRouteName);\n },\n\n getStateForAction(state, action, { routeParamList }) {\n switch (action.type) {\n case 'JUMP_TO':\n case 'NAVIGATE': {\n let index = -1;\n\n if (action.type === 'NAVIGATE' && action.payload.key) {\n index = state.routes.findIndex(\n (route) => route.key === action.payload.key\n );\n } else {\n index = state.routes.findIndex(\n (route) => route.name === action.payload.name\n );\n }\n\n if (index === -1) {\n return null;\n }\n\n return changeIndex(\n {\n ...state,\n routes: state.routes.map((route, i) => {\n if (i !== index) {\n return route;\n }\n\n let params;\n\n if (action.type === 'NAVIGATE' && action.payload.merge) {\n params =\n action.payload.params !== undefined ||\n routeParamList[route.name] !== undefined\n ? {\n ...routeParamList[route.name],\n ...route.params,\n ...action.payload.params,\n }\n : route.params;\n } else {\n params =\n routeParamList[route.name] !== undefined\n ? {\n ...routeParamList[route.name],\n ...action.payload.params,\n }\n : action.payload.params;\n }\n\n const path =\n action.type === 'NAVIGATE' && action.payload.path != null\n ? action.payload.path\n : route.path;\n\n return params !== route.params || path !== route.path\n ? { ...route, path, params }\n : route;\n }),\n },\n index,\n backBehavior,\n initialRouteName\n );\n }\n\n case 'GO_BACK': {\n if (state.history.length === 1) {\n return null;\n }\n\n const previousKey = state.history[state.history.length - 2].key;\n const index = state.routes.findIndex(\n (route) => route.key === previousKey\n );\n\n if (index === -1) {\n return null;\n }\n\n return {\n ...state,\n history: state.history.slice(0, -1),\n index,\n };\n }\n\n default:\n return BaseRouter.getStateForAction(state, action);\n }\n },\n\n shouldActionChangeFocus(action) {\n return action.type === 'NAVIGATE';\n },\n\n actionCreators: TabActions,\n };\n\n return router;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/42c5d4f0cff0502e6f81ce5f57a28a96.json b/.expo/web/cache/development/babel-loader/42c5d4f0cff0502e6f81ce5f57a28a96.json new file mode 100644 index 0000000000000000000000000000000000000000..58931e6e24279b0e25795f17683cd2de5be23d11 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/42c5d4f0cff0502e6f81ce5f57a28a96.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nvar focusVisibleAttributeName = 'data-focusvisible-polyfill';\nvar rule = \":focus:not([\" + focusVisibleAttributeName + \"]){outline: none;}\";\n\nvar modality = function modality(insertRule) {\n insertRule(rule);\n\n if (!canUseDOM) {\n return;\n }\n\n var hadKeyboardEvent = true;\n var hadFocusVisibleRecently = false;\n var hadFocusVisibleRecentlyTimeout = null;\n var inputTypesWhitelist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n };\n\n function isValidFocusTarget(el) {\n if (el && el !== document && el.nodeName !== 'HTML' && el.nodeName !== 'BODY' && 'classList' in el && 'contains' in el.classList) {\n return true;\n }\n\n return false;\n }\n\n function focusTriggersKeyboardModality(el) {\n var type = el.type;\n var tagName = el.tagName;\n var isReadOnly = el.readOnly;\n\n if (tagName === 'INPUT' && inputTypesWhitelist[type] && !isReadOnly) {\n return true;\n }\n\n if (tagName === 'TEXTAREA' && !isReadOnly) {\n return true;\n }\n\n if (el.isContentEditable) {\n return true;\n }\n\n return false;\n }\n\n function addFocusVisibleAttribute(el) {\n if (el.hasAttribute(focusVisibleAttributeName)) {\n return;\n }\n\n el.setAttribute(focusVisibleAttributeName, true);\n }\n\n function removeFocusVisibleAttribute(el) {\n el.removeAttribute(focusVisibleAttributeName);\n }\n\n function removeAllFocusVisibleAttributes() {\n var list = document.querySelectorAll(\"[\" + focusVisibleAttributeName + \"]\");\n\n for (var i = 0; i < list.length; i += 1) {\n removeFocusVisibleAttribute(list[i]);\n }\n }\n\n function onKeyDown(e) {\n if (e.key !== 'Tab' && (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey)) {\n return;\n }\n\n if (isValidFocusTarget(document.activeElement)) {\n addFocusVisibleAttribute(document.activeElement);\n }\n\n hadKeyboardEvent = true;\n }\n\n function onPointerDown(e) {\n if (hadKeyboardEvent === true) {\n removeAllFocusVisibleAttributes();\n }\n\n hadKeyboardEvent = false;\n }\n\n function onFocus(e) {\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {\n addFocusVisibleAttribute(e.target);\n }\n }\n\n function onBlur(e) {\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (e.target.hasAttribute(focusVisibleAttributeName)) {\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(function () {\n hadFocusVisibleRecently = false;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n }, 100);\n removeFocusVisibleAttribute(e.target);\n }\n }\n\n function onVisibilityChange(e) {\n if (document.visibilityState === 'hidden') {\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n\n addInitialPointerMoveListeners();\n }\n }\n\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n\n function onInitialPointerMove(e) {\n if (e.target.nodeName === 'HTML') {\n return;\n }\n\n hadKeyboardEvent = false;\n removeInitialPointerMoveListeners();\n }\n\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('focus', onFocus, true);\n document.addEventListener('blur', onBlur, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n addInitialPointerMoveListeners();\n};\n\nexport default modality;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/StyleSheet/modality.js"],"names":["canUseDOM","focusVisibleAttributeName","rule","modality","insertRule","hadKeyboardEvent","hadFocusVisibleRecently","hadFocusVisibleRecentlyTimeout","inputTypesWhitelist","text","search","url","tel","email","password","number","date","month","week","time","datetime","isValidFocusTarget","el","document","nodeName","classList","focusTriggersKeyboardModality","type","tagName","isReadOnly","readOnly","isContentEditable","addFocusVisibleAttribute","hasAttribute","setAttribute","removeFocusVisibleAttribute","removeAttribute","removeAllFocusVisibleAttributes","list","querySelectorAll","i","length","onKeyDown","e","key","metaKey","altKey","ctrlKey","shiftKey","activeElement","onPointerDown","onFocus","target","onBlur","window","clearTimeout","setTimeout","onVisibilityChange","visibilityState","addInitialPointerMoveListeners","addEventListener","onInitialPointerMove","removeInitialPointerMoveListeners","removeEventListener"],"mappings":"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","sourcesContent":["/**\n * Adapts focus styles based on the user's active input modality (i.e., how\n * they are interacting with the UI right now).\n *\n * Focus styles are only relevant when using the keyboard to interact with the\n * page. If we only show the focus ring when relevant, we can avoid user\n * confusion without compromising accessibility.\n *\n * The script uses two heuristics to determine whether the keyboard is being used:\n *\n * 1. a keydown event occurred immediately before a focus event;\n * 2. a focus event happened on an element which requires keyboard interaction (e.g., a text field);\n *\n * This software or document includes material copied from or derived from https://github.com/WICG/focus-visible.\n * Copyright © 2018 W3C® (MIT, ERCIM, Keio, Beihang).\n * W3C Software Notice and License: https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document\n *\n * \n */\nimport { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nvar focusVisibleAttributeName = 'data-focusvisible-polyfill';\nvar rule = \":focus:not([\" + focusVisibleAttributeName + \"]){outline: none;}\";\n\nvar modality = function modality(insertRule) {\n insertRule(rule);\n\n if (!canUseDOM) {\n return;\n }\n\n var hadKeyboardEvent = true;\n var hadFocusVisibleRecently = false;\n var hadFocusVisibleRecentlyTimeout = null;\n var inputTypesWhitelist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n };\n /**\n * Helper function for legacy browsers and iframes which sometimes focus\n * elements like document, body, and non-interactive SVG.\n */\n\n function isValidFocusTarget(el) {\n if (el && el !== document && el.nodeName !== 'HTML' && el.nodeName !== 'BODY' && 'classList' in el && 'contains' in el.classList) {\n return true;\n }\n\n return false;\n }\n /**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` attribute being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n */\n\n\n function focusTriggersKeyboardModality(el) {\n var type = el.type;\n var tagName = el.tagName;\n var isReadOnly = el.readOnly;\n\n if (tagName === 'INPUT' && inputTypesWhitelist[type] && !isReadOnly) {\n return true;\n }\n\n if (tagName === 'TEXTAREA' && !isReadOnly) {\n return true;\n }\n\n if (el.isContentEditable) {\n return true;\n }\n\n return false;\n }\n /**\n * Add the `focus-visible` attribute to the given element if it was not added by\n * the author.\n */\n\n\n function addFocusVisibleAttribute(el) {\n if (el.hasAttribute(focusVisibleAttributeName)) {\n return;\n }\n\n el.setAttribute(focusVisibleAttributeName, true);\n }\n /**\n * Remove the `focus-visible` attribute from the given element if it was not\n * originally added by the author.\n */\n\n\n function removeFocusVisibleAttribute(el) {\n el.removeAttribute(focusVisibleAttributeName);\n }\n /**\n * Remove the `focus-visible` attribute from all elements in the document.\n */\n\n\n function removeAllFocusVisibleAttributes() {\n var list = document.querySelectorAll(\"[\" + focusVisibleAttributeName + \"]\");\n\n for (var i = 0; i < list.length; i += 1) {\n removeFocusVisibleAttribute(list[i]);\n }\n }\n /**\n * Treat `keydown` as a signal that the user is in keyboard modality.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n */\n\n\n function onKeyDown(e) {\n if (e.key !== 'Tab' && (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey)) {\n return;\n }\n\n if (isValidFocusTarget(document.activeElement)) {\n addFocusVisibleAttribute(document.activeElement);\n }\n\n hadKeyboardEvent = true;\n }\n /**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n * It also avoids the situation where a user presses on an element within a\n * previously keyboard-focused element (i.e., `e.target` is not the previously\n * focused element, but one of its descendants) and we need to remove the\n * focus ring because a `blur` event doesn't occur.\n */\n\n\n function onPointerDown(e) {\n if (hadKeyboardEvent === true) {\n removeAllFocusVisibleAttributes();\n }\n\n hadKeyboardEvent = false;\n }\n /**\n * On `focus`, add the `focus-visible` attribute to the target if:\n * - the target received focus as a result of keyboard navigation, or\n * - the event target is an element that will likely require interaction\n * via the keyboard (e.g. a text box)\n */\n\n\n function onFocus(e) {\n // Prevent IE from focusing the document or HTML element.\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {\n addFocusVisibleAttribute(e.target);\n }\n }\n /**\n * On `blur`, remove the `focus-visible` attribute from the target.\n */\n\n\n function onBlur(e) {\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (e.target.hasAttribute(focusVisibleAttributeName)) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(function () {\n hadFocusVisibleRecently = false;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n }, 100);\n removeFocusVisibleAttribute(e.target);\n }\n }\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had the focus-visible attribute.\n */\n\n\n function onVisibilityChange(e) {\n if (document.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the attribute when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n\n addInitialPointerMoveListeners();\n }\n }\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n\n\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n */\n\n\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on <html> whenever the\n // window blurs, even if you're tabbing out of the page. ¯\\_(ツ)_/¯\n if (e.target.nodeName === 'HTML') {\n return;\n }\n\n hadKeyboardEvent = false;\n removeInitialPointerMoveListeners();\n }\n\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('focus', onFocus, true);\n document.addEventListener('blur', onBlur, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n addInitialPointerMoveListeners();\n};\n\nexport default modality;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/434a165429f7b65c2c821944473cf888.json b/.expo/web/cache/development/babel-loader/434a165429f7b65c2c821944473cf888.json new file mode 100644 index 0000000000000000000000000000000000000000..0b748441858af8e0de856165ed89ec4f4cb541ef --- /dev/null +++ b/.expo/web/cache/development/babel-loader/434a165429f7b65c2c821944473cf888.json @@ -0,0 +1 @@ +{"ast":null,"code":"var 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};\n\nvar propsToAriaRole = function propsToAriaRole(_ref) {\n var accessibilityRole = _ref.accessibilityRole;\n\n if (accessibilityRole) {\n var inferredRole = accessibilityRoleToWebRole[accessibilityRole];\n\n if (inferredRole !== null) {\n return inferredRole || accessibilityRole;\n }\n }\n};\n\nexport default propsToAriaRole;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/AccessibilityUtil/propsToAriaRole.js"],"names":["accessibilityRoleToWebRole","adjustable","button","header","image","imagebutton","keyboardkey","label","link","none","search","summary","text","propsToAriaRole","_ref","accessibilityRole","inferredRole"],"mappings":"AAQA,IAAIA,0BAA0B,GAAG;AAC/BC,EAAAA,UAAU,EAAE,QADmB;AAE/BC,EAAAA,MAAM,EAAE,QAFuB;AAG/BC,EAAAA,MAAM,EAAE,SAHuB;AAI/BC,EAAAA,KAAK,EAAE,KAJwB;AAK/BC,EAAAA,WAAW,EAAE,IALkB;AAM/BC,EAAAA,WAAW,EAAE,IANkB;AAO/BC,EAAAA,KAAK,EAAE,IAPwB;AAQ/BC,EAAAA,IAAI,EAAE,MARyB;AAS/BC,EAAAA,IAAI,EAAE,cATyB;AAU/BC,EAAAA,MAAM,EAAE,QAVuB;AAW/BC,EAAAA,OAAO,EAAE,QAXsB;AAY/BC,EAAAA,IAAI,EAAE;AAZyB,CAAjC;;AAeA,IAAIC,eAAe,GAAG,SAASA,eAAT,CAAyBC,IAAzB,EAA+B;AACnD,MAAIC,iBAAiB,GAAGD,IAAI,CAACC,iBAA7B;;AAEA,MAAIA,iBAAJ,EAAuB;AACrB,QAAIC,YAAY,GAAGhB,0BAA0B,CAACe,iBAAD,CAA7C;;AAEA,QAAIC,YAAY,KAAK,IAArB,EAA2B;AAEzB,aAAOA,YAAY,IAAID,iBAAvB;AACD;AACF;AACF,CAXD;;AAaA,eAAeF,eAAf","sourcesContent":["/**\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 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};\n\nvar propsToAriaRole = function propsToAriaRole(_ref) {\n var accessibilityRole = _ref.accessibilityRole;\n\n if (accessibilityRole) {\n var inferredRole = accessibilityRoleToWebRole[accessibilityRole];\n\n if (inferredRole !== null) {\n // ignore roles that don't map to web\n return inferredRole || accessibilityRole;\n }\n }\n};\n\nexport default propsToAriaRole;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/44db78f3d7aaae5b6070a7d71210fd73.json b/.expo/web/cache/development/babel-loader/44db78f3d7aaae5b6070a7d71210fd73.json new file mode 100644 index 0000000000000000000000000000000000000000..29de0b8efe1093367d9d8a38104b49e34861fa56 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/44db78f3d7aaae5b6070a7d71210fd73.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { getPathFromState, NavigationContainerRefContext, NavigationHelpersContext } from '@react-navigation/core';\nimport * as React from 'react';\nimport Platform from \"react-native-web/dist/exports/Platform\";\nimport LinkingContext from \"./LinkingContext\";\nimport useLinkTo from \"./useLinkTo\";\n\nvar getStateFromParams = function getStateFromParams(params) {\n if (params !== null && params !== void 0 && params.state) {\n return params.state;\n }\n\n if (params !== null && params !== void 0 && params.screen) {\n return {\n routes: [{\n name: params.screen,\n params: params.params,\n state: params.screen ? getStateFromParams(params.params) : undefined\n }]\n };\n }\n\n return undefined;\n};\n\nexport default function useLinkProps(_ref) {\n var _options$getPathFromS;\n\n var to = _ref.to,\n action = _ref.action;\n var root = React.useContext(NavigationContainerRefContext);\n var navigation = React.useContext(NavigationHelpersContext);\n\n var _React$useContext = React.useContext(LinkingContext),\n options = _React$useContext.options;\n\n var linkTo = useLinkTo();\n\n var onPress = function onPress(e) {\n var _e$currentTarget;\n\n var shouldHandle = false;\n\n if (Platform.OS !== 'web' || !e) {\n shouldHandle = e ? !e.defaultPrevented : true;\n } else if (!e.defaultPrevented && !(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) && (e.button == null || e.button === 0) && [undefined, null, '', 'self'].includes((_e$currentTarget = e.currentTarget) === null || _e$currentTarget === void 0 ? void 0 : _e$currentTarget.target)) {\n e.preventDefault();\n shouldHandle = true;\n }\n\n if (shouldHandle) {\n if (action) {\n if (navigation) {\n navigation.dispatch(action);\n } else if (root) {\n root.dispatch(action);\n } else {\n throw new Error(\"Couldn't find a navigation object. Is your component inside NavigationContainer?\");\n }\n } else {\n linkTo(to);\n }\n }\n };\n\n var getPathFromStateHelper = (_options$getPathFromS = options === null || options === void 0 ? void 0 : options.getPathFromState) !== null && _options$getPathFromS !== void 0 ? _options$getPathFromS : getPathFromState;\n var href = typeof to === 'string' ? to : getPathFromStateHelper({\n routes: [{\n name: to.screen,\n params: to.params,\n state: getStateFromParams(to.params)\n }]\n }, options === null || options === void 0 ? void 0 : options.config);\n return {\n href: href,\n accessibilityRole: 'link',\n onPress: onPress\n };\n}","map":{"version":3,"sources":["useLinkProps.tsx"],"names":["getStateFromParams","params","routes","name","state","undefined","action","root","React","navigation","options","linkTo","useLinkTo","onPress","e","shouldHandle","Platform","getPathFromStateHelper","href","to","accessibilityRole"],"mappings":"AAAA,SAAA,gBAAA,EAAA,6BAAA,EAAA,wBAAA,QAAA,wBAAA;AASA,OAAO,KAAP,KAAA,MAAA,OAAA;;AAGA,OAAA,cAAA;AACA,OAAA,SAAA;;AAOA,IAAMA,kBAAkB,GACtBC,SADID,kBACJC,CAAAA,MADyB,EAEuC;AAChE,MAAIA,MAAJ,KAAA,IAAIA,IAAAA,MAAJ,KAAA,KAAA,CAAIA,IAAAA,MAAM,CAAV,KAAA,EAAmB;AACjB,WAAOA,MAAM,CAAb,KAAA;AACD;;AAED,MAAIA,MAAJ,KAAA,IAAIA,IAAAA,MAAJ,KAAA,KAAA,CAAIA,IAAAA,MAAM,CAAV,MAAA,EAAoB;AAClB,WAAO;AACLC,MAAAA,MAAM,EAAE,CACN;AACEC,QAAAA,IAAI,EAAEF,MAAM,CADd,MAAA;AAEEA,QAAAA,MAAM,EAAEA,MAAM,CAFhB,MAAA;AAIEG,QAAAA,KAAK,EAAEH,MAAM,CAANA,MAAAA,GACHD,kBAAkB,CAChBC,MAAM,CAFLA,MACe,CADfA,GAMHI;AAVN,OADM;AADH,KAAP;AAgBD;;AAED,SAAA,SAAA;AA1BF,CAAA;;AAmCA,eAAe,SAAA,YAAA,CAAA,IAAA,EAEqB;AAAA,MAAA,qBAAA;;AAAlC,MAAA,EAAA,GAAkC,IAAlC,CAAA,EAAA;AAAA,MAAMC,MAAN,GAAkC,IAAlC,CAAMA,MAAN;AACA,MAAMC,IAAI,GAAGC,KAAK,CAALA,UAAAA,CAAb,6BAAaA,CAAb;AACA,MAAMC,UAAU,GAAGD,KAAK,CAALA,UAAAA,CAAnB,wBAAmBA,CAAnB;;AACA,0BAAoBA,KAAK,CAALA,UAAAA,CAApB,cAAoBA,CAApB;AAAA,MAAQE,OAAR,qBAAQA,OAAR;;AACA,MAAMC,MAAM,GAAGC,SAAf,EAAA;;AAEA,MAAMC,OAAO,GACXC,SADID,OACJC,CAAAA,CADc,EAEX;AAAA,QAAA,gBAAA;;AACH,QAAIC,YAAY,GAAhB,KAAA;;AAEA,QAAIC,QAAQ,CAARA,EAAAA,KAAAA,KAAAA,IAAyB,CAA7B,CAAA,EAAiC;AAC/BD,MAAAA,YAAY,GAAGD,CAAC,GAAG,CAACA,CAAC,CAAL,gBAAA,GAAhBC,IAAAA;AADF,KAAA,MAEO,IACL,CAACD,CAAC,CAAF,gBAAA,IAEA,EAAEA,CAAC,CAADA,OAAAA,IAAaA,CAAC,CAAdA,MAAAA,IAAyBA,CAAC,CAA1BA,OAAAA,IAAsCA,CAAC,CAFzC,QAEA,CAFA,KAICA,CAAC,CAADA,MAAAA,IAAAA,IAAAA,IAAoBA,CAAC,CAADA,MAAAA,KAJrB,CAAA,KAMA,CAAA,SAAA,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,CAAA,CAAA,gBAAA,GAAuCA,CAAC,CAAxC,aAAA,MAAA,IAAA,IAAA,gBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAuCA,gBAAAA,CAPlC,MAOL,CAPK,EAQL;AACAA,MAAAA,CAAC,CAADA,cAAAA;AACAC,MAAAA,YAAY,GAAZA,IAAAA;AACD;;AAED,QAAA,YAAA,EAAkB;AAChB,UAAA,MAAA,EAAY;AACV,YAAA,UAAA,EAAgB;AACdN,UAAAA,UAAU,CAAVA,QAAAA,CAAAA,MAAAA;AADF,SAAA,MAEO,IAAA,IAAA,EAAU;AACfF,UAAAA,IAAI,CAAJA,QAAAA,CAAAA,MAAAA;AADK,SAAA,MAEA;AACL,gBAAM,IAAA,KAAA,CAAN,kFAAM,CAAN;AAGD;AATH,OAAA,MAUO;AACLI,QAAAA,MAAM,CAANA,EAAM,CAANA;AACD;AACF;AAlCH,GAAA;;AAqCA,MAAMM,sBAAsB,GAAA,CAAA,qBAAA,GAAGP,OAAH,KAAA,IAAGA,IAAAA,OAAH,KAAA,KAAA,CAAGA,GAAH,KAAA,CAAGA,GAAAA,OAAO,CAAV,gBAAA,MAAA,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,GAAA,qBAAA,GAA5B,gBAAA;AAEA,MAAMQ,IAAI,GACR,OAAA,EAAA,KAAA,QAAA,GAAA,EAAA,GAEID,sBAAsB,CACpB;AACEf,IAAAA,MAAM,EAAE,CACN;AACEC,MAAAA,IAAI,EAAEgB,EAAE,CADV,MAAA;AAGElB,MAAAA,MAAM,EAAEkB,EAAE,CAHZ,MAAA;AAKEf,MAAAA,KAAK,EAAEJ,kBAAkB,CAACmB,EAAE,CAAH,MAAA;AAL3B,KADM;AADV,GADoB,EAYpBT,OAZoB,KAAA,IAYpBA,IAAAA,OAZoB,KAAA,KAAA,CAYpBA,GAZoB,KAAA,CAYpBA,GAAAA,OAAO,CAff,MAG4B,CAH5B;AAkBA,SAAO;AACLQ,IAAAA,IADK,EACLA,IADK;AAELE,IAAAA,iBAAiB,EAFZ,MAAA;AAGLP,IAAAA,OAAAA,EAAAA;AAHK,GAAP;AAKD","sourcesContent":["import {\n getPathFromState,\n NavigationAction,\n NavigationContainerRefContext,\n NavigationHelpersContext,\n NavigatorScreenParams,\n ParamListBase,\n} from '@react-navigation/core';\nimport type { NavigationState, PartialState } from '@react-navigation/routers';\nimport * as React from 'react';\nimport { GestureResponderEvent, Platform } from 'react-native';\n\nimport LinkingContext from './LinkingContext';\nimport useLinkTo, { To } from './useLinkTo';\n\ntype Props<ParamList extends ReactNavigation.RootParamList> = {\n to: To<ParamList>;\n action?: NavigationAction;\n};\n\nconst getStateFromParams = (\n params: NavigatorScreenParams<ParamListBase, NavigationState> | undefined\n): PartialState<NavigationState> | NavigationState | undefined => {\n if (params?.state) {\n return params.state;\n }\n\n if (params?.screen) {\n return {\n routes: [\n {\n name: params.screen,\n params: params.params,\n // @ts-expect-error\n state: params.screen\n ? getStateFromParams(\n params.params as\n | NavigatorScreenParams<ParamListBase, NavigationState>\n | undefined\n )\n : undefined,\n },\n ],\n };\n }\n\n return undefined;\n};\n\n/**\n * Hook to get props for an anchor tag so it can work with in page navigation.\n *\n * @param props.to Absolute path to screen (e.g. `/feeds/hot`).\n * @param props.action Optional action to use for in-page navigation. By default, the path is parsed to an action based on linking config.\n */\nexport default function useLinkProps<\n ParamList extends ReactNavigation.RootParamList\n>({ to, action }: Props<ParamList>) {\n const root = React.useContext(NavigationContainerRefContext);\n const navigation = React.useContext(NavigationHelpersContext);\n const { options } = React.useContext(LinkingContext);\n const linkTo = useLinkTo<ParamList>();\n\n const onPress = (\n e?: React.MouseEvent<HTMLAnchorElement, MouseEvent> | GestureResponderEvent\n ) => {\n let shouldHandle = false;\n\n if (Platform.OS !== 'web' || !e) {\n shouldHandle = e ? !e.defaultPrevented : true;\n } else if (\n !e.defaultPrevented && // onPress prevented default\n // @ts-expect-error: these properties exist on web, but not in React Native\n !(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) && // ignore clicks with modifier keys\n // @ts-expect-error: these properties exist on web, but not in React Native\n (e.button == null || e.button === 0) && // ignore everything but left clicks\n // @ts-expect-error: these properties exist on web, but not in React Native\n [undefined, null, '', 'self'].includes(e.currentTarget?.target) // let browser handle \"target=_blank\" etc.\n ) {\n e.preventDefault();\n shouldHandle = true;\n }\n\n if (shouldHandle) {\n if (action) {\n if (navigation) {\n navigation.dispatch(action);\n } else if (root) {\n root.dispatch(action);\n } else {\n throw new Error(\n \"Couldn't find a navigation object. Is your component inside NavigationContainer?\"\n );\n }\n } else {\n linkTo(to);\n }\n }\n };\n\n const getPathFromStateHelper = options?.getPathFromState ?? getPathFromState;\n\n const href =\n typeof to === 'string'\n ? to\n : getPathFromStateHelper(\n {\n routes: [\n {\n name: to.screen,\n // @ts-expect-error\n params: to.params,\n // @ts-expect-error\n state: getStateFromParams(to.params),\n },\n ],\n },\n options?.config\n );\n\n return {\n href,\n accessibilityRole: 'link' as const,\n onPress,\n };\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/44fc51c589afd6386a670adfef7d0ee4.json b/.expo/web/cache/development/babel-loader/44fc51c589afd6386a670adfef7d0ee4.json new file mode 100644 index 0000000000000000000000000000000000000000..985c11fae07baab3566d18998c032e0f150bd6f0 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/44fc51c589afd6386a670adfef7d0ee4.json @@ -0,0 +1 @@ +{"ast":null,"code":"import getNamedContext from \"../getNamedContext\";\nvar HeaderHeightContext = getNamedContext('HeaderHeightContext', undefined);\nexport default HeaderHeightContext;","map":{"version":3,"sources":["HeaderHeightContext.tsx"],"names":["HeaderHeightContext","getNamedContext"],"mappings":"AAAA,OAAA,eAAA;AAEA,IAAMA,mBAAmB,GAAGC,eAAe,CAAA,qBAAA,EAA3C,SAA2C,CAA3C;AAKA,eAAA,mBAAA","sourcesContent":["import getNamedContext from '../getNamedContext';\n\nconst HeaderHeightContext = getNamedContext<number | undefined>(\n 'HeaderHeightContext',\n undefined\n);\n\nexport default HeaderHeightContext;\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/45c2e3f04228aa07f84bd078e478ce61.json b/.expo/web/cache/development/babel-loader/45c2e3f04228aa07f84bd078e478ce61.json new file mode 100644 index 0000000000000000000000000000000000000000..25868710d216be3b3cf3d0428cb65ff9479b1578 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/45c2e3f04228aa07f84bd078e478ce61.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport TextInput from \"react-native-web/dist/exports/TextInput\";\nimport React, { useState, useEffect } from 'react';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function CreateNewUser(_ref) {\n var navigation = _ref.navigation;\n\n var _useState = useState(''),\n _useState2 = _slicedToArray(_useState, 2),\n name = _useState2[0],\n onChangeName = _useState2[1];\n\n var _useState3 = useState(''),\n _useState4 = _slicedToArray(_useState3, 2),\n email = _useState4[0],\n onChangeEmail = _useState4[1];\n\n var _useState5 = useState(''),\n _useState6 = _slicedToArray(_useState5, 2),\n image = _useState6[0],\n onChangeImage = _useState6[1];\n\n function newUser() {\n return _regeneratorRuntime.async(function newUser$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return _regeneratorRuntime.awrap(addDoc(collection(getFirestore(), 'Users'), {\n Name: name,\n Email: email,\n Image: image\n }));\n\n case 3:\n _context.next = 7;\n break;\n\n case 5:\n _context.prev = 5;\n _context.t0 = _context[\"catch\"](0);\n\n case 7:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, [[0, 5]], Promise);\n }\n\n ;\n\n function Submitt() {\n newUser();\n navigation.navigate({\n name: 'UserList',\n merge: true\n });\n }\n\n return _jsxs(View, {\n children: [_jsx(Text, {\n children: \"CreateNewUser\"\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeName,\n value: name,\n multiline: true\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeEmail,\n value: email,\n multiline: true\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeImage,\n value: image,\n multiline: true\n }), _jsx(Button, {\n title: \"Submitt\",\n onPress: Submitt\n })]\n });\n}\n;\nvar styles = StyleSheet.create({\n input: {\n borderBottomColor: '#CFCDCD',\n borderBottomWidth: 1,\n width: 220,\n marginTop: 20\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/CreateNewUser.js"],"names":["React","useState","useEffect","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","firebase","CreateNewUser","navigation","name","onChangeName","email","onChangeEmail","image","onChangeImage","newUser","Name","Email","Image","Submitt","navigate","merge","styles","input","StyleSheet","create","borderBottomColor","borderBottomWidth","width","marginTop"],"mappings":";;;;;;;AACA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;AAEA,OAAOC,EAAP;AACA,SAAQC,UAAR,EAAoBC,GAApB,EAAyBC,UAAzB,EAAqCC,aAArC,EAAoDC,MAApD,EAA4DC,SAA5D,EAAuEC,MAAvE,EAA+EC,YAA/E,EAA6FC,MAA7F,EAAqGC,MAArG,QAAkH,oBAAlH;AACA,SAASC,QAAT,QAAyB,kCAAzB;;;AAEA,eAAe,SAASC,aAAT,OAAqC;AAAA,MAAZC,UAAY,QAAZA,UAAY;;AAEhD,kBAA6Bf,QAAQ,CAAC,EAAD,CAArC;AAAA;AAAA,MAAOgB,IAAP;AAAA,MAAaC,YAAb;;AACA,mBAA+BjB,QAAQ,CAAC,EAAD,CAAvC;AAAA;AAAA,MAAOkB,KAAP;AAAA,MAAcC,aAAd;;AACA,mBAA+BnB,QAAQ,CAAC,EAAD,CAAvC;AAAA;AAAA,MAAOoB,KAAP;AAAA,MAAcC,aAAd;;AAEA,WAAeC,OAAf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6CAEYf,MAAM,CAACJ,UAAU,CAACO,YAAY,EAAb,EAAiB,OAAjB,CAAX,EAAqC;AAC/Ca,cAAAA,IAAI,EAAEP,IADyC;AAE/CQ,cAAAA,KAAK,EAAEN,KAFwC;AAG/CO,cAAAA,KAAK,EAAEL;AAHwC,aAArC,CAFlB;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAWK;;AAEN,WAASM,OAAT,GAAkB;AACdJ,IAAAA,OAAO;AACdP,IAAAA,UAAU,CAACY,QAAX,CAAoB;AACRX,MAAAA,IAAI,EAAE,UADE;AAGRY,MAAAA,KAAK,EAAE;AAHC,KAApB;AAKK;;AACL,SACI,MAAC,IAAD;AAAA,eACA,KAAC,IAAD;AAAA;AAAA,MADA,EAIA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEC,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAEb,YAA9C;AAA4D,MAAA,KAAK,EAAED,IAAnE;AAAyE,MAAA,SAAS,EAAI;AAAtF,MAJA,EAKA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEa,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAEX,aAA9C;AAA6D,MAAA,KAAK,EAAED,KAApE;AAA2E,MAAA,SAAS,EAAI;AAAxF,MALA,EAMA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEW,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAET,aAA9C;AAA6D,MAAA,KAAK,EAAED,KAApE;AAA2E,MAAA,SAAS,EAAI;AAAxF,MANA,EAOA,KAAC,MAAD;AAAQ,MAAA,KAAK,EAAC,SAAd;AAAwB,MAAA,OAAO,EAAEM;AAAjC,MAPA;AAAA,IADJ;AAWC;AAAA;AAED,IAAMG,MAAM,GAAGE,UAAU,CAACC,MAAX,CAAkB;AAC7BF,EAAAA,KAAK,EAAC;AAEFG,IAAAA,iBAAiB,EAAC,SAFhB;AAGFC,IAAAA,iBAAiB,EAAC,CAHhB;AAIFC,IAAAA,KAAK,EAAE,GAJL;AAKFC,IAAAA,SAAS,EAAE;AALT;AADuB,CAAlB,CAAf","sourcesContent":["import { StyleSheet, Text, View, Button, TextInput } from 'react-native';\r\nimport React, { useState, useEffect } from 'react';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\nexport default function CreateNewUser({ navigation}){\r\n\r\n const [name, onChangeName] = useState('');\r\n const [email, onChangeEmail] = useState('');\r\n const [image, onChangeImage] = useState('');\r\n\r\n async function newUser(){\r\n try{\r\n await addDoc(collection(getFirestore(), 'Users'),{\r\n Name: name,\r\n Email: email,\r\n Image: image,\r\n });\r\n }\r\n catch(error){\r\n \r\n }\r\n };\r\n\r\n function Submitt(){\r\n newUser();\r\nnavigation.navigate({\r\n name: 'UserList',\r\n //params: { post: fach },\r\n merge: true,\r\n });\r\n }\r\nreturn(\r\n <View>\r\n <Text>\r\n CreateNewUser\r\n </Text>\r\n <TextInput style={styles.input} onChangeText={onChangeName} value={name} multiline = {true} />\r\n <TextInput style={styles.input} onChangeText={onChangeEmail} value={email} multiline = {true} />\r\n <TextInput style={styles.input} onChangeText={onChangeImage} value={image} multiline = {true} />\r\n <Button title='Submitt' onPress={Submitt}/>\r\n </View>\r\n)\r\n};\r\n\r\nconst styles = StyleSheet.create({\r\n input:{\r\n //underlineColorAndroid: '#CFCDCD',\r\n borderBottomColor:'#CFCDCD',\r\n borderBottomWidth:1,\r\n width: 220,\r\n marginTop: 20,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/45e71a93ed645690a03f059ba4e82cc7.json b/.expo/web/cache/development/babel-loader/45e71a93ed645690a03f059ba4e82cc7.json new file mode 100644 index 0000000000000000000000000000000000000000..fb46a9b26105f02932c9d5dccdb1c81b0cf6ddd2 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/45e71a93ed645690a03f059ba4e82cc7.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport AnimatedInterpolation from \"./AnimatedInterpolation\";\nimport AnimatedNode from \"./AnimatedNode\";\nimport AnimatedValue from \"./AnimatedValue\";\nimport AnimatedWithChildren from \"./AnimatedWithChildren\";\n\nvar AnimatedAddition = function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedAddition, _AnimatedWithChildren);\n\n function AnimatedAddition(a, b) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n _this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n _this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n return _this;\n }\n\n var _proto = AnimatedAddition.prototype;\n\n _proto.__makeNative = function __makeNative() {\n this._a.__makeNative();\n\n this._b.__makeNative();\n\n _AnimatedWithChildren.prototype.__makeNative.call(this);\n };\n\n _proto.__getValue = function __getValue() {\n return this._a.__getValue() + this._b.__getValue();\n };\n\n _proto.interpolate = function interpolate(config) {\n return new AnimatedInterpolation(this, config);\n };\n\n _proto.__attach = function __attach() {\n this._a.__addChild(this);\n\n this._b.__addChild(this);\n };\n\n _proto.__detach = function __detach() {\n this._a.__removeChild(this);\n\n this._b.__removeChild(this);\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n return {\n type: 'addition',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n };\n\n return AnimatedAddition;\n}(AnimatedWithChildren);\n\nexport default AnimatedAddition;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedAddition.js"],"names":["_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","AnimatedInterpolation","AnimatedNode","AnimatedValue","AnimatedWithChildren","AnimatedAddition","_AnimatedWithChildren","a","b","_this","call","_a","_b","_proto","__makeNative","__getValue","interpolate","config","__attach","__addChild","__detach","__removeChild","__getNativeConfig","type","input","__getNativeTag"],"mappings":"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","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\n\nvar AnimatedAddition = /*#__PURE__*/function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedAddition, _AnimatedWithChildren);\n\n function AnimatedAddition(a, b) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n _this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n _this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n return _this;\n }\n\n var _proto = AnimatedAddition.prototype;\n\n _proto.__makeNative = function __makeNative() {\n this._a.__makeNative();\n\n this._b.__makeNative();\n\n _AnimatedWithChildren.prototype.__makeNative.call(this);\n };\n\n _proto.__getValue = function __getValue() {\n return this._a.__getValue() + this._b.__getValue();\n };\n\n _proto.interpolate = function interpolate(config) {\n return new AnimatedInterpolation(this, config);\n };\n\n _proto.__attach = function __attach() {\n this._a.__addChild(this);\n\n this._b.__addChild(this);\n };\n\n _proto.__detach = function __detach() {\n this._a.__removeChild(this);\n\n this._b.__removeChild(this);\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n return {\n type: 'addition',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n };\n\n return AnimatedAddition;\n}(AnimatedWithChildren);\n\nexport default AnimatedAddition;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/4759b4a26f9b9b171de56db5fe2f71d0.json b/.expo/web/cache/development/babel-loader/4759b4a26f9b9b171de56db5fe2f71d0.json new file mode 100644 index 0000000000000000000000000000000000000000..131818ef5b32e572ee5a20670e89b647d4746811 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/4759b4a26f9b9b171de56db5fe2f71d0.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([null]),\n _useState2 = _slicedToArray(_useState, 2),\n DATA = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(getFirestore(), \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var itemData = {\n name: doc.data().Name,\n email: doc.data().Email,\n image: doc.data().Image\n };\n setUsers(itemData);\n Alert.alert('useEffect', doc.data().Name);\n });\n });\n }, []);\n\n function useeffect() {\n getDocs(collection(getFirestore(), 'Users')).forEach(function (doc) {\n console.log(doc.id + \" => \" + doc.data());\n });\n }\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n Alert.alert('listen on change', message.Name);\n }\n });\n });\n }\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" \"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","UserLists","navigation","route","DATA","setUsers","colRef","querySnapshot","forEach","itemData","name","data","Name","email","Email","image","Image","Alert","alert","useeffect","console","log","id","listenOnChange","snapchot","docChanges","change","type","message","push","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height"],"mappings":";AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;;;;;;;;;;AAEA,SAASC,SAAT,QAA0B,iBAA1B;AAEA,OAAOC,EAAP;AACA,SAAQC,UAAR,EAAoBC,GAApB,EAAyBC,UAAzB,EAAqCC,aAArC,EAAoDC,MAApD,EAA4DC,SAA5D,EAAuEC,MAAvE,EAA+EC,YAA/E,EAA6FC,OAA7F,EAAsGC,MAAtG,QAAmH,oBAAnH;AACA,SAASC,QAAT,QAAyB,kCAAzB;;;AAQA,eAAe,SAASC,SAAT,OAAuC;AAAA,MAAnBC,UAAmB,QAAnBA,UAAmB;AAAA,MAAPC,KAAO,QAAPA,KAAO;;AAEtD,kBAAyBjB,QAAQ,CAAC,CAAC,IAAD,CAAD,CAAjC;AAAA;AAAA,MAAOkB,IAAP;AAAA,MAAaC,QAAb;;AAKAlB,EAAAA,SAAS,CAAC,YAAI;AAEd,QAAMmB,MAAM,GAAGhB,UAAU,CAACO,YAAY,EAAb,EAAgB,OAAhB,CAAzB;AACAL,IAAAA,UAAU,CAACc,MAAD,EAAS,UAACC,aAAD,EAAmB;AACpCA,MAAAA,aAAa,CAACC,OAAd,CAAsB,UAACjB,GAAD,EAAO;AAEvB,YAAMkB,QAAQ,GAAG;AAACC,UAAAA,IAAI,EAAEnB,GAAG,CAACoB,IAAJ,GAAWC,IAAlB;AAAwBC,UAAAA,KAAK,EAAEtB,GAAG,CAACoB,IAAJ,GAAWG,KAA1C;AAAiDC,UAAAA,KAAK,EAAExB,GAAG,CAACoB,IAAJ,GAAWK;AAAnE,SAAjB;AAEAX,QAAAA,QAAQ,CAACI,QAAD,CAAR;AACAQ,QAAAA,KAAK,CAACC,KAAN,CAAY,WAAZ,EAAwB3B,GAAG,CAACoB,IAAJ,GAAWC,IAAnC;AACL,OAND;AASD,KAVS,CAAV;AAaC,GAhBQ,EAgBP,EAhBO,CAAT;;AAiCA,WAASO,SAAT,GAAoB;AAClBrB,IAAAA,OAAO,CAACR,UAAU,CAACO,YAAY,EAAb,EAAgB,OAAhB,CAAX,CAAP,CAA4CW,OAA5C,CAAoD,UAACjB,GAAD,EAAS;AAC7D6B,MAAAA,OAAO,CAACC,GAAR,CAAe9B,GAAG,CAAC+B,EAAnB,YAA4B/B,GAAG,CAACoB,IAAJ,EAA5B;AACD,KAFC;AAGD;;AAED,WAASY,cAAT,GAA0B;AACxB/B,IAAAA,UAAU,CAACF,UAAU,CAACO,YAAY,EAAb,EAAgB,OAAhB,CAAX,EAAqC,UAAS2B,QAAT,EAAkB;AAC/DA,MAAAA,QAAQ,CAACC,UAAT,GAAsBjB,OAAtB,CAA8B,UAASkB,MAAT,EAAgB;AAC5C,YAAGA,MAAM,CAACC,IAAP,KAAgB,SAAnB,EAA6B,CAE5B,CAFD,MAGI;AACF,cAAIC,OAAO,GAAGF,MAAM,CAACnC,GAAP,CAAWoB,IAAX,EAAd;AACA,cAAMF,QAAQ,GAAG;AAACC,YAAAA,IAAI,EAAEkB,OAAO,CAAChB,IAAf;AAAqBC,YAAAA,KAAK,EAAEe,OAAO,CAACd,KAApC;AAA2CC,YAAAA,KAAK,EAAEa,OAAO,CAACZ;AAA1D,WAAjB;AACAZ,UAAAA,IAAI,CAACyB,IAAL,CAAUpB,QAAV;AACAQ,UAAAA,KAAK,CAACC,KAAN,CAAY,kBAAZ,EAA+BU,OAAO,CAAChB,IAAvC;AAED;AACF,OAXD;AAYD,KAbS,CAAV;AAcD;;AAKD,MAAGT,KAAK,CAAC2B,MAAN,IAAgB,IAAnB,EAAwB,CAGvB;;AACG,MAAMC,IAAI,GAAG,SAAPA,IAAO;AAAA,QAAGC,IAAH,SAAGA,IAAH;AAAA,QAASC,OAAT,SAASA,OAAT;AAAA,QAAkBC,eAAlB,SAAkBA,eAAlB;AAAA,QAAmCC,SAAnC,SAAmCA,SAAnC;AAAA,WACT,KAAC,IAAD;AAAA,gBACE,MAAC,gBAAD;AAAkB,QAAA,OAAO,EAAEF,OAA3B;AAAoC,QAAA,KAAK,EAAE,CAACG,MAAM,CAACJ,IAAR,EAAcE,eAAd,CAA3C;AAAA,mBACE,KAAC,IAAD;AAAA,oBACKF,IAAI,CAACtB;AADV,UADF,EAKE,KAAC,KAAD;AAAO,UAAA,KAAK,EAAE0B,MAAM,CAACC,QAArB;AACH,UAAA,MAAM,EAAE;AACPC,YAAAA,GAAG,EAAEN,IAAI,CAACjB;AADH;AADL,UALF;AAAA;AADF,MADS;AAAA,GAAb;;AAgBJ,mBAAoC7B,QAAQ,CAAC,IAAD,CAA5C;AAAA;AAAA,MAAOqD,UAAP;AAAA,MAAmBC,aAAnB;;AAEE,MAAMC,UAAU,GAAG,SAAbA,UAAa,QAAc;AAAA,QAAXT,IAAW,SAAXA,IAAW;AAC/B,QAAME,eAAe,GAAGF,IAAI,CAACV,EAAL,KAAYiB,UAAZ,GAAyB,SAAzB,GAAqC,SAA7D;AACA,QAAMG,KAAK,GAAGV,IAAI,CAACV,EAAL,KAAYiB,UAAZ,GAAyB,OAAzB,GAAmC,OAAjD;AAEA,WACE,KAAC,IAAD;AACE,MAAA,IAAI,EAAEP,IADR;AAEE,MAAA,OAAO,EAAE;AAAA,eAAMW,uBAAuB,CAACX,IAAD,CAA7B;AAAA,OAFX;AAIE,MAAA,SAAS,EAAE;AAAEU,QAAAA,KAAK,EAALA;AAAF;AAJb,MADF;AAQD,GAZD;;AAeA,MAAMC,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACX,IAAD,EAAS;AAExCQ,IAAAA,aAAa,CAACR,IAAI,CAACV,EAAN,CAAb;AAEDpB,IAAAA,UAAU,CAAC0C,QAAX,CAAoB,SAApB,EAA8B;AAACC,MAAAA,WAAW,EAACb;AAAb,KAA9B;AAED,GANC;;AASF,MAAMc,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAM;AAC3B,QAAG1C,IAAI,IAAI,IAAX,EAAiB,CAEhB,CAFD,MAGI;AACFa,MAAAA,KAAK,CAACC,KAAN,CAAY,eAAZ;AACD;;AAED,WAEE,KAAC,IAAD;AAAA;AAAA,MAFF;AAOD,GAfH;;AAiBE,SACE,MAAC,YAAD;AAAc,IAAA,KAAK,EAAEkB,MAAM,CAACW,SAA5B;AAAA,eACA,MAAC,IAAD;AAAA,iBACC,KAAC,MAAD;AAAQ,QAAA,OAAO,EAAE,mBAAK;AAAC7C,UAAAA,UAAU,CAAC0C,QAAX,CAAoB,eAApB;AAAqC,SAA5D;AAA8D,QAAA,KAAK,EAAC;AAApE,QADD,EAEE,KAAC,SAAD;AAAW,QAAA,KAAK,EAAC;AAAjB,QAFF;AAAA,MADA,EAKA,KAAC,IAAD;AAAA;AAAA,MALA,EAMA,KAAC,MAAD;AAAQ,MAAA,KAAK,EAAC;AAAd,MANA,EAOA,KAAC,MAAD;AAAQ,MAAA,KAAK,EAAC;AAAd,MAPA,EAQA,KAAC,QAAD;AACI,MAAA,IAAI,EAAExC,IADV;AAEI,MAAA,UAAU,EAAEqC,UAFhB;AAGI,MAAA,YAAY,EAAG,sBAACT,IAAD,EAAOgB,KAAP;AAAA,eAAiBA,KAAK,CAACC,QAAN,EAAjB;AAAA,OAHnB;AAII,MAAA,SAAS,EAAEV,UAJf;AAKI,MAAA,kBAAkB,EAAEO;AALxB,MARA;AAAA,IADF;AAoBD;AAGD,IAAMV,MAAM,GAAGc,UAAU,CAACC,MAAX,CAAkB;AAC7BJ,EAAAA,SAAS,EAAE;AACTK,IAAAA,IAAI,EAAE,CADG;AAETlB,IAAAA,eAAe,EAAE,MAFR;AAGTmB,IAAAA,UAAU,EAAE,QAHH;AAITC,IAAAA,cAAc,EAAE,QAJP;AAKTC,IAAAA,gBAAgB,EAAE;AALT,GADkB;AAQ7BlB,EAAAA,QAAQ,EAAE;AACRmB,IAAAA,KAAK,EAAE,EADC;AAERC,IAAAA,MAAM,EAAE;AAFA;AARmB,CAAlB,CAAf","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\n//let DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [DATA, setUsers] = useState([null]);\r\n\r\n//listenOnChange();\r\n//useeffect();\r\n\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(getFirestore(),\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image}\r\n //DATA.push(itemData);\r\n setUsers(itemData);\r\n Alert.alert('useEffect',doc.data().Name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\nfunction useeffect(){\r\n getDocs(collection(getFirestore(),'Users')).forEach((doc) => {\r\n console.log(`${doc.id} => ${doc.data()}`);\r\n});\r\n}\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n Alert.alert('listen on change',message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> </Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/47d262a2e65740a2f1acda76e41339b3.json b/.expo/web/cache/development/babel-loader/47d262a2e65740a2f1acda76e41339b3.json new file mode 100644 index 0000000000000000000000000000000000000000..80e95fa3006b8c8f71e1fc10b047fae476cf2c24 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/47d262a2e65740a2f1acda76e41339b3.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\n\nvar FirestorePath = function () {\n function FirestorePath() {\n var pathComponents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n _classCallCheck(this, FirestorePath);\n\n this._parts = pathComponents;\n }\n\n _createClass(FirestorePath, [{\n key: \"id\",\n get: function get() {\n return this._parts.length ? this._parts[this._parts.length - 1] : '';\n }\n }, {\n key: \"isDocument\",\n get: function get() {\n return this._parts.length % 2 === 0;\n }\n }, {\n key: \"isCollection\",\n get: function get() {\n return this._parts.length % 2 === 1;\n }\n }, {\n key: \"relativeName\",\n get: function get() {\n return this._parts.join('/');\n }\n }, {\n key: \"child\",\n value: function child(relativePath) {\n return new FirestorePath(this._parts.concat(relativePath.split('/')));\n }\n }, {\n key: \"parent\",\n value: function parent() {\n return this._parts.length > 1 ? new FirestorePath(this._parts.slice(0, this._parts.length - 1)) : null;\n }\n }], [{\n key: \"fromName\",\n value: function fromName(name) {\n var parts = name.split('/');\n return new FirestorePath(parts);\n }\n }]);\n\n return FirestorePath;\n}();\n\nexport { FirestorePath as default };","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/firestore/lib/FirestorePath.js"],"names":["FirestorePath","pathComponents","_parts","length","join","relativePath","concat","split","slice","name","parts"],"mappings":";;;IAiBqBA,a;AAMnB,2BAAiC;AAAA,QAArBC,cAAqB,uEAAJ,EAAI;;AAAA;;AAC/B,SAAKC,MAAL,GAAcD,cAAd;AACD;;;;SAED,eAAS;AACP,aAAO,KAAKC,MAAL,CAAYC,MAAZ,GAAqB,KAAKD,MAAL,CAAY,KAAKA,MAAL,CAAYC,MAAZ,GAAqB,CAAjC,CAArB,GAA2D,EAAlE;AACD;;;SAED,eAAiB;AACf,aAAO,KAAKD,MAAL,CAAYC,MAAZ,GAAqB,CAArB,KAA2B,CAAlC;AACD;;;SAED,eAAmB;AACjB,aAAO,KAAKD,MAAL,CAAYC,MAAZ,GAAqB,CAArB,KAA2B,CAAlC;AACD;;;SAED,eAAmB;AACjB,aAAO,KAAKD,MAAL,CAAYE,IAAZ,CAAiB,GAAjB,CAAP;AACD;;;WAED,eAAMC,YAAN,EAAoB;AAClB,aAAO,IAAIL,aAAJ,CAAkB,KAAKE,MAAL,CAAYI,MAAZ,CAAmBD,YAAY,CAACE,KAAb,CAAmB,GAAnB,CAAnB,CAAlB,CAAP;AACD;;;WAED,kBAAS;AACP,aAAO,KAAKL,MAAL,CAAYC,MAAZ,GAAqB,CAArB,GACH,IAAIH,aAAJ,CAAkB,KAAKE,MAAL,CAAYM,KAAZ,CAAkB,CAAlB,EAAqB,KAAKN,MAAL,CAAYC,MAAZ,GAAqB,CAA1C,CAAlB,CADG,GAEH,IAFJ;AAGD;;;WAjCD,kBAAgBM,IAAhB,EAAsB;AACpB,UAAMC,KAAK,GAAGD,IAAI,CAACF,KAAL,CAAW,GAAX,CAAd;AACA,aAAO,IAAIP,aAAJ,CAAkBU,KAAlB,CAAP;AACD;;;;;;SAJkBV,a","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nexport default class FirestorePath {\n static fromName(name) {\n const parts = name.split('/');\n return new FirestorePath(parts);\n }\n\n constructor(pathComponents = []) {\n this._parts = pathComponents;\n }\n\n get id() {\n return this._parts.length ? this._parts[this._parts.length - 1] : '';\n }\n\n get isDocument() {\n return this._parts.length % 2 === 0;\n }\n\n get isCollection() {\n return this._parts.length % 2 === 1;\n }\n\n get relativeName() {\n return this._parts.join('/');\n }\n\n child(relativePath) {\n return new FirestorePath(this._parts.concat(relativePath.split('/')));\n }\n\n parent() {\n return this._parts.length > 1\n ? new FirestorePath(this._parts.slice(0, this._parts.length - 1))\n : null;\n }\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/4873a137259b51561b2fb0c379754dbe.json b/.expo/web/cache/development/babel-loader/4873a137259b51561b2fb0c379754dbe.json new file mode 100644 index 0000000000000000000000000000000000000000..bf88745c6fbffb0c404b2882f442d6dc39353253 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/4873a137259b51561b2fb0c379754dbe.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { NavigationContainer } from '@react-navigation/native';\nimport { createNativeStackNavigator } from '@react-navigation/native-stack';\nimport UserList from \"./pages/UserList\";\nimport Details from \"./pages/Details\";\nimport CreateNewUser from \"./pages/CreateNewUser\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function App() {\n var Stack = createNativeStackNavigator();\n return _jsx(NavigationContainer, {\n children: _jsxs(Stack.Navigator, {\n children: [_jsx(Stack.Screen, {\n name: \"UserList\",\n component: UserList,\n options: {\n title: 'User List'\n }\n }), _jsx(Stack.Screen, {\n name: \"Details\",\n component: Details\n }), _jsx(Stack.Screen, {\n name: \"CreateNewUser\",\n component: CreateNewUser\n })]\n })\n });\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/App.js"],"names":["NavigationContainer","createNativeStackNavigator","UserList","Details","CreateNewUser","App","Stack","title"],"mappings":"AAAA,SAASA,mBAAT,QAAoC,0BAApC;AACA,SAASC,0BAAT,QAA2C,gCAA3C;AACA,OAAQC,QAAR;AACA,OAAQC,OAAR;AACA,OAAQC,aAAR;;;AAEA,eAAe,SAASC,GAAT,GAAe;AAC5B,MAAMC,KAAK,GAAGL,0BAA0B,EAAxC;AAGD,SACG,KAAC,mBAAD;AAAA,cACE,MAAC,KAAD,CAAO,SAAP;AAAA,iBACE,KAAC,KAAD,CAAO,MAAP;AACE,QAAA,IAAI,EAAC,UADP;AAEE,QAAA,SAAS,EAAEC,QAFb;AAGE,QAAA,OAAO,EAAE;AAAEK,UAAAA,KAAK,EAAE;AAAT;AAHX,QADF,EAME,KAAC,KAAD,CAAO,MAAP;AAAc,QAAA,IAAI,EAAC,SAAnB;AAA6B,QAAA,SAAS,EAAEJ;AAAxC,QANF,EAOE,KAAC,KAAD,CAAO,MAAP;AAAc,QAAA,IAAI,EAAC,eAAnB;AAAmC,QAAA,SAAS,EAAEC;AAA9C,QAPF;AAAA;AADF,IADH;AAcA","sourcesContent":["import { NavigationContainer } from '@react-navigation/native';\nimport { createNativeStackNavigator } from '@react-navigation/native-stack';\nimport UserList from './pages/UserList'\nimport Details from './pages/Details'\nimport CreateNewUser from './pages/CreateNewUser'\n\nexport default function App() {\n const Stack = createNativeStackNavigator();\n \n\n return (\n <NavigationContainer>\n <Stack.Navigator>\n <Stack.Screen\n name=\"UserList\"\n component={UserList}\n options={{ title: 'User List' }}\n />\n <Stack.Screen name=\"Details\" component={Details} />\n <Stack.Screen name=\"CreateNewUser\" component={CreateNewUser} />\n </Stack.Navigator>\n </NavigationContainer>\n );\n\n}\n\n\n\n\n\n\n\n\n\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/4877412f00f2468ab481525d91090191.json b/.expo/web/cache/development/babel-loader/4877412f00f2468ab481525d91090191.json new file mode 100644 index 0000000000000000000000000000000000000000..859fab82efa2e0b9cca9424b8e25494f90e85e90 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/4877412f00f2468ab481525d91090191.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nvar _excluded = [\"get\", \"request\"];\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\nfunction usePermission(methods, options) {\n var isMounted = useRef(true);\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n status = _useState2[0],\n setStatus = _useState2[1];\n\n var _ref = options || {},\n _ref$get = _ref.get,\n get = _ref$get === void 0 ? true : _ref$get,\n _ref$request = _ref.request,\n request = _ref$request === void 0 ? false : _ref$request,\n permissionOptions = _objectWithoutProperties(_ref, _excluded);\n\n var getPermission = useCallback(function _callee() {\n var response;\n return _regeneratorRuntime.async(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _regeneratorRuntime.awrap(methods.getMethod(Object.keys(permissionOptions).length > 0 ? permissionOptions : undefined));\n\n case 2:\n response = _context.sent;\n if (isMounted.current) setStatus(response);\n return _context.abrupt(\"return\", response);\n\n case 5:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n }, [methods.getMethod]);\n var requestPermission = useCallback(function _callee2() {\n var response;\n return _regeneratorRuntime.async(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return _regeneratorRuntime.awrap(methods.requestMethod(Object.keys(permissionOptions).length > 0 ? permissionOptions : undefined));\n\n case 2:\n response = _context2.sent;\n if (isMounted.current) setStatus(response);\n return _context2.abrupt(\"return\", response);\n\n case 5:\n case \"end\":\n return _context2.stop();\n }\n }\n }, null, null, null, Promise);\n }, [methods.requestMethod]);\n useEffect(function runMethods() {\n if (request) requestPermission();\n if (!request && get) getPermission();\n }, [get, request, requestPermission, getPermission]);\n useEffect(function didMount() {\n isMounted.current = true;\n return function () {\n isMounted.current = false;\n };\n }, []);\n return [status, requestPermission, getPermission];\n}\n\nexport function createPermissionHook(methods) {\n return function (options) {\n return usePermission(methods, options);\n };\n}","map":{"version":3,"sources":["../src/PermissionsHook.ts"],"names":[],"mappings":";;;;AAAA,SAAS,WAAT,EAAsB,SAAtB,EAAiC,MAAjC,EAAyC,QAAzC,QAAyD,OAAzD;;AA6BA,SAAS,aAAT,CACE,OADF,EAEE,OAFF,EAE0C;AAExC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAD,CAAxB;;AACA,kBAA4B,QAAQ,CAAoB,IAApB,CAApC;AAAA;AAAA,MAAO,MAAP;AAAA,MAAe,SAAf;;AACA,aAA8D,OAAO,IAAI,EAAzE;AAAA,sBAAQ,GAAR;AAAA,MAAQ,GAAR,yBAAc,IAAd;AAAA,0BAAoB,OAApB;AAAA,MAAoB,OAApB,6BAA8B,KAA9B;AAAA,MAAwC,iBAAxC;;AAEA,MAAM,aAAa,GAAG,WAAW,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6CACT,OAAO,CAAC,SAAR,CACrB,MAAM,CAAC,IAAP,CAAY,iBAAZ,EAA+B,MAA/B,GAAwC,CAAxC,GAA6C,iBAA7C,GAA6E,SADxD,CADS;;AAAA;AAC1B,YAAA,QAD0B;AAIhC,gBAAI,SAAS,CAAC,OAAd,EAAuB,SAAS,CAAC,QAAD,CAAT;AAJS,6CAKzB,QALyB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAD,EAM9B,CAAC,OAAO,CAAC,SAAT,CAN8B,CAAjC;AAQA,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6CACb,OAAO,CAAC,aAAR,CACrB,MAAM,CAAC,IAAP,CAAY,iBAAZ,EAA+B,MAA/B,GAAwC,CAAxC,GAA6C,iBAA7C,GAA6E,SADxD,CADa;;AAAA;AAC9B,YAAA,QAD8B;AAIpC,gBAAI,SAAS,CAAC,OAAd,EAAuB,SAAS,CAAC,QAAD,CAAT;AAJa,8CAK7B,QAL6B;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAD,EAMlC,CAAC,OAAO,CAAC,aAAT,CANkC,CAArC;AAQA,EAAA,SAAS,CACP,SAAS,UAAT,GAAmB;AACjB,QAAI,OAAJ,EAAa,iBAAiB;AAC9B,QAAI,CAAC,OAAD,IAAY,GAAhB,EAAqB,aAAa;AACnC,GAJM,EAKP,CAAC,GAAD,EAAM,OAAN,EAAe,iBAAf,EAAkC,aAAlC,CALO,CAAT;AASA,EAAA,SAAS,CAAC,SAAS,QAAT,GAAiB;AACzB,IAAA,SAAS,CAAC,OAAV,GAAoB,IAApB;AACA,WAAO,YAAK;AACV,MAAA,SAAS,CAAC,OAAV,GAAoB,KAApB;AACD,KAFD;AAGD,GALQ,EAKN,EALM,CAAT;AAOA,SAAO,CAAC,MAAD,EAAS,iBAAT,EAA4B,aAA5B,CAAP;AACD;;AAMD,OAAM,SAAU,oBAAV,CACJ,OADI,EAC+C;AAEnD,SAAO,UAAC,OAAD;AAAA,WACL,aAAa,CAAsB,OAAtB,EAA+B,OAA/B,CADR;AAAA,GAAP;AAED","sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { PermissionResponse } from './PermissionsInterface';\n\n// These types are identical, but improves the readability for suggestions in editors\ntype RequestPermissionMethod<Permission extends PermissionResponse> = () => Promise<Permission>;\ntype GetPermissionMethod<Permission extends PermissionResponse> = () => Promise<Permission>;\n\ninterface PermissionHookMethods<Permission extends PermissionResponse, Options = never> {\n /** The permission method that requests the user to grant permission. */\n requestMethod: (options?: Options) => Promise<Permission>;\n /** The permission method that only fetches the current permission status. */\n getMethod: (options?: Options) => Promise<Permission>;\n}\n\ninterface PermissionHookBehavior {\n /** If the hook should automatically fetch the current permission status, without asking the user. */\n get?: boolean;\n /** If the hook should automatically request the user to grant permission. */\n request?: boolean;\n}\n\nexport type PermissionHookOptions<Options extends object> = PermissionHookBehavior & Options;\n\n/**\n * Get or request permission for protected functionality within the app.\n * It uses separate permission requesters to interact with a single permission.\n * By default, the hook will only retrieve the permission status.\n */\nfunction usePermission<Permission extends PermissionResponse, Options extends object>(\n methods: PermissionHookMethods<Permission, Options>,\n options?: PermissionHookOptions<Options>\n): [Permission | null, RequestPermissionMethod<Permission>, GetPermissionMethod<Permission>] {\n const isMounted = useRef(true);\n const [status, setStatus] = useState<Permission | null>(null);\n const { get = true, request = false, ...permissionOptions } = options || {};\n\n const getPermission = useCallback(async () => {\n const response = await methods.getMethod(\n Object.keys(permissionOptions).length > 0 ? (permissionOptions as Options) : undefined\n );\n if (isMounted.current) setStatus(response);\n return response;\n }, [methods.getMethod]);\n\n const requestPermission = useCallback(async () => {\n const response = await methods.requestMethod(\n Object.keys(permissionOptions).length > 0 ? (permissionOptions as Options) : undefined\n );\n if (isMounted.current) setStatus(response);\n return response;\n }, [methods.requestMethod]);\n\n useEffect(\n function runMethods() {\n if (request) requestPermission();\n if (!request && get) getPermission();\n },\n [get, request, requestPermission, getPermission]\n );\n\n // Workaround for unmounting components receiving state updates\n useEffect(function didMount() {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n return [status, requestPermission, getPermission];\n}\n\n/**\n * Create a new permission hook with the permission methods built-in.\n * This can be used to quickly create specific permission hooks in every module.\n */\nexport function createPermissionHook<Permission extends PermissionResponse, Options extends object>(\n methods: PermissionHookMethods<Permission, Options>\n) {\n return (options?: PermissionHookOptions<Options>) =>\n usePermission<Permission, Options>(methods, options);\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/487b87e97276bbaa1e9f21caa8fc2f54.json b/.expo/web/cache/development/babel-loader/487b87e97276bbaa1e9f21caa8fc2f54.json new file mode 100644 index 0000000000000000000000000000000000000000..c86485c77e26b74ff700beba60a22f59e0a1f6d1 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/487b87e97276bbaa1e9f21caa8fc2f54.json @@ -0,0 +1 @@ +{"ast":null,"code":"import TextInputState from \"../TextInputState\";\n\nvar dismissKeyboard = function dismissKeyboard() {\n TextInputState.blurTextInput(TextInputState.currentlyFocusedField());\n};\n\nexport default dismissKeyboard;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/dismissKeyboard/index.js"],"names":["TextInputState","dismissKeyboard","blurTextInput","currentlyFocusedField"],"mappings":"AAQA,OAAOA,cAAP;;AAEA,IAAIC,eAAe,GAAG,SAASA,eAAT,GAA2B;AAC/CD,EAAAA,cAAc,CAACE,aAAf,CAA6BF,cAAc,CAACG,qBAAf,EAA7B;AACD,CAFD;;AAIA,eAAeF,eAAf","sourcesContent":["/**\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 TextInputState from '../TextInputState';\n\nvar dismissKeyboard = function dismissKeyboard() {\n TextInputState.blurTextInput(TextInputState.currentlyFocusedField());\n};\n\nexport default dismissKeyboard;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/491b8e1b3c35b44372551a3942464438.json b/.expo/web/cache/development/babel-loader/491b8e1b3c35b44372551a3942464438.json new file mode 100644 index 0000000000000000000000000000000000000000..7716f92bb6020b024b16025044d2db5e08e4e80c --- /dev/null +++ b/.expo/web/cache/development/babel-loader/491b8e1b3c35b44372551a3942464438.json @@ -0,0 +1 @@ +{"ast":null,"code":"import unitlessNumbers from \"../../modules/unitlessNumbers\";\nimport normalizeColor from \"../../modules/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\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\n return returnValue;\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/StyleSheet/normalizeValueWithProperty.js"],"names":["unitlessNumbers","normalizeColor","colorProps","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","color","shadowColor","textDecorationColor","textShadowColor","normalizeValueWithProperty","value","property","returnValue"],"mappings":"AAQA,OAAOA,eAAP;AACA,OAAOC,cAAP;AACA,IAAIC,UAAU,GAAG;AACfC,EAAAA,eAAe,EAAE,IADF;AAEfC,EAAAA,WAAW,EAAE,IAFE;AAGfC,EAAAA,cAAc,EAAE,IAHD;AAIfC,EAAAA,gBAAgB,EAAE,IAJH;AAKfC,EAAAA,iBAAiB,EAAE,IALJ;AAMfC,EAAAA,eAAe,EAAE,IANF;AAOfC,EAAAA,KAAK,EAAE,IAPQ;AAQfC,EAAAA,WAAW,EAAE,IARE;AASfC,EAAAA,mBAAmB,EAAE,IATN;AAUfC,EAAAA,eAAe,EAAE;AAVF,CAAjB;AAYA,eAAe,SAASC,0BAAT,CAAoCC,KAApC,EAA2CC,QAA3C,EAAqD;AAClE,MAAIC,WAAW,GAAGF,KAAlB;;AAEA,MAAI,CAACC,QAAQ,IAAI,IAAZ,IAAoB,CAACf,eAAe,CAACe,QAAD,CAArC,KAAoD,OAAOD,KAAP,KAAiB,QAAzE,EAAmF;AACjFE,IAAAA,WAAW,GAAGF,KAAK,GAAG,IAAtB;AACD,GAFD,MAEO,IAAIC,QAAQ,IAAI,IAAZ,IAAoBb,UAAU,CAACa,QAAD,CAAlC,EAA8C;AACnDC,IAAAA,WAAW,GAAGf,cAAc,CAACa,KAAD,CAA5B;AACD;;AAED,SAAOE,WAAP;AACD","sourcesContent":["/**\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 unitlessNumbers from '../../modules/unitlessNumbers';\nimport normalizeColor from '../../modules/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\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\n return returnValue;\n}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/492b07ff99a3fdd34af98ab2a88d3d38.json b/.expo/web/cache/development/babel-loader/492b07ff99a3fdd34af98ab2a88d3d38.json new file mode 100644 index 0000000000000000000000000000000000000000..3adaeb42a171985b56f1805c23420191b7a7a1eb --- /dev/null +++ b/.expo/web/cache/development/babel-loader/492b07ff99a3fdd34af98ab2a88d3d38.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n listenOnChange();\n useeffect();\n\n function useeffect() {\n getDocs(collection(getFirestore(), 'Users')).forEach(function (doc) {\n console.log(doc.id + \" => \" + doc.data());\n });\n }\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n }\n });\n });\n }\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" bla\"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATA","UserLists","navigation","route","users","setUsers","listenOnChange","useeffect","forEach","console","log","id","data","snapchot","docChanges","change","type","message","itemData","name","Name","email","Email","image","Image","push","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","Alert","alert","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState(null);\r\n\r\nlistenOnChange();\r\nuseeffect();\r\n\r\n/*useEffect(()=>{\r\n \r\nconst colRef = collection(db,\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n const {email, image, name} = doc.data();\r\n const itemData = {name: name, email: email, image: image}\r\n DATA.push(itemData);\r\n Alert.alert(name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])*/\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\nfunction useeffect(){\r\n getDocs(collection(getFirestore(),'Users')).forEach((doc) => {\r\n console.log(`${doc.id} => ${doc.data()}`);\r\n});\r\n}\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n //Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> bla</Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/49a6d4712ff31605f44706932b29f19d.json b/.expo/web/cache/development/babel-loader/49a6d4712ff31605f44706932b29f19d.json new file mode 100644 index 0000000000000000000000000000000000000000..febe4cf6ff3a88989584a85ee637394e1d0381d1 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/49a6d4712ff31605f44706932b29f19d.json @@ -0,0 +1 @@ +{"ast":null,"code":"function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nimport createReactClass from 'create-react-class';\nimport dismissKeyboard from \"../../modules/dismissKeyboard\";\nimport invariant from 'fbjs/lib/invariant';\nimport mergeRefs from \"../../modules/mergeRefs\";\nimport ScrollResponder from \"../../modules/ScrollResponder\";\nimport ScrollViewBase from \"./ScrollViewBase\";\nimport StyleSheet from \"../StyleSheet\";\nimport View from \"../View\";\nimport React from 'react';\nvar emptyObject = {};\nvar ScrollView = createReactClass({\n displayName: \"ScrollView\",\n mixins: [ScrollResponder.Mixin],\n getInitialState: function getInitialState() {\n return this.scrollResponderMixinGetInitialState();\n },\n flashScrollIndicators: function flashScrollIndicators() {\n this.scrollResponderFlashScrollIndicators();\n },\n getScrollResponder: function getScrollResponder() {\n return this;\n },\n getScrollableNode: function getScrollableNode() {\n return this._scrollNodeRef;\n },\n getInnerViewRef: function getInnerViewRef() {\n return this._innerViewRef;\n },\n getInnerViewNode: function getInnerViewNode() {\n return this._innerViewRef;\n },\n getNativeScrollRef: function getNativeScrollRef() {\n return this._scrollNodeRef;\n },\n scrollTo: function 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 _ref = y || emptyObject;\n\n x = _ref.x;\n y = _ref.y;\n animated = _ref.animated;\n }\n\n this.getScrollResponder().scrollResponderScrollTo({\n x: x || 0,\n y: y || 0,\n animated: animated !== false\n });\n },\n scrollToEnd: function scrollToEnd(options) {\n var animated = (options && options.animated) !== false;\n var horizontal = this.props.horizontal;\n var scrollResponder = this.getScrollResponder();\n var scrollResponderNode = scrollResponder.scrollResponderGetScrollableNode();\n var x = horizontal ? scrollResponderNode.scrollWidth : 0;\n var y = horizontal ? 0 : scrollResponderNode.scrollHeight;\n scrollResponder.scrollResponderScrollTo({\n x: x,\n y: y,\n animated: animated\n });\n },\n render: function 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 other = _objectWithoutPropertiesLoose(_this$props, [\"contentContainerStyle\", \"horizontal\", \"onContentSizeChange\", \"refreshControl\", \"stickyHeaderIndices\", \"pagingEnabled\", \"forwardedRef\", \"keyboardDismissMode\", \"onScroll\"]);\n\n if (process.env.NODE_ENV !== 'production' && this.props.style) {\n var style = StyleSheet.flatten(this.props.style);\n var childLayoutProps = ['alignItems', 'justifyContent'].filter(function (prop) {\n return style && style[prop] !== undefined;\n });\n invariant(childLayoutProps.length === 0, \"ScrollView child layout (\" + JSON.stringify(childLayoutProps) + \") \" + 'must be applied through the contentContainerStyle prop.');\n }\n\n var contentSizeChangeProps = {};\n\n if (onContentSizeChange) {\n contentSizeChangeProps = {\n onLayout: this._handleContentOnLayout\n };\n }\n\n var hasStickyHeaderIndices = !horizontal && Array.isArray(stickyHeaderIndices);\n var children = hasStickyHeaderIndices || pagingEnabled ? React.Children.map(this.props.children, function (child, i) {\n var isSticky = hasStickyHeaderIndices && stickyHeaderIndices.indexOf(i) > -1;\n\n if (child != null && (isSticky || pagingEnabled)) {\n return React.createElement(View, {\n style: StyleSheet.compose(isSticky && styles.stickyHeader, pagingEnabled && styles.pagingEnabledChild)\n }, child);\n } else {\n return child;\n }\n }) : this.props.children;\n var contentContainer = React.createElement(View, _extends({}, contentSizeChangeProps, {\n children: children,\n collapsable: false,\n ref: this._setInnerViewRef,\n style: StyleSheet.compose(horizontal && styles.contentContainerHorizontal, contentContainerStyle)\n }));\n var baseStyle = horizontal ? styles.baseHorizontal : styles.baseVertical;\n var pagingEnabledStyle = horizontal ? styles.pagingEnabledHorizontal : styles.pagingEnabledVertical;\n\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\n var ScrollViewClass = ScrollViewBase;\n invariant(ScrollViewClass !== undefined, 'ScrollViewClass must not be undefined');\n var scrollView = React.createElement(ScrollViewClass, _extends({}, props, {\n ref: this._setScrollNodeRef\n }), contentContainer);\n\n if (refreshControl) {\n return React.cloneElement(refreshControl, {\n style: props.style\n }, scrollView);\n }\n\n return scrollView;\n },\n _handleContentOnLayout: function _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 _handleScroll: function _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 <ScrollView> 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\n if (this.props.keyboardDismissMode === 'on-drag') {\n dismissKeyboard();\n }\n\n this.scrollResponderHandleScroll(e);\n },\n _setInnerViewRef: function _setInnerViewRef(node) {\n this._innerViewRef = node;\n },\n _setScrollNodeRef: function _setScrollNodeRef(node) {\n this._scrollNodeRef = node;\n\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\n var ref = mergeRefs(this.props.forwardedRef);\n ref(node);\n }\n});\nvar commonStyle = {\n flexGrow: 1,\n flexShrink: 1,\n transform: [{\n translateZ: 0\n }],\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 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 = React.forwardRef(function (props, forwardedRef) {\n return React.createElement(ScrollView, _extends({}, props, {\n forwardedRef: forwardedRef\n }));\n});\nForwardedScrollView.displayName = 'ScrollView';\nexport default ForwardedScrollView;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/ScrollView/index.js"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","_extends","assign","prototype","hasOwnProperty","call","_objectWithoutPropertiesLoose","excluded","sourceKeys","indexOf","createReactClass","dismissKeyboard","invariant","mergeRefs","ScrollResponder","ScrollViewBase","StyleSheet","View","React","emptyObject","ScrollView","displayName","mixins","Mixin","getInitialState","scrollResponderMixinGetInitialState","flashScrollIndicators","scrollResponderFlashScrollIndicators","getScrollResponder","getScrollableNode","_scrollNodeRef","getInnerViewRef","_innerViewRef","getInnerViewNode","getNativeScrollRef","scrollTo","y","x","animated","console","warn","_ref","scrollResponderScrollTo","scrollToEnd","options","horizontal","props","scrollResponder","scrollResponderNode","scrollResponderGetScrollableNode","scrollWidth","scrollHeight","render","_this$props","contentContainerStyle","onContentSizeChange","refreshControl","stickyHeaderIndices","pagingEnabled","forwardedRef","keyboardDismissMode","onScroll","other","process","env","NODE_ENV","style","flatten","childLayoutProps","prop","undefined","JSON","stringify","contentSizeChangeProps","onLayout","_handleContentOnLayout","hasStickyHeaderIndices","Array","isArray","children","Children","map","child","isSticky","createElement","compose","styles","stickyHeader","pagingEnabledChild","contentContainer","collapsable","ref","_setInnerViewRef","contentContainerHorizontal","baseStyle","baseHorizontal","baseVertical","pagingEnabledStyle","pagingEnabledHorizontal","pagingEnabledVertical","onTouchStart","scrollResponderHandleTouchStart","onTouchMove","scrollResponderHandleTouchMove","onTouchEnd","scrollResponderHandleTouchEnd","onScrollBeginDrag","scrollResponderHandleScrollBeginDrag","onScrollEndDrag","scrollResponderHandleScrollEndDrag","onMomentumScrollBegin","scrollResponderHandleMomentumScrollBegin","onMomentumScrollEnd","scrollResponderHandleMomentumScrollEnd","onStartShouldSetResponder","scrollResponderHandleStartShouldSetResponder","onStartShouldSetResponderCapture","scrollResponderHandleStartShouldSetResponderCapture","onScrollShouldSetResponder","scrollResponderHandleScrollShouldSetResponder","_handleScroll","onResponderGrant","scrollResponderHandleResponderGrant","onResponderTerminationRequest","scrollResponderHandleTerminationRequest","onResponderTerminate","scrollResponderHandleTerminate","onResponderRelease","scrollResponderHandleResponderRelease","onResponderReject","scrollResponderHandleResponderReject","ScrollViewClass","scrollView","_setScrollNodeRef","cloneElement","e","_e$nativeEvent$layout","nativeEvent","layout","width","height","scrollEventThrottle","log","scrollResponderHandleScroll","node","scrollResponderZoomTo","scrollResponderScrollNativeHandleToKeyboard","commonStyle","flexGrow","flexShrink","transform","translateZ","WebkitOverflowScrolling","create","flexDirection","overflowX","overflowY","position","top","zIndex","scrollSnapType","scrollSnapAlign","ForwardedScrollView","forwardRef"],"mappings":"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","sourcesContent":["function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport createReactClass from 'create-react-class';\nimport dismissKeyboard from '../../modules/dismissKeyboard';\nimport invariant from 'fbjs/lib/invariant';\nimport mergeRefs from '../../modules/mergeRefs';\nimport ScrollResponder from '../../modules/ScrollResponder';\nimport ScrollViewBase from './ScrollViewBase';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nimport React from 'react';\nvar emptyObject = {};\n/* eslint-disable react/prefer-es6-class */\n\nvar ScrollView = createReactClass({\n displayName: \"ScrollView\",\n mixins: [ScrollResponder.Mixin],\n getInitialState: function getInitialState() {\n return this.scrollResponderMixinGetInitialState();\n },\n flashScrollIndicators: function flashScrollIndicators() {\n this.scrollResponderFlashScrollIndicators();\n },\n\n /**\n * Returns a reference to the underlying scroll responder, which supports\n * operations like `scrollTo`. All ScrollView-like components should\n * implement this method so that they can be composed while providing access\n * to the underlying scroll responder's methods.\n */\n getScrollResponder: function getScrollResponder() {\n return this;\n },\n getScrollableNode: function getScrollableNode() {\n return this._scrollNodeRef;\n },\n getInnerViewRef: function getInnerViewRef() {\n return this._innerViewRef;\n },\n getInnerViewNode: function getInnerViewNode() {\n return this._innerViewRef;\n },\n getNativeScrollRef: function getNativeScrollRef() {\n return this._scrollNodeRef;\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 scrollTo: function 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 _ref = y || emptyObject;\n\n x = _ref.x;\n y = _ref.y;\n animated = _ref.animated;\n }\n\n this.getScrollResponder().scrollResponderScrollTo({\n x: x || 0,\n y: y || 0,\n animated: animated !== false\n });\n },\n\n /**\n * If this is a vertical ScrollView scrolls to the bottom.\n * If this is a horizontal ScrollView scrolls to the right.\n *\n * Use `scrollToEnd({ animated: true })` for smooth animated scrolling,\n * `scrollToEnd({ animated: false })` for immediate scrolling.\n * If no options are passed, `animated` defaults to true.\n */\n scrollToEnd: function scrollToEnd(options) {\n // Default to true\n var animated = (options && options.animated) !== false;\n var horizontal = this.props.horizontal;\n var scrollResponder = this.getScrollResponder();\n var scrollResponderNode = scrollResponder.scrollResponderGetScrollableNode();\n var x = horizontal ? scrollResponderNode.scrollWidth : 0;\n var y = horizontal ? 0 : scrollResponderNode.scrollHeight;\n scrollResponder.scrollResponderScrollTo({\n x: x,\n y: y,\n animated: animated\n });\n },\n render: function 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 other = _objectWithoutPropertiesLoose(_this$props, [\"contentContainerStyle\", \"horizontal\", \"onContentSizeChange\", \"refreshControl\", \"stickyHeaderIndices\", \"pagingEnabled\", \"forwardedRef\", \"keyboardDismissMode\", \"onScroll\"]);\n\n if (process.env.NODE_ENV !== 'production' && this.props.style) {\n var style = StyleSheet.flatten(this.props.style);\n var childLayoutProps = ['alignItems', 'justifyContent'].filter(function (prop) {\n return style && style[prop] !== undefined;\n });\n invariant(childLayoutProps.length === 0, \"ScrollView child layout (\" + JSON.stringify(childLayoutProps) + \") \" + 'must be applied through the contentContainerStyle prop.');\n }\n\n var contentSizeChangeProps = {};\n\n if (onContentSizeChange) {\n contentSizeChangeProps = {\n onLayout: this._handleContentOnLayout\n };\n }\n\n var hasStickyHeaderIndices = !horizontal && Array.isArray(stickyHeaderIndices);\n var children = hasStickyHeaderIndices || pagingEnabled ? React.Children.map(this.props.children, function (child, i) {\n var isSticky = hasStickyHeaderIndices && stickyHeaderIndices.indexOf(i) > -1;\n\n if (child != null && (isSticky || pagingEnabled)) {\n return /*#__PURE__*/React.createElement(View, {\n style: StyleSheet.compose(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: StyleSheet.compose(horizontal && styles.contentContainerHorizontal, contentContainerStyle)\n }));\n var baseStyle = horizontal ? styles.baseHorizontal : styles.baseVertical;\n var pagingEnabledStyle = horizontal ? styles.pagingEnabledHorizontal : styles.pagingEnabledVertical;\n\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\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\n if (refreshControl) {\n return /*#__PURE__*/React.cloneElement(refreshControl, {\n style: props.style\n }, scrollView);\n }\n\n return scrollView;\n },\n _handleContentOnLayout: function _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 _handleScroll: function _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 <ScrollView> 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\n if (this.props.keyboardDismissMode === 'on-drag') {\n dismissKeyboard();\n }\n\n this.scrollResponderHandleScroll(e);\n },\n _setInnerViewRef: function _setInnerViewRef(node) {\n this._innerViewRef = node;\n },\n _setScrollNodeRef: function _setScrollNodeRef(node) {\n this._scrollNodeRef = node; // 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\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\n var ref = mergeRefs(this.props.forwardedRef);\n ref(node);\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: [{\n translateZ: 0\n }],\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 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(function (props, forwardedRef) {\n return /*#__PURE__*/React.createElement(ScrollView, _extends({}, props, {\n forwardedRef: forwardedRef\n }));\n});\nForwardedScrollView.displayName = 'ScrollView';\nexport default ForwardedScrollView;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/4a224926da851e0559a5464d3aaf7093.json b/.expo/web/cache/development/babel-loader/4a224926da851e0559a5464d3aaf7093.json new file mode 100644 index 0000000000000000000000000000000000000000..d735b3059bf2ca2122435c1f38bfe35d5bb03ae1 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/4a224926da851e0559a5464d3aaf7093.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport * as React from 'react';\nimport { useState } from 'react';\nimport useNavigation from \"./useNavigation\";\nexport default function useIsFocused() {\n var navigation = useNavigation();\n\n var _useState = useState(navigation.isFocused),\n _useState2 = _slicedToArray(_useState, 2),\n isFocused = _useState2[0],\n setIsFocused = _useState2[1];\n\n var valueToReturn = navigation.isFocused();\n\n if (isFocused !== valueToReturn) {\n setIsFocused(valueToReturn);\n }\n\n React.useEffect(function () {\n var unsubscribeFocus = navigation.addListener('focus', function () {\n return setIsFocused(true);\n });\n var unsubscribeBlur = navigation.addListener('blur', function () {\n return setIsFocused(false);\n });\n return function () {\n unsubscribeFocus();\n unsubscribeBlur();\n };\n }, [navigation]);\n React.useDebugValue(valueToReturn);\n return valueToReturn;\n}","map":{"version":3,"sources":["useIsFocused.tsx"],"names":["navigation","useNavigation","useState","valueToReturn","isFocused","setIsFocused","React","unsubscribeFocus","unsubscribeBlur"],"mappings":";AAAA,OAAO,KAAP,KAAA,MAAA,OAAA;AACA,SAAA,QAAA,QAAA,OAAA;AAEA,OAAA,aAAA;AAMA,eAAe,SAAA,YAAA,GAAiC;AAC9C,MAAMA,UAAU,GAAGC,aAAnB,EAAA;;AACA,kBAAkCC,QAAQ,CAACF,UAAU,CAArD,SAA0C,CAA1C;AAAA;AAAA,MAAM,SAAN;AAAA,MAAM,YAAN;;AAEA,MAAMG,aAAa,GAAGH,UAAU,CAAhC,SAAsBA,EAAtB;;AAEA,MAAII,SAAS,KAAb,aAAA,EAAiC;AAM/BC,IAAAA,YAAY,CAAZA,aAAY,CAAZA;AACD;;AAEDC,EAAAA,KAAK,CAALA,SAAAA,CAAgB,YAAM;AACpB,QAAMC,gBAAgB,GAAGP,UAAU,CAAVA,WAAAA,CAAAA,OAAAA,EAAgC;AAAA,aACvDK,YAAY,CADd,IACc,CAD2C;AAAA,KAAhCL,CAAzB;AAIA,QAAMQ,eAAe,GAAGR,UAAU,CAAVA,WAAAA,CAAAA,MAAAA,EAA+B;AAAA,aACrDK,YAAY,CADd,KACc,CADyC;AAAA,KAA/BL,CAAxB;AAIA,WAAO,YAAM;AACXO,MAAAA,gBAAgB;AAChBC,MAAAA,eAAe;AAFjB,KAAA;AATFF,GAAAA,EAaG,CAbHA,UAaG,CAbHA;AAeAA,EAAAA,KAAK,CAALA,aAAAA,CAAAA,aAAAA;AAEA,SAAA,aAAA;AACD","sourcesContent":["import * as React from 'react';\nimport { useState } from 'react';\n\nimport useNavigation from './useNavigation';\n\n/**\n * Hook to get the current focus state of the screen. Returns a `true` if screen is focused, otherwise `false`.\n * This can be used if a component needs to render something based on the focus state.\n */\nexport default function useIsFocused(): boolean {\n const navigation = useNavigation();\n const [isFocused, setIsFocused] = useState(navigation.isFocused);\n\n const valueToReturn = navigation.isFocused();\n\n if (isFocused !== valueToReturn) {\n // If the value has changed since the last render, we need to update it.\n // This could happen if we missed an update from the event listeners during re-render.\n // React will process this update immediately, so the old subscription value won't be committed.\n // It is still nice to avoid returning a mismatched value though, so let's override the return value.\n // This is the same logic as in https://github.com/facebook/react/tree/master/packages/use-subscription\n setIsFocused(valueToReturn);\n }\n\n React.useEffect(() => {\n const unsubscribeFocus = navigation.addListener('focus', () =>\n setIsFocused(true)\n );\n\n const unsubscribeBlur = navigation.addListener('blur', () =>\n setIsFocused(false)\n );\n\n return () => {\n unsubscribeFocus();\n unsubscribeBlur();\n };\n }, [navigation]);\n\n React.useDebugValue(valueToReturn);\n\n return valueToReturn;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/4a29bec5601980461b293159bee85a4f.json b/.expo/web/cache/development/babel-loader/4a29bec5601980461b293159bee85a4f.json new file mode 100644 index 0000000000000000000000000000000000000000..bb90acccc24807d9fc2fb8e3c48784e25eddce45 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/4a29bec5601980461b293159bee85a4f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n setUsers(users);\n });\n }, []);\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {})\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" bla\"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","params","Alert","alert","post","Item","item","onPress","backgroundColor","textColor","styles","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState(null);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n \r\n setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {/*item.Name*/} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> bla</Text>\r\n <Button title='addUser'/> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/4a63091a5861ba480677b36d2f272967.json b/.expo/web/cache/development/babel-loader/4a63091a5861ba480677b36d2f272967.json new file mode 100644 index 0000000000000000000000000000000000000000..8408719fd1390f796d10ba4b63be4a1875a503d4 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/4a63091a5861ba480677b36d2f272967.json @@ -0,0 +1 @@ +{"ast":null,"code":"var slice = Array.prototype.slice;\nexport default function createOrderedCSSStyleSheet(sheet) {\n var groups = {};\n var selectors = {};\n\n if (sheet != null) {\n var group;\n slice.call(sheet.cssRules).forEach(function (cssRule, i) {\n var cssText = cssRule.cssText;\n\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\n if (selectorText != null) {\n selectors[selectorText] = true;\n groups[group].rules.push(cssText);\n }\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 var position = nextGroup != null && groups[nextGroup].start != null ? groups[nextGroup].start : sheet.cssRules.length;\n var isInserted = insertRuleAt(sheet, text, position);\n\n if (isInserted) {\n if (groups[group].start == null) {\n groups[group].start = position;\n }\n\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\n return isInserted;\n }\n\n var OrderedCSSStyleSheet = {\n getTextContent: function getTextContent() {\n return getOrderedGroups(groups).map(function (group) {\n var rules = groups[group].rules;\n return rules.join('\\n');\n }).join('\\n');\n },\n insert: function insert(cssText, groupValue) {\n var group = Number(groupValue);\n\n if (groups[group] == null) {\n var markerRule = encodeGroupRule(group);\n groups[group] = {\n start: null,\n rules: [markerRule]\n };\n\n if (sheet != null) {\n sheetInsert(sheet, group, markerRule);\n }\n }\n\n var selectorText = getSelectorText(cssText);\n\n if (selectorText != null && selectors[selectorText] == null) {\n selectors[selectorText] = true;\n groups[group].rules.push(cssText);\n\n if (sheet != null) {\n var isInserted = sheetInsert(sheet, group, cssText);\n\n if (!isInserted) {\n groups[group].rules.pop();\n }\n }\n }\n }\n };\n return OrderedCSSStyleSheet;\n}\n\nfunction encodeGroupRule(group) {\n return \"[stylesheet-group=\\\"\" + group + \"\\\"]{}\";\n}\n\nfunction decodeGroupRule(cssRule) {\n return Number(cssRule.selectorText.split(/[\"']/)[1]);\n}\n\nfunction getOrderedGroups(obj) {\n return Object.keys(obj).map(Number).sort(function (a, b) {\n return a > b ? 1 : -1;\n });\n}\n\nvar pattern = /\\s*([,])\\s*/g;\n\nfunction getSelectorText(cssText) {\n var selector = cssText.split('{')[0].trim();\n return selector !== '' ? selector.replace(pattern, '$1') : null;\n}\n\nfunction insertRuleAt(root, cssText, position) {\n try {\n root.insertRule(cssText, position);\n return true;\n } catch (e) {\n return false;\n }\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/StyleSheet/createOrderedCSSStyleSheet.js"],"names":["slice","Array","prototype","createOrderedCSSStyleSheet","sheet","groups","selectors","group","call","cssRules","forEach","cssRule","i","cssText","indexOf","decodeGroupRule","start","rules","selectorText","getSelectorText","push","sheetInsert","text","orderedGroups","getOrderedGroups","groupIndex","nextGroupIndex","nextGroup","position","length","isInserted","insertRuleAt","groupNumber","previousStart","OrderedCSSStyleSheet","getTextContent","map","join","insert","groupValue","Number","markerRule","encodeGroupRule","pop","split","obj","Object","keys","sort","a","b","pattern","selector","trim","replace","root","insertRule","e"],"mappings":"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","sourcesContent":["/**\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 slice = Array.prototype.slice;\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 */\n\nexport default function createOrderedCSSStyleSheet(sheet) {\n var groups = {};\n var selectors = {};\n /**\n * Hydrate approximate record from any existing rules in the sheet.\n */\n\n if (sheet != null) {\n var group;\n slice.call(sheet.cssRules).forEach(function (cssRule, i) {\n var cssText = cssRule.cssText; // Create record of existing selectors and rules\n\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\n if (selectorText != null) {\n selectors[selectorText] = true;\n groups[group].rules.push(cssText);\n }\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]; // Insert rule before the next group, or at the end of the stylesheet\n\n var position = nextGroup != null && groups[nextGroup].start != null ? groups[nextGroup].start : sheet.cssRules.length;\n var isInserted = insertRuleAt(sheet, text, position);\n\n if (isInserted) {\n // Set the starting index of the new group\n if (groups[group].start == null) {\n groups[group].start = position;\n } // Increment the starting index of all subsequent groups\n\n\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\n return isInserted;\n }\n\n var OrderedCSSStyleSheet = {\n /**\n * The textContent of the style sheet.\n */\n getTextContent: function getTextContent() {\n return getOrderedGroups(groups).map(function (group) {\n var rules = groups[group].rules;\n return rules.join('\\n');\n }).join('\\n');\n },\n\n /**\n * Insert a rule into the style sheet\n */\n insert: function insert(cssText, groupValue) {\n var group = Number(groupValue); // Create a new group.\n\n if (groups[group] == null) {\n var markerRule = encodeGroupRule(group); // Create the internal record.\n\n groups[group] = {\n start: null,\n rules: [markerRule]\n }; // Update CSSOM.\n\n if (sheet != null) {\n sheetInsert(sheet, group, markerRule);\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\n\n var selectorText = getSelectorText(cssText);\n\n if (selectorText != null && selectors[selectorText] == null) {\n // Update the internal records.\n selectors[selectorText] = true;\n groups[group].rules.push(cssText); // Update CSSOM.\n\n if (sheet != null) {\n var isInserted = sheetInsert(sheet, group, cssText);\n\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 * Helper functions\n */\n\nfunction encodeGroupRule(group) {\n return \"[stylesheet-group=\\\"\" + group + \"\\\"]{}\";\n}\n\nfunction decodeGroupRule(cssRule) {\n return Number(cssRule.selectorText.split(/[\"']/)[1]);\n}\n\nfunction getOrderedGroups(obj) {\n return Object.keys(obj).map(Number).sort(function (a, b) {\n return a > b ? 1 : -1;\n });\n}\n\nvar pattern = /\\s*([,])\\s*/g;\n\nfunction getSelectorText(cssText) {\n var selector = cssText.split('{')[0].trim();\n return selector !== '' ? selector.replace(pattern, '$1') : null;\n}\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}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/4ac4847b0b43bc601ff43fdf78618a7e.json b/.expo/web/cache/development/babel-loader/4ac4847b0b43bc601ff43fdf78618a7e.json new file mode 100644 index 0000000000000000000000000000000000000000..a50169663dfd742f3e47153e76974cadddef11fa --- /dev/null +++ b/.expo/web/cache/development/babel-loader/4ac4847b0b43bc601ff43fdf78618a7e.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { isObject } from '@react-native-firebase/app/lib/common';\nimport FirestoreDocumentReference from \"./FirestoreDocumentReference\";\nimport { parseSetOptions, parseUpdateArgs } from \"./utils\";\nimport { buildNativeMap } from \"./utils/serialize\";\n\nvar FirestoreWriteBatch = function () {\n function FirestoreWriteBatch(firestore) {\n _classCallCheck(this, FirestoreWriteBatch);\n\n this._firestore = firestore;\n this._writes = [];\n this._committed = false;\n }\n\n _createClass(FirestoreWriteBatch, [{\n key: \"_verifyNotCommitted\",\n value: function _verifyNotCommitted(method) {\n if (this._committed) {\n throw new Error(\"firebase.firestore.batch().\" + method + \"(*) A write batch can no longer be used after commit() has been called.\");\n }\n }\n }, {\n key: \"commit\",\n value: function commit() {\n this._verifyNotCommitted('commit');\n\n this._committed = true;\n\n if (this._writes.length === 0) {\n return Promise.resolve();\n }\n\n return this._firestore.native.documentBatch(this._writes);\n }\n }, {\n key: \"delete\",\n value: function _delete(documentRef) {\n this._verifyNotCommitted('delete');\n\n if (!(documentRef instanceof FirestoreDocumentReference)) {\n throw new Error(\"firebase.firestore.batch().delete(*) 'documentRef' expected instance of a DocumentReference.\");\n }\n\n if (documentRef.firestore.app !== this._firestore.app) {\n throw new Error(\"firebase.firestore.batch().delete(*) 'documentRef' provided DocumentReference is from a different Firestore instance.\");\n }\n\n this._writes.push({\n path: documentRef.path,\n type: 'DELETE'\n });\n\n return this;\n }\n }, {\n key: \"set\",\n value: function set(documentRef, data, options) {\n this._verifyNotCommitted('set');\n\n if (!(documentRef instanceof FirestoreDocumentReference)) {\n throw new Error(\"firebase.firestore.batch().set(*) 'documentRef' expected instance of a DocumentReference.\");\n }\n\n if (documentRef.firestore.app !== this._firestore.app) {\n throw new Error(\"firebase.firestore.batch().set(*) 'documentRef' provided DocumentReference is from a different Firestore instance.\");\n }\n\n if (!isObject(data)) {\n throw new Error(\"firebase.firestore.batch().set(_, *) 'data' must be an object.\");\n }\n\n var setOptions;\n\n try {\n setOptions = parseSetOptions(options);\n } catch (e) {\n throw new Error(\"firebase.firestore().doc().set(_, *) \" + e.message + \".\");\n }\n\n this._writes.push({\n path: documentRef.path,\n type: 'SET',\n data: buildNativeMap(data, this._firestore._settings.ignoreUndefinedProperties),\n options: setOptions\n });\n\n return this;\n }\n }, {\n key: \"update\",\n value: function update(documentRef) {\n this._verifyNotCommitted('update');\n\n if (!(documentRef instanceof FirestoreDocumentReference)) {\n throw new Error(\"firebase.firestore.batch().update(*) 'documentRef' expected instance of a DocumentReference.\");\n }\n\n if (documentRef.firestore.app !== this._firestore.app) {\n throw new Error(\"firebase.firestore.batch().update(*) 'documentRef' provided DocumentReference is from a different Firestore instance.\");\n }\n\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 if (args.length === 0) {\n throw new Error('firebase.firestore.batch().update(_, *) Invalid arguments. Expected update object or list of key/value pairs.');\n }\n\n var data;\n\n try {\n data = parseUpdateArgs(args);\n } catch (e) {\n throw new Error(\"firebase.firestore().batch().update(_, *) \" + e.message);\n }\n\n this._writes.push({\n path: documentRef.path,\n type: 'UPDATE',\n data: buildNativeMap(data, this._firestore._settings.ignoreUndefinedProperties)\n });\n\n return this;\n }\n }]);\n\n return FirestoreWriteBatch;\n}();\n\nexport { FirestoreWriteBatch as default };","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/firestore/lib/FirestoreWriteBatch.js"],"names":["isObject","FirestoreDocumentReference","parseSetOptions","parseUpdateArgs","buildNativeMap","FirestoreWriteBatch","firestore","_firestore","_writes","_committed","method","Error","_verifyNotCommitted","length","Promise","resolve","native","documentBatch","documentRef","app","push","path","type","data","options","setOptions","e","message","_settings","ignoreUndefinedProperties","args"],"mappings":"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","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { isObject } from '@react-native-firebase/app/lib/common';\nimport FirestoreDocumentReference from './FirestoreDocumentReference';\nimport { parseSetOptions, parseUpdateArgs } from './utils';\nimport { buildNativeMap } from './utils/serialize';\n\nexport default class FirestoreWriteBatch {\n constructor(firestore) {\n this._firestore = firestore;\n this._writes = [];\n this._committed = false;\n }\n\n _verifyNotCommitted(method) {\n if (this._committed) {\n throw new Error(\n `firebase.firestore.batch().${method}(*) A write batch can no longer be used after commit() has been called.`,\n );\n }\n }\n\n commit() {\n this._verifyNotCommitted('commit');\n this._committed = true;\n if (this._writes.length === 0) {\n return Promise.resolve();\n }\n return this._firestore.native.documentBatch(this._writes);\n }\n\n delete(documentRef) {\n this._verifyNotCommitted('delete');\n if (!(documentRef instanceof FirestoreDocumentReference)) {\n throw new Error(\n \"firebase.firestore.batch().delete(*) 'documentRef' expected instance of a DocumentReference.\",\n );\n }\n\n if (documentRef.firestore.app !== this._firestore.app) {\n throw new Error(\n \"firebase.firestore.batch().delete(*) 'documentRef' provided DocumentReference is from a different Firestore instance.\",\n );\n }\n\n this._writes.push({\n path: documentRef.path,\n type: 'DELETE',\n });\n\n return this;\n }\n\n set(documentRef, data, options) {\n this._verifyNotCommitted('set');\n if (!(documentRef instanceof FirestoreDocumentReference)) {\n throw new Error(\n \"firebase.firestore.batch().set(*) 'documentRef' expected instance of a DocumentReference.\",\n );\n }\n\n if (documentRef.firestore.app !== this._firestore.app) {\n throw new Error(\n \"firebase.firestore.batch().set(*) 'documentRef' provided DocumentReference is from a different Firestore instance.\",\n );\n }\n\n if (!isObject(data)) {\n throw new Error(\"firebase.firestore.batch().set(_, *) 'data' must be an object.\");\n }\n\n let setOptions;\n try {\n setOptions = parseSetOptions(options);\n } catch (e) {\n throw new Error(`firebase.firestore().doc().set(_, *) ${e.message}.`);\n }\n\n this._writes.push({\n path: documentRef.path,\n type: 'SET',\n data: buildNativeMap(data, this._firestore._settings.ignoreUndefinedProperties),\n options: setOptions,\n });\n\n return this;\n }\n\n update(documentRef, ...args) {\n this._verifyNotCommitted('update');\n if (!(documentRef instanceof FirestoreDocumentReference)) {\n throw new Error(\n \"firebase.firestore.batch().update(*) 'documentRef' expected instance of a DocumentReference.\",\n );\n }\n\n if (documentRef.firestore.app !== this._firestore.app) {\n throw new Error(\n \"firebase.firestore.batch().update(*) 'documentRef' provided DocumentReference is from a different Firestore instance.\",\n );\n }\n\n if (args.length === 0) {\n throw new Error(\n 'firebase.firestore.batch().update(_, *) Invalid arguments. Expected update object or list of key/value pairs.',\n );\n }\n\n let data;\n try {\n data = parseUpdateArgs(args);\n } catch (e) {\n throw new Error(`firebase.firestore().batch().update(_, *) ${e.message}`);\n }\n\n this._writes.push({\n path: documentRef.path,\n type: 'UPDATE',\n data: buildNativeMap(data, this._firestore._settings.ignoreUndefinedProperties),\n });\n\n return this;\n }\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/4b48090e7d169b7869f560821b40d57b.json b/.expo/web/cache/development/babel-loader/4b48090e7d169b7869f560821b40d57b.json new file mode 100644 index 0000000000000000000000000000000000000000..3d9642139fd85da5b8e35bce4df169180336a67b --- /dev/null +++ b/.expo/web/cache/development/babel-loader/4b48090e7d169b7869f560821b40d57b.json @@ -0,0 +1 @@ +{"ast":null,"code":"export {};","map":{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":["export {};\n//# sourceMappingURL=types.js.map"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/4b8b68aed84a0a52f5f8d0ad41d73260.json b/.expo/web/cache/development/babel-loader/4b8b68aed84a0a52f5f8d0ad41d73260.json new file mode 100644 index 0000000000000000000000000000000000000000..d792c9a8e331cbe3714df75abed661aa28f05796 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/4b8b68aed84a0a52f5f8d0ad41d73260.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { createContext } from 'react';\nvar TextAncestorContext = createContext(false);\nexport default TextAncestorContext;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/Text/TextAncestorContext.js"],"names":["createContext","TextAncestorContext"],"mappings":"AAQA,SAASA,aAAT,QAA8B,OAA9B;AACA,IAAIC,mBAAmB,GAAgBD,aAAa,CAAC,KAAD,CAApD;AACA,eAAeC,mBAAf","sourcesContent":["/**\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 */\nimport { createContext } from 'react';\nvar TextAncestorContext = /*#__PURE__*/createContext(false);\nexport default TextAncestorContext;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/4c3a6189072687e3e3d37f7fa269b24e.json b/.expo/web/cache/development/babel-loader/4c3a6189072687e3e3d37f7fa269b24e.json new file mode 100644 index 0000000000000000000000000000000000000000..7d8e1789095459643a8bb11e67058e4792e69da2 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/4c3a6189072687e3e3d37f7fa269b24e.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function (qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n var maxKeys = 1000;\n\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr,\n vstr,\n k,\n v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};","map":{"version":3,"sources":["C:/Users/user/AppData/Roaming/npm/node_modules/expo-cli/node_modules/querystring-es3/decode.js"],"names":["hasOwnProperty","obj","prop","Object","prototype","call","module","exports","qs","sep","eq","options","length","regexp","split","maxKeys","len","i","x","replace","idx","indexOf","kstr","vstr","k","v","substr","decodeURIComponent","isArray","push","Array","xs","toString"],"mappings":"AAqBA;;AAKA,SAASA,cAAT,CAAwBC,GAAxB,EAA6BC,IAA7B,EAAmC;AACjC,SAAOC,MAAM,CAACC,SAAP,CAAiBJ,cAAjB,CAAgCK,IAAhC,CAAqCJ,GAArC,EAA0CC,IAA1C,CAAP;AACD;;AAEDI,MAAM,CAACC,OAAP,GAAiB,UAASC,EAAT,EAAaC,GAAb,EAAkBC,EAAlB,EAAsBC,OAAtB,EAA+B;AAC9CF,EAAAA,GAAG,GAAGA,GAAG,IAAI,GAAb;AACAC,EAAAA,EAAE,GAAGA,EAAE,IAAI,GAAX;AACA,MAAIT,GAAG,GAAG,EAAV;;AAEA,MAAI,OAAOO,EAAP,KAAc,QAAd,IAA0BA,EAAE,CAACI,MAAH,KAAc,CAA5C,EAA+C;AAC7C,WAAOX,GAAP;AACD;;AAED,MAAIY,MAAM,GAAG,KAAb;AACAL,EAAAA,EAAE,GAAGA,EAAE,CAACM,KAAH,CAASL,GAAT,CAAL;AAEA,MAAIM,OAAO,GAAG,IAAd;;AACA,MAAIJ,OAAO,IAAI,OAAOA,OAAO,CAACI,OAAf,KAA2B,QAA1C,EAAoD;AAClDA,IAAAA,OAAO,GAAGJ,OAAO,CAACI,OAAlB;AACD;;AAED,MAAIC,GAAG,GAAGR,EAAE,CAACI,MAAb;;AAEA,MAAIG,OAAO,GAAG,CAAV,IAAeC,GAAG,GAAGD,OAAzB,EAAkC;AAChCC,IAAAA,GAAG,GAAGD,OAAN;AACD;;AAED,OAAK,IAAIE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGD,GAApB,EAAyB,EAAEC,CAA3B,EAA8B;AAC5B,QAAIC,CAAC,GAAGV,EAAE,CAACS,CAAD,CAAF,CAAME,OAAN,CAAcN,MAAd,EAAsB,KAAtB,CAAR;AAAA,QACIO,GAAG,GAAGF,CAAC,CAACG,OAAF,CAAUX,EAAV,CADV;AAAA,QAEIY,IAFJ;AAAA,QAEUC,IAFV;AAAA,QAEgBC,CAFhB;AAAA,QAEmBC,CAFnB;;AAIA,QAAIL,GAAG,IAAI,CAAX,EAAc;AACZE,MAAAA,IAAI,GAAGJ,CAAC,CAACQ,MAAF,CAAS,CAAT,EAAYN,GAAZ,CAAP;AACAG,MAAAA,IAAI,GAAGL,CAAC,CAACQ,MAAF,CAASN,GAAG,GAAG,CAAf,CAAP;AACD,KAHD,MAGO;AACLE,MAAAA,IAAI,GAAGJ,CAAP;AACAK,MAAAA,IAAI,GAAG,EAAP;AACD;;AAEDC,IAAAA,CAAC,GAAGG,kBAAkB,CAACL,IAAD,CAAtB;AACAG,IAAAA,CAAC,GAAGE,kBAAkB,CAACJ,IAAD,CAAtB;;AAEA,QAAI,CAACvB,cAAc,CAACC,GAAD,EAAMuB,CAAN,CAAnB,EAA6B;AAC3BvB,MAAAA,GAAG,CAACuB,CAAD,CAAH,GAASC,CAAT;AACD,KAFD,MAEO,IAAIG,OAAO,CAAC3B,GAAG,CAACuB,CAAD,CAAJ,CAAX,EAAqB;AAC1BvB,MAAAA,GAAG,CAACuB,CAAD,CAAH,CAAOK,IAAP,CAAYJ,CAAZ;AACD,KAFM,MAEA;AACLxB,MAAAA,GAAG,CAACuB,CAAD,CAAH,GAAS,CAACvB,GAAG,CAACuB,CAAD,CAAJ,EAASC,CAAT,CAAT;AACD;AACF;;AAED,SAAOxB,GAAP;AACD,CAjDD;;AAmDA,IAAI2B,OAAO,GAAGE,KAAK,CAACF,OAAN,IAAiB,UAAUG,EAAV,EAAc;AAC3C,SAAO5B,MAAM,CAACC,SAAP,CAAiB4B,QAAjB,CAA0B3B,IAA1B,CAA+B0B,EAA/B,MAAuC,gBAA9C;AACD,CAFD","sourcesContent":["// 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\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/4c969fcd0891f75f012dc9c1f1a6c047.json b/.expo/web/cache/development/babel-loader/4c969fcd0891f75f012dc9c1f1a6c047.json new file mode 100644 index 0000000000000000000000000000000000000000..38f1647bd257bbe84cfb45ad290100e18bc393ab --- /dev/null +++ b/.expo/web/cache/development/babel-loader/4c969fcd0891f75f012dc9c1f1a6c047.json @@ -0,0 +1 @@ +{"ast":null,"code":"import ReactNativePropRegistry from \"./ReactNativePropRegistry\";\nimport invariant from 'fbjs/lib/invariant';\n\nfunction getStyle(style) {\n if (typeof style === 'number') {\n return ReactNativePropRegistry.getByID(style);\n }\n\n return style;\n}\n\nfunction flattenStyle(style) {\n if (!style) {\n return undefined;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n invariant(style !== true, 'style may be false but not true');\n }\n\n if (!Array.isArray(style)) {\n return getStyle(style);\n }\n\n var result = {};\n\n for (var i = 0, styleLength = style.length; i < styleLength; ++i) {\n var computedStyle = flattenStyle(style[i]);\n\n if (computedStyle) {\n for (var key in computedStyle) {\n var value = computedStyle[key];\n result[key] = value;\n }\n }\n }\n\n return result;\n}\n\nexport default flattenStyle;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/StyleSheet/flattenStyle.js"],"names":["ReactNativePropRegistry","invariant","getStyle","style","getByID","flattenStyle","undefined","process","env","NODE_ENV","Array","isArray","result","i","styleLength","length","computedStyle","key","value"],"mappings":"AASA,OAAOA,uBAAP;AACA,OAAOC,SAAP,MAAsB,oBAAtB;;AAEA,SAASC,QAAT,CAAkBC,KAAlB,EAAyB;AACvB,MAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC7B,WAAOH,uBAAuB,CAACI,OAAxB,CAAgCD,KAAhC,CAAP;AACD;;AAED,SAAOA,KAAP;AACD;;AAED,SAASE,YAAT,CAAsBF,KAAtB,EAA6B;AAC3B,MAAI,CAACA,KAAL,EAAY;AACV,WAAOG,SAAP;AACD;;AAED,MAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzCR,IAAAA,SAAS,CAACE,KAAK,KAAK,IAAX,EAAiB,iCAAjB,CAAT;AACD;;AAED,MAAI,CAACO,KAAK,CAACC,OAAN,CAAcR,KAAd,CAAL,EAA2B;AACzB,WAAOD,QAAQ,CAACC,KAAD,CAAf;AACD;;AAED,MAAIS,MAAM,GAAG,EAAb;;AAEA,OAAK,IAAIC,CAAC,GAAG,CAAR,EAAWC,WAAW,GAAGX,KAAK,CAACY,MAApC,EAA4CF,CAAC,GAAGC,WAAhD,EAA6D,EAAED,CAA/D,EAAkE;AAChE,QAAIG,aAAa,GAAGX,YAAY,CAACF,KAAK,CAACU,CAAD,CAAN,CAAhC;;AAEA,QAAIG,aAAJ,EAAmB;AACjB,WAAK,IAAIC,GAAT,IAAgBD,aAAhB,EAA+B;AAC7B,YAAIE,KAAK,GAAGF,aAAa,CAACC,GAAD,CAAzB;AACAL,QAAAA,MAAM,CAACK,GAAD,CAAN,GAAcC,KAAd;AACD;AACF;AACF;;AAED,SAAON,MAAP;AACD;;AAED,eAAeP,YAAf","sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport ReactNativePropRegistry from './ReactNativePropRegistry';\nimport invariant from 'fbjs/lib/invariant';\n\nfunction getStyle(style) {\n if (typeof style === 'number') {\n return ReactNativePropRegistry.getByID(style);\n }\n\n return style;\n}\n\nfunction flattenStyle(style) {\n if (!style) {\n return undefined;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n invariant(style !== true, 'style may be false but not true');\n }\n\n if (!Array.isArray(style)) {\n return getStyle(style);\n }\n\n var result = {};\n\n for (var i = 0, styleLength = style.length; i < styleLength; ++i) {\n var computedStyle = flattenStyle(style[i]);\n\n if (computedStyle) {\n for (var key in computedStyle) {\n var value = computedStyle[key];\n result[key] = value;\n }\n }\n }\n\n return result;\n}\n\nexport default flattenStyle;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/4d299c02730a6bc10c2efa511ebd3ebf.json b/.expo/web/cache/development/babel-loader/4d299c02730a6bc10c2efa511ebd3ebf.json new file mode 100644 index 0000000000000000000000000000000000000000..85b3014b8995f30cfb20c31c9ba88fe235ca20ac --- /dev/null +++ b/.expo/web/cache/development/babel-loader/4d299c02730a6bc10c2efa511ebd3ebf.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nexport var attachRecoveredProps = function attachRecoveredProps(props) {\n try {\n var _require = require('expo-error-recovery'),\n recoveredProps = _require.recoveredProps;\n\n return _objectSpread(_objectSpread({}, props), {}, {\n exp: _objectSpread(_objectSpread({}, props.exp), {}, {\n errorRecovery: recoveredProps\n })\n });\n } catch (_unused) {}\n\n return props;\n};","map":{"version":3,"sources":["../../src/launch/RecoveryProps.ts"],"names":[],"mappings":";;;;;;AAEA,OAAO,IAAM,oBAAoB,GAAG,SAAvB,oBAAuB,CAAyB,KAAzB,EAAwC;AAC1E,MAAI;AAEF,mBAA2B,OAAO,CAAC,qBAAD,CAAlC;AAAA,QAAQ,cAAR,YAAQ,cAAR;;AACA,2CACK,KADL;AAEE,MAAA,GAAG,kCAAO,KAAK,CAAC,GAAb;AAAkB,QAAA,aAAa,EAAE;AAAjC;AAFL;AAID,GAPD,CAOE,gBAAM,CAAE;;AAEV,SAAO,KAAP;AACD,CAXM","sourcesContent":["import { InitialProps } from './withExpoRoot.types';\n\nexport const attachRecoveredProps = <P extends InitialProps>(props: P): P => {\n try {\n // Optionally import expo-error-recovery\n const { recoveredProps } = require('expo-error-recovery');\n return {\n ...props,\n exp: { ...props.exp, errorRecovery: recoveredProps },\n };\n } catch {}\n\n return props;\n};\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/4e1a0aeed4cbfa6e19244b19d94373e8.json b/.expo/web/cache/development/babel-loader/4e1a0aeed4cbfa6e19244b19d94373e8.json new file mode 100644 index 0000000000000000000000000000000000000000..b9967fb8f7dc3d94b513bed41540fb7679868b6b --- /dev/null +++ b/.expo/web/cache/development/babel-loader/4e1a0aeed4cbfa6e19244b19d94373e8.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\n\nvar _requestIdleCallback = function _requestIdleCallback(cb, options) {\n return setTimeout(function () {\n var start = Date.now();\n cb({\n didTimeout: false,\n timeRemaining: function timeRemaining() {\n return Math.max(0, 50 - (Date.now() - start));\n }\n });\n }, 1);\n};\n\nvar _cancelIdleCallback = function _cancelIdleCallback(id) {\n clearTimeout(id);\n};\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 };","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/requestIdleCallback/index.js"],"names":["canUseDOM","_requestIdleCallback","cb","options","setTimeout","start","Date","now","didTimeout","timeRemaining","Math","max","_cancelIdleCallback","id","clearTimeout","isSupported","window","requestIdleCallback","cancelIdleCallback"],"mappings":"AAQA,SAASA,SAAT,QAA0B,+BAA1B;;AAEA,IAAIC,oBAAoB,GAAG,SAASA,oBAAT,CAA8BC,EAA9B,EAAkCC,OAAlC,EAA2C;AACpE,SAAOC,UAAU,CAAC,YAAY;AAC5B,QAAIC,KAAK,GAAGC,IAAI,CAACC,GAAL,EAAZ;AACAL,IAAAA,EAAE,CAAC;AACDM,MAAAA,UAAU,EAAE,KADX;AAEDC,MAAAA,aAAa,EAAE,SAASA,aAAT,GAAyB;AACtC,eAAOC,IAAI,CAACC,GAAL,CAAS,CAAT,EAAY,MAAML,IAAI,CAACC,GAAL,KAAaF,KAAnB,CAAZ,CAAP;AACD;AAJA,KAAD,CAAF;AAMD,GARgB,EAQd,CARc,CAAjB;AASD,CAVD;;AAYA,IAAIO,mBAAmB,GAAG,SAASA,mBAAT,CAA6BC,EAA7B,EAAiC;AACzDC,EAAAA,YAAY,CAACD,EAAD,CAAZ;AACD,CAFD;;AAIA,IAAIE,WAAW,GAAGf,SAAS,IAAI,OAAOgB,MAAM,CAACC,mBAAd,KAAsC,WAArE;AACA,IAAIA,mBAAmB,GAAGF,WAAW,GAAGC,MAAM,CAACC,mBAAV,GAAgChB,oBAArE;AACA,IAAIiB,kBAAkB,GAAGH,WAAW,GAAGC,MAAM,CAACE,kBAAV,GAA+BN,mBAAnE;AACA,eAAeK,mBAAf;AACA,SAASC,kBAAT","sourcesContent":["/**\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 'fbjs/lib/ExecutionEnvironment';\n\nvar _requestIdleCallback = function _requestIdleCallback(cb, options) {\n return setTimeout(function () {\n var start = Date.now();\n cb({\n didTimeout: false,\n timeRemaining: function timeRemaining() {\n return Math.max(0, 50 - (Date.now() - start));\n }\n });\n }, 1);\n};\n\nvar _cancelIdleCallback = function _cancelIdleCallback(id) {\n clearTimeout(id);\n};\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 };"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/4fd3279aeacb33135bb80da0b2d61df5.json b/.expo/web/cache/development/babel-loader/4fd3279aeacb33135bb80da0b2d61df5.json new file mode 100644 index 0000000000000000000000000000000000000000..b89aaf56bdb52c6ada9ba50aa87d49bb1e121ef9 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/4fd3279aeacb33135bb80da0b2d61df5.json @@ -0,0 +1 @@ +{"ast":null,"code":"function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nimport * as React from 'react';\nimport { useMemo, useContext } from 'react';\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nexport var VirtualizedListContext = React.createContext(null);\n\nif (__DEV__) {\n VirtualizedListContext.displayName = 'VirtualizedListContext';\n}\n\nexport function VirtualizedListContextResetter(_ref) {\n var children = _ref.children;\n return React.createElement(VirtualizedListContext.Provider, {\n value: null\n }, children);\n}\nexport function VirtualizedListContextProvider(_ref2) {\n var children = _ref2.children,\n value = _ref2.value;\n var context = useMemo(function () {\n return {\n cellKey: null,\n getScrollMetrics: value.getScrollMetrics,\n horizontal: value.horizontal,\n getOutermostParentListRef: value.getOutermostParentListRef,\n getNestedChildState: value.getNestedChildState,\n registerAsNestedChild: value.registerAsNestedChild,\n unregisterAsNestedChild: value.unregisterAsNestedChild,\n debugInfo: {\n cellKey: value.debugInfo.cellKey,\n horizontal: value.debugInfo.horizontal,\n listKey: value.debugInfo.listKey,\n parent: value.debugInfo.parent\n }\n };\n }, [value.getScrollMetrics, value.horizontal, value.getOutermostParentListRef, value.getNestedChildState, value.registerAsNestedChild, value.unregisterAsNestedChild, value.debugInfo.cellKey, value.debugInfo.horizontal, value.debugInfo.listKey, value.debugInfo.parent]);\n return React.createElement(VirtualizedListContext.Provider, {\n value: context\n }, children);\n}\nexport function VirtualizedListCellContextProvider(_ref3) {\n var cellKey = _ref3.cellKey,\n children = _ref3.children;\n var context = useContext(VirtualizedListContext);\n return React.createElement(VirtualizedListContext.Provider, {\n value: context == null ? null : _objectSpread(_objectSpread({}, context), {}, {\n cellKey: cellKey\n })\n }, children);\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/VirtualizedListContext.js"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","React","useMemo","useContext","__DEV__","process","env","NODE_ENV","VirtualizedListContext","createContext","displayName","VirtualizedListContextResetter","_ref","children","createElement","Provider","VirtualizedListContextProvider","_ref2","context","cellKey","getScrollMetrics","horizontal","getOutermostParentListRef","getNestedChildState","registerAsNestedChild","unregisterAsNestedChild","debugInfo","listKey","parent","VirtualizedListCellContextProvider","_ref3"],"mappings":"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","sourcesContent":["function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\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 * @format\n */\nimport * as React from 'react';\nimport { useMemo, useContext } from 'react';\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nexport var VirtualizedListContext = /*#__PURE__*/React.createContext(null);\n\nif (__DEV__) {\n VirtualizedListContext.displayName = 'VirtualizedListContext';\n}\n/**\n * Resets the context. Intended for use by portal-like components (e.g. Modal).\n */\n\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 * Sets the context with memoization. Intended to be used by `VirtualizedList`.\n */\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(function () {\n return {\n cellKey: null,\n getScrollMetrics: value.getScrollMetrics,\n horizontal: value.horizontal,\n getOutermostParentListRef: value.getOutermostParentListRef,\n getNestedChildState: value.getNestedChildState,\n registerAsNestedChild: value.registerAsNestedChild,\n unregisterAsNestedChild: value.unregisterAsNestedChild,\n debugInfo: {\n cellKey: value.debugInfo.cellKey,\n horizontal: value.debugInfo.horizontal,\n listKey: value.debugInfo.listKey,\n parent: value.debugInfo.parent\n }\n };\n }, [value.getScrollMetrics, value.horizontal, value.getOutermostParentListRef, value.getNestedChildState, value.registerAsNestedChild, value.unregisterAsNestedChild, value.debugInfo.cellKey, value.debugInfo.horizontal, value.debugInfo.listKey, value.debugInfo.parent]);\n return /*#__PURE__*/React.createElement(VirtualizedListContext.Provider, {\n value: context\n }, children);\n}\n/**\n * Sets the `cellKey`. Intended to be used by `VirtualizedList` for each cell.\n */\n\nexport function VirtualizedListCellContextProvider(_ref3) {\n var cellKey = _ref3.cellKey,\n children = _ref3.children;\n var context = useContext(VirtualizedListContext);\n return /*#__PURE__*/React.createElement(VirtualizedListContext.Provider, {\n value: context == null ? null : _objectSpread(_objectSpread({}, context), {}, {\n cellKey: cellKey\n })\n }, children);\n}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/5030d0e30294c0e51819b7e0b75482ad.json b/.expo/web/cache/development/babel-loader/5030d0e30294c0e51819b7e0b75482ad.json new file mode 100644 index 0000000000000000000000000000000000000000..92b326ff13579775d83700ddf43408f88e922a4a --- /dev/null +++ b/.expo/web/cache/development/babel-loader/5030d0e30294c0e51819b7e0b75482ad.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nvar CurrentRenderContext = React.createContext(undefined);\nexport default CurrentRenderContext;","map":{"version":3,"sources":["CurrentRenderContext.tsx"],"names":["CurrentRenderContext","React"],"mappings":"AAAA,OAAO,KAAP,KAAA,MAAA,OAAA;AAMA,IAAMA,oBAAoB,GAAGC,KAAK,CAALA,aAAAA,CAA7B,SAA6BA,CAA7B;AAIA,eAAA,oBAAA","sourcesContent":["import * as React from 'react';\n\n/**\n * Context which holds the values for the current navigation tree.\n * Intended for use in SSR. This is not safe to use on the client.\n */\nconst CurrentRenderContext = React.createContext<\n { options?: object } | undefined\n>(undefined);\n\nexport default CurrentRenderContext;\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/508f2f18d42542ff66dd32ae3f08ec92.json b/.expo/web/cache/development/babel-loader/508f2f18d42542ff66dd32ae3f08ec92.json new file mode 100644 index 0000000000000000000000000000000000000000..229e564c431088ca190ee0b8812e4082a27edb2a --- /dev/null +++ b/.expo/web/cache/development/babel-loader/508f2f18d42542ff66dd32ae3f08ec92.json @@ -0,0 +1 @@ +{"ast":null,"code":"import ReactNativePropRegistry from \"./ReactNativePropRegistry\";\nimport flattenStyle from \"./flattenStyle\";\nimport validate from \"./validate\";\nvar absoluteFillObject = {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n};\nvar absoluteFill = ReactNativePropRegistry.register(absoluteFillObject);\nvar StyleSheet = {\n absoluteFill: absoluteFill,\n absoluteFillObject: absoluteFillObject,\n compose: function compose(style1, style2) {\n if (process.env.NODE_ENV !== 'production') {\n var len = arguments.length;\n\n if (len > 2) {\n var readableStyles = Array.prototype.slice.call(arguments).map(function (a) {\n return flattenStyle(a);\n });\n throw new Error(\"StyleSheet.compose() only accepts 2 arguments, received \" + len + \": \" + JSON.stringify(readableStyles));\n }\n }\n\n if (style1 && style2) {\n return [style1, style2];\n } else {\n return style1 || style2;\n }\n },\n create: function create(styles) {\n var result = {};\n Object.keys(styles).forEach(function (key) {\n if (process.env.NODE_ENV !== 'production') {\n validate(key, styles);\n }\n\n var id = styles[key] && ReactNativePropRegistry.register(styles[key]);\n result[key] = id;\n });\n return result;\n },\n flatten: flattenStyle,\n hairlineWidth: 1\n};\nexport default StyleSheet;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/StyleSheet/StyleSheet.js"],"names":["ReactNativePropRegistry","flattenStyle","validate","absoluteFillObject","position","left","right","top","bottom","absoluteFill","register","StyleSheet","compose","style1","style2","process","env","NODE_ENV","len","arguments","length","readableStyles","Array","prototype","slice","call","map","a","Error","JSON","stringify","create","styles","result","Object","keys","forEach","key","id","flatten","hairlineWidth"],"mappings":"AAQA,OAAOA,uBAAP;AACA,OAAOC,YAAP;AACA,OAAOC,QAAP;AACA,IAAIC,kBAAkB,GAAG;AACvBC,EAAAA,QAAQ,EAAE,UADa;AAEvBC,EAAAA,IAAI,EAAE,CAFiB;AAGvBC,EAAAA,KAAK,EAAE,CAHgB;AAIvBC,EAAAA,GAAG,EAAE,CAJkB;AAKvBC,EAAAA,MAAM,EAAE;AALe,CAAzB;AAOA,IAAIC,YAAY,GAAGT,uBAAuB,CAACU,QAAxB,CAAiCP,kBAAjC,CAAnB;AACA,IAAIQ,UAAU,GAAG;AACfF,EAAAA,YAAY,EAAEA,YADC;AAEfN,EAAAA,kBAAkB,EAAEA,kBAFL;AAGfS,EAAAA,OAAO,EAAE,SAASA,OAAT,CAAiBC,MAAjB,EAAyBC,MAAzB,EAAiC;AACxC,QAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AAEzC,UAAIC,GAAG,GAAGC,SAAS,CAACC,MAApB;;AAEA,UAAIF,GAAG,GAAG,CAAV,EAAa;AACX,YAAIG,cAAc,GAAGC,KAAK,CAACC,SAAN,CAAgBC,KAAhB,CAAsBC,IAAtB,CAA2BN,SAA3B,EAAsCO,GAAtC,CAA0C,UAAUC,CAAV,EAAa;AAC1E,iBAAO1B,YAAY,CAAC0B,CAAD,CAAnB;AACD,SAFoB,CAArB;AAGA,cAAM,IAAIC,KAAJ,CAAU,6DAA6DV,GAA7D,GAAmE,IAAnE,GAA0EW,IAAI,CAACC,SAAL,CAAeT,cAAf,CAApF,CAAN;AACD;AAGF;;AAED,QAAIR,MAAM,IAAIC,MAAd,EAAsB;AACpB,aAAO,CAACD,MAAD,EAASC,MAAT,CAAP;AACD,KAFD,MAEO;AACL,aAAOD,MAAM,IAAIC,MAAjB;AACD;AACF,GAvBc;AAwBfiB,EAAAA,MAAM,EAAE,SAASA,MAAT,CAAgBC,MAAhB,EAAwB;AAC9B,QAAIC,MAAM,GAAG,EAAb;AACAC,IAAAA,MAAM,CAACC,IAAP,CAAYH,MAAZ,EAAoBI,OAApB,CAA4B,UAAUC,GAAV,EAAe;AACzC,UAAItB,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzCf,QAAAA,QAAQ,CAACmC,GAAD,EAAML,MAAN,CAAR;AACD;;AAED,UAAIM,EAAE,GAAGN,MAAM,CAACK,GAAD,CAAN,IAAerC,uBAAuB,CAACU,QAAxB,CAAiCsB,MAAM,CAACK,GAAD,CAAvC,CAAxB;AACAJ,MAAAA,MAAM,CAACI,GAAD,CAAN,GAAcC,EAAd;AACD,KAPD;AAQA,WAAOL,MAAP;AACD,GAnCc;AAoCfM,EAAAA,OAAO,EAAEtC,YApCM;AAuCfuC,EAAAA,aAAa,EAAE;AAvCA,CAAjB;AAyCA,eAAe7B,UAAf","sourcesContent":["/**\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 ReactNativePropRegistry from './ReactNativePropRegistry';\nimport flattenStyle from './flattenStyle';\nimport validate from './validate';\nvar absoluteFillObject = {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n};\nvar absoluteFill = ReactNativePropRegistry.register(absoluteFillObject);\nvar StyleSheet = {\n absoluteFill: absoluteFill,\n absoluteFillObject: absoluteFillObject,\n compose: function compose(style1, style2) {\n if (process.env.NODE_ENV !== 'production') {\n /* eslint-disable prefer-rest-params */\n var len = arguments.length;\n\n if (len > 2) {\n var readableStyles = Array.prototype.slice.call(arguments).map(function (a) {\n return flattenStyle(a);\n });\n throw new Error(\"StyleSheet.compose() only accepts 2 arguments, received \" + len + \": \" + JSON.stringify(readableStyles));\n }\n /* eslint-enable prefer-rest-params */\n\n }\n\n if (style1 && style2) {\n return [style1, style2];\n } else {\n return style1 || style2;\n }\n },\n create: function create(styles) {\n var result = {};\n Object.keys(styles).forEach(function (key) {\n if (process.env.NODE_ENV !== 'production') {\n validate(key, styles);\n }\n\n var id = styles[key] && ReactNativePropRegistry.register(styles[key]);\n result[key] = id;\n });\n return result;\n },\n flatten: flattenStyle,\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.\n hairlineWidth: 1\n};\nexport default StyleSheet;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/50ed22f4e97b2a07734de6e3b5596ef3.json b/.expo/web/cache/development/babel-loader/50ed22f4e97b2a07734de6e3b5596ef3.json new file mode 100644 index 0000000000000000000000000000000000000000..3d9642139fd85da5b8e35bce4df169180336a67b --- /dev/null +++ b/.expo/web/cache/development/babel-loader/50ed22f4e97b2a07734de6e3b5596ef3.json @@ -0,0 +1 @@ +{"ast":null,"code":"export {};","map":{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":["export {};\n//# sourceMappingURL=types.js.map"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/512f98d381c48dd32645a1d8ac5fd597.json b/.expo/web/cache/development/babel-loader/512f98d381c48dd32645a1d8ac5fd597.json new file mode 100644 index 0000000000000000000000000000000000000000..69bb31f9f1671873665695ff676cb4f92cfefd96 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/512f98d381c48dd32645a1d8ac5fd597.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport TextInput from \"react-native-web/dist/exports/TextInput\";\nimport React, { useState, useEffect } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Details(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(route.params.itemDetails.name),\n _useState2 = _slicedToArray(_useState, 2),\n name = _useState2[0],\n onChangeName = _useState2[1];\n\n var _useState3 = useState(route.params.itemDetails.email),\n _useState4 = _slicedToArray(_useState3, 2),\n email = _useState4[0],\n onChangeEmail = _useState4[1];\n\n var _useState5 = useState(route.params.itemDetails.image),\n _useState6 = _slicedToArray(_useState5, 2),\n image = _useState6[0],\n onChangeImage = _useState6[1];\n\n function update() {\n navigation.navigate({\n name: 'UserList',\n merge: true\n });\n }\n\n return _jsxs(View, {\n children: [_jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeName,\n value: name,\n multiline: true\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeEmail,\n value: email,\n multiline: true\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeImage,\n value: image,\n multiline: true\n }), _jsx(Button, {\n title: \"Update\",\n onPress: update\n }), _jsx(Button, {\n title: \"Delete\",\n onPress: update\n })]\n });\n}\nvar styles = StyleSheet.create({\n input: {\n borderBottomColor: '#CFCDCD',\n borderBottomWidth: 1,\n width: 220\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/Details.js"],"names":["React","useState","useEffect","Details","navigation","route","params","itemDetails","name","onChangeName","email","onChangeEmail","image","onChangeImage","update","navigate","merge","styles","input","StyleSheet","create","borderBottomColor","borderBottomWidth","width"],"mappings":";;;;;;AACA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;;;AAGA,eAAe,SAASC,OAAT,OAAuC;AAAA,MAApBC,UAAoB,QAApBA,UAAoB;AAAA,MAARC,KAAQ,QAARA,KAAQ;;AAElD,kBAA6BJ,QAAQ,CAACI,KAAK,CAACC,MAAN,CAAaC,WAAb,CAAyBC,IAA1B,CAArC;AAAA;AAAA,MAAOA,IAAP;AAAA,MAAaC,YAAb;;AACA,mBAA+BR,QAAQ,CAACI,KAAK,CAACC,MAAN,CAAaC,WAAb,CAAyBG,KAA1B,CAAvC;AAAA;AAAA,MAAOA,KAAP;AAAA,MAAcC,aAAd;;AACA,mBAA+BV,QAAQ,CAACI,KAAK,CAACC,MAAN,CAAaC,WAAb,CAAyBK,KAA1B,CAAvC;AAAA;AAAA,MAAOA,KAAP;AAAA,MAAcC,aAAd;;AAEA,WAASC,MAAT,GAAiB;AACbV,IAAAA,UAAU,CAACW,QAAX,CAAoB;AAChBP,MAAAA,IAAI,EAAE,UADU;AAGhBQ,MAAAA,KAAK,EAAE;AAHS,KAApB;AAKH;;AAGD,SACI,MAAC,IAAD;AAAA,eACD,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEC,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAET,YAA9C;AAA4D,MAAA,KAAK,EAAED,IAAnE;AAAyE,MAAA,SAAS,EAAI;AAAtF,MADC,EAEA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAES,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAEP,aAA9C;AAA6D,MAAA,KAAK,EAAED,KAApE;AAA2E,MAAA,SAAS,EAAI;AAAxF,MAFA,EAGA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEO,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAEL,aAA9C;AAA6D,MAAA,KAAK,EAAED,KAApE;AAA2E,MAAA,SAAS,EAAI;AAAxF,MAHA,EAKA,KAAC,MAAD;AAAQ,MAAA,KAAK,EAAC,QAAd;AAAuB,MAAA,OAAO,EAAEE;AAAhC,MALA,EAMA,KAAC,MAAD;AAAQ,MAAA,KAAK,EAAC,QAAd;AAAuB,MAAA,OAAO,EAAEA;AAAhC,MANA;AAAA,IADJ;AAUH;AAID,IAAMG,MAAM,GAAGE,UAAU,CAACC,MAAX,CAAkB;AAC7BF,EAAAA,KAAK,EAAC;AAEFG,IAAAA,iBAAiB,EAAC,SAFhB;AAGFC,IAAAA,iBAAiB,EAAC,CAHhB;AAIFC,IAAAA,KAAK,EAAE;AAJL;AADuB,CAAlB,CAAf","sourcesContent":["import { StyleSheet, Text, View, Button, TextInput } from 'react-native';\r\nimport React, { useState, useEffect } from 'react';\r\n\r\n\r\nexport default function Details({ navigation, route }){\r\n\r\n const [name, onChangeName] = useState(route.params.itemDetails.name);\r\n const [email, onChangeEmail] = useState(route.params.itemDetails.email);\r\n const [image, onChangeImage] = useState(route.params.itemDetails.image);\r\n\r\n function update(){\r\n navigation.navigate({\r\n name: 'UserList',\r\n //params: { post: fach },\r\n merge: true,\r\n });\r\n }\r\n \r\n\r\n return(\r\n <View>\r\n <TextInput style={styles.input} onChangeText={onChangeName} value={name} multiline = {true} />\r\n <TextInput style={styles.input} onChangeText={onChangeEmail} value={email} multiline = {true} />\r\n <TextInput style={styles.input} onChangeText={onChangeImage} value={image} multiline = {true} />\r\n\r\n <Button title='Update' onPress={update}/>\r\n <Button title='Delete' onPress={update}/>\r\n </View>\r\n )\r\n}\r\n\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n input:{\r\n //underlineColorAndroid: '#CFCDCD',\r\n borderBottomColor:'#CFCDCD',\r\n borderBottomWidth:1,\r\n width: 220,\r\n },\r\n });"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/51b5df2070a816bd3a670312f0f978cd.json b/.expo/web/cache/development/babel-loader/51b5df2070a816bd3a670312f0f978cd.json new file mode 100644 index 0000000000000000000000000000000000000000..cbab558034bdfc853a1966529d78845b21dd9403 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/51b5df2070a816bd3a670312f0f978cd.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport NativeError from '@react-native-firebase/app/lib/internal/NativeFirebaseError';\nimport FirestoreTransaction from \"./FirestoreTransaction\";\nvar transactionId = 0;\n\nvar generateTransactionId = function generateTransactionId() {\n return transactionId++;\n};\n\nvar FirestoreTransactionHandler = function () {\n function FirestoreTransactionHandler(firestore) {\n _classCallCheck(this, FirestoreTransactionHandler);\n\n this._firestore = firestore;\n this._pending = {};\n\n this._firestore.emitter.addListener(this._firestore.eventNameForApp('firestore_transaction_event'), this._onTransactionEvent.bind(this));\n }\n\n _createClass(FirestoreTransactionHandler, [{\n key: \"_onTransactionEvent\",\n value: function _onTransactionEvent(event) {\n switch (event.body.type) {\n case 'update':\n this._handleUpdate(event);\n\n break;\n\n case 'error':\n this._handleError(event);\n\n break;\n\n case 'complete':\n this._handleComplete(event);\n\n break;\n }\n }\n }, {\n key: \"_handleUpdate\",\n value: function _handleUpdate(event) {\n var id, _this$_pending$id, meta, transaction, updateFunction, reject, finalError, updateFailed, pendingResult, possiblePromise;\n\n return _regeneratorRuntime.async(function _handleUpdate$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n id = event.listenerId;\n\n if (this._pending[id]) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", this._remove(id));\n\n case 3:\n _this$_pending$id = this._pending[id], meta = _this$_pending$id.meta, transaction = _this$_pending$id.transaction;\n updateFunction = meta.updateFunction, reject = meta.reject;\n\n transaction._prepare();\n\n _context.prev = 6;\n possiblePromise = updateFunction(transaction);\n\n if (!(!possiblePromise || !possiblePromise.then)) {\n _context.next = 10;\n break;\n }\n\n throw new Error(\"firebase.firestore().runTransaction(*) 'updateFunction' must return a Promise.\");\n\n case 10:\n _context.next = 12;\n return _regeneratorRuntime.awrap(possiblePromise);\n\n case 12:\n pendingResult = _context.sent;\n _context.next = 19;\n break;\n\n case 15:\n _context.prev = 15;\n _context.t0 = _context[\"catch\"](6);\n updateFailed = true;\n finalError = _context.t0;\n\n case 19:\n if (!(updateFailed || finalError)) {\n _context.next = 21;\n break;\n }\n\n return _context.abrupt(\"return\", reject(finalError));\n\n case 21:\n transaction._pendingResult = pendingResult;\n return _context.abrupt(\"return\", this._firestore.native.transactionApplyBuffer(id, transaction._commandBuffer));\n\n case 23:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, this, [[6, 15]], Promise);\n }\n }, {\n key: \"_handleError\",\n value: function _handleError(event) {\n var id = event.listenerId,\n body = event.body;\n var error = body.error;\n\n if (!this._pending[id]) {\n return;\n }\n\n var meta = this._pending[id].meta;\n\n if (meta && error) {\n var errorAndStack = NativeError.fromEvent(error, 'firestore', meta.stack);\n meta.reject(errorAndStack);\n }\n }\n }, {\n key: \"_handleComplete\",\n value: function _handleComplete(event) {\n var id = event.listenerId;\n\n if (!this._pending[id]) {\n return;\n }\n\n var _this$_pending$id2 = this._pending[id],\n meta = _this$_pending$id2.meta,\n transaction = _this$_pending$id2.transaction;\n\n if (meta) {\n meta.resolve(transaction._pendingResult);\n }\n }\n }, {\n key: \"_add\",\n value: function _add(updateFunction) {\n var _this = this;\n\n var id = generateTransactionId();\n var meta = {\n id: id,\n updateFunction: updateFunction,\n stack: new Error().stack.split('\\n').slice(2).join('\\n')\n };\n this._pending[id] = {\n meta: meta,\n transaction: new FirestoreTransaction(this._firestore, meta)\n };\n return new Promise(function (resolve, reject) {\n _this._firestore.native.transactionBegin(id);\n\n meta.resolve = function (result) {\n _this._remove(id);\n\n resolve(result);\n };\n\n meta.reject = function (error) {\n _this._remove(id);\n\n reject(error);\n };\n });\n }\n }, {\n key: \"_remove\",\n value: function _remove(id) {\n this._firestore.native.transactionDispose(id);\n\n delete this._pending[id];\n }\n }]);\n\n return FirestoreTransactionHandler;\n}();\n\nexport { FirestoreTransactionHandler as default };","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/firestore/lib/FirestoreTransactionHandler.js"],"names":["NativeError","FirestoreTransaction","transactionId","generateTransactionId","FirestoreTransactionHandler","firestore","_firestore","_pending","emitter","addListener","eventNameForApp","_onTransactionEvent","bind","event","body","type","_handleUpdate","_handleError","_handleComplete","id","listenerId","_remove","meta","transaction","updateFunction","reject","_prepare","possiblePromise","then","Error","pendingResult","updateFailed","finalError","_pendingResult","native","transactionApplyBuffer","_commandBuffer","error","errorAndStack","fromEvent","stack","resolve","split","slice","join","Promise","transactionBegin","result","transactionDispose"],"mappings":"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","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport NativeError from '@react-native-firebase/app/lib/internal/NativeFirebaseError';\nimport FirestoreTransaction from './FirestoreTransaction';\n\nlet transactionId = 0;\n\n/**\n * Uses the push id generator to create a transaction id\n * @returns {number}\n * @private\n */\nconst generateTransactionId = () => transactionId++;\n\nexport default class FirestoreTransactionHandler {\n constructor(firestore) {\n this._firestore = firestore;\n this._pending = {};\n this._firestore.emitter.addListener(\n this._firestore.eventNameForApp('firestore_transaction_event'),\n this._onTransactionEvent.bind(this),\n );\n }\n\n _onTransactionEvent(event) {\n switch (event.body.type) {\n case 'update':\n this._handleUpdate(event);\n break;\n case 'error':\n this._handleError(event);\n break;\n case 'complete':\n this._handleComplete(event);\n break;\n }\n }\n\n async _handleUpdate(event) {\n const { listenerId: id } = event;\n\n // abort if no longer exists js side\n if (!this._pending[id]) {\n return this._remove(id);\n }\n\n const { meta, transaction } = this._pending[id];\n const { updateFunction, reject } = meta;\n\n // clear any saved state from previous transaction runs\n transaction._prepare();\n\n let finalError;\n let updateFailed;\n let pendingResult;\n\n try {\n const possiblePromise = updateFunction(transaction);\n\n // validate user has returned a promise in their update function\n if (!possiblePromise || !possiblePromise.then) {\n throw new Error(\n \"firebase.firestore().runTransaction(*) 'updateFunction' must return a Promise.\",\n );\n }\n\n pendingResult = await possiblePromise;\n } catch (exception) {\n // exception can still be falsey if user `Promise.reject();` 's with no args\n // so we track the exception with a updateFailed boolean to ensure no fall-through\n updateFailed = true;\n finalError = exception;\n }\n\n // reject the final promise and remove from native\n // update is failed when either the users updateFunction\n // throws an error or rejects a promise\n if (updateFailed || finalError) {\n return reject(finalError);\n }\n\n // capture the resolved result as we'll need this\n // to resolve the runTransaction() promise when\n // native emits that the transaction is final\n transaction._pendingResult = pendingResult;\n\n // send the buffered update/set/delete commands for native to process\n return this._firestore.native.transactionApplyBuffer(id, transaction._commandBuffer);\n }\n\n /**\n * Reject the promise with a native error event\n *\n * @param event\n * @private\n */\n _handleError(event) {\n const { listenerId: id, body } = event;\n const { error } = body;\n\n if (!this._pending[id]) {\n return;\n }\n\n const { meta } = this._pending[id];\n\n if (meta && error) {\n const errorAndStack = NativeError.fromEvent(error, 'firestore', meta.stack);\n meta.reject(errorAndStack);\n }\n }\n\n /**\n * Once the transaction has completed on native, resolve the promise with any\n * pending results\n *\n * @param event\n * @private\n */\n _handleComplete(event) {\n const { listenerId: id } = event;\n\n if (!this._pending[id]) {\n return;\n }\n\n const { meta, transaction } = this._pending[id];\n if (meta) {\n meta.resolve(transaction._pendingResult);\n }\n }\n\n /**\n * Internally adds a transaction execution function to the queue\n *\n * @param updateFunction\n * @returns {Promise<any>}\n * @private\n */\n _add(updateFunction) {\n const id = generateTransactionId();\n\n const meta = {\n id,\n updateFunction,\n stack: new Error().stack.split('\\n').slice(2).join('\\n'),\n };\n\n this._pending[id] = {\n meta,\n transaction: new FirestoreTransaction(this._firestore, meta),\n };\n\n return new Promise((resolve, reject) => {\n this._firestore.native.transactionBegin(id);\n\n meta.resolve = result => {\n this._remove(id);\n resolve(result);\n };\n\n meta.reject = error => {\n this._remove(id);\n reject(error);\n };\n });\n }\n\n /**\n * Internally removes the transaction once it has resolved\n * or rejected\n *\n * @param id\n * @private\n */\n _remove(id) {\n this._firestore.native.transactionDispose(id);\n delete this._pending[id];\n }\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/51d9044fbe8df158a0d657f3132f4646.json b/.expo/web/cache/development/babel-loader/51d9044fbe8df158a0d657f3132f4646.json new file mode 100644 index 0000000000000000000000000000000000000000..3fd5aa30361b5d54fb8c512d9ee28740d6dbd7f1 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/51d9044fbe8df158a0d657f3132f4646.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc } from \"firebase/firestore\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n name = _doc$data.name,\n email = _doc$data.email,\n phone = _doc$data.phone;\n\n users.push({\n id: doc.id,\n name: name,\n email: email,\n phone: phone\n });\n });\n setUsers(users);\n });\n }, []);\n\n try {\n var docRef = function docRef() {\n return _regeneratorRuntime.async(function docRef$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _regeneratorRuntime.awrap(addDoc(collection(db, \"users\"), {\n Name: \"Ada\",\n Email: \"Lovelace\",\n born: 1815\n }));\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n };\n\n console.log(\"Document written with ID: \", docRef.id);\n Alert.alert(\"write Data worked: \");\n } catch (e) {\n console.error(\"Error adding document: \", e);\n }\n\n var getUserById = function getUserById(id) {\n var docRef, docu, user;\n return _regeneratorRuntime.async(function getUserById$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n docRef = doc(db, 'users', id);\n _context2.next = 3;\n return _regeneratorRuntime.awrap(getDoc(docRef));\n\n case 3:\n docu = _context2.sent;\n user = docu.data();\n setUser(_objectSpread(_objectSpread({}, user), {}, {\n id: docu.id\n }));\n setLoading(false);\n\n case 7:\n case \"end\":\n return _context2.stop();\n }\n }\n }, null, null, null, Promise);\n };\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsxs(Text, {\n children: [item.title, users.toString]\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","name","email","phone","push","id","docRef","Name","Email","born","console","log","Alert","alert","e","error","getUserById","getDoc","docu","user","setUser","setLoading","params","post","Item","item","onPress","backgroundColor","textColor","styles","title","toString","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc} from \"firebase/firestore\"\r\n\r\n\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {name, email, phone} = doc.data();\r\n users.push({id:doc.id, name, email, phone})\r\n });\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"users\"), {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n born: 1815\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}\r\n\r\n\r\n\r\n//update user\r\nconst getUserById = async (id) => {\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUser({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n };\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n {users.toString}\r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/5360265be15f2c2bfb69e71f1501a8d6.json b/.expo/web/cache/development/babel-loader/5360265be15f2c2bfb69e71f1501a8d6.json new file mode 100644 index 0000000000000000000000000000000000000000..a6dcc73eadca0c590bc2c91be37927481f6f8cad --- /dev/null +++ b/.expo/web/cache/development/babel-loader/5360265be15f2c2bfb69e71f1501a8d6.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore } from \"firebase/firestore\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users.toString);\n setUsers(users);\n });\n }, []);\n\n function writeData() {\n try {\n var docRef = function docRef() {\n return _regeneratorRuntime.async(function docRef$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _regeneratorRuntime.awrap(addDoc(collection(db, \"Users\"), {\n Email: \"Ada\",\n Image: \"Lovelace\",\n Name: \"1815\"\n }));\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n };\n\n console.log(\"Document written with ID: \", docRef.id);\n Alert.alert(\"write Data worked: \");\n } catch (e) {\n console.error(\"Error adding document: \", e);\n }\n }\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsxs(Text, {\n children: [item.title, users.toString]\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\",\n onPress: writeData\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","writeData","docRef","console","log","e","error","params","post","Item","item","onPress","backgroundColor","textColor","styles","title","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users.toString);\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\nfunction writeData(){\r\n \r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})*/\r\n}\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async (id) => {\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUser({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n {users.toString}\r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser' onPress={writeData}/>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/539924e1c8f2e1bda63c9f4cc77aa1a6.json b/.expo/web/cache/development/babel-loader/539924e1c8f2e1bda63c9f4cc77aa1a6.json new file mode 100644 index 0000000000000000000000000000000000000000..44fed7ca3845548d213f119582d3e0803afe19b6 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/539924e1c8f2e1bda63c9f4cc77aa1a6.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nimport * as React from 'react';\nimport Dimensions from \"react-native-web/dist/exports/Dimensions\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport NativeSafeAreaProvider from \"./NativeSafeAreaProvider\";\nexport var SafeAreaInsetsContext = React.createContext(null);\nSafeAreaInsetsContext.displayName = 'SafeAreaInsetsContext';\nexport var SafeAreaFrameContext = React.createContext(null);\nSafeAreaFrameContext.displayName = 'SafeAreaFrameContext';\nexport function SafeAreaProvider(_ref4) {\n var children = _ref4.children,\n initialMetrics = _ref4.initialMetrics,\n initialSafeAreaInsets = _ref4.initialSafeAreaInsets,\n style = _ref4.style;\n\n var _ref, _ref2, _initialMetrics$inset, _ref3, _initialMetrics$frame;\n\n var parentInsets = useParentSafeAreaInsets();\n var parentFrame = useParentSafeAreaFrame();\n\n var _React$useState = React.useState((_ref = (_ref2 = (_initialMetrics$inset = initialMetrics === null || initialMetrics === void 0 ? void 0 : initialMetrics.insets) !== null && _initialMetrics$inset !== void 0 ? _initialMetrics$inset : initialSafeAreaInsets) !== null && _ref2 !== void 0 ? _ref2 : parentInsets) !== null && _ref !== void 0 ? _ref : null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n insets = _React$useState2[0],\n setInsets = _React$useState2[1];\n\n var _React$useState3 = React.useState((_ref3 = (_initialMetrics$frame = initialMetrics === null || initialMetrics === void 0 ? void 0 : initialMetrics.frame) !== null && _initialMetrics$frame !== void 0 ? _initialMetrics$frame : parentFrame) !== null && _ref3 !== void 0 ? _ref3 : {\n x: 0,\n y: 0,\n width: Dimensions.get('window').width,\n height: Dimensions.get('window').height\n }),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n frame = _React$useState4[0],\n setFrame = _React$useState4[1];\n\n var onInsetsChange = React.useCallback(function (event) {\n var _event$nativeEvent = event.nativeEvent,\n nextFrame = _event$nativeEvent.frame,\n nextInsets = _event$nativeEvent.insets;\n\n if (nextFrame && (nextFrame.height !== frame.height || nextFrame.width !== frame.width || nextFrame.x !== frame.x || nextFrame.y !== frame.y)) {\n setFrame(nextFrame);\n }\n\n if (!insets || nextInsets.bottom !== insets.bottom || nextInsets.left !== insets.left || nextInsets.right !== insets.right || nextInsets.top !== insets.top) {\n setInsets(nextInsets);\n }\n }, [frame, insets]);\n return React.createElement(NativeSafeAreaProvider, {\n style: [styles.fill, style],\n onInsetsChange: onInsetsChange\n }, insets != null ? React.createElement(SafeAreaFrameContext.Provider, {\n value: frame\n }, React.createElement(SafeAreaInsetsContext.Provider, {\n value: insets\n }, children)) : null);\n}\nvar styles = StyleSheet.create({\n fill: {\n flex: 1\n }\n});\n\nfunction useParentSafeAreaInsets() {\n return React.useContext(SafeAreaInsetsContext);\n}\n\nfunction useParentSafeAreaFrame() {\n return React.useContext(SafeAreaFrameContext);\n}\n\nexport function useSafeAreaInsets() {\n var safeArea = React.useContext(SafeAreaInsetsContext);\n\n if (safeArea == null) {\n throw new Error('No safe area insets value available. Make sure you are rendering `<SafeAreaProvider>` at the top of your app.');\n }\n\n return safeArea;\n}\nexport function useSafeAreaFrame() {\n var frame = React.useContext(SafeAreaFrameContext);\n\n if (frame == null) {\n throw new Error('No safe area frame value available. Make sure you are rendering `<SafeAreaProvider>` at the top of your app.');\n }\n\n return frame;\n}\nexport function withSafeAreaInsets(WrappedComponent) {\n return React.forwardRef(function (props, ref) {\n return React.createElement(SafeAreaConsumer, null, function (insets) {\n return React.createElement(WrappedComponent, _extends({}, props, {\n insets: insets,\n ref: ref\n }));\n });\n });\n}\nexport function useSafeArea() {\n return useSafeAreaInsets();\n}\nexport var SafeAreaConsumer = SafeAreaInsetsContext.Consumer;\nexport var SafeAreaContext = SafeAreaInsetsContext;","map":{"version":3,"sources":["SafeAreaContext.tsx"],"names":["SafeAreaInsetsContext","React","SafeAreaFrameContext","style","parentInsets","useParentSafeAreaInsets","parentFrame","useParentSafeAreaFrame","initialMetrics","x","y","width","Dimensions","height","onInsetsChange","event","nativeEvent","frame","insets","nextInsets","nextFrame","setFrame","setInsets","styles","fill","flex","safeArea","ref","useSafeAreaInsets","SafeAreaConsumer","SafeAreaContext"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { Dimensions, StyleProp, StyleSheet, ViewStyle } from 'react-native';\nimport NativeSafeAreaProvider from './NativeSafeAreaProvider';\nimport { EdgeInsets, InsetChangedEvent, Metrics, Rect } from './SafeArea.types';\n\nexport const SafeAreaInsetsContext = React.createContext<EdgeInsets | null>(\n null,\n);\nSafeAreaInsetsContext.displayName = 'SafeAreaInsetsContext';\n\nexport const SafeAreaFrameContext = React.createContext<Rect | null>(null);\nSafeAreaFrameContext.displayName = 'SafeAreaFrameContext';\n\nexport interface SafeAreaViewProps {\n children?: React.ReactNode;\n initialMetrics?: Metrics | null;\n /**\n * @deprecated\n */\n initialSafeAreaInsets?: EdgeInsets | null;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function SafeAreaProvider({\n children,\n initialMetrics,\n initialSafeAreaInsets,\n style,\n}: SafeAreaViewProps) {\n const parentInsets = useParentSafeAreaInsets();\n const parentFrame = useParentSafeAreaFrame();\n const [insets, setInsets] = React.useState<EdgeInsets | null>(\n initialMetrics?.insets ?? initialSafeAreaInsets ?? parentInsets ?? null,\n );\n const [frame, setFrame] = React.useState<Rect>(\n initialMetrics?.frame ??\n parentFrame ?? {\n // Backwards compat so we render anyway if we don't have frame.\n x: 0,\n y: 0,\n width: Dimensions.get('window').width,\n height: Dimensions.get('window').height,\n },\n );\n const onInsetsChange = React.useCallback(\n (event: InsetChangedEvent) => {\n const {\n nativeEvent: { frame: nextFrame, insets: nextInsets },\n } = event;\n\n if (\n // Backwards compat with old native code that won't send frame.\n nextFrame &&\n (nextFrame.height !== frame.height ||\n nextFrame.width !== frame.width ||\n nextFrame.x !== frame.x ||\n nextFrame.y !== frame.y)\n ) {\n setFrame(nextFrame);\n }\n\n if (\n !insets ||\n nextInsets.bottom !== insets.bottom ||\n nextInsets.left !== insets.left ||\n nextInsets.right !== insets.right ||\n nextInsets.top !== insets.top\n ) {\n setInsets(nextInsets);\n }\n },\n [frame, insets],\n );\n\n return (\n <NativeSafeAreaProvider\n style={[styles.fill, style]}\n onInsetsChange={onInsetsChange}\n >\n {insets != null ? (\n <SafeAreaFrameContext.Provider value={frame}>\n <SafeAreaInsetsContext.Provider value={insets}>\n {children}\n </SafeAreaInsetsContext.Provider>\n </SafeAreaFrameContext.Provider>\n ) : null}\n </NativeSafeAreaProvider>\n );\n}\n\nconst styles = StyleSheet.create({\n fill: { flex: 1 },\n});\n\nfunction useParentSafeAreaInsets(): EdgeInsets | null {\n return React.useContext(SafeAreaInsetsContext);\n}\n\nfunction useParentSafeAreaFrame(): Rect | null {\n return React.useContext(SafeAreaFrameContext);\n}\n\nexport function useSafeAreaInsets(): EdgeInsets {\n const safeArea = React.useContext(SafeAreaInsetsContext);\n if (safeArea == null) {\n throw new Error(\n 'No safe area insets value available. Make sure you are rendering `<SafeAreaProvider>` at the top of your app.',\n );\n }\n return safeArea;\n}\n\nexport function useSafeAreaFrame(): Rect {\n const frame = React.useContext(SafeAreaFrameContext);\n if (frame == null) {\n throw new Error(\n 'No safe area frame value available. Make sure you are rendering `<SafeAreaProvider>` at the top of your app.',\n );\n }\n return frame;\n}\n\nexport function withSafeAreaInsets<T>(\n WrappedComponent: React.ComponentType<T>,\n) {\n return React.forwardRef((props: T, ref: React.Ref<T>) => (\n <SafeAreaConsumer>\n {(insets) => <WrappedComponent {...props} insets={insets} ref={ref} />}\n </SafeAreaConsumer>\n ));\n}\n\n/**\n * @deprecated\n */\nexport function useSafeArea(): EdgeInsets {\n return useSafeAreaInsets();\n}\n\n/**\n * @deprecated\n */\nexport const SafeAreaConsumer = SafeAreaInsetsContext.Consumer;\n\n/**\n * @deprecated\n */\nexport const SafeAreaContext = SafeAreaInsetsContext;\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/53dbf83cd0e455fa0a307ae05ed29e52.json b/.expo/web/cache/development/babel-loader/53dbf83cd0e455fa0a307ae05ed29e52.json new file mode 100644 index 0000000000000000000000000000000000000000..ed0a940e00af5f68dda68568807995227ccb5a25 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/53dbf83cd0e455fa0a307ae05ed29e52.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\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 }\n\n it = o[Symbol.iterator]();\n return it.next.bind(it);\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport AnimatedNode from \"./AnimatedNode\";\nimport NativeAnimatedHelper from \"../NativeAnimatedHelper\";\n\nvar AnimatedWithChildren = function (_AnimatedNode) {\n _inheritsLoose(AnimatedWithChildren, _AnimatedNode);\n\n function AnimatedWithChildren() {\n var _this;\n\n _this = _AnimatedNode.call(this) || this;\n _this._children = [];\n return _this;\n }\n\n var _proto = AnimatedWithChildren.prototype;\n\n _proto.__makeNative = function __makeNative() {\n if (!this.__isNative) {\n this.__isNative = true;\n\n for (var _iterator = _createForOfIteratorHelperLoose(this._children), _step; !(_step = _iterator()).done;) {\n var child = _step.value;\n\n child.__makeNative();\n\n NativeAnimatedHelper.API.connectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n }\n\n _AnimatedNode.prototype.__makeNative.call(this);\n };\n\n _proto.__addChild = function __addChild(child) {\n if (this._children.length === 0) {\n this.__attach();\n }\n\n this._children.push(child);\n\n if (this.__isNative) {\n child.__makeNative();\n\n NativeAnimatedHelper.API.connectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n };\n\n _proto.__removeChild = function __removeChild(child) {\n var index = this._children.indexOf(child);\n\n if (index === -1) {\n console.warn(\"Trying to remove a child that doesn't exist\");\n return;\n }\n\n if (this.__isNative && child.__isNative) {\n NativeAnimatedHelper.API.disconnectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n\n this._children.splice(index, 1);\n\n if (this._children.length === 0) {\n this.__detach();\n }\n };\n\n _proto.__getChildren = function __getChildren() {\n return this._children;\n };\n\n _proto.__callListeners = function __callListeners(value) {\n _AnimatedNode.prototype.__callListeners.call(this, value);\n\n if (!this.__isNative) {\n for (var _iterator2 = _createForOfIteratorHelperLoose(this._children), _step2; !(_step2 = _iterator2()).done;) {\n var child = _step2.value;\n\n if (child.__getValue) {\n child.__callListeners(child.__getValue());\n }\n }\n }\n };\n\n return AnimatedWithChildren;\n}(AnimatedNode);\n\nexport default AnimatedWithChildren;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedWithChildren.js"],"names":["_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","done","value","TypeError","next","bind","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","from","test","arr","len","arr2","_inheritsLoose","subClass","superClass","create","_setPrototypeOf","p","setPrototypeOf","__proto__","AnimatedNode","NativeAnimatedHelper","AnimatedWithChildren","_AnimatedNode","_this","_children","_proto","__makeNative","__isNative","_iterator","_step","child","API","connectAnimatedNodes","__getNativeTag","__addChild","__attach","push","__removeChild","index","indexOf","console","warn","disconnectAnimatedNodes","splice","__detach","__getChildren","__callListeners","_iterator2","_step2","__getValue"],"mappings":"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","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } it = o[Symbol.iterator](); return it.next.bind(it); }\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(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\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 _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport AnimatedNode from './AnimatedNode';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\n\nvar AnimatedWithChildren = /*#__PURE__*/function (_AnimatedNode) {\n _inheritsLoose(AnimatedWithChildren, _AnimatedNode);\n\n function AnimatedWithChildren() {\n var _this;\n\n _this = _AnimatedNode.call(this) || this;\n _this._children = [];\n return _this;\n }\n\n var _proto = AnimatedWithChildren.prototype;\n\n _proto.__makeNative = function __makeNative() {\n if (!this.__isNative) {\n this.__isNative = true;\n\n for (var _iterator = _createForOfIteratorHelperLoose(this._children), _step; !(_step = _iterator()).done;) {\n var child = _step.value;\n\n child.__makeNative();\n\n NativeAnimatedHelper.API.connectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n }\n\n _AnimatedNode.prototype.__makeNative.call(this);\n };\n\n _proto.__addChild = function __addChild(child) {\n if (this._children.length === 0) {\n this.__attach();\n }\n\n this._children.push(child);\n\n if (this.__isNative) {\n // Only accept \"native\" animated nodes as children\n child.__makeNative();\n\n NativeAnimatedHelper.API.connectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n };\n\n _proto.__removeChild = function __removeChild(child) {\n var index = this._children.indexOf(child);\n\n if (index === -1) {\n console.warn(\"Trying to remove a child that doesn't exist\");\n return;\n }\n\n if (this.__isNative && child.__isNative) {\n NativeAnimatedHelper.API.disconnectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n\n this._children.splice(index, 1);\n\n if (this._children.length === 0) {\n this.__detach();\n }\n };\n\n _proto.__getChildren = function __getChildren() {\n return this._children;\n };\n\n _proto.__callListeners = function __callListeners(value) {\n _AnimatedNode.prototype.__callListeners.call(this, value);\n\n if (!this.__isNative) {\n for (var _iterator2 = _createForOfIteratorHelperLoose(this._children), _step2; !(_step2 = _iterator2()).done;) {\n var child = _step2.value;\n\n if (child.__getValue) {\n child.__callListeners(child.__getValue());\n }\n }\n }\n };\n\n return AnimatedWithChildren;\n}(AnimatedNode);\n\nexport default AnimatedWithChildren;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/54a1551dc58f07db5d3a21cd469b6966.json b/.expo/web/cache/development/babel-loader/54a1551dc58f07db5d3a21cd469b6966.json new file mode 100644 index 0000000000000000000000000000000000000000..0f341ac666de564f976e9272630ac93c4a25779a --- /dev/null +++ b/.expo/web/cache/development/babel-loader/54a1551dc58f07db5d3a21cd469b6966.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport * as React from 'react';\nexport default function useThenable(create) {\n var _React$useState = React.useState(create),\n _React$useState2 = _slicedToArray(_React$useState, 1),\n promise = _React$useState2[0];\n\n var initialState = [false, undefined];\n promise.then(function (result) {\n initialState = [true, result];\n });\n\n var _React$useState3 = React.useState(initialState),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n state = _React$useState4[0],\n setState = _React$useState4[1];\n\n var _state = _slicedToArray(state, 1),\n resolved = _state[0];\n\n React.useEffect(function () {\n var cancelled = false;\n\n var resolve = function resolve() {\n var result;\n return _regeneratorRuntime.async(function resolve$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return _regeneratorRuntime.awrap(promise);\n\n case 3:\n result = _context.sent;\n\n case 4:\n _context.prev = 4;\n\n if (!cancelled) {\n setState([true, result]);\n }\n\n return _context.finish(4);\n\n case 7:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, [[0,, 4, 7]], Promise);\n };\n\n if (!resolved) {\n resolve();\n }\n\n return function () {\n cancelled = true;\n };\n }, [promise, resolved]);\n return state;\n}","map":{"version":3,"sources":["useThenable.tsx"],"names":["React","initialState","promise","result","cancelled","resolve","setState"],"mappings":";;AAAA,OAAO,KAAP,KAAA,MAAA,OAAA;AAEA,eAAe,SAAA,WAAA,CAAA,MAAA,EAAsD;AACnE,wBAAkBA,KAAK,CAALA,QAAAA,CAAlB,MAAkBA,CAAlB;AAAA;AAAA,MAAM,OAAN;;AAEA,MAAIC,YAAsC,GAAG,CAAA,KAAA,EAHsB,SAGtB,CAA7C;AAGAC,EAAAA,OAAO,CAAPA,IAAAA,CAAcC,UAAAA,MAAD,EAAY;AACvBF,IAAAA,YAAY,GAAG,CAAA,IAAA,EAAfA,MAAe,CAAfA;AADFC,GAAAA;;AAIA,yBAA0BF,KAAK,CAALA,QAAAA,CAA1B,YAA0BA,CAA1B;AAAA;AAAA,MAAM,KAAN;AAAA,MAAM,QAAN;;AACA,8BAAA,KAAA;AAAA,MAAM,QAAN;;AAEAA,EAAAA,KAAK,CAALA,SAAAA,CAAgB,YAAM;AACpB,QAAII,SAAS,GAAb,KAAA;;AAEA,QAAMC,OAAO,GAAG,SAAVA,OAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+CAIZF,OAJY;;AAAA;AAIZA,cAAAA,MAJY;;AAAA;AAAA;;AAMZ,kBAAI,CAAJ,SAAA,EAAgB;AACdG,gBAAAA,QAAQ,CAAC,CAAA,IAAA,EAATA,MAAS,CAAD,CAARA;AACD;;AARW;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAhB;;AAYA,QAAI,CAAJ,QAAA,EAAe;AACbD,MAAAA,OAAO;AACR;;AAED,WAAO,YAAM;AACXD,MAAAA,SAAS,GAATA,IAAAA;AADF,KAAA;AAnBFJ,GAAAA,EAsBG,CAAA,OAAA,EAtBHA,QAsBG,CAtBHA;AAwBA,SAAA,KAAA;AACD","sourcesContent":["import * as React from 'react';\n\nexport default function useThenable<T>(create: () => PromiseLike<T>) {\n const [promise] = React.useState(create);\n\n let initialState: [boolean, T | undefined] = [false, undefined];\n\n // Check if our thenable is synchronous\n promise.then((result) => {\n initialState = [true, result];\n });\n\n const [state, setState] = React.useState(initialState);\n const [resolved] = state;\n\n React.useEffect(() => {\n let cancelled = false;\n\n const resolve = async () => {\n let result;\n\n try {\n result = await promise;\n } finally {\n if (!cancelled) {\n setState([true, result]);\n }\n }\n };\n\n if (!resolved) {\n resolve();\n }\n\n return () => {\n cancelled = true;\n };\n }, [promise, resolved]);\n\n return state;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/55bea4f3b4dd0f4edf6e97359341393c.json b/.expo/web/cache/development/babel-loader/55bea4f3b4dd0f4edf6e97359341393c.json new file mode 100644 index 0000000000000000000000000000000000000000..ae5265b05eff971b18dce6337d6b9e375a73a6d8 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/55bea4f3b4dd0f4edf6e97359341393c.json @@ -0,0 +1 @@ +{"ast":null,"code":"var DarkTheme = {\n dark: true,\n colors: {\n primary: 'rgb(10, 132, 255)',\n background: 'rgb(1, 1, 1)',\n card: 'rgb(18, 18, 18)',\n text: 'rgb(229, 229, 231)',\n border: 'rgb(39, 39, 41)',\n notification: 'rgb(255, 69, 58)'\n }\n};\nexport default DarkTheme;","map":{"version":3,"sources":["DarkTheme.tsx"],"names":["DarkTheme","dark","colors","primary","background","card","text","border","notification"],"mappings":"AAEA,IAAMA,SAAgB,GAAG;AACvBC,EAAAA,IAAI,EADmB,IAAA;AAEvBC,EAAAA,MAAM,EAAE;AACNC,IAAAA,OAAO,EADD,mBAAA;AAENC,IAAAA,UAAU,EAFJ,cAAA;AAGNC,IAAAA,IAAI,EAHE,iBAAA;AAINC,IAAAA,IAAI,EAJE,oBAAA;AAKNC,IAAAA,MAAM,EALA,iBAAA;AAMNC,IAAAA,YAAY,EAAE;AANR;AAFe,CAAzB;AAYA,eAAA,SAAA","sourcesContent":["import type { Theme } from '../types';\n\nconst DarkTheme: Theme = {\n dark: true,\n colors: {\n primary: 'rgb(10, 132, 255)',\n background: 'rgb(1, 1, 1)',\n card: 'rgb(18, 18, 18)',\n text: 'rgb(229, 229, 231)',\n border: 'rgb(39, 39, 41)',\n notification: 'rgb(255, 69, 58)',\n },\n};\n\nexport default DarkTheme;\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/566d575be28f59de1f03fbcbd7339cfd.json b/.expo/web/cache/development/babel-loader/566d575be28f59de1f03fbcbd7339cfd.json new file mode 100644 index 0000000000000000000000000000000000000000..9d29766d5a9d4efff296737325b2a76c90c1a9cd --- /dev/null +++ b/.expo/web/cache/development/babel-loader/566d575be28f59de1f03fbcbd7339cfd.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport { nanoid } from 'nanoid/non-secure';\nimport BaseRouter from \"./BaseRouter\";\nexport var StackActions = {\n replace: function replace(name, params) {\n return {\n type: 'REPLACE',\n payload: {\n name: name,\n params: params\n }\n };\n },\n push: function push(name, params) {\n return {\n type: 'PUSH',\n payload: {\n name: name,\n params: params\n }\n };\n },\n pop: function pop() {\n var count = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n return {\n type: 'POP',\n payload: {\n count: count\n }\n };\n },\n popToTop: function popToTop() {\n return {\n type: 'POP_TO_TOP'\n };\n }\n};\nexport default function StackRouter(options) {\n var router = _objectSpread(_objectSpread({}, BaseRouter), {}, {\n type: 'stack',\n getInitialState: function getInitialState(_ref) {\n var routeNames = _ref.routeNames,\n routeParamList = _ref.routeParamList;\n var initialRouteName = options.initialRouteName !== undefined && routeNames.includes(options.initialRouteName) ? options.initialRouteName : routeNames[0];\n return {\n stale: false,\n type: 'stack',\n key: \"stack-\" + nanoid(),\n index: 0,\n routeNames: routeNames,\n routes: [{\n key: initialRouteName + \"-\" + nanoid(),\n name: initialRouteName,\n params: routeParamList[initialRouteName]\n }]\n };\n },\n getRehydratedState: function getRehydratedState(partialState, _ref2) {\n var routeNames = _ref2.routeNames,\n routeParamList = _ref2.routeParamList;\n var state = partialState;\n\n if (state.stale === false) {\n return state;\n }\n\n var routes = state.routes.filter(function (route) {\n return routeNames.includes(route.name);\n }).map(function (route) {\n return _objectSpread(_objectSpread({}, route), {}, {\n key: route.key || route.name + \"-\" + nanoid(),\n params: routeParamList[route.name] !== undefined ? _objectSpread(_objectSpread({}, routeParamList[route.name]), route.params) : route.params\n });\n });\n\n if (routes.length === 0) {\n var initialRouteName = options.initialRouteName !== undefined ? options.initialRouteName : routeNames[0];\n routes.push({\n key: initialRouteName + \"-\" + nanoid(),\n name: initialRouteName,\n params: routeParamList[initialRouteName]\n });\n }\n\n return {\n stale: false,\n type: 'stack',\n key: \"stack-\" + nanoid(),\n index: routes.length - 1,\n routeNames: routeNames,\n routes: routes\n };\n },\n getStateForRouteNamesChange: function getStateForRouteNamesChange(state, _ref3) {\n var routeNames = _ref3.routeNames,\n routeParamList = _ref3.routeParamList,\n routeKeyChanges = _ref3.routeKeyChanges;\n var routes = state.routes.filter(function (route) {\n return routeNames.includes(route.name) && !routeKeyChanges.includes(route.name);\n });\n\n if (routes.length === 0) {\n var initialRouteName = options.initialRouteName !== undefined && routeNames.includes(options.initialRouteName) ? options.initialRouteName : routeNames[0];\n routes.push({\n key: initialRouteName + \"-\" + nanoid(),\n name: initialRouteName,\n params: routeParamList[initialRouteName]\n });\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n routeNames: routeNames,\n routes: routes,\n index: Math.min(state.index, routes.length - 1)\n });\n },\n getStateForRouteFocus: function getStateForRouteFocus(state, key) {\n var index = state.routes.findIndex(function (r) {\n return r.key === key;\n });\n\n if (index === -1 || index === state.index) {\n return state;\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n index: index,\n routes: state.routes.slice(0, index + 1)\n });\n },\n getStateForAction: function getStateForAction(state, action, options) {\n var routeParamList = options.routeParamList;\n\n switch (action.type) {\n case 'REPLACE':\n {\n var index = action.target === state.key && action.source ? state.routes.findIndex(function (r) {\n return r.key === action.source;\n }) : state.index;\n\n if (index === -1) {\n return null;\n }\n\n var _action$payload = action.payload,\n name = _action$payload.name,\n key = _action$payload.key,\n params = _action$payload.params;\n\n if (!state.routeNames.includes(name)) {\n return null;\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n routes: state.routes.map(function (route, i) {\n return i === index ? {\n key: key !== undefined ? key : name + \"-\" + nanoid(),\n name: name,\n params: routeParamList[name] !== undefined ? _objectSpread(_objectSpread({}, routeParamList[name]), params) : params\n } : route;\n })\n });\n }\n\n case 'PUSH':\n if (state.routeNames.includes(action.payload.name)) {\n var getId = options.routeGetIdList[action.payload.name];\n var id = getId === null || getId === void 0 ? void 0 : getId({\n params: action.payload.params\n });\n var route = id ? state.routes.find(function (route) {\n return route.name === action.payload.name && id === (getId === null || getId === void 0 ? void 0 : getId({\n params: route.params\n }));\n }) : undefined;\n var routes;\n\n if (route) {\n routes = state.routes.filter(function (r) {\n return r.key !== route.key;\n });\n routes.push(_objectSpread(_objectSpread({}, route), {}, {\n params: routeParamList[action.payload.name] !== undefined ? _objectSpread(_objectSpread({}, routeParamList[action.payload.name]), action.payload.params) : action.payload.params\n }));\n } else {\n routes = [].concat(_toConsumableArray(state.routes), [{\n key: action.payload.name + \"-\" + nanoid(),\n name: action.payload.name,\n params: routeParamList[action.payload.name] !== undefined ? _objectSpread(_objectSpread({}, routeParamList[action.payload.name]), action.payload.params) : action.payload.params\n }]);\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n index: routes.length - 1,\n routes: routes\n });\n }\n\n return null;\n\n case 'POP':\n {\n var _index = action.target === state.key && action.source ? state.routes.findIndex(function (r) {\n return r.key === action.source;\n }) : state.index;\n\n if (_index > 0) {\n var count = Math.max(_index - action.payload.count + 1, 1);\n\n var _routes = state.routes.slice(0, count).concat(state.routes.slice(_index + 1));\n\n return _objectSpread(_objectSpread({}, state), {}, {\n index: _routes.length - 1,\n routes: _routes\n });\n }\n\n return null;\n }\n\n case 'POP_TO_TOP':\n return router.getStateForAction(state, {\n type: 'POP',\n payload: {\n count: state.routes.length - 1\n }\n }, options);\n\n case 'NAVIGATE':\n if (action.payload.name !== undefined && !state.routeNames.includes(action.payload.name)) {\n return null;\n }\n\n if (action.payload.key || action.payload.name) {\n var _action$payload$path;\n\n var _index2 = -1;\n\n var _getId = action.payload.key === undefined && action.payload.name !== undefined ? options.routeGetIdList[action.payload.name] : undefined;\n\n var _id = _getId === null || _getId === void 0 ? void 0 : _getId({\n params: action.payload.params\n });\n\n if (_id) {\n _index2 = state.routes.findIndex(function (route) {\n return route.name === action.payload.name && _id === (_getId === null || _getId === void 0 ? void 0 : _getId({\n params: route.params\n }));\n });\n } else if (state.routes[state.index].name === action.payload.name && action.payload.key === undefined || state.routes[state.index].key === action.payload.key) {\n _index2 = state.index;\n } else {\n for (var i = state.routes.length - 1; i >= 0; i--) {\n if (state.routes[i].name === action.payload.name && action.payload.key === undefined || state.routes[i].key === action.payload.key) {\n _index2 = i;\n break;\n }\n }\n }\n\n if (_index2 === -1 && action.payload.key && action.payload.name === undefined) {\n return null;\n }\n\n if (_index2 === -1 && action.payload.name !== undefined) {\n var _action$payload$key;\n\n var _routes2 = [].concat(_toConsumableArray(state.routes), [{\n key: (_action$payload$key = action.payload.key) !== null && _action$payload$key !== void 0 ? _action$payload$key : action.payload.name + \"-\" + nanoid(),\n name: action.payload.name,\n path: action.payload.path,\n params: routeParamList[action.payload.name] !== undefined ? _objectSpread(_objectSpread({}, routeParamList[action.payload.name]), action.payload.params) : action.payload.params\n }]);\n\n return _objectSpread(_objectSpread({}, state), {}, {\n routes: _routes2,\n index: _routes2.length - 1\n });\n }\n\n var _route = state.routes[_index2];\n\n var _params;\n\n if (action.payload.merge) {\n _params = action.payload.params !== undefined || routeParamList[_route.name] !== undefined ? _objectSpread(_objectSpread(_objectSpread({}, routeParamList[_route.name]), _route.params), action.payload.params) : _route.params;\n } else {\n _params = routeParamList[_route.name] !== undefined ? _objectSpread(_objectSpread({}, routeParamList[_route.name]), action.payload.params) : action.payload.params;\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n index: _index2,\n routes: [].concat(_toConsumableArray(state.routes.slice(0, _index2)), [_params !== _route.params || action.payload.path && action.payload.path !== _route.path ? _objectSpread(_objectSpread({}, _route), {}, {\n path: (_action$payload$path = action.payload.path) !== null && _action$payload$path !== void 0 ? _action$payload$path : _route.path,\n params: _params\n }) : state.routes[_index2]])\n });\n }\n\n return null;\n\n case 'GO_BACK':\n if (state.index > 0) {\n return router.getStateForAction(state, {\n type: 'POP',\n payload: {\n count: 1\n },\n target: action.target,\n source: action.source\n }, options);\n }\n\n return null;\n\n default:\n return BaseRouter.getStateForAction(state, action);\n }\n },\n actionCreators: StackActions\n });\n\n return router;\n}","map":{"version":3,"sources":["StackRouter.tsx"],"names":["StackActions","replace","type","payload","name","params","push","pop","count","popToTop","router","getInitialState","routeParamList","initialRouteName","options","routeNames","stale","key","nanoid","index","routes","getRehydratedState","state","route","getStateForRouteNamesChange","routeKeyChanges","Math","getStateForRouteFocus","r","getStateForAction","action","getId","id","i","path","target","source","BaseRouter","actionCreators"],"mappings":"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","sourcesContent":["import { nanoid } from 'nanoid/non-secure';\n\nimport BaseRouter from './BaseRouter';\nimport type {\n CommonNavigationAction,\n DefaultRouterOptions,\n NavigationState,\n ParamListBase,\n Route,\n Router,\n} from './types';\n\nexport type StackActionType =\n | {\n type: 'REPLACE';\n payload: { name: string; key?: string | undefined; params?: object };\n source?: string;\n target?: string;\n }\n | {\n type: 'PUSH';\n payload: { name: string; params?: object };\n source?: string;\n target?: string;\n }\n | {\n type: 'POP';\n payload: { count: number };\n source?: string;\n target?: string;\n }\n | {\n type: 'POP_TO_TOP';\n source?: string;\n target?: string;\n };\n\nexport type StackRouterOptions = DefaultRouterOptions;\n\nexport type StackNavigationState<ParamList extends ParamListBase> =\n NavigationState<ParamList> & {\n /**\n * Type of the router, in this case, it's stack.\n */\n type: 'stack';\n };\n\nexport type StackActionHelpers<ParamList extends ParamListBase> = {\n /**\n * Replace the current route with a new one.\n *\n * @param name Route name of the new route.\n * @param [params] Params object for the new route.\n */\n replace<RouteName extends keyof ParamList>(\n ...args: undefined extends ParamList[RouteName]\n ? [screen: RouteName] | [screen: RouteName, params: ParamList[RouteName]]\n : [screen: RouteName, params: ParamList[RouteName]]\n ): void;\n\n /**\n * Push a new screen onto the stack.\n *\n * @param name Name of the route for the tab.\n * @param [params] Params object for the route.\n */\n push<RouteName extends keyof ParamList>(\n ...args: undefined extends ParamList[RouteName]\n ? [screen: RouteName] | [screen: RouteName, params: ParamList[RouteName]]\n : [screen: RouteName, params: ParamList[RouteName]]\n ): void;\n\n /**\n * Pop a screen from the stack.\n */\n pop(count?: number): void;\n\n /**\n * Pop to the first route in the stack, dismissing all other screens.\n */\n popToTop(): void;\n};\n\nexport const StackActions = {\n replace(name: string, params?: object): StackActionType {\n return { type: 'REPLACE', payload: { name, params } };\n },\n push(name: string, params?: object): StackActionType {\n return { type: 'PUSH', payload: { name, params } };\n },\n pop(count: number = 1): StackActionType {\n return { type: 'POP', payload: { count } };\n },\n popToTop(): StackActionType {\n return { type: 'POP_TO_TOP' };\n },\n};\n\nexport default function StackRouter(options: StackRouterOptions) {\n const router: Router<\n StackNavigationState<ParamListBase>,\n CommonNavigationAction | StackActionType\n > = {\n ...BaseRouter,\n\n type: 'stack',\n\n getInitialState({ routeNames, routeParamList }) {\n const initialRouteName =\n options.initialRouteName !== undefined &&\n routeNames.includes(options.initialRouteName)\n ? options.initialRouteName\n : routeNames[0];\n\n return {\n stale: false,\n type: 'stack',\n key: `stack-${nanoid()}`,\n index: 0,\n routeNames,\n routes: [\n {\n key: `${initialRouteName}-${nanoid()}`,\n name: initialRouteName,\n params: routeParamList[initialRouteName],\n },\n ],\n };\n },\n\n getRehydratedState(partialState, { routeNames, routeParamList }) {\n let state = partialState;\n\n if (state.stale === false) {\n return state;\n }\n\n const routes = state.routes\n .filter((route) => routeNames.includes(route.name))\n .map(\n (route) =>\n ({\n ...route,\n key: route.key || `${route.name}-${nanoid()}`,\n params:\n routeParamList[route.name] !== undefined\n ? {\n ...routeParamList[route.name],\n ...route.params,\n }\n : route.params,\n } as Route<string>)\n );\n\n if (routes.length === 0) {\n const initialRouteName =\n options.initialRouteName !== undefined\n ? options.initialRouteName\n : routeNames[0];\n\n routes.push({\n key: `${initialRouteName}-${nanoid()}`,\n name: initialRouteName,\n params: routeParamList[initialRouteName],\n });\n }\n\n return {\n stale: false,\n type: 'stack',\n key: `stack-${nanoid()}`,\n index: routes.length - 1,\n routeNames,\n routes,\n };\n },\n\n getStateForRouteNamesChange(\n state,\n { routeNames, routeParamList, routeKeyChanges }\n ) {\n const routes = state.routes.filter(\n (route) =>\n routeNames.includes(route.name) &&\n !routeKeyChanges.includes(route.name)\n );\n\n if (routes.length === 0) {\n const initialRouteName =\n options.initialRouteName !== undefined &&\n routeNames.includes(options.initialRouteName)\n ? options.initialRouteName\n : routeNames[0];\n\n routes.push({\n key: `${initialRouteName}-${nanoid()}`,\n name: initialRouteName,\n params: routeParamList[initialRouteName],\n });\n }\n\n return {\n ...state,\n routeNames,\n routes,\n index: Math.min(state.index, routes.length - 1),\n };\n },\n\n getStateForRouteFocus(state, key) {\n const index = state.routes.findIndex((r) => r.key === key);\n\n if (index === -1 || index === state.index) {\n return state;\n }\n\n return {\n ...state,\n index,\n routes: state.routes.slice(0, index + 1),\n };\n },\n\n getStateForAction(state, action, options) {\n const { routeParamList } = options;\n\n switch (action.type) {\n case 'REPLACE': {\n const index =\n action.target === state.key && action.source\n ? state.routes.findIndex((r) => r.key === action.source)\n : state.index;\n\n if (index === -1) {\n return null;\n }\n\n const { name, key, params } = action.payload;\n\n if (!state.routeNames.includes(name)) {\n return null;\n }\n\n return {\n ...state,\n routes: state.routes.map((route, i) =>\n i === index\n ? {\n key: key !== undefined ? key : `${name}-${nanoid()}`,\n name,\n params:\n routeParamList[name] !== undefined\n ? {\n ...routeParamList[name],\n ...params,\n }\n : params,\n }\n : route\n ),\n };\n }\n\n case 'PUSH':\n if (state.routeNames.includes(action.payload.name)) {\n const getId = options.routeGetIdList[action.payload.name];\n const id = getId?.({ params: action.payload.params });\n\n const route = id\n ? state.routes.find(\n (route) =>\n route.name === action.payload.name &&\n id === getId?.({ params: route.params })\n )\n : undefined;\n\n let routes: Route<string>[];\n\n if (route) {\n routes = state.routes.filter((r) => r.key !== route.key);\n routes.push({\n ...route,\n params:\n routeParamList[action.payload.name] !== undefined\n ? {\n ...routeParamList[action.payload.name],\n ...action.payload.params,\n }\n : action.payload.params,\n });\n } else {\n routes = [\n ...state.routes,\n {\n key: `${action.payload.name}-${nanoid()}`,\n name: action.payload.name,\n params:\n routeParamList[action.payload.name] !== undefined\n ? {\n ...routeParamList[action.payload.name],\n ...action.payload.params,\n }\n : action.payload.params,\n },\n ];\n }\n\n return {\n ...state,\n index: routes.length - 1,\n routes,\n };\n }\n\n return null;\n\n case 'POP': {\n const index =\n action.target === state.key && action.source\n ? state.routes.findIndex((r) => r.key === action.source)\n : state.index;\n\n if (index > 0) {\n const count = Math.max(index - action.payload.count + 1, 1);\n const routes = state.routes\n .slice(0, count)\n .concat(state.routes.slice(index + 1));\n\n return {\n ...state,\n index: routes.length - 1,\n routes,\n };\n }\n\n return null;\n }\n\n case 'POP_TO_TOP':\n return router.getStateForAction(\n state,\n {\n type: 'POP',\n payload: { count: state.routes.length - 1 },\n },\n options\n );\n\n case 'NAVIGATE':\n if (\n action.payload.name !== undefined &&\n !state.routeNames.includes(action.payload.name)\n ) {\n return null;\n }\n\n if (action.payload.key || action.payload.name) {\n // If the route already exists, navigate to that\n let index = -1;\n\n const getId =\n // `getId` and `key` can't be used together\n action.payload.key === undefined &&\n action.payload.name !== undefined\n ? options.routeGetIdList[action.payload.name]\n : undefined;\n const id = getId?.({ params: action.payload.params });\n\n if (id) {\n index = state.routes.findIndex(\n (route) =>\n route.name === action.payload.name &&\n id === getId?.({ params: route.params })\n );\n } else if (\n (state.routes[state.index].name === action.payload.name &&\n action.payload.key === undefined) ||\n state.routes[state.index].key === action.payload.key\n ) {\n index = state.index;\n } else {\n for (let i = state.routes.length - 1; i >= 0; i--) {\n if (\n (state.routes[i].name === action.payload.name &&\n action.payload.key === undefined) ||\n state.routes[i].key === action.payload.key\n ) {\n index = i;\n break;\n }\n }\n }\n\n if (\n index === -1 &&\n action.payload.key &&\n action.payload.name === undefined\n ) {\n return null;\n }\n\n if (index === -1 && action.payload.name !== undefined) {\n const routes = [\n ...state.routes,\n {\n key:\n action.payload.key ?? `${action.payload.name}-${nanoid()}`,\n name: action.payload.name,\n path: action.payload.path,\n params:\n routeParamList[action.payload.name] !== undefined\n ? {\n ...routeParamList[action.payload.name],\n ...action.payload.params,\n }\n : action.payload.params,\n },\n ];\n\n return {\n ...state,\n routes,\n index: routes.length - 1,\n };\n }\n\n const route = state.routes[index];\n\n let params;\n\n if (action.payload.merge) {\n params =\n action.payload.params !== undefined ||\n routeParamList[route.name] !== undefined\n ? {\n ...routeParamList[route.name],\n ...route.params,\n ...action.payload.params,\n }\n : route.params;\n } else {\n params =\n routeParamList[route.name] !== undefined\n ? {\n ...routeParamList[route.name],\n ...action.payload.params,\n }\n : action.payload.params;\n }\n\n return {\n ...state,\n index,\n routes: [\n ...state.routes.slice(0, index),\n params !== route.params ||\n (action.payload.path && action.payload.path !== route.path)\n ? {\n ...route,\n path: action.payload.path ?? route.path,\n params,\n }\n : state.routes[index],\n ],\n };\n }\n\n return null;\n\n case 'GO_BACK':\n if (state.index > 0) {\n return router.getStateForAction(\n state,\n {\n type: 'POP',\n payload: { count: 1 },\n target: action.target,\n source: action.source,\n },\n options\n );\n }\n\n return null;\n\n default:\n return BaseRouter.getStateForAction(state, action);\n }\n },\n\n actionCreators: StackActions,\n };\n\n return router;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/574fa1910b5378ee2c24db198588bc29.json b/.expo/web/cache/development/babel-loader/574fa1910b5378ee2c24db198588bc29.json new file mode 100644 index 0000000000000000000000000000000000000000..1ca035614e05eea9c0c7cafa0fb62b18d1423bad --- /dev/null +++ b/.expo/web/cache/development/babel-loader/574fa1910b5378ee2c24db198588bc29.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { findDOMNode } from 'react-dom';\n\nvar findNodeHandle = function findNodeHandle(component) {\n var node;\n\n try {\n node = findDOMNode(component);\n } catch (e) {}\n\n return node;\n};\n\nexport default findNodeHandle;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/findNodeHandle/index.js"],"names":["findDOMNode","findNodeHandle","component","node","e"],"mappings":"AASA,SAASA,WAAT,QAA4B,WAA5B;;AAEA,IAAIC,cAAc,GAAG,SAASA,cAAT,CAAwBC,SAAxB,EAAmC;AACtD,MAAIC,IAAJ;;AAEA,MAAI;AACFA,IAAAA,IAAI,GAAGH,WAAW,CAACE,SAAD,CAAlB;AACD,GAFD,CAEE,OAAOE,CAAP,EAAU,CAAE;;AAEd,SAAOD,IAAP;AACD,CARD;;AAUA,eAAeF,cAAf","sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport { findDOMNode } from 'react-dom';\n\nvar findNodeHandle = function findNodeHandle(component) {\n var node;\n\n try {\n node = findDOMNode(component);\n } catch (e) {}\n\n return node;\n};\n\nexport default findNodeHandle;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/576266d4b616a0350cbd3f5ec99f32ed.json b/.expo/web/cache/development/babel-loader/576266d4b616a0350cbd3f5ec99f32ed.json new file mode 100644 index 0000000000000000000000000000000000000000..aa30c61bd597cf58cd26ba991bbb7fab87ca5162 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/576266d4b616a0350cbd3f5ec99f32ed.json @@ -0,0 +1 @@ +{"ast":null,"code":"export * from \"./StatusBar.types\";\nexport { default as setStatusBarBackgroundColor } from \"./setStatusBarBackgroundColor\";\nexport { default as setStatusBarNetworkActivityIndicatorVisible } from \"./setStatusBarNetworkActivityIndicatorVisible\";\nexport { default as setStatusBarHidden } from \"./setStatusBarHidden\";\nexport { default as setStatusBarStyle } from \"./setStatusBarStyle\";\nexport { default as setStatusBarTranslucent } from \"./setStatusBarTranslucent\";\nexport { default as StatusBar } from \"./ExpoStatusBar\";","map":{"version":3,"sources":["../src/StatusBar.ts"],"names":[],"mappings":"AAAA;AACA,SAAS,OAAO,IAAI,2BAApB;AACA,SAAS,OAAO,IAAI,2CAApB;AACA,SAAS,OAAO,IAAI,kBAApB;AACA,SAAS,OAAO,IAAI,iBAApB;AACA,SAAS,OAAO,IAAI,uBAApB;AACA,SAAS,OAAO,IAAI,SAApB","sourcesContent":["export * from './StatusBar.types';\nexport { default as setStatusBarBackgroundColor } from './setStatusBarBackgroundColor';\nexport { default as setStatusBarNetworkActivityIndicatorVisible } from './setStatusBarNetworkActivityIndicatorVisible';\nexport { default as setStatusBarHidden } from './setStatusBarHidden';\nexport { default as setStatusBarStyle } from './setStatusBarStyle';\nexport { default as setStatusBarTranslucent } from './setStatusBarTranslucent';\nexport { default as StatusBar } from './ExpoStatusBar';\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/579e6fad0d3a94eab1ba789227ae3aa1.json b/.expo/web/cache/development/babel-loader/579e6fad0d3a94eab1ba789227ae3aa1.json new file mode 100644 index 0000000000000000000000000000000000000000..dde6e4762d8751968e69b9499cce89add950cde8 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/579e6fad0d3a94eab1ba789227ae3aa1.json @@ -0,0 +1 @@ +{"ast":null,"code":"'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\n if (pressResponderRef.current == null) {\n pressResponderRef.current = new PressResponder(config);\n }\n\n var pressResponder = pressResponderRef.current;\n useEffect(function () {\n pressResponder.configure(config);\n }, [config, pressResponder]);\n useEffect(function () {\n return function () {\n pressResponder.reset();\n };\n }, [pressResponder]);\n useDebugValue(config);\n return pressResponder.getEventHandlers();\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/usePressEvents/index.js"],"names":["PressResponder","useDebugValue","useEffect","useRef","usePressEvents","hostRef","config","pressResponderRef","current","pressResponder","configure","reset","getEventHandlers"],"mappings":"AASA;;AAEA,OAAOA,cAAP;AACA,SAASC,aAAT,EAAwBC,SAAxB,EAAmCC,MAAnC,QAAiD,OAAjD;AACA,eAAe,SAASC,cAAT,CAAwBC,OAAxB,EAAiCC,MAAjC,EAAyC;AACtD,MAAIC,iBAAiB,GAAGJ,MAAM,CAAC,IAAD,CAA9B;;AAEA,MAAII,iBAAiB,CAACC,OAAlB,IAA6B,IAAjC,EAAuC;AACrCD,IAAAA,iBAAiB,CAACC,OAAlB,GAA4B,IAAIR,cAAJ,CAAmBM,MAAnB,CAA5B;AACD;;AAED,MAAIG,cAAc,GAAGF,iBAAiB,CAACC,OAAvC;AAEAN,EAAAA,SAAS,CAAC,YAAY;AACpBO,IAAAA,cAAc,CAACC,SAAf,CAAyBJ,MAAzB;AACD,GAFQ,EAEN,CAACA,MAAD,EAASG,cAAT,CAFM,CAAT;AAKAP,EAAAA,SAAS,CAAC,YAAY;AACpB,WAAO,YAAY;AACjBO,MAAAA,cAAc,CAACE,KAAf;AACD,KAFD;AAGD,GAJQ,EAIN,CAACF,cAAD,CAJM,CAAT;AAKAR,EAAAA,aAAa,CAACK,MAAD,CAAb;AACA,SAAOG,cAAc,CAACG,gBAAf,EAAP;AACD","sourcesContent":["/**\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 * @format\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\n if (pressResponderRef.current == null) {\n pressResponderRef.current = new PressResponder(config);\n }\n\n var pressResponder = pressResponderRef.current; // Re-configure to use the current node and configuration.\n\n useEffect(function () {\n pressResponder.configure(config);\n }, [config, pressResponder]); // 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\n useEffect(function () {\n return function () {\n pressResponder.reset();\n };\n }, [pressResponder]);\n useDebugValue(config);\n return pressResponder.getEventHandlers();\n}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/57a28bd2ee05ca9c0cd4903f72942d1a.json b/.expo/web/cache/development/babel-loader/57a28bd2ee05ca9c0cd4903f72942d1a.json new file mode 100644 index 0000000000000000000000000000000000000000..8266ce8fbd1ec04e1dfcc0e50e231135f4b65341 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/57a28bd2ee05ca9c0cd4903f72942d1a.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\n\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport * as React from 'react';\nimport NavigationBuilderContext from \"./NavigationBuilderContext\";\nimport NavigationContext from \"./NavigationContext\";\nimport NavigationRouteContext from \"./NavigationRouteContext\";\nimport SceneView from \"./SceneView\";\nimport useNavigationCache from \"./useNavigationCache\";\nimport useRouteCache from \"./useRouteCache\";\nexport default function useDescriptors(_ref) {\n var state = _ref.state,\n screens = _ref.screens,\n navigation = _ref.navigation,\n screenOptions = _ref.screenOptions,\n defaultScreenOptions = _ref.defaultScreenOptions,\n onAction = _ref.onAction,\n getState = _ref.getState,\n setState = _ref.setState,\n addListener = _ref.addListener,\n addKeyedListener = _ref.addKeyedListener,\n onRouteFocus = _ref.onRouteFocus,\n router = _ref.router,\n emitter = _ref.emitter;\n\n var _React$useState = React.useState({}),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n options = _React$useState2[0],\n setOptions = _React$useState2[1];\n\n var _React$useContext = React.useContext(NavigationBuilderContext),\n onDispatchAction = _React$useContext.onDispatchAction,\n onOptionsChange = _React$useContext.onOptionsChange,\n stackRef = _React$useContext.stackRef;\n\n var context = React.useMemo(function () {\n return {\n navigation: navigation,\n onAction: onAction,\n addListener: addListener,\n addKeyedListener: addKeyedListener,\n onRouteFocus: onRouteFocus,\n onDispatchAction: onDispatchAction,\n onOptionsChange: onOptionsChange,\n stackRef: stackRef\n };\n }, [navigation, onAction, addListener, addKeyedListener, onRouteFocus, onDispatchAction, onOptionsChange, stackRef]);\n var navigations = useNavigationCache({\n state: state,\n getState: getState,\n navigation: navigation,\n setOptions: setOptions,\n router: router,\n emitter: emitter\n });\n var routes = useRouteCache(state.routes);\n return routes.reduce(function (acc, route, i) {\n var config = screens[route.name];\n var screen = config.props;\n var navigation = navigations[route.key];\n var optionsList = [screenOptions].concat(_toConsumableArray(config.options ? config.options.filter(Boolean) : []), [screen.options, options[route.key]]);\n var customOptions = optionsList.reduce(function (acc, curr) {\n return _extends(acc, typeof curr !== 'function' ? curr : curr({\n route: route,\n navigation: navigation\n }));\n }, {});\n\n var mergedOptions = _objectSpread(_objectSpread({}, typeof defaultScreenOptions === 'function' ? defaultScreenOptions({\n route: route,\n navigation: navigation,\n options: customOptions\n }) : defaultScreenOptions), customOptions);\n\n var clearOptions = function clearOptions() {\n return setOptions(function (o) {\n if (route.key in o) {\n var _route$key = route.key,\n _ = o[_route$key],\n rest = _objectWithoutProperties(o, [_route$key].map(_toPropertyKey));\n\n return rest;\n }\n\n return o;\n });\n };\n\n acc[route.key] = {\n route: route,\n navigation: navigation,\n render: function render() {\n return React.createElement(NavigationBuilderContext.Provider, {\n key: route.key,\n value: context\n }, React.createElement(NavigationContext.Provider, {\n value: navigation\n }, React.createElement(NavigationRouteContext.Provider, {\n value: route\n }, React.createElement(SceneView, {\n navigation: navigation,\n route: route,\n screen: screen,\n routeState: state.routes[i].state,\n getState: getState,\n setState: setState,\n options: mergedOptions,\n clearOptions: clearOptions\n }))));\n },\n options: mergedOptions\n };\n return acc;\n }, {});\n}","map":{"version":3,"sources":["useDescriptors.tsx"],"names":["emitter","React","stackRef","context","navigation","onAction","addListener","addKeyedListener","onRouteFocus","onDispatchAction","onOptionsChange","navigations","useNavigationCache","state","getState","setOptions","router","routes","useRouteCache","config","screens","route","screen","optionsList","options","customOptions","curr","mergedOptions","defaultScreenOptions","clearOptions","o","rest","acc","render"],"mappings":"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","sourcesContent":["import type {\n NavigationAction,\n NavigationState,\n ParamListBase,\n Router,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationBuilderContext, {\n AddKeyedListener,\n AddListener,\n} from './NavigationBuilderContext';\nimport NavigationContext from './NavigationContext';\nimport NavigationRouteContext from './NavigationRouteContext';\nimport SceneView from './SceneView';\nimport type {\n Descriptor,\n EventMapBase,\n NavigationHelpers,\n NavigationProp,\n RouteConfig,\n RouteProp,\n} from './types';\nimport type { NavigationEventEmitter } from './useEventEmitter';\nimport useNavigationCache from './useNavigationCache';\nimport useRouteCache from './useRouteCache';\n\nexport type ScreenConfigWithParent<\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase\n> = {\n keys: (string | undefined)[];\n options: (ScreenOptionsOrCallback<ScreenOptions> | undefined)[] | undefined;\n props: RouteConfig<ParamListBase, string, State, ScreenOptions, EventMap>;\n};\n\ntype ScreenOptionsOrCallback<ScreenOptions extends {}> =\n | ScreenOptions\n | ((props: {\n route: RouteProp<ParamListBase, string>;\n navigation: any;\n }) => ScreenOptions);\n\ntype Options<\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase\n> = {\n state: State;\n screens: Record<\n string,\n ScreenConfigWithParent<State, ScreenOptions, EventMap>\n >;\n navigation: NavigationHelpers<ParamListBase>;\n screenOptions?: ScreenOptionsOrCallback<ScreenOptions>;\n defaultScreenOptions?:\n | ScreenOptions\n | ((props: {\n route: RouteProp<ParamListBase>;\n navigation: any;\n options: ScreenOptions;\n }) => ScreenOptions);\n onAction: (action: NavigationAction) => boolean;\n getState: () => State;\n setState: (state: State) => void;\n addListener: AddListener;\n addKeyedListener: AddKeyedListener;\n onRouteFocus: (key: string) => void;\n router: Router<State, NavigationAction>;\n emitter: NavigationEventEmitter<EventMap>;\n};\n\n/**\n * Hook to create descriptor objects for the child routes.\n *\n * A descriptor object provides 3 things:\n * - Helper method to render a screen\n * - Options specified by the screen for the navigator\n * - Navigation object intended for the route\n */\nexport default function useDescriptors<\n State extends NavigationState,\n ActionHelpers extends Record<string, () => void>,\n ScreenOptions extends {},\n EventMap extends EventMapBase\n>({\n state,\n screens,\n navigation,\n screenOptions,\n defaultScreenOptions,\n onAction,\n getState,\n setState,\n addListener,\n addKeyedListener,\n onRouteFocus,\n router,\n emitter,\n}: Options<State, ScreenOptions, EventMap>) {\n const [options, setOptions] = React.useState<Record<string, object>>({});\n const { onDispatchAction, onOptionsChange, stackRef } = React.useContext(\n NavigationBuilderContext\n );\n\n const context = React.useMemo(\n () => ({\n navigation,\n onAction,\n addListener,\n addKeyedListener,\n onRouteFocus,\n onDispatchAction,\n onOptionsChange,\n stackRef,\n }),\n [\n navigation,\n onAction,\n addListener,\n addKeyedListener,\n onRouteFocus,\n onDispatchAction,\n onOptionsChange,\n stackRef,\n ]\n );\n\n const navigations = useNavigationCache<State, ScreenOptions, EventMap>({\n state,\n getState,\n navigation,\n setOptions,\n router,\n emitter,\n });\n\n const routes = useRouteCache(state.routes);\n\n return routes.reduce<\n Record<\n string,\n Descriptor<\n ScreenOptions,\n NavigationProp<ParamListBase, string, State, ScreenOptions, EventMap> &\n ActionHelpers,\n RouteProp<ParamListBase>\n >\n >\n >((acc, route, i) => {\n const config = screens[route.name];\n const screen = config.props;\n const navigation = navigations[route.key];\n\n const optionsList = [\n // The default `screenOptions` passed to the navigator\n screenOptions,\n // The `screenOptions` props passed to `Group` elements\n ...((config.options\n ? config.options.filter(Boolean)\n : []) as ScreenOptionsOrCallback<ScreenOptions>[]),\n // The `options` prop passed to `Screen` elements,\n screen.options,\n // The options set via `navigation.setOptions`\n options[route.key],\n ];\n\n const customOptions = optionsList.reduce<ScreenOptions>(\n (acc, curr) =>\n Object.assign(\n acc,\n typeof curr !== 'function' ? curr : curr({ route, navigation })\n ),\n {} as ScreenOptions\n );\n\n const mergedOptions = {\n ...(typeof defaultScreenOptions === 'function'\n ? // @ts-expect-error: ts gives incorrect error here\n defaultScreenOptions({\n route,\n navigation,\n options: customOptions,\n })\n : defaultScreenOptions),\n ...customOptions,\n };\n\n const clearOptions = () =>\n setOptions((o) => {\n if (route.key in o) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [route.key]: _, ...rest } = o;\n return rest;\n }\n\n return o;\n });\n\n acc[route.key] = {\n route,\n // @ts-expect-error: it's missing action helpers, fix later\n navigation,\n render() {\n return (\n <NavigationBuilderContext.Provider key={route.key} value={context}>\n <NavigationContext.Provider value={navigation}>\n <NavigationRouteContext.Provider value={route}>\n <SceneView\n navigation={navigation}\n route={route}\n screen={screen}\n routeState={state.routes[i].state}\n getState={getState}\n setState={setState}\n options={mergedOptions}\n clearOptions={clearOptions}\n />\n </NavigationRouteContext.Provider>\n </NavigationContext.Provider>\n </NavigationBuilderContext.Provider>\n );\n },\n options: mergedOptions as ScreenOptions,\n };\n\n return acc;\n }, {});\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/57b20c31225f0abfb79b0f79f75b82e8.json b/.expo/web/cache/development/babel-loader/57b20c31225f0abfb79b0f79f75b82e8.json new file mode 100644 index 0000000000000000000000000000000000000000..bf98f5d4eda023e961ceec819bb58f0c3a772096 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/57b20c31225f0abfb79b0f79f75b82e8.json @@ -0,0 +1 @@ +{"ast":null,"code":"var EventEmitter = require(\"events\");\n\nmodule.exports = new EventEmitter();","map":{"version":3,"sources":["C:/Users/user/AppData/Roaming/npm/node_modules/expo-cli/node_modules/webpack/hot/emitter.js"],"names":["EventEmitter","require","module","exports"],"mappings":"AAAA,IAAIA,YAAY,GAAGC,OAAO,CAAC,QAAD,CAA1B;;AACAC,MAAM,CAACC,OAAP,GAAiB,IAAIH,YAAJ,EAAjB","sourcesContent":["var EventEmitter = require(\"events\");\nmodule.exports = new EventEmitter();\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/58ed6029d9d7f2d9da0695591bcbd8e7.json b/.expo/web/cache/development/babel-loader/58ed6029d9d7f2d9da0695591bcbd8e7.json new file mode 100644 index 0000000000000000000000000000000000000000..02f23e0377928cc4379e01def6e2805f897376aa --- /dev/null +++ b/.expo/web/cache/development/babel-loader/58ed6029d9d7f2d9da0695591bcbd8e7.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nexport default function getActionFromState(state, options) {\n var _state$index, _normalizedConfig$scr;\n\n var normalizedConfig = options ? createNormalizedConfigItem(options) : {};\n var routes = state.index != null ? state.routes.slice(0, state.index + 1) : state.routes;\n\n if (routes.length === 0) {\n return undefined;\n }\n\n if (!(routes.length === 1 && routes[0].key === undefined || routes.length === 2 && routes[0].key === undefined && routes[0].name === (normalizedConfig === null || normalizedConfig === void 0 ? void 0 : normalizedConfig.initialRouteName) && routes[1].key === undefined)) {\n return {\n type: 'RESET',\n payload: state\n };\n }\n\n var route = state.routes[(_state$index = state.index) !== null && _state$index !== void 0 ? _state$index : state.routes.length - 1];\n var current = route === null || route === void 0 ? void 0 : route.state;\n var config = normalizedConfig === null || normalizedConfig === void 0 ? void 0 : (_normalizedConfig$scr = normalizedConfig.screens) === null || _normalizedConfig$scr === void 0 ? void 0 : _normalizedConfig$scr[route === null || route === void 0 ? void 0 : route.name];\n\n var params = _objectSpread({}, route.params);\n\n var payload = route ? {\n name: route.name,\n path: route.path,\n params: params\n } : undefined;\n\n while (current) {\n var _config, _config2, _config2$screens;\n\n if (current.routes.length === 0) {\n return undefined;\n }\n\n var _routes = current.index != null ? current.routes.slice(0, current.index + 1) : current.routes;\n\n var _route = _routes[_routes.length - 1];\n\n _extends(params, {\n initial: undefined,\n screen: undefined,\n params: undefined,\n state: undefined\n });\n\n if (_routes.length === 1 && _routes[0].key === undefined) {\n params.initial = true;\n params.screen = _route.name;\n } else if (_routes.length === 2 && _routes[0].key === undefined && _routes[0].name === ((_config = config) === null || _config === void 0 ? void 0 : _config.initialRouteName) && _routes[1].key === undefined) {\n params.initial = false;\n params.screen = _route.name;\n } else {\n params.state = current;\n break;\n }\n\n if (_route.state) {\n params.params = _objectSpread({}, _route.params);\n params = params.params;\n } else {\n params.path = _route.path;\n params.params = _route.params;\n }\n\n current = _route.state;\n config = (_config2 = config) === null || _config2 === void 0 ? void 0 : (_config2$screens = _config2.screens) === null || _config2$screens === void 0 ? void 0 : _config2$screens[_route.name];\n }\n\n if (!payload) {\n return;\n }\n\n return {\n type: 'NAVIGATE',\n payload: payload\n };\n}\n\nvar createNormalizedConfigItem = function createNormalizedConfigItem(config) {\n return typeof config === 'object' && config != null ? {\n initialRouteName: config.initialRouteName,\n screens: config.screens != null ? createNormalizedConfigs(config.screens) : undefined\n } : {};\n};\n\nvar createNormalizedConfigs = function createNormalizedConfigs(options) {\n return Object.entries(options).reduce(function (acc, _ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n k = _ref2[0],\n v = _ref2[1];\n\n acc[k] = createNormalizedConfigItem(v);\n return acc;\n }, {});\n};","map":{"version":3,"sources":["getActionFromState.tsx"],"names":["normalizedConfig","options","createNormalizedConfigItem","routes","state","type","payload","route","current","config","params","name","path","Object","initial","screen","undefined","initialRouteName","screens","createNormalizedConfigs","acc"],"mappings":"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","sourcesContent":["import type {\n CommonActions,\n NavigationState,\n ParamListBase,\n PartialRoute,\n PartialState,\n Route,\n} from '@react-navigation/routers';\n\nimport type { NavigatorScreenParams, PathConfig, PathConfigMap } from './types';\n\ntype ConfigItem = {\n initialRouteName?: string;\n screens?: Record<string, ConfigItem>;\n};\n\ntype Options = {\n initialRouteName?: string;\n screens: PathConfigMap<object>;\n};\n\ntype NavigateAction<State extends NavigationState> = {\n type: 'NAVIGATE';\n payload: {\n name: string;\n params?: NavigatorScreenParams<State>;\n path?: string;\n };\n};\n\nexport default function getActionFromState(\n state: PartialState<NavigationState>,\n options?: Options\n): NavigateAction<NavigationState> | CommonActions.Action | undefined {\n // Create a normalized configs object which will be easier to use\n const normalizedConfig = options\n ? createNormalizedConfigItem(options as PathConfig<object> | string)\n : {};\n\n const routes =\n state.index != null ? state.routes.slice(0, state.index + 1) : state.routes;\n\n if (routes.length === 0) {\n return undefined;\n }\n\n if (\n !(\n (routes.length === 1 && routes[0].key === undefined) ||\n (routes.length === 2 &&\n routes[0].key === undefined &&\n routes[0].name === normalizedConfig?.initialRouteName &&\n routes[1].key === undefined)\n )\n ) {\n return {\n type: 'RESET',\n payload: state,\n };\n }\n\n const route = state.routes[state.index ?? state.routes.length - 1];\n\n let current: PartialState<NavigationState> | undefined = route?.state;\n let config: ConfigItem | undefined = normalizedConfig?.screens?.[route?.name];\n let params = { ...route.params } as NavigatorScreenParams<\n ParamListBase,\n NavigationState\n >;\n\n let payload = route\n ? { name: route.name, path: route.path, params }\n : undefined;\n\n while (current) {\n if (current.routes.length === 0) {\n return undefined;\n }\n\n const routes =\n current.index != null\n ? current.routes.slice(0, current.index + 1)\n : current.routes;\n\n const route: Route<string> | PartialRoute<Route<string>> =\n routes[routes.length - 1];\n\n // Explicitly set to override existing value when merging params\n Object.assign(params, {\n initial: undefined,\n screen: undefined,\n params: undefined,\n state: undefined,\n });\n\n if (routes.length === 1 && routes[0].key === undefined) {\n params.initial = true;\n params.screen = route.name;\n } else if (\n routes.length === 2 &&\n routes[0].key === undefined &&\n routes[0].name === config?.initialRouteName &&\n routes[1].key === undefined\n ) {\n params.initial = false;\n params.screen = route.name;\n } else {\n params.state = current;\n break;\n }\n\n if (route.state) {\n params.params = { ...route.params };\n params = params.params as NavigatorScreenParams<\n ParamListBase,\n NavigationState\n >;\n } else {\n params.path = route.path;\n params.params = route.params;\n }\n\n current = route.state;\n config = config?.screens?.[route.name];\n }\n\n if (!payload) {\n return;\n }\n\n // Try to construct payload for a `NAVIGATE` action from the state\n // This lets us preserve the navigation state and not lose it\n return {\n type: 'NAVIGATE',\n payload,\n };\n}\n\nconst createNormalizedConfigItem = (config: PathConfig<object> | string) =>\n typeof config === 'object' && config != null\n ? {\n initialRouteName: config.initialRouteName,\n screens:\n config.screens != null\n ? createNormalizedConfigs(config.screens)\n : undefined,\n }\n : {};\n\nconst createNormalizedConfigs = (options: PathConfigMap<object>) =>\n Object.entries(options).reduce<Record<string, ConfigItem>>((acc, [k, v]) => {\n acc[k] = createNormalizedConfigItem(v);\n return acc;\n }, {});\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/597b19f4ba30121b5642f9dcb7fb2f78.json b/.expo/web/cache/development/babel-loader/597b19f4ba30121b5642f9dcb7fb2f78.json new file mode 100644 index 0000000000000000000000000000000000000000..7897750b0082fee2523e8e5cb20cd5e5000ad509 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/597b19f4ba30121b5642f9dcb7fb2f78.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { isObject, isString, isUndefined } from '@react-native-firebase/app/lib/common';\nimport NativeError from '@react-native-firebase/app/lib/internal/NativeFirebaseError';\nimport { parseSetOptions, parseSnapshotArgs, parseUpdateArgs } from \"./utils\";\nimport { buildNativeMap, provideDocumentReferenceClass } from \"./utils/serialize\";\nvar FirestoreCollectionReference = null;\nexport function provideCollectionReferenceClass(collectionReference) {\n FirestoreCollectionReference = collectionReference;\n}\nvar FirestoreDocumentSnapshot = null;\nexport function provideDocumentSnapshotClass(documentSnapshot) {\n FirestoreDocumentSnapshot = documentSnapshot;\n}\nvar _id = 0;\n\nvar FirestoreDocumentReference = function () {\n function FirestoreDocumentReference(firestore, documentPath) {\n _classCallCheck(this, FirestoreDocumentReference);\n\n this._firestore = firestore;\n this._documentPath = documentPath;\n }\n\n _createClass(FirestoreDocumentReference, [{\n key: \"firestore\",\n get: function get() {\n return this._firestore;\n }\n }, {\n key: \"id\",\n get: function get() {\n return this._documentPath.id;\n }\n }, {\n key: \"parent\",\n get: function get() {\n var parentPath = this._documentPath.parent();\n\n return new FirestoreCollectionReference(this._firestore, parentPath);\n }\n }, {\n key: \"path\",\n get: function get() {\n return this._documentPath.relativeName;\n }\n }, {\n key: \"collection\",\n value: function collection(collectionPath) {\n if (!isString(collectionPath)) {\n throw new Error(\"firebase.firestore().doc().collection(*) 'collectionPath' must be a string value.\");\n }\n\n if (collectionPath === '') {\n throw new Error(\"firebase.firestore().doc().collection(*) 'collectionPath' must be a non-empty string.\");\n }\n\n var path = this._documentPath.child(collectionPath);\n\n if (!path.isCollection) {\n throw new Error(\"firebase.firestore().doc().collection(*) 'collectionPath' must point to a collection.\");\n }\n\n return new FirestoreCollectionReference(this._firestore, path);\n }\n }, {\n key: \"delete\",\n value: function _delete() {\n return this._firestore.native.documentDelete(this.path);\n }\n }, {\n key: \"get\",\n value: function get(options) {\n var _this = this;\n\n if (!isUndefined(options) && !isObject(options)) {\n throw new Error(\"firebase.firestore().doc().get(*) 'options' must be an object is provided.\");\n }\n\n if (options && options.source && options.source !== 'default' && options.source !== 'server' && options.source !== 'cache') {\n throw new Error(\"firebase.firestore().doc().get(*) 'options' GetOptions.source must be one of 'default', 'server' or 'cache'.\");\n }\n\n return this._firestore.native.documentGet(this.path, options).then(function (data) {\n return new FirestoreDocumentSnapshot(_this._firestore, data);\n });\n }\n }, {\n key: \"isEqual\",\n value: function isEqual(other) {\n if (!(other instanceof FirestoreDocumentReference)) {\n throw new Error(\"firebase.firestore().doc().isEqual(*) 'other' expected a DocumentReference instance.\");\n }\n\n return !(this.path !== other.path || this.firestore.app.name !== other.firestore.app.name || this.firestore.app.options.projectId !== other.firestore.app.options.projectId);\n }\n }, {\n key: \"onSnapshot\",\n value: function onSnapshot() {\n var _this2 = this;\n\n var snapshotListenOptions;\n var callback;\n var onNext;\n var onError;\n\n try {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var options = parseSnapshotArgs(args);\n snapshotListenOptions = options.snapshotListenOptions;\n callback = options.callback;\n onNext = options.onNext;\n onError = options.onError;\n } catch (e) {\n throw new Error(\"firebase.firestore().doc().onSnapshot(*) \" + e.message);\n }\n\n function handleSuccess(documentSnapshot) {\n callback(documentSnapshot, null);\n onNext(documentSnapshot);\n }\n\n function handleError(error) {\n callback(null, error);\n onError(error);\n }\n\n var listenerId = _id++;\n\n var onSnapshotSubscription = this._firestore.emitter.addListener(this._firestore.eventNameForApp(\"firestore_document_sync_event:\" + listenerId), function (event) {\n if (event.body.error) {\n handleError(NativeError.fromEvent(event.body.error, 'firestore'));\n } else {\n var documentSnapshot = new FirestoreDocumentSnapshot(_this2._firestore, event.body.snapshot);\n handleSuccess(documentSnapshot);\n }\n });\n\n var unsubscribe = function unsubscribe() {\n onSnapshotSubscription.remove();\n\n _this2._firestore.native.documentOffSnapshot(listenerId);\n };\n\n this._firestore.native.documentOnSnapshot(this.path, listenerId, snapshotListenOptions);\n\n return unsubscribe;\n }\n }, {\n key: \"set\",\n value: function set(data, options) {\n if (!isObject(data)) {\n throw new Error(\"firebase.firestore().doc().set(*) 'data' must be an object.\");\n }\n\n var setOptions;\n\n try {\n setOptions = parseSetOptions(options);\n } catch (e) {\n throw new Error(\"firebase.firestore().doc().set(_, *) \" + e.message + \".\");\n }\n\n return this._firestore.native.documentSet(this.path, buildNativeMap(data, this._firestore._settings.ignoreUndefinedProperties), setOptions);\n }\n }, {\n key: \"update\",\n value: function update() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (args.length === 0) {\n throw new Error('firebase.firestore().doc().update(*) expected at least 1 argument but was called with 0 arguments.');\n }\n\n var data;\n\n try {\n data = parseUpdateArgs(args);\n } catch (e) {\n throw new Error(\"firebase.firestore().doc().update(*) \" + e.message);\n }\n\n return this._firestore.native.documentUpdate(this.path, buildNativeMap(data, this._firestore._settings.ignoreUndefinedProperties));\n }\n }]);\n\n return FirestoreDocumentReference;\n}();\n\nexport { FirestoreDocumentReference as default };\nprovideDocumentReferenceClass(FirestoreDocumentReference);","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/firestore/lib/FirestoreDocumentReference.js"],"names":["isObject","isString","isUndefined","NativeError","parseSetOptions","parseSnapshotArgs","parseUpdateArgs","buildNativeMap","provideDocumentReferenceClass","FirestoreCollectionReference","provideCollectionReferenceClass","collectionReference","FirestoreDocumentSnapshot","provideDocumentSnapshotClass","documentSnapshot","_id","FirestoreDocumentReference","firestore","documentPath","_firestore","_documentPath","id","parentPath","parent","relativeName","collectionPath","Error","path","child","isCollection","native","documentDelete","options","source","documentGet","then","data","other","app","name","projectId","snapshotListenOptions","callback","onNext","onError","args","e","message","handleSuccess","handleError","error","listenerId","onSnapshotSubscription","emitter","addListener","eventNameForApp","event","body","fromEvent","snapshot","unsubscribe","remove","documentOffSnapshot","documentOnSnapshot","setOptions","documentSet","_settings","ignoreUndefinedProperties","length","documentUpdate"],"mappings":"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","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { isObject, isString, isUndefined } from '@react-native-firebase/app/lib/common';\nimport NativeError from '@react-native-firebase/app/lib/internal/NativeFirebaseError';\nimport { parseSetOptions, parseSnapshotArgs, parseUpdateArgs } from './utils';\nimport { buildNativeMap, provideDocumentReferenceClass } from './utils/serialize';\n\n// To avoid React Native require cycle warnings\nlet FirestoreCollectionReference = null;\nexport function provideCollectionReferenceClass(collectionReference) {\n FirestoreCollectionReference = collectionReference;\n}\n\nlet FirestoreDocumentSnapshot = null;\nexport function provideDocumentSnapshotClass(documentSnapshot) {\n FirestoreDocumentSnapshot = documentSnapshot;\n}\n\nlet _id = 0;\n\nexport default class FirestoreDocumentReference {\n constructor(firestore, documentPath) {\n this._firestore = firestore;\n this._documentPath = documentPath;\n }\n\n get firestore() {\n return this._firestore;\n }\n\n get id() {\n return this._documentPath.id;\n }\n\n get parent() {\n const parentPath = this._documentPath.parent();\n return new FirestoreCollectionReference(this._firestore, parentPath);\n }\n\n get path() {\n return this._documentPath.relativeName;\n }\n\n collection(collectionPath) {\n if (!isString(collectionPath)) {\n throw new Error(\n \"firebase.firestore().doc().collection(*) 'collectionPath' must be a string value.\",\n );\n }\n\n if (collectionPath === '') {\n throw new Error(\n \"firebase.firestore().doc().collection(*) 'collectionPath' must be a non-empty string.\",\n );\n }\n\n const path = this._documentPath.child(collectionPath);\n\n if (!path.isCollection) {\n throw new Error(\n \"firebase.firestore().doc().collection(*) 'collectionPath' must point to a collection.\",\n );\n }\n\n return new FirestoreCollectionReference(this._firestore, path);\n }\n\n delete() {\n return this._firestore.native.documentDelete(this.path);\n }\n\n get(options) {\n if (!isUndefined(options) && !isObject(options)) {\n throw new Error(\"firebase.firestore().doc().get(*) 'options' must be an object is provided.\");\n }\n\n if (\n options &&\n options.source &&\n options.source !== 'default' &&\n options.source !== 'server' &&\n options.source !== 'cache'\n ) {\n throw new Error(\n \"firebase.firestore().doc().get(*) 'options' GetOptions.source must be one of 'default', 'server' or 'cache'.\",\n );\n }\n\n return this._firestore.native\n .documentGet(this.path, options)\n .then(data => new FirestoreDocumentSnapshot(this._firestore, data));\n }\n\n isEqual(other) {\n if (!(other instanceof FirestoreDocumentReference)) {\n throw new Error(\n \"firebase.firestore().doc().isEqual(*) 'other' expected a DocumentReference instance.\",\n );\n }\n\n return !(\n this.path !== other.path ||\n this.firestore.app.name !== other.firestore.app.name ||\n this.firestore.app.options.projectId !== other.firestore.app.options.projectId\n );\n }\n\n onSnapshot(...args) {\n let snapshotListenOptions;\n let callback;\n let onNext;\n let onError;\n\n try {\n const options = parseSnapshotArgs(args);\n snapshotListenOptions = options.snapshotListenOptions;\n callback = options.callback;\n onNext = options.onNext;\n onError = options.onError;\n } catch (e) {\n throw new Error(`firebase.firestore().doc().onSnapshot(*) ${e.message}`);\n }\n\n function handleSuccess(documentSnapshot) {\n callback(documentSnapshot, null);\n onNext(documentSnapshot);\n }\n\n function handleError(error) {\n callback(null, error);\n onError(error);\n }\n\n const listenerId = _id++;\n\n const onSnapshotSubscription = this._firestore.emitter.addListener(\n this._firestore.eventNameForApp(`firestore_document_sync_event:${listenerId}`),\n event => {\n if (event.body.error) {\n handleError(NativeError.fromEvent(event.body.error, 'firestore'));\n } else {\n const documentSnapshot = new FirestoreDocumentSnapshot(\n this._firestore,\n event.body.snapshot,\n );\n handleSuccess(documentSnapshot);\n }\n },\n );\n\n const unsubscribe = () => {\n onSnapshotSubscription.remove();\n this._firestore.native.documentOffSnapshot(listenerId);\n };\n\n this._firestore.native.documentOnSnapshot(this.path, listenerId, snapshotListenOptions);\n\n return unsubscribe;\n }\n\n set(data, options) {\n if (!isObject(data)) {\n throw new Error(\"firebase.firestore().doc().set(*) 'data' must be an object.\");\n }\n\n let setOptions;\n try {\n setOptions = parseSetOptions(options);\n } catch (e) {\n throw new Error(`firebase.firestore().doc().set(_, *) ${e.message}.`);\n }\n\n return this._firestore.native.documentSet(\n this.path,\n buildNativeMap(data, this._firestore._settings.ignoreUndefinedProperties),\n setOptions,\n );\n }\n\n update(...args) {\n if (args.length === 0) {\n throw new Error(\n 'firebase.firestore().doc().update(*) expected at least 1 argument but was called with 0 arguments.',\n );\n }\n\n let data;\n try {\n data = parseUpdateArgs(args);\n } catch (e) {\n throw new Error(`firebase.firestore().doc().update(*) ${e.message}`);\n }\n\n return this._firestore.native.documentUpdate(\n this.path,\n buildNativeMap(data, this._firestore._settings.ignoreUndefinedProperties),\n );\n }\n}\n\nprovideDocumentReferenceClass(FirestoreDocumentReference); // serialize\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/599a7c4ad3b01b00fe5cca544a94f374.json b/.expo/web/cache/development/babel-loader/599a7c4ad3b01b00fe5cca544a94f374.json new file mode 100644 index 0000000000000000000000000000000000000000..c4697a5dcb2b07bc0a9f7987b9b5f1a3b940f5ab --- /dev/null +++ b/.expo/web/cache/development/babel-loader/599a7c4ad3b01b00fe5cca544a94f374.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nimport _bezier from \"./bezier\";\n\nvar _ease;\n\nvar Easing = function () {\n function Easing() {}\n\n Easing.step0 = function step0(n) {\n return n > 0 ? 1 : 0;\n };\n\n Easing.step1 = function step1(n) {\n return n >= 1 ? 1 : 0;\n };\n\n Easing.linear = function linear(t) {\n return t;\n };\n\n Easing.ease = function ease(t) {\n if (!_ease) {\n _ease = Easing.bezier(0.42, 0, 1, 1);\n }\n\n return _ease(t);\n };\n\n Easing.quad = function quad(t) {\n return t * t;\n };\n\n Easing.cubic = function cubic(t) {\n return t * t * t;\n };\n\n Easing.poly = function poly(n) {\n return function (t) {\n return Math.pow(t, n);\n };\n };\n\n Easing.sin = function sin(t) {\n return 1 - Math.cos(t * Math.PI / 2);\n };\n\n Easing.circle = function circle(t) {\n return 1 - Math.sqrt(1 - t * t);\n };\n\n Easing.exp = function exp(t) {\n return Math.pow(2, 10 * (t - 1));\n };\n\n Easing.elastic = function elastic(bounciness) {\n if (bounciness === void 0) {\n bounciness = 1;\n }\n\n var p = bounciness * Math.PI;\n return function (t) {\n return 1 - Math.pow(Math.cos(t * Math.PI / 2), 3) * Math.cos(t * p);\n };\n };\n\n Easing.back = function back(s) {\n if (s === void 0) {\n s = 1.70158;\n }\n\n return function (t) {\n return t * t * ((s + 1) * t - s);\n };\n };\n\n Easing.bounce = function bounce(t) {\n if (t < 1 / 2.75) {\n return 7.5625 * t * t;\n }\n\n if (t < 2 / 2.75) {\n var _t = t - 1.5 / 2.75;\n\n return 7.5625 * _t * _t + 0.75;\n }\n\n if (t < 2.5 / 2.75) {\n var _t2 = t - 2.25 / 2.75;\n\n return 7.5625 * _t2 * _t2 + 0.9375;\n }\n\n var t2 = t - 2.625 / 2.75;\n return 7.5625 * t2 * t2 + 0.984375;\n };\n\n Easing.bezier = function bezier(x1, y1, x2, y2) {\n return _bezier(x1, y1, x2, y2);\n };\n\n Easing.in = function _in(easing) {\n return easing;\n };\n\n Easing.out = function out(easing) {\n return function (t) {\n return 1 - easing(1 - t);\n };\n };\n\n Easing.inOut = function inOut(easing) {\n return function (t) {\n if (t < 0.5) {\n return easing(t * 2) / 2;\n }\n\n return 1 - easing((1 - t) * 2) / 2;\n };\n };\n\n return Easing;\n}();\n\nexport default Easing;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/Easing.js"],"names":["_bezier","_ease","Easing","step0","n","step1","linear","t","ease","bezier","quad","cubic","poly","Math","pow","sin","cos","PI","circle","sqrt","exp","elastic","bounciness","p","back","s","bounce","_t","_t2","t2","x1","y1","x2","y2","in","_in","easing","out","inOut"],"mappings":"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","sourcesContent":["/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n'use strict';\n\nimport _bezier from './bezier';\n\nvar _ease;\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 */\n\n\nvar Easing = /*#__PURE__*/function () {\n function Easing() {}\n\n /**\n * A stepping function, returns 1 for any positive value of `n`.\n */\n Easing.step0 = function step0(n) {\n return n > 0 ? 1 : 0;\n }\n /**\n * A stepping function, returns 1 if `n` is greater than or equal to 1.\n */\n ;\n\n Easing.step1 = function step1(n) {\n return n >= 1 ? 1 : 0;\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 ;\n\n Easing.linear = function linear(t) {\n return t;\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 ;\n\n Easing.ease = function ease(t) {\n if (!_ease) {\n _ease = Easing.bezier(0.42, 0, 1, 1);\n }\n\n return _ease(t);\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 ;\n\n Easing.quad = function quad(t) {\n return t * t;\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 ;\n\n Easing.cubic = function cubic(t) {\n return t * t * t;\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 ;\n\n Easing.poly = function poly(n) {\n return function (t) {\n return Math.pow(t, n);\n };\n }\n /**\n * A sinusoidal function.\n *\n * http://easings.net/#easeInSine\n */\n ;\n\n Easing.sin = function sin(t) {\n return 1 - Math.cos(t * Math.PI / 2);\n }\n /**\n * A circular function.\n *\n * http://easings.net/#easeInCirc\n */\n ;\n\n Easing.circle = function circle(t) {\n return 1 - Math.sqrt(1 - t * t);\n }\n /**\n * An exponential function.\n *\n * http://easings.net/#easeInExpo\n */\n ;\n\n Easing.exp = function exp(t) {\n return Math.pow(2, 10 * (t - 1));\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 ;\n\n Easing.elastic = function elastic(bounciness) {\n if (bounciness === void 0) {\n bounciness = 1;\n }\n\n var p = bounciness * Math.PI;\n return function (t) {\n return 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 ;\n\n Easing.back = function back(s) {\n if (s === void 0) {\n s = 1.70158;\n }\n\n return function (t) {\n return t * t * ((s + 1) * t - s);\n };\n }\n /**\n * Provides a simple bouncing effect.\n *\n * http://easings.net/#easeInBounce\n */\n ;\n\n Easing.bounce = function bounce(t) {\n if (t < 1 / 2.75) {\n return 7.5625 * t * t;\n }\n\n if (t < 2 / 2.75) {\n var _t = t - 1.5 / 2.75;\n\n return 7.5625 * _t * _t + 0.75;\n }\n\n if (t < 2.5 / 2.75) {\n var _t2 = t - 2.25 / 2.75;\n\n return 7.5625 * _t2 * _t2 + 0.9375;\n }\n\n var t2 = t - 2.625 / 2.75;\n return 7.5625 * t2 * t2 + 0.984375;\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 ;\n\n Easing.bezier = function bezier(x1, y1, x2, y2) {\n return _bezier(x1, y1, x2, y2);\n }\n /**\n * Runs an easing function forwards.\n */\n ;\n\n Easing.in = function _in(easing) {\n return easing;\n }\n /**\n * Runs an easing function backwards.\n */\n ;\n\n Easing.out = function out(easing) {\n return function (t) {\n return 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 ;\n\n Easing.inOut = function inOut(easing) {\n return function (t) {\n if (t < 0.5) {\n return easing(t * 2) / 2;\n }\n\n return 1 - easing((1 - t) * 2) / 2;\n };\n };\n\n return Easing;\n}();\n\nexport default Easing;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/59c3225bfc637572cfe139748603736f.json b/.expo/web/cache/development/babel-loader/59c3225bfc637572cfe139748603736f.json new file mode 100644 index 0000000000000000000000000000000000000000..c0f60cf2dc537de2e6f543c8b2ea08626fdbd8b2 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/59c3225bfc637572cfe139748603736f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport TextInput from \"react-native-web/dist/exports/TextInput\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Details(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(route.params.name.title),\n _useState2 = _slicedToArray(_useState, 2),\n fach = _useState2[0],\n onChangeFach = _useState2[1];\n\n return _jsxs(View, {\n children: [_jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeFach,\n value: fach,\n multiline: true\n }), _jsx(Text, {\n children: \"Hrllo\"\n })]\n });\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/Details.js"],"names":["Details","navigation","route","useState","params","name","title","fach","onChangeFach","styles","input"],"mappings":";;;;;;;;AAGA,eAAe,SAASA,OAAT,OAAuC;AAAA,MAApBC,UAAoB,QAApBA,UAAoB;AAAA,MAARC,KAAQ,QAARA,KAAQ;;AAElD,kBAA6BC,QAAQ,CAACD,KAAK,CAACE,MAAN,CAAaC,IAAb,CAAkBC,KAAnB,CAArC;AAAA;AAAA,MAAOC,IAAP;AAAA,MAAaC,YAAb;;AAGA,SACI,MAAC,IAAD;AAAA,eACA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEC,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAEF,YAA9C;AAA4D,MAAA,KAAK,EAAED,IAAnE;AAAyE,MAAA,SAAS,EAAI;AAAtF,MADA,EAEA,KAAC,IAAD;AAAA;AAAA,MAFA;AAAA,IADJ;AAMH","sourcesContent":["import { StyleSheet, Text, View, Button } from 'react-native';\r\nimport { TextInput } from 'react-native-web';\r\n\r\nexport default function Details({ navigation, route }){\r\n\r\n const [fach, onChangeFach] = useState(route.params.name.title);\r\n \r\n\r\n return(\r\n <View>\r\n <TextInput style={styles.input} onChangeText={onChangeFach} value={fach} multiline = {true} />\r\n <Text>Hrllo</Text>\r\n </View>\r\n )\r\n}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/59cc3573b0bffb66b6988088e679c16c.json b/.expo/web/cache/development/babel-loader/59cc3573b0bffb66b6988088e679c16c.json new file mode 100644 index 0000000000000000000000000000000000000000..3b019dbbb0064059818384b06d0ced1ba0f697b8 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/59cc3573b0bffb66b6988088e679c16c.json @@ -0,0 +1 @@ +{"ast":null,"code":"function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nimport * as React from 'react';\nimport FlatList from \"../../../../exports/FlatList\";\nimport createAnimatedComponent from \"../createAnimatedComponent\";\nvar FlatListWithEventThrottle = React.forwardRef(function (props, ref) {\n return React.createElement(FlatList, _extends({\n scrollEventThrottle: 0.0001\n }, props, {\n ref: ref\n }));\n});\nexport default createAnimatedComponent(FlatListWithEventThrottle);","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedFlatList.js"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","React","FlatList","createAnimatedComponent","FlatListWithEventThrottle","forwardRef","props","ref","createElement","scrollEventThrottle"],"mappings":"AAAA,SAASA,QAAT,GAAoB;AAAEA,EAAAA,QAAQ,GAAGC,MAAM,CAACC,MAAP,IAAiB,UAAUC,MAAV,EAAkB;AAAE,SAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGC,SAAS,CAACC,MAA9B,EAAsCF,CAAC,EAAvC,EAA2C;AAAE,UAAIG,MAAM,GAAGF,SAAS,CAACD,CAAD,CAAtB;;AAA2B,WAAK,IAAII,GAAT,IAAgBD,MAAhB,EAAwB;AAAE,YAAIN,MAAM,CAACQ,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCJ,MAArC,EAA6CC,GAA7C,CAAJ,EAAuD;AAAEL,UAAAA,MAAM,CAACK,GAAD,CAAN,GAAcD,MAAM,CAACC,GAAD,CAApB;AAA4B;AAAE;AAAE;;AAAC,WAAOL,MAAP;AAAgB,GAA5P;;AAA8P,SAAOH,QAAQ,CAACY,KAAT,CAAe,IAAf,EAAqBP,SAArB,CAAP;AAAyC;;AAW7T,OAAO,KAAKQ,KAAZ,MAAuB,OAAvB;AACA,OAAOC,QAAP;AACA,OAAOC,uBAAP;AAKA,IAAIC,yBAAyB,GAAgBH,KAAK,CAACI,UAAN,CAAiB,UAAUC,KAAV,EAAiBC,GAAjB,EAAsB;AAClF,SAAoBN,KAAK,CAACO,aAAN,CAAoBN,QAApB,EAA8Bd,QAAQ,CAAC;AACzDqB,IAAAA,mBAAmB,EAAE;AADoC,GAAD,EAEvDH,KAFuD,EAEhD;AACRC,IAAAA,GAAG,EAAEA;AADG,GAFgD,CAAtC,CAApB;AAKD,CAN4C,CAA7C;AAOA,eAAeJ,uBAAuB,CAACC,yBAAD,CAAtC","sourcesContent":["function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\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 * @format\n */\nimport * as React from 'react';\nimport FlatList from '../../../../exports/FlatList';\nimport createAnimatedComponent from '../createAnimatedComponent';\n\n/**\n * @see https://github.com/facebook/react-native/commit/b8c8562\n */\nvar FlatListWithEventThrottle = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(FlatList, _extends({\n scrollEventThrottle: 0.0001\n }, props, {\n ref: ref\n }));\n});\nexport default createAnimatedComponent(FlatListWithEventThrottle);"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/5a312eabb9ba7fc9f97774df1420775f.json b/.expo/web/cache/development/babel-loader/5a312eabb9ba7fc9f97774df1420775f.json new file mode 100644 index 0000000000000000000000000000000000000000..83da9fc2b618e639dd0e54c06b5a47ab0a12a653 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/5a312eabb9ba7fc9f97774df1420775f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATAS = null;\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n DATA = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(getFirestore(), \"Users\");\n var big = [];\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var itemData = {\n name: doc.data().Name,\n email: doc.data().Email,\n image: doc.data().Image,\n id: doc.id\n };\n big.push(itemData);\n setUsers(big);\n Alert.alert('count data', DATA.Name);\n });\n });\n }, []);\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n var big = [];\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n big.push(itemData);\n }\n });\n setUsers(big);\n });\n }\n\n if (route.params != null) {\n setUsers(null);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n }), _jsx(Text, {\n style: styles.beschreibung,\n children: item.name\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsxs(View, {\n children: [_jsx(Text, {\n children: \"No Data Found\"\n }), _jsx(Button, {\n title: \"Load Data\",\n onPress: listenOnChange\n })]\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsx(TouchableOpacity, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n style: styles.button,\n children: _jsx(Text, {\n style: styles.cancelButtonText,\n children: \"Create new User\"\n })\n }), _jsx(Text, {\n children: \" \"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return item + index;\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50,\n borderRadius: 50 / 2,\n overflow: \"hidden\",\n borderWidth: 3,\n borderColor: \"#D9D9D9\"\n },\n item: {\n width: 250,\n paddingTop: 20,\n paddingBottom: 20,\n paddingRight: 20,\n marginVertical: 8,\n marginHorizontal: 25,\n borderBottomColor: '#D9D9D9',\n borderBottomWidth: 2,\n flexDirection: \"row\"\n },\n beschreibung: {\n marginLeft: 10,\n marginTop: 10,\n width: 180,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 16,\n lineHeight: 23,\n color: \"#5E6A79\"\n },\n button: {\n marginTop: 25,\n marginBottom: 20,\n height: 35,\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\n borderRadius: 12,\n justifyContent: 'center'\n },\n cancelButtonText: {\n height: 28,\n margin: 10,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 15,\n lineHeight: 22,\n textAlign: 'center',\n color: \"#5E6A79\"\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATAS","UserLists","navigation","route","DATA","setUsers","colRef","big","querySnapshot","forEach","itemData","name","data","Name","email","Email","image","Image","id","push","Alert","alert","listenOnChange","snapchot","docChanges","change","type","message","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","beschreibung","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","container","button","cancelButtonText","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height","borderRadius","overflow","borderWidth","borderColor","paddingTop","paddingBottom","paddingRight","marginVertical","borderBottomColor","borderBottomWidth","flexDirection","marginLeft","marginTop","fontStyle","fontWeight","fontSize","lineHeight","marginBottom","margin","textAlign"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATAS = null;\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [DATA, setUsers] = useState(null);\r\n\r\n//listenOnChange();\r\n//useeffect();\r\n\r\n/*useEffect(()=>{\r\nconst colRef = collection(getFirestore(),\"Users\");\r\nconst big= [];\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n //DATA.push(itemData);\r\n setUsers(big);\r\n //Alert.alert('count data',DATA.name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])*/\r\n\r\n\r\n\r\n\r\n//test\r\nuseEffect(()=>{\r\n const colRef = collection(getFirestore(),\"Users\");\r\n const big= [];\r\n onSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n //DATA.push(itemData);\r\n setUsers(big);\r\n Alert.alert('count data',DATA.Name);\r\n });\r\n \r\n //setUsers(users)\r\n });\r\n //Alert.alert(users.Name.toString);\r\n \r\n },[])\r\n\r\n\r\n \r\n\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n const big = [];\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n //DATA.push(itemData);\r\n big.push(itemData);\r\n \r\n //Alert.alert('listen on change',message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n }); setUsers(big);\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\nsetUsers(null);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n \r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n <Text style={styles.beschreibung}>\r\n {item.name} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){ //DATAS zu DATA ändern ___-------\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <View>\r\n <Text>\r\n No Data Found \r\n </Text>\r\n <Button title='Load Data' onPress={listenOnChange}/>\r\n </View>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <TouchableOpacity onPress={()=> {navigation.navigate('CreateNewUser')}} style={styles.button}>\r\n <Text style={styles.cancelButtonText}>\r\n Create new User\r\n </Text>\r\n \r\n </TouchableOpacity>\r\n <Text> </Text>\r\n\r\n <FlatList\r\n data={DATA} //DATAS zu DATA ändern ___-------\r\n renderItem={renderItem}\r\n /*keyExtractor={ (item, index) => index.toString()}//item => item.id*/\r\n keyExtractor={(item, index) => item + index}\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n borderRadius: 50 / 2,\r\n overflow: \"hidden\",\r\n borderWidth: 3,\r\n borderColor: \"#D9D9D9\"\r\n },\r\n item: {\r\n width: 250,\r\n paddingTop: 20,\r\n paddingBottom: 20,\r\n paddingRight: 20,\r\n marginVertical: 8,\r\n marginHorizontal: 25,\r\n borderBottomColor: '#D9D9D9',\r\n borderBottomWidth: 2,\r\n flexDirection: \"row\",\r\n },\r\n beschreibung: {\r\n marginLeft:10,\r\n marginTop:10,\r\n width: 180,\r\n\r\n // font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 16,\r\n lineHeight: 23,\r\n color: \"#5E6A79\",\r\n },\r\n button:{\r\n marginTop:25,\r\n marginBottom: 20,\r\n height: 35,\r\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\r\n //box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);\r\n borderRadius: 12,\r\n justifyContent: 'center',\r\n \r\n},\r\ncancelButtonText:{\r\n //width: 55,\r\n height: 28,\r\nmargin:10,\r\n //font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 15,\r\n lineHeight: 22,\r\n textAlign:'center',\r\n color: \"#5E6A79\",\r\n},\r\n\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/5a82773f0e346a30c73502cc479a5342.json b/.expo/web/cache/development/babel-loader/5a82773f0e346a30c73502cc479a5342.json new file mode 100644 index 0000000000000000000000000000000000000000..495056049daeb16042f43e5417f82f455acfabf2 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/5a82773f0e346a30c73502cc479a5342.json @@ -0,0 +1 @@ +{"ast":null,"code":"import Dimensions from \"../../exports/Dimensions\";\nimport findNodeHandle from \"../../exports/findNodeHandle\";\nimport invariant from 'fbjs/lib/invariant';\nimport Platform from \"../../exports/Platform\";\nimport TextInputState from \"../TextInputState\";\nimport UIManager from \"../../exports/UIManager\";\nimport warning from 'fbjs/lib/warning';\nvar emptyObject = {};\nvar IS_ANIMATING_TOUCH_START_THRESHOLD_MS = 16;\nvar ScrollResponderMixin = {\n scrollResponderMixinGetInitialState: function scrollResponderMixinGetInitialState() {\n return {\n isTouching: false,\n lastMomentumScrollBeginTime: 0,\n lastMomentumScrollEndTime: 0,\n observedScrollSinceBecomingResponder: false,\n becameResponderWhileAnimating: false\n };\n },\n scrollResponderHandleScrollShouldSetResponder: function scrollResponderHandleScrollShouldSetResponder() {\n return this.state.isTouching;\n },\n scrollResponderHandleStartShouldSetResponder: function scrollResponderHandleStartShouldSetResponder() {\n return false;\n },\n scrollResponderHandleStartShouldSetResponderCapture: function scrollResponderHandleStartShouldSetResponderCapture(e) {\n return this.scrollResponderIsAnimating();\n },\n scrollResponderHandleResponderReject: function scrollResponderHandleResponderReject() {\n warning(false, \"ScrollView doesn't take rejection well - scrolls anyway\");\n },\n scrollResponderHandleTerminationRequest: function scrollResponderHandleTerminationRequest() {\n return !this.state.observedScrollSinceBecomingResponder;\n },\n scrollResponderHandleTouchEnd: function scrollResponderHandleTouchEnd(e) {\n var nativeEvent = e.nativeEvent;\n this.state.isTouching = nativeEvent.touches.length !== 0;\n this.props.onTouchEnd && this.props.onTouchEnd(e);\n },\n scrollResponderHandleResponderRelease: function scrollResponderHandleResponderRelease(e) {\n this.props.onResponderRelease && this.props.onResponderRelease(e);\n var currentlyFocusedTextInput = TextInputState.currentlyFocusedField();\n\n if (!this.props.keyboardShouldPersistTaps && currentlyFocusedTextInput != null && e.target !== currentlyFocusedTextInput && !this.state.observedScrollSinceBecomingResponder && !this.state.becameResponderWhileAnimating) {\n this.props.onScrollResponderKeyboardDismissed && this.props.onScrollResponderKeyboardDismissed(e);\n TextInputState.blurTextInput(currentlyFocusedTextInput);\n }\n },\n scrollResponderHandleScroll: function scrollResponderHandleScroll(e) {\n this.state.observedScrollSinceBecomingResponder = true;\n this.props.onScroll && this.props.onScroll(e);\n },\n scrollResponderHandleResponderGrant: function scrollResponderHandleResponderGrant(e) {\n this.state.observedScrollSinceBecomingResponder = false;\n this.props.onResponderGrant && this.props.onResponderGrant(e);\n this.state.becameResponderWhileAnimating = this.scrollResponderIsAnimating();\n },\n scrollResponderHandleScrollBeginDrag: function scrollResponderHandleScrollBeginDrag(e) {\n this.props.onScrollBeginDrag && this.props.onScrollBeginDrag(e);\n },\n scrollResponderHandleScrollEndDrag: function scrollResponderHandleScrollEndDrag(e) {\n this.props.onScrollEndDrag && this.props.onScrollEndDrag(e);\n },\n scrollResponderHandleMomentumScrollBegin: function scrollResponderHandleMomentumScrollBegin(e) {\n this.state.lastMomentumScrollBeginTime = Date.now();\n this.props.onMomentumScrollBegin && this.props.onMomentumScrollBegin(e);\n },\n scrollResponderHandleMomentumScrollEnd: function scrollResponderHandleMomentumScrollEnd(e) {\n this.state.lastMomentumScrollEndTime = Date.now();\n this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd(e);\n },\n scrollResponderHandleTouchStart: function scrollResponderHandleTouchStart(e) {\n this.state.isTouching = true;\n this.props.onTouchStart && this.props.onTouchStart(e);\n },\n scrollResponderHandleTouchMove: function scrollResponderHandleTouchMove(e) {\n this.props.onTouchMove && this.props.onTouchMove(e);\n },\n scrollResponderIsAnimating: function scrollResponderIsAnimating() {\n var now = Date.now();\n var timeSinceLastMomentumScrollEnd = now - this.state.lastMomentumScrollEndTime;\n var isAnimating = timeSinceLastMomentumScrollEnd < IS_ANIMATING_TOUCH_START_THRESHOLD_MS || this.state.lastMomentumScrollEndTime < this.state.lastMomentumScrollBeginTime;\n return isAnimating;\n },\n scrollResponderGetScrollableNode: function scrollResponderGetScrollableNode() {\n return this.getScrollableNode ? this.getScrollableNode() : findNodeHandle(this);\n },\n scrollResponderScrollTo: function 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\n x = _ref.x;\n y = _ref.y;\n animated = _ref.animated;\n }\n\n var node = this.scrollResponderGetScrollableNode();\n var left = x || 0;\n var top = y || 0;\n\n if (typeof node.scroll === 'function') {\n node.scroll({\n top: top,\n left: left,\n behavior: !animated ? 'auto' : 'smooth'\n });\n } else {\n node.scrollLeft = left;\n node.scrollTop = top;\n }\n },\n scrollResponderZoomTo: function scrollResponderZoomTo(rect, animated) {\n if (Platform.OS !== 'ios') {\n invariant('zoomToRect is not implemented');\n }\n },\n scrollResponderFlashScrollIndicators: function scrollResponderFlashScrollIndicators() {},\n scrollResponderScrollNativeHandleToKeyboard: function scrollResponderScrollNativeHandleToKeyboard(nodeHandle, additionalOffset, preventNegativeScrollOffset) {\n this.additionalScrollOffset = additionalOffset || 0;\n this.preventNegativeScrollOffset = !!preventNegativeScrollOffset;\n UIManager.measureLayout(nodeHandle, findNodeHandle(this.getInnerViewNode()), this.scrollResponderTextInputFocusError, this.scrollResponderInputMeasureAndScrollToKeyboard);\n },\n scrollResponderInputMeasureAndScrollToKeyboard: function scrollResponderInputMeasureAndScrollToKeyboard(left, top, width, height) {\n var keyboardScreenY = Dimensions.get('window').height;\n\n if (this.keyboardWillOpenTo) {\n keyboardScreenY = this.keyboardWillOpenTo.endCoordinates.screenY;\n }\n\n var scrollOffsetY = top - keyboardScreenY + height + this.additionalScrollOffset;\n\n if (this.preventNegativeScrollOffset) {\n scrollOffsetY = Math.max(0, scrollOffsetY);\n }\n\n this.scrollResponderScrollTo({\n x: 0,\n y: scrollOffsetY,\n animated: true\n });\n this.additionalOffset = 0;\n this.preventNegativeScrollOffset = false;\n },\n scrollResponderTextInputFocusError: function scrollResponderTextInputFocusError(e) {\n console.error('Error measuring text field: ', e);\n },\n UNSAFE_componentWillMount: function UNSAFE_componentWillMount() {\n this.keyboardWillOpenTo = null;\n this.additionalScrollOffset = 0;\n },\n scrollResponderKeyboardWillShow: function scrollResponderKeyboardWillShow(e) {\n this.keyboardWillOpenTo = e;\n this.props.onKeyboardWillShow && this.props.onKeyboardWillShow(e);\n },\n scrollResponderKeyboardWillHide: function scrollResponderKeyboardWillHide(e) {\n this.keyboardWillOpenTo = null;\n this.props.onKeyboardWillHide && this.props.onKeyboardWillHide(e);\n },\n scrollResponderKeyboardDidShow: function scrollResponderKeyboardDidShow(e) {\n if (e) {\n this.keyboardWillOpenTo = e;\n }\n\n this.props.onKeyboardDidShow && this.props.onKeyboardDidShow(e);\n },\n scrollResponderKeyboardDidHide: function scrollResponderKeyboardDidHide(e) {\n this.keyboardWillOpenTo = null;\n this.props.onKeyboardDidHide && this.props.onKeyboardDidHide(e);\n }\n};\nvar ScrollResponder = {\n Mixin: ScrollResponderMixin\n};\nexport default ScrollResponder;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/ScrollResponder/index.js"],"names":["Dimensions","findNodeHandle","invariant","Platform","TextInputState","UIManager","warning","emptyObject","IS_ANIMATING_TOUCH_START_THRESHOLD_MS","ScrollResponderMixin","scrollResponderMixinGetInitialState","isTouching","lastMomentumScrollBeginTime","lastMomentumScrollEndTime","observedScrollSinceBecomingResponder","becameResponderWhileAnimating","scrollResponderHandleScrollShouldSetResponder","state","scrollResponderHandleStartShouldSetResponder","scrollResponderHandleStartShouldSetResponderCapture","e","scrollResponderIsAnimating","scrollResponderHandleResponderReject","scrollResponderHandleTerminationRequest","scrollResponderHandleTouchEnd","nativeEvent","touches","length","props","onTouchEnd","scrollResponderHandleResponderRelease","onResponderRelease","currentlyFocusedTextInput","currentlyFocusedField","keyboardShouldPersistTaps","target","onScrollResponderKeyboardDismissed","blurTextInput","scrollResponderHandleScroll","onScroll","scrollResponderHandleResponderGrant","onResponderGrant","scrollResponderHandleScrollBeginDrag","onScrollBeginDrag","scrollResponderHandleScrollEndDrag","onScrollEndDrag","scrollResponderHandleMomentumScrollBegin","Date","now","onMomentumScrollBegin","scrollResponderHandleMomentumScrollEnd","onMomentumScrollEnd","scrollResponderHandleTouchStart","onTouchStart","scrollResponderHandleTouchMove","onTouchMove","timeSinceLastMomentumScrollEnd","isAnimating","scrollResponderGetScrollableNode","getScrollableNode","scrollResponderScrollTo","x","y","animated","console","warn","_ref","node","left","top","scroll","behavior","scrollLeft","scrollTop","scrollResponderZoomTo","rect","OS","scrollResponderFlashScrollIndicators","scrollResponderScrollNativeHandleToKeyboard","nodeHandle","additionalOffset","preventNegativeScrollOffset","additionalScrollOffset","measureLayout","getInnerViewNode","scrollResponderTextInputFocusError","scrollResponderInputMeasureAndScrollToKeyboard","width","height","keyboardScreenY","get","keyboardWillOpenTo","endCoordinates","screenY","scrollOffsetY","Math","max","error","UNSAFE_componentWillMount","scrollResponderKeyboardWillShow","onKeyboardWillShow","scrollResponderKeyboardWillHide","onKeyboardWillHide","scrollResponderKeyboardDidShow","onKeyboardDidShow","scrollResponderKeyboardDidHide","onKeyboardDidHide","ScrollResponder","Mixin"],"mappings":"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","sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport Dimensions from '../../exports/Dimensions';\nimport findNodeHandle from '../../exports/findNodeHandle';\nimport invariant from 'fbjs/lib/invariant';\nimport Platform from '../../exports/Platform';\nimport TextInputState from '../TextInputState';\nimport UIManager from '../../exports/UIManager';\nimport warning from 'fbjs/lib/warning';\n/**\n * Mixin that can be integrated in order to handle scrolling that plays well\n * with `ResponderEventPlugin`. Integrate with your platform specific scroll\n * views, or even your custom built (every-frame animating) scroll views so that\n * all of these systems play well with the `ResponderEventPlugin`.\n *\n * iOS scroll event timing nuances:\n * ===============================\n *\n *\n * Scrolling without bouncing, if you touch down:\n * -------------------------------\n *\n * 1. `onMomentumScrollBegin` (when animation begins after letting up)\n * ... physical touch starts ...\n * 2. `onTouchStartCapture` (when you press down to stop the scroll)\n * 3. `onTouchStart` (same, but bubble phase)\n * 4. `onResponderRelease` (when lifting up - you could pause forever before * lifting)\n * 5. `onMomentumScrollEnd`\n *\n *\n * Scrolling with bouncing, if you touch down:\n * -------------------------------\n *\n * 1. `onMomentumScrollBegin` (when animation begins after letting up)\n * ... bounce begins ...\n * ... some time elapses ...\n * ... physical touch during bounce ...\n * 2. `onMomentumScrollEnd` (Makes no sense why this occurs first during bounce)\n * 3. `onTouchStartCapture` (immediately after `onMomentumScrollEnd`)\n * 4. `onTouchStart` (same, but bubble phase)\n * 5. `onTouchEnd` (You could hold the touch start for a long time)\n * 6. `onMomentumScrollBegin` (When releasing the view starts bouncing back)\n *\n * So when we receive an `onTouchStart`, how can we tell if we are touching\n * *during* an animation (which then causes the animation to stop)? The only way\n * to tell is if the `touchStart` occurred immediately after the\n * `onMomentumScrollEnd`.\n *\n * This is abstracted out for you, so you can just call this.scrollResponderIsAnimating() if\n * necessary\n *\n * `ScrollResponder` also includes logic for blurring a currently focused input\n * if one is focused while scrolling. The `ScrollResponder` is a natural place\n * to put this logic since it can support not dismissing the keyboard while\n * scrolling, unless a recognized \"tap\"-like gesture has occurred.\n *\n * The public lifecycle API includes events for keyboard interaction, responder\n * interaction, and scrolling (among others). The keyboard callbacks\n * `onKeyboardWill/Did/*` are *global* events, but are invoked on scroll\n * responder's props so that you can guarantee that the scroll responder's\n * internal state has been updated accordingly (and deterministically) by\n * the time the props callbacks are invoke. Otherwise, you would always wonder\n * if the scroll responder is currently in a state where it recognizes new\n * keyboard positions etc. If coordinating scrolling with keyboard movement,\n * *always* use these hooks instead of listening to your own global keyboard\n * events.\n *\n * Public keyboard lifecycle API: (props callbacks)\n *\n * Standard Keyboard Appearance Sequence:\n *\n * this.props.onKeyboardWillShow\n * this.props.onKeyboardDidShow\n *\n * `onScrollResponderKeyboardDismissed` will be invoked if an appropriate\n * tap inside the scroll responder's scrollable region was responsible\n * for the dismissal of the keyboard. There are other reasons why the\n * keyboard could be dismissed.\n *\n * this.props.onScrollResponderKeyboardDismissed\n *\n * Standard Keyboard Hide Sequence:\n *\n * this.props.onKeyboardWillHide\n * this.props.onKeyboardDidHide\n */\n\nvar emptyObject = {};\nvar IS_ANIMATING_TOUCH_START_THRESHOLD_MS = 16;\nvar ScrollResponderMixin = {\n // mixins: [Subscribable.Mixin],\n scrollResponderMixinGetInitialState: function scrollResponderMixinGetInitialState() {\n return {\n isTouching: false,\n lastMomentumScrollBeginTime: 0,\n lastMomentumScrollEndTime: 0,\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 observedScrollSinceBecomingResponder: false,\n becameResponderWhileAnimating: false\n };\n },\n\n /**\n * Invoke this from an `onScroll` event.\n */\n scrollResponderHandleScrollShouldSetResponder: function scrollResponderHandleScrollShouldSetResponder() {\n return this.state.isTouching;\n },\n\n /**\n * Merely touch starting is not sufficient for a scroll view to become the\n * responder. Being the \"responder\" means that the very next touch move/end\n * event will result in an action/movement.\n *\n * Invoke this from an `onStartShouldSetResponder` event.\n *\n * `onStartShouldSetResponder` is used when the next move/end will trigger\n * some UI movement/action, but when you want to yield priority to views\n * nested inside of the view.\n *\n * There may be some cases where scroll views actually should return `true`\n * from `onStartShouldSetResponder`: Any time we are detecting a standard tap\n * that gives priority to nested views.\n *\n * - If a single tap on the scroll view triggers an action such as\n * recentering a map style view yet wants to give priority to interaction\n * views inside (such as dropped pins or labels), then we would return true\n * from this method when there is a single touch.\n *\n * - Similar to the previous case, if a two finger \"tap\" should trigger a\n * zoom, we would check the `touches` count, and if `>= 2`, we would return\n * true.\n *\n */\n scrollResponderHandleStartShouldSetResponder: function 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 scrollResponderHandleStartShouldSetResponderCapture: function 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\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: function 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 scrollResponderHandleTerminationRequest: function scrollResponderHandleTerminationRequest() {\n return !this.state.observedScrollSinceBecomingResponder;\n },\n\n /**\n * Invoke this from an `onTouchEnd` event.\n *\n * @param {SyntheticEvent} e Event.\n */\n scrollResponderHandleTouchEnd: function scrollResponderHandleTouchEnd(e) {\n var nativeEvent = e.nativeEvent;\n this.state.isTouching = nativeEvent.touches.length !== 0;\n this.props.onTouchEnd && this.props.onTouchEnd(e);\n },\n\n /**\n * Invoke this from an `onResponderRelease` event.\n */\n scrollResponderHandleResponderRelease: function scrollResponderHandleResponderRelease(e) {\n this.props.onResponderRelease && this.props.onResponderRelease(e); // By default scroll views will unfocus a textField\n // if another touch occurs outside of it\n\n var currentlyFocusedTextInput = TextInputState.currentlyFocusedField();\n\n if (!this.props.keyboardShouldPersistTaps && currentlyFocusedTextInput != null && e.target !== currentlyFocusedTextInput && !this.state.observedScrollSinceBecomingResponder && !this.state.becameResponderWhileAnimating) {\n this.props.onScrollResponderKeyboardDismissed && this.props.onScrollResponderKeyboardDismissed(e);\n TextInputState.blurTextInput(currentlyFocusedTextInput);\n }\n },\n scrollResponderHandleScroll: function scrollResponderHandleScroll(e) {\n this.state.observedScrollSinceBecomingResponder = true;\n this.props.onScroll && this.props.onScroll(e);\n },\n\n /**\n * Invoke this from an `onResponderGrant` event.\n */\n scrollResponderHandleResponderGrant: function scrollResponderHandleResponderGrant(e) {\n this.state.observedScrollSinceBecomingResponder = false;\n this.props.onResponderGrant && this.props.onResponderGrant(e);\n this.state.becameResponderWhileAnimating = this.scrollResponderIsAnimating();\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 scrollResponderHandleScrollBeginDrag: function scrollResponderHandleScrollBeginDrag(e) {\n this.props.onScrollBeginDrag && this.props.onScrollBeginDrag(e);\n },\n\n /**\n * Invoke this from an `onScrollEndDrag` event.\n */\n scrollResponderHandleScrollEndDrag: function scrollResponderHandleScrollEndDrag(e) {\n this.props.onScrollEndDrag && this.props.onScrollEndDrag(e);\n },\n\n /**\n * Invoke this from an `onMomentumScrollBegin` event.\n */\n scrollResponderHandleMomentumScrollBegin: function scrollResponderHandleMomentumScrollBegin(e) {\n this.state.lastMomentumScrollBeginTime = Date.now();\n this.props.onMomentumScrollBegin && this.props.onMomentumScrollBegin(e);\n },\n\n /**\n * Invoke this from an `onMomentumScrollEnd` event.\n */\n scrollResponderHandleMomentumScrollEnd: function scrollResponderHandleMomentumScrollEnd(e) {\n this.state.lastMomentumScrollEndTime = Date.now();\n this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd(e);\n },\n\n /**\n * Invoke this from an `onTouchStart` event.\n *\n * Since we know that the `SimpleEventPlugin` occurs later in the plugin\n * order, after `ResponderEventPlugin`, we can detect that we were *not*\n * permitted to be the responder (presumably because a contained view became\n * responder). The `onResponderReject` won't fire in that case - it only\n * fires when a *current* responder rejects our request.\n *\n * @param {SyntheticEvent} e Touch Start event.\n */\n scrollResponderHandleTouchStart: function scrollResponderHandleTouchStart(e) {\n this.state.isTouching = true;\n this.props.onTouchStart && this.props.onTouchStart(e);\n },\n\n /**\n * Invoke this from an `onTouchMove` event.\n *\n * Since we know that the `SimpleEventPlugin` occurs later in the plugin\n * order, after `ResponderEventPlugin`, we can detect that we were *not*\n * permitted to be the responder (presumably because a contained view became\n * responder). The `onResponderReject` won't fire in that case - it only\n * fires when a *current* responder rejects our request.\n *\n * @param {SyntheticEvent} e Touch Start event.\n */\n scrollResponderHandleTouchMove: function scrollResponderHandleTouchMove(e) {\n this.props.onTouchMove && this.props.onTouchMove(e);\n },\n\n /**\n * A helper function for this class that lets us quickly determine if the\n * view is currently animating. This is particularly useful to know when\n * a touch has just started or ended.\n */\n scrollResponderIsAnimating: function scrollResponderIsAnimating() {\n var now = Date.now();\n var timeSinceLastMomentumScrollEnd = now - this.state.lastMomentumScrollEndTime;\n var isAnimating = timeSinceLastMomentumScrollEnd < IS_ANIMATING_TOUCH_START_THRESHOLD_MS || this.state.lastMomentumScrollEndTime < this.state.lastMomentumScrollBeginTime;\n return isAnimating;\n },\n\n /**\n * Returns the node that represents native view that can be scrolled.\n * Components can pass what node to use by defining a `getScrollableNode`\n * function otherwise `this` is used.\n */\n scrollResponderGetScrollableNode: function scrollResponderGetScrollableNode() {\n return this.getScrollableNode ? this.getScrollableNode() : findNodeHandle(this);\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 scrollResponderScrollTo: function 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\n x = _ref.x;\n y = _ref.y;\n animated = _ref.animated;\n }\n\n var node = this.scrollResponderGetScrollableNode();\n var left = x || 0;\n var top = y || 0;\n\n if (typeof node.scroll === 'function') {\n node.scroll({\n top: top,\n left: left,\n behavior: !animated ? 'auto' : 'smooth'\n });\n } else {\n node.scrollLeft = left;\n node.scrollTop = top;\n }\n },\n\n /**\n * A helper function to zoom to a specific rect in the scrollview. The argument has the shape\n * {x: number; y: number; width: number; height: number; animated: boolean = true}\n *\n * @platform ios\n */\n scrollResponderZoomTo: function scrollResponderZoomTo(rect, animated) // deprecated, put this inside the rect argument instead\n {\n if (Platform.OS !== 'ios') {\n invariant('zoomToRect is not implemented');\n }\n },\n\n /**\n * Displays the scroll indicators momentarily.\n */\n scrollResponderFlashScrollIndicators: function 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 scrollResponderScrollNativeHandleToKeyboard: function scrollResponderScrollNativeHandleToKeyboard(nodeHandle, additionalOffset, preventNegativeScrollOffset) {\n this.additionalScrollOffset = additionalOffset || 0;\n this.preventNegativeScrollOffset = !!preventNegativeScrollOffset;\n UIManager.measureLayout(nodeHandle, findNodeHandle(this.getInnerViewNode()), this.scrollResponderTextInputFocusError, this.scrollResponderInputMeasureAndScrollToKeyboard);\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 scrollResponderInputMeasureAndScrollToKeyboard: function scrollResponderInputMeasureAndScrollToKeyboard(left, top, width, height) {\n var keyboardScreenY = Dimensions.get('window').height;\n\n if (this.keyboardWillOpenTo) {\n keyboardScreenY = this.keyboardWillOpenTo.endCoordinates.screenY;\n }\n\n var scrollOffsetY = top - keyboardScreenY + height + this.additionalScrollOffset; // 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\n if (this.preventNegativeScrollOffset) {\n scrollOffsetY = Math.max(0, scrollOffsetY);\n }\n\n this.scrollResponderScrollTo({\n x: 0,\n y: scrollOffsetY,\n animated: true\n });\n this.additionalOffset = 0;\n this.preventNegativeScrollOffset = false;\n },\n scrollResponderTextInputFocusError: function scrollResponderTextInputFocusError(e) {\n console.error('Error measuring text field: ', e);\n },\n\n /**\n * `componentWillMount` is the closest thing to a standard \"constructor\" for\n * React components.\n *\n * The `keyboardWillShow` is called before input focus.\n */\n UNSAFE_componentWillMount: function UNSAFE_componentWillMount() {\n this.keyboardWillOpenTo = null;\n this.additionalScrollOffset = 0; // this.addListenerOn(RCTDeviceEventEmitter, 'keyboardWillShow', this.scrollResponderKeyboardWillShow);\n // this.addListenerOn(RCTDeviceEventEmitter, 'keyboardWillHide', this.scrollResponderKeyboardWillHide);\n // this.addListenerOn(RCTDeviceEventEmitter, 'keyboardDidShow', this.scrollResponderKeyboardDidShow);\n // this.addListenerOn(RCTDeviceEventEmitter, 'keyboardDidHide', this.scrollResponderKeyboardDidHide);\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 scrollResponderKeyboardWillShow: function scrollResponderKeyboardWillShow(e) {\n this.keyboardWillOpenTo = e;\n this.props.onKeyboardWillShow && this.props.onKeyboardWillShow(e);\n },\n scrollResponderKeyboardWillHide: function scrollResponderKeyboardWillHide(e) {\n this.keyboardWillOpenTo = null;\n this.props.onKeyboardWillHide && this.props.onKeyboardWillHide(e);\n },\n scrollResponderKeyboardDidShow: function 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\n this.props.onKeyboardDidShow && this.props.onKeyboardDidShow(e);\n },\n scrollResponderKeyboardDidHide: function scrollResponderKeyboardDidHide(e) {\n this.keyboardWillOpenTo = null;\n this.props.onKeyboardDidHide && this.props.onKeyboardDidHide(e);\n }\n};\nvar ScrollResponder = {\n Mixin: ScrollResponderMixin\n};\nexport default ScrollResponder;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/5af5d351bd7d7bf7ca53abcd4e11afc4.json b/.expo/web/cache/development/babel-loader/5af5d351bd7d7bf7ca53abcd4e11afc4.json new file mode 100644 index 0000000000000000000000000000000000000000..62b8146b25638a08b96b461d142617f07bcc7b48 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/5af5d351bd7d7bf7ca53abcd4e11afc4.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users.toString);\n setUsers(users);\n });\n }, []);\n\n function writeData() {\n try {\n var _docRef = function _docRef() {\n return _regeneratorRuntime.async(function _docRef$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _regeneratorRuntime.awrap(addDoc(collection(db, \"Users\"), {\n Email: \"Ada\",\n Image: \"Lovelace\",\n Name: \"1815\"\n }));\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n };\n\n console.log(\"Document written with ID: \", _docRef.id);\n Alert.alert(\"write Data worked: \");\n } catch (e) {\n console.error(\"Error adding document: \", e);\n }\n }\n\n var getUserById = function getUserById() {\n var id, docRef, docu, user;\n return _regeneratorRuntime.async(function getUserById$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n id = 'q5EOqKxKEsAO6lLmhbnc';\n docRef = doc(db, 'users', id);\n _context2.next = 4;\n return _regeneratorRuntime.awrap(getDoc(docRef));\n\n case 4:\n docu = _context2.sent;\n user = docu.data();\n setUsers(_objectSpread(_objectSpread({}, user), {}, {\n id: docu.id\n }));\n setLoading(false);\n Alert.alert(users[0]);\n\n case 9:\n case \"end\":\n return _context2.stop();\n }\n }\n }, null, null, null, Promise);\n };\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {\n children: item.title\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\",\n onPress: writeData\n }), _jsx(Button, {\n title: \"UpdateUser\",\n onPress: getUserById\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","writeData","console","log","e","error","getUserById","docu","user","setLoading","params","post","Item","item","onPress","backgroundColor","textColor","styles","title","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users.toString);\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\nfunction writeData(){\r\n \r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})*/\r\n}\r\n\r\n\r\n\r\n//update user\r\nconst getUserById = async () => {\r\n const id = 'q5EOqKxKEsAO6lLmhbnc';\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUsers({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n Alert.alert(users[0])\r\n };\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n \r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser' onPress={writeData}/>\r\n <Button title='UpdateUser' onPress={getUserById}/>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/5b41a0a2cb8fa48cec28b24b80157325.json b/.expo/web/cache/development/babel-loader/5b41a0a2cb8fa48cec28b24b80157325.json new file mode 100644 index 0000000000000000000000000000000000000000..abd4d3181e2a35d071c7145b163196452312b745 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/5b41a0a2cb8fa48cec28b24b80157325.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n if (route.params != null) {\n DATA.push({\n id: '899',\n title: route.params.post\n });\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsxs(Text, {\n children: [item.title, route.params.post]\n })\n })\n });\n };\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n selectedId = _useState2[0],\n setSelectedId = _useState2[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","DATA","UserLists","navigation","route","params","push","id","title","post","Alert","alert","Item","item","onPress","backgroundColor","textColor","styles","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nif(route.params != null){\r\nDATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n {route.params.post}\r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/5b98caeb22f4f7b4957b080e22a394d3.json b/.expo/web/cache/development/babel-loader/5b98caeb22f4f7b4957b080e22a394d3.json new file mode 100644 index 0000000000000000000000000000000000000000..7d25779d3ed55bcce31fe64fdf28f32b239b4b42 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/5b98caeb22f4f7b4957b080e22a394d3.json @@ -0,0 +1 @@ +{"ast":null,"code":"import StatusBar from \"react-native-web/dist/exports/StatusBar\";\nimport styleToBarStyle from \"./styleToBarStyle\";\nexport default function setStatusBarStyle(style) {\n StatusBar.setBarStyle(styleToBarStyle(style));\n}","map":{"version":3,"sources":["../src/setStatusBarStyle.ts"],"names":[],"mappings":";AAGA,OAAO,eAAP;AAOA,eAAc,SAAU,iBAAV,CAA4B,KAA5B,EAAiD;AAC7D,EAAA,SAAS,CAAC,WAAV,CAAsB,eAAe,CAAC,KAAD,CAArC;AACD","sourcesContent":["import { StatusBar } from 'react-native';\n\nimport { StatusBarStyle } from './StatusBar.types';\nimport styleToBarStyle from './styleToBarStyle';\n\n// @needsAudit\n/**\n * Set the bar style of the status bar.\n * @param style The color of the status bar text.\n */\nexport default function setStatusBarStyle(style: StatusBarStyle) {\n StatusBar.setBarStyle(styleToBarStyle(style));\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/5bc29e6283cbc443a8b90b90c4f25dfd.json b/.expo/web/cache/development/babel-loader/5bc29e6283cbc443a8b90b90c4f25dfd.json new file mode 100644 index 0000000000000000000000000000000000000000..77bbf445c6c0266421ea216ce174641630ef9c3f --- /dev/null +++ b/.expo/web/cache/development/babel-loader/5bc29e6283cbc443a8b90b90c4f25dfd.json @@ -0,0 +1 @@ +{"ast":null,"code":"function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nimport deepDiffer from \"../deepDiffer\";\nimport * as React from 'react';\nimport StyleSheet from \"../../../exports/StyleSheet\";\nimport View from \"../../../exports/View\";\nimport ScrollView from \"../../../exports/ScrollView\";\nimport VirtualizedList from \"../VirtualizedList\";\nimport invariant from 'fbjs/lib/invariant';\n\nvar defaultProps = _objectSpread(_objectSpread({}, VirtualizedList.defaultProps), {}, {\n numColumns: 1\n});\n\nvar FlatList = function (_React$PureComponent) {\n _inheritsLoose(FlatList, _React$PureComponent);\n\n var _proto = FlatList.prototype;\n\n _proto.scrollToEnd = function scrollToEnd(params) {\n if (this._listRef) {\n this._listRef.scrollToEnd(params);\n }\n };\n\n _proto.scrollToIndex = function scrollToIndex(params) {\n if (this._listRef) {\n this._listRef.scrollToIndex(params);\n }\n };\n\n _proto.scrollToItem = function scrollToItem(params) {\n if (this._listRef) {\n this._listRef.scrollToItem(params);\n }\n };\n\n _proto.scrollToOffset = function scrollToOffset(params) {\n if (this._listRef) {\n this._listRef.scrollToOffset(params);\n }\n };\n\n _proto.recordInteraction = function recordInteraction() {\n if (this._listRef) {\n this._listRef.recordInteraction();\n }\n };\n\n _proto.flashScrollIndicators = function flashScrollIndicators() {\n if (this._listRef) {\n this._listRef.flashScrollIndicators();\n }\n };\n\n _proto.getScrollResponder = function getScrollResponder() {\n if (this._listRef) {\n return this._listRef.getScrollResponder();\n }\n };\n\n _proto.getNativeScrollRef = function getNativeScrollRef() {\n if (this._listRef) {\n return this._listRef.getScrollRef();\n }\n };\n\n _proto.getScrollableNode = function getScrollableNode() {\n if (this._listRef) {\n return this._listRef.getScrollableNode();\n }\n };\n\n _proto.setNativeProps = function setNativeProps(props) {\n if (this._listRef) {\n this._listRef.setNativeProps(props);\n }\n };\n\n function FlatList(_props) {\n var _this;\n\n _this = _React$PureComponent.call(this, _props) || this;\n _this._virtualizedListPairs = [];\n\n _this._captureRef = function (ref) {\n _this._listRef = ref;\n };\n\n _this._getItem = function (data, index) {\n var numColumns = _this.props.numColumns;\n\n if (numColumns > 1) {\n var ret = [];\n\n for (var kk = 0; kk < numColumns; kk++) {\n var _item = data[index * numColumns + kk];\n\n if (_item != null) {\n ret.push(_item);\n }\n }\n\n return ret;\n } else {\n return data[index];\n }\n };\n\n _this._getItemCount = function (data) {\n if (data) {\n var numColumns = _this.props.numColumns;\n return numColumns > 1 ? Math.ceil(data.length / numColumns) : data.length;\n } else {\n return 0;\n }\n };\n\n _this._keyExtractor = function (items, index) {\n var _this$props = _this.props,\n keyExtractor = _this$props.keyExtractor,\n numColumns = _this$props.numColumns;\n\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(function (it, kk) {\n return keyExtractor(it, index * numColumns + kk);\n }).join(':');\n } else {\n return keyExtractor(items, index);\n }\n };\n\n _this._renderer = function () {\n var _ref;\n\n var _this$props2 = _this.props,\n ListItemComponent = _this$props2.ListItemComponent,\n renderItem = _this$props2.renderItem,\n numColumns = _this$props2.numColumns,\n columnWrapperStyle = _this$props2.columnWrapperStyle;\n var virtualizedListRenderKey = ListItemComponent ? 'ListItemComponent' : 'renderItem';\n\n var renderer = function renderer(props) {\n if (ListItemComponent) {\n return React.createElement(ListItemComponent, props);\n } else if (renderItem) {\n return renderItem(props);\n } else {\n return null;\n }\n };\n\n return _ref = {}, _ref[virtualizedListRenderKey] = function (info) {\n if (numColumns > 1) {\n var _item2 = info.item,\n _index = info.index;\n invariant(Array.isArray(_item2), 'Expected array of items with numColumns > 1');\n return React.createElement(View, {\n style: StyleSheet.compose(styles.row, columnWrapperStyle)\n }, _item2.map(function (it, kk) {\n var element = renderer({\n item: it,\n index: _index * numColumns + kk,\n separators: info.separators\n });\n return element != null ? React.createElement(React.Fragment, {\n key: kk\n }, element) : null;\n }));\n } else {\n return renderer(info);\n }\n }, _ref;\n };\n\n _this._checkProps(_this.props);\n\n if (_this.props.viewabilityConfigCallbackPairs) {\n _this._virtualizedListPairs = _this.props.viewabilityConfigCallbackPairs.map(function (pair) {\n return {\n viewabilityConfig: pair.viewabilityConfig,\n onViewableItemsChanged: _this._createOnViewableItemsChanged(pair.onViewableItemsChanged)\n };\n });\n } else if (_this.props.onViewableItemsChanged) {\n _this._virtualizedListPairs.push({\n viewabilityConfig: _this.props.viewabilityConfig,\n onViewableItemsChanged: _this._createOnViewableItemsChanged(_this.props.onViewableItemsChanged)\n });\n }\n\n return _this;\n }\n\n _proto.componentDidUpdate = function 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\n this._checkProps(this.props);\n };\n\n _proto._checkProps = function _checkProps(props) {\n var getItem = props.getItem,\n getItemCount = props.getItemCount,\n horizontal = props.horizontal,\n numColumns = props.numColumns,\n columnWrapperStyle = props.columnWrapperStyle,\n onViewableItemsChanged = props.onViewableItemsChanged,\n viewabilityConfigCallbackPairs = props.viewabilityConfigCallbackPairs;\n invariant(!getItem && !getItemCount, 'FlatList does not support custom data formats.');\n\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\n invariant(!(onViewableItemsChanged && viewabilityConfigCallbackPairs), 'FlatList does not support setting both onViewableItemsChanged and ' + 'viewabilityConfigCallbackPairs.');\n };\n\n _proto._pushMultiColumnViewable = function _pushMultiColumnViewable(arr, v) {\n var _this$props3 = this.props,\n numColumns = _this$props3.numColumns,\n keyExtractor = _this$props3.keyExtractor;\n v.item.forEach(function (item, ii) {\n invariant(v.index != null, 'Missing index!');\n var index = v.index * numColumns + ii;\n arr.push(_objectSpread(_objectSpread({}, v), {}, {\n item: item,\n key: keyExtractor(item, index),\n index: index\n }));\n });\n };\n\n _proto._createOnViewableItemsChanged = function _createOnViewableItemsChanged(onViewableItemsChanged) {\n var _this2 = this;\n\n return function (info) {\n var numColumns = _this2.props.numColumns;\n\n if (onViewableItemsChanged) {\n if (numColumns > 1) {\n var changed = [];\n var viewableItems = [];\n info.viewableItems.forEach(function (v) {\n return _this2._pushMultiColumnViewable(viewableItems, v);\n });\n info.changed.forEach(function (v) {\n return _this2._pushMultiColumnViewable(changed, v);\n });\n onViewableItemsChanged({\n viewableItems: viewableItems,\n changed: changed\n });\n } else {\n onViewableItemsChanged(info);\n }\n }\n };\n };\n\n _proto.render = function render() {\n var _this$props4 = this.props,\n numColumns = _this$props4.numColumns,\n columnWrapperStyle = _this$props4.columnWrapperStyle,\n restProps = _objectWithoutPropertiesLoose(_this$props4, [\"numColumns\", \"columnWrapperStyle\"]);\n\n return 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 }, this._renderer()));\n };\n\n return FlatList;\n}(React.PureComponent);\n\nFlatList.defaultProps = defaultProps;\nvar styles = StyleSheet.create({\n row: {\n flexDirection: 'row'\n }\n});\nexport default FlatList;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/FlatList/index.js"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf","_inheritsLoose","subClass","superClass","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","deepDiffer","React","StyleSheet","View","ScrollView","VirtualizedList","invariant","defaultProps","numColumns","FlatList","_React$PureComponent","_proto","scrollToEnd","params","_listRef","scrollToIndex","scrollToItem","scrollToOffset","recordInteraction","flashScrollIndicators","getScrollResponder","getNativeScrollRef","getScrollRef","getScrollableNode","setNativeProps","props","_props","_this","_virtualizedListPairs","_captureRef","ref","_getItem","data","index","ret","kk","_item","_getItemCount","Math","ceil","_keyExtractor","items","_this$props","keyExtractor","Array","isArray","map","it","join","_renderer","_ref","_this$props2","ListItemComponent","renderItem","columnWrapperStyle","virtualizedListRenderKey","renderer","createElement","info","_item2","item","_index","style","compose","styles","row","element","separators","Fragment","_checkProps","viewabilityConfigCallbackPairs","pair","viewabilityConfig","onViewableItemsChanged","_createOnViewableItemsChanged","componentDidUpdate","prevProps","getItem","getItemCount","horizontal","_pushMultiColumnViewable","arr","v","_this$props3","ii","_this2","changed","viewableItems","render","_this$props4","restProps","PureComponent","flexDirection"],"mappings":"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","sourcesContent":["function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\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 * @format\n */\nimport deepDiffer from '../deepDiffer';\nimport * as React from 'react';\nimport StyleSheet from '../../../exports/StyleSheet';\nimport View from '../../../exports/View';\nimport ScrollView from '../../../exports/ScrollView';\nimport VirtualizedList from '../VirtualizedList';\nimport invariant from 'fbjs/lib/invariant';\n\nvar defaultProps = _objectSpread(_objectSpread({}, VirtualizedList.defaultProps), {}, {\n numColumns: 1\n});\n\n/**\n * A performant interface for rendering simple, flat lists, supporting the most handy features:\n *\n * - Fully cross-platform.\n * - Optional horizontal mode.\n * - Configurable viewability callbacks.\n * - Header support.\n * - Footer support.\n * - Separator support.\n * - Pull to Refresh.\n * - Scroll loading.\n * - ScrollToIndex support.\n *\n * If you need section support, use [`<SectionList>`](docs/sectionlist.html).\n *\n * Minimal Example:\n *\n * <FlatList\n * data={[{key: 'a'}, {key: 'b'}]}\n * renderItem={({item}) => <Text>{item.key}</Text>}\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 * <TouchableOpacity onPress={this._onPress}>\n * <View>\n * <Text style={{ color: textColor }}>\n * {this.props.title}\n * </Text>\n * </View>\n * </TouchableOpacity>\n * );\n * }\n * }\n *\n * class MultiSelectList extends React.PureComponent {\n * state = {selected: (new Map(): Map<string, boolean>)};\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 * <MyListItem\n * id={item.id}\n * onPressItem={this._onPressItem}\n * selected={!!this.state.selected.get(item.id)}\n * title={item.title}\n * />\n * );\n *\n * render() {\n * return (\n * <FlatList\n * data={this.props.data}\n * extraData={this.state}\n * keyExtractor={this._keyExtractor}\n * renderItem={this._renderItem}\n * />\n * );\n * }\n * }\n *\n * This is a convenience wrapper around [`<VirtualizedList>`](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 */\nvar FlatList = /*#__PURE__*/function (_React$PureComponent) {\n _inheritsLoose(FlatList, _React$PureComponent);\n\n var _proto = FlatList.prototype;\n\n /**\n * Scrolls to the end of the content. May be janky without `getItemLayout` prop.\n */\n _proto.scrollToEnd = function scrollToEnd(params) {\n if (this._listRef) {\n this._listRef.scrollToEnd(params);\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 ;\n\n _proto.scrollToIndex = function scrollToIndex(params) {\n if (this._listRef) {\n this._listRef.scrollToIndex(params);\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 ;\n\n _proto.scrollToItem = function scrollToItem(params) {\n if (this._listRef) {\n this._listRef.scrollToItem(params);\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 ;\n\n _proto.scrollToOffset = function scrollToOffset(params) {\n if (this._listRef) {\n this._listRef.scrollToOffset(params);\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 ;\n\n _proto.recordInteraction = function recordInteraction() {\n if (this._listRef) {\n this._listRef.recordInteraction();\n }\n }\n /**\n * Displays the scroll indicators momentarily.\n *\n * @platform ios\n */\n ;\n\n _proto.flashScrollIndicators = function flashScrollIndicators() {\n if (this._listRef) {\n this._listRef.flashScrollIndicators();\n }\n }\n /**\n * Provides a handle to the underlying scroll responder.\n */\n ;\n\n _proto.getScrollResponder = function getScrollResponder() {\n if (this._listRef) {\n return this._listRef.getScrollResponder();\n }\n }\n /**\n * Provides a reference to the underlying host component\n */\n ;\n\n _proto.getNativeScrollRef = function 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\n _proto.getScrollableNode = function getScrollableNode() {\n if (this._listRef) {\n return this._listRef.getScrollableNode();\n }\n };\n\n _proto.setNativeProps = function setNativeProps(props) {\n if (this._listRef) {\n this._listRef.setNativeProps(props);\n }\n };\n\n function FlatList(_props) {\n var _this;\n\n _this = _React$PureComponent.call(this, _props) || this;\n _this._virtualizedListPairs = [];\n\n _this._captureRef = function (ref) {\n _this._listRef = ref;\n };\n\n _this._getItem = function (data, index) {\n var numColumns = _this.props.numColumns;\n\n if (numColumns > 1) {\n var ret = [];\n\n for (var kk = 0; kk < numColumns; kk++) {\n var _item = data[index * numColumns + kk];\n\n if (_item != null) {\n ret.push(_item);\n }\n }\n\n return ret;\n } else {\n return data[index];\n }\n };\n\n _this._getItemCount = function (data) {\n if (data) {\n var numColumns = _this.props.numColumns;\n return numColumns > 1 ? Math.ceil(data.length / numColumns) : data.length;\n } else {\n return 0;\n }\n };\n\n _this._keyExtractor = function (items, index) {\n var _this$props = _this.props,\n keyExtractor = _this$props.keyExtractor,\n numColumns = _this$props.numColumns;\n\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 // $FlowFixMe[incompatible-call]\n .map(function (it, kk) {\n return keyExtractor(it, index * numColumns + kk);\n }).join(':');\n } else {\n // $FlowFixMe Can't call keyExtractor with an array\n return keyExtractor(items, index);\n }\n };\n\n _this._renderer = function () {\n var _ref;\n\n var _this$props2 = _this.props,\n ListItemComponent = _this$props2.ListItemComponent,\n renderItem = _this$props2.renderItem,\n numColumns = _this$props2.numColumns,\n columnWrapperStyle = _this$props2.columnWrapperStyle;\n var virtualizedListRenderKey = ListItemComponent ? 'ListItemComponent' : 'renderItem';\n\n var renderer = function renderer(props) {\n if (ListItemComponent) {\n // $FlowFixMe 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\n return _ref = {}, _ref[virtualizedListRenderKey] = function (info) {\n if (numColumns > 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: StyleSheet.compose(styles.row, columnWrapperStyle)\n }, _item2.map(function (it, kk) {\n var element = renderer({\n item: it,\n index: _index * numColumns + 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 renderer(info);\n }\n }, _ref;\n };\n\n _this._checkProps(_this.props);\n\n if (_this.props.viewabilityConfigCallbackPairs) {\n _this._virtualizedListPairs = _this.props.viewabilityConfigCallbackPairs.map(function (pair) {\n return {\n viewabilityConfig: pair.viewabilityConfig,\n onViewableItemsChanged: _this._createOnViewableItemsChanged(pair.onViewableItemsChanged)\n };\n });\n } else if (_this.props.onViewableItemsChanged) {\n _this._virtualizedListPairs.push({\n /* $FlowFixMe(>=0.63.0 site=react_native_fb) This comment suppresses an\n * error found when Flow v0.63 was deployed. To see the error delete\n * this comment and run Flow. */\n viewabilityConfig: _this.props.viewabilityConfig,\n onViewableItemsChanged: _this._createOnViewableItemsChanged(_this.props.onViewableItemsChanged)\n });\n }\n\n return _this;\n }\n\n _proto.componentDidUpdate = function 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\n this._checkProps(this.props);\n };\n\n _proto._checkProps = function _checkProps(props) {\n var getItem = props.getItem,\n getItemCount = props.getItemCount,\n horizontal = props.horizontal,\n numColumns = props.numColumns,\n columnWrapperStyle = props.columnWrapperStyle,\n onViewableItemsChanged = props.onViewableItemsChanged,\n viewabilityConfigCallbackPairs = props.viewabilityConfigCallbackPairs;\n invariant(!getItem && !getItemCount, 'FlatList does not support custom data formats.');\n\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\n invariant(!(onViewableItemsChanged && viewabilityConfigCallbackPairs), 'FlatList does not support setting both onViewableItemsChanged and ' + 'viewabilityConfigCallbackPairs.');\n };\n\n _proto._pushMultiColumnViewable = function _pushMultiColumnViewable(arr, v) {\n var _this$props3 = this.props,\n numColumns = _this$props3.numColumns,\n keyExtractor = _this$props3.keyExtractor;\n v.item.forEach(function (item, ii) {\n invariant(v.index != null, 'Missing index!');\n var index = v.index * numColumns + ii;\n arr.push(_objectSpread(_objectSpread({}, v), {}, {\n item: item,\n key: keyExtractor(item, index),\n index: index\n }));\n });\n };\n\n _proto._createOnViewableItemsChanged = function _createOnViewableItemsChanged(onViewableItemsChanged) {\n var _this2 = this;\n\n return function (info) {\n var numColumns = _this2.props.numColumns;\n\n if (onViewableItemsChanged) {\n if (numColumns > 1) {\n var changed = [];\n var viewableItems = [];\n info.viewableItems.forEach(function (v) {\n return _this2._pushMultiColumnViewable(viewableItems, v);\n });\n info.changed.forEach(function (v) {\n return _this2._pushMultiColumnViewable(changed, v);\n });\n onViewableItemsChanged({\n viewableItems: viewableItems,\n changed: changed\n });\n } else {\n onViewableItemsChanged(info);\n }\n }\n };\n };\n\n _proto.render = function render() {\n var _this$props4 = this.props,\n numColumns = _this$props4.numColumns,\n columnWrapperStyle = _this$props4.columnWrapperStyle,\n restProps = _objectWithoutPropertiesLoose(_this$props4, [\"numColumns\", \"columnWrapperStyle\"]);\n\n return /*#__PURE__*/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 }, this._renderer()));\n };\n\n return FlatList;\n}(React.PureComponent);\n\nFlatList.defaultProps = defaultProps;\nvar styles = StyleSheet.create({\n row: {\n flexDirection: 'row'\n }\n});\nexport default FlatList;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/5d431611905cc8e4657ef322aef52738.json b/.expo/web/cache/development/babel-loader/5d431611905cc8e4657ef322aef52738.json new file mode 100644 index 0000000000000000000000000000000000000000..aeef913f66900282c6e0f31fe77a2b2c610f44cf --- /dev/null +++ b/.expo/web/cache/development/babel-loader/5d431611905cc8e4657ef322aef52738.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\n\nvar checkSerializableWithoutCircularReference = function checkSerializableWithoutCircularReference(o, seen, location) {\n if (o === undefined || o === null || typeof o === 'boolean' || typeof o === 'number' || typeof o === 'string') {\n return {\n serializable: true\n };\n }\n\n if (Object.prototype.toString.call(o) !== '[object Object]' && !Array.isArray(o)) {\n return {\n serializable: false,\n location: location,\n reason: typeof o === 'function' ? 'Function' : String(o)\n };\n }\n\n if (seen.has(o)) {\n return {\n serializable: false,\n reason: 'Circular reference',\n location: location\n };\n }\n\n seen.add(o);\n\n if (Array.isArray(o)) {\n for (var i = 0; i < o.length; i++) {\n var childResult = checkSerializableWithoutCircularReference(o[i], new Set(seen), [].concat(_toConsumableArray(location), [i]));\n\n if (!childResult.serializable) {\n return childResult;\n }\n }\n } else {\n for (var key in o) {\n var _childResult = checkSerializableWithoutCircularReference(o[key], new Set(seen), [].concat(_toConsumableArray(location), [key]));\n\n if (!_childResult.serializable) {\n return _childResult;\n }\n }\n }\n\n return {\n serializable: true\n };\n};\n\nexport default function checkSerializable(o) {\n return checkSerializableWithoutCircularReference(o, new Set(), []);\n}","map":{"version":3,"sources":["checkSerializable.tsx"],"names":["checkSerializableWithoutCircularReference","o","serializable","Object","Array","location","reason","String","seen","i","childResult"],"mappings":";;AAAA,IAAMA,yCAAyC,GAAG,SAA5CA,yCAA4C,CAAA,CAAA,EAAA,IAAA,EAAA,QAAA,EAUzC;AACP,MACEC,CAAC,KAADA,SAAAA,IACAA,CAAC,KADDA,IAAAA,IAEA,OAAA,CAAA,KAFAA,SAAAA,IAGA,OAAA,CAAA,KAHAA,QAAAA,IAIA,OAAA,CAAA,KALF,QAAA,EAME;AACA,WAAO;AAAEC,MAAAA,YAAY,EAAE;AAAhB,KAAP;AACD;;AAED,MACEC,MAAM,CAANA,SAAAA,CAAAA,QAAAA,CAAAA,IAAAA,CAAAA,CAAAA,MAAAA,iBAAAA,IACA,CAACC,KAAK,CAALA,OAAAA,CAFH,CAEGA,CAFH,EAGE;AACA,WAAO;AACLF,MAAAA,YAAY,EADP,KAAA;AAELG,MAAAA,QAFK,EAELA,QAFK;AAGLC,MAAAA,MAAM,EAAE,OAAA,CAAA,KAAA,UAAA,GAAA,UAAA,GAAuCC,MAAM,CAAA,CAAA;AAHhD,KAAP;AAKD;;AAED,MAAIC,IAAI,CAAJA,GAAAA,CAAJ,CAAIA,CAAJ,EAAiB;AACf,WAAO;AACLN,MAAAA,YAAY,EADP,KAAA;AAELI,MAAAA,MAAM,EAFD,oBAAA;AAGLD,MAAAA,QAAAA,EAAAA;AAHK,KAAP;AAKD;;AAEDG,EAAAA,IAAI,CAAJA,GAAAA,CAAAA,CAAAA;;AAEA,MAAIJ,KAAK,CAALA,OAAAA,CAAJ,CAAIA,CAAJ,EAAsB;AACpB,SAAK,IAAIK,CAAC,GAAV,CAAA,EAAgBA,CAAC,GAAGR,CAAC,CAArB,MAAA,EAA8BQ,CAA9B,EAAA,EAAmC;AACjC,UAAMC,WAAW,GAAGV,yCAAyC,CAC3DC,CAAC,CAD0D,CAC1D,CAD0D,EAE3D,IAAA,GAAA,CAF2D,IAE3D,CAF2D,+BAG3D,QAH2D,IAA7D,CAA6D,GAA7D;;AAMA,UAAI,CAACS,WAAW,CAAhB,YAAA,EAA+B;AAC7B,eAAA,WAAA;AACD;AACF;AAXH,GAAA,MAYO;AACL,SAAK,IAAL,GAAA,IAAA,CAAA,EAAqB;AACnB,UAAMA,YAAW,GAAGV,yCAAyC,CAC3DC,CAAC,CAD0D,GAC1D,CAD0D,EAE3D,IAAA,GAAA,CAF2D,IAE3D,CAF2D,+BAG3D,QAH2D,IAA7D,GAA6D,GAA7D;;AAMA,UAAI,CAACS,YAAW,CAAhB,YAAA,EAA+B;AAC7B,eAAA,YAAA;AACD;AACF;AACF;;AAED,SAAO;AAAER,IAAAA,YAAY,EAAE;AAAhB,GAAP;AApEF,CAAA;;AAuEA,eAAe,SAAA,iBAAA,CAAA,CAAA,EAAsD;AACnE,SAAOF,yCAAyC,CAAA,CAAA,EAAI,IAAJ,GAAI,EAAJ,EAAhD,EAAgD,CAAhD;AACD","sourcesContent":["const checkSerializableWithoutCircularReference = (\n o: { [key: string]: any },\n seen: Set<any>,\n location: (string | number)[]\n):\n | { serializable: true }\n | {\n serializable: false;\n location: (string | number)[];\n reason: string;\n } => {\n if (\n o === undefined ||\n o === null ||\n typeof o === 'boolean' ||\n typeof o === 'number' ||\n typeof o === 'string'\n ) {\n return { serializable: true };\n }\n\n if (\n Object.prototype.toString.call(o) !== '[object Object]' &&\n !Array.isArray(o)\n ) {\n return {\n serializable: false,\n location,\n reason: typeof o === 'function' ? 'Function' : String(o),\n };\n }\n\n if (seen.has(o)) {\n return {\n serializable: false,\n reason: 'Circular reference',\n location,\n };\n }\n\n seen.add(o);\n\n if (Array.isArray(o)) {\n for (let i = 0; i < o.length; i++) {\n const childResult = checkSerializableWithoutCircularReference(\n o[i],\n new Set<any>(seen),\n [...location, i]\n );\n\n if (!childResult.serializable) {\n return childResult;\n }\n }\n } else {\n for (const key in o) {\n const childResult = checkSerializableWithoutCircularReference(\n o[key],\n new Set<any>(seen),\n [...location, key]\n );\n\n if (!childResult.serializable) {\n return childResult;\n }\n }\n }\n\n return { serializable: true };\n};\n\nexport default function checkSerializable(o: { [key: string]: any }) {\n return checkSerializableWithoutCircularReference(o, new Set<any>(), []);\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/5d456d1a63f26d6be12e744e038c9586.json b/.expo/web/cache/development/babel-loader/5d456d1a63f26d6be12e744e038c9586.json new file mode 100644 index 0000000000000000000000000000000000000000..d88cf000c87b924a6eca4584e9f74d6f42e2b325 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/5d456d1a63f26d6be12e744e038c9586.json @@ -0,0 +1 @@ +{"ast":null,"code":"import StatusBar from \"react-native-web/dist/exports/StatusBar\";\nexport default function setStatusBarBackgroundColor(backgroundColor, animated) {\n StatusBar.setBackgroundColor(backgroundColor, animated);\n}","map":{"version":3,"sources":["../src/setStatusBarBackgroundColor.ts"],"names":[],"mappings":";AASA,eAAc,SAAU,2BAAV,CAAsC,eAAtC,EAA+D,QAA/D,EAAgF;AAC5F,EAAA,SAAS,CAAC,kBAAV,CAA6B,eAA7B,EAA8C,QAA9C;AACD","sourcesContent":["import { StatusBar } from 'react-native';\n\n// @needsAudit\n/**\n * Set the background color of the status bar.\n * @param backgroundColor The background color of the status bar.\n * @param animated `true` to animate the background color change, `false` to change immediately.\n * @platform android\n */\nexport default function setStatusBarBackgroundColor(backgroundColor: string, animated: boolean) {\n StatusBar.setBackgroundColor(backgroundColor, animated);\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/5ecda9cc7478efa9e003036d7526d3de.json b/.expo/web/cache/development/babel-loader/5ecda9cc7478efa9e003036d7526d3de.json new file mode 100644 index 0000000000000000000000000000000000000000..b04be070473d408039dbdbdd6a28258eb28f6956 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/5ecda9cc7478efa9e003036d7526d3de.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nimport NavigationRouteContext from \"./NavigationRouteContext\";\nexport default function useRoute() {\n var route = React.useContext(NavigationRouteContext);\n\n if (route === undefined) {\n throw new Error(\"Couldn't find a route object. Is your component inside a screen in a navigator?\");\n }\n\n return route;\n}","map":{"version":3,"sources":["useRoute.tsx"],"names":["route","React"],"mappings":"AACA,OAAO,KAAP,KAAA,MAAA,OAAA;AAEA,OAAA,sBAAA;AAQA,eAAe,SAAA,QAAA,GAA2D;AACxE,MAAMA,KAAK,GAAGC,KAAK,CAALA,UAAAA,CAAd,sBAAcA,CAAd;;AAEA,MAAID,KAAK,KAAT,SAAA,EAAyB;AACvB,UAAM,IAAA,KAAA,CAAN,iFAAM,CAAN;AAGD;;AAED,SAAA,KAAA;AACD","sourcesContent":["import type { ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationRouteContext from './NavigationRouteContext';\nimport type { RouteProp } from './types';\n\n/**\n * Hook to access the route prop of the parent screen anywhere.\n *\n * @returns Route prop of the parent screen.\n */\nexport default function useRoute<T extends RouteProp<ParamListBase>>(): T {\n const route = React.useContext(NavigationRouteContext);\n\n if (route === undefined) {\n throw new Error(\n \"Couldn't find a route object. Is your component inside a screen in a navigator?\"\n );\n }\n\n return route as T;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/5ff040da17c5a5687839c7d31708dec3.json b/.expo/web/cache/development/babel-loader/5ff040da17c5a5687839c7d31708dec3.json new file mode 100644 index 0000000000000000000000000000000000000000..2e5a244a7bdd2abfd0c6a61d5292b812d71aead3 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/5ff040da17c5a5687839c7d31708dec3.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc } from \"firebase/firestore\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Name = _doc$data.Name,\n Email = _doc$data.Email,\n Image = _doc$data.Image;\n\n users.push({\n id: doc.id,\n Name: Name,\n Email: Email,\n Image: Image\n });\n });\n setUsers(users);\n });\n }, []);\n var document = doc(Firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\n\n function writeData() {\n var docData = {\n Name: \"Ada\",\n Email: \"Lovelace\",\n Image: \"1815\"\n };\n setDoc(document, docData);\n }\n\n writeData();\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsxs(Text, {\n children: [item.title, users.toString]\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Name","Email","Image","push","id","document","writeData","docData","params","Alert","alert","post","Item","item","onPress","backgroundColor","textColor","styles","title","toString","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc} from \"firebase/firestore\"\r\n\r\n\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Name, Email, Image} = doc.data();\r\n users.push({id:doc.id, Name, Email, Image})\r\n });\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\n /*try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"users\"), {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\nconst document = doc(Firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async (id) => {\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUser({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n {users.toString}\r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/5ff406e4732047033e96a2e1709755ca.json b/.expo/web/cache/development/babel-loader/5ff406e4732047033e96a2e1709755ca.json new file mode 100644 index 0000000000000000000000000000000000000000..1d6a36bbad0a6d14d0b7b5385126b68649bbc55b --- /dev/null +++ b/.expo/web/cache/development/babel-loader/5ff406e4732047033e96a2e1709755ca.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport { getPathFromState, NavigationHelpersContext } from '@react-navigation/core';\nimport * as React from 'react';\nimport LinkingContext from \"./LinkingContext\";\n\nvar getRootStateForNavigate = function getRootStateForNavigate(navigation, state) {\n var parent = navigation.getParent();\n\n if (parent) {\n var parentState = parent.getState();\n return getRootStateForNavigate(parent, {\n index: 0,\n routes: [_objectSpread(_objectSpread({}, parentState.routes[parentState.index]), {}, {\n state: state\n })]\n });\n }\n\n return state;\n};\n\nexport default function useLinkBuilder() {\n var navigation = React.useContext(NavigationHelpersContext);\n var linking = React.useContext(LinkingContext);\n var buildLink = React.useCallback(function (name, params) {\n var options = linking.options;\n\n if ((options === null || options === void 0 ? void 0 : options.enabled) === false) {\n return undefined;\n }\n\n var state = navigation ? getRootStateForNavigate(navigation, {\n index: 0,\n routes: [{\n name: name,\n params: params\n }]\n }) : {\n index: 0,\n routes: [{\n name: name,\n params: params\n }]\n };\n var path = options !== null && options !== void 0 && options.getPathFromState ? options.getPathFromState(state, options === null || options === void 0 ? void 0 : options.config) : getPathFromState(state, options === null || options === void 0 ? void 0 : options.config);\n return path;\n }, [linking, navigation]);\n return buildLink;\n}","map":{"version":3,"sources":["useLinkBuilder.tsx"],"names":["getRootStateForNavigate","parent","navigation","parentState","index","routes","state","React","linking","buildLink","options","name","params","path","getPathFromState"],"mappings":";;;;;;AAAA,SAAA,gBAAA,EAAA,wBAAA,QAAA,wBAAA;AAOA,OAAO,KAAP,KAAA,MAAA,OAAA;AAEA,OAAA,cAAA;;AAWA,IAAMA,uBAAuB,GAAG,SAA1BA,uBAA0B,CAAA,UAAA,EAAA,KAAA,EAGb;AACjB,MAAMC,MAAM,GAAGC,UAAU,CAAzB,SAAeA,EAAf;;AAEA,MAAA,MAAA,EAAY;AACV,QAAMC,WAAW,GAAGF,MAAM,CAA1B,QAAoBA,EAApB;AAEA,WAAOD,uBAAuB,CAAA,MAAA,EAAS;AACrCI,MAAAA,KAAK,EADgC,CAAA;AAErCC,MAAAA,MAAM,EAAE,iCAEDF,WAAW,CAAXA,MAAAA,CAAmBA,WAAW,CADnC,KACKA,CAFC;AAGJG,QAAAA,KAAK,EAAEA;AAHH;AAF6B,KAAT,CAA9B;AASD;;AAED,SAAA,KAAA;AApBF,CAAA;;AA2BA,eAAe,SAAA,cAAA,GAA0B;AACvC,MAAMJ,UAAU,GAAGK,KAAK,CAALA,UAAAA,CAAnB,wBAAmBA,CAAnB;AACA,MAAMC,OAAO,GAAGD,KAAK,CAALA,UAAAA,CAAhB,cAAgBA,CAAhB;AAEA,MAAME,SAAS,GAAG,KAAK,CAAL,WAAA,CAChB,UAAA,IAAA,EAAA,MAAA,EAAmC;AACjC,QAAQC,OAAR,GAAA,OAAA,CAAQA,OAAR;;AAEA,QAAI,CAAA,OAAO,KAAP,IAAA,IAAA,OAAO,KAAA,KAAP,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAP,OAAA,MAAJ,KAAA,EAAgC;AAC9B,aAAA,SAAA;AACD;;AAED,QAAMJ,KAAK,GAAGJ,UAAU,GACpBF,uBAAuB,CAAA,UAAA,EAAa;AAClCI,MAAAA,KAAK,EAD6B,CAAA;AAElCC,MAAAA,MAAM,EAAE,CAAC;AAAEM,QAAAA,IAAF,EAAEA,IAAF;AAAQC,QAAAA,MAAAA,EAAAA;AAAR,OAAD;AAF0B,KAAb,CADH,GAOpB;AACER,MAAAA,KAAK,EADP,CAAA;AAEEC,MAAAA,MAAM,EAAE,CAAC;AAAEM,QAAAA,IAAF,EAAEA,IAAF;AAAQC,QAAAA,MAAAA,EAAAA;AAAR,OAAD;AAFV,KAPJ;AAYA,QAAMC,IAAI,GAAGH,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAA,KAAPA,CAAAA,IAAAA,OAAO,CAAPA,gBAAAA,GACTA,OAAO,CAAPA,gBAAAA,CAAAA,KAAAA,EAAgCA,OAAhCA,KAAAA,IAAgCA,IAAAA,OAAhCA,KAAAA,KAAAA,CAAgCA,GAAhCA,KAAAA,CAAgCA,GAAAA,OAAO,CAD9BA,MACTA,CADSA,GAETI,gBAAgB,CAAA,KAAA,EAAQJ,OAAR,KAAA,IAAQA,IAAAA,OAAR,KAAA,KAAA,CAAQA,GAAR,KAAA,CAAQA,GAAAA,OAAO,CAFnC,MAEoB,CAFpB;AAIA,WAAA,IAAA;AAxBc,GAAA,EA0BhB,CAAA,OAAA,EA1BF,UA0BE,CA1BgB,CAAlB;AA6BA,SAAA,SAAA;AACD","sourcesContent":["import {\n getPathFromState,\n NavigationHelpers,\n NavigationHelpersContext,\n NavigationProp,\n ParamListBase,\n} from '@react-navigation/core';\nimport * as React from 'react';\n\nimport LinkingContext from './LinkingContext';\n\ntype NavigationObject =\n | NavigationHelpers<ParamListBase>\n | NavigationProp<ParamListBase>;\n\ntype MinimalState = {\n index: number;\n routes: { name: string; params?: object; state?: MinimalState }[];\n};\n\nconst getRootStateForNavigate = (\n navigation: NavigationObject,\n state: MinimalState\n): MinimalState => {\n const parent = navigation.getParent();\n\n if (parent) {\n const parentState = parent.getState();\n\n return getRootStateForNavigate(parent, {\n index: 0,\n routes: [\n {\n ...parentState.routes[parentState.index],\n state: state,\n },\n ],\n });\n }\n\n return state;\n};\n\n/**\n * Build destination link for a navigate action.\n * Useful for showing anchor tags on the web for buttons that perform navigation.\n */\nexport default function useLinkBuilder() {\n const navigation = React.useContext(NavigationHelpersContext);\n const linking = React.useContext(LinkingContext);\n\n const buildLink = React.useCallback(\n (name: string, params?: object) => {\n const { options } = linking;\n\n if (options?.enabled === false) {\n return undefined;\n }\n\n const state = navigation\n ? getRootStateForNavigate(navigation, {\n index: 0,\n routes: [{ name, params }],\n })\n : // If we couldn't find a navigation object in context, we're at root\n // So we'll construct a basic state object to use\n {\n index: 0,\n routes: [{ name, params }],\n };\n\n const path = options?.getPathFromState\n ? options.getPathFromState(state, options?.config)\n : getPathFromState(state, options?.config);\n\n return path;\n },\n [linking, navigation]\n );\n\n return buildLink;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/609d1085a54fb78aac0a4d3ef0767087.json b/.expo/web/cache/development/babel-loader/609d1085a54fb78aac0a4d3ef0767087.json new file mode 100644 index 0000000000000000000000000000000000000000..4a847849d1d7edc03b13472c5aca86f503e12223 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/609d1085a54fb78aac0a4d3ef0767087.json @@ -0,0 +1 @@ +{"ast":null,"code":"import AccessibilityUtil from \"../../modules/AccessibilityUtil\";\nimport createDOMProps from \"../../modules/createDOMProps\";\nimport React from 'react';\n\nvar createElement = function createElement(component, props) {\n var accessibilityComponent;\n\n if (component && component.constructor === String) {\n accessibilityComponent = AccessibilityUtil.propsToAccessibilityComponent(props);\n }\n\n var Component = accessibilityComponent || component;\n var domProps = createDOMProps(Component, props);\n\n for (var _len = arguments.length, children = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n children[_key - 2] = arguments[_key];\n }\n\n return React.createElement.apply(React, [Component, domProps].concat(children));\n};\n\nexport default createElement;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/createElement/index.js"],"names":["AccessibilityUtil","createDOMProps","React","createElement","component","props","accessibilityComponent","constructor","String","propsToAccessibilityComponent","Component","domProps","_len","arguments","length","children","Array","_key","apply","concat"],"mappings":"AAQA,OAAOA,iBAAP;AACA,OAAOC,cAAP;AACA,OAAOC,KAAP,MAAkB,OAAlB;;AAEA,IAAIC,aAAa,GAAG,SAASA,aAAT,CAAuBC,SAAvB,EAAkCC,KAAlC,EAAyC;AAE3D,MAAIC,sBAAJ;;AAEA,MAAIF,SAAS,IAAIA,SAAS,CAACG,WAAV,KAA0BC,MAA3C,EAAmD;AACjDF,IAAAA,sBAAsB,GAAGN,iBAAiB,CAACS,6BAAlB,CAAgDJ,KAAhD,CAAzB;AACD;;AAED,MAAIK,SAAS,GAAGJ,sBAAsB,IAAIF,SAA1C;AACA,MAAIO,QAAQ,GAAGV,cAAc,CAACS,SAAD,EAAYL,KAAZ,CAA7B;;AAEA,OAAK,IAAIO,IAAI,GAAGC,SAAS,CAACC,MAArB,EAA6BC,QAAQ,GAAG,IAAIC,KAAJ,CAAUJ,IAAI,GAAG,CAAP,GAAWA,IAAI,GAAG,CAAlB,GAAsB,CAAhC,CAAxC,EAA4EK,IAAI,GAAG,CAAxF,EAA2FA,IAAI,GAAGL,IAAlG,EAAwGK,IAAI,EAA5G,EAAgH;AAC9GF,IAAAA,QAAQ,CAACE,IAAI,GAAG,CAAR,CAAR,GAAqBJ,SAAS,CAACI,IAAD,CAA9B;AACD;;AAED,SAAoBf,KAAK,CAACC,aAAN,CAAoBe,KAApB,CAA0BhB,KAA1B,EAAiC,CAACQ,SAAD,EAAYC,QAAZ,EAAsBQ,MAAtB,CAA6BJ,QAA7B,CAAjC,CAApB;AACD,CAhBD;;AAkBA,eAAeZ,aAAf","sourcesContent":["/**\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 AccessibilityUtil from '../../modules/AccessibilityUtil';\nimport createDOMProps from '../../modules/createDOMProps';\nimport React from 'react';\n\nvar createElement = function createElement(component, props) {\n // Use equivalent platform elements where possible.\n var accessibilityComponent;\n\n if (component && component.constructor === String) {\n accessibilityComponent = AccessibilityUtil.propsToAccessibilityComponent(props);\n }\n\n var Component = accessibilityComponent || component;\n var domProps = createDOMProps(Component, props);\n\n for (var _len = arguments.length, children = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n children[_key - 2] = arguments[_key];\n }\n\n return /*#__PURE__*/React.createElement.apply(React, [Component, domProps].concat(children));\n};\n\nexport default createElement;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/60e455c6ba4532aea939c289f94f9540.json b/.expo/web/cache/development/babel-loader/60e455c6ba4532aea939c289f94f9540.json new file mode 100644 index 0000000000000000000000000000000000000000..c9fe9e6dfc58784fdfb645d5972f418dda6b619e --- /dev/null +++ b/.expo/web/cache/development/babel-loader/60e455c6ba4532aea939c289f94f9540.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport * as React from 'react';\nvar UNINTIALIZED_STATE = {};\nexport default function useSyncState(initialState) {\n var stateRef = React.useRef(UNINTIALIZED_STATE);\n var isSchedulingRef = React.useRef(false);\n var isMountedRef = React.useRef(true);\n React.useEffect(function () {\n isMountedRef.current = true;\n return function () {\n isMountedRef.current = false;\n };\n }, []);\n\n if (stateRef.current === UNINTIALIZED_STATE) {\n stateRef.current = typeof initialState === 'function' ? initialState() : initialState;\n }\n\n var _React$useState = React.useState(stateRef.current),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n trackingState = _React$useState2[0],\n setTrackingState = _React$useState2[1];\n\n var getState = React.useCallback(function () {\n return stateRef.current;\n }, []);\n var setState = React.useCallback(function (state) {\n if (state === stateRef.current || !isMountedRef.current) {\n return;\n }\n\n stateRef.current = state;\n\n if (!isSchedulingRef.current) {\n setTrackingState(state);\n }\n }, []);\n var scheduleUpdate = React.useCallback(function (callback) {\n isSchedulingRef.current = true;\n\n try {\n callback();\n } finally {\n isSchedulingRef.current = false;\n }\n }, []);\n var flushUpdates = React.useCallback(function () {\n if (!isMountedRef.current) {\n return;\n }\n\n setTrackingState(stateRef.current);\n }, []);\n\n if (trackingState !== stateRef.current) {\n setTrackingState(stateRef.current);\n }\n\n var state = stateRef.current;\n React.useDebugValue(state);\n return [state, getState, setState, scheduleUpdate, flushUpdates];\n}","map":{"version":3,"sources":["useSyncState.tsx"],"names":["UNINTIALIZED_STATE","stateRef","React","isSchedulingRef","isMountedRef","initialState","getState","setState","state","setTrackingState","scheduleUpdate","callback","flushUpdates","trackingState"],"mappings":";AAAA,OAAO,KAAP,KAAA,MAAA,OAAA;AAEA,IAAMA,kBAAkB,GAAxB,EAAA;AAKA,eAAe,SAAA,YAAA,CAAA,YAAA,EAAuD;AACpE,MAAMC,QAAQ,GAAGC,KAAK,CAALA,MAAAA,CAAjB,kBAAiBA,CAAjB;AACA,MAAMC,eAAe,GAAGD,KAAK,CAALA,MAAAA,CAAxB,KAAwBA,CAAxB;AACA,MAAME,YAAY,GAAGF,KAAK,CAALA,MAAAA,CAArB,IAAqBA,CAArB;AAEAA,EAAAA,KAAK,CAALA,SAAAA,CAAgB,YAAM;AACpBE,IAAAA,YAAY,CAAZA,OAAAA,GAAAA,IAAAA;AAEA,WAAO,YAAM;AACXA,MAAAA,YAAY,CAAZA,OAAAA,GAAAA,KAAAA;AADF,KAAA;AAHFF,GAAAA,EAAAA,EAAAA;;AAQA,MAAID,QAAQ,CAARA,OAAAA,KAAJ,kBAAA,EAA6C;AAC3CA,IAAAA,QAAQ,CAARA,OAAAA,GAEE,OAAA,YAAA,KAAA,UAAA,GAAqCI,YAArC,EAAA,GAFFJ,YAAAA;AAGD;;AAED,wBAA0CC,KAAK,CAALA,QAAAA,CAAeD,QAAQ,CAAjE,OAA0CC,CAA1C;AAAA;AAAA,MAAM,aAAN;AAAA,MAAM,gBAAN;;AAEA,MAAMI,QAAQ,GAAGJ,KAAK,CAALA,WAAAA,CAAkB;AAAA,WAAMD,QAAQ,CAAhCC,OAAkB;AAAA,GAAlBA,EAAjB,EAAiBA,CAAjB;AAEA,MAAMK,QAAQ,GAAG,KAAK,CAAL,WAAA,CAAmBC,UAAAA,KAAD,EAAc;AAC/C,QAAIA,KAAK,KAAKP,QAAQ,CAAlBO,OAAAA,IAA8B,CAACJ,YAAY,CAA/C,OAAA,EAAyD;AACvD;AACD;;AAEDH,IAAAA,QAAQ,CAARA,OAAAA,GAAAA,KAAAA;;AAEA,QAAI,CAACE,eAAe,CAApB,OAAA,EAA8B;AAC5BM,MAAAA,gBAAgB,CAAhBA,KAAgB,CAAhBA;AACD;AATc,GAAA,EAAjB,EAAiB,CAAjB;AAYA,MAAMC,cAAc,GAAG,KAAK,CAAL,WAAA,CAAmBC,UAAAA,QAAD,EAA0B;AACjER,IAAAA,eAAe,CAAfA,OAAAA,GAAAA,IAAAA;;AAEA,QAAI;AACFQ,MAAAA,QAAQ;AADV,KAAA,SAEU;AACRR,MAAAA,eAAe,CAAfA,OAAAA,GAAAA,KAAAA;AACD;AAPoB,GAAA,EAAvB,EAAuB,CAAvB;AAUA,MAAMS,YAAY,GAAG,KAAK,CAAL,WAAA,CAAkB,YAAM;AAC3C,QAAI,CAACR,YAAY,CAAjB,OAAA,EAA2B;AACzB;AAFyC;;AAO3CK,IAAAA,gBAAgB,CAACR,QAAQ,CAAzBQ,OAAgB,CAAhBA;AAPmB,GAAA,EA7C+C,EA6C/C,CAArB;;AAYA,MAAII,aAAa,KAAKZ,QAAQ,CAA9B,OAAA,EAAwC;AACtCQ,IAAAA,gBAAgB,CAACR,QAAQ,CAAzBQ,OAAgB,CAAhBA;AACD;;AAED,MAAMD,KAAK,GAAGP,QAAQ,CAAtB,OAAA;AAEAC,EAAAA,KAAK,CAALA,aAAAA,CAAAA,KAAAA;AAEA,SAAO,CAAA,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,cAAA,EAAP,YAAO,CAAP;AACD","sourcesContent":["import * as React from 'react';\n\nconst UNINTIALIZED_STATE = {};\n\n/**\n * This is definitely not compatible with concurrent mode, but we don't have a solution for sync state yet.\n */\nexport default function useSyncState<T>(initialState?: (() => T) | T) {\n const stateRef = React.useRef<T>(UNINTIALIZED_STATE as any);\n const isSchedulingRef = React.useRef(false);\n const isMountedRef = React.useRef(true);\n\n React.useEffect(() => {\n isMountedRef.current = true;\n\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n\n if (stateRef.current === UNINTIALIZED_STATE) {\n stateRef.current =\n // @ts-expect-error: initialState is a function, but TypeScript doesn't think so\n typeof initialState === 'function' ? initialState() : initialState;\n }\n\n const [trackingState, setTrackingState] = React.useState(stateRef.current);\n\n const getState = React.useCallback(() => stateRef.current, []);\n\n const setState = React.useCallback((state: T) => {\n if (state === stateRef.current || !isMountedRef.current) {\n return;\n }\n\n stateRef.current = state;\n\n if (!isSchedulingRef.current) {\n setTrackingState(state);\n }\n }, []);\n\n const scheduleUpdate = React.useCallback((callback: () => void) => {\n isSchedulingRef.current = true;\n\n try {\n callback();\n } finally {\n isSchedulingRef.current = false;\n }\n }, []);\n\n const flushUpdates = React.useCallback(() => {\n if (!isMountedRef.current) {\n return;\n }\n\n // Make sure that the tracking state is up-to-date.\n // We call it unconditionally, but React should skip the update if state is unchanged.\n setTrackingState(stateRef.current);\n }, []);\n\n // If we're rendering and the tracking state is out of date, update it immediately\n // This will make sure that our updates are applied as early as possible.\n if (trackingState !== stateRef.current) {\n setTrackingState(stateRef.current);\n }\n\n const state = stateRef.current;\n\n React.useDebugValue(state);\n\n return [state, getState, setState, scheduleUpdate, flushUpdates] as const;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/60fd529b02ee9430512d3a06a4d12de7.json b/.expo/web/cache/development/babel-loader/60fd529b02ee9430512d3a06a4d12de7.json new file mode 100644 index 0000000000000000000000000000000000000000..9570c520fd6a8034973033ce083951ecdccf186d --- /dev/null +++ b/.expo/web/cache/development/babel-loader/60fd529b02ee9430512d3a06a4d12de7.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\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';\n\nfunction A(aA1, aA2) {\n return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n}\n\nfunction B(aA1, aA2) {\n return 3.0 * aA2 - 6.0 * aA1;\n}\n\nfunction C(aA1) {\n return 3.0 * aA1;\n}\n\nfunction calcBezier(aT, aA1, aA2) {\n return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n}\n\nfunction getSlope(aT, aA1, aA2) {\n return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\n}\n\nfunction binarySubdivide(aX, _aA, _aB, mX1, mX2) {\n var currentX,\n currentT,\n i = 0,\n aA = _aA,\n aB = _aB;\n\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n\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\n return currentT;\n}\n\nfunction newtonRaphsonIterate(aX, _aGuessT, mX1, mX2) {\n var aGuessT = _aGuessT;\n\n for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n\n if (currentSlope === 0.0) {\n return aGuessT;\n }\n\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n\n return aGuessT;\n}\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 var sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n\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\n function getTForX(aX) {\n var intervalStart = 0.0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample;\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\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\n return function BezierEasing(x) {\n if (mX1 === mY1 && mX2 === mY2) {\n return x;\n }\n\n if (x === 0) {\n return 0;\n }\n\n if (x === 1) {\n return 1;\n }\n\n return calcBezier(getTForX(x), mY1, mY2);\n };\n}\n;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/bezier.js"],"names":["NEWTON_ITERATIONS","NEWTON_MIN_SLOPE","SUBDIVISION_PRECISION","SUBDIVISION_MAX_ITERATIONS","kSplineTableSize","kSampleStepSize","float32ArraySupported","Float32Array","A","aA1","aA2","B","C","calcBezier","aT","getSlope","binarySubdivide","aX","_aA","_aB","mX1","mX2","currentX","currentT","i","aA","aB","Math","abs","newtonRaphsonIterate","_aGuessT","aGuessT","currentSlope","bezier","mY1","mY2","Error","sampleValues","Array","getTForX","intervalStart","currentSample","lastSample","dist","guessForT","initialSlope","BezierEasing","x"],"mappings":"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","sourcesContent":["/**\n * Portions 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 * @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'use strict'; // These values are established by empiricism with tests (tradeoff: performance VS precision)\n\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';\n\nfunction A(aA1, aA2) {\n return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n}\n\nfunction B(aA1, aA2) {\n return 3.0 * aA2 - 6.0 * aA1;\n}\n\nfunction C(aA1) {\n return 3.0 * aA1;\n} // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\n\n\nfunction calcBezier(aT, aA1, aA2) {\n return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n} // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\n\n\nfunction getSlope(aT, aA1, aA2) {\n return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\n}\n\nfunction binarySubdivide(aX, _aA, _aB, mX1, mX2) {\n var currentX,\n currentT,\n i = 0,\n aA = _aA,\n aB = _aB;\n\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n\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\n return currentT;\n}\n\nfunction newtonRaphsonIterate(aX, _aGuessT, mX1, mX2) {\n var aGuessT = _aGuessT;\n\n for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n\n if (currentSlope === 0.0) {\n return aGuessT;\n }\n\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n\n return aGuessT;\n}\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 } // Precompute samples table\n\n\n var sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n\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\n function getTForX(aX) {\n var intervalStart = 0.0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample; // Interpolate to provide an initial guess for t\n\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\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\n return function BezierEasing(x) {\n if (mX1 === mY1 && mX2 === mY2) {\n return x; // linear\n } // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n\n\n if (x === 0) {\n return 0;\n }\n\n if (x === 1) {\n return 1;\n }\n\n return calcBezier(getTForX(x), mY1, mY2);\n };\n}\n;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/62c8e542b66a8125945996834106fe16.json b/.expo/web/cache/development/babel-loader/62c8e542b66a8125945996834106fe16.json new file mode 100644 index 0000000000000000000000000000000000000000..fb9d9a07d34eeea849a6773ad538a343bf9d0c0e --- /dev/null +++ b/.expo/web/cache/development/babel-loader/62c8e542b66a8125945996834106fe16.json @@ -0,0 +1 @@ +{"ast":null,"code":"import 'expo/build/Expo.fx';\nimport AppRegistry from \"react-native-web/dist/exports/AppRegistry\";\nimport Platform from \"react-native-web/dist/exports/Platform\";\nimport withExpoRoot from \"./withExpoRoot\";\nexport default function registerRootComponent(component) {\n AppRegistry.registerComponent('main', function () {\n return withExpoRoot(component);\n });\n\n if (Platform.OS === 'web') {\n var _document$getElementB;\n\n var rootTag = (_document$getElementB = document.getElementById('root')) != null ? _document$getElementB : document.getElementById('main');\n AppRegistry.runApplication('main', {\n rootTag: rootTag\n });\n }\n}","map":{"version":3,"sources":["../../src/launch/registerRootComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,oBAAP;;;AAIA,OAAO,YAAP;AAGA,eAAc,SAAU,qBAAV,CACZ,SADY,EACqB;AAEjC,EAAA,WAAW,CAAC,iBAAZ,CAA8B,MAA9B,EAAsC;AAAA,WAAM,YAAY,CAAC,SAAD,CAAlB;AAAA,GAAtC;;AACA,MAAI,QAAQ,CAAC,EAAT,KAAgB,KAApB,EAA2B;AAAA;;AACzB,QAAM,OAAO,4BAAG,QAAQ,CAAC,cAAT,CAAwB,MAAxB,CAAH,oCAAsC,QAAQ,CAAC,cAAT,CAAwB,MAAxB,CAAnD;AACA,IAAA,WAAW,CAAC,cAAZ,CAA2B,MAA3B,EAAmC;AAAE,MAAA,OAAO,EAAP;AAAF,KAAnC;AACD;AACF","sourcesContent":["import 'expo/build/Expo.fx';\nimport * as React from 'react';\nimport { AppRegistry, Platform } from 'react-native';\n\nimport withExpoRoot from './withExpoRoot';\nimport { InitialProps } from './withExpoRoot.types';\n\nexport default function registerRootComponent<P extends InitialProps>(\n component: React.ComponentType<P>\n): void {\n AppRegistry.registerComponent('main', () => withExpoRoot(component));\n if (Platform.OS === 'web') {\n const rootTag = document.getElementById('root') ?? document.getElementById('main');\n AppRegistry.runApplication('main', { rootTag });\n }\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/63bca37b37c5fb1d5ff77121f75ac72d.json b/.expo/web/cache/development/babel-loader/63bca37b37c5fb1d5ff77121f75ac72d.json new file mode 100644 index 0000000000000000000000000000000000000000..90991ee22a3302a79880e7da1c4453331e07f6fc --- /dev/null +++ b/.expo/web/cache/development/babel-loader/63bca37b37c5fb1d5ff77121f75ac72d.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nimport NativeAnimatedHelper from \"../NativeAnimatedHelper\";\nvar startNativeAnimationNextId = 1;\n\nvar Animation = function () {\n function Animation() {}\n\n var _proto = Animation.prototype;\n\n _proto.start = function start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {};\n\n _proto.stop = function stop() {\n if (this.__nativeId) {\n NativeAnimatedHelper.API.stopAnimation(this.__nativeId);\n }\n };\n\n _proto.__getNativeAnimationConfig = function __getNativeAnimationConfig() {\n throw new Error('This animation type cannot be offloaded to native');\n };\n\n _proto.__debouncedOnEnd = function __debouncedOnEnd(result) {\n var onEnd = this.__onEnd;\n this.__onEnd = null;\n onEnd && onEnd(result);\n };\n\n _proto.__startNativeAnimation = function __startNativeAnimation(animatedValue) {\n var startNativeAnimationWaitId = startNativeAnimationNextId + \":startAnimation\";\n startNativeAnimationNextId += 1;\n NativeAnimatedHelper.API.setWaitingForIdentifier(startNativeAnimationWaitId);\n\n try {\n animatedValue.__makeNative();\n\n this.__nativeId = NativeAnimatedHelper.generateNewAnimationId();\n NativeAnimatedHelper.API.startAnimatingNode(this.__nativeId, animatedValue.__getNativeTag(), this.__getNativeAnimationConfig(), this.__debouncedOnEnd.bind(this));\n } catch (e) {\n throw e;\n } finally {\n NativeAnimatedHelper.API.unsetWaitingForIdentifier(startNativeAnimationWaitId);\n }\n };\n\n return Animation;\n}();\n\nexport default Animation;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/animations/Animation.js"],"names":["NativeAnimatedHelper","startNativeAnimationNextId","Animation","_proto","prototype","start","fromValue","onUpdate","onEnd","previousAnimation","animatedValue","stop","__nativeId","API","stopAnimation","__getNativeAnimationConfig","Error","__debouncedOnEnd","result","__onEnd","__startNativeAnimation","startNativeAnimationWaitId","setWaitingForIdentifier","__makeNative","generateNewAnimationId","startAnimatingNode","__getNativeTag","bind","e","unsetWaitingForIdentifier"],"mappings":"AASA;;AAEA,OAAOA,oBAAP;AACA,IAAIC,0BAA0B,GAAG,CAAjC;;AAIA,IAAIC,SAAS,GAAgB,YAAY;AACvC,WAASA,SAAT,GAAqB,CAAE;;AAEvB,MAAIC,MAAM,GAAGD,SAAS,CAACE,SAAvB;;AAEAD,EAAAA,MAAM,CAACE,KAAP,GAAe,SAASA,KAAT,CAAeC,SAAf,EAA0BC,QAA1B,EAAoCC,KAApC,EAA2CC,iBAA3C,EAA8DC,aAA9D,EAA6E,CAAE,CAA9F;;AAEAP,EAAAA,MAAM,CAACQ,IAAP,GAAc,SAASA,IAAT,GAAgB;AAC5B,QAAI,KAAKC,UAAT,EAAqB;AACnBZ,MAAAA,oBAAoB,CAACa,GAArB,CAAyBC,aAAzB,CAAuC,KAAKF,UAA5C;AACD;AACF,GAJD;;AAMAT,EAAAA,MAAM,CAACY,0BAAP,GAAoC,SAASA,0BAAT,GAAsC;AAGxE,UAAM,IAAIC,KAAJ,CAAU,mDAAV,CAAN;AACD,GAJD;;AAOAb,EAAAA,MAAM,CAACc,gBAAP,GAA0B,SAASA,gBAAT,CAA0BC,MAA1B,EAAkC;AAC1D,QAAIV,KAAK,GAAG,KAAKW,OAAjB;AACA,SAAKA,OAAL,GAAe,IAAf;AACAX,IAAAA,KAAK,IAAIA,KAAK,CAACU,MAAD,CAAd;AACD,GAJD;;AAMAf,EAAAA,MAAM,CAACiB,sBAAP,GAAgC,SAASA,sBAAT,CAAgCV,aAAhC,EAA+C;AAC7E,QAAIW,0BAA0B,GAAGpB,0BAA0B,GAAG,iBAA9D;AACAA,IAAAA,0BAA0B,IAAI,CAA9B;AACAD,IAAAA,oBAAoB,CAACa,GAArB,CAAyBS,uBAAzB,CAAiDD,0BAAjD;;AAEA,QAAI;AACFX,MAAAA,aAAa,CAACa,YAAd;;AAEA,WAAKX,UAAL,GAAkBZ,oBAAoB,CAACwB,sBAArB,EAAlB;AACAxB,MAAAA,oBAAoB,CAACa,GAArB,CAAyBY,kBAAzB,CAA4C,KAAKb,UAAjD,EAA6DF,aAAa,CAACgB,cAAd,EAA7D,EAA6F,KAAKX,0BAAL,EAA7F,EAAgI,KAAKE,gBAAL,CAAsBU,IAAtB,CAA2B,IAA3B,CAAhI;AACD,KALD,CAKE,OAAOC,CAAP,EAAU;AACV,YAAMA,CAAN;AACD,KAPD,SAOU;AACR5B,MAAAA,oBAAoB,CAACa,GAArB,CAAyBgB,yBAAzB,CAAmDR,0BAAnD;AACD;AACF,GAfD;;AAiBA,SAAOnB,SAAP;AACD,CA5C4B,EAA7B;;AA8CA,eAAeA,SAAf","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nvar startNativeAnimationNextId = 1; // 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.\n\nvar Animation = /*#__PURE__*/function () {\n function Animation() {}\n\n var _proto = Animation.prototype;\n\n _proto.start = function start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {};\n\n _proto.stop = function stop() {\n if (this.__nativeId) {\n NativeAnimatedHelper.API.stopAnimation(this.__nativeId);\n }\n };\n\n _proto.__getNativeAnimationConfig = function __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 } // Helper function for subclasses to make sure onEnd is only called once.\n ;\n\n _proto.__debouncedOnEnd = function __debouncedOnEnd(result) {\n var onEnd = this.__onEnd;\n this.__onEnd = null;\n onEnd && onEnd(result);\n };\n\n _proto.__startNativeAnimation = function __startNativeAnimation(animatedValue) {\n var startNativeAnimationWaitId = startNativeAnimationNextId + \":startAnimation\";\n startNativeAnimationNextId += 1;\n NativeAnimatedHelper.API.setWaitingForIdentifier(startNativeAnimationWaitId);\n\n try {\n animatedValue.__makeNative();\n\n this.__nativeId = NativeAnimatedHelper.generateNewAnimationId();\n NativeAnimatedHelper.API.startAnimatingNode(this.__nativeId, animatedValue.__getNativeTag(), this.__getNativeAnimationConfig(), this.__debouncedOnEnd.bind(this));\n } catch (e) {\n throw e;\n } finally {\n NativeAnimatedHelper.API.unsetWaitingForIdentifier(startNativeAnimationWaitId);\n }\n };\n\n return Animation;\n}();\n\nexport default Animation;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/6488f4992e6b5cfba37a8a49d976e55f.json b/.expo/web/cache/development/babel-loader/6488f4992e6b5cfba37a8a49d976e55f.json new file mode 100644 index 0000000000000000000000000000000000000000..60bd8a2f94f31d15847fa9f5b9b7246cddc12dc3 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/6488f4992e6b5cfba37a8a49d976e55f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import styleResolver from \"./styleResolver\";\nvar css = {\n create: function create(rules, group) {\n return styleResolver.createCSS(rules, group);\n }\n};\nexport default css;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/StyleSheet/css.js"],"names":["styleResolver","css","create","rules","group","createCSS"],"mappings":"AAQA,OAAOA,aAAP;AAOA,IAAIC,GAAG,GAAG;AAIRC,EAAAA,MAAM,EAAE,SAASA,MAAT,CAAgBC,KAAhB,EAAuBC,KAAvB,EAA8B;AACpC,WAAOJ,aAAa,CAACK,SAAd,CAAwBF,KAAxB,EAA+BC,KAA/B,CAAP;AACD;AANO,CAAV;AAQA,eAAeH,GAAf","sourcesContent":["/**\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 styleResolver from './styleResolver';\n/**\n * A simple (and dangerous) CSS system.\n * The order of CSS rule insertion is not guaranteed.\n * Avoiding combining 2 or more classes that modify the same property.\n */\n\nvar css = {\n /**\n * const classes = css.create({ base: {}, extra: {} })\n */\n create: function create(rules, group) {\n return styleResolver.createCSS(rules, group);\n }\n};\nexport default css;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/65ba23b45f8988d418381bda9d52ff63.json b/.expo/web/cache/development/babel-loader/65ba23b45f8988d418381bda9d52ff63.json new file mode 100644 index 0000000000000000000000000000000000000000..ed3f8f95ee24b50b78f2c8050faa948bcfae3d93 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/65ba23b45f8988d418381bda9d52ff63.json @@ -0,0 +1 @@ +{"ast":null,"code":"import Group from \"./Group\";\nimport Screen from \"./Screen\";\nexport default function createNavigatorFactory(Navigator) {\n return function () {\n if (arguments[0] !== undefined) {\n throw new Error(\"Creating a navigator doesn't take an argument. Maybe you are trying to use React Navigation 4 API? See https://reactnavigation.org/docs/hello-react-navigation for the latest API and guides.\");\n }\n\n return {\n Navigator: Navigator,\n Group: Group,\n Screen: Screen\n };\n };\n}","map":{"version":3,"sources":["createNavigatorFactory.tsx"],"names":["arguments","Navigator","Group","Screen"],"mappings":"AAGA,OAAA,KAAA;AACA,OAAA,MAAA;AAUA,eAAe,SAAA,sBAAA,CAAA,SAAA,EAKkB;AAC/B,SAAO,YAML;AACA,QAAIA,SAAS,CAATA,CAAS,CAATA,KAAJ,SAAA,EAAgC;AAC9B,YAAM,IAAA,KAAA,CAAN,+LAAM,CAAN;AAGD;;AAED,WAAO;AACLC,MAAAA,SADK,EACLA,SADK;AAELC,MAAAA,KAFK,EAELA,KAFK;AAGLC,MAAAA,MAAAA,EAAAA;AAHK,KAAP;AAbF,GAAA;AAmBD","sourcesContent":["import type { NavigationState, ParamListBase } from '@react-navigation/routers';\nimport type * as React from 'react';\n\nimport Group from './Group';\nimport Screen from './Screen';\nimport type { EventMapBase, TypedNavigator } from './types';\n\n/**\n * Higher order component to create a `Navigator` and `Screen` pair.\n * Custom navigators should wrap the navigator component in `createNavigator` before exporting.\n *\n * @param Navigator The navigtor component to wrap.\n * @returns Factory method to create a `Navigator` and `Screen` pair.\n */\nexport default function createNavigatorFactory<\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase,\n NavigatorComponent extends React.ComponentType<any>\n>(Navigator: NavigatorComponent) {\n return function <ParamList extends ParamListBase>(): TypedNavigator<\n ParamList,\n State,\n ScreenOptions,\n EventMap,\n typeof Navigator\n > {\n if (arguments[0] !== undefined) {\n throw new Error(\n \"Creating a navigator doesn't take an argument. Maybe you are trying to use React Navigation 4 API? See https://reactnavigation.org/docs/hello-react-navigation for the latest API and guides.\"\n );\n }\n\n return {\n Navigator,\n Group,\n Screen,\n };\n };\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/66dd423503d017d62ddb6b6a681e6685.json b/.expo/web/cache/development/babel-loader/66dd423503d017d62ddb6b6a681e6685.json new file mode 100644 index 0000000000000000000000000000000000000000..2059a004b17e626fcc55e0d922d07d157fe3951b --- /dev/null +++ b/.expo/web/cache/development/babel-loader/66dd423503d017d62ddb6b6a681e6685.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport TextInput from \"react-native-web/dist/exports/TextInput\";\nimport React, { useState, useEffect } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Details(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(route.params.itemDetails.name),\n _useState2 = _slicedToArray(_useState, 2),\n name = _useState2[0],\n onChangeName = _useState2[1];\n\n var _useState3 = useState(route.params.itemDetails.email),\n _useState4 = _slicedToArray(_useState3, 2),\n email = _useState4[0],\n onChangeEmail = _useState4[1];\n\n var _useState5 = useState(route.params.itemDetails.image),\n _useState6 = _slicedToArray(_useState5, 2),\n image = _useState6[0],\n onChangeImage = _useState6[1];\n\n function update() {\n navigation.navigate({\n name: 'UserList',\n merge: true\n });\n }\n\n return _jsxs(View, {\n children: [_jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeName,\n value: name,\n multiline: true\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeEmail,\n value: email,\n multiline: true\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeImage,\n value: image,\n multiline: true\n }), _jsx(Text, {\n children: \"Hrllo\"\n }), _jsx(Button, {\n title: \"Update\",\n onPress: update\n }), _jsx(Button, {\n title: \"Delete\",\n onPress: update\n })]\n });\n}\nvar styles = StyleSheet.create({\n input: {\n borderBottomColor: '#CFCDCD',\n borderBottomWidth: 1,\n width: 220\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/Details.js"],"names":["React","useState","useEffect","Details","navigation","route","params","itemDetails","name","onChangeName","email","onChangeEmail","image","onChangeImage","update","navigate","merge","styles","input","StyleSheet","create","borderBottomColor","borderBottomWidth","width"],"mappings":";;;;;;AACA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;;;AAGA,eAAe,SAASC,OAAT,OAAuC;AAAA,MAApBC,UAAoB,QAApBA,UAAoB;AAAA,MAARC,KAAQ,QAARA,KAAQ;;AAElD,kBAA6BJ,QAAQ,CAACI,KAAK,CAACC,MAAN,CAAaC,WAAb,CAAyBC,IAA1B,CAArC;AAAA;AAAA,MAAOA,IAAP;AAAA,MAAaC,YAAb;;AACA,mBAA+BR,QAAQ,CAACI,KAAK,CAACC,MAAN,CAAaC,WAAb,CAAyBG,KAA1B,CAAvC;AAAA;AAAA,MAAOA,KAAP;AAAA,MAAcC,aAAd;;AACA,mBAA+BV,QAAQ,CAACI,KAAK,CAACC,MAAN,CAAaC,WAAb,CAAyBK,KAA1B,CAAvC;AAAA;AAAA,MAAOA,KAAP;AAAA,MAAcC,aAAd;;AAEA,WAASC,MAAT,GAAiB;AACbV,IAAAA,UAAU,CAACW,QAAX,CAAoB;AAChBP,MAAAA,IAAI,EAAE,UADU;AAGhBQ,MAAAA,KAAK,EAAE;AAHS,KAApB;AAKH;;AAGD,SACI,MAAC,IAAD;AAAA,eACD,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEC,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAET,YAA9C;AAA4D,MAAA,KAAK,EAAED,IAAnE;AAAyE,MAAA,SAAS,EAAI;AAAtF,MADC,EAEA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAES,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAEP,aAA9C;AAA6D,MAAA,KAAK,EAAED,KAApE;AAA2E,MAAA,SAAS,EAAI;AAAxF,MAFA,EAGA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEO,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAEL,aAA9C;AAA6D,MAAA,KAAK,EAAED,KAApE;AAA2E,MAAA,SAAS,EAAI;AAAxF,MAHA,EAIA,KAAC,IAAD;AAAA;AAAA,MAJA,EAKA,KAAC,MAAD;AAAQ,MAAA,KAAK,EAAC,QAAd;AAAuB,MAAA,OAAO,EAAEE;AAAhC,MALA,EAMA,KAAC,MAAD;AAAQ,MAAA,KAAK,EAAC,QAAd;AAAuB,MAAA,OAAO,EAAEA;AAAhC,MANA;AAAA,IADJ;AAUH;AAID,IAAMG,MAAM,GAAGE,UAAU,CAACC,MAAX,CAAkB;AAC7BF,EAAAA,KAAK,EAAC;AAEFG,IAAAA,iBAAiB,EAAC,SAFhB;AAGFC,IAAAA,iBAAiB,EAAC,CAHhB;AAIFC,IAAAA,KAAK,EAAE;AAJL;AADuB,CAAlB,CAAf","sourcesContent":["import { StyleSheet, Text, View, Button, TextInput } from 'react-native';\r\nimport React, { useState, useEffect } from 'react';\r\n\r\n\r\nexport default function Details({ navigation, route }){\r\n\r\n const [name, onChangeName] = useState(route.params.itemDetails.name);\r\n const [email, onChangeEmail] = useState(route.params.itemDetails.email);\r\n const [image, onChangeImage] = useState(route.params.itemDetails.image);\r\n\r\n function update(){\r\n navigation.navigate({\r\n name: 'UserList',\r\n //params: { post: fach },\r\n merge: true,\r\n });\r\n }\r\n \r\n\r\n return(\r\n <View>\r\n <TextInput style={styles.input} onChangeText={onChangeName} value={name} multiline = {true} />\r\n <TextInput style={styles.input} onChangeText={onChangeEmail} value={email} multiline = {true} />\r\n <TextInput style={styles.input} onChangeText={onChangeImage} value={image} multiline = {true} />\r\n <Text>Hrllo</Text>\r\n <Button title='Update' onPress={update}/>\r\n <Button title='Delete' onPress={update}/>\r\n </View>\r\n )\r\n}\r\n\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n input:{\r\n //underlineColorAndroid: '#CFCDCD',\r\n borderBottomColor:'#CFCDCD',\r\n borderBottomWidth:1,\r\n width: 220,\r\n },\r\n });"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/67445ef94b8acb1c150274b96844be37.json b/.expo/web/cache/development/babel-loader/67445ef94b8acb1c150274b96844be37.json new file mode 100644 index 0000000000000000000000000000000000000000..228d62fdb9d502f27532aadb438b3e3ce34c74cc --- /dev/null +++ b/.expo/web/cache/development/babel-loader/67445ef94b8acb1c150274b96844be37.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users.toString);\n setUsers(users);\n });\n\n if (users[0] != null) {\n Alert.alert(' users load', users.id);\n }\n }, []);\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {\n children: item.Name\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: users,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","params","post","Item","item","onPress","backgroundColor","textColor","styles","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users.toString);\r\n setUsers(users)\r\n});\r\nif(users[0]!= null){\r\n Alert.alert(' users load',users.id)\r\n}\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\n/*function writeData(){\r\n \r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})\r\n}*/\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async () => {\r\n const id = 'q5EOqKxKEsAO6lLmhbnc';\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUsers({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n Alert.alert(users[0])\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.Name} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser'/> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={users}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/67b20a875d7d62bc6a5f2ce7428b4746.json b/.expo/web/cache/development/babel-loader/67b20a875d7d62bc6a5f2ce7428b4746.json new file mode 100644 index 0000000000000000000000000000000000000000..6a46189dd736cdff898094304baadbd47cafcfac --- /dev/null +++ b/.expo/web/cache/development/babel-loader/67b20a875d7d62bc6a5f2ce7428b4746.json @@ -0,0 +1 @@ +{"ast":null,"code":"import isDisabled from \"./isDisabled\";\nimport propsToAccessibilityComponent from \"./propsToAccessibilityComponent\";\nimport propsToAriaRole from \"./propsToAriaRole\";\nvar AccessibilityUtil = {\n isDisabled: isDisabled,\n propsToAccessibilityComponent: propsToAccessibilityComponent,\n propsToAriaRole: propsToAriaRole\n};\nexport default AccessibilityUtil;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/AccessibilityUtil/index.js"],"names":["isDisabled","propsToAccessibilityComponent","propsToAriaRole","AccessibilityUtil"],"mappings":"AAQA,OAAOA,UAAP;AACA,OAAOC,6BAAP;AACA,OAAOC,eAAP;AACA,IAAIC,iBAAiB,GAAG;AACtBH,EAAAA,UAAU,EAAEA,UADU;AAEtBC,EAAAA,6BAA6B,EAAEA,6BAFT;AAGtBC,EAAAA,eAAe,EAAEA;AAHK,CAAxB;AAKA,eAAeC,iBAAf","sourcesContent":["/**\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 isDisabled from './isDisabled';\nimport propsToAccessibilityComponent from './propsToAccessibilityComponent';\nimport propsToAriaRole from './propsToAriaRole';\nvar AccessibilityUtil = {\n isDisabled: isDisabled,\n propsToAccessibilityComponent: propsToAccessibilityComponent,\n propsToAriaRole: propsToAriaRole\n};\nexport default AccessibilityUtil;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/67c86b3d6b129bb761cffc67bb80e32b.json b/.expo/web/cache/development/babel-loader/67c86b3d6b129bb761cffc67bb80e32b.json new file mode 100644 index 0000000000000000000000000000000000000000..b63d1b4dc339be2d2eb0cc795711cb0ac19cc9d1 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/67c86b3d6b129bb761cffc67bb80e32b.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\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\";\n\nvar add = function add(a, b) {\n return new AnimatedAddition(a, b);\n};\n\nvar subtract = function subtract(a, b) {\n return new AnimatedSubtraction(a, b);\n};\n\nvar divide = function divide(a, b) {\n return new AnimatedDivision(a, b);\n};\n\nvar multiply = function multiply(a, b) {\n return new AnimatedMultiplication(a, b);\n};\n\nvar modulo = function modulo(a, modulus) {\n return new AnimatedModulo(a, modulus);\n};\n\nvar diffClamp = function diffClamp(a, min, max) {\n return new AnimatedDiffClamp(a, min, max);\n};\n\nvar _combineCallbacks = function _combineCallbacks(callback, config) {\n if (callback && config.onComplete) {\n return function () {\n config.onComplete && config.onComplete.apply(config, arguments);\n callback && callback.apply(void 0, arguments);\n };\n } else {\n return callback || config.onComplete;\n }\n};\n\nvar maybeVectorAnim = function maybeVectorAnim(value, config, anim) {\n if (value instanceof AnimatedValueXY) {\n var configX = _objectSpread({}, config);\n\n var configY = _objectSpread({}, config);\n\n for (var key in config) {\n var _config$key = config[key],\n x = _config$key.x,\n y = _config$key.y;\n\n if (x !== undefined && y !== undefined) {\n configX[key] = x;\n configY[key] = y;\n }\n }\n\n var aX = anim(value.x, configX);\n var aY = anim(value.y, configY);\n return parallel([aX, aY], {\n stopTogether: false\n });\n }\n\n return null;\n};\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\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\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: iterations\n });\n\n _start(value, singleConfig);\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return config.useNativeDriver || false;\n }\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\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\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: iterations\n });\n\n _start2(value, singleConfig);\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return config.useNativeDriver || false;\n }\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\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: iterations\n });\n\n _start3(value, singleConfig);\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return config.useNativeDriver || false;\n }\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\n current++;\n\n if (current === animations.length) {\n callback && callback(result);\n return;\n }\n\n animations[current].start(onComplete);\n };\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(function (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};\n\nvar parallel = function parallel(animations, config) {\n var doneCount = 0;\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\n animations.forEach(function (animation, idx) {\n var cb = function cb(endResult) {\n hasEnded[idx] = true;\n doneCount++;\n\n if (doneCount === animations.length) {\n doneCount = 0;\n callback && callback(endResult);\n return;\n }\n\n if (!endResult.finished && stopTogether) {\n result.stop();\n }\n };\n\n if (!animation) {\n cb({\n finished: true\n });\n } else {\n animation.start(cb);\n }\n });\n },\n stop: function stop() {\n animations.forEach(function (animation, idx) {\n !hasEnded[idx] && animation.stop();\n hasEnded[idx] = true;\n });\n },\n reset: function reset() {\n animations.forEach(function (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};\n\nvar delay = function delay(time) {\n return timing(new AnimatedValue(0), {\n toValue: 0,\n delay: time,\n duration: 0,\n useNativeDriver: false\n });\n};\n\nvar stagger = function stagger(time, animations) {\n return parallel(animations.map(function (animation, i) {\n return sequence([delay(time * i), animation]);\n }));\n};\n\nvar loop = function loop(animation, _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\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\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\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();\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};\n\nfunction forkEvent(event, listener) {\n if (!event) {\n return listener;\n } else if (event instanceof AnimatedEvent) {\n event.__addListener(listener);\n\n return event;\n } else {\n return function () {\n typeof event === 'function' && event.apply(void 0, arguments);\n listener.apply(void 0, arguments);\n };\n }\n}\n\nfunction unforkEvent(event, listener) {\n if (event && event instanceof AnimatedEvent) {\n event.__removeListener(listener);\n }\n}\n\nvar event = function event(argMapping, config) {\n var animatedEvent = new AnimatedEvent(argMapping, config);\n\n if (animatedEvent.__isNative) {\n return animatedEvent;\n } else {\n return animatedEvent.__getHandler();\n }\n};\n\nexport default {\n Value: AnimatedValue,\n ValueXY: AnimatedValueXY,\n Interpolation: AnimatedInterpolation,\n Node: AnimatedNode,\n decay: decay,\n timing: timing,\n spring: spring,\n add: add,\n subtract: subtract,\n divide: divide,\n multiply: multiply,\n modulo: modulo,\n diffClamp: diffClamp,\n delay: delay,\n sequence: sequence,\n parallel: parallel,\n stagger: stagger,\n loop: loop,\n event: event,\n createAnimatedComponent: createAnimatedComponent,\n attachNativeEvent: attachNativeEvent,\n forkEvent: forkEvent,\n unforkEvent: unforkEvent,\n Event: AnimatedEvent,\n __PropsOnlyForTests: AnimatedProps\n};","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/AnimatedImplementation.js"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","AnimatedEvent","attachNativeEvent","AnimatedAddition","AnimatedDiffClamp","AnimatedDivision","AnimatedInterpolation","AnimatedModulo","AnimatedMultiplication","AnimatedNode","AnimatedProps","AnimatedSubtraction","AnimatedTracking","AnimatedValue","AnimatedValueXY","DecayAnimation","SpringAnimation","TimingAnimation","createAnimatedComponent","add","a","b","subtract","divide","multiply","modulo","modulus","diffClamp","min","max","_combineCallbacks","callback","config","onComplete","maybeVectorAnim","anim","configX","configY","_config$key","x","y","undefined","aX","aY","parallel","stopTogether","spring","_start","start","animatedValue","configuration","singleValue","singleConfig","stopTracking","toValue","track","animate","stop","stopAnimation","reset","resetAnimation","_startNativeLoop","iterations","_isUsingNativeDriver","useNativeDriver","timing","_start2","decay","_start3","sequence","animations","current","result","finished","animation","idx","Error","doneCount","hasEnded","cb","endResult","delay","time","duration","stagger","map","loop","_temp","_ref","_ref$iterations","_ref$resetBeforeItera","resetBeforeIteration","isFinished","iterationsSoFar","restart","forkEvent","event","listener","__addListener","unforkEvent","__removeListener","argMapping","animatedEvent","__isNative","__getHandler","Value","ValueXY","Interpolation","Node","Event","__PropsOnlyForTests"],"mappings":"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","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\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';\n\nvar add = function add(a, b) {\n return new AnimatedAddition(a, b);\n};\n\nvar subtract = function subtract(a, b) {\n return new AnimatedSubtraction(a, b);\n};\n\nvar divide = function divide(a, b) {\n return new AnimatedDivision(a, b);\n};\n\nvar multiply = function multiply(a, b) {\n return new AnimatedMultiplication(a, b);\n};\n\nvar modulo = function modulo(a, modulus) {\n return new AnimatedModulo(a, modulus);\n};\n\nvar diffClamp = function diffClamp(a, min, max) {\n return new AnimatedDiffClamp(a, min, max);\n};\n\nvar _combineCallbacks = function _combineCallbacks(callback, config) {\n if (callback && config.onComplete) {\n return function () {\n config.onComplete && config.onComplete.apply(config, arguments);\n callback && callback.apply(void 0, arguments);\n };\n } else {\n return callback || config.onComplete;\n }\n};\n\nvar maybeVectorAnim = function maybeVectorAnim(value, config, anim) {\n if (value instanceof AnimatedValueXY) {\n var configX = _objectSpread({}, config);\n\n var configY = _objectSpread({}, config);\n\n for (var key in config) {\n var _config$key = config[key],\n x = _config$key.x,\n y = _config$key.y;\n\n if (x !== undefined && y !== undefined) {\n configX[key] = x;\n configY[key] = y;\n }\n }\n\n var aX = anim(value.x, configX);\n var aY = anim(value.y, configY); // We use `stopTogether: false` here because otherwise tracking will break\n // because the second animation will get stopped before it can update.\n\n return parallel([aX, aY], {\n stopTogether: false\n });\n }\n\n return null;\n};\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\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\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: iterations\n });\n\n _start(value, singleConfig);\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return config.useNativeDriver || false;\n }\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\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\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: iterations\n });\n\n _start2(value, singleConfig);\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return config.useNativeDriver || false;\n }\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\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: iterations\n });\n\n _start3(value, singleConfig);\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return config.useNativeDriver || false;\n }\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\n current++;\n\n if (current === animations.length) {\n callback && callback(result);\n return;\n }\n\n animations[current].start(onComplete);\n };\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(function (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};\n\nvar parallel = function parallel(animations, config) {\n var doneCount = 0; // Make sure we only call stop() at most once for each animation\n\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\n animations.forEach(function (animation, idx) {\n var cb = function cb(endResult) {\n hasEnded[idx] = true;\n doneCount++;\n\n if (doneCount === animations.length) {\n doneCount = 0;\n callback && callback(endResult);\n return;\n }\n\n if (!endResult.finished && stopTogether) {\n result.stop();\n }\n };\n\n if (!animation) {\n cb({\n finished: true\n });\n } else {\n animation.start(cb);\n }\n });\n },\n stop: function stop() {\n animations.forEach(function (animation, idx) {\n !hasEnded[idx] && animation.stop();\n hasEnded[idx] = true;\n });\n },\n reset: function reset() {\n animations.forEach(function (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};\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};\n\nvar stagger = function stagger(time, animations) {\n return parallel(animations.map(function (animation, i) {\n return sequence([delay(time * i), animation]);\n }));\n};\n\nvar loop = function loop(animation, _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\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\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\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};\n\nfunction forkEvent(event, listener) {\n if (!event) {\n return listener;\n } else if (event instanceof AnimatedEvent) {\n event.__addListener(listener);\n\n return event;\n } else {\n return function () {\n typeof event === 'function' && event.apply(void 0, arguments);\n listener.apply(void 0, arguments);\n };\n }\n}\n\nfunction unforkEvent(event, listener) {\n if (event && event instanceof AnimatedEvent) {\n event.__removeListener(listener);\n }\n}\n\nvar event = function event(argMapping, config) {\n var animatedEvent = new AnimatedEvent(argMapping, config);\n\n if (animatedEvent.__isNative) {\n return animatedEvent;\n } else {\n return animatedEvent.__getHandler();\n }\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.html\n */\n\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.html#value\n */\n Value: AnimatedValue,\n\n /**\n * 2D value class for driving 2D animations, such as pan gestures.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html\n */\n ValueXY: AnimatedValueXY,\n\n /**\n * Exported to use the Interpolation type in flow.\n *\n * See https://reactnative.dev/docs/animated.html#interpolation\n */\n Interpolation: AnimatedInterpolation,\n\n /**\n * Exported for ease of type checking. All animated values derive from this\n * class.\n *\n * See https://reactnative.dev/docs/animated.html#node\n */\n Node: AnimatedNode,\n\n /**\n * Animates a value from an initial velocity to zero based on a decay\n * coefficient.\n *\n * See https://reactnative.dev/docs/animated.html#decay\n */\n decay: decay,\n\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.html#timing\n */\n timing: timing,\n\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.html#spring\n */\n spring: spring,\n\n /**\n * Creates a new Animated value composed from two Animated values added\n * together.\n *\n * See https://reactnative.dev/docs/animated.html#add\n */\n add: add,\n\n /**\n * Creates a new Animated value composed by subtracting the second Animated\n * value from the first Animated value.\n *\n * See https://reactnative.dev/docs/animated.html#subtract\n */\n subtract: subtract,\n\n /**\n * Creates a new Animated value composed by dividing the first Animated value\n * by the second Animated value.\n *\n * See https://reactnative.dev/docs/animated.html#divide\n */\n divide: divide,\n\n /**\n * Creates a new Animated value composed from two Animated values multiplied\n * together.\n *\n * See https://reactnative.dev/docs/animated.html#multiply\n */\n multiply: multiply,\n\n /**\n * Creates a new Animated value that is the (non-negative) modulo of the\n * provided Animated value.\n *\n * See https://reactnative.dev/docs/animated.html#modulo\n */\n modulo: modulo,\n\n /**\n * Create a new Animated value that is limited between 2 values. It uses the\n * difference between the last value so even if the value is far from the\n * bounds it will start changing when the value starts getting closer again.\n *\n * See https://reactnative.dev/docs/animated.html#diffclamp\n */\n diffClamp: diffClamp,\n\n /**\n * Starts an animation after the given delay.\n *\n * See https://reactnative.dev/docs/animated.html#delay\n */\n delay: delay,\n\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.html#sequence\n */\n sequence: sequence,\n\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.html#parallel\n */\n parallel: parallel,\n\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.html#stagger\n */\n stagger: stagger,\n\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.html#loop\n */\n loop: loop,\n\n /**\n * Takes an array of mappings and extracts values from each arg accordingly,\n * then calls `setValue` on the mapped outputs.\n *\n * See https://reactnative.dev/docs/animated.html#event\n */\n event: event,\n\n /**\n * Make any React component Animatable. Used to create `Animated.View`, etc.\n *\n * See https://reactnative.dev/docs/animated.html#createanimatedcomponent\n */\n createAnimatedComponent: createAnimatedComponent,\n\n /**\n * Imperative API to attach an animated value to an event on a view. Prefer\n * using `Animated.event` with `useNativeDrive: true` if possible.\n *\n * See https://reactnative.dev/docs/animated.html#attachnativeevent\n */\n attachNativeEvent: attachNativeEvent,\n\n /**\n * Advanced imperative API for snooping on animated events that are passed in\n * through props. Use values directly where possible.\n *\n * See https://reactnative.dev/docs/animated.html#forkevent\n */\n forkEvent: forkEvent,\n unforkEvent: unforkEvent,\n\n /**\n * Expose Event class, so it can be used as a type for type checkers.\n */\n Event: AnimatedEvent,\n __PropsOnlyForTests: AnimatedProps\n};"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/696afbada424d44297f4be71e5d56bec.json b/.expo/web/cache/development/babel-loader/696afbada424d44297f4be71e5d56bec.json new file mode 100644 index 0000000000000000000000000000000000000000..aed75291c9e66c087f738b34297dcad2b27f56a2 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/696afbada424d44297f4be71e5d56bec.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore } from \"firebase/firestore\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n setUsers(users);\n });\n }, []);\n\n function writeData() {\n var docRef;\n return _regeneratorRuntime.async(function writeData$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _regeneratorRuntime.awrap(addDoc(collection(db, \"cities\"), {\n name: \"Tokyo\",\n country: \"Japan\"\n }));\n\n case 2:\n docRef = _context.sent;\n console.log(\"Document written with ID: \", docRef.id);\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n }\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsxs(Text, {\n children: [item.title, users.toString]\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\",\n onPress: writeData\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","writeData","name","country","docRef","console","log","params","Alert","alert","post","Item","item","onPress","backgroundColor","textColor","styles","title","toString","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\nasync function writeData(){\r\n /*try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\n\r\n// Add a new document with a generated id.\r\nconst docRef = await addDoc(collection(db, \"cities\"), {\r\n name: \"Tokyo\",\r\n country: \"Japan\"\r\n});\r\nconsole.log(\"Document written with ID: \", docRef.id);\r\n\r\n}\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})*/\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async (id) => {\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUser({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n {users.toString}\r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser' onPress={writeData}/>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/69759a284b12fc1763ab64f60386e9f8.json b/.expo/web/cache/development/babel-loader/69759a284b12fc1763ab64f60386e9f8.json new file mode 100644 index 0000000000000000000000000000000000000000..f267c47bb67adb9c9a569403ed2f7c2b6cf5dbac --- /dev/null +++ b/.expo/web/cache/development/babel-loader/69759a284b12fc1763ab64f60386e9f8.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n listenOnChange();\n useEffect(function () {\n var colRef = collection(getFirestore(), \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n email = _doc$data.email,\n image = _doc$data.image,\n name = _doc$data.name;\n\n var itemData = {\n name: name,\n email: email,\n image: image\n };\n Alert.alert(name);\n });\n });\n }, []);\n\n function useeffect() {\n getDocs(collection(getFirestore(), 'Users')).forEach(function (doc) {\n console.log(doc.id + \" => \" + doc.data());\n });\n }\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n }\n });\n });\n }\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" bla\"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATA","UserLists","navigation","route","users","setUsers","listenOnChange","colRef","querySnapshot","forEach","data","email","image","name","itemData","Alert","alert","useeffect","console","log","id","snapchot","docChanges","change","type","message","Name","Email","Image","push","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState(null);\r\n\r\nlistenOnChange();\r\n//useeffect();\r\n\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(getFirestore(),\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n const {email, image, name} = doc.data();\r\n const itemData = {name: name, email: email, image: image}\r\n //DATA.push(itemData);\r\n Alert.alert(name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\nfunction useeffect(){\r\n getDocs(collection(getFirestore(),'Users')).forEach((doc) => {\r\n console.log(`${doc.id} => ${doc.data()}`);\r\n});\r\n}\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n //Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> bla</Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/69c6b8d1c170893badc448dd93e3e60b.json b/.expo/web/cache/development/babel-loader/69c6b8d1c170893badc448dd93e3e60b.json new file mode 100644 index 0000000000000000000000000000000000000000..fb2bbaeed2b692e5db470d9b5768779c767c04fe --- /dev/null +++ b/.expo/web/cache/development/babel-loader/69c6b8d1c170893badc448dd93e3e60b.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport { nanoid } from 'nanoid/non-secure';\nvar BaseRouter = {\n getStateForAction: function getStateForAction(state, action) {\n switch (action.type) {\n case 'SET_PARAMS':\n {\n var index = action.source ? state.routes.findIndex(function (r) {\n return r.key === action.source;\n }) : state.index;\n\n if (index === -1) {\n return null;\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n routes: state.routes.map(function (r, i) {\n return i === index ? _objectSpread(_objectSpread({}, r), {}, {\n params: _objectSpread(_objectSpread({}, r.params), action.payload.params)\n }) : r;\n })\n });\n }\n\n case 'RESET':\n {\n var nextState = action.payload;\n\n if (nextState.routes.length === 0 || nextState.routes.some(function (route) {\n return !state.routeNames.includes(route.name);\n })) {\n return null;\n }\n\n if (nextState.stale === false) {\n if (state.routeNames.length !== nextState.routeNames.length || nextState.routeNames.some(function (name) {\n return !state.routeNames.includes(name);\n })) {\n return null;\n }\n\n return _objectSpread(_objectSpread({}, nextState), {}, {\n routes: nextState.routes.map(function (route) {\n return route.key ? route : _objectSpread(_objectSpread({}, route), {}, {\n key: route.name + \"-\" + nanoid()\n });\n })\n });\n }\n\n return nextState;\n }\n\n default:\n return null;\n }\n },\n shouldActionChangeFocus: function shouldActionChangeFocus(action) {\n return action.type === 'NAVIGATE';\n }\n};\nexport default BaseRouter;","map":{"version":3,"sources":["BaseRouter.tsx"],"names":["BaseRouter","getStateForAction","action","index","state","r","routes","params","nextState","route","name","key","nanoid","shouldActionChangeFocus"],"mappings":";;;;;;AAAA,SAAA,MAAA,QAAA,mBAAA;AAYA,IAAMA,UAAU,GAAG;AACjBC,EAAAA,iBADiB,6BACA,KADA,EACA,MADA,EAIqB;AACpC,YAAQC,MAAM,CAAd,IAAA;AACE,WAAA,YAAA;AAAmB;AACjB,cAAMC,KAAK,GAAGD,MAAM,CAANA,MAAAA,GACVE,KAAK,CAALA,MAAAA,CAAAA,SAAAA,CAAwBC,UAAAA,CAAD;AAAA,mBAAOA,CAAC,CAADA,GAAAA,KAAUH,MAAM,CADpCA,MACa;AAAA,WAAvBE,CADUF,GAEVE,KAAK,CAFT,KAAA;;AAIA,cAAID,KAAK,KAAK,CAAd,CAAA,EAAkB;AAChB,mBAAA,IAAA;AACD;;AAED,iDAAO,KAAP;AAEEG,YAAAA,MAAM,EAAE,KAAK,CAAL,MAAA,CAAA,GAAA,CAAiB,UAAA,CAAA,EAAA,CAAA;AAAA,qBACvB,CAAC,KAAD,KAAA,mCACI,CADJ;AACYC,gBAAAA,MAAM,kCAAOF,CAAC,CAAN,MAAF,GAAoBH,MAAM,CAANA,OAAAA,CAAeK,MAAnC;AADlB,mBADM,CAAiB;AAAA,aAAjB;AAFV;AAQD;;AAED,WAAA,OAAA;AAAc;AACZ,cAAMC,SAAS,GAAGN,MAAM,CAAxB,OAAA;;AAEA,cACEM,SAAS,CAATA,MAAAA,CAAAA,MAAAA,KAAAA,CAAAA,IACAA,SAAS,CAATA,MAAAA,CAAAA,IAAAA,CACGC,UAAAA,KAAD;AAAA,mBAA6B,CAACL,KAAK,CAALA,UAAAA,CAAAA,QAAAA,CAA0BK,KAAK,CAHjE,IAGkCL,CAA9B;AAAA,WADFI,CAFF,EAKE;AACA,mBAAA,IAAA;AACD;;AAED,cAAIA,SAAS,CAATA,KAAAA,KAAJ,KAAA,EAA+B;AAC7B,gBACEJ,KAAK,CAALA,UAAAA,CAAAA,MAAAA,KAA4BI,SAAS,CAATA,UAAAA,CAA5BJ,MAAAA,IACAI,SAAS,CAATA,UAAAA,CAAAA,IAAAA,CACGE,UAAAA,IAAD;AAAA,qBAAU,CAACN,KAAK,CAALA,UAAAA,CAAAA,QAAAA,CAHf,IAGeA,CAAX;AAAA,aADFI,CAFF,EAKE;AACA,qBAAA,IAAA;AACD;;AAED,mDAAO,SAAP;AAEEF,cAAAA,MAAM,EAAE,SAAS,CAAT,MAAA,CAAA,GAAA,CAAsBG,UAAAA,KAAD;AAAA,uBAC3BA,KAAK,CAALA,GAAAA,GAAAA,KAAAA,mCAAoB,KAApBA;AAAgCE,kBAAAA,GAAG,EAAKF,KAAK,CAACC,IAAX,SAAmBE,MAAM;AAA5DH,kBAD2B;AAAA,eAArB;AAFV;AAMD;;AAED,iBAAA,SAAA;AACD;;AAED;AACE,eAAA,IAAA;AAtDJ;AALe,GAAA;AA+DjBI,EAAAA,uBA/DiB,mCA+DM,MA/DN,EA+DuC;AACtD,WAAOX,MAAM,CAANA,IAAAA,KAAP,UAAA;AACD;AAjEgB,CAAnB;AAoEA,eAAA,UAAA","sourcesContent":["import { nanoid } from 'nanoid/non-secure';\n\nimport type {\n CommonNavigationAction,\n NavigationState,\n PartialState,\n} from './types';\n\n/**\n * Base router object that can be used when writing custom routers.\n * This provides few helper methods to handle common actions such as `RESET`.\n */\nconst BaseRouter = {\n getStateForAction<State extends NavigationState>(\n state: State,\n action: CommonNavigationAction\n ): State | PartialState<State> | null {\n switch (action.type) {\n case 'SET_PARAMS': {\n const index = action.source\n ? state.routes.findIndex((r) => r.key === action.source)\n : state.index;\n\n if (index === -1) {\n return null;\n }\n\n return {\n ...state,\n routes: state.routes.map((r, i) =>\n i === index\n ? { ...r, params: { ...r.params, ...action.payload.params } }\n : r\n ),\n };\n }\n\n case 'RESET': {\n const nextState = action.payload as State | PartialState<State>;\n\n if (\n nextState.routes.length === 0 ||\n nextState.routes.some(\n (route: { name: string }) => !state.routeNames.includes(route.name)\n )\n ) {\n return null;\n }\n\n if (nextState.stale === false) {\n if (\n state.routeNames.length !== nextState.routeNames.length ||\n nextState.routeNames.some(\n (name) => !state.routeNames.includes(name)\n )\n ) {\n return null;\n }\n\n return {\n ...nextState,\n routes: nextState.routes.map((route) =>\n route.key ? route : { ...route, key: `${route.name}-${nanoid()}` }\n ),\n };\n }\n\n return nextState;\n }\n\n default:\n return null;\n }\n },\n\n shouldActionChangeFocus(action: CommonNavigationAction) {\n return action.type === 'NAVIGATE';\n },\n};\n\nexport default BaseRouter;\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/6a20d1c7bb5432759e5577408857c029.json b/.expo/web/cache/development/babel-loader/6a20d1c7bb5432759e5577408857c029.json new file mode 100644 index 0000000000000000000000000000000000000000..f1a196fc0d9189356420c47756a14083e4d2dd74 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/6a20d1c7bb5432759e5577408857c029.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nimport NavigationBuilderContext from \"./NavigationBuilderContext\";\nimport useOnPreventRemove, { shouldPreventRemove } from \"./useOnPreventRemove\";\nexport default function useOnAction(_ref) {\n var router = _ref.router,\n getState = _ref.getState,\n setState = _ref.setState,\n key = _ref.key,\n actionListeners = _ref.actionListeners,\n beforeRemoveListeners = _ref.beforeRemoveListeners,\n routerConfigOptions = _ref.routerConfigOptions,\n emitter = _ref.emitter;\n\n var _React$useContext = React.useContext(NavigationBuilderContext),\n onActionParent = _React$useContext.onAction,\n onRouteFocusParent = _React$useContext.onRouteFocus,\n addListenerParent = _React$useContext.addListener,\n onDispatchAction = _React$useContext.onDispatchAction;\n\n var routerConfigOptionsRef = React.useRef(routerConfigOptions);\n React.useEffect(function () {\n routerConfigOptionsRef.current = routerConfigOptions;\n });\n var onAction = React.useCallback(function (action) {\n var visitedNavigators = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Set();\n var state = getState();\n\n if (visitedNavigators.has(state.key)) {\n return false;\n }\n\n visitedNavigators.add(state.key);\n\n if (typeof action.target !== 'string' || action.target === state.key) {\n var result = router.getStateForAction(state, action, routerConfigOptionsRef.current);\n result = result === null && action.target === state.key ? state : result;\n\n if (result !== null) {\n onDispatchAction(action, state === result);\n\n if (state !== result) {\n var isPrevented = shouldPreventRemove(emitter, beforeRemoveListeners, state.routes, result.routes, action);\n\n if (isPrevented) {\n return true;\n }\n\n setState(result);\n }\n\n if (onRouteFocusParent !== undefined) {\n var shouldFocus = router.shouldActionChangeFocus(action);\n\n if (shouldFocus && key !== undefined) {\n onRouteFocusParent(key);\n }\n }\n\n return true;\n }\n }\n\n if (onActionParent !== undefined) {\n if (onActionParent(action, visitedNavigators)) {\n return true;\n }\n }\n\n for (var i = actionListeners.length - 1; i >= 0; i--) {\n var listener = actionListeners[i];\n\n if (listener(action, visitedNavigators)) {\n return true;\n }\n }\n\n return false;\n }, [actionListeners, beforeRemoveListeners, emitter, getState, key, onActionParent, onDispatchAction, onRouteFocusParent, router, setState]);\n useOnPreventRemove({\n getState: getState,\n emitter: emitter,\n beforeRemoveListeners: beforeRemoveListeners\n });\n React.useEffect(function () {\n return addListenerParent === null || addListenerParent === void 0 ? void 0 : addListenerParent('action', onAction);\n }, [addListenerParent, onAction]);\n return onAction;\n}","map":{"version":3,"sources":["useOnAction.tsx"],"names":["emitter","onAction","onRouteFocus","addListener","onDispatchAction","React","routerConfigOptionsRef","visitedNavigators","state","getState","action","result","router","isPrevented","shouldPreventRemove","setState","onRouteFocusParent","shouldFocus","key","onActionParent","i","actionListeners","listener","useOnPreventRemove","beforeRemoveListeners","addListenerParent"],"mappings":"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","sourcesContent":["import type {\n NavigationAction,\n NavigationState,\n PartialState,\n Router,\n RouterConfigOptions,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationBuilderContext, {\n ChildActionListener,\n ChildBeforeRemoveListener,\n} from './NavigationBuilderContext';\nimport type { EventMapCore } from './types';\nimport type { NavigationEventEmitter } from './useEventEmitter';\nimport useOnPreventRemove, { shouldPreventRemove } from './useOnPreventRemove';\n\ntype Options = {\n router: Router<NavigationState, NavigationAction>;\n key?: string;\n getState: () => NavigationState;\n setState: (state: NavigationState | PartialState<NavigationState>) => void;\n actionListeners: ChildActionListener[];\n beforeRemoveListeners: Record<string, ChildBeforeRemoveListener | undefined>;\n routerConfigOptions: RouterConfigOptions;\n emitter: NavigationEventEmitter<EventMapCore<any>>;\n};\n\n/**\n * Hook to handle actions for a navigator, including state updates and bubbling.\n *\n * Bubbling an action is achieved in 2 ways:\n * 1. To bubble action to parent, we expose the action handler in context and then access the parent context\n * 2. To bubble action to child, child adds event listeners subscribing to actions from parent\n *\n * When the action handler handles as action, it returns `true`, otherwise `false`.\n */\nexport default function useOnAction({\n router,\n getState,\n setState,\n key,\n actionListeners,\n beforeRemoveListeners,\n routerConfigOptions,\n emitter,\n}: Options) {\n const {\n onAction: onActionParent,\n onRouteFocus: onRouteFocusParent,\n addListener: addListenerParent,\n onDispatchAction,\n } = React.useContext(NavigationBuilderContext);\n\n const routerConfigOptionsRef =\n React.useRef<RouterConfigOptions>(routerConfigOptions);\n\n React.useEffect(() => {\n routerConfigOptionsRef.current = routerConfigOptions;\n });\n\n const onAction = React.useCallback(\n (\n action: NavigationAction,\n visitedNavigators: Set<string> = new Set<string>()\n ) => {\n const state = getState();\n\n // Since actions can bubble both up and down, they could come to the same navigator again\n // We keep track of navigators which have already tried to handle the action and return if it's already visited\n if (visitedNavigators.has(state.key)) {\n return false;\n }\n\n visitedNavigators.add(state.key);\n\n if (typeof action.target !== 'string' || action.target === state.key) {\n let result = router.getStateForAction(\n state,\n action,\n routerConfigOptionsRef.current\n );\n\n // If a target is specified and set to current navigator, the action shouldn't bubble\n // So instead of `null`, we use the state object for such cases to signal that action was handled\n result =\n result === null && action.target === state.key ? state : result;\n\n if (result !== null) {\n onDispatchAction(action, state === result);\n\n if (state !== result) {\n const isPrevented = shouldPreventRemove(\n emitter,\n beforeRemoveListeners,\n state.routes,\n result.routes,\n action\n );\n\n if (isPrevented) {\n return true;\n }\n\n setState(result);\n }\n\n if (onRouteFocusParent !== undefined) {\n // Some actions such as `NAVIGATE` also want to bring the navigated route to focus in the whole tree\n // This means we need to focus all of the parent navigators of this navigator as well\n const shouldFocus = router.shouldActionChangeFocus(action);\n\n if (shouldFocus && key !== undefined) {\n onRouteFocusParent(key);\n }\n }\n\n return true;\n }\n }\n\n if (onActionParent !== undefined) {\n // Bubble action to the parent if the current navigator didn't handle it\n if (onActionParent(action, visitedNavigators)) {\n return true;\n }\n }\n\n // If the action wasn't handled by current navigator or a parent navigator, let children handle it\n for (let i = actionListeners.length - 1; i >= 0; i--) {\n const listener = actionListeners[i];\n\n if (listener(action, visitedNavigators)) {\n return true;\n }\n }\n\n return false;\n },\n [\n actionListeners,\n beforeRemoveListeners,\n emitter,\n getState,\n key,\n onActionParent,\n onDispatchAction,\n onRouteFocusParent,\n router,\n setState,\n ]\n );\n\n useOnPreventRemove({\n getState,\n emitter,\n beforeRemoveListeners,\n });\n\n React.useEffect(\n () => addListenerParent?.('action', onAction),\n [addListenerParent, onAction]\n );\n\n return onAction;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/6a747e64c1b25abe6a3e7e6d9758e20c.json b/.expo/web/cache/development/babel-loader/6a747e64c1b25abe6a3e7e6d9758e20c.json new file mode 100644 index 0000000000000000000000000000000000000000..f1784fab6e38e3ba4f02d9b55fbf8f4892ec2b6a --- /dev/null +++ b/.expo/web/cache/development/babel-loader/6a747e64c1b25abe6a3e7e6d9758e20c.json @@ -0,0 +1 @@ +{"ast":null,"code":"function emptyFunction() {}\n\nvar BackHandler = {\n exitApp: emptyFunction,\n addEventListener: function addEventListener() {\n return {\n remove: emptyFunction\n };\n },\n removeEventListener: emptyFunction\n};\nexport default BackHandler;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/BackHandler/index.js"],"names":["emptyFunction","BackHandler","exitApp","addEventListener","remove","removeEventListener"],"mappings":"AASA,SAASA,aAAT,GAAyB,CAAE;;AAE3B,IAAIC,WAAW,GAAG;AAChBC,EAAAA,OAAO,EAAEF,aADO;AAEhBG,EAAAA,gBAAgB,EAAE,SAASA,gBAAT,GAA4B;AAC5C,WAAO;AACLC,MAAAA,MAAM,EAAEJ;AADH,KAAP;AAGD,GANe;AAOhBK,EAAAA,mBAAmB,EAAEL;AAPL,CAAlB;AASA,eAAeC,WAAf","sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\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 */\nfunction emptyFunction() {}\n\nvar BackHandler = {\n exitApp: emptyFunction,\n addEventListener: function addEventListener() {\n return {\n remove: emptyFunction\n };\n },\n removeEventListener: emptyFunction\n};\nexport default BackHandler;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/6ab566de4eae91c528ae365b5d632ac5.json b/.expo/web/cache/development/babel-loader/6ab566de4eae91c528ae365b5d632ac5.json new file mode 100644 index 0000000000000000000000000000000000000000..779be644655aa2656f4ba73ad9c530c57c2720a5 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/6ab566de4eae91c528ae365b5d632ac5.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n if (route.params != null) {\n DATA.push({\n id: '899',\n title: route.params.post\n });\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {\n children: item.title\n })\n })\n });\n };\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n selectedId = _useState2[0],\n setSelectedId = _useState2[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","DATA","UserLists","navigation","route","params","push","id","title","post","Alert","alert","Item","item","onPress","backgroundColor","textColor","styles","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nif(route.params != null){\r\nDATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/6badab0c314c7d87d50f3a36a6d02ce7.json b/.expo/web/cache/development/babel-loader/6badab0c314c7d87d50f3a36a6d02ce7.json new file mode 100644 index 0000000000000000000000000000000000000000..caa8ffa6a3b7e35b294aebad2f74ef836e26e508 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/6badab0c314c7d87d50f3a36a6d02ce7.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nimport CurrentRenderContext from \"./CurrentRenderContext\";\nexport default function useCurrentRender(_ref) {\n var state = _ref.state,\n navigation = _ref.navigation,\n descriptors = _ref.descriptors;\n var current = React.useContext(CurrentRenderContext);\n\n if (current && navigation.isFocused()) {\n current.options = descriptors[state.routes[state.index].key].options;\n }\n}","map":{"version":3,"sources":["useCurrentRender.tsx"],"names":["descriptors","current","React","navigation","state"],"mappings":"AACA,OAAO,KAAP,KAAA,MAAA,OAAA;AAEA,OAAA,oBAAA;AAqBA,eAAe,SAAA,gBAAA,CAAA,IAAA,EAIH;AAJ6B,MAAA,KAAA,GAI7B,IAJ6B,CAAA,KAAA;AAAA,MAAA,UAAA,GAI7B,IAJ6B,CAAA,UAAA;AAAA,MAGvCA,WAHuC,GAI7B,IAJ6B,CAGvCA,WAHuC;AAKvC,MAAMC,OAAO,GAAGC,KAAK,CAALA,UAAAA,CAAhB,oBAAgBA,CAAhB;;AAEA,MAAID,OAAO,IAAIE,UAAU,CAAzB,SAAeA,EAAf,EAAuC;AACrCF,IAAAA,OAAO,CAAPA,OAAAA,GAAkBD,WAAW,CAACI,KAAK,CAALA,MAAAA,CAAaA,KAAK,CAAlBA,KAAAA,EAAZJ,GAAW,CAAXA,CAAlBC,OAAAA;AACD;AACF","sourcesContent":["import type { NavigationState, ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport CurrentRenderContext from './CurrentRenderContext';\nimport type {\n Descriptor,\n NavigationHelpers,\n NavigationProp,\n RouteProp,\n} from './types';\n\ntype Options = {\n state: NavigationState;\n navigation: NavigationHelpers<ParamListBase>;\n descriptors: Record<\n string,\n Descriptor<object, NavigationProp<ParamListBase>, RouteProp<ParamListBase>>\n >;\n};\n\n/**\n * Write the current options, so that server renderer can get current values\n * Mutating values like this is not safe in async mode, but it doesn't apply to SSR\n */\nexport default function useCurrentRender({\n state,\n navigation,\n descriptors,\n}: Options) {\n const current = React.useContext(CurrentRenderContext);\n\n if (current && navigation.isFocused()) {\n current.options = descriptors[state.routes[state.index].key].options;\n }\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/6c3de967960b4cd09c356863daf426c2.json b/.expo/web/cache/development/babel-loader/6c3de967960b4cd09c356863daf426c2.json new file mode 100644 index 0000000000000000000000000000000000000000..ef461fc87cdf965172718b4f7abb539436e9b2db --- /dev/null +++ b/.expo/web/cache/development/babel-loader/6c3de967960b4cd09c356863daf426c2.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nimport AnimatedValue from \"./nodes/AnimatedValue\";\nimport NativeAnimatedHelper from \"./NativeAnimatedHelper\";\nimport findNodeHandle from \"../../../exports/findNodeHandle\";\nimport invariant from 'fbjs/lib/invariant';\nimport { shouldUseNativeDriver } from \"./NativeAnimatedHelper\";\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nexport function attachNativeEvent(viewRef, eventName, argMapping) {\n var eventMappings = [];\n\n var traverse = function traverse(value, path) {\n if (value instanceof AnimatedValue) {\n value.__makeNative();\n\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\n invariant(argMapping[0] && argMapping[0].nativeEvent, 'Native driven events only support animated values contained inside `nativeEvent`.');\n traverse(argMapping[0].nativeEvent, []);\n var viewTag = findNodeHandle(viewRef);\n\n if (viewTag != null) {\n eventMappings.forEach(function (mapping) {\n NativeAnimatedHelper.API.addAnimatedEventToView(viewTag, eventName, mapping);\n });\n }\n\n return {\n detach: function detach() {\n if (viewTag != null) {\n eventMappings.forEach(function (mapping) {\n NativeAnimatedHelper.API.removeAnimatedEventFromView(viewTag, eventName, mapping.animatedValueTag);\n });\n }\n }\n };\n}\n\nfunction validateMapping(argMapping, args) {\n var validate = function 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\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\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\n for (var mappingKey in recMapping) {\n validate(recMapping[mappingKey], recEvt[mappingKey], mappingKey);\n }\n };\n\n invariant(args.length >= argMapping.length, 'Event has less arguments than mapping');\n argMapping.forEach(function (mapping, idx) {\n validate(mapping, args[idx], 'arg' + idx);\n });\n}\n\nexport var AnimatedEvent = function () {\n function AnimatedEvent(argMapping, config) {\n this._listeners = [];\n this._argMapping = argMapping;\n\n if (config == null) {\n console.warn('Animated.event now requires a second argument for options');\n config = {\n useNativeDriver: false\n };\n }\n\n if (config.listener) {\n this.__addListener(config.listener);\n }\n\n this._callListeners = this._callListeners.bind(this);\n this._attachedEvent = null;\n this.__isNative = shouldUseNativeDriver(config);\n }\n\n var _proto = AnimatedEvent.prototype;\n\n _proto.__addListener = function __addListener(callback) {\n this._listeners.push(callback);\n };\n\n _proto.__removeListener = function __removeListener(callback) {\n this._listeners = this._listeners.filter(function (listener) {\n return listener !== callback;\n });\n };\n\n _proto.__attach = function __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\n _proto.__detach = function __detach(viewTag, eventName) {\n invariant(this.__isNative, 'Only native driven events need to be detached.');\n this._attachedEvent && this._attachedEvent.detach();\n };\n\n _proto.__getHandler = function __getHandler() {\n var _this = this;\n\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\n if (!_validatedMapping) {\n validateMapping(_this._argMapping, args);\n _validatedMapping = true;\n }\n\n _this._callListeners.apply(_this, args);\n };\n } else {\n return this._callListeners;\n }\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\n if (__DEV__ && !validatedMapping) {\n validateMapping(_this._argMapping, args);\n validatedMapping = true;\n }\n\n var traverse = function 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 traverse(recMapping[mappingKey], recEvt[mappingKey], mappingKey);\n }\n }\n };\n\n _this._argMapping.forEach(function (mapping, idx) {\n traverse(mapping, args[idx], 'arg' + idx);\n });\n\n _this._callListeners.apply(_this, args);\n };\n };\n\n _proto._callListeners = function _callListeners() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key4 = 0; _key4 < _len3; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n this._listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n };\n\n return AnimatedEvent;\n}();","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/AnimatedEvent.js"],"names":["AnimatedValue","NativeAnimatedHelper","findNodeHandle","invariant","shouldUseNativeDriver","__DEV__","process","env","NODE_ENV","attachNativeEvent","viewRef","eventName","argMapping","eventMappings","traverse","value","path","__makeNative","push","nativeEventPath","animatedValueTag","__getNativeTag","_key","concat","nativeEvent","viewTag","forEach","mapping","API","addAnimatedEventToView","detach","removeAnimatedEventFromView","validateMapping","args","validate","recMapping","recEvt","key","mappingKey","length","idx","AnimatedEvent","config","_listeners","_argMapping","console","warn","useNativeDriver","listener","__addListener","_callListeners","bind","_attachedEvent","__isNative","_proto","prototype","callback","__removeListener","filter","__attach","__detach","__getHandler","_this","_validatedMapping","_len","arguments","Array","_key2","apply","validatedMapping","_len2","_key3","setValue","_len3","_key4"],"mappings":"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","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nimport AnimatedValue from './nodes/AnimatedValue';\nimport NativeAnimatedHelper from './NativeAnimatedHelper';\nimport findNodeHandle from '../../../exports/findNodeHandle';\nimport invariant from 'fbjs/lib/invariant';\nimport { shouldUseNativeDriver } from './NativeAnimatedHelper';\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\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\n var traverse = function traverse(value, path) {\n if (value instanceof AnimatedValue) {\n value.__makeNative();\n\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\n invariant(argMapping[0] && argMapping[0].nativeEvent, 'Native driven events only support animated values contained inside `nativeEvent`.'); // Assume that the event containing `nativeEvent` is always the first argument.\n\n traverse(argMapping[0].nativeEvent, []);\n var viewTag = findNodeHandle(viewRef);\n\n if (viewTag != null) {\n eventMappings.forEach(function (mapping) {\n NativeAnimatedHelper.API.addAnimatedEventToView(viewTag, eventName, mapping);\n });\n }\n\n return {\n detach: function detach() {\n if (viewTag != null) {\n eventMappings.forEach(function (mapping) {\n NativeAnimatedHelper.API.removeAnimatedEventFromView(viewTag, eventName, // $FlowFixMe[incompatible-call]\n mapping.animatedValueTag);\n });\n }\n }\n };\n}\n\nfunction validateMapping(argMapping, args) {\n var validate = function 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\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\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\n for (var mappingKey in recMapping) {\n validate(recMapping[mappingKey], recEvt[mappingKey], mappingKey);\n }\n };\n\n invariant(args.length >= argMapping.length, 'Event has less arguments than mapping');\n argMapping.forEach(function (mapping, idx) {\n validate(mapping, args[idx], 'arg' + idx);\n });\n}\n\nexport var AnimatedEvent = /*#__PURE__*/function () {\n function AnimatedEvent(argMapping, config) {\n this._listeners = [];\n this._argMapping = argMapping;\n\n if (config == null) {\n console.warn('Animated.event now requires a second argument for options');\n config = {\n useNativeDriver: false\n };\n }\n\n if (config.listener) {\n this.__addListener(config.listener);\n }\n\n this._callListeners = this._callListeners.bind(this);\n this._attachedEvent = null;\n this.__isNative = shouldUseNativeDriver(config);\n }\n\n var _proto = AnimatedEvent.prototype;\n\n _proto.__addListener = function __addListener(callback) {\n this._listeners.push(callback);\n };\n\n _proto.__removeListener = function __removeListener(callback) {\n this._listeners = this._listeners.filter(function (listener) {\n return listener !== callback;\n });\n };\n\n _proto.__attach = function __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\n _proto.__detach = function __detach(viewTag, eventName) {\n invariant(this.__isNative, 'Only native driven events need to be detached.');\n this._attachedEvent && this._attachedEvent.detach();\n };\n\n _proto.__getHandler = function __getHandler() {\n var _this = this;\n\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\n if (!_validatedMapping) {\n validateMapping(_this._argMapping, args);\n _validatedMapping = true;\n }\n\n _this._callListeners.apply(_this, args);\n };\n } else {\n return this._callListeners;\n }\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\n if (__DEV__ && !validatedMapping) {\n validateMapping(_this._argMapping, args);\n validatedMapping = true;\n }\n\n var traverse = function 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\n _this._argMapping.forEach(function (mapping, idx) {\n traverse(mapping, args[idx], 'arg' + idx);\n });\n\n _this._callListeners.apply(_this, args);\n };\n };\n\n _proto._callListeners = function _callListeners() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key4 = 0; _key4 < _len3; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n this._listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n };\n\n return AnimatedEvent;\n}();"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/6c9d7bded812a183109aef2c507a2385.json b/.expo/web/cache/development/babel-loader/6c9d7bded812a183109aef2c507a2385.json new file mode 100644 index 0000000000000000000000000000000000000000..1c39655fa6e7b08285de1f92a04f109df8358552 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/6c9d7bded812a183109aef2c507a2385.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar base64 = require('base64-js');\n\nfunction binaryToBase64(data) {\n if (data instanceof ArrayBuffer) {\n data = new Uint8Array(data);\n }\n\n if (data instanceof Uint8Array) {\n return base64.fromByteArray(data);\n }\n\n if (!ArrayBuffer.isView(data)) {\n throw new Error('data must be ArrayBuffer or typed array');\n }\n\n var _ref = data,\n buffer = _ref.buffer,\n byteOffset = _ref.byteOffset,\n byteLength = _ref.byteLength;\n return base64.fromByteArray(new Uint8Array(buffer, byteOffset, byteLength));\n}\n\nmodule.exports = binaryToBase64;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native/Libraries/Utilities/binaryToBase64.js"],"names":["base64","require","binaryToBase64","data","ArrayBuffer","Uint8Array","fromByteArray","isView","Error","buffer","byteOffset","byteLength","module","exports"],"mappings":"AAUA;;AAEA,IAAMA,MAAM,GAAGC,OAAO,CAAC,WAAD,CAAtB;;AAEA,SAASC,cAAT,CAAwBC,IAAxB,EAAsE;AACpE,MAAIA,IAAI,YAAYC,WAApB,EAAiC;AAE/BD,IAAAA,IAAI,GAAG,IAAIE,UAAJ,CAAeF,IAAf,CAAP;AACD;;AACD,MAAIA,IAAI,YAAYE,UAApB,EAAgC;AAC9B,WAAOL,MAAM,CAACM,aAAP,CAAqBH,IAArB,CAAP;AACD;;AACD,MAAI,CAACC,WAAW,CAACG,MAAZ,CAAmBJ,IAAnB,CAAL,EAA+B;AAC7B,UAAM,IAAIK,KAAJ,CAAU,yCAAV,CAAN;AACD;;AAED,aAA2CL,IAA3C;AAAA,MAAOM,MAAP,QAAOA,MAAP;AAAA,MAAeC,UAAf,QAAeA,UAAf;AAAA,MAA2BC,UAA3B,QAA2BA,UAA3B;AACA,SAAOX,MAAM,CAACM,aAAP,CAAqB,IAAID,UAAJ,CAAeI,MAAf,EAAuBC,UAAvB,EAAmCC,UAAnC,CAArB,CAAP;AACD;;AAEDC,MAAM,CAACC,OAAP,GAAiBX,cAAjB","sourcesContent":["/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n'use strict';\n\nconst base64 = require('base64-js');\n\nfunction binaryToBase64(data: ArrayBuffer | $ArrayBufferView): string {\n if (data instanceof ArrayBuffer) {\n // $FlowFixMe[reassign-const]\n data = new Uint8Array(data);\n }\n if (data instanceof Uint8Array) {\n return base64.fromByteArray(data);\n }\n if (!ArrayBuffer.isView(data)) {\n throw new Error('data must be ArrayBuffer or typed array');\n }\n // Already checked that `data` is `DataView` in `ArrayBuffer.isView(data)`\n const {buffer, byteOffset, byteLength} = ((data: $FlowFixMe): DataView);\n return base64.fromByteArray(new Uint8Array(buffer, byteOffset, byteLength));\n}\n\nmodule.exports = binaryToBase64;\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/6dff524ab8822b5ff7d6584408628bcf.json b/.expo/web/cache/development/babel-loader/6dff524ab8822b5ff7d6584408628bcf.json new file mode 100644 index 0000000000000000000000000000000000000000..4ebb8a3a3210efebe7fd8a82a71142fe80543eb5 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/6dff524ab8822b5ff7d6584408628bcf.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\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\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 focusable = props.focusable,\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 testOnly_hovered = props.testOnly_hovered,\n testOnly_pressed = props.testOnly_pressed,\n rest = _objectWithoutPropertiesLoose(props, [\"children\", \"delayLongPress\", \"delayPressIn\", \"delayPressOut\", \"disabled\", \"focusable\", \"onBlur\", \"onContextMenu\", \"onFocus\", \"onHoverIn\", \"onHoverOut\", \"onKeyDown\", \"onLongPress\", \"onPress\", \"onPressMove\", \"onPressIn\", \"onPressOut\", \"style\", \"testOnly_hovered\", \"testOnly_pressed\"]);\n\n var _useForceableState = useForceableState(testOnly_hovered === true),\n hovered = _useForceableState[0],\n setHovered = _useForceableState[1];\n\n var _useForceableState2 = useForceableState(false),\n focused = _useForceableState2[0],\n setFocused = _useForceableState2[1];\n\n var _useForceableState3 = useForceableState(testOnly_pressed === true),\n pressed = _useForceableState3[0],\n setPressed = _useForceableState3[1];\n\n var hostRef = useRef(null);\n var setRef = useMergeRefs(forwardedRef, hostRef);\n var pressConfig = useMemo(function () {\n return {\n delayLongPress: delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n disabled: disabled,\n onLongPress: onLongPress,\n onPress: onPress,\n onPressChange: setPressed,\n onPressStart: onPressIn,\n onPressMove: onPressMove,\n onPressEnd: onPressOut\n };\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: disabled,\n onHoverChange: setHovered,\n onHoverStart: onHoverIn,\n onHoverEnd: onHoverOut\n });\n var interactionState = {\n hovered: hovered,\n focused: focused,\n pressed: pressed\n };\n var blurHandler = React.useCallback(function (e) {\n if (e.nativeEvent.target === hostRef.current) {\n setFocused(false);\n\n if (onBlur != null) {\n onBlur(e);\n }\n }\n }, [hostRef, setFocused, onBlur]);\n var focusHandler = React.useCallback(function (e) {\n if (e.nativeEvent.target === hostRef.current) {\n setFocused(true);\n\n if (onFocus != null) {\n onFocus(e);\n }\n }\n }, [hostRef, setFocused, onFocus]);\n var contextMenuHandler = React.useCallback(function (e) {\n if (onContextMenuPress != null) {\n onContextMenuPress(e);\n }\n\n if (onContextMenu != null) {\n onContextMenu(e);\n }\n }, [onContextMenu, onContextMenuPress]);\n var keyDownHandler = React.useCallback(function (e) {\n if (onKeyDownPress != null) {\n onKeyDownPress(e);\n }\n\n if (onKeyDown != null) {\n onKeyDown(e);\n }\n }, [onKeyDown, onKeyDownPress]);\n return React.createElement(View, _extends({}, rest, pressEventHandlers, {\n accessibilityDisabled: disabled,\n focusable: !disabled && focusable !== false,\n onBlur: blurHandler,\n onContextMenu: contextMenuHandler,\n onFocus: focusHandler,\n onKeyDown: keyDownHandler,\n ref: setRef,\n style: [!disabled && styles.root, typeof style === 'function' ? style(interactionState) : style]\n }), typeof children === 'function' ? children(interactionState) : children);\n}\n\nfunction useForceableState(forced) {\n var _useState = useState(false),\n bool = _useState[0],\n setBool = _useState[1];\n\n return [bool || forced, setBool];\n}\n\nvar styles = StyleSheet.create({\n root: {\n cursor: 'pointer',\n touchAction: 'manipulation'\n }\n});\nvar MemoedPressable = memo(forwardRef(Pressable));\nMemoedPressable.displayName = 'Pressable';\nexport default MemoedPressable;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/Pressable/index.js"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf","React","forwardRef","memo","useMemo","useState","useRef","useMergeRefs","useHover","usePressEvents","StyleSheet","View","Pressable","props","forwardedRef","children","delayLongPress","delayPressIn","delayPressOut","disabled","focusable","onBlur","onContextMenu","onFocus","onHoverIn","onHoverOut","onKeyDown","onLongPress","onPress","onPressMove","onPressIn","onPressOut","style","testOnly_hovered","testOnly_pressed","rest","_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","interactionState","blurHandler","useCallback","e","nativeEvent","current","focusHandler","contextMenuHandler","keyDownHandler","createElement","accessibilityDisabled","ref","styles","root","forced","_useState","bool","setBool","create","cursor","touchAction","MemoedPressable","displayName"],"mappings":"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","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\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/**\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 focusable = props.focusable,\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 testOnly_hovered = props.testOnly_hovered,\n testOnly_pressed = props.testOnly_pressed,\n rest = _objectWithoutPropertiesLoose(props, [\"children\", \"delayLongPress\", \"delayPressIn\", \"delayPressOut\", \"disabled\", \"focusable\", \"onBlur\", \"onContextMenu\", \"onFocus\", \"onHoverIn\", \"onHoverOut\", \"onKeyDown\", \"onLongPress\", \"onPress\", \"onPressMove\", \"onPressIn\", \"onPressOut\", \"style\", \"testOnly_hovered\", \"testOnly_pressed\"]);\n\n var _useForceableState = useForceableState(testOnly_hovered === true),\n hovered = _useForceableState[0],\n setHovered = _useForceableState[1];\n\n var _useForceableState2 = useForceableState(false),\n focused = _useForceableState2[0],\n setFocused = _useForceableState2[1];\n\n var _useForceableState3 = useForceableState(testOnly_pressed === true),\n pressed = _useForceableState3[0],\n setPressed = _useForceableState3[1];\n\n var hostRef = useRef(null);\n var setRef = useMergeRefs(forwardedRef, hostRef);\n var pressConfig = useMemo(function () {\n return {\n delayLongPress: delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n disabled: disabled,\n onLongPress: onLongPress,\n onPress: onPress,\n onPressChange: setPressed,\n onPressStart: onPressIn,\n onPressMove: onPressMove,\n onPressEnd: onPressOut\n };\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: disabled,\n onHoverChange: setHovered,\n onHoverStart: onHoverIn,\n onHoverEnd: onHoverOut\n });\n var interactionState = {\n hovered: hovered,\n focused: focused,\n pressed: pressed\n };\n var blurHandler = React.useCallback(function (e) {\n if (e.nativeEvent.target === hostRef.current) {\n setFocused(false);\n\n if (onBlur != null) {\n onBlur(e);\n }\n }\n }, [hostRef, setFocused, onBlur]);\n var focusHandler = React.useCallback(function (e) {\n if (e.nativeEvent.target === hostRef.current) {\n setFocused(true);\n\n if (onFocus != null) {\n onFocus(e);\n }\n }\n }, [hostRef, setFocused, onFocus]);\n var contextMenuHandler = React.useCallback(function (e) {\n if (onContextMenuPress != null) {\n onContextMenuPress(e);\n }\n\n if (onContextMenu != null) {\n onContextMenu(e);\n }\n }, [onContextMenu, onContextMenuPress]);\n var keyDownHandler = React.useCallback(function (e) {\n if (onKeyDownPress != null) {\n onKeyDownPress(e);\n }\n\n if (onKeyDown != null) {\n onKeyDown(e);\n }\n }, [onKeyDown, onKeyDownPress]);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, pressEventHandlers, {\n accessibilityDisabled: disabled,\n focusable: !disabled && focusable !== false,\n onBlur: blurHandler,\n onContextMenu: contextMenuHandler,\n onFocus: focusHandler,\n onKeyDown: keyDownHandler,\n ref: setRef,\n style: [!disabled && styles.root, typeof style === 'function' ? style(interactionState) : style]\n }), typeof children === 'function' ? children(interactionState) : children);\n}\n\nfunction useForceableState(forced) {\n var _useState = useState(false),\n bool = _useState[0],\n setBool = _useState[1];\n\n return [bool || forced, setBool];\n}\n\nvar styles = StyleSheet.create({\n root: {\n cursor: 'pointer',\n touchAction: 'manipulation'\n }\n});\nvar MemoedPressable = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(Pressable));\nMemoedPressable.displayName = 'Pressable';\nexport default MemoedPressable;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/6ee7390e6e02bb098efaf6999f6eebb2.json b/.expo/web/cache/development/babel-loader/6ee7390e6e02bb098efaf6999f6eebb2.json new file mode 100644 index 0000000000000000000000000000000000000000..96a9f8716bc1ec5d544a97a00f417ec339fd6bb0 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/6ee7390e6e02bb098efaf6999f6eebb2.json @@ -0,0 +1 @@ +{"ast":null,"code":"function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\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: FlatList,\n Image: Image,\n ScrollView: ScrollView,\n SectionList: SectionList,\n Text: Text,\n View: View\n}, Animated);","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/Animated.js"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","Platform","FlatList","Image","ScrollView","SectionList","Text","View","AnimatedMock","AnimatedImplementation","Animated","isTesting"],"mappings":"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","sourcesContent":["function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\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 * @format\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: FlatList,\n Image: Image,\n ScrollView: ScrollView,\n SectionList: SectionList,\n Text: Text,\n View: View\n}, Animated);"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/6f13751c662410e7f3512948b6ef5e7c.json b/.expo/web/cache/development/babel-loader/6f13751c662410e7f3512948b6ef5e7c.json new file mode 100644 index 0000000000000000000000000000000000000000..28996b1384e0554a85538ad1c5e08a76a36dae0c --- /dev/null +++ b/.expo/web/cache/development/babel-loader/6f13751c662410e7f3512948b6ef5e7c.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\n\nvar ReferenceBase = function () {\n function ReferenceBase(_path) {\n _classCallCheck(this, ReferenceBase);\n\n var path = _path;\n\n if (path) {\n path = path.length > 1 && path.endsWith('/') ? path.substring(0, path.length - 1) : path;\n\n if (path.startsWith('/') && path.length > 1) {\n path = path.substring(1, path.length);\n }\n } else {\n path = '/';\n }\n\n this.path = path;\n }\n\n _createClass(ReferenceBase, [{\n key: \"key\",\n get: function get() {\n return this.path === '/' ? null : this.path.substring(this.path.lastIndexOf('/') + 1);\n }\n }]);\n\n return ReferenceBase;\n}();\n\nexport { ReferenceBase as default };","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/app/lib/common/ReferenceBase.js"],"names":["ReferenceBase","_path","path","length","endsWith","substring","startsWith","lastIndexOf"],"mappings":";;;IAiBqBA,a;AACnB,yBAAYC,KAAZ,EAAmB;AAAA;;AACjB,QAAIC,IAAI,GAAGD,KAAX;;AAEA,QAAIC,IAAJ,EAAU;AACRA,MAAAA,IAAI,GAAGA,IAAI,CAACC,MAAL,GAAc,CAAd,IAAmBD,IAAI,CAACE,QAAL,CAAc,GAAd,CAAnB,GAAwCF,IAAI,CAACG,SAAL,CAAe,CAAf,EAAkBH,IAAI,CAACC,MAAL,GAAc,CAAhC,CAAxC,GAA6ED,IAApF;;AACA,UAAIA,IAAI,CAACI,UAAL,CAAgB,GAAhB,KAAwBJ,IAAI,CAACC,MAAL,GAAc,CAA1C,EAA6C;AAC3CD,QAAAA,IAAI,GAAGA,IAAI,CAACG,SAAL,CAAe,CAAf,EAAkBH,IAAI,CAACC,MAAvB,CAAP;AACD;AACF,KALD,MAKO;AACLD,MAAAA,IAAI,GAAG,GAAP;AACD;;AAED,SAAKA,IAAL,GAAYA,IAAZ;AACD;;;;SAQD,eAAU;AACR,aAAO,KAAKA,IAAL,KAAc,GAAd,GAAoB,IAApB,GAA2B,KAAKA,IAAL,CAAUG,SAAV,CAAoB,KAAKH,IAAL,CAAUK,WAAV,CAAsB,GAAtB,IAA6B,CAAjD,CAAlC;AACD;;;;;;SAxBkBP,a","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nexport default class ReferenceBase {\n constructor(_path) {\n let path = _path;\n\n if (path) {\n path = path.length > 1 && path.endsWith('/') ? path.substring(0, path.length - 1) : path;\n if (path.startsWith('/') && path.length > 1) {\n path = path.substring(1, path.length);\n }\n } else {\n path = '/';\n }\n\n this.path = path;\n }\n\n /**\n * The last part of a Reference's path (after the last '/')\n * The key of a root Reference is null.\n * @type {String}\n * {@link https://firebase.google.com/docs/reference/js/firebase.database.Reference#key}\n */\n get key() {\n return this.path === '/' ? null : this.path.substring(this.path.lastIndexOf('/') + 1);\n }\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/6f63c01c7a8686f9cb0c09389de78084.json b/.expo/web/cache/development/babel-loader/6f63c01c7a8686f9cb0c09389de78084.json new file mode 100644 index 0000000000000000000000000000000000000000..cc46cf7f2e0c73d05e105e5add9a70ef1bd8fc3c --- /dev/null +++ b/.expo/web/cache/development/babel-loader/6f63c01c7a8686f9cb0c09389de78084.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { NavigationContext, NavigationRouteContext } from '@react-navigation/native';\nimport * as React from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport View from \"react-native-web/dist/exports/View\";\nimport { useSafeAreaFrame, useSafeAreaInsets } from 'react-native-safe-area-context';\nimport Background from \"./Background\";\nimport getDefaultHeaderHeight from \"./Header/getDefaultHeaderHeight\";\nimport HeaderHeightContext from \"./Header/HeaderHeightContext\";\nimport HeaderShownContext from \"./Header/HeaderShownContext\";\nexport default function Screen(props) {\n var dimensions = useSafeAreaFrame();\n var insets = useSafeAreaInsets();\n var isParentHeaderShown = React.useContext(HeaderShownContext);\n var parentHeaderHeight = React.useContext(HeaderHeightContext);\n var focused = props.focused,\n _props$modal = props.modal,\n modal = _props$modal === void 0 ? false : _props$modal,\n header = props.header,\n _props$headerShown = props.headerShown,\n headerShown = _props$headerShown === void 0 ? true : _props$headerShown,\n headerTransparent = props.headerTransparent,\n _props$headerStatusBa = props.headerStatusBarHeight,\n headerStatusBarHeight = _props$headerStatusBa === void 0 ? isParentHeaderShown ? 0 : insets.top : _props$headerStatusBa,\n navigation = props.navigation,\n route = props.route,\n children = props.children,\n style = props.style;\n\n var _React$useState = React.useState(function () {\n return getDefaultHeaderHeight(dimensions, modal, headerStatusBarHeight);\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n headerHeight = _React$useState2[0],\n setHeaderHeight = _React$useState2[1];\n\n return React.createElement(Background, {\n accessibilityElementsHidden: !focused,\n importantForAccessibility: focused ? 'auto' : 'no-hide-descendants',\n style: [styles.container, style]\n }, React.createElement(View, {\n style: styles.content\n }, React.createElement(HeaderShownContext.Provider, {\n value: isParentHeaderShown || headerShown !== false\n }, React.createElement(HeaderHeightContext.Provider, {\n value: headerShown ? headerHeight : parentHeaderHeight !== null && parentHeaderHeight !== void 0 ? parentHeaderHeight : 0\n }, children))), headerShown ? React.createElement(NavigationContext.Provider, {\n value: navigation\n }, React.createElement(NavigationRouteContext.Provider, {\n value: route\n }, React.createElement(View, {\n onLayout: function onLayout(e) {\n var height = e.nativeEvent.layout.height;\n setHeaderHeight(height);\n },\n style: headerTransparent ? styles.absolute : null\n }, header))) : null);\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n flexDirection: 'column-reverse'\n },\n content: {\n flex: 1\n },\n absolute: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0\n }\n});","map":{"version":3,"sources":["Screen.tsx"],"names":["dimensions","useSafeAreaFrame","insets","useSafeAreaInsets","isParentHeaderShown","React","parentHeaderHeight","modal","headerShown","headerStatusBarHeight","style","getDefaultHeaderHeight","focused","styles","content","navigation","route","e","height","setHeaderHeight","headerTransparent","container","flex","flexDirection","absolute","position","top","left","right"],"mappings":"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","sourcesContent":["import {\n NavigationContext,\n NavigationProp,\n NavigationRouteContext,\n ParamListBase,\n RouteProp,\n} from '@react-navigation/native';\nimport * as React from 'react';\nimport { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\nimport {\n useSafeAreaFrame,\n useSafeAreaInsets,\n} from 'react-native-safe-area-context';\n\nimport Background from './Background';\nimport getDefaultHeaderHeight from './Header/getDefaultHeaderHeight';\nimport HeaderHeightContext from './Header/HeaderHeightContext';\nimport HeaderShownContext from './Header/HeaderShownContext';\n\ntype Props = {\n focused: boolean;\n modal?: boolean;\n navigation: NavigationProp<ParamListBase>;\n route: RouteProp<ParamListBase>;\n header: React.ReactNode;\n headerShown?: boolean;\n headerStatusBarHeight?: number;\n headerTransparent?: boolean;\n style?: StyleProp<ViewStyle>;\n children: React.ReactNode;\n};\n\nexport default function Screen(props: Props) {\n const dimensions = useSafeAreaFrame();\n const insets = useSafeAreaInsets();\n\n const isParentHeaderShown = React.useContext(HeaderShownContext);\n const parentHeaderHeight = React.useContext(HeaderHeightContext);\n\n const {\n focused,\n modal = false,\n header,\n headerShown = true,\n headerTransparent,\n headerStatusBarHeight = isParentHeaderShown ? 0 : insets.top,\n navigation,\n route,\n children,\n style,\n } = props;\n\n const [headerHeight, setHeaderHeight] = React.useState(() =>\n getDefaultHeaderHeight(dimensions, modal, headerStatusBarHeight)\n );\n\n return (\n <Background\n accessibilityElementsHidden={!focused}\n importantForAccessibility={focused ? 'auto' : 'no-hide-descendants'}\n style={[styles.container, style]}\n >\n <View style={styles.content}>\n <HeaderShownContext.Provider\n value={isParentHeaderShown || headerShown !== false}\n >\n <HeaderHeightContext.Provider\n value={headerShown ? headerHeight : parentHeaderHeight ?? 0}\n >\n {children}\n </HeaderHeightContext.Provider>\n </HeaderShownContext.Provider>\n </View>\n {headerShown ? (\n <NavigationContext.Provider value={navigation}>\n <NavigationRouteContext.Provider value={route}>\n <View\n onLayout={(e) => {\n const { height } = e.nativeEvent.layout;\n\n setHeaderHeight(height);\n }}\n style={headerTransparent ? styles.absolute : null}\n >\n {header}\n </View>\n </NavigationRouteContext.Provider>\n </NavigationContext.Provider>\n ) : null}\n </Background>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n flexDirection: 'column-reverse',\n },\n // This is necessary to avoid applying 'column-reverse' to screen content\n content: {\n flex: 1,\n },\n absolute: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n },\n});\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/6ffc95b7571a4cdd8387613c13593056.json b/.expo/web/cache/development/babel-loader/6ffc95b7571a4cdd8387613c13593056.json new file mode 100644 index 0000000000000000000000000000000000000000..61e64cb5ad2865f9ab22b5c2dcdd9d0460df8d0c --- /dev/null +++ b/.expo/web/cache/development/babel-loader/6ffc95b7571a4cdd8387613c13593056.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { setRecoveryPropsToSave } from \"./ErroRecoveryStore\";\nimport ExpoErrorRecovery from \"./ExpoErrorRecovery\";\nimport \"./ErrorRecovery.fx\";\nexport var recoveredProps = _getRecoveredProps();\nexport function setRecoveryProps(props) {\n setRecoveryPropsToSave(props);\n}\n\nfunction _getRecoveredProps() {\n if (ExpoErrorRecovery.recoveredProps) {\n return JSON.parse(ExpoErrorRecovery.recoveredProps);\n }\n\n return null;\n}","map":{"version":3,"sources":["../src/ErrorRecovery.ts"],"names":[],"mappings":"AAAA,SAAS,sBAAT;AACA,OAAO,iBAAP;AACA;AAGA,OAAO,IAAM,cAAc,GAAG,kBAAkB,EAAzC;AAgBP,OAAM,SAAU,gBAAV,CAA2B,KAA3B,EAAoD;AACxD,EAAA,sBAAsB,CAAC,KAAD,CAAtB;AACD;;AAED,SAAS,kBAAT,GAA2B;AACzB,MAAI,iBAAiB,CAAC,cAAtB,EAAsC;AACpC,WAAO,IAAI,CAAC,KAAL,CAAW,iBAAiB,CAAC,cAA7B,CAAP;AACD;;AACD,SAAO,IAAP;AACD","sourcesContent":["import { setRecoveryPropsToSave } from './ErroRecoveryStore';\nimport ExpoErrorRecovery from './ExpoErrorRecovery';\nimport './ErrorRecovery.fx';\n\n// @docsMissing\nexport const recoveredProps = _getRecoveredProps();\n\n// @docsMissing\nexport type ErrorRecoveryProps = Record<string, any>;\n\n// @needsAudit\n/**\n * Set arbitrary error recovery props. If your project crashes in production as a result of a fatal\n * JS error, Expo will reload your project. If you've set these props, they'll be passed to your\n * reloaded project's initial props under `exp.errorRecovery`. Access to `localStorage` is required\n * on web, or else this will simply be a no-op.\n *\n * [Read more about error handling with Expo](/guides/errors).\n * @param props An object which will be passed to your reloaded project's initial props if the\n * project was reloaded as a result of a fatal JS error.\n */\nexport function setRecoveryProps(props: ErrorRecoveryProps): void {\n setRecoveryPropsToSave(props);\n}\n\nfunction _getRecoveredProps(): ErrorRecoveryProps | null {\n if (ExpoErrorRecovery.recoveredProps) {\n return JSON.parse(ExpoErrorRecovery.recoveredProps);\n }\n return null;\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/709b551b0688ec3928cc276bbe68203c.json b/.expo/web/cache/development/babel-loader/709b551b0688ec3928cc276bbe68203c.json new file mode 100644 index 0000000000000000000000000000000000000000..5d3a62ca551cfb62391d8fb223f23701818dd12e --- /dev/null +++ b/.expo/web/cache/development/babel-loader/709b551b0688ec3928cc276bbe68203c.json @@ -0,0 +1 @@ +{"ast":null,"code":"import getNamedContext from \"../getNamedContext\";\nvar HeaderShownContext = getNamedContext('HeaderShownContext', false);\nexport default HeaderShownContext;","map":{"version":3,"sources":["HeaderShownContext.tsx"],"names":["HeaderShownContext","getNamedContext"],"mappings":"AAAA,OAAA,eAAA;AAEA,IAAMA,kBAAkB,GAAGC,eAAe,CAAA,oBAAA,EAA1C,KAA0C,CAA1C;AAEA,eAAA,kBAAA","sourcesContent":["import getNamedContext from '../getNamedContext';\n\nconst HeaderShownContext = getNamedContext('HeaderShownContext', false);\n\nexport default HeaderShownContext;\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/72d230807b8c886d0f7a39dc7fdf0fdf.json b/.expo/web/cache/development/babel-loader/72d230807b8c886d0f7a39dc7fdf0fdf.json new file mode 100644 index 0000000000000000000000000000000000000000..bf70d33ea3765d3976e161471a686741331ce015 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/72d230807b8c886d0f7a39dc7fdf0fdf.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createPrefixer from 'inline-style-prefixer/lib/createPrefixer';\nimport staticData from \"./static\";\nvar prefixAll = createPrefixer(staticData);\nexport var prefixInlineStyles = function prefixInlineStyles(style) {\n var prefixedStyles = prefixAll(style);\n Object.keys(prefixedStyles).forEach(function (prop) {\n var value = prefixedStyles[prop];\n\n if (Array.isArray(value)) {\n prefixedStyles[prop] = value[value.length - 1];\n }\n });\n return prefixedStyles;\n};\nexport default prefixAll;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/prefixStyles/index.js"],"names":["createPrefixer","staticData","prefixAll","prefixInlineStyles","style","prefixedStyles","Object","keys","forEach","prop","value","Array","isArray","length"],"mappings":"AAQA,OAAOA,cAAP,MAA2B,0CAA3B;AACA,OAAOC,UAAP;AACA,IAAIC,SAAS,GAAGF,cAAc,CAACC,UAAD,CAA9B;AACA,OAAO,IAAIE,kBAAkB,GAAG,SAASA,kBAAT,CAA4BC,KAA5B,EAAmC;AACjE,MAAIC,cAAc,GAAGH,SAAS,CAACE,KAAD,CAA9B;AAGAE,EAAAA,MAAM,CAACC,IAAP,CAAYF,cAAZ,EAA4BG,OAA5B,CAAoC,UAAUC,IAAV,EAAgB;AAClD,QAAIC,KAAK,GAAGL,cAAc,CAACI,IAAD,CAA1B;;AAEA,QAAIE,KAAK,CAACC,OAAN,CAAcF,KAAd,CAAJ,EAA0B;AACxBL,MAAAA,cAAc,CAACI,IAAD,CAAd,GAAuBC,KAAK,CAACA,KAAK,CAACG,MAAN,GAAe,CAAhB,CAA5B;AACD;AACF,GAND;AAOA,SAAOR,cAAP;AACD,CAZM;AAaP,eAAeH,SAAf","sourcesContent":["/**\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 createPrefixer from 'inline-style-prefixer/lib/createPrefixer';\nimport staticData from './static';\nvar prefixAll = createPrefixer(staticData);\nexport var prefixInlineStyles = function prefixInlineStyles(style) {\n var prefixedStyles = prefixAll(style); // React@15 removed undocumented support for fallback values in\n // inline-styles. Revert array values to the standard CSS value\n\n Object.keys(prefixedStyles).forEach(function (prop) {\n var value = prefixedStyles[prop];\n\n if (Array.isArray(value)) {\n prefixedStyles[prop] = value[value.length - 1];\n }\n });\n return prefixedStyles;\n};\nexport default prefixAll;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/7319c05e6bb3b4f98ffcc398c9b14c5e.json b/.expo/web/cache/development/babel-loader/7319c05e6bb3b4f98ffcc398c9b14c5e.json new file mode 100644 index 0000000000000000000000000000000000000000..af1c7890080cf19d47efc67cadae1db91ae3bd19 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/7319c05e6bb3b4f98ffcc398c9b14c5e.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nvar ServerContext = React.createContext(undefined);\nexport default ServerContext;","map":{"version":3,"sources":["ServerContext.tsx"],"names":["ServerContext","React"],"mappings":"AAAA,OAAO,KAAP,KAAA,MAAA,OAAA;AASA,IAAMA,aAAa,GAAGC,KAAK,CAALA,aAAAA,CAAtB,SAAsBA,CAAtB;AAIA,eAAA,aAAA","sourcesContent":["import * as React from 'react';\n\nexport type ServerContextType = {\n location?: {\n pathname: string;\n search: string;\n };\n};\n\nconst ServerContext = React.createContext<ServerContextType | undefined>(\n undefined\n);\n\nexport default ServerContext;\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/73503ad5a81d161e2657e8a8b0a08741.json b/.expo/web/cache/development/babel-loader/73503ad5a81d161e2657e8a8b0a08741.json new file mode 100644 index 0000000000000000000000000000000000000000..74e302741ed4597450a34e87dd46acf585492623 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/73503ad5a81d161e2657e8a8b0a08741.json @@ -0,0 +1 @@ +{"ast":null,"code":"export function pathParent(path) {\n if (path.length === 0) {\n return null;\n }\n\n var index = path.lastIndexOf('/');\n\n if (index <= 0) {\n return null;\n }\n\n return path.slice(0, index);\n}\nexport function pathChild(path, childPath) {\n var canonicalChildPath = pathPieces(childPath).join('/');\n\n if (path.length === 0) {\n return canonicalChildPath;\n }\n\n return path + \"/\" + canonicalChildPath;\n}\nexport function pathLastComponent(path) {\n var index = path.lastIndexOf('/', path.length - 2);\n\n if (index === -1) {\n return path;\n }\n\n return path.slice(index + 1);\n}\nexport function pathPieces(path) {\n return path.split('/').filter(function ($) {\n return $.length > 0;\n });\n}\nexport function pathIsEmpty(path) {\n return !pathPieces(path).length;\n}\nexport function pathToUrlEncodedString(path) {\n var pieces = pathPieces(path);\n var pathString = '';\n\n for (var i = 0; i < pieces.length; i++) {\n pathString += \"/\" + encodeURIComponent(String(pieces[i]));\n }\n\n return pathString || '/';\n}\nexport var INVALID_PATH_REGEX = /[[\\].#$\\u0000-\\u001F\\u007F]/;\nexport function isValidPath(path) {\n return typeof path === 'string' && path.length !== 0 && !INVALID_PATH_REGEX.test(path);\n}\nexport var INVALID_KEY_REGEX = /[\\[\\].#$\\/\\u0000-\\u001F\\u007F]/;\nexport function isValidKey(key) {\n return typeof key === 'string' && key.length !== 0 && !INVALID_KEY_REGEX.test(path);\n}\nexport function toFilePath(path) {\n var _filePath = path.replace('file://', '');\n\n if (_filePath.includes('%')) {\n _filePath = decodeURIComponent(_filePath);\n }\n\n return _filePath;\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/app/lib/common/path.js"],"names":["pathParent","path","length","index","lastIndexOf","slice","pathChild","childPath","canonicalChildPath","pathPieces","join","pathLastComponent","split","filter","$","pathIsEmpty","pathToUrlEncodedString","pieces","pathString","i","encodeURIComponent","String","INVALID_PATH_REGEX","isValidPath","test","INVALID_KEY_REGEX","isValidKey","key","toFilePath","_filePath","replace","includes","decodeURIComponent"],"mappings":"AAoBA,OAAO,SAASA,UAAT,CAAoBC,IAApB,EAA0B;AAC/B,MAAIA,IAAI,CAACC,MAAL,KAAgB,CAApB,EAAuB;AACrB,WAAO,IAAP;AACD;;AAED,MAAMC,KAAK,GAAGF,IAAI,CAACG,WAAL,CAAiB,GAAjB,CAAd;;AACA,MAAID,KAAK,IAAI,CAAb,EAAgB;AACd,WAAO,IAAP;AACD;;AAED,SAAOF,IAAI,CAACI,KAAL,CAAW,CAAX,EAAcF,KAAd,CAAP;AACD;AAKD,OAAO,SAASG,SAAT,CAAmBL,IAAnB,EAAyBM,SAAzB,EAAoC;AACzC,MAAMC,kBAAkB,GAAGC,UAAU,CAACF,SAAD,CAAV,CAAsBG,IAAtB,CAA2B,GAA3B,CAA3B;;AAEA,MAAIT,IAAI,CAACC,MAAL,KAAgB,CAApB,EAAuB;AACrB,WAAOM,kBAAP;AACD;;AAED,SAAUP,IAAV,SAAkBO,kBAAlB;AACD;AAKD,OAAO,SAASG,iBAAT,CAA2BV,IAA3B,EAAiC;AACtC,MAAME,KAAK,GAAGF,IAAI,CAACG,WAAL,CAAiB,GAAjB,EAAsBH,IAAI,CAACC,MAAL,GAAc,CAApC,CAAd;;AACA,MAAIC,KAAK,KAAK,CAAC,CAAf,EAAkB;AAChB,WAAOF,IAAP;AACD;;AAED,SAAOA,IAAI,CAACI,KAAL,CAAWF,KAAK,GAAG,CAAnB,CAAP;AACD;AAOD,OAAO,SAASM,UAAT,CAAoBR,IAApB,EAA0B;AAC/B,SAAOA,IAAI,CAACW,KAAL,CAAW,GAAX,EAAgBC,MAAhB,CAAuB,UAAAC,CAAC;AAAA,WAAIA,CAAC,CAACZ,MAAF,GAAW,CAAf;AAAA,GAAxB,CAAP;AACD;AAOD,OAAO,SAASa,WAAT,CAAqBd,IAArB,EAA2B;AAChC,SAAO,CAACQ,UAAU,CAACR,IAAD,CAAV,CAAiBC,MAAzB;AACD;AAOD,OAAO,SAASc,sBAAT,CAAgCf,IAAhC,EAAsC;AAC3C,MAAMgB,MAAM,GAAGR,UAAU,CAACR,IAAD,CAAzB;AACA,MAAIiB,UAAU,GAAG,EAAjB;;AACA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,MAAM,CAACf,MAA3B,EAAmCiB,CAAC,EAApC,EAAwC;AACtCD,IAAAA,UAAU,UAAQE,kBAAkB,CAACC,MAAM,CAACJ,MAAM,CAACE,CAAD,CAAP,CAAP,CAApC;AACD;;AACD,SAAOD,UAAU,IAAI,GAArB;AACD;AAGD,OAAO,IAAMI,kBAAkB,GAAG,6BAA3B;AAOP,OAAO,SAASC,WAAT,CAAqBtB,IAArB,EAA2B;AAChC,SAAO,OAAOA,IAAP,KAAgB,QAAhB,IAA4BA,IAAI,CAACC,MAAL,KAAgB,CAA5C,IAAiD,CAACoB,kBAAkB,CAACE,IAAnB,CAAwBvB,IAAxB,CAAzD;AACD;AAGD,OAAO,IAAMwB,iBAAiB,GAAG,gCAA1B;AAOP,OAAO,SAASC,UAAT,CAAoBC,GAApB,EAAyB;AAC9B,SAAO,OAAOA,GAAP,KAAe,QAAf,IAA2BA,GAAG,CAACzB,MAAJ,KAAe,CAA1C,IAA+C,CAACuB,iBAAiB,CAACD,IAAlB,CAAuBvB,IAAvB,CAAvD;AACD;AAOD,OAAO,SAAS2B,UAAT,CAAoB3B,IAApB,EAA0B;AAC/B,MAAI4B,SAAS,GAAG5B,IAAI,CAAC6B,OAAL,CAAa,SAAb,EAAwB,EAAxB,CAAhB;;AACA,MAAID,SAAS,CAACE,QAAV,CAAmB,GAAnB,CAAJ,EAA6B;AAC3BF,IAAAA,SAAS,GAAGG,kBAAkB,CAACH,SAAD,CAA9B;AACD;;AACD,SAAOA,SAAP;AACD","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n/**\n * Returns the next parent of the path e.g. /foo/bar/car -> /foo/bar\n */\nexport function pathParent(path) {\n if (path.length === 0) {\n return null;\n }\n\n const index = path.lastIndexOf('/');\n if (index <= 0) {\n return null;\n }\n\n return path.slice(0, index);\n}\n\n/**\n * Joins a parent and a child path\n */\nexport function pathChild(path, childPath) {\n const canonicalChildPath = pathPieces(childPath).join('/');\n\n if (path.length === 0) {\n return canonicalChildPath;\n }\n\n return `${path}/${canonicalChildPath}`;\n}\n\n/**\n * Returns the last component of a path, e.g /foo/bar.jpeg -> bar.jpeg\n */\nexport function pathLastComponent(path) {\n const index = path.lastIndexOf('/', path.length - 2);\n if (index === -1) {\n return path;\n }\n\n return path.slice(index + 1);\n}\n\n/**\n * Returns all none empty pieces of the path\n * @param path\n * @returns {*}\n */\nexport function pathPieces(path) {\n return path.split('/').filter($ => $.length > 0);\n}\n\n/**\n * Returns whether a given path is empty\n * @param path\n * @returns {boolean}\n */\nexport function pathIsEmpty(path) {\n return !pathPieces(path).length;\n}\n\n/**\n * Converts a given path to a URL encoded string\n * @param path\n * @returns {string|string}\n */\nexport function pathToUrlEncodedString(path) {\n const pieces = pathPieces(path);\n let pathString = '';\n for (let i = 0; i < pieces.length; i++) {\n pathString += `/${encodeURIComponent(String(pieces[i]))}`;\n }\n return pathString || '/';\n}\n\n// eslint-disable-next-line no-control-regex\nexport const INVALID_PATH_REGEX = /[[\\].#$\\u0000-\\u001F\\u007F]/;\n\n/**\n * Ensures a given path is a valid Firebase path\n * @param path\n * @returns {boolean}\n */\nexport function isValidPath(path) {\n return typeof path === 'string' && path.length !== 0 && !INVALID_PATH_REGEX.test(path);\n}\n\n// eslint-disable-next-line no-control-regex\nexport const INVALID_KEY_REGEX = /[\\[\\].#$\\/\\u0000-\\u001F\\u007F]/;\n\n/**\n * Ensures a given key is a valid Firebase key\n * @param key\n * @returns {boolean}\n */\nexport function isValidKey(key) {\n return typeof key === 'string' && key.length !== 0 && !INVALID_KEY_REGEX.test(path);\n}\n\n/**\n * Converts a file path to a standardized string path\n * @param path\n * @returns {*}\n */\nexport function toFilePath(path) {\n let _filePath = path.replace('file://', '');\n if (_filePath.includes('%')) {\n _filePath = decodeURIComponent(_filePath);\n }\n return _filePath;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/735a45f45c259d2c0ba0a484a4941735.json b/.expo/web/cache/development/babel-loader/735a45f45c259d2c0ba0a484a4941735.json new file mode 100644 index 0000000000000000000000000000000000000000..1047467289f7c50c3a8336d081210e790d76b788 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/735a45f45c259d2c0ba0a484a4941735.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nimport EventEmitter from \"./_EventEmitter\";\nexport default EventEmitter;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/emitter/EventEmitter.js"],"names":["EventEmitter"],"mappings":"AASA;;AAEA,OAAOA,YAAP;AACA,eAAeA,YAAf","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nimport EventEmitter from './_EventEmitter';\nexport default EventEmitter;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/738e4cacca35328f66de92892705aa2c.json b/.expo/web/cache/development/babel-loader/738e4cacca35328f66de92892705aa2c.json new file mode 100644 index 0000000000000000000000000000000000000000..182124aeba89281ed10b5c624c52adc763eda0b1 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/738e4cacca35328f66de92892705aa2c.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n listenOnChange();\n useEffect(function () {\n var colRef = collection(getFirestore(), \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var datas = doc.data();\n var itemData = {\n name: datas.name,\n email: datas.email,\n image: datas.image\n };\n Alert.alert(datas.name);\n });\n });\n }, []);\n\n function useeffect() {\n getDocs(collection(getFirestore(), 'Users')).forEach(function (doc) {\n console.log(doc.id + \" => \" + doc.data());\n });\n }\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n }\n });\n });\n }\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" bla\"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATA","UserLists","navigation","route","users","setUsers","listenOnChange","colRef","querySnapshot","forEach","datas","data","itemData","name","email","image","Alert","alert","useeffect","console","log","id","snapchot","docChanges","change","type","message","Name","Email","Image","push","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState(null);\r\n\r\nlistenOnChange();\r\n//useeffect();\r\n\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(getFirestore(),\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n var datas = doc.data();\r\n const itemData = {name: datas.name, email: datas.email, image: datas.image}\r\n //DATA.push(itemData);\r\n Alert.alert(datas.name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\nfunction useeffect(){\r\n getDocs(collection(getFirestore(),'Users')).forEach((doc) => {\r\n console.log(`${doc.id} => ${doc.data()}`);\r\n});\r\n}\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n //Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> bla</Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/73a20e1a11d3a58435704eb124f648be.json b/.expo/web/cache/development/babel-loader/73a20e1a11d3a58435704eb124f648be.json new file mode 100644 index 0000000000000000000000000000000000000000..45b00a0c1420975b58a150834f74bc61982d67b7 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/73a20e1a11d3a58435704eb124f648be.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { isUndefined } from '@react-native-firebase/app/lib/common';\n\nvar FirestoreSnapshotMetadata = function () {\n function FirestoreSnapshotMetadata(metadata) {\n _classCallCheck(this, FirestoreSnapshotMetadata);\n\n this._metadata = metadata;\n }\n\n _createClass(FirestoreSnapshotMetadata, [{\n key: \"fromCache\",\n get: function get() {\n return this._metadata[0];\n }\n }, {\n key: \"hasPendingWrites\",\n get: function get() {\n return this._metadata[1];\n }\n }, {\n key: \"isEqual\",\n value: function isEqual(other) {\n if (isUndefined(other) || !(other instanceof FirestoreSnapshotMetadata)) {\n throw new Error(\"firebase.firestore() SnapshotMetadata.isEqual(*) 'other' expected instance of SnapshotMetadata\");\n }\n\n return this.fromCache === other.fromCache && this.hasPendingWrites === other.hasPendingWrites;\n }\n }]);\n\n return FirestoreSnapshotMetadata;\n}();\n\nexport { FirestoreSnapshotMetadata as default };","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/firestore/lib/FirestoreSnapshotMetadata.js"],"names":["isUndefined","FirestoreSnapshotMetadata","metadata","_metadata","other","Error","fromCache","hasPendingWrites"],"mappings":";;AAiBA,SAASA,WAAT,QAA4B,uCAA5B;;IAEqBC,yB;AACnB,qCAAYC,QAAZ,EAAsB;AAAA;;AACpB,SAAKC,SAAL,GAAiBD,QAAjB;AACD;;;;SAED,eAAgB;AACd,aAAO,KAAKC,SAAL,CAAe,CAAf,CAAP;AACD;;;SAED,eAAuB;AACrB,aAAO,KAAKA,SAAL,CAAe,CAAf,CAAP;AACD;;;WAED,iBAAQC,KAAR,EAAe;AACb,UAAIJ,WAAW,CAACI,KAAD,CAAX,IAAsB,EAAEA,KAAK,YAAYH,yBAAnB,CAA1B,EAAyE;AACvE,cAAM,IAAII,KAAJ,CACJ,gGADI,CAAN;AAGD;;AAED,aAAO,KAAKC,SAAL,KAAmBF,KAAK,CAACE,SAAzB,IAAsC,KAAKC,gBAAL,KAA0BH,KAAK,CAACG,gBAA7E;AACD;;;;;;SArBkBN,yB","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { isUndefined } from '@react-native-firebase/app/lib/common';\n\nexport default class FirestoreSnapshotMetadata {\n constructor(metadata) {\n this._metadata = metadata;\n }\n\n get fromCache() {\n return this._metadata[0];\n }\n\n get hasPendingWrites() {\n return this._metadata[1];\n }\n\n isEqual(other) {\n if (isUndefined(other) || !(other instanceof FirestoreSnapshotMetadata)) {\n throw new Error(\n \"firebase.firestore() SnapshotMetadata.isEqual(*) 'other' expected instance of SnapshotMetadata\",\n );\n }\n\n return this.fromCache === other.fromCache && this.hasPendingWrites === other.hasPendingWrites;\n }\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/74776b29269bc71a186718ddc46c91ed.json b/.expo/web/cache/development/babel-loader/74776b29269bc71a186718ddc46c91ed.json new file mode 100644 index 0000000000000000000000000000000000000000..2bc28c9f375cc94bfe18c034723191fd96a156d0 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/74776b29269bc71a186718ddc46c91ed.json @@ -0,0 +1 @@ +{"ast":null,"code":"function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","map":{"version":3,"sources":["C:/Users/user/AppData/Roaming/npm/node_modules/expo-cli/node_modules/@babel/runtime/helpers/arrayWithHoles.js"],"names":["_arrayWithHoles","arr","Array","isArray","module","exports"],"mappings":"AAAA,SAASA,eAAT,CAAyBC,GAAzB,EAA8B;AAC5B,MAAIC,KAAK,CAACC,OAAN,CAAcF,GAAd,CAAJ,EAAwB,OAAOA,GAAP;AACzB;;AAEDG,MAAM,CAACC,OAAP,GAAiBL,eAAjB","sourcesContent":["function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/74f7ae0be3d1e46c9ce92a3fe480106b.json b/.expo/web/cache/development/babel-loader/74f7ae0be3d1e46c9ce92a3fe480106b.json new file mode 100644 index 0000000000000000000000000000000000000000..ebd24b9172c0d3b428d0015b96d3be2bde50398b --- /dev/null +++ b/.expo/web/cache/development/babel-loader/74f7ae0be3d1e46c9ce92a3fe480106b.json @@ -0,0 +1 @@ +{"ast":null,"code":"function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nimport * as React from 'react';\nimport ScrollView from \"../../../../exports/ScrollView\";\nimport createAnimatedComponent from \"../createAnimatedComponent\";\nvar ScrollViewWithEventThrottle = React.forwardRef(function (props, ref) {\n return React.createElement(ScrollView, _extends({\n scrollEventThrottle: 0.0001\n }, props, {\n ref: ref\n }));\n});\nexport default createAnimatedComponent(ScrollViewWithEventThrottle, {\n collapsable: false\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedScrollView.js"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","React","ScrollView","createAnimatedComponent","ScrollViewWithEventThrottle","forwardRef","props","ref","createElement","scrollEventThrottle","collapsable"],"mappings":"AAAA,SAASA,QAAT,GAAoB;AAAEA,EAAAA,QAAQ,GAAGC,MAAM,CAACC,MAAP,IAAiB,UAAUC,MAAV,EAAkB;AAAE,SAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGC,SAAS,CAACC,MAA9B,EAAsCF,CAAC,EAAvC,EAA2C;AAAE,UAAIG,MAAM,GAAGF,SAAS,CAACD,CAAD,CAAtB;;AAA2B,WAAK,IAAII,GAAT,IAAgBD,MAAhB,EAAwB;AAAE,YAAIN,MAAM,CAACQ,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCJ,MAArC,EAA6CC,GAA7C,CAAJ,EAAuD;AAAEL,UAAAA,MAAM,CAACK,GAAD,CAAN,GAAcD,MAAM,CAACC,GAAD,CAApB;AAA4B;AAAE;AAAE;;AAAC,WAAOL,MAAP;AAAgB,GAA5P;;AAA8P,SAAOH,QAAQ,CAACY,KAAT,CAAe,IAAf,EAAqBP,SAArB,CAAP;AAAyC;;AAW7T,OAAO,KAAKQ,KAAZ,MAAuB,OAAvB;AACA,OAAOC,UAAP;AACA,OAAOC,uBAAP;AAKA,IAAIC,2BAA2B,GAAgBH,KAAK,CAACI,UAAN,CAAiB,UAAUC,KAAV,EAAiBC,GAAjB,EAAsB;AACpF,SAAoBN,KAAK,CAACO,aAAN,CAAoBN,UAApB,EAAgCd,QAAQ,CAAC;AAC3DqB,IAAAA,mBAAmB,EAAE;AADsC,GAAD,EAEzDH,KAFyD,EAElD;AACRC,IAAAA,GAAG,EAAEA;AADG,GAFkD,CAAxC,CAApB;AAKD,CAN8C,CAA/C;AAOA,eAAeJ,uBAAuB,CAACC,2BAAD,EAA8B;AAClEM,EAAAA,WAAW,EAAE;AADqD,CAA9B,CAAtC","sourcesContent":["function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\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 * @format\n */\nimport * as React from 'react';\nimport ScrollView from '../../../../exports/ScrollView';\nimport createAnimatedComponent from '../createAnimatedComponent';\n\n/**\n * @see https://github.com/facebook/react-native/commit/b8c8562\n */\nvar ScrollViewWithEventThrottle = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(ScrollView, _extends({\n scrollEventThrottle: 0.0001\n }, props, {\n ref: ref\n }));\n});\nexport default createAnimatedComponent(ScrollViewWithEventThrottle, {\n collapsable: false\n});"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/768d8c1a6dc2784c70b1110c9756b882.json b/.expo/web/cache/development/babel-loader/768d8c1a6dc2784c70b1110c9756b882.json new file mode 100644 index 0000000000000000000000000000000000000000..6d64530a911ece03354421cd837087c53856596d --- /dev/null +++ b/.expo/web/cache/development/babel-loader/768d8c1a6dc2784c70b1110c9756b882.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n listenOnChange();\n useEffect(function () {\n var colRef = collection(getFirestore(), \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var message = doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n Alert.alert(doc.data().Name);\n });\n });\n }, []);\n\n function useeffect() {\n getDocs(collection(getFirestore(), 'Users')).forEach(function (doc) {\n console.log(doc.id + \" => \" + doc.data());\n });\n }\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n }\n });\n });\n }\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" bla\"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATA","UserLists","navigation","route","users","setUsers","listenOnChange","colRef","querySnapshot","forEach","message","data","itemData","name","Name","email","Email","image","Image","push","Alert","alert","useeffect","console","log","id","snapchot","docChanges","change","type","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState(null);\r\n\r\nlistenOnChange();\r\n//useeffect();\r\n\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(getFirestore(),\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n var message = doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n Alert.alert(doc.data().Name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\nfunction useeffect(){\r\n getDocs(collection(getFirestore(),'Users')).forEach((doc) => {\r\n console.log(`${doc.id} => ${doc.data()}`);\r\n});\r\n}\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n //Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> bla</Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/76c9c15b9ae84bd680fd3833dfd2774d.json b/.expo/web/cache/development/babel-loader/76c9c15b9ae84bd680fd3833dfd2774d.json new file mode 100644 index 0000000000000000000000000000000000000000..e09ff849231c83aa6f0bc918c0485cdaf366789c --- /dev/null +++ b/.expo/web/cache/development/babel-loader/76c9c15b9ae84bd680fd3833dfd2774d.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport AnimatedInterpolation from \"./AnimatedInterpolation\";\nimport AnimatedNode from \"./AnimatedNode\";\nimport AnimatedValue from \"./AnimatedValue\";\nimport AnimatedWithChildren from \"./AnimatedWithChildren\";\n\nvar AnimatedSubtraction = function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedSubtraction, _AnimatedWithChildren);\n\n function AnimatedSubtraction(a, b) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n _this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n _this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n return _this;\n }\n\n var _proto = AnimatedSubtraction.prototype;\n\n _proto.__makeNative = function __makeNative() {\n this._a.__makeNative();\n\n this._b.__makeNative();\n\n _AnimatedWithChildren.prototype.__makeNative.call(this);\n };\n\n _proto.__getValue = function __getValue() {\n return this._a.__getValue() - this._b.__getValue();\n };\n\n _proto.interpolate = function interpolate(config) {\n return new AnimatedInterpolation(this, config);\n };\n\n _proto.__attach = function __attach() {\n this._a.__addChild(this);\n\n this._b.__addChild(this);\n };\n\n _proto.__detach = function __detach() {\n this._a.__removeChild(this);\n\n this._b.__removeChild(this);\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n return {\n type: 'subtraction',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n };\n\n return AnimatedSubtraction;\n}(AnimatedWithChildren);\n\nexport default AnimatedSubtraction;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedSubtraction.js"],"names":["_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","AnimatedInterpolation","AnimatedNode","AnimatedValue","AnimatedWithChildren","AnimatedSubtraction","_AnimatedWithChildren","a","b","_this","call","_a","_b","_proto","__makeNative","__getValue","interpolate","config","__attach","__addChild","__detach","__removeChild","__getNativeConfig","type","input","__getNativeTag"],"mappings":"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","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\n\nvar AnimatedSubtraction = /*#__PURE__*/function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedSubtraction, _AnimatedWithChildren);\n\n function AnimatedSubtraction(a, b) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n _this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n _this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n return _this;\n }\n\n var _proto = AnimatedSubtraction.prototype;\n\n _proto.__makeNative = function __makeNative() {\n this._a.__makeNative();\n\n this._b.__makeNative();\n\n _AnimatedWithChildren.prototype.__makeNative.call(this);\n };\n\n _proto.__getValue = function __getValue() {\n return this._a.__getValue() - this._b.__getValue();\n };\n\n _proto.interpolate = function interpolate(config) {\n return new AnimatedInterpolation(this, config);\n };\n\n _proto.__attach = function __attach() {\n this._a.__addChild(this);\n\n this._b.__addChild(this);\n };\n\n _proto.__detach = function __detach() {\n this._a.__removeChild(this);\n\n this._b.__removeChild(this);\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n return {\n type: 'subtraction',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n };\n\n return AnimatedSubtraction;\n}(AnimatedWithChildren);\n\nexport default AnimatedSubtraction;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/7756158502d011ee5306b6689651537d.json b/.expo/web/cache/development/babel-loader/7756158502d011ee5306b6689651537d.json new file mode 100644 index 0000000000000000000000000000000000000000..7ea490cf371e0adf813488c2fca51fa55fb3ed91 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/7756158502d011ee5306b6689651537d.json @@ -0,0 +1 @@ +{"ast":null,"code":"export var APP_NATIVE_MODULE = 'RNFBAppModule';\nexport var DEFAULT_APP_NAME = '[DEFAULT]';\nexport var KNOWN_NAMESPACES = ['appCheck', 'appDistribution', 'auth', 'analytics', 'remoteConfig', 'crashlytics', 'database', 'inAppMessaging', 'installations', 'firestore', 'functions', 'indexing', 'storage', 'dynamicLinks', 'messaging', 'naturalLanguage', 'ml', 'notifications', 'perf', 'utils'];","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/app/lib/internal/constants.js"],"names":["APP_NATIVE_MODULE","DEFAULT_APP_NAME","KNOWN_NAMESPACES"],"mappings":"AAiBA,OAAO,IAAMA,iBAAiB,GAAG,eAA1B;AAEP,OAAO,IAAMC,gBAAgB,GAAG,WAAzB;AAEP,OAAO,IAAMC,gBAAgB,GAAG,CAC9B,UAD8B,EAE9B,iBAF8B,EAG9B,MAH8B,EAI9B,WAJ8B,EAK9B,cAL8B,EAM9B,aAN8B,EAO9B,UAP8B,EAQ9B,gBAR8B,EAS9B,eAT8B,EAU9B,WAV8B,EAW9B,WAX8B,EAY9B,UAZ8B,EAa9B,SAb8B,EAc9B,cAd8B,EAe9B,WAf8B,EAgB9B,iBAhB8B,EAiB9B,IAjB8B,EAkB9B,eAlB8B,EAmB9B,MAnB8B,EAoB9B,OApB8B,CAAzB","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nexport const APP_NATIVE_MODULE = 'RNFBAppModule';\n\nexport const DEFAULT_APP_NAME = '[DEFAULT]';\n\nexport const KNOWN_NAMESPACES = [\n 'appCheck',\n 'appDistribution',\n 'auth',\n 'analytics',\n 'remoteConfig',\n 'crashlytics',\n 'database',\n 'inAppMessaging',\n 'installations',\n 'firestore',\n 'functions',\n 'indexing',\n 'storage',\n 'dynamicLinks',\n 'messaging',\n 'naturalLanguage',\n 'ml',\n 'notifications',\n 'perf',\n 'utils',\n];\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/785abda28777b17dc6c609b4636838f1.json b/.expo/web/cache/development/babel-loader/785abda28777b17dc6c609b4636838f1.json new file mode 100644 index 0000000000000000000000000000000000000000..62cca047eda0631a4b84118fbf07afc7c1ff6410 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/785abda28777b17dc6c609b4636838f1.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nimport Image from \"../../../../exports/Image\";\nimport createAnimatedComponent from \"../createAnimatedComponent\";\nexport default createAnimatedComponent(Image, {\n collapsable: false\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedImage.js"],"names":["React","Image","createAnimatedComponent","collapsable"],"mappings":"AASA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,KAAP;AACA,OAAOC,uBAAP;AACA,eAAeA,uBAAuB,CAACD,KAAD,EAAQ;AAC5CE,EAAAA,WAAW,EAAE;AAD+B,CAAR,CAAtC","sourcesContent":["/**\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 * @format\n */\nimport * as React from 'react';\nimport Image from '../../../../exports/Image';\nimport createAnimatedComponent from '../createAnimatedComponent';\nexport default createAnimatedComponent(Image, {\n collapsable: false\n});"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/7aed9970a96b19cf5636de9ffb43693c.json b/.expo/web/cache/development/babel-loader/7aed9970a96b19cf5636de9ffb43693c.json new file mode 100644 index 0000000000000000000000000000000000000000..3a2d4496f0f3dca0fac7788ffd443c9e1dfdfb7b --- /dev/null +++ b/.expo/web/cache/development/babel-loader/7aed9970a96b19cf5636de9ffb43693c.json @@ -0,0 +1 @@ +{"ast":null,"code":"export { default as Link } from \"./Link\";\nexport { default as NavigationContainer } from \"./NavigationContainer\";\nexport { default as ServerContainer } from \"./ServerContainer\";\nexport { default as DarkTheme } from \"./theming/DarkTheme\";\nexport { default as DefaultTheme } from \"./theming/DefaultTheme\";\nexport { default as ThemeProvider } from \"./theming/ThemeProvider\";\nexport { default as useTheme } from \"./theming/useTheme\";\nexport * from \"./types\";\nexport { default as useLinkBuilder } from \"./useLinkBuilder\";\nexport { default as useLinkProps } from \"./useLinkProps\";\nexport { default as useLinkTo } from \"./useLinkTo\";\nexport { default as useScrollToTop } from \"./useScrollToTop\";\nexport * from '@react-navigation/core';","map":{"version":3,"sources":["index.tsx"],"names":["default"],"mappings":"AAAA,SAASA,OAAO,IAAhB,IAAA;AACA,SAASA,OAAO,IAAhB,mBAAA;AACA,SAASA,OAAO,IAAhB,eAAA;AACA,SAASA,OAAO,IAAhB,SAAA;AACA,SAASA,OAAO,IAAhB,YAAA;AACA,SAASA,OAAO,IAAhB,aAAA;AACA,SAASA,OAAO,IAAhB,QAAA;AACA;AACA,SAASA,OAAO,IAAhB,cAAA;AACA,SAASA,OAAO,IAAhB,YAAA;AACA,SAASA,OAAO,IAAhB,SAAA;AACA,SAASA,OAAO,IAAhB,cAAA;AACA,cAAA,wBAAA","sourcesContent":["export { default as Link } from './Link';\nexport { default as NavigationContainer } from './NavigationContainer';\nexport { default as ServerContainer } from './ServerContainer';\nexport { default as DarkTheme } from './theming/DarkTheme';\nexport { default as DefaultTheme } from './theming/DefaultTheme';\nexport { default as ThemeProvider } from './theming/ThemeProvider';\nexport { default as useTheme } from './theming/useTheme';\nexport * from './types';\nexport { default as useLinkBuilder } from './useLinkBuilder';\nexport { default as useLinkProps } from './useLinkProps';\nexport { default as useLinkTo } from './useLinkTo';\nexport { default as useScrollToTop } from './useScrollToTop';\nexport * from '@react-navigation/core';\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/7b561058306d86d0b4ec5861be0ef612.json b/.expo/web/cache/development/babel-loader/7b561058306d86d0b4ec5861be0ef612.json new file mode 100644 index 0000000000000000000000000000000000000000..eeed71e58077264e1d41fcffffc6fd2a205e52bf --- /dev/null +++ b/.expo/web/cache/development/babel-loader/7b561058306d86d0b4ec5861be0ef612.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createStyleResolver from \"./createStyleResolver\";\nvar styleResolver = createStyleResolver();\nexport default styleResolver;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/StyleSheet/styleResolver.js"],"names":["createStyleResolver","styleResolver"],"mappings":"AAQA,OAAOA,mBAAP;AACA,IAAIC,aAAa,GAAGD,mBAAmB,EAAvC;AACA,eAAeC,aAAf","sourcesContent":["/**\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 createStyleResolver from './createStyleResolver';\nvar styleResolver = createStyleResolver();\nexport default styleResolver;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/7b6dfdb42ec5f527a1fd0dcd05aab0a0.json b/.expo/web/cache/development/babel-loader/7b6dfdb42ec5f527a1fd0dcd05aab0a0.json new file mode 100644 index 0000000000000000000000000000000000000000..71acbfdfc7170c32fbeadda9edf4c231eba565a2 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/7b6dfdb42ec5f527a1fd0dcd05aab0a0.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { CHILD_STATE } from \"./useRouteCache\";\nexport default function getFocusedRouteNameFromRoute(route) {\n var _route$CHILD_STATE, _state$index;\n\n var state = (_route$CHILD_STATE = route[CHILD_STATE]) !== null && _route$CHILD_STATE !== void 0 ? _route$CHILD_STATE : route.state;\n var params = route.params;\n var routeName = state ? state.routes[(_state$index = state.index) !== null && _state$index !== void 0 ? _state$index : typeof state.type === 'string' && state.type !== 'stack' ? 0 : state.routes.length - 1].name : typeof (params === null || params === void 0 ? void 0 : params.screen) === 'string' ? params.screen : undefined;\n return routeName;\n}","map":{"version":3,"sources":["getFocusedRouteNameFromRoute.tsx"],"names":["state","route","params","routeName"],"mappings":"AAEA,SAAA,WAAA;AAEA,eAAe,SAAA,4BAAA,CAAA,KAAA,EAEO;AAAA,MAAA,kBAAA,EAAA,YAAA;;AAEpB,MAAMA,KAAK,GAAA,CAAA,kBAAA,GAAGC,KAAK,CAAR,WAAQ,CAAR,MAAA,IAAA,IAAA,kBAAA,KAAA,KAAA,CAAA,GAAA,kBAAA,GAAyBA,KAAK,CAAzC,KAAA;AACA,MAAMC,MAAM,GAAGD,KAAK,CAApB,MAAA;AAEA,MAAME,SAAS,GAAGH,KAAK,GAEnBA,KAAK,CAALA,MAAAA,CAAAA,CAAAA,YAAAA,GAGEA,KAAK,CAHPA,KAAAA,MAAAA,IAAAA,IAAAA,YAAAA,KAAAA,KAAAA,CAAAA,GAAAA,YAAAA,GAIK,OAAOA,KAAK,CAAZ,IAAA,KAAA,QAAA,IAAkCA,KAAK,CAALA,IAAAA,KAAlC,OAAA,GAAA,CAAA,GAEGA,KAAK,CAALA,MAAAA,CAAAA,MAAAA,GANRA,CAAAA,EAFmB,IAAA,GAWrB,QAAOE,MAAP,KAAA,IAAOA,IAAAA,MAAP,KAAA,KAAA,CAAOA,GAAP,KAAA,CAAOA,GAAAA,MAAM,CAAb,MAAA,MAAA,QAAA,GACEA,MAAM,CADR,MAAA,GAXF,SAAA;AAeA,SAAA,SAAA;AACD","sourcesContent":["import type { Route } from '@react-navigation/routers';\n\nimport { CHILD_STATE } from './useRouteCache';\n\nexport default function getFocusedRouteNameFromRoute(\n route: Partial<Route<string>>\n): string | undefined {\n // @ts-expect-error: this isn't in type definitions coz we want this private\n const state = route[CHILD_STATE] ?? route.state;\n const params = route.params as { screen?: unknown } | undefined;\n\n const routeName = state\n ? // Get the currently active route name in the nested navigator\n state.routes[\n // If we have a partial state without index, for tab/drawer, first screen will be focused one, and last for stack\n // The type property will only exist for rehydrated state and not for state from deep link\n state.index ??\n (typeof state.type === 'string' && state.type !== 'stack'\n ? 0\n : state.routes.length - 1)\n ].name\n : // If state doesn't exist, we need to default to `screen` param if available\n typeof params?.screen === 'string'\n ? params.screen\n : undefined;\n\n return routeName;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/7c9121543ff501012c4f42f6de100e5d.json b/.expo/web/cache/development/babel-loader/7c9121543ff501012c4f42f6de100e5d.json new file mode 100644 index 0000000000000000000000000000000000000000..2c44f9ed6d84e04a485f74eac3467da5abdb9071 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/7c9121543ff501012c4f42f6de100e5d.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users.toString);\n setUsers(users);\n });\n }, []);\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {\n children: item.Name\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\"\n }), \" \", _jsx(Button, {\n title: \"UpdateUser\",\n onPress: getUserById\n }), _jsx(FlatList, {\n data: users,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","params","post","Item","item","onPress","backgroundColor","textColor","styles","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","getUserById","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users.toString);\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\n/*function writeData(){\r\n \r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})\r\n}*/\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async () => {\r\n const id = 'q5EOqKxKEsAO6lLmhbnc';\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUsers({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n Alert.alert(users[0])\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.Name}\r\n \r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser'/> {/*onPress={writeData}*/}\r\n <Button title='UpdateUser' onPress={getUserById}/>\r\n <FlatList\r\n data={users}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/7d5f9e4961370843eba57d93630a830d.json b/.expo/web/cache/development/babel-loader/7d5f9e4961370843eba57d93630a830d.json new file mode 100644 index 0000000000000000000000000000000000000000..ee058dcf6117e8b6e33caf38a16860fdf8a87a6a --- /dev/null +++ b/.expo/web/cache/development/babel-loader/7d5f9e4961370843eba57d93630a830d.json @@ -0,0 +1 @@ +{"ast":null,"code":"/** @license React v16.13.1\n * react-is.development.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';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function () {\n 'use strict';\n\n var hasSymbol = typeof Symbol === 'function' && Symbol.for;\n var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\n var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\n var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\n var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\n var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\n var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\n var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace;\n var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\n var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\n var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\n var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\n var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\n var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\n var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\n var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\n var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\n var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\n var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\n function isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n }\n\n function typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n }\n\n var AsyncMode = REACT_ASYNC_MODE_TYPE;\n var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\n var ContextConsumer = REACT_CONTEXT_TYPE;\n var ContextProvider = REACT_PROVIDER_TYPE;\n var Element = REACT_ELEMENT_TYPE;\n var ForwardRef = REACT_FORWARD_REF_TYPE;\n var Fragment = REACT_FRAGMENT_TYPE;\n var Lazy = REACT_LAZY_TYPE;\n var Memo = REACT_MEMO_TYPE;\n var Portal = REACT_PORTAL_TYPE;\n var Profiler = REACT_PROFILER_TYPE;\n var StrictMode = REACT_STRICT_MODE_TYPE;\n var Suspense = REACT_SUSPENSE_TYPE;\n var hasWarnedAboutDeprecatedIsAsyncMode = false;\n\n function isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true;\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n }\n\n function isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n }\n\n function isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n }\n\n function isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n }\n\n function isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n\n function isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n }\n\n function isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n }\n\n function isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n }\n\n function isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n }\n\n function isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n }\n\n function isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n }\n\n function isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n }\n\n function isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n }\n\n exports.AsyncMode = AsyncMode;\n exports.ConcurrentMode = ConcurrentMode;\n exports.ContextConsumer = ContextConsumer;\n exports.ContextProvider = ContextProvider;\n exports.Element = Element;\n exports.ForwardRef = ForwardRef;\n exports.Fragment = Fragment;\n exports.Lazy = Lazy;\n exports.Memo = Memo;\n exports.Portal = Portal;\n exports.Profiler = Profiler;\n exports.StrictMode = StrictMode;\n exports.Suspense = Suspense;\n exports.isAsyncMode = isAsyncMode;\n exports.isConcurrentMode = isConcurrentMode;\n exports.isContextConsumer = isContextConsumer;\n exports.isContextProvider = isContextProvider;\n exports.isElement = isElement;\n exports.isForwardRef = isForwardRef;\n exports.isFragment = isFragment;\n exports.isLazy = isLazy;\n exports.isMemo = isMemo;\n exports.isPortal = isPortal;\n exports.isProfiler = isProfiler;\n exports.isStrictMode = isStrictMode;\n exports.isSuspense = isSuspense;\n exports.isValidElementType = isValidElementType;\n exports.typeOf = typeOf;\n })();\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-navigation/core/node_modules/react-is/cjs/react-is.development.js"],"names":["process","env","NODE_ENV","hasSymbol","Symbol","for","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_ASYNC_MODE_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_BLOCK_TYPE","REACT_FUNDAMENTAL_TYPE","REACT_RESPONDER_TYPE","REACT_SCOPE_TYPE","isValidElementType","type","$$typeof","typeOf","object","$$typeofType","undefined","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","hasWarnedAboutDeprecatedIsAsyncMode","isAsyncMode","console","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","exports"],"mappings":"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","sourcesContent":["/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/7e41bf5e42ab3d149c28b008ac5b3859.json b/.expo/web/cache/development/babel-loader/7e41bf5e42ab3d149c28b008ac5b3859.json new file mode 100644 index 0000000000000000000000000000000000000000..1d59c05615d1c682b9ddf424ee19f34aaf07e842 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/7e41bf5e42ab3d149c28b008ac5b3859.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"initialRouteName\", \"children\", \"screenListeners\", \"screenOptions\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nimport { createNavigatorFactory, StackActions, StackRouter, useNavigationBuilder } from '@react-navigation/native';\nimport * as React from 'react';\nimport NativeStackView from \"../views/NativeStackView\";\n\nfunction NativeStackNavigator(_ref) {\n var initialRouteName = _ref.initialRouteName,\n children = _ref.children,\n screenListeners = _ref.screenListeners,\n screenOptions = _ref.screenOptions,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n var _useNavigationBuilder = useNavigationBuilder(StackRouter, {\n initialRouteName: initialRouteName,\n children: children,\n screenListeners: screenListeners,\n screenOptions: screenOptions\n }),\n state = _useNavigationBuilder.state,\n descriptors = _useNavigationBuilder.descriptors,\n navigation = _useNavigationBuilder.navigation,\n NavigationContent = _useNavigationBuilder.NavigationContent;\n\n React.useEffect(function () {\n var _navigation$addListen;\n\n return navigation === null || navigation === void 0 ? void 0 : (_navigation$addListen = navigation.addListener) === null || _navigation$addListen === void 0 ? void 0 : _navigation$addListen.call(navigation, 'tabPress', function (e) {\n var isFocused = navigation.isFocused();\n requestAnimationFrame(function () {\n if (state.index > 0 && isFocused && !e.defaultPrevented) {\n navigation.dispatch(_objectSpread(_objectSpread({}, StackActions.popToTop()), {}, {\n target: state.key\n }));\n }\n });\n });\n }, [navigation, state.index, state.key]);\n return React.createElement(NavigationContent, null, React.createElement(NativeStackView, _extends({}, rest, {\n state: state,\n navigation: navigation,\n descriptors: descriptors\n })));\n}\n\nexport default createNavigatorFactory(NativeStackNavigator);","map":{"version":3,"sources":["createNativeStackNavigator.tsx"],"names":["rest","NavigationContent","useNavigationBuilder","initialRouteName","children","screenListeners","screenOptions","React","navigation","e","isFocused","requestAnimationFrame","state","StackActions","target","key","descriptors","createNavigatorFactory"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAA,sBAAA,EAAA,YAAA,EAAA,WAAA,EAAA,oBAAA,QAAA,0BAAA;AAWA,OAAO,KAAP,KAAA,MAAA,OAAA;AAOA,OAAA,eAAA;;AAEA,SAAA,oBAAA,CAAA,IAAA,EAM8B;AANA,MAAA,gBAAA,GAMA,IANA,CAAA,gBAAA;AAAA,MAAA,QAAA,GAMA,IANA,CAAA,QAAA;AAAA,MAAA,eAAA,GAMA,IANA,CAAA,eAAA;AAAA,MAAA,aAAA,GAMA,IANA,CAAA,aAAA;AAAA,MAKzBA,IALyB,4BAMA,IANA;;AAO5B,8BACEE,oBAAoB,CAAA,WAAA,EAML;AACbC,IAAAA,gBADa,EACbA,gBADa;AAEbC,IAAAA,QAFa,EAEbA,QAFa;AAGbC,IAAAA,eAHa,EAGbA,eAHa;AAIbC,IAAAA,aAAAA,EAAAA;AAJa,GANK,CADtB;AAAA,MAAM,KAAN,yBAAM,KAAN;AAAA,MAAM,WAAN,yBAAM,WAAN;AAAA,MAAM,UAAN,yBAAM,UAAN;AAAA,MAAwCL,iBAAxC,yBAAwCA,iBAAxC;;AAcAM,EAAAA,KAAK,CAALA,SAAAA,CACE,YAAA;AAAA,QAAA,qBAAA;;AAAA,WACEC,UADF,KAAA,IACEA,IAAAA,UADF,KAAA,KAAA,CACEA,GADF,KAAA,CACEA,GADF,CAAA,qBAAA,GACEA,UAAU,CADZ,WAAA,MAAA,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GACEA,qBAAAA,CAAAA,IAAAA,CAAAA,UAAAA,EAAU,UAAVA,EAAuCC,UAAAA,CAAD,EAAY;AAChD,UAAMC,SAAS,GAAGF,UAAU,CADoB,SAC9BA,EAAlB;AAIAG,MAAAA,qBAAqB,CAAC,YAAM;AAC1B,YACEC,KAAK,CAALA,KAAAA,GAAAA,CAAAA,IAAAA,SAAAA,IAEA,CAAEH,CAAD,CAHH,gBAAA,EAIE;AAGAD,UAAAA,UAAU,CAAVA,QAAAA,iCACKK,YAAY,CADG,QACfA,EADLL;AAEEM,YAAAA,MAAM,EAAEF,KAAK,CAACG;AAFhBP;AAID;AAZHG,OAAqB,CAArBA;AANJ,KACEH,CADF;AADFD,GAAAA,EAsBE,CAAA,UAAA,EAAaK,KAAK,CAAlB,KAAA,EAA0BA,KAAK,CAtBjCL,GAsBE,CAtBFA;AAyBA,SACE,KAAA,CAAA,aAAA,CAAA,iBAAA,EAAA,IAAA,EACE,KAAA,CAAA,aAAA,CAAA,eAAA,EAAA,QAAA,CAAA,EAAA,EAAA,IAAA,EAAA;AAEE,IAAA,KAAK,EAFP,KAAA;AAGE,IAAA,UAAU,EAHZ,UAAA;AAIE,IAAA,WAAW,EAAES;AAJf,GAAA,CAAA,CADF,CADF;AAUD;;AAED,eAAeC,sBAAsB,CAArC,oBAAqC,CAArC","sourcesContent":["import {\n createNavigatorFactory,\n EventArg,\n ParamListBase,\n StackActionHelpers,\n StackActions,\n StackNavigationState,\n StackRouter,\n StackRouterOptions,\n useNavigationBuilder,\n} from '@react-navigation/native';\nimport * as React from 'react';\n\nimport type {\n NativeStackNavigationEventMap,\n NativeStackNavigationOptions,\n NativeStackNavigatorProps,\n} from '../types';\nimport NativeStackView from '../views/NativeStackView';\n\nfunction NativeStackNavigator({\n initialRouteName,\n children,\n screenListeners,\n screenOptions,\n ...rest\n}: NativeStackNavigatorProps) {\n const { state, descriptors, navigation, NavigationContent } =\n useNavigationBuilder<\n StackNavigationState<ParamListBase>,\n StackRouterOptions,\n StackActionHelpers<ParamListBase>,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap\n >(StackRouter, {\n initialRouteName,\n children,\n screenListeners,\n screenOptions,\n });\n\n React.useEffect(\n () =>\n navigation?.addListener?.('tabPress', (e: any) => {\n const isFocused = navigation.isFocused();\n\n // Run the operation in the next frame so we're sure all listeners have been run\n // This is necessary to know if preventDefault() has been called\n requestAnimationFrame(() => {\n if (\n state.index > 0 &&\n isFocused &&\n !(e as EventArg<'tabPress', true>).defaultPrevented\n ) {\n // When user taps on already focused tab and we're inside the tab,\n // reset the stack to replicate native behaviour\n navigation.dispatch({\n ...StackActions.popToTop(),\n target: state.key,\n });\n }\n });\n }),\n [navigation, state.index, state.key]\n );\n\n return (\n <NavigationContent>\n <NativeStackView\n {...rest}\n state={state}\n navigation={navigation}\n descriptors={descriptors}\n />\n </NavigationContent>\n );\n}\n\nexport default createNavigatorFactory<\n StackNavigationState<ParamListBase>,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap,\n typeof NativeStackNavigator\n>(NativeStackNavigator);\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/7e814b33aee7495e1c2530cc96628523.json b/.expo/web/cache/development/babel-loader/7e814b33aee7495e1c2530cc96628523.json new file mode 100644 index 0000000000000000000000000000000000000000..3c43f691450c0ac937238c9904cbd26500ecc462 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/7e814b33aee7495e1c2530cc96628523.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n listenOnChange();\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n }\n });\n });\n }\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" bla\"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: 'https://reactnative.dev/img/tiny_logo.png'\n }\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","firebase","DATA","UserLists","navigation","route","users","setUsers","listenOnChange","snapchot","docChanges","forEach","change","type","message","data","itemData","name","Name","email","Email","image","Image","push","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","selectedId","setSelectedId","renderItem","id","color","OpenEditVorlesungsliste","navigate","EmptyListMessage","Alert","alert","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState(null);\r\n\r\nlistenOnChange();\r\n\r\n/*useEffect(()=>{\r\n \r\nconst colRef = collection(db,\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n const {email, image, name} = doc.data();\r\n const itemData = {name: name, email: email, image: image}\r\n DATA.push(itemData);\r\n Alert.alert(name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])*/\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n //Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> bla</Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <Image\r\n style={styles.tinyLogo}\r\n source={{\r\n uri: 'https://reactnative.dev/img/tiny_logo.png',\r\n }}\r\n />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/8005950dfe814fc57316bf75827fa0fb.json b/.expo/web/cache/development/babel-loader/8005950dfe814fc57316bf75827fa0fb.json new file mode 100644 index 0000000000000000000000000000000000000000..2e70a074ba3e548cd8d984ec8993822cb3e8eda0 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/8005950dfe814fc57316bf75827fa0fb.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nimport useLayoutEffect from \"../useLayoutEffect\";\nimport UIManager from \"../../exports/UIManager\";\nvar DOM_LAYOUT_HANDLER_NAME = '__reactLayoutHandler';\nvar didWarn = !canUseDOM;\nvar resizeObserver = null;\n\nfunction getResizeObserver() {\n if (canUseDOM && typeof window.ResizeObserver !== 'undefined') {\n if (resizeObserver == null) {\n resizeObserver = new window.ResizeObserver(function (entries) {\n entries.forEach(function (entry) {\n var node = entry.target;\n var onLayout = node[DOM_LAYOUT_HANDLER_NAME];\n\n if (typeof onLayout === 'function') {\n UIManager.measure(node, function (x, y, width, height, left, top) {\n var event = {\n nativeEvent: {\n layout: {\n x: x,\n y: y,\n width: width,\n height: height,\n left: left,\n top: top\n }\n },\n timeStamp: Date.now()\n };\n Object.defineProperty(event.nativeEvent, 'target', {\n enumerable: true,\n get: function get() {\n return entry.target;\n }\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\n return resizeObserver;\n}\n\nexport default function useElementLayout(ref, onLayout) {\n var observer = getResizeObserver();\n useLayoutEffect(function () {\n var node = ref.current;\n\n if (node != null) {\n node[DOM_LAYOUT_HANDLER_NAME] = onLayout;\n }\n }, [ref, onLayout]);\n useLayoutEffect(function () {\n var node = ref.current;\n\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\n return function () {\n if (node != null && observer != null) {\n observer.unobserve(node);\n }\n };\n }, [ref, observer]);\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/useElementLayout/index.js"],"names":["canUseDOM","useLayoutEffect","UIManager","DOM_LAYOUT_HANDLER_NAME","didWarn","resizeObserver","getResizeObserver","window","ResizeObserver","entries","forEach","entry","node","target","onLayout","measure","x","y","width","height","left","top","event","nativeEvent","layout","timeStamp","Date","now","Object","defineProperty","enumerable","get","process","env","NODE_ENV","console","warn","useElementLayout","ref","observer","current","observe","unobserve"],"mappings":"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","sourcesContent":["/**\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 'fbjs/lib/ExecutionEnvironment';\nimport useLayoutEffect from '../useLayoutEffect';\nimport UIManager from '../../exports/UIManager';\nvar DOM_LAYOUT_HANDLER_NAME = '__reactLayoutHandler';\nvar didWarn = !canUseDOM;\nvar resizeObserver = null;\n\nfunction getResizeObserver() {\n if (canUseDOM && typeof window.ResizeObserver !== 'undefined') {\n if (resizeObserver == null) {\n resizeObserver = new window.ResizeObserver(function (entries) {\n entries.forEach(function (entry) {\n var node = entry.target;\n var onLayout = node[DOM_LAYOUT_HANDLER_NAME];\n\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, function (x, y, width, height, left, top) {\n var event = {\n // $FlowFixMe\n nativeEvent: {\n layout: {\n x: x,\n y: y,\n width: width,\n height: height,\n left: left,\n top: top\n }\n },\n timeStamp: Date.now()\n };\n Object.defineProperty(event.nativeEvent, 'target', {\n enumerable: true,\n get: function get() {\n return entry.target;\n }\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\n return resizeObserver;\n}\n\nexport default function useElementLayout(ref, onLayout) {\n var observer = getResizeObserver();\n useLayoutEffect(function () {\n var node = ref.current;\n\n if (node != null) {\n node[DOM_LAYOUT_HANDLER_NAME] = onLayout;\n }\n }, [ref, onLayout]); // Observing is done in a separate effect to avoid this effect running\n // when 'onLayout' changes.\n\n useLayoutEffect(function () {\n var node = ref.current;\n\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\n return function () {\n if (node != null && observer != null) {\n observer.unobserve(node);\n }\n };\n }, [ref, observer]);\n}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/8069aeff118f25ffabda9692ca21eb32.json b/.expo/web/cache/development/babel-loader/8069aeff118f25ffabda9692ca21eb32.json new file mode 100644 index 0000000000000000000000000000000000000000..7781b6e5a7c42d0fc0dcbba467f5ae8451d4ea1c --- /dev/null +++ b/.expo/web/cache/development/babel-loader/8069aeff118f25ffabda9692ca21eb32.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { initializeApp } from \"firebase/app\";\nimport { getAnalytics } from \"firebase/analytics\";\nimport { getFirestore, collection, getDocs } from 'firebase/firestore/lite';\nvar firebaseConfig = {\n apiKey: \"AIzaSyCNhZTcHSLaIGjP-fzpPrqRTAiWZB9jLos\",\n authDomain: \"exercise-react-native-433ff.firebaseapp.com\",\n projectId: \"exercise-react-native-433ff\",\n storageBucket: \"exercise-react-native-433ff.appspot.com\",\n messagingSenderId: \"293211634805\",\n appId: \"1:293211634805:web:e02756294908e9734ecc3c\",\n measurementId: \"G-R25TM36Y33\"\n};\nvar app = initializeApp(firebaseConfig);\n\nfunction getCities(db) {\n var citiesCol, citySnapshot, cityList;\n return _regeneratorRuntime.async(function getCities$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n citiesCol = collection(db, 'cities');\n _context.next = 3;\n return _regeneratorRuntime.awrap(getDocs(citiesCol));\n\n case 3:\n citySnapshot = _context.sent;\n cityList = citySnapshot.docs.map(function (doc) {\n return doc.data();\n });\n return _context.abrupt(\"return\", cityList);\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n}\n\nexport default getFirestore(app);","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/Firebase.js"],"names":["initializeApp","getAnalytics","getFirestore","collection","getDocs","firebaseConfig","apiKey","authDomain","projectId","storageBucket","messagingSenderId","appId","measurementId","app","getCities","db","citiesCol","citySnapshot","cityList","docs","map","doc","data"],"mappings":";AAAA,SAASA,aAAT,QAA8B,cAA9B;AACA,SAASC,YAAT,QAA6B,oBAA7B;AACA,SAASC,YAAT,EAAuBC,UAAvB,EAAmCC,OAAnC,QAAkD,yBAAlD;AAIA,IAAMC,cAAc,GAAG;AACnBC,EAAAA,MAAM,EAAE,yCADW;AAEnBC,EAAAA,UAAU,EAAE,6CAFO;AAGnBC,EAAAA,SAAS,EAAE,6BAHQ;AAInBC,EAAAA,aAAa,EAAE,yCAJI;AAKnBC,EAAAA,iBAAiB,EAAE,cALA;AAMnBC,EAAAA,KAAK,EAAE,2CANY;AAOnBC,EAAAA,aAAa,EAAE;AAPI,CAAvB;AAWE,IAAMC,GAAG,GAAGb,aAAa,CAACK,cAAD,CAAzB;;AAKF,SAAeS,SAAf,CAAyBC,EAAzB;AAAA;AAAA;AAAA;AAAA;AAAA;AACUC,UAAAA,SADV,GACsBb,UAAU,CAACY,EAAD,EAAK,QAAL,CADhC;AAAA;AAAA,2CAE+BX,OAAO,CAACY,SAAD,CAFtC;;AAAA;AAEUC,UAAAA,YAFV;AAGUC,UAAAA,QAHV,GAGqBD,YAAY,CAACE,IAAb,CAAkBC,GAAlB,CAAsB,UAAAC,GAAG;AAAA,mBAAIA,GAAG,CAACC,IAAJ,EAAJ;AAAA,WAAzB,CAHrB;AAAA,2CAIWJ,QAJX;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAOE,eAAehB,YAAY,CAACW,GAAD,CAA3B","sourcesContent":["import { initializeApp } from \"firebase/app\";\r\nimport { getAnalytics } from \"firebase/analytics\";\r\nimport { getFirestore, collection, getDocs } from 'firebase/firestore/lite';\r\n\r\n\r\n\r\nconst firebaseConfig = {\r\n apiKey: \"AIzaSyCNhZTcHSLaIGjP-fzpPrqRTAiWZB9jLos\",\r\n authDomain: \"exercise-react-native-433ff.firebaseapp.com\",\r\n projectId: \"exercise-react-native-433ff\",\r\n storageBucket: \"exercise-react-native-433ff.appspot.com\",\r\n messagingSenderId: \"293211634805\",\r\n appId: \"1:293211634805:web:e02756294908e9734ecc3c\",\r\n measurementId: \"G-R25TM36Y33\"\r\n };\r\n \r\n // Initialize Firebase\r\n const app = initializeApp(firebaseConfig);\r\n //const analytics = getAnalytics(app);\r\n //const db = getFirestore(app);\r\n\r\n // Get a list of cities from your database\r\nasync function getCities(db) {\r\n const citiesCol = collection(db, 'cities');\r\n const citySnapshot = await getDocs(citiesCol);\r\n const cityList = citySnapshot.docs.map(doc => doc.data());\r\n return cityList;\r\n }\r\n \r\n export default getFirestore(app);\r\n\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/8092b8abc11aa09ed07855ecfc0e4e28.json b/.expo/web/cache/development/babel-loader/8092b8abc11aa09ed07855ecfc0e4e28.json new file mode 100644 index 0000000000000000000000000000000000000000..a2b161ad67ecae0e0af71af1613b907a5c248928 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/8092b8abc11aa09ed07855ecfc0e4e28.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n name = _doc$data.name,\n email = _doc$data.email,\n phone = _doc$data.phone;\n\n users.push({\n id: doc.id,\n name: name,\n email: email,\n phone: phone\n });\n });\n setUsers(users);\n });\n }, []);\n\n if (route.params != null) {\n DATA.push({\n id: '899',\n title: route.params.post\n });\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {\n children: item.title\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","name","email","phone","push","id","params","title","post","Alert","alert","Item","item","onPress","backgroundColor","textColor","styles","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","EmptyListMessage","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot} from \"firebase/firestore\"\r\n\r\n\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {name, email, phone} = doc.data();\r\n users.push({id:doc.id, name, email, phone})\r\n });\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\nDATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/8194bc61de17c3a62bfa215ef71178a0.json b/.expo/web/cache/development/babel-loader/8194bc61de17c3a62bfa215ef71178a0.json new file mode 100644 index 0000000000000000000000000000000000000000..efc486a40ba79fc1b4467c670376f99e84bcb4f4 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/8194bc61de17c3a62bfa215ef71178a0.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nimport DefaultTheme from \"./DefaultTheme\";\nvar ThemeContext = React.createContext(DefaultTheme);\nThemeContext.displayName = 'ThemeContext';\nexport default ThemeContext;","map":{"version":3,"sources":["ThemeContext.tsx"],"names":["ThemeContext","React"],"mappings":"AAAA,OAAO,KAAP,KAAA,MAAA,OAAA;AAGA,OAAA,YAAA;AAEA,IAAMA,YAAY,GAAGC,KAAK,CAALA,aAAAA,CAArB,YAAqBA,CAArB;AAEAD,YAAY,CAAZA,WAAAA,GAAAA,cAAAA;AAEA,eAAA,YAAA","sourcesContent":["import * as React from 'react';\n\nimport type { Theme } from '../types';\nimport DefaultTheme from './DefaultTheme';\n\nconst ThemeContext = React.createContext<Theme>(DefaultTheme);\n\nThemeContext.displayName = 'ThemeContext';\n\nexport default ThemeContext;\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/8304f970d6eb3a503b6506a12a37466d.json b/.expo/web/cache/development/babel-loader/8304f970d6eb3a503b6506a12a37466d.json new file mode 100644 index 0000000000000000000000000000000000000000..040a1ead5a884f42fecea03fcbe547911d1f4a54 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/8304f970d6eb3a503b6506a12a37466d.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport * as queryString from 'query-string';\nimport fromEntries from \"./fromEntries\";\nimport validatePathConfig from \"./validatePathConfig\";\n\nvar getActiveRoute = function getActiveRoute(state) {\n var route = typeof state.index === 'number' ? state.routes[state.index] : state.routes[state.routes.length - 1];\n\n if (route.state) {\n return getActiveRoute(route.state);\n }\n\n return route;\n};\n\nexport default function getPathFromState(state, options) {\n if (state == null) {\n throw Error(\"Got 'undefined' for the navigation state. You must pass a valid state object.\");\n }\n\n if (options) {\n validatePathConfig(options);\n }\n\n var configs = options !== null && options !== void 0 && options.screens ? createNormalizedConfigs(options === null || options === void 0 ? void 0 : options.screens) : {};\n var path = '/';\n var current = state;\n var allParams = {};\n\n var _loop = function _loop() {\n var index = typeof current.index === 'number' ? current.index : 0;\n var route = current.routes[index];\n var pattern = void 0;\n var focusedParams = void 0;\n var focusedRoute = getActiveRoute(state);\n var currentOptions = configs;\n var nestedRouteNames = [];\n var hasNext = true;\n\n while (route.name in currentOptions && hasNext) {\n pattern = currentOptions[route.name].pattern;\n nestedRouteNames.push(route.name);\n\n if (route.params) {\n (function () {\n var stringify = (_currentOptions$route = currentOptions[route.name]) === null || _currentOptions$route === void 0 ? void 0 : _currentOptions$route.stringify;\n var currentParams = fromEntries(Object.entries(route.params).map(function (_ref) {\n var _ref3 = _slicedToArray(_ref, 2),\n key = _ref3[0],\n value = _ref3[1];\n\n return [key, stringify !== null && stringify !== void 0 && stringify[key] ? stringify[key](value) : String(value)];\n }));\n\n if (pattern) {\n _extends(allParams, currentParams);\n }\n\n if (focusedRoute === route) {\n focusedParams = _objectSpread({}, currentParams);\n (_pattern = pattern) === null || _pattern === void 0 ? void 0 : _pattern.split('/').filter(function (p) {\n return p.startsWith(':');\n }).forEach(function (p) {\n var name = getParamName(p);\n\n if (focusedParams) {\n delete focusedParams[name];\n }\n });\n }\n })();\n }\n\n if (!currentOptions[route.name].screens || route.state === undefined) {\n hasNext = false;\n } else {\n index = typeof route.state.index === 'number' ? route.state.index : route.state.routes.length - 1;\n var nextRoute = route.state.routes[index];\n var nestedConfig = currentOptions[route.name].screens;\n\n if (nestedConfig && nextRoute.name in nestedConfig) {\n route = nextRoute;\n currentOptions = nestedConfig;\n } else {\n hasNext = false;\n }\n }\n }\n\n if (pattern === undefined) {\n pattern = nestedRouteNames.join('/');\n }\n\n if (currentOptions[route.name] !== undefined) {\n path += pattern.split('/').map(function (p) {\n var name = getParamName(p);\n\n if (p === '*') {\n return route.name;\n }\n\n if (p.startsWith(':')) {\n var value = allParams[name];\n\n if (value === undefined && p.endsWith('?')) {\n return '';\n }\n\n return encodeURIComponent(value);\n }\n\n return encodeURIComponent(p);\n }).join('/');\n } else {\n path += encodeURIComponent(route.name);\n }\n\n if (!focusedParams) {\n focusedParams = focusedRoute.params;\n }\n\n if (route.state) {\n path += '/';\n } else if (focusedParams) {\n for (var param in focusedParams) {\n if (focusedParams[param] === 'undefined') {\n delete focusedParams[param];\n }\n }\n\n var query = queryString.stringify(focusedParams, {\n sort: false\n });\n\n if (query) {\n path += \"?\" + query;\n }\n }\n\n current = route.state;\n };\n\n while (current) {\n var _currentOptions$route;\n\n var _pattern;\n\n _loop();\n }\n\n path = path.replace(/\\/+/g, '/');\n path = path.length > 1 ? path.replace(/\\/$/, '') : path;\n return path;\n}\n\nvar getParamName = function getParamName(pattern) {\n return pattern.replace(/^:/, '').replace(/\\?$/, '');\n};\n\nvar joinPaths = function joinPaths() {\n var _ref4;\n\n for (var _len = arguments.length, paths = new Array(_len), _key = 0; _key < _len; _key++) {\n paths[_key] = arguments[_key];\n }\n\n return (_ref4 = []).concat.apply(_ref4, _toConsumableArray(paths.map(function (p) {\n return p.split('/');\n }))).filter(Boolean).join('/');\n};\n\nvar createConfigItem = function createConfigItem(config, parentPattern) {\n var _pattern2;\n\n if (typeof config === 'string') {\n var _pattern3 = parentPattern ? joinPaths(parentPattern, config) : config;\n\n return {\n pattern: _pattern3\n };\n }\n\n var pattern;\n\n if (config.exact && config.path === undefined) {\n throw new Error(\"A 'path' needs to be specified when specifying 'exact: true'. If you don't want this screen in the URL, specify it as empty string, e.g. `path: ''`.\");\n }\n\n pattern = config.exact !== true ? joinPaths(parentPattern || '', config.path || '') : config.path || '';\n var screens = config.screens ? createNormalizedConfigs(config.screens, pattern) : undefined;\n return {\n pattern: (_pattern2 = pattern) === null || _pattern2 === void 0 ? void 0 : _pattern2.split('/').filter(Boolean).join('/'),\n stringify: config.stringify,\n screens: screens\n };\n};\n\nvar createNormalizedConfigs = function createNormalizedConfigs(options, pattern) {\n return fromEntries(Object.entries(options).map(function (_ref2) {\n var _ref5 = _slicedToArray(_ref2, 2),\n name = _ref5[0],\n c = _ref5[1];\n\n var result = createConfigItem(c, pattern);\n return [name, result];\n }));\n};","map":{"version":3,"sources":["getPathFromState.tsx"],"names":["getActiveRoute","state","route","Error","validatePathConfig","configs","options","createNormalizedConfigs","path","current","allParams","index","pattern","focusedParams","focusedRoute","currentOptions","nestedRouteNames","hasNext","stringify","currentParams","fromEntries","String","Object","p","name","getParamName","nextRoute","nestedConfig","value","encodeURIComponent","query","sort","joinPaths","paths","createConfigItem","parentPattern","config","screens","result"],"mappings":"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","sourcesContent":["import type {\n NavigationState,\n PartialState,\n Route,\n} from '@react-navigation/routers';\nimport * as queryString from 'query-string';\n\nimport fromEntries from './fromEntries';\nimport type { PathConfig, PathConfigMap } from './types';\nimport validatePathConfig from './validatePathConfig';\n\ntype Options<ParamList> = {\n initialRouteName?: string;\n screens: PathConfigMap<ParamList>;\n};\n\ntype State = NavigationState | Omit<PartialState<NavigationState>, 'stale'>;\n\ntype StringifyConfig = Record<string, (value: any) => string>;\n\ntype ConfigItem = {\n pattern?: string;\n stringify?: StringifyConfig;\n screens?: Record<string, ConfigItem>;\n};\n\nconst getActiveRoute = (state: State): { name: string; params?: object } => {\n const route =\n typeof state.index === 'number'\n ? state.routes[state.index]\n : state.routes[state.routes.length - 1];\n\n if (route.state) {\n return getActiveRoute(route.state);\n }\n\n return route;\n};\n\n/**\n * Utility to serialize a navigation state object to a path string.\n *\n * @example\n * ```js\n * getPathFromState(\n * {\n * routes: [\n * {\n * name: 'Chat',\n * params: { author: 'Jane', id: 42 },\n * },\n * ],\n * },\n * {\n * screens: {\n * Chat: {\n * path: 'chat/:author/:id',\n * stringify: { author: author => author.toLowerCase() }\n * }\n * }\n * }\n * )\n * ```\n *\n * @param state Navigation state to serialize.\n * @param options Extra options to fine-tune how to serialize the path.\n * @returns Path representing the state, e.g. /foo/bar?count=42.\n */\nexport default function getPathFromState<ParamList extends {}>(\n state: State,\n options?: Options<ParamList>\n): string {\n if (state == null) {\n throw Error(\n \"Got 'undefined' for the navigation state. You must pass a valid state object.\"\n );\n }\n\n if (options) {\n validatePathConfig(options);\n }\n\n // Create a normalized configs object which will be easier to use\n const configs: Record<string, ConfigItem> = options?.screens\n ? createNormalizedConfigs(options?.screens)\n : {};\n\n let path = '/';\n let current: State | undefined = state;\n\n const allParams: Record<string, any> = {};\n\n while (current) {\n let index = typeof current.index === 'number' ? current.index : 0;\n let route = current.routes[index] as Route<string> & {\n state?: State;\n };\n\n let pattern: string | undefined;\n\n let focusedParams: Record<string, any> | undefined;\n let focusedRoute = getActiveRoute(state);\n let currentOptions = configs;\n\n // Keep all the route names that appeared during going deeper in config in case the pattern is resolved to undefined\n let nestedRouteNames = [];\n\n let hasNext = true;\n\n while (route.name in currentOptions && hasNext) {\n pattern = currentOptions[route.name].pattern;\n\n nestedRouteNames.push(route.name);\n\n if (route.params) {\n const stringify = currentOptions[route.name]?.stringify;\n\n const currentParams = fromEntries(\n Object.entries(route.params).map(([key, value]) => [\n key,\n stringify?.[key] ? stringify[key](value) : String(value),\n ])\n );\n\n if (pattern) {\n Object.assign(allParams, currentParams);\n }\n\n if (focusedRoute === route) {\n // If this is the focused route, keep the params for later use\n // We save it here since it's been stringified already\n focusedParams = { ...currentParams };\n\n pattern\n ?.split('/')\n .filter((p) => p.startsWith(':'))\n // eslint-disable-next-line no-loop-func\n .forEach((p) => {\n const name = getParamName(p);\n\n // Remove the params present in the pattern since we'll only use the rest for query string\n if (focusedParams) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete focusedParams[name];\n }\n });\n }\n }\n\n // If there is no `screens` property or no nested state, we return pattern\n if (!currentOptions[route.name].screens || route.state === undefined) {\n hasNext = false;\n } else {\n index =\n typeof route.state.index === 'number'\n ? route.state.index\n : route.state.routes.length - 1;\n\n const nextRoute = route.state.routes[index];\n const nestedConfig = currentOptions[route.name].screens;\n\n // if there is config for next route name, we go deeper\n if (nestedConfig && nextRoute.name in nestedConfig) {\n route = nextRoute as Route<string> & { state?: State };\n currentOptions = nestedConfig;\n } else {\n // If not, there is no sense in going deeper in config\n hasNext = false;\n }\n }\n }\n\n if (pattern === undefined) {\n pattern = nestedRouteNames.join('/');\n }\n\n if (currentOptions[route.name] !== undefined) {\n path += pattern\n .split('/')\n .map((p) => {\n const name = getParamName(p);\n\n // We don't know what to show for wildcard patterns\n // Showing the route name seems ok, though whatever we show here will be incorrect\n // Since the page doesn't actually exist\n if (p === '*') {\n return route.name;\n }\n\n // If the path has a pattern for a param, put the param in the path\n if (p.startsWith(':')) {\n const value = allParams[name];\n\n if (value === undefined && p.endsWith('?')) {\n // Optional params without value assigned in route.params should be ignored\n return '';\n }\n\n return encodeURIComponent(value);\n }\n\n return encodeURIComponent(p);\n })\n .join('/');\n } else {\n path += encodeURIComponent(route.name);\n }\n\n if (!focusedParams) {\n focusedParams = focusedRoute.params;\n }\n\n if (route.state) {\n path += '/';\n } else if (focusedParams) {\n for (let param in focusedParams) {\n if (focusedParams[param] === 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete focusedParams[param];\n }\n }\n\n const query = queryString.stringify(focusedParams, { sort: false });\n\n if (query) {\n path += `?${query}`;\n }\n }\n\n current = route.state;\n }\n\n // Remove multiple as well as trailing slashes\n path = path.replace(/\\/+/g, '/');\n path = path.length > 1 ? path.replace(/\\/$/, '') : path;\n\n return path;\n}\n\nconst getParamName = (pattern: string) =>\n pattern.replace(/^:/, '').replace(/\\?$/, '');\n\nconst joinPaths = (...paths: string[]): string =>\n ([] as string[])\n .concat(...paths.map((p) => p.split('/')))\n .filter(Boolean)\n .join('/');\n\nconst createConfigItem = (\n config: PathConfig<object> | string,\n parentPattern?: string\n): ConfigItem => {\n if (typeof config === 'string') {\n // If a string is specified as the value of the key(e.g. Foo: '/path'), use it as the pattern\n const pattern = parentPattern ? joinPaths(parentPattern, config) : config;\n\n return { pattern };\n }\n\n // If an object is specified as the value (e.g. Foo: { ... }),\n // It can have `path` property and `screens` prop which has nested configs\n let pattern: string | undefined;\n\n if (config.exact && config.path === undefined) {\n throw new Error(\n \"A 'path' needs to be specified when specifying 'exact: true'. If you don't want this screen in the URL, specify it as empty string, e.g. `path: ''`.\"\n );\n }\n\n pattern =\n config.exact !== true\n ? joinPaths(parentPattern || '', config.path || '')\n : config.path || '';\n\n const screens = config.screens\n ? createNormalizedConfigs(config.screens, pattern)\n : undefined;\n\n return {\n // Normalize pattern to remove any leading, trailing slashes, duplicate slashes etc.\n pattern: pattern?.split('/').filter(Boolean).join('/'),\n stringify: config.stringify,\n screens,\n };\n};\n\nconst createNormalizedConfigs = (\n options: PathConfigMap<object>,\n pattern?: string\n): Record<string, ConfigItem> =>\n fromEntries(\n Object.entries(options).map(([name, c]) => {\n const result = createConfigItem(c, pattern);\n\n return [name, result];\n })\n );\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/83ea8453d9b22ae284d0422d1094e2b4.json b/.expo/web/cache/development/babel-loader/83ea8453d9b22ae284d0422d1094e2b4.json new file mode 100644 index 0000000000000000000000000000000000000000..714bfc5a99bb13af6de1c06ec98fbef076dc2b37 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/83ea8453d9b22ae284d0422d1094e2b4.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { Platform } from 'expo-modules-core';\nimport { getRecoveryPropsToSave } from \"./ErroRecoveryStore\";\nimport ExpoErrorRecovery from \"./ExpoErrorRecovery\";\n\nif (Platform.OS !== 'web') {\n var globalHandler = ErrorUtils.getGlobalHandler();\n ErrorUtils.setGlobalHandler(function _callee(error, isFatal) {\n return _regeneratorRuntime.async(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!ExpoErrorRecovery.saveRecoveryProps) {\n _context.next = 3;\n break;\n }\n\n _context.next = 3;\n return _regeneratorRuntime.awrap(ExpoErrorRecovery.saveRecoveryProps(getRecoveryPropsToSave()));\n\n case 3:\n globalHandler(error, isFatal);\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n });\n} else if (Platform.OS === 'web' && Platform.isDOMAvailable) {\n window.addEventListener('error', function () {\n ExpoErrorRecovery.saveRecoveryProps(getRecoveryPropsToSave());\n });\n}","map":{"version":3,"sources":["../src/ErrorRecovery.fx.ts"],"names":[],"mappings":";AAAA,SAAS,QAAT,QAAyB,mBAAzB;AAEA,SAAS,sBAAT;AACA,OAAO,iBAAP;;AAEA,IAAI,QAAQ,CAAC,EAAT,KAAgB,KAApB,EAA2B;AACzB,MAAM,aAAa,GAAG,UAAU,CAAC,gBAAX,EAAtB;AAGA,EAAA,UAAU,CAAC,gBAAX,CAA4B,iBAAO,KAAP,EAAc,OAAd;AAAA;AAAA;AAAA;AAAA;AAAA,iBACtB,iBAAiB,CAAC,iBADI;AAAA;AAAA;AAAA;;AAAA;AAAA,6CAElB,iBAAiB,CAAC,iBAAlB,CAAoC,sBAAsB,EAA1D,CAFkB;;AAAA;AAI1B,YAAA,aAAa,CAAC,KAAD,EAAQ,OAAR,CAAb;;AAJ0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAA5B;AAMD,CAVD,MAUO,IAAI,QAAQ,CAAC,EAAT,KAAgB,KAAhB,IAAyB,QAAQ,CAAC,cAAtC,EAAsD;AAC3D,EAAA,MAAM,CAAC,gBAAP,CAAwB,OAAxB,EAAiC,YAAK;AACpC,IAAA,iBAAiB,CAAC,iBAAlB,CAAoC,sBAAsB,EAA1D;AACD,GAFD;AAGD","sourcesContent":["import { Platform } from 'expo-modules-core';\n\nimport { getRecoveryPropsToSave } from './ErroRecoveryStore';\nimport ExpoErrorRecovery from './ExpoErrorRecovery';\n\nif (Platform.OS !== 'web') {\n const globalHandler = ErrorUtils.getGlobalHandler();\n // ErrorUtils came from react-native\n // https://github.com/facebook/react-native/blob/1151c096dab17e5d9a6ac05b61aacecd4305f3db/Libraries/vendor/core/ErrorUtils.js#L25\n ErrorUtils.setGlobalHandler(async (error, isFatal) => {\n if (ExpoErrorRecovery.saveRecoveryProps) {\n await ExpoErrorRecovery.saveRecoveryProps(getRecoveryPropsToSave());\n }\n globalHandler(error, isFatal);\n });\n} else if (Platform.OS === 'web' && Platform.isDOMAvailable) {\n window.addEventListener('error', () => {\n ExpoErrorRecovery.saveRecoveryProps(getRecoveryPropsToSave());\n });\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/8431c8fe773128fc73d209fde93eb72f.json b/.expo/web/cache/development/babel-loader/8431c8fe773128fc73d209fde93eb72f.json new file mode 100644 index 0000000000000000000000000000000000000000..ff48f9e376e1f36ac9e8d6d15dd76fc69b2b5b5b --- /dev/null +++ b/.expo/web/cache/development/babel-loader/8431c8fe773128fc73d209fde93eb72f.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nimport { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\n\nvar emptyFunction = function emptyFunction() {};\n\nfunction supportsPassiveEvents() {\n var supported = false;\n\n if (canUseDOM) {\n try {\n var options = {};\n Object.defineProperty(options, 'passive', {\n get: function 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\n return supported;\n}\n\nvar canUsePassiveEvents = supportsPassiveEvents();\n\nfunction getOptions(options) {\n if (options == null) {\n return false;\n }\n\n return canUsePassiveEvents ? options : Boolean(options.capture);\n}\n\nfunction isPropagationStopped() {\n return this.cancelBubble;\n}\n\nfunction isDefaultPrevented() {\n return this.defaultPrevented;\n}\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\nexport default function createEventHandle(type, options) {\n var opts = getOptions(options);\n return function (target, listener) {\n if (target == null || typeof target.addEventListener !== 'function') {\n throw new Error('createEventHandle: called on an invalid target.');\n }\n\n var element = target;\n\n if (listener != null) {\n var compatListener = function compatListener(e) {\n return listener(normalizeEvent(e));\n };\n\n element.addEventListener(type, compatListener, opts);\n return function removeListener() {\n if (element != null) {\n element.removeEventListener(type, compatListener, opts);\n }\n };\n } else {\n return emptyFunction;\n }\n };\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/createEventHandle/index.js"],"names":["canUseDOM","emptyFunction","supportsPassiveEvents","supported","options","Object","defineProperty","get","window","addEventListener","removeEventListener","e","canUsePassiveEvents","getOptions","Boolean","capture","isPropagationStopped","cancelBubble","isDefaultPrevented","defaultPrevented","normalizeEvent","event","nativeEvent","persist","createEventHandle","type","opts","target","listener","Error","element","compatListener","removeListener"],"mappings":"AAQA;;AAEA,SAASA,SAAT,QAA0B,+BAA1B;;AAEA,IAAIC,aAAa,GAAG,SAASA,aAAT,GAAyB,CAAE,CAA/C;;AAEA,SAASC,qBAAT,GAAiC;AAC/B,MAAIC,SAAS,GAAG,KAAhB;;AAGA,MAAIH,SAAJ,EAAe;AACb,QAAI;AACF,UAAII,OAAO,GAAG,EAAd;AACAC,MAAAA,MAAM,CAACC,cAAP,CAAsBF,OAAtB,EAA+B,SAA/B,EAA0C;AACxCG,QAAAA,GAAG,EAAE,SAASA,GAAT,GAAe;AAClBJ,UAAAA,SAAS,GAAG,IAAZ;AACA,iBAAO,KAAP;AACD;AAJuC,OAA1C;AAMAK,MAAAA,MAAM,CAACC,gBAAP,CAAwB,MAAxB,EAAgC,IAAhC,EAAsCL,OAAtC;AACAI,MAAAA,MAAM,CAACE,mBAAP,CAA2B,MAA3B,EAAmC,IAAnC,EAAyCN,OAAzC;AACD,KAVD,CAUE,OAAOO,CAAP,EAAU,CAAE;AACf;;AAED,SAAOR,SAAP;AACD;;AAED,IAAIS,mBAAmB,GAAGV,qBAAqB,EAA/C;;AAEA,SAASW,UAAT,CAAoBT,OAApB,EAA6B;AAC3B,MAAIA,OAAO,IAAI,IAAf,EAAqB;AACnB,WAAO,KAAP;AACD;;AAED,SAAOQ,mBAAmB,GAAGR,OAAH,GAAaU,OAAO,CAACV,OAAO,CAACW,OAAT,CAA9C;AACD;;AAQD,SAASC,oBAAT,GAAgC;AAC9B,SAAO,KAAKC,YAAZ;AACD;;AAED,SAASC,kBAAT,GAA8B;AAC5B,SAAO,KAAKC,gBAAZ;AACD;;AAED,SAASC,cAAT,CAAwBC,KAAxB,EAA+B;AAC7BA,EAAAA,KAAK,CAACC,WAAN,GAAoBD,KAApB;AACAA,EAAAA,KAAK,CAACE,OAAN,GAAgBtB,aAAhB;AACAoB,EAAAA,KAAK,CAACH,kBAAN,GAA2BA,kBAA3B;AACAG,EAAAA,KAAK,CAACL,oBAAN,GAA6BA,oBAA7B;AACA,SAAOK,KAAP;AACD;;AAMD,eAAe,SAASG,iBAAT,CAA2BC,IAA3B,EAAiCrB,OAAjC,EAA0C;AACvD,MAAIsB,IAAI,GAAGb,UAAU,CAACT,OAAD,CAArB;AACA,SAAO,UAAUuB,MAAV,EAAkBC,QAAlB,EAA4B;AACjC,QAAID,MAAM,IAAI,IAAV,IAAkB,OAAOA,MAAM,CAAClB,gBAAd,KAAmC,UAAzD,EAAqE;AACnE,YAAM,IAAIoB,KAAJ,CAAU,iDAAV,CAAN;AACD;;AAED,QAAIC,OAAO,GAAGH,MAAd;;AAEA,QAAIC,QAAQ,IAAI,IAAhB,EAAsB;AACpB,UAAIG,cAAc,GAAG,SAASA,cAAT,CAAwBpB,CAAxB,EAA2B;AAC9C,eAAOiB,QAAQ,CAACR,cAAc,CAACT,CAAD,CAAf,CAAf;AACD,OAFD;;AAIAmB,MAAAA,OAAO,CAACrB,gBAAR,CAAyBgB,IAAzB,EAA+BM,cAA/B,EAA+CL,IAA/C;AACA,aAAO,SAASM,cAAT,GAA0B;AAC/B,YAAIF,OAAO,IAAI,IAAf,EAAqB;AACnBA,UAAAA,OAAO,CAACpB,mBAAR,CAA4Be,IAA5B,EAAkCM,cAAlC,EAAkDL,IAAlD;AACD;AACF,OAJD;AAKD,KAXD,MAWO;AACL,aAAOzB,aAAP;AACD;AACF,GArBD;AAsBD","sourcesContent":["/**\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 */\n'use strict';\n\nimport { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\n\nvar emptyFunction = function emptyFunction() {};\n\nfunction supportsPassiveEvents() {\n var supported = false; // 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\n if (canUseDOM) {\n try {\n var options = {};\n Object.defineProperty(options, 'passive', {\n get: function 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\n return supported;\n}\n\nvar canUsePassiveEvents = supportsPassiveEvents();\n\nfunction getOptions(options) {\n if (options == null) {\n return false;\n }\n\n return canUsePassiveEvents ? options : Boolean(options.capture);\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 */\n\n\nfunction isPropagationStopped() {\n return this.cancelBubble;\n}\n\nfunction isDefaultPrevented() {\n return this.defaultPrevented;\n}\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\n\nexport default function createEventHandle(type, options) {\n var opts = getOptions(options);\n return function (target, listener) {\n if (target == null || typeof target.addEventListener !== 'function') {\n throw new Error('createEventHandle: called on an invalid target.');\n }\n\n var element = target;\n\n if (listener != null) {\n var compatListener = function compatListener(e) {\n return listener(normalizeEvent(e));\n };\n\n element.addEventListener(type, compatListener, opts);\n return function removeListener() {\n if (element != null) {\n element.removeEventListener(type, compatListener, opts);\n }\n };\n } else {\n return emptyFunction;\n }\n };\n}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/84b2c35948653693671ffd6a2c02cd12.json b/.expo/web/cache/development/babel-loader/84b2c35948653693671ffd6a2c02cd12.json new file mode 100644 index 0000000000000000000000000000000000000000..d13bc723f90ff09b0cd611f23417c7f4d3282914 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/84b2c35948653693671ffd6a2c02cd12.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATAS = null;\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n DATA = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n setUsers(null);\n\n if (big != null) {\n Alert.alert('big is not empty');\n }\n\n var colRef = collection(getFirestore(), \"Users\");\n var big = [];\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var itemData = {\n name: doc.data().Name,\n email: doc.data().Email,\n image: doc.data().Image,\n id: doc.id\n };\n big.push(itemData);\n setUsers(big);\n });\n });\n }, []);\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n var big = [];\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n big.push(itemData);\n }\n });\n setUsers(big);\n });\n }\n\n if (route.params != null) {\n setUsers(null);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n }), _jsx(Text, {\n style: styles.beschreibung,\n children: item.name\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsxs(View, {\n children: [_jsx(Text, {\n children: \"No Data Found\"\n }), _jsx(Button, {\n title: \"Load Data\",\n onPress: listenOnChange\n })]\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsx(TouchableOpacity, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n style: styles.button,\n children: _jsx(Text, {\n style: styles.cancelButtonText,\n children: \"Create new User\"\n })\n }), _jsx(Text, {\n children: \" \"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return item + index;\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50,\n borderRadius: 50 / 2,\n overflow: \"hidden\",\n borderWidth: 3,\n borderColor: \"#D9D9D9\"\n },\n item: {\n width: 250,\n paddingTop: 20,\n paddingBottom: 20,\n paddingRight: 20,\n marginVertical: 8,\n marginHorizontal: 25,\n borderBottomColor: '#D9D9D9',\n borderBottomWidth: 2,\n flexDirection: \"row\"\n },\n beschreibung: {\n marginLeft: 10,\n marginTop: 10,\n width: 180,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 16,\n lineHeight: 23,\n color: \"#5E6A79\"\n },\n button: {\n marginTop: 25,\n marginBottom: 20,\n height: 35,\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\n borderRadius: 12,\n justifyContent: 'center'\n },\n cancelButtonText: {\n height: 28,\n margin: 10,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 15,\n lineHeight: 22,\n textAlign: 'center',\n color: \"#5E6A79\"\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATAS","UserLists","navigation","route","DATA","setUsers","big","Alert","alert","colRef","querySnapshot","forEach","itemData","name","data","Name","email","Email","image","Image","id","push","listenOnChange","snapchot","docChanges","change","type","message","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","beschreibung","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","container","button","cancelButtonText","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height","borderRadius","overflow","borderWidth","borderColor","paddingTop","paddingBottom","paddingRight","marginVertical","borderBottomColor","borderBottomWidth","flexDirection","marginLeft","marginTop","fontStyle","fontWeight","fontSize","lineHeight","marginBottom","margin","textAlign"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATAS = null;\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [DATA, setUsers] = useState(null);\r\n\r\n//listenOnChange();\r\n//useeffect();\r\n\r\n/*useEffect(()=>{\r\nconst colRef = collection(getFirestore(),\"Users\");\r\nconst big= [];\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n //DATA.push(itemData);\r\n setUsers(big);\r\n //Alert.alert('count data',DATA.name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])*/\r\n\r\n\r\n\r\n\r\n//test\r\nuseEffect(()=>{\r\n \r\n setUsers(null);\r\n if(big != null){Alert.alert('big is not empty', );}\r\n const colRef = collection(getFirestore(),\"Users\");\r\n let big= [];\r\n \r\n onSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n \r\n //DATA.push(itemData);\r\n setUsers(big);\r\n \r\n });\r\n \r\n //setUsers(users)\r\n });\r\n //Alert.alert(users.Name.toString);\r\n \r\n },[])\r\n\r\n\r\n \r\n\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n const big = [];\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n //DATA.push(itemData);\r\n big.push(itemData);\r\n \r\n //Alert.alert('listen on change',message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n }); setUsers(big);\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\nsetUsers(null);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n \r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n <Text style={styles.beschreibung}>\r\n {item.name} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){ //DATAS zu DATA ändern ___-------\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <View>\r\n <Text>\r\n No Data Found \r\n </Text>\r\n <Button title='Load Data' onPress={listenOnChange}/>\r\n </View>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <TouchableOpacity onPress={()=> {navigation.navigate('CreateNewUser')}} style={styles.button}>\r\n <Text style={styles.cancelButtonText}>\r\n Create new User\r\n </Text>\r\n \r\n </TouchableOpacity>\r\n <Text> </Text>\r\n\r\n <FlatList\r\n data={DATA} //DATAS zu DATA ändern ___-------\r\n renderItem={renderItem}\r\n /*keyExtractor={ (item, index) => index.toString()}//item => item.id*/\r\n keyExtractor={(item, index) => item + index}\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n borderRadius: 50 / 2,\r\n overflow: \"hidden\",\r\n borderWidth: 3,\r\n borderColor: \"#D9D9D9\"\r\n },\r\n item: {\r\n width: 250,\r\n paddingTop: 20,\r\n paddingBottom: 20,\r\n paddingRight: 20,\r\n marginVertical: 8,\r\n marginHorizontal: 25,\r\n borderBottomColor: '#D9D9D9',\r\n borderBottomWidth: 2,\r\n flexDirection: \"row\",\r\n },\r\n beschreibung: {\r\n marginLeft:10,\r\n marginTop:10,\r\n width: 180,\r\n\r\n // font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 16,\r\n lineHeight: 23,\r\n color: \"#5E6A79\",\r\n },\r\n button:{\r\n marginTop:25,\r\n marginBottom: 20,\r\n height: 35,\r\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\r\n //box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);\r\n borderRadius: 12,\r\n justifyContent: 'center',\r\n \r\n},\r\ncancelButtonText:{\r\n //width: 55,\r\n height: 28,\r\nmargin:10,\r\n //font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 15,\r\n lineHeight: 22,\r\n textAlign:'center',\r\n color: \"#5E6A79\",\r\n},\r\n\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/84f6439c05b657f69050689ffcae2175.json b/.expo/web/cache/development/babel-loader/84f6439c05b657f69050689ffcae2175.json new file mode 100644 index 0000000000000000000000000000000000000000..bbfbb1410275c2ba8dda55e9a0fdf7d7fc285c5f --- /dev/null +++ b/.expo/web/cache/development/babel-loader/84f6439c05b657f69050689ffcae2175.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport TextInput from \"react-native-web/dist/exports/TextInput\";\nimport React, { useState, useEffect } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Details(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(route.params.name.title),\n _useState2 = _slicedToArray(_useState, 2),\n fach = _useState2[0],\n onChangeFach = _useState2[1];\n\n function update() {\n navigation.navigate({\n name: 'UserList',\n params: {\n post: fach\n },\n merge: true\n });\n }\n\n return _jsxs(View, {\n children: [_jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeFach,\n value: fach,\n multiline: true\n }), _jsx(Text, {\n children: \"Hrllo\"\n }), _jsx(Button, {\n title: \"Update\",\n onPress: update\n }), _jsx(Button, {\n title: \"Delete\",\n onPress: update\n })]\n });\n}\nvar styles = StyleSheet.create({\n input: {\n borderBottomColor: '#CFCDCD',\n borderBottomWidth: 1,\n width: 220\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/Details.js"],"names":["React","useState","useEffect","Details","navigation","route","params","name","title","fach","onChangeFach","update","navigate","post","merge","styles","input","StyleSheet","create","borderBottomColor","borderBottomWidth","width"],"mappings":";;;;;;AACA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;;;AAGA,eAAe,SAASC,OAAT,OAAuC;AAAA,MAApBC,UAAoB,QAApBA,UAAoB;AAAA,MAARC,KAAQ,QAARA,KAAQ;;AAElD,kBAA6BJ,QAAQ,CAACI,KAAK,CAACC,MAAN,CAAaC,IAAb,CAAkBC,KAAnB,CAArC;AAAA;AAAA,MAAOC,IAAP;AAAA,MAAaC,YAAb;;AAEA,WAASC,MAAT,GAAiB;AACbP,IAAAA,UAAU,CAACQ,QAAX,CAAoB;AAChBL,MAAAA,IAAI,EAAE,UADU;AAEhBD,MAAAA,MAAM,EAAE;AAAEO,QAAAA,IAAI,EAAEJ;AAAR,OAFQ;AAGhBK,MAAAA,KAAK,EAAE;AAHS,KAApB;AAKH;;AAGD,SACI,MAAC,IAAD;AAAA,eACA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEC,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAEN,YAA9C;AAA4D,MAAA,KAAK,EAAED,IAAnE;AAAyE,MAAA,SAAS,EAAI;AAAtF,MADA,EAEA,KAAC,IAAD;AAAA;AAAA,MAFA,EAGA,KAAC,MAAD;AAAQ,MAAA,KAAK,EAAC,QAAd;AAAuB,MAAA,OAAO,EAAEE;AAAhC,MAHA,EAIA,KAAC,MAAD;AAAQ,MAAA,KAAK,EAAC,QAAd;AAAuB,MAAA,OAAO,EAAEA;AAAhC,MAJA;AAAA,IADJ;AAQH;AAID,IAAMI,MAAM,GAAGE,UAAU,CAACC,MAAX,CAAkB;AAC7BF,EAAAA,KAAK,EAAC;AAEFG,IAAAA,iBAAiB,EAAC,SAFhB;AAGFC,IAAAA,iBAAiB,EAAC,CAHhB;AAIFC,IAAAA,KAAK,EAAE;AAJL;AADuB,CAAlB,CAAf","sourcesContent":["import { StyleSheet, Text, View, Button, TextInput } from 'react-native';\r\nimport React, { useState, useEffect } from 'react';\r\n\r\n\r\nexport default function Details({ navigation, route }){\r\n\r\n const [fach, onChangeFach] = useState(route.params.name.title);\r\n\r\n function update(){\r\n navigation.navigate({\r\n name: 'UserList',\r\n params: { post: fach },\r\n merge: true,\r\n });\r\n }\r\n \r\n\r\n return(\r\n <View>\r\n <TextInput style={styles.input} onChangeText={onChangeFach} value={fach} multiline = {true} />\r\n <Text>Hrllo</Text>\r\n <Button title='Update' onPress={update}/>\r\n <Button title='Delete' onPress={update}/>\r\n </View>\r\n )\r\n}\r\n\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n input:{\r\n //underlineColorAndroid: '#CFCDCD',\r\n borderBottomColor:'#CFCDCD',\r\n borderBottomWidth:1,\r\n width: 220,\r\n },\r\n });"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/860901658a0ac2935b6bd9a6b23ccc42.json b/.expo/web/cache/development/babel-loader/860901658a0ac2935b6bd9a6b23ccc42.json new file mode 100644 index 0000000000000000000000000000000000000000..1e3a13bd5a3bdc91a5f969289d74c0370f3c0eae --- /dev/null +++ b/.expo/web/cache/development/babel-loader/860901658a0ac2935b6bd9a6b23ccc42.json @@ -0,0 +1 @@ +{"ast":null,"code":"var dataUriPattern = /^data:/;\nexport var ImageUriCache = function () {\n function ImageUriCache() {}\n\n ImageUriCache.has = function has(uri) {\n var entries = ImageUriCache._entries;\n var isDataUri = dataUriPattern.test(uri);\n return isDataUri || Boolean(entries[uri]);\n };\n\n ImageUriCache.add = function add(uri) {\n var entries = ImageUriCache._entries;\n var lastUsedTimestamp = Date.now();\n\n if (entries[uri]) {\n entries[uri].lastUsedTimestamp = lastUsedTimestamp;\n entries[uri].refCount += 1;\n } else {\n entries[uri] = {\n lastUsedTimestamp: lastUsedTimestamp,\n refCount: 1\n };\n }\n };\n\n ImageUriCache.remove = function remove(uri) {\n var entries = ImageUriCache._entries;\n\n if (entries[uri]) {\n entries[uri].refCount -= 1;\n }\n\n ImageUriCache._cleanUpIfNeeded();\n };\n\n ImageUriCache._cleanUpIfNeeded = function _cleanUpIfNeeded() {\n var entries = ImageUriCache._entries;\n var imageUris = Object.keys(entries);\n\n if (imageUris.length + 1 > ImageUriCache._maximumEntries) {\n var leastRecentlyUsedKey;\n var leastRecentlyUsedEntry;\n imageUris.forEach(function (uri) {\n var entry = entries[uri];\n\n if ((!leastRecentlyUsedEntry || entry.lastUsedTimestamp < leastRecentlyUsedEntry.lastUsedTimestamp) && entry.refCount === 0) {\n leastRecentlyUsedKey = uri;\n leastRecentlyUsedEntry = entry;\n }\n });\n\n if (leastRecentlyUsedKey) {\n delete entries[leastRecentlyUsedKey];\n }\n }\n };\n\n return ImageUriCache;\n}();\nImageUriCache._maximumEntries = 256;\nImageUriCache._entries = {};\nvar id = 0;\nvar requests = {};\nvar ImageLoader = {\n abort: function abort(requestId) {\n var image = requests[\"\" + requestId];\n\n if (image) {\n image.onerror = null;\n image.onload = null;\n image = null;\n delete requests[\"\" + requestId];\n }\n },\n getSize: function getSize(uri, success, failure) {\n var complete = false;\n var interval = setInterval(callback, 16);\n var requestId = ImageLoader.load(uri, callback, errorCallback);\n\n function callback() {\n var image = requests[\"\" + requestId];\n\n if (image) {\n var naturalHeight = image.naturalHeight,\n naturalWidth = image.naturalWidth;\n\n if (naturalHeight && naturalWidth) {\n success(naturalWidth, naturalHeight);\n complete = true;\n }\n }\n\n if (complete) {\n ImageLoader.abort(requestId);\n clearInterval(interval);\n }\n }\n\n function errorCallback() {\n if (typeof failure === 'function') {\n failure();\n }\n\n ImageLoader.abort(requestId);\n clearInterval(interval);\n }\n },\n has: function has(uri) {\n return ImageUriCache.has(uri);\n },\n load: function load(uri, onLoad, onError) {\n id += 1;\n var image = new window.Image();\n image.onerror = onError;\n\n image.onload = function (e) {\n var onDecode = function onDecode() {\n return onLoad({\n nativeEvent: e\n });\n };\n\n if (typeof image.decode === 'function') {\n image.decode().then(onDecode, onDecode);\n } else {\n setTimeout(onDecode, 0);\n }\n };\n\n image.src = uri;\n requests[\"\" + id] = image;\n return id;\n },\n prefetch: function prefetch(uri) {\n return new Promise(function (resolve, reject) {\n ImageLoader.load(uri, function () {\n ImageUriCache.add(uri);\n ImageUriCache.remove(uri);\n resolve();\n }, reject);\n });\n },\n queryCache: function queryCache(uris) {\n var result = {};\n uris.forEach(function (u) {\n if (ImageUriCache.has(u)) {\n result[u] = 'disk/memory';\n }\n });\n return Promise.resolve(result);\n }\n};\nexport default ImageLoader;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/ImageLoader/index.js"],"names":["dataUriPattern","ImageUriCache","has","uri","entries","_entries","isDataUri","test","Boolean","add","lastUsedTimestamp","Date","now","refCount","remove","_cleanUpIfNeeded","imageUris","Object","keys","length","_maximumEntries","leastRecentlyUsedKey","leastRecentlyUsedEntry","forEach","entry","id","requests","ImageLoader","abort","requestId","image","onerror","onload","getSize","success","failure","complete","interval","setInterval","callback","load","errorCallback","naturalHeight","naturalWidth","clearInterval","onLoad","onError","window","Image","e","onDecode","nativeEvent","decode","then","setTimeout","src","prefetch","Promise","resolve","reject","queryCache","uris","result","u"],"mappings":"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","sourcesContent":["/**\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 dataUriPattern = /^data:/;\nexport var ImageUriCache = /*#__PURE__*/function () {\n function ImageUriCache() {}\n\n ImageUriCache.has = function has(uri) {\n var entries = ImageUriCache._entries;\n var isDataUri = dataUriPattern.test(uri);\n return isDataUri || Boolean(entries[uri]);\n };\n\n ImageUriCache.add = function add(uri) {\n var entries = ImageUriCache._entries;\n var lastUsedTimestamp = Date.now();\n\n if (entries[uri]) {\n entries[uri].lastUsedTimestamp = lastUsedTimestamp;\n entries[uri].refCount += 1;\n } else {\n entries[uri] = {\n lastUsedTimestamp: lastUsedTimestamp,\n refCount: 1\n };\n }\n };\n\n ImageUriCache.remove = function remove(uri) {\n var entries = ImageUriCache._entries;\n\n if (entries[uri]) {\n entries[uri].refCount -= 1;\n } // Free up entries when the cache is \"full\"\n\n\n ImageUriCache._cleanUpIfNeeded();\n };\n\n ImageUriCache._cleanUpIfNeeded = function _cleanUpIfNeeded() {\n var entries = ImageUriCache._entries;\n var imageUris = Object.keys(entries);\n\n if (imageUris.length + 1 > ImageUriCache._maximumEntries) {\n var leastRecentlyUsedKey;\n var leastRecentlyUsedEntry;\n imageUris.forEach(function (uri) {\n var entry = entries[uri];\n\n if ((!leastRecentlyUsedEntry || entry.lastUsedTimestamp < leastRecentlyUsedEntry.lastUsedTimestamp) && entry.refCount === 0) {\n leastRecentlyUsedKey = uri;\n leastRecentlyUsedEntry = entry;\n }\n });\n\n if (leastRecentlyUsedKey) {\n delete entries[leastRecentlyUsedKey];\n }\n }\n };\n\n return ImageUriCache;\n}();\nImageUriCache._maximumEntries = 256;\nImageUriCache._entries = {};\nvar id = 0;\nvar requests = {};\nvar ImageLoader = {\n abort: function abort(requestId) {\n var image = requests[\"\" + requestId];\n\n if (image) {\n image.onerror = null;\n image.onload = null;\n image = null;\n delete requests[\"\" + requestId];\n }\n },\n getSize: function getSize(uri, success, failure) {\n var complete = false;\n var interval = setInterval(callback, 16);\n var requestId = ImageLoader.load(uri, callback, errorCallback);\n\n function callback() {\n var image = requests[\"\" + requestId];\n\n if (image) {\n var naturalHeight = image.naturalHeight,\n naturalWidth = image.naturalWidth;\n\n if (naturalHeight && naturalWidth) {\n success(naturalWidth, naturalHeight);\n complete = true;\n }\n }\n\n if (complete) {\n ImageLoader.abort(requestId);\n clearInterval(interval);\n }\n }\n\n function errorCallback() {\n if (typeof failure === 'function') {\n failure();\n }\n\n ImageLoader.abort(requestId);\n clearInterval(interval);\n }\n },\n has: function has(uri) {\n return ImageUriCache.has(uri);\n },\n load: function load(uri, onLoad, onError) {\n id += 1;\n var image = new window.Image();\n image.onerror = onError;\n\n image.onload = function (e) {\n // avoid blocking the main thread\n var onDecode = function onDecode() {\n return onLoad({\n nativeEvent: e\n });\n };\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\n image.src = uri;\n requests[\"\" + id] = image;\n return id;\n },\n prefetch: function prefetch(uri) {\n return new Promise(function (resolve, reject) {\n ImageLoader.load(uri, function () {\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: function queryCache(uris) {\n var result = {};\n uris.forEach(function (u) {\n if (ImageUriCache.has(u)) {\n result[u] = 'disk/memory';\n }\n });\n return Promise.resolve(result);\n }\n};\nexport default ImageLoader;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/86381c984a9036c1b5af6500e5294078.json b/.expo/web/cache/development/babel-loader/86381c984a9036c1b5af6500e5294078.json new file mode 100644 index 0000000000000000000000000000000000000000..a6e8ceec5f30e4b88014db66df9de1e70ee727d1 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/86381c984a9036c1b5af6500e5294078.json @@ -0,0 +1 @@ +{"ast":null,"code":"function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nimport * as React from 'react';\nimport { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nimport StyleSheet from \"../StyleSheet\";\nimport View from \"../View\";\n\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\n return 'env';\n}();\n\nvar SafeAreaView = React.forwardRef(function (props, ref) {\n var style = props.style,\n rest = _objectWithoutPropertiesLoose(props, [\"style\"]);\n\n return React.createElement(View, _extends({}, rest, {\n ref: ref,\n style: StyleSheet.compose(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;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/SafeAreaView/index.js"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf","React","canUseDOM","StyleSheet","View","cssFunction","window","CSS","supports","SafeAreaView","forwardRef","props","ref","style","rest","createElement","compose","styles","root","displayName","create","paddingTop","paddingRight","paddingBottom","paddingLeft"],"mappings":"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","sourcesContent":["function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport * as React from 'react';\nimport { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\n\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\n return 'env';\n}();\n\nvar SafeAreaView = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var style = props.style,\n rest = _objectWithoutPropertiesLoose(props, [\"style\"]);\n\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n ref: ref,\n style: StyleSheet.compose(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;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/868873576cf3d5176dc0cd6fed0b062a.json b/.expo/web/cache/development/babel-loader/868873576cf3d5176dc0cd6fed0b062a.json new file mode 100644 index 0000000000000000000000000000000000000000..bfbc189c4df4f72de89fcae18a06269b9018af6f --- /dev/null +++ b/.expo/web/cache/development/babel-loader/868873576cf3d5176dc0cd6fed0b062a.json @@ -0,0 +1 @@ +{"ast":null,"code":"function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;","map":{"version":3,"sources":["C:/Users/user/AppData/Roaming/npm/node_modules/expo-cli/node_modules/@babel/runtime/helpers/arrayLikeToArray.js"],"names":["_arrayLikeToArray","arr","len","length","i","arr2","Array","module","exports"],"mappings":"AAAA,SAASA,iBAAT,CAA2BC,GAA3B,EAAgCC,GAAhC,EAAqC;AACnC,MAAIA,GAAG,IAAI,IAAP,IAAeA,GAAG,GAAGD,GAAG,CAACE,MAA7B,EAAqCD,GAAG,GAAGD,GAAG,CAACE,MAAV;;AAErC,OAAK,IAAIC,CAAC,GAAG,CAAR,EAAWC,IAAI,GAAG,IAAIC,KAAJ,CAAUJ,GAAV,CAAvB,EAAuCE,CAAC,GAAGF,GAA3C,EAAgDE,CAAC,EAAjD,EAAqD;AACnDC,IAAAA,IAAI,CAACD,CAAD,CAAJ,GAAUH,GAAG,CAACG,CAAD,CAAb;AACD;;AAED,SAAOC,IAAP;AACD;;AAEDE,MAAM,CAACC,OAAP,GAAiBR,iBAAjB","sourcesContent":["function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/87ec46209c3ceed6e0191a2c36bf6cee.json b/.expo/web/cache/development/babel-loader/87ec46209c3ceed6e0191a2c36bf6cee.json new file mode 100644 index 0000000000000000000000000000000000000000..89a9c8ff567feab95e7e6c6a42cbd9e8e1de8efb --- /dev/null +++ b/.expo/web/cache/development/babel-loader/87ec46209c3ceed6e0191a2c36bf6cee.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"theme\", \"linking\", \"fallback\", \"documentTitle\", \"onReady\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nimport { BaseNavigationContainer, getActionFromState, getPathFromState, getStateFromPath, validatePathConfig } from '@react-navigation/core';\nimport * as React from 'react';\nimport LinkingContext from \"./LinkingContext\";\nimport DefaultTheme from \"./theming/DefaultTheme\";\nimport ThemeProvider from \"./theming/ThemeProvider\";\nimport useBackButton from \"./useBackButton\";\nimport useDocumentTitle from \"./useDocumentTitle\";\nimport useLinking from \"./useLinking\";\nimport useThenable from \"./useThenable\";\nglobal.REACT_NAVIGATION_DEVTOOLS = new WeakMap();\n\nfunction NavigationContainerInner(_ref, ref) {\n var _ref$theme = _ref.theme,\n theme = _ref$theme === void 0 ? DefaultTheme : _ref$theme,\n linking = _ref.linking,\n _ref$fallback = _ref.fallback,\n fallback = _ref$fallback === void 0 ? null : _ref$fallback,\n documentTitle = _ref.documentTitle,\n onReady = _ref.onReady,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n var isLinkingEnabled = linking ? linking.enabled !== false : false;\n\n if (linking !== null && linking !== void 0 && linking.config) {\n validatePathConfig(linking.config);\n }\n\n var refContainer = React.useRef(null);\n useBackButton(refContainer);\n useDocumentTitle(refContainer, documentTitle);\n\n var _useLinking = useLinking(refContainer, _objectSpread({\n independent: rest.independent,\n enabled: isLinkingEnabled,\n prefixes: []\n }, linking)),\n getInitialState = _useLinking.getInitialState;\n\n React.useEffect(function () {\n if (refContainer.current) {\n REACT_NAVIGATION_DEVTOOLS.set(refContainer.current, {\n get linking() {\n var _linking$prefixes, _linking$getStateFrom, _linking$getPathFromS, _linking$getActionFro;\n\n return _objectSpread(_objectSpread({}, linking), {}, {\n enabled: isLinkingEnabled,\n prefixes: (_linking$prefixes = linking === null || linking === void 0 ? void 0 : linking.prefixes) !== null && _linking$prefixes !== void 0 ? _linking$prefixes : [],\n getStateFromPath: (_linking$getStateFrom = linking === null || linking === void 0 ? void 0 : linking.getStateFromPath) !== null && _linking$getStateFrom !== void 0 ? _linking$getStateFrom : getStateFromPath,\n getPathFromState: (_linking$getPathFromS = linking === null || linking === void 0 ? void 0 : linking.getPathFromState) !== null && _linking$getPathFromS !== void 0 ? _linking$getPathFromS : getPathFromState,\n getActionFromState: (_linking$getActionFro = linking === null || linking === void 0 ? void 0 : linking.getActionFromState) !== null && _linking$getActionFro !== void 0 ? _linking$getActionFro : getActionFromState\n });\n }\n\n });\n }\n });\n\n var _useThenable = useThenable(getInitialState),\n _useThenable2 = _slicedToArray(_useThenable, 2),\n isResolved = _useThenable2[0],\n initialState = _useThenable2[1];\n\n React.useImperativeHandle(ref, function () {\n return refContainer.current;\n });\n var linkingContext = React.useMemo(function () {\n return {\n options: linking\n };\n }, [linking]);\n var isReady = rest.initialState != null || !isLinkingEnabled || isResolved;\n var onReadyRef = React.useRef(onReady);\n React.useEffect(function () {\n onReadyRef.current = onReady;\n });\n React.useEffect(function () {\n if (isReady) {\n var _onReadyRef$current;\n\n (_onReadyRef$current = onReadyRef.current) === null || _onReadyRef$current === void 0 ? void 0 : _onReadyRef$current.call(onReadyRef);\n }\n }, [isReady]);\n\n if (!isReady) {\n return fallback;\n }\n\n return React.createElement(LinkingContext.Provider, {\n value: linkingContext\n }, React.createElement(ThemeProvider, {\n value: theme\n }, React.createElement(BaseNavigationContainer, _extends({}, rest, {\n initialState: rest.initialState == null ? initialState : rest.initialState,\n ref: refContainer\n }))));\n}\n\nvar NavigationContainer = React.forwardRef(NavigationContainerInner);\nexport default NavigationContainer;","map":{"version":3,"sources":["NavigationContainer.tsx"],"names":["global","theme","fallback","rest","isLinkingEnabled","linking","validatePathConfig","refContainer","React","useBackButton","useDocumentTitle","getInitialState","useLinking","independent","enabled","prefixes","REACT_NAVIGATION_DEVTOOLS","getStateFromPath","getPathFromState","getActionFromState","useThenable","linkingContext","options","isReady","onReadyRef","NavigationContainer"],"mappings":"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","sourcesContent":["import {\n BaseNavigationContainer,\n getActionFromState,\n getPathFromState,\n getStateFromPath,\n NavigationContainerProps,\n NavigationContainerRef,\n ParamListBase,\n validatePathConfig,\n} from '@react-navigation/core';\nimport * as React from 'react';\n\nimport LinkingContext from './LinkingContext';\nimport DefaultTheme from './theming/DefaultTheme';\nimport ThemeProvider from './theming/ThemeProvider';\nimport type { DocumentTitleOptions, LinkingOptions, Theme } from './types';\nimport useBackButton from './useBackButton';\nimport useDocumentTitle from './useDocumentTitle';\nimport useLinking from './useLinking';\nimport useThenable from './useThenable';\n\ndeclare global {\n var REACT_NAVIGATION_DEVTOOLS: WeakMap<\n NavigationContainerRef<any>,\n { readonly linking: LinkingOptions<any> }\n >;\n}\n\nglobal.REACT_NAVIGATION_DEVTOOLS = new WeakMap();\n\ntype Props<ParamList extends {}> = NavigationContainerProps & {\n theme?: Theme;\n linking?: LinkingOptions<ParamList>;\n fallback?: React.ReactNode;\n documentTitle?: DocumentTitleOptions;\n onReady?: () => void;\n};\n\n/**\n * Container component which holds the navigation state designed for React Native apps.\n * This should be rendered at the root wrapping the whole app.\n *\n * @param props.initialState Initial state object for the navigation tree. When deep link handling is enabled, this will override deep links when specified. Make sure that you don't specify an `initialState` when there's a deep link (`Linking.getInitialURL()`).\n * @param props.onReady Callback which is called after the navigation tree mounts.\n * @param props.onStateChange Callback which is called with the latest navigation state when it changes.\n * @param props.theme Theme object for the navigators.\n * @param props.linking Options for deep linking. Deep link handling is enabled when this prop is provided, unless `linking.enabled` is `false`.\n * @param props.fallback Fallback component to render until we have finished getting initial state when linking is enabled. Defaults to `null`.\n * @param props.documentTitle Options to configure the document title on Web. Updating document title is handled by default unless `documentTitle.enabled` is `false`.\n * @param props.children Child elements to render the content.\n * @param props.ref Ref object which refers to the navigation object containing helper methods.\n */\nfunction NavigationContainerInner(\n {\n theme = DefaultTheme,\n linking,\n fallback = null,\n documentTitle,\n onReady,\n ...rest\n }: Props<ParamListBase>,\n ref?: React.Ref<NavigationContainerRef<ParamListBase> | null>\n) {\n const isLinkingEnabled = linking ? linking.enabled !== false : false;\n\n if (linking?.config) {\n validatePathConfig(linking.config);\n }\n\n const refContainer =\n React.useRef<NavigationContainerRef<ParamListBase>>(null);\n\n useBackButton(refContainer);\n useDocumentTitle(refContainer, documentTitle);\n\n const { getInitialState } = useLinking(refContainer, {\n independent: rest.independent,\n enabled: isLinkingEnabled,\n prefixes: [],\n ...linking,\n });\n\n // Add additional linking related info to the ref\n // This will be used by the devtools\n React.useEffect(() => {\n if (refContainer.current) {\n REACT_NAVIGATION_DEVTOOLS.set(refContainer.current, {\n get linking() {\n return {\n ...linking,\n enabled: isLinkingEnabled,\n prefixes: linking?.prefixes ?? [],\n getStateFromPath: linking?.getStateFromPath ?? getStateFromPath,\n getPathFromState: linking?.getPathFromState ?? getPathFromState,\n getActionFromState:\n linking?.getActionFromState ?? getActionFromState,\n };\n },\n });\n }\n });\n\n const [isResolved, initialState] = useThenable(getInitialState);\n\n React.useImperativeHandle(ref, () => refContainer.current);\n\n const linkingContext = React.useMemo(() => ({ options: linking }), [linking]);\n\n const isReady = rest.initialState != null || !isLinkingEnabled || isResolved;\n\n const onReadyRef = React.useRef(onReady);\n\n React.useEffect(() => {\n onReadyRef.current = onReady;\n });\n\n React.useEffect(() => {\n if (isReady) {\n onReadyRef.current?.();\n }\n }, [isReady]);\n\n if (!isReady) {\n // This is temporary until we have Suspense for data-fetching\n // Then the fallback will be handled by a parent `Suspense` component\n return fallback as React.ReactElement;\n }\n\n return (\n <LinkingContext.Provider value={linkingContext}>\n <ThemeProvider value={theme}>\n <BaseNavigationContainer\n {...rest}\n initialState={\n rest.initialState == null ? initialState : rest.initialState\n }\n ref={refContainer}\n />\n </ThemeProvider>\n </LinkingContext.Provider>\n );\n}\n\nconst NavigationContainer = React.forwardRef(NavigationContainerInner) as <\n RootParamList extends {} = ReactNavigation.RootParamList\n>(\n props: Props<RootParamList> & {\n ref?: React.Ref<NavigationContainerRef<RootParamList>>;\n }\n) => React.ReactElement;\n\nexport default NavigationContainer;\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/87f10b51c28df636090d93c2c1bb8651.json b/.expo/web/cache/development/babel-loader/87f10b51c28df636090d93c2c1bb8651.json new file mode 100644 index 0000000000000000000000000000000000000000..a6ec37c6c82eae2a81ecf8a202ffbc3dd34b325a --- /dev/null +++ b/.expo/web/cache/development/babel-loader/87f10b51c28df636090d93c2c1bb8651.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users.toString);\n setUsers(users);\n });\n }, []);\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {\n children: item.Name\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\"\n }), \" \", _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: users,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","params","post","Item","item","onPress","backgroundColor","textColor","styles","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":";AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;;;;;;;;;AAEA,SAASC,SAAT,QAA0B,iBAA1B;AAEA,OAAOC,EAAP;AACA,SAAQC,UAAR,EAAoBC,GAApB,EAAyBC,UAAzB,EAAqCC,aAArC,EAAoDC,MAApD,EAA4DC,SAA5D,EAAuEC,MAAvE,EAA+EC,YAA/E,EAA6FC,MAA7F,EAAqGC,MAArG,QAAkH,oBAAlH;;;AAyCA,IAAIC,IAAI,GAAG,EAAX;AAEA,eAAe,SAASC,SAAT,OAAuC;AAAA,MAAnBC,UAAmB,QAAnBA,UAAmB;AAAA,MAAPC,KAAO,QAAPA,KAAO;;AAEtD,kBAA0BjB,QAAQ,CAAC,EAAD,CAAlC;AAAA;AAAA,MAAOkB,KAAP;AAAA,MAAcC,QAAd;;AACAlB,EAAAA,SAAS,CAAC,YAAI;AAEd,QAAMmB,MAAM,GAAGhB,UAAU,CAACD,EAAD,EAAI,OAAJ,CAAzB;AACAG,IAAAA,UAAU,CAACc,MAAD,EAAS,UAACC,aAAD,EAAmB;AACpC,UAAMH,KAAK,GAAG,EAAd;AACAG,MAAAA,aAAa,CAACC,OAAd,CAAsB,UAACjB,GAAD,EAAO;AAC3B,wBAA6BA,GAAG,CAACkB,IAAJ,EAA7B;AAAA,YAAOC,KAAP,aAAOA,KAAP;AAAA,YAAcC,KAAd,aAAcA,KAAd;AAAA,YAAqBC,IAArB,aAAqBA,IAArB;;AACFR,QAAAA,KAAK,CAACS,IAAN,CAAW;AAACC,UAAAA,EAAE,EAACvB,GAAG,CAACuB,EAAR;AAAYJ,UAAAA,KAAK,EAALA,KAAZ;AAAmBC,UAAAA,KAAK,EAALA,KAAnB;AAA0BC,UAAAA,IAAI,EAAJA;AAA1B,SAAX;AACC,OAHD;AAIAG,MAAAA,KAAK,CAACC,KAAN,CAAYZ,KAAK,CAACa,QAAlB;AACAZ,MAAAA,QAAQ,CAACD,KAAD,CAAR;AACD,KARS,CAAV;AAUC,GAbQ,EAaP,EAbO,CAAT;;AAoFA,MAAGD,KAAK,CAACe,MAAN,IAAgB,IAAnB,EAAwB;AAExBH,IAAAA,KAAK,CAACC,KAAN,CAAYb,KAAK,CAACe,MAAN,CAAaC,IAAzB;AACC;;AACG,MAAMC,IAAI,GAAG,SAAPA,IAAO;AAAA,QAAGC,IAAH,SAAGA,IAAH;AAAA,QAASC,OAAT,SAASA,OAAT;AAAA,QAAkBC,eAAlB,SAAkBA,eAAlB;AAAA,QAAmCC,SAAnC,SAAmCA,SAAnC;AAAA,WACT,KAAC,IAAD;AAAA,gBACE,KAAC,gBAAD;AAAkB,QAAA,OAAO,EAAEF,OAA3B;AAAoC,QAAA,KAAK,EAAE,CAACG,MAAM,CAACJ,IAAR,EAAcE,eAAd,CAA3C;AAAA,kBACE,KAAC,IAAD;AAAA,oBACKF,IAAI,CAACT;AADV;AADF;AADF,MADS;AAAA,GAAb;;AAYJ,mBAAoC1B,QAAQ,CAAC,IAAD,CAA5C;AAAA;AAAA,MAAOwC,UAAP;AAAA,MAAmBC,aAAnB;;AAEE,MAAMC,UAAU,GAAG,SAAbA,UAAa,QAAc;AAAA,QAAXP,IAAW,SAAXA,IAAW;AAC/B,QAAME,eAAe,GAAGF,IAAI,CAACP,EAAL,KAAYY,UAAZ,GAAyB,SAAzB,GAAqC,SAA7D;AACA,QAAMG,KAAK,GAAGR,IAAI,CAACP,EAAL,KAAYY,UAAZ,GAAyB,OAAzB,GAAmC,OAAjD;AAEA,WACE,KAAC,IAAD;AACE,MAAA,IAAI,EAAEL,IADR;AAEE,MAAA,OAAO,EAAE;AAAA,eAAMS,uBAAuB,CAACT,IAAD,CAA7B;AAAA,OAFX;AAIE,MAAA,SAAS,EAAE;AAAEQ,QAAAA,KAAK,EAALA;AAAF;AAJb,MADF;AAQD,GAZD;;AAeA,MAAMC,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACT,IAAD,EAAS;AAExCM,IAAAA,aAAa,CAACN,IAAI,CAACP,EAAN,CAAb;AAEDZ,IAAAA,UAAU,CAAC6B,QAAX,CAAoB,SAApB,EAA8B;AAACC,MAAAA,IAAI,EAACX;AAAN,KAA9B;AAED,GANC;;AASF,MAAMY,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAM;AAC3B,QAAGjC,IAAI,IAAI,IAAX,EAAiB,CAEhB,CAFD,MAGI;AACFe,MAAAA,KAAK,CAACC,KAAN,CAAY,eAAZ;AACD;;AAED,WAEE,KAAC,IAAD;AAAA;AAAA,MAFF;AAMD,GAdH;;AAgBE,SACE,MAAC,YAAD;AAAc,IAAA,KAAK,EAAES,MAAM,CAACS,SAA5B;AAAA,eACA,MAAC,IAAD;AAAA,iBACC,KAAC,MAAD;AAAQ,QAAA,OAAO,EAAE,mBAAK;AAAChC,UAAAA,UAAU,CAAC6B,QAAX,CAAoB,eAApB;AAAqC,SAA5D;AAA8D,QAAA,KAAK,EAAC;AAApE,QADD,EAEE,KAAC,SAAD;AAAW,QAAA,KAAK,EAAC;AAAjB,QAFF;AAAA,MADA,EAKA,KAAC,IAAD;AAAA,gBAAO3B;AAAP,MALA,EAMA,KAAC,MAAD;AAAQ,MAAA,KAAK,EAAC;AAAd,MANA,OAOA,KAAC,MAAD;AAAQ,MAAA,KAAK,EAAC;AAAd,MAPA,EAQA,KAAC,QAAD;AACI,MAAA,IAAI,EAAEA,KADV;AAEI,MAAA,UAAU,EAAEwB,UAFhB;AAGI,MAAA,YAAY,EAAG,sBAACP,IAAD,EAAOc,KAAP;AAAA,eAAiBA,KAAK,CAAClB,QAAN,EAAjB;AAAA,OAHnB;AAII,MAAA,SAAS,EAAES,UAJf;AAKI,MAAA,kBAAkB,EAAEO;AALxB,MARA;AAAA,IADF;AAoBD;AAGD,IAAMR,MAAM,GAAGW,UAAU,CAACC,MAAX,CAAkB;AAC7BH,EAAAA,SAAS,EAAE;AACTI,IAAAA,IAAI,EAAE,CADG;AAETf,IAAAA,eAAe,EAAE,MAFR;AAGTgB,IAAAA,UAAU,EAAE,QAHH;AAITC,IAAAA,cAAc,EAAE,QAJP;AAKTC,IAAAA,gBAAgB,EAAE;AALT;AADkB,CAAlB,CAAf","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users.toString);\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\n/*function writeData(){\r\n \r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})\r\n}*/\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async () => {\r\n const id = 'q5EOqKxKEsAO6lLmhbnc';\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUsers({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n Alert.alert(users[0])\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.Name}\r\n \r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser'/> {/*onPress={writeData}*/}\r\n <Button title='UpdateUser' />{/*onPress={getUserById}*/}\r\n <FlatList\r\n data={users}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/8873099f7c4ae26d26f3463d86376644.json b/.expo/web/cache/development/babel-loader/8873099f7c4ae26d26f3463d86376644.json new file mode 100644 index 0000000000000000000000000000000000000000..e4327d94894349a0602605f812ad8e2454562735 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/8873099f7c4ae26d26f3463d86376644.json @@ -0,0 +1 @@ +{"ast":null,"code":"module.exports = '14.7.0';","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/firestore/lib/version.js"],"names":["module","exports"],"mappings":"AACAA,MAAM,CAACC,OAAP,GAAiB,QAAjB","sourcesContent":["// generated by genversion\nmodule.exports = '14.7.0';\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/8a6bf61c9f1215ac8eb4d9a9cde134e2.json b/.expo/web/cache/development/babel-loader/8a6bf61c9f1215ac8eb4d9a9cde134e2.json new file mode 100644 index 0000000000000000000000000000000000000000..129d659aa40158da1aa1d954227669e5ee192130 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/8a6bf61c9f1215ac8eb4d9a9cde134e2.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users.toString);\n setUsers(users);\n });\n }, []);\n\n function writeData() {\n try {\n var _docRef = function _docRef() {\n return _regeneratorRuntime.async(function _docRef$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _regeneratorRuntime.awrap(addDoc(collection(db, \"Users\"), {\n Email: \"Ada\",\n Image: \"Lovelace\",\n Name: \"1815\"\n }));\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n };\n\n console.log(\"Document written with ID: \", _docRef.id);\n Alert.alert(\"write Data worked: \");\n } catch (e) {\n console.error(\"Error adding document: \", e);\n }\n }\n\n var getUserById = function getUserById() {\n var id, docRef, docu, user;\n return _regeneratorRuntime.async(function getUserById$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n id = 'q5EOqKxKEsAO6lLmhbnc';\n docRef = doc(db, 'users', id);\n _context2.next = 4;\n return _regeneratorRuntime.awrap(getDoc(docRef));\n\n case 4:\n docu = _context2.sent;\n user = docu.data();\n setUsers(_objectSpread(_objectSpread({}, user), {}, {\n id: docu.id\n }));\n setLoading(false);\n Alert.alert(users[0]);\n\n case 9:\n case \"end\":\n return _context2.stop();\n }\n }\n }, null, null, null, Promise);\n };\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsxs(Text, {\n children: [item.title, users.toString]\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\",\n onPress: writeData\n }), _jsx(Button, {\n title: \"UpdateUser\",\n onPress: getUserById\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","writeData","console","log","e","error","getUserById","docu","user","setLoading","params","post","Item","item","onPress","backgroundColor","textColor","styles","title","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users.toString);\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\nfunction writeData(){\r\n \r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})*/\r\n}\r\n\r\n\r\n\r\n//update user\r\nconst getUserById = async () => {\r\n const id = 'q5EOqKxKEsAO6lLmhbnc';\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUsers({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n Alert.alert(users[0])\r\n };\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n {users.toString}\r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser' onPress={writeData}/>\r\n <Button title='UpdateUser' onPress={getUserById}/>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/8c2bb48914b3977416531182cdf42924.json b/.expo/web/cache/development/babel-loader/8c2bb48914b3977416531182cdf42924.json new file mode 100644 index 0000000000000000000000000000000000000000..302c3aa2f49d7a8232648d12d8ad7d546538c3b0 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/8c2bb48914b3977416531182cdf42924.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users[0].Name.toString);\n setUsers(users);\n });\n }, []);\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {})\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" bla\"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","params","post","Item","item","onPress","backgroundColor","textColor","styles","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState(null);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users[0].Name.toString);\r\n setUsers(users)\r\n});\r\n\r\n\r\n},[])\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {/*item.Name*/} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> bla</Text>\r\n <Button title='addUser'/> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/8cbe8607cdb22079413058c033bf128b.json b/.expo/web/cache/development/babel-loader/8cbe8607cdb22079413058c033bf128b.json new file mode 100644 index 0000000000000000000000000000000000000000..97344df0f7a343bac9b32ee8e5d11401200f64e9 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/8cbe8607cdb22079413058c033bf128b.json @@ -0,0 +1 @@ +{"ast":null,"code":"import getBoundingClientRect from \"../../modules/getBoundingClientRect\";\nimport ResponderTouchHistoryStore from \"./ResponderTouchHistoryStore\";\n\nvar emptyFunction = function emptyFunction() {};\n\nvar emptyObject = {};\nvar emptyArray = [];\n\nfunction normalizeIdentifier(identifier) {\n return identifier > 20 ? identifier % 20 : identifier;\n}\n\nexport default function createResponderEvent(domEvent) {\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\n function normalizeTouches(touches) {\n return Array.prototype.slice.call(touches).map(function (touch) {\n return {\n force: touch.force,\n identifier: normalizeIdentifier(touch.identifier),\n\n get locationX() {\n return locationX(touch.clientX);\n },\n\n get locationY() {\n return locationY(touch.clientY);\n },\n\n pageX: touch.pageX,\n pageY: touch.pageY,\n target: touch.target,\n timestamp: timestamp\n };\n });\n }\n\n if (domEventChangedTouches != null) {\n changedTouches = normalizeTouches(domEventChangedTouches);\n touches = normalizeTouches(domEvent.touches);\n } else {\n var emulatedTouches = [{\n force: force,\n identifier: identifier,\n\n get locationX() {\n return locationX(clientX);\n },\n\n get locationY() {\n return locationY(clientY);\n },\n\n pageX: pageX,\n pageY: pageY,\n target: domEvent.target,\n timestamp: timestamp\n }];\n changedTouches = emulatedTouches;\n touches = domEventType === 'mouseup' || domEventType === 'dragstart' ? emptyArray : emulatedTouches;\n }\n\n var responderEvent = {\n bubbles: true,\n cancelable: true,\n currentTarget: null,\n defaultPrevented: domEvent.defaultPrevented,\n dispatchConfig: emptyObject,\n eventPhase: domEvent.eventPhase,\n isDefaultPrevented: function isDefaultPrevented() {\n return domEvent.defaultPrevented;\n },\n isPropagationStopped: function isPropagationStopped() {\n return propagationWasStopped;\n },\n isTrusted: domEvent.isTrusted,\n nativeEvent: {\n altKey: false,\n ctrlKey: false,\n metaKey: metaKey,\n shiftKey: shiftKey,\n changedTouches: changedTouches,\n force: force,\n identifier: identifier,\n\n get locationX() {\n return locationX(clientX);\n },\n\n get locationY() {\n return locationY(clientY);\n },\n\n pageX: pageX,\n pageY: pageY,\n target: domEvent.target,\n timestamp: timestamp,\n touches: touches,\n type: domEventType\n },\n persist: emptyFunction,\n preventDefault: preventDefault,\n stopPropagation: function stopPropagation() {\n propagationWasStopped = true;\n },\n target: domEvent.target,\n timeStamp: timestamp,\n touchHistory: ResponderTouchHistoryStore.touchHistory\n };\n\n function locationX(x) {\n rect = rect || getBoundingClientRect(responderEvent.currentTarget);\n\n if (rect) {\n return x - rect.left;\n }\n }\n\n function locationY(y) {\n rect = rect || getBoundingClientRect(responderEvent.currentTarget);\n\n if (rect) {\n return y - rect.top;\n }\n }\n\n return responderEvent;\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/useResponderEvents/createResponderEvent.js"],"names":["getBoundingClientRect","ResponderTouchHistoryStore","emptyFunction","emptyObject","emptyArray","normalizeIdentifier","identifier","createResponderEvent","domEvent","rect","propagationWasStopped","changedTouches","touches","domEventChangedTouches","domEventType","type","metaKey","shiftKey","force","clientX","clientY","pageX","pageY","preventDefault","bind","timestamp","timeStamp","normalizeTouches","Array","prototype","slice","call","map","touch","locationX","locationY","target","emulatedTouches","responderEvent","bubbles","cancelable","currentTarget","defaultPrevented","dispatchConfig","eventPhase","isDefaultPrevented","isPropagationStopped","isTrusted","nativeEvent","altKey","ctrlKey","persist","stopPropagation","touchHistory","x","left","y","top"],"mappings":"AAQA,OAAOA,qBAAP;AACA,OAAOC,0BAAP;;AAEA,IAAIC,aAAa,GAAG,SAASA,aAAT,GAAyB,CAAE,CAA/C;;AAEA,IAAIC,WAAW,GAAG,EAAlB;AACA,IAAIC,UAAU,GAAG,EAAjB;;AAOA,SAASC,mBAAT,CAA6BC,UAA7B,EAAyC;AACvC,SAAOA,UAAU,GAAG,EAAb,GAAkBA,UAAU,GAAG,EAA/B,GAAoCA,UAA3C;AACD;;AAOD,eAAe,SAASC,oBAAT,CAA8BC,QAA9B,EAAwC;AACrD,MAAIC,IAAJ;AACA,MAAIC,qBAAqB,GAAG,KAA5B;AACA,MAAIC,cAAJ;AACA,MAAIC,OAAJ;AACA,MAAIC,sBAAsB,GAAGL,QAAQ,CAACG,cAAtC;AACA,MAAIG,YAAY,GAAGN,QAAQ,CAACO,IAA5B;AACA,MAAIC,OAAO,GAAGR,QAAQ,CAACQ,OAAT,KAAqB,IAAnC;AACA,MAAIC,QAAQ,GAAGT,QAAQ,CAACS,QAAT,KAAsB,IAArC;AACA,MAAIC,KAAK,GAAGL,sBAAsB,IAAIA,sBAAsB,CAAC,CAAD,CAAtB,CAA0BK,KAApD,IAA6D,CAAzE;AACA,MAAIZ,UAAU,GAAGD,mBAAmB,CAACQ,sBAAsB,IAAIA,sBAAsB,CAAC,CAAD,CAAtB,CAA0BP,UAApD,IAAkE,CAAnE,CAApC;AACA,MAAIa,OAAO,GAAGN,sBAAsB,IAAIA,sBAAsB,CAAC,CAAD,CAAtB,CAA0BM,OAApD,IAA+DX,QAAQ,CAACW,OAAtF;AACA,MAAIC,OAAO,GAAGP,sBAAsB,IAAIA,sBAAsB,CAAC,CAAD,CAAtB,CAA0BO,OAApD,IAA+DZ,QAAQ,CAACY,OAAtF;AACA,MAAIC,KAAK,GAAGR,sBAAsB,IAAIA,sBAAsB,CAAC,CAAD,CAAtB,CAA0BQ,KAApD,IAA6Db,QAAQ,CAACa,KAAlF;AACA,MAAIC,KAAK,GAAGT,sBAAsB,IAAIA,sBAAsB,CAAC,CAAD,CAAtB,CAA0BS,KAApD,IAA6Dd,QAAQ,CAACc,KAAlF;AACA,MAAIC,cAAc,GAAG,OAAOf,QAAQ,CAACe,cAAhB,KAAmC,UAAnC,GAAgDf,QAAQ,CAACe,cAAT,CAAwBC,IAAxB,CAA6BhB,QAA7B,CAAhD,GAAyFN,aAA9G;AACA,MAAIuB,SAAS,GAAGjB,QAAQ,CAACkB,SAAzB;;AAEA,WAASC,gBAAT,CAA0Bf,OAA1B,EAAmC;AACjC,WAAOgB,KAAK,CAACC,SAAN,CAAgBC,KAAhB,CAAsBC,IAAtB,CAA2BnB,OAA3B,EAAoCoB,GAApC,CAAwC,UAAUC,KAAV,EAAiB;AAC9D,aAAO;AACLf,QAAAA,KAAK,EAAEe,KAAK,CAACf,KADR;AAELZ,QAAAA,UAAU,EAAED,mBAAmB,CAAC4B,KAAK,CAAC3B,UAAP,CAF1B;;AAIL,YAAI4B,SAAJ,GAAgB;AACd,iBAAOA,SAAS,CAACD,KAAK,CAACd,OAAP,CAAhB;AACD,SANI;;AAQL,YAAIgB,SAAJ,GAAgB;AACd,iBAAOA,SAAS,CAACF,KAAK,CAACb,OAAP,CAAhB;AACD,SAVI;;AAYLC,QAAAA,KAAK,EAAEY,KAAK,CAACZ,KAZR;AAaLC,QAAAA,KAAK,EAAEW,KAAK,CAACX,KAbR;AAcLc,QAAAA,MAAM,EAAEH,KAAK,CAACG,MAdT;AAeLX,QAAAA,SAAS,EAAEA;AAfN,OAAP;AAiBD,KAlBM,CAAP;AAmBD;;AAED,MAAIZ,sBAAsB,IAAI,IAA9B,EAAoC;AAClCF,IAAAA,cAAc,GAAGgB,gBAAgB,CAACd,sBAAD,CAAjC;AACAD,IAAAA,OAAO,GAAGe,gBAAgB,CAACnB,QAAQ,CAACI,OAAV,CAA1B;AACD,GAHD,MAGO;AACL,QAAIyB,eAAe,GAAG,CAAC;AACrBnB,MAAAA,KAAK,EAAEA,KADc;AAErBZ,MAAAA,UAAU,EAAEA,UAFS;;AAIrB,UAAI4B,SAAJ,GAAgB;AACd,eAAOA,SAAS,CAACf,OAAD,CAAhB;AACD,OANoB;;AAQrB,UAAIgB,SAAJ,GAAgB;AACd,eAAOA,SAAS,CAACf,OAAD,CAAhB;AACD,OAVoB;;AAYrBC,MAAAA,KAAK,EAAEA,KAZc;AAarBC,MAAAA,KAAK,EAAEA,KAbc;AAcrBc,MAAAA,MAAM,EAAE5B,QAAQ,CAAC4B,MAdI;AAerBX,MAAAA,SAAS,EAAEA;AAfU,KAAD,CAAtB;AAiBAd,IAAAA,cAAc,GAAG0B,eAAjB;AACAzB,IAAAA,OAAO,GAAGE,YAAY,KAAK,SAAjB,IAA8BA,YAAY,KAAK,WAA/C,GAA6DV,UAA7D,GAA0EiC,eAApF;AACD;;AAED,MAAIC,cAAc,GAAG;AACnBC,IAAAA,OAAO,EAAE,IADU;AAEnBC,IAAAA,UAAU,EAAE,IAFO;AAInBC,IAAAA,aAAa,EAAE,IAJI;AAKnBC,IAAAA,gBAAgB,EAAElC,QAAQ,CAACkC,gBALR;AAMnBC,IAAAA,cAAc,EAAExC,WANG;AAOnByC,IAAAA,UAAU,EAAEpC,QAAQ,CAACoC,UAPF;AAQnBC,IAAAA,kBAAkB,EAAE,SAASA,kBAAT,GAA8B;AAChD,aAAOrC,QAAQ,CAACkC,gBAAhB;AACD,KAVkB;AAWnBI,IAAAA,oBAAoB,EAAE,SAASA,oBAAT,GAAgC;AACpD,aAAOpC,qBAAP;AACD,KAbkB;AAcnBqC,IAAAA,SAAS,EAAEvC,QAAQ,CAACuC,SAdD;AAenBC,IAAAA,WAAW,EAAE;AACXC,MAAAA,MAAM,EAAE,KADG;AAEXC,MAAAA,OAAO,EAAE,KAFE;AAGXlC,MAAAA,OAAO,EAAEA,OAHE;AAIXC,MAAAA,QAAQ,EAAEA,QAJC;AAKXN,MAAAA,cAAc,EAAEA,cALL;AAMXO,MAAAA,KAAK,EAAEA,KANI;AAOXZ,MAAAA,UAAU,EAAEA,UAPD;;AASX,UAAI4B,SAAJ,GAAgB;AACd,eAAOA,SAAS,CAACf,OAAD,CAAhB;AACD,OAXU;;AAaX,UAAIgB,SAAJ,GAAgB;AACd,eAAOA,SAAS,CAACf,OAAD,CAAhB;AACD,OAfU;;AAiBXC,MAAAA,KAAK,EAAEA,KAjBI;AAkBXC,MAAAA,KAAK,EAAEA,KAlBI;AAmBXc,MAAAA,MAAM,EAAE5B,QAAQ,CAAC4B,MAnBN;AAoBXX,MAAAA,SAAS,EAAEA,SApBA;AAqBXb,MAAAA,OAAO,EAAEA,OArBE;AAsBXG,MAAAA,IAAI,EAAED;AAtBK,KAfM;AAuCnBqC,IAAAA,OAAO,EAAEjD,aAvCU;AAwCnBqB,IAAAA,cAAc,EAAEA,cAxCG;AAyCnB6B,IAAAA,eAAe,EAAE,SAASA,eAAT,GAA2B;AAC1C1C,MAAAA,qBAAqB,GAAG,IAAxB;AACD,KA3CkB;AA4CnB0B,IAAAA,MAAM,EAAE5B,QAAQ,CAAC4B,MA5CE;AA6CnBV,IAAAA,SAAS,EAAED,SA7CQ;AA8CnB4B,IAAAA,YAAY,EAAEpD,0BAA0B,CAACoD;AA9CtB,GAArB;;AAmDA,WAASnB,SAAT,CAAmBoB,CAAnB,EAAsB;AACpB7C,IAAAA,IAAI,GAAGA,IAAI,IAAIT,qBAAqB,CAACsC,cAAc,CAACG,aAAhB,CAApC;;AAEA,QAAIhC,IAAJ,EAAU;AACR,aAAO6C,CAAC,GAAG7C,IAAI,CAAC8C,IAAhB;AACD;AACF;;AAED,WAASpB,SAAT,CAAmBqB,CAAnB,EAAsB;AACpB/C,IAAAA,IAAI,GAAGA,IAAI,IAAIT,qBAAqB,CAACsC,cAAc,CAACG,aAAhB,CAApC;;AAEA,QAAIhC,IAAJ,EAAU;AACR,aAAO+C,CAAC,GAAG/C,IAAI,CAACgD,GAAhB;AACD;AACF;;AAED,SAAOnB,cAAP;AACD","sourcesContent":["/**\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 getBoundingClientRect from '../../modules/getBoundingClientRect';\nimport ResponderTouchHistoryStore from './ResponderTouchHistoryStore';\n\nvar emptyFunction = function emptyFunction() {};\n\nvar emptyObject = {};\nvar emptyArray = [];\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 */\n\nfunction normalizeIdentifier(identifier) {\n return identifier > 20 ? identifier % 20 : identifier;\n}\n/**\n * Converts a native DOM event to a ResponderEvent.\n * Mouse events are transformed into fake touch events.\n */\n\n\nexport default function createResponderEvent(domEvent) {\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\n function normalizeTouches(touches) {\n return Array.prototype.slice.call(touches).map(function (touch) {\n return {\n force: touch.force,\n identifier: normalizeIdentifier(touch.identifier),\n\n get locationX() {\n return locationX(touch.clientX);\n },\n\n get locationY() {\n return locationY(touch.clientY);\n },\n\n pageX: touch.pageX,\n pageY: touch.pageY,\n target: touch.target,\n timestamp: timestamp\n };\n });\n }\n\n if (domEventChangedTouches != null) {\n changedTouches = normalizeTouches(domEventChangedTouches);\n touches = normalizeTouches(domEvent.touches);\n } else {\n var emulatedTouches = [{\n force: force,\n identifier: identifier,\n\n get locationX() {\n return locationX(clientX);\n },\n\n get locationY() {\n return locationY(clientY);\n },\n\n pageX: pageX,\n pageY: pageY,\n target: domEvent.target,\n timestamp: timestamp\n }];\n changedTouches = emulatedTouches;\n touches = domEventType === 'mouseup' || domEventType === 'dragstart' ? emptyArray : emulatedTouches;\n }\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: function isDefaultPrevented() {\n return domEvent.defaultPrevented;\n },\n isPropagationStopped: function isPropagationStopped() {\n return propagationWasStopped;\n },\n isTrusted: domEvent.isTrusted,\n nativeEvent: {\n altKey: false,\n ctrlKey: false,\n metaKey: metaKey,\n shiftKey: shiftKey,\n changedTouches: changedTouches,\n force: force,\n identifier: identifier,\n\n get locationX() {\n return locationX(clientX);\n },\n\n get locationY() {\n return locationY(clientY);\n },\n\n pageX: pageX,\n pageY: pageY,\n target: domEvent.target,\n timestamp: timestamp,\n touches: touches,\n type: domEventType\n },\n persist: emptyFunction,\n preventDefault: preventDefault,\n stopPropagation: function stopPropagation() {\n propagationWasStopped = true;\n },\n target: domEvent.target,\n timeStamp: timestamp,\n touchHistory: ResponderTouchHistoryStore.touchHistory\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\n function locationX(x) {\n rect = rect || getBoundingClientRect(responderEvent.currentTarget);\n\n if (rect) {\n return x - rect.left;\n }\n }\n\n function locationY(y) {\n rect = rect || getBoundingClientRect(responderEvent.currentTarget);\n\n if (rect) {\n return y - rect.top;\n }\n }\n\n return responderEvent;\n}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/8cbf7748244beebe223a35c45f322fda.json b/.expo/web/cache/development/babel-loader/8cbf7748244beebe223a35c45f322fda.json new file mode 100644 index 0000000000000000000000000000000000000000..0699aac815e3665811ef49c26756e4e2bd8f3d97 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/8cbf7748244beebe223a35c45f322fda.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport AnimatedValue from \"../nodes/AnimatedValue\";\nimport AnimatedValueXY from \"../nodes/AnimatedValueXY\";\nimport AnimatedInterpolation from \"../nodes/AnimatedInterpolation\";\nimport Animation from \"./Animation\";\nimport { shouldUseNativeDriver } from \"../NativeAnimatedHelper\";\nimport Easing from \"../../../../exports/Easing\";\n\nvar _easeInOut;\n\nfunction easeInOut() {\n if (!_easeInOut) {\n _easeInOut = Easing.inOut(Easing.ease);\n }\n\n return _easeInOut;\n}\n\nvar TimingAnimation = function (_Animation) {\n _inheritsLoose(TimingAnimation, _Animation);\n\n function TimingAnimation(config) {\n var _config$easing, _config$duration, _config$delay, _config$iterations, _config$isInteraction;\n\n var _this;\n\n _this = _Animation.call(this) || this;\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.__isInteraction = (_config$isInteraction = config.isInteraction) !== null && _config$isInteraction !== void 0 ? _config$isInteraction : !_this._useNativeDriver;\n return _this;\n }\n\n var _proto = TimingAnimation.prototype;\n\n _proto.__getNativeAnimationConfig = function __getNativeAnimationConfig() {\n var frameDuration = 1000.0 / 60.0;\n var frames = [];\n var numFrames = Math.round(this._duration / frameDuration);\n\n for (var frame = 0; frame < numFrames; frame++) {\n frames.push(this._easing(frame / numFrames));\n }\n\n frames.push(this._easing(1));\n return {\n type: 'frames',\n frames: frames,\n toValue: this._toValue,\n iterations: this.__iterations\n };\n };\n\n _proto.start = function start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {\n var _this2 = this;\n\n this.__active = true;\n this._fromValue = fromValue;\n this._onUpdate = onUpdate;\n this.__onEnd = onEnd;\n\n var start = function start() {\n if (_this2._duration === 0 && !_this2._useNativeDriver) {\n _this2._onUpdate(_this2._toValue);\n\n _this2.__debouncedOnEnd({\n finished: true\n });\n } else {\n _this2._startTime = Date.now();\n\n if (_this2._useNativeDriver) {\n _this2.__startNativeAnimation(animatedValue);\n } else {\n _this2._animationFrame = requestAnimationFrame(_this2.onUpdate.bind(_this2));\n }\n }\n };\n\n if (this._delay) {\n this._timeout = setTimeout(start, this._delay);\n } else {\n start();\n }\n };\n\n _proto.onUpdate = function onUpdate() {\n var now = Date.now();\n\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\n this.__debouncedOnEnd({\n finished: true\n });\n\n return;\n }\n\n this._onUpdate(this._fromValue + this._easing((now - this._startTime) / this._duration) * (this._toValue - this._fromValue));\n\n if (this.__active) {\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n };\n\n _proto.stop = function stop() {\n _Animation.prototype.stop.call(this);\n\n this.__active = false;\n clearTimeout(this._timeout);\n global.cancelAnimationFrame(this._animationFrame);\n\n this.__debouncedOnEnd({\n finished: false\n });\n };\n\n return TimingAnimation;\n}(Animation);\n\nexport default TimingAnimation;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/animations/TimingAnimation.js"],"names":["_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","AnimatedValue","AnimatedValueXY","AnimatedInterpolation","Animation","shouldUseNativeDriver","Easing","_easeInOut","easeInOut","inOut","ease","TimingAnimation","_Animation","config","_config$easing","_config$duration","_config$delay","_config$iterations","_config$isInteraction","_this","call","_toValue","toValue","_easing","easing","_duration","duration","_delay","delay","__iterations","iterations","_useNativeDriver","__isInteraction","isInteraction","_proto","__getNativeAnimationConfig","frameDuration","frames","numFrames","Math","round","frame","push","type","start","fromValue","onUpdate","onEnd","previousAnimation","animatedValue","_this2","__active","_fromValue","_onUpdate","__onEnd","__debouncedOnEnd","finished","_startTime","Date","now","__startNativeAnimation","_animationFrame","requestAnimationFrame","bind","_timeout","setTimeout","stop","clearTimeout","global","cancelAnimationFrame"],"mappings":"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","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport AnimatedValue from '../nodes/AnimatedValue';\nimport AnimatedValueXY from '../nodes/AnimatedValueXY';\nimport AnimatedInterpolation from '../nodes/AnimatedInterpolation';\nimport Animation from './Animation';\nimport { shouldUseNativeDriver } from '../NativeAnimatedHelper';\nimport Easing from '../../../../exports/Easing';\n\nvar _easeInOut;\n\nfunction easeInOut() {\n if (!_easeInOut) {\n _easeInOut = Easing.inOut(Easing.ease);\n }\n\n return _easeInOut;\n}\n\nvar TimingAnimation = /*#__PURE__*/function (_Animation) {\n _inheritsLoose(TimingAnimation, _Animation);\n\n function TimingAnimation(config) {\n var _config$easing, _config$duration, _config$delay, _config$iterations, _config$isInteraction;\n\n var _this;\n\n _this = _Animation.call(this) || this;\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.__isInteraction = (_config$isInteraction = config.isInteraction) !== null && _config$isInteraction !== void 0 ? _config$isInteraction : !_this._useNativeDriver;\n return _this;\n }\n\n var _proto = TimingAnimation.prototype;\n\n _proto.__getNativeAnimationConfig = function __getNativeAnimationConfig() {\n var frameDuration = 1000.0 / 60.0;\n var frames = [];\n var numFrames = Math.round(this._duration / frameDuration);\n\n for (var frame = 0; frame < numFrames; frame++) {\n frames.push(this._easing(frame / numFrames));\n }\n\n frames.push(this._easing(1));\n return {\n type: 'frames',\n frames: frames,\n toValue: this._toValue,\n iterations: this.__iterations\n };\n };\n\n _proto.start = function start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {\n var _this2 = this;\n\n this.__active = true;\n this._fromValue = fromValue;\n this._onUpdate = onUpdate;\n this.__onEnd = onEnd;\n\n var start = function 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 (_this2._duration === 0 && !_this2._useNativeDriver) {\n _this2._onUpdate(_this2._toValue);\n\n _this2.__debouncedOnEnd({\n finished: true\n });\n } else {\n _this2._startTime = Date.now();\n\n if (_this2._useNativeDriver) {\n _this2.__startNativeAnimation(animatedValue);\n } else {\n _this2._animationFrame = requestAnimationFrame(_this2.onUpdate.bind(_this2));\n }\n }\n };\n\n if (this._delay) {\n this._timeout = setTimeout(start, this._delay);\n } else {\n start();\n }\n };\n\n _proto.onUpdate = function onUpdate() {\n var now = Date.now();\n\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\n this.__debouncedOnEnd({\n finished: true\n });\n\n return;\n }\n\n this._onUpdate(this._fromValue + this._easing((now - this._startTime) / this._duration) * (this._toValue - this._fromValue));\n\n if (this.__active) {\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n };\n\n _proto.stop = function stop() {\n _Animation.prototype.stop.call(this);\n\n this.__active = false;\n clearTimeout(this._timeout);\n global.cancelAnimationFrame(this._animationFrame);\n\n this.__debouncedOnEnd({\n finished: false\n });\n };\n\n return TimingAnimation;\n}(Animation);\n\nexport default TimingAnimation;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/8d88bdd4128de0b0cdd607e3191d0284.json b/.expo/web/cache/development/babel-loader/8d88bdd4128de0b0cdd607e3191d0284.json new file mode 100644 index 0000000000000000000000000000000000000000..cc58358b4890dd2bf7dc3542859c977b36c717bb --- /dev/null +++ b/.expo/web/cache/development/babel-loader/8d88bdd4128de0b0cdd607e3191d0284.json @@ -0,0 +1 @@ +{"ast":null,"code":"import Dimensions from \"../Dimensions\";\n\nvar PixelRatio = function () {\n function PixelRatio() {}\n\n PixelRatio.get = function get() {\n return Dimensions.get('window').scale;\n };\n\n PixelRatio.getFontScale = function getFontScale() {\n return Dimensions.get('window').fontScale || PixelRatio.get();\n };\n\n PixelRatio.getPixelSizeForLayoutSize = function getPixelSizeForLayoutSize(layoutSize) {\n return Math.round(layoutSize * PixelRatio.get());\n };\n\n PixelRatio.roundToNearestPixel = function roundToNearestPixel(layoutSize) {\n var ratio = PixelRatio.get();\n return Math.round(layoutSize * ratio) / ratio;\n };\n\n return PixelRatio;\n}();\n\nexport { PixelRatio as default };","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/PixelRatio/index.js"],"names":["Dimensions","PixelRatio","get","scale","getFontScale","fontScale","getPixelSizeForLayoutSize","layoutSize","Math","round","roundToNearestPixel","ratio","default"],"mappings":"AASA,OAAOA,UAAP;;AAKA,IAAIC,UAAU,GAAgB,YAAY;AACxC,WAASA,UAAT,GAAsB,CAAE;;AAKxBA,EAAAA,UAAU,CAACC,GAAX,GAAiB,SAASA,GAAT,GAAe;AAC9B,WAAOF,UAAU,CAACE,GAAX,CAAe,QAAf,EAAyBC,KAAhC;AACD,GAFD;;AAQAF,EAAAA,UAAU,CAACG,YAAX,GAA0B,SAASA,YAAT,GAAwB;AAChD,WAAOJ,UAAU,CAACE,GAAX,CAAe,QAAf,EAAyBG,SAAzB,IAAsCJ,UAAU,CAACC,GAAX,EAA7C;AACD,GAFD;;AASAD,EAAAA,UAAU,CAACK,yBAAX,GAAuC,SAASA,yBAAT,CAAmCC,UAAnC,EAA+C;AACpF,WAAOC,IAAI,CAACC,KAAL,CAAWF,UAAU,GAAGN,UAAU,CAACC,GAAX,EAAxB,CAAP;AACD,GAFD;;AAWAD,EAAAA,UAAU,CAACS,mBAAX,GAAiC,SAASA,mBAAT,CAA6BH,UAA7B,EAAyC;AACxE,QAAII,KAAK,GAAGV,UAAU,CAACC,GAAX,EAAZ;AACA,WAAOM,IAAI,CAACC,KAAL,CAAWF,UAAU,GAAGI,KAAxB,IAAiCA,KAAxC;AACD,GAHD;;AAKA,SAAOV,UAAP;AACD,CAxC6B,EAA9B;;AA0CA,SAASA,UAAU,IAAIW,OAAvB","sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport Dimensions from '../Dimensions';\n/**\n * PixelRatio gives access to the device pixel density.\n */\n\nvar PixelRatio = /*#__PURE__*/function () {\n function PixelRatio() {}\n\n /**\n * Returns the device pixel density.\n */\n PixelRatio.get = function get() {\n return Dimensions.get('window').scale;\n }\n /**\n * No equivalent for Web\n */\n ;\n\n PixelRatio.getFontScale = function getFontScale() {\n return Dimensions.get('window').fontScale || PixelRatio.get();\n }\n /**\n * Converts a layout size (dp) to pixel size (px).\n * Guaranteed to return an integer number.\n */\n ;\n\n PixelRatio.getPixelSizeForLayoutSize = function getPixelSizeForLayoutSize(layoutSize) {\n return Math.round(layoutSize * PixelRatio.get());\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 ;\n\n PixelRatio.roundToNearestPixel = function roundToNearestPixel(layoutSize) {\n var ratio = PixelRatio.get();\n return Math.round(layoutSize * ratio) / ratio;\n };\n\n return PixelRatio;\n}();\n\nexport { PixelRatio as default };"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/8e20d449df9f02108b0a2a4a93d66d8b.json b/.expo/web/cache/development/babel-loader/8e20d449df9f02108b0a2a4a93d66d8b.json new file mode 100644 index 0000000000000000000000000000000000000000..6ae90dfa73ac77fd920942b0ddb40aa6b61cce6b --- /dev/null +++ b/.expo/web/cache/development/babel-loader/8e20d449df9f02108b0a2a4a93d66d8b.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n DATA = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(getFirestore(), \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var itemData = {\n name: doc.data().Name,\n email: doc.data().Email,\n image: doc.data().Image\n };\n setUsers(itemData);\n Alert.alert('useEffect', doc.data().Name);\n });\n });\n }, []);\n\n function useeffect() {\n getDocs(collection(getFirestore(), 'Users')).forEach(function (doc) {\n console.log(doc.id + \" => \" + doc.data());\n });\n }\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n Alert.alert('listen on change', message.Name);\n }\n });\n });\n }\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" \"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","UserLists","navigation","route","DATA","setUsers","colRef","querySnapshot","forEach","itemData","name","data","Name","email","Email","image","Image","Alert","alert","useeffect","console","log","id","listenOnChange","snapchot","docChanges","change","type","message","push","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\n//let DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [DATA, setUsers] = useState([]);\r\n\r\n//listenOnChange();\r\n//useeffect();\r\n\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(getFirestore(),\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image}\r\n //DATA.push(itemData);\r\n setUsers(itemData);\r\n Alert.alert('useEffect',doc.data().Name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\nfunction useeffect(){\r\n getDocs(collection(getFirestore(),'Users')).forEach((doc) => {\r\n console.log(`${doc.id} => ${doc.data()}`);\r\n});\r\n}\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n Alert.alert('listen on change',message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> </Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/8f40747649fdc71845622c10ebed2e64.json b/.expo/web/cache/development/babel-loader/8f40747649fdc71845622c10ebed2e64.json new file mode 100644 index 0000000000000000000000000000000000000000..54c3ba9a999dd8d5c0d8d144bb1780b86dda6947 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/8f40747649fdc71845622c10ebed2e64.json @@ -0,0 +1 @@ +{"ast":null,"code":"var PUSH_CHARS = '-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz';\nvar AUTO_ID_CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\nvar lastPushTime = 0;\nvar lastRandChars = [];\nexport function generateDatabaseId() {\n var serverTimeOffset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var timeStampChars = new Array(8);\n var now = new Date().getTime() + serverTimeOffset;\n var duplicateTime = now === lastPushTime;\n lastPushTime = now;\n\n for (var i = 7; i >= 0; i -= 1) {\n timeStampChars[i] = PUSH_CHARS.charAt(now % 64);\n now = Math.floor(now / 64);\n }\n\n if (now !== 0) {\n throw new Error('We should have converted the entire timestamp.');\n }\n\n var id = timeStampChars.join('');\n\n if (!duplicateTime) {\n for (var _i = 0; _i < 12; _i += 1) {\n lastRandChars[_i] = Math.floor(Math.random() * 64);\n }\n } else {\n var _i2;\n\n for (_i2 = 11; _i2 >= 0 && lastRandChars[_i2] === 63; _i2 -= 1) {\n lastRandChars[_i2] = 0;\n }\n\n lastRandChars[_i2] += 1;\n }\n\n for (var _i3 = 0; _i3 < 12; _i3++) {\n id += PUSH_CHARS.charAt(lastRandChars[_i3]);\n }\n\n if (id.length !== 20) {\n throw new Error('Length should be 20.');\n }\n\n return id;\n}\nexport function generateFirestoreId() {\n var autoId = '';\n\n for (var i = 0; i < 20; i++) {\n autoId += AUTO_ID_CHARS.charAt(Math.floor(Math.random() * AUTO_ID_CHARS.length));\n }\n\n return autoId;\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/app/lib/common/id.js"],"names":["PUSH_CHARS","AUTO_ID_CHARS","lastPushTime","lastRandChars","generateDatabaseId","serverTimeOffset","timeStampChars","Array","now","Date","getTime","duplicateTime","i","charAt","Math","floor","Error","id","join","random","length","generateFirestoreId","autoId"],"mappings":"AAAA,IAAMA,UAAU,GAAG,kEAAnB;AAEA,IAAMC,aAAa,GAAG,gEAAtB;AAGA,IAAIC,YAAY,GAAG,CAAnB;AAMA,IAAMC,aAAa,GAAG,EAAtB;AAOA,OAAO,SAASC,kBAAT,GAAkD;AAAA,MAAtBC,gBAAsB,uEAAH,CAAG;AACvD,MAAMC,cAAc,GAAG,IAAIC,KAAJ,CAAU,CAAV,CAAvB;AACA,MAAIC,GAAG,GAAG,IAAIC,IAAJ,GAAWC,OAAX,KAAuBL,gBAAjC;AACA,MAAMM,aAAa,GAAGH,GAAG,KAAKN,YAA9B;AAEAA,EAAAA,YAAY,GAAGM,GAAf;;AAEA,OAAK,IAAII,CAAC,GAAG,CAAb,EAAgBA,CAAC,IAAI,CAArB,EAAwBA,CAAC,IAAI,CAA7B,EAAgC;AAC9BN,IAAAA,cAAc,CAACM,CAAD,CAAd,GAAoBZ,UAAU,CAACa,MAAX,CAAkBL,GAAG,GAAG,EAAxB,CAApB;AACAA,IAAAA,GAAG,GAAGM,IAAI,CAACC,KAAL,CAAWP,GAAG,GAAG,EAAjB,CAAN;AACD;;AAED,MAAIA,GAAG,KAAK,CAAZ,EAAe;AACb,UAAM,IAAIQ,KAAJ,CAAU,gDAAV,CAAN;AACD;;AAED,MAAIC,EAAE,GAAGX,cAAc,CAACY,IAAf,CAAoB,EAApB,CAAT;;AAEA,MAAI,CAACP,aAAL,EAAoB;AAClB,SAAK,IAAIC,EAAC,GAAG,CAAb,EAAgBA,EAAC,GAAG,EAApB,EAAwBA,EAAC,IAAI,CAA7B,EAAgC;AAC9BT,MAAAA,aAAa,CAACS,EAAD,CAAb,GAAmBE,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACK,MAAL,KAAgB,EAA3B,CAAnB;AACD;AACF,GAJD,MAIO;AAGL,QAAIP,GAAJ;;AACA,SAAKA,GAAC,GAAG,EAAT,EAAaA,GAAC,IAAI,CAAL,IAAUT,aAAa,CAACS,GAAD,CAAb,KAAqB,EAA5C,EAAgDA,GAAC,IAAI,CAArD,EAAwD;AACtDT,MAAAA,aAAa,CAACS,GAAD,CAAb,GAAmB,CAAnB;AACD;;AAEDT,IAAAA,aAAa,CAACS,GAAD,CAAb,IAAoB,CAApB;AACD;;AAED,OAAK,IAAIA,GAAC,GAAG,CAAb,EAAgBA,GAAC,GAAG,EAApB,EAAwBA,GAAC,EAAzB,EAA6B;AAC3BK,IAAAA,EAAE,IAAIjB,UAAU,CAACa,MAAX,CAAkBV,aAAa,CAACS,GAAD,CAA/B,CAAN;AACD;;AAED,MAAIK,EAAE,CAACG,MAAH,KAAc,EAAlB,EAAsB;AACpB,UAAM,IAAIJ,KAAJ,CAAU,sBAAV,CAAN;AACD;;AAED,SAAOC,EAAP;AACD;AAMD,OAAO,SAASI,mBAAT,GAA+B;AACpC,MAAIC,MAAM,GAAG,EAAb;;AAEA,OAAK,IAAIV,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,EAApB,EAAwBA,CAAC,EAAzB,EAA6B;AAC3BU,IAAAA,MAAM,IAAIrB,aAAa,CAACY,MAAd,CAAqBC,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACK,MAAL,KAAgBlB,aAAa,CAACmB,MAAzC,CAArB,CAAV;AACD;;AACD,SAAOE,MAAP;AACD","sourcesContent":["const PUSH_CHARS = '-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz';\n\nconst AUTO_ID_CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n\n// timestamp of last push, used to prevent local collisions if you push twice in one ms.\nlet lastPushTime = 0;\n\n// we generate 72-bits of randomness which get turned into 12 characters and appended to the\n// timestamp to prevent collisions with other clients. We store the last characters we\n// generated because in the event of a collision, we'll use those same characters except\n// \"incremented\" by one.\nconst lastRandChars = [];\n\n/**\n * Generate a firebase id - for use with ref().push(val, cb) - e.g. -KXMr7k2tXUFQqiaZRY4'\n * @param serverTimeOffset - pass in server time offset from native side\n * @returns {string}\n */\nexport function generateDatabaseId(serverTimeOffset = 0) {\n const timeStampChars = new Array(8);\n let now = new Date().getTime() + serverTimeOffset;\n const duplicateTime = now === lastPushTime;\n\n lastPushTime = now;\n\n for (let i = 7; i >= 0; i -= 1) {\n timeStampChars[i] = PUSH_CHARS.charAt(now % 64);\n now = Math.floor(now / 64);\n }\n\n if (now !== 0) {\n throw new Error('We should have converted the entire timestamp.');\n }\n\n let id = timeStampChars.join('');\n\n if (!duplicateTime) {\n for (let i = 0; i < 12; i += 1) {\n lastRandChars[i] = Math.floor(Math.random() * 64);\n }\n } else {\n // if the timestamp hasn't changed since last push,\n // use the same random number, but increment it by 1.\n let i;\n for (i = 11; i >= 0 && lastRandChars[i] === 63; i -= 1) {\n lastRandChars[i] = 0;\n }\n\n lastRandChars[i] += 1;\n }\n\n for (let i = 0; i < 12; i++) {\n id += PUSH_CHARS.charAt(lastRandChars[i]);\n }\n\n if (id.length !== 20) {\n throw new Error('Length should be 20.');\n }\n\n return id;\n}\n\n/**\n * Generate a firestore auto id for use with collection/document .add()\n * @return {string}\n */\nexport function generateFirestoreId() {\n let autoId = '';\n\n for (let i = 0; i < 20; i++) {\n autoId += AUTO_ID_CHARS.charAt(Math.floor(Math.random() * AUTO_ID_CHARS.length));\n }\n return autoId;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/90653fda5094e973a15ca326fbf4d5b0.json b/.expo/web/cache/development/babel-loader/90653fda5094e973a15ca326fbf4d5b0.json new file mode 100644 index 0000000000000000000000000000000000000000..10b4a09b41d484b802e95c763d52729dd535dd05 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/90653fda5094e973a15ca326fbf4d5b0.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nvar _excluded = [\"children\", \"screenListeners\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport { CommonActions } from '@react-navigation/routers';\nimport * as React from 'react';\nimport { isValidElementType } from 'react-is';\nimport Group from \"./Group\";\nimport isArrayEqual from \"./isArrayEqual\";\nimport isRecordEqual from \"./isRecordEqual\";\nimport NavigationHelpersContext from \"./NavigationHelpersContext\";\nimport NavigationRouteContext from \"./NavigationRouteContext\";\nimport NavigationStateContext from \"./NavigationStateContext\";\nimport Screen from \"./Screen\";\nimport { PrivateValueStore } from \"./types\";\nimport useChildListeners from \"./useChildListeners\";\nimport useComponent from \"./useComponent\";\nimport useCurrentRender from \"./useCurrentRender\";\nimport useDescriptors from \"./useDescriptors\";\nimport useEventEmitter from \"./useEventEmitter\";\nimport useFocusedListenersChildrenAdapter from \"./useFocusedListenersChildrenAdapter\";\nimport useFocusEvents from \"./useFocusEvents\";\nimport useKeyedChildListeners from \"./useKeyedChildListeners\";\nimport useNavigationHelpers from \"./useNavigationHelpers\";\nimport useOnAction from \"./useOnAction\";\nimport useOnGetState from \"./useOnGetState\";\nimport useOnRouteFocus from \"./useOnRouteFocus\";\nimport useRegisterNavigator from \"./useRegisterNavigator\";\nimport useScheduleUpdate from \"./useScheduleUpdate\";\nPrivateValueStore;\n\nvar isValidKey = function isValidKey(key) {\n return key === undefined || typeof key === 'string' && key !== '';\n};\n\nvar getRouteConfigsFromChildren = function getRouteConfigsFromChildren(children, groupKey, groupOptions) {\n var configs = React.Children.toArray(children).reduce(function (acc, child) {\n var _child$type, _child$props;\n\n if (React.isValidElement(child)) {\n if (child.type === Screen) {\n if (!isValidKey(child.props.navigationKey)) {\n throw new Error(\"Got an invalid 'navigationKey' prop (\" + JSON.stringify(child.props.navigationKey) + \") for the screen '\" + child.props.name + \"'. It must be a non-empty string or 'undefined'.\");\n }\n\n acc.push({\n keys: [groupKey, child.props.navigationKey],\n options: groupOptions,\n props: child.props\n });\n return acc;\n }\n\n if (child.type === React.Fragment || child.type === Group) {\n if (!isValidKey(child.props.navigationKey)) {\n throw new Error(\"Got an invalid 'navigationKey' prop (\" + JSON.stringify(child.props.navigationKey) + \") for the group. It must be a non-empty string or 'undefined'.\");\n }\n\n acc.push.apply(acc, _toConsumableArray(getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== Group ? groupOptions : groupOptions != null ? [].concat(_toConsumableArray(groupOptions), [child.props.screenOptions]) : [child.props.screenOptions])));\n return acc;\n }\n }\n\n throw new Error(\"A navigator can only contain 'Screen', 'Group' or 'React.Fragment' as its direct children (found \" + (React.isValidElement(child) ? \"'\" + (typeof child.type === 'string' ? child.type : (_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.name) + \"'\" + ((_child$props = child.props) !== null && _child$props !== void 0 && _child$props.name ? \" for the screen '\" + child.props.name + \"'\" : '') : typeof child === 'object' ? JSON.stringify(child) : \"'\" + String(child) + \"'\") + \"). To render this component in the navigator, pass it in the 'component' prop to 'Screen'.\");\n }, []);\n\n if (process.env.NODE_ENV !== 'production') {\n configs.forEach(function (config) {\n var _config$props = config.props,\n name = _config$props.name,\n children = _config$props.children,\n component = _config$props.component,\n getComponent = _config$props.getComponent;\n\n if (typeof name !== 'string' || !name) {\n throw new Error(\"Got an invalid name (\" + JSON.stringify(name) + \") for the screen. It must be a non-empty string.\");\n }\n\n if (children != null || component !== undefined || getComponent !== undefined) {\n if (children != null && component !== undefined) {\n throw new Error(\"Got both 'component' and 'children' props for the screen '\" + name + \"'. You must pass only one of them.\");\n }\n\n if (children != null && getComponent !== undefined) {\n throw new Error(\"Got both 'getComponent' and 'children' props for the screen '\" + name + \"'. You must pass only one of them.\");\n }\n\n if (component !== undefined && getComponent !== undefined) {\n throw new Error(\"Got both 'component' and 'getComponent' props for the screen '\" + name + \"'. You must pass only one of them.\");\n }\n\n if (children != null && typeof children !== 'function') {\n throw new Error(\"Got an invalid value for 'children' prop for the screen '\" + name + \"'. It must be a function returning a React Element.\");\n }\n\n if (component !== undefined && !isValidElementType(component)) {\n throw new Error(\"Got an invalid value for 'component' prop for the screen '\" + name + \"'. It must be a valid React Component.\");\n }\n\n if (getComponent !== undefined && typeof getComponent !== 'function') {\n throw new Error(\"Got an invalid value for 'getComponent' prop for the screen '\" + name + \"'. It must be a function returning a React Component.\");\n }\n\n if (typeof component === 'function') {\n if (component.name === 'component') {\n console.warn(\"Looks like you're passing an inline function for 'component' prop for the screen '\" + name + \"' (e.g. component={() => <SomeComponent />}). Passing an inline function will cause the component state to be lost on re-render and cause perf issues since it's re-created every render. You can pass the function as children to 'Screen' instead to achieve the desired behaviour.\");\n } else if (/^[a-z]/.test(component.name)) {\n console.warn(\"Got a component with the name '\" + component.name + \"' for the screen '\" + name + \"'. React Components must start with an uppercase letter. If you're passing a regular function and not a component, pass it as children to 'Screen' instead. Otherwise capitalize your component's name.\");\n }\n }\n } else {\n throw new Error(\"Couldn't find a 'component', 'getComponent' or 'children' prop for the screen '\" + name + \"'. This can happen if you passed 'undefined'. You likely forgot to export your component from the file it's defined in, or mixed up default import and named import when importing.\");\n }\n });\n }\n\n return configs;\n};\n\nexport default function useNavigationBuilder(createRouter, options) {\n var navigatorKey = useRegisterNavigator();\n var route = React.useContext(NavigationRouteContext);\n\n var children = options.children,\n screenListeners = options.screenListeners,\n rest = _objectWithoutProperties(options, _excluded);\n\n var _React$useRef = React.useRef(createRouter(_objectSpread(_objectSpread({}, rest), route !== null && route !== void 0 && route.params && route.params.state == null && route.params.initial !== false && typeof route.params.screen === 'string' ? {\n initialRouteName: route.params.screen\n } : null))),\n router = _React$useRef.current;\n\n var routeConfigs = getRouteConfigsFromChildren(children);\n var screens = routeConfigs.reduce(function (acc, config) {\n if (config.props.name in acc) {\n throw new Error(\"A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '\" + config.props.name + \"')\");\n }\n\n acc[config.props.name] = config;\n return acc;\n }, {});\n var routeNames = routeConfigs.map(function (config) {\n return config.props.name;\n });\n var routeKeyList = routeNames.reduce(function (acc, curr) {\n acc[curr] = screens[curr].keys.map(function (key) {\n return key !== null && key !== void 0 ? key : '';\n }).join(':');\n return acc;\n }, {});\n var routeParamList = routeNames.reduce(function (acc, curr) {\n var initialParams = screens[curr].props.initialParams;\n acc[curr] = initialParams;\n return acc;\n }, {});\n var routeGetIdList = routeNames.reduce(function (acc, curr) {\n return _extends(acc, _defineProperty({}, curr, screens[curr].props.getId));\n }, {});\n\n if (!routeNames.length) {\n throw new Error(\"Couldn't find any screens for the navigator. Have you defined any screens as its children?\");\n }\n\n var isStateValid = React.useCallback(function (state) {\n return state.type === undefined || state.type === router.type;\n }, [router.type]);\n var isStateInitialized = React.useCallback(function (state) {\n return state !== undefined && state.stale === false && isStateValid(state);\n }, [isStateValid]);\n\n var _React$useContext = React.useContext(NavigationStateContext),\n currentState = _React$useContext.state,\n getCurrentState = _React$useContext.getState,\n setCurrentState = _React$useContext.setState,\n setKey = _React$useContext.setKey,\n getKey = _React$useContext.getKey,\n getIsInitial = _React$useContext.getIsInitial;\n\n var stateCleanedUp = React.useRef(false);\n var cleanUpState = React.useCallback(function () {\n setCurrentState(undefined);\n stateCleanedUp.current = true;\n }, [setCurrentState]);\n var setState = React.useCallback(function (state) {\n if (stateCleanedUp.current) {\n return;\n }\n\n setCurrentState(state);\n }, [setCurrentState]);\n\n var _React$useMemo = React.useMemo(function () {\n var _route$params4;\n\n var initialRouteParamList = routeNames.reduce(function (acc, curr) {\n var _route$params, _route$params2, _route$params3;\n\n var initialParams = screens[curr].props.initialParams;\n var initialParamsFromParams = (route === null || route === void 0 ? void 0 : (_route$params = route.params) === null || _route$params === void 0 ? void 0 : _route$params.state) == null && (route === null || route === void 0 ? void 0 : (_route$params2 = route.params) === null || _route$params2 === void 0 ? void 0 : _route$params2.initial) !== false && (route === null || route === void 0 ? void 0 : (_route$params3 = route.params) === null || _route$params3 === void 0 ? void 0 : _route$params3.screen) === curr ? route.params.params : undefined;\n acc[curr] = initialParams !== undefined || initialParamsFromParams !== undefined ? _objectSpread(_objectSpread({}, initialParams), initialParamsFromParams) : undefined;\n return acc;\n }, {});\n\n if ((currentState === undefined || !isStateValid(currentState)) && (route === null || route === void 0 ? void 0 : (_route$params4 = route.params) === null || _route$params4 === void 0 ? void 0 : _route$params4.state) == null) {\n return [router.getInitialState({\n routeNames: routeNames,\n routeParamList: initialRouteParamList,\n routeGetIdList: routeGetIdList\n }), true];\n } else {\n var _route$params$state, _route$params5;\n\n return [router.getRehydratedState((_route$params$state = route === null || route === void 0 ? void 0 : (_route$params5 = route.params) === null || _route$params5 === void 0 ? void 0 : _route$params5.state) !== null && _route$params$state !== void 0 ? _route$params$state : currentState, {\n routeNames: routeNames,\n routeParamList: initialRouteParamList,\n routeGetIdList: routeGetIdList\n }), false];\n }\n }, [currentState, router, isStateValid]),\n _React$useMemo2 = _slicedToArray(_React$useMemo, 2),\n initializedState = _React$useMemo2[0],\n isFirstStateInitialization = _React$useMemo2[1];\n\n var previousRouteKeyListRef = React.useRef(routeKeyList);\n React.useEffect(function () {\n previousRouteKeyListRef.current = routeKeyList;\n });\n var previousRouteKeyList = previousRouteKeyListRef.current;\n var state = isStateInitialized(currentState) ? currentState : initializedState;\n var nextState = state;\n\n if (!isArrayEqual(state.routeNames, routeNames) || !isRecordEqual(routeKeyList, previousRouteKeyList)) {\n nextState = router.getStateForRouteNamesChange(state, {\n routeNames: routeNames,\n routeParamList: routeParamList,\n routeGetIdList: routeGetIdList,\n routeKeyChanges: Object.keys(routeKeyList).filter(function (name) {\n return previousRouteKeyList.hasOwnProperty(name) && routeKeyList[name] !== previousRouteKeyList[name];\n })\n });\n }\n\n var previousNestedParamsRef = React.useRef(route === null || route === void 0 ? void 0 : route.params);\n React.useEffect(function () {\n previousNestedParamsRef.current = route === null || route === void 0 ? void 0 : route.params;\n }, [route === null || route === void 0 ? void 0 : route.params]);\n\n if (route !== null && route !== void 0 && route.params) {\n var previousParams = previousNestedParamsRef.current;\n var action;\n\n if (typeof route.params.state === 'object' && route.params.state != null && route.params !== previousParams) {\n action = CommonActions.reset(route.params.state);\n } else if (typeof route.params.screen === 'string' && (route.params.initial === false && isFirstStateInitialization || route.params !== previousParams)) {\n action = CommonActions.navigate({\n name: route.params.screen,\n params: route.params.params,\n path: route.params.path\n });\n }\n\n var updatedState = action ? router.getStateForAction(nextState, action, {\n routeNames: routeNames,\n routeParamList: routeParamList,\n routeGetIdList: routeGetIdList\n }) : null;\n nextState = updatedState !== null ? router.getRehydratedState(updatedState, {\n routeNames: routeNames,\n routeParamList: routeParamList,\n routeGetIdList: routeGetIdList\n }) : nextState;\n }\n\n var shouldUpdate = state !== nextState;\n useScheduleUpdate(function () {\n if (shouldUpdate) {\n setState(nextState);\n }\n });\n state = nextState;\n React.useEffect(function () {\n setKey(navigatorKey);\n\n if (!getIsInitial()) {\n setState(nextState);\n }\n\n return function () {\n setTimeout(function () {\n if (getCurrentState() !== undefined && getKey() === navigatorKey) {\n cleanUpState();\n }\n }, 0);\n };\n }, []);\n var initializedStateRef = React.useRef();\n initializedStateRef.current = initializedState;\n var getState = React.useCallback(function () {\n var currentState = getCurrentState();\n return isStateInitialized(currentState) ? currentState : initializedStateRef.current;\n }, [getCurrentState, isStateInitialized]);\n var emitter = useEventEmitter(function (e) {\n var _ref;\n\n var routeNames = [];\n var route;\n\n if (e.target) {\n var _route;\n\n route = state.routes.find(function (route) {\n return route.key === e.target;\n });\n\n if ((_route = route) !== null && _route !== void 0 && _route.name) {\n routeNames.push(route.name);\n }\n } else {\n route = state.routes[state.index];\n routeNames.push.apply(routeNames, _toConsumableArray(Object.keys(screens).filter(function (name) {\n var _route2;\n\n return ((_route2 = route) === null || _route2 === void 0 ? void 0 : _route2.name) === name;\n })));\n }\n\n if (route == null) {\n return;\n }\n\n var navigation = descriptors[route.key].navigation;\n\n var listeners = (_ref = []).concat.apply(_ref, _toConsumableArray([screenListeners].concat(_toConsumableArray(routeNames.map(function (name) {\n var listeners = screens[name].props.listeners;\n return listeners;\n }))).map(function (listeners) {\n var map = typeof listeners === 'function' ? listeners({\n route: route,\n navigation: navigation\n }) : listeners;\n return map ? Object.keys(map).filter(function (type) {\n return type === e.type;\n }).map(function (type) {\n return map === null || map === void 0 ? void 0 : map[type];\n }) : undefined;\n }))).filter(function (cb, i, self) {\n return cb && self.lastIndexOf(cb) === i;\n });\n\n listeners.forEach(function (listener) {\n return listener === null || listener === void 0 ? void 0 : listener(e);\n });\n });\n useFocusEvents({\n state: state,\n emitter: emitter\n });\n React.useEffect(function () {\n emitter.emit({\n type: 'state',\n data: {\n state: state\n }\n });\n }, [emitter, state]);\n\n var _useChildListeners = useChildListeners(),\n childListeners = _useChildListeners.listeners,\n addListener = _useChildListeners.addListener;\n\n var _useKeyedChildListene = useKeyedChildListeners(),\n keyedListeners = _useKeyedChildListene.keyedListeners,\n addKeyedListener = _useKeyedChildListene.addKeyedListener;\n\n var onAction = useOnAction({\n router: router,\n getState: getState,\n setState: setState,\n key: route === null || route === void 0 ? void 0 : route.key,\n actionListeners: childListeners.action,\n beforeRemoveListeners: keyedListeners.beforeRemove,\n routerConfigOptions: {\n routeNames: routeNames,\n routeParamList: routeParamList,\n routeGetIdList: routeGetIdList\n },\n emitter: emitter\n });\n var onRouteFocus = useOnRouteFocus({\n router: router,\n key: route === null || route === void 0 ? void 0 : route.key,\n getState: getState,\n setState: setState\n });\n var navigation = useNavigationHelpers({\n onAction: onAction,\n getState: getState,\n emitter: emitter,\n router: router\n });\n useFocusedListenersChildrenAdapter({\n navigation: navigation,\n focusedListeners: childListeners.focus\n });\n useOnGetState({\n getState: getState,\n getStateListeners: keyedListeners.getState\n });\n var descriptors = useDescriptors({\n state: state,\n screens: screens,\n navigation: navigation,\n screenOptions: options.screenOptions,\n defaultScreenOptions: options.defaultScreenOptions,\n onAction: onAction,\n getState: getState,\n setState: setState,\n onRouteFocus: onRouteFocus,\n addListener: addListener,\n addKeyedListener: addKeyedListener,\n router: router,\n emitter: emitter\n });\n useCurrentRender({\n state: state,\n navigation: navigation,\n descriptors: descriptors\n });\n var NavigationContent = useComponent(NavigationHelpersContext.Provider, {\n value: navigation\n });\n return {\n state: state,\n navigation: navigation,\n descriptors: descriptors,\n NavigationContent: NavigationContent\n };\n}","map":{"version":3,"sources":["useNavigationBuilder.tsx"],"names":["PrivateValueStore","isValidKey","key","getRouteConfigsFromChildren","configs","React","child","JSON","acc","keys","options","props","groupOptions","name","String","process","config","getComponent","children","component","isValidElementType","console","navigatorKey","useRegisterNavigator","route","rest","current","router","createRouter","initialRouteName","screen","routeConfigs","screens","routeNames","routeKeyList","routeParamList","initialParams","routeGetIdList","getId","isStateValid","state","isStateInitialized","getState","setState","getIsInitial","stateCleanedUp","cleanUpState","setCurrentState","initialRouteParamList","initialParamsFromParams","currentState","previousRouteKeyListRef","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","routeKeyChanges","Object","previousNestedParamsRef","previousParams","action","CommonActions","params","path","updatedState","shouldUpdate","useScheduleUpdate","setKey","setTimeout","getCurrentState","getKey","initializedStateRef","emitter","useEventEmitter","e","navigation","descriptors","listeners","map","type","cb","self","listener","useFocusEvents","data","addListener","useChildListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","childListeners","beforeRemoveListeners","keyedListeners","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","screenOptions","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent","NavigationHelpersContext","value"],"mappings":"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","sourcesContent":["import {\n CommonActions,\n DefaultRouterOptions,\n NavigationAction,\n NavigationState,\n ParamListBase,\n PartialState,\n Route,\n Router,\n RouterConfigOptions,\n RouterFactory,\n} from '@react-navigation/routers';\nimport * as React from 'react';\nimport { isValidElementType } from 'react-is';\n\nimport Group from './Group';\nimport isArrayEqual from './isArrayEqual';\nimport isRecordEqual from './isRecordEqual';\nimport NavigationHelpersContext from './NavigationHelpersContext';\nimport NavigationRouteContext from './NavigationRouteContext';\nimport NavigationStateContext from './NavigationStateContext';\nimport Screen from './Screen';\nimport {\n DefaultNavigatorOptions,\n EventMapBase,\n EventMapCore,\n NavigatorScreenParams,\n PrivateValueStore,\n RouteConfig,\n} from './types';\nimport useChildListeners from './useChildListeners';\nimport useComponent from './useComponent';\nimport useCurrentRender from './useCurrentRender';\nimport useDescriptors, { ScreenConfigWithParent } from './useDescriptors';\nimport useEventEmitter from './useEventEmitter';\nimport useFocusedListenersChildrenAdapter from './useFocusedListenersChildrenAdapter';\nimport useFocusEvents from './useFocusEvents';\nimport useKeyedChildListeners from './useKeyedChildListeners';\nimport useNavigationHelpers from './useNavigationHelpers';\nimport useOnAction from './useOnAction';\nimport useOnGetState from './useOnGetState';\nimport useOnRouteFocus from './useOnRouteFocus';\nimport useRegisterNavigator from './useRegisterNavigator';\nimport useScheduleUpdate from './useScheduleUpdate';\n\n// This is to make TypeScript compiler happy\n// eslint-disable-next-line babel/no-unused-expressions\nPrivateValueStore;\n\ntype NavigatorRoute<State extends NavigationState> = {\n key: string;\n params?: NavigatorScreenParams<ParamListBase, State>;\n};\n\nconst isValidKey = (key: unknown) =>\n key === undefined || (typeof key === 'string' && key !== '');\n\n/**\n * Extract route config object from React children elements.\n *\n * @param children React Elements to extract the config from.\n */\nconst getRouteConfigsFromChildren = <\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase\n>(\n children: React.ReactNode,\n groupKey?: string,\n groupOptions?: ScreenConfigWithParent<\n State,\n ScreenOptions,\n EventMap\n >['options']\n) => {\n const configs = React.Children.toArray(children).reduce<\n ScreenConfigWithParent<State, ScreenOptions, EventMap>[]\n >((acc, child) => {\n if (React.isValidElement(child)) {\n if (child.type === Screen) {\n // We can only extract the config from `Screen` elements\n // If something else was rendered, it's probably a bug\n\n if (!isValidKey(child.props.navigationKey)) {\n throw new Error(\n `Got an invalid 'navigationKey' prop (${JSON.stringify(\n child.props.navigationKey\n )}) for the screen '${\n child.props.name\n }'. It must be a non-empty string or 'undefined'.`\n );\n }\n\n acc.push({\n keys: [groupKey, child.props.navigationKey],\n options: groupOptions,\n props: child.props as RouteConfig<\n ParamListBase,\n string,\n State,\n ScreenOptions,\n EventMap\n >,\n });\n return acc;\n }\n\n if (child.type === React.Fragment || child.type === Group) {\n if (!isValidKey(child.props.navigationKey)) {\n throw new Error(\n `Got an invalid 'navigationKey' prop (${JSON.stringify(\n child.props.navigationKey\n )}) for the group. It must be a non-empty string or 'undefined'.`\n );\n }\n\n // When we encounter a fragment or group, we need to dive into its children to extract the configs\n // This is handy to conditionally define a group of screens\n acc.push(\n ...getRouteConfigsFromChildren<State, ScreenOptions, EventMap>(\n child.props.children,\n child.props.navigationKey,\n child.type !== Group\n ? groupOptions\n : groupOptions != null\n ? [...groupOptions, child.props.screenOptions]\n : [child.props.screenOptions]\n )\n );\n return acc;\n }\n }\n\n throw new Error(\n `A navigator can only contain 'Screen', 'Group' or 'React.Fragment' as its direct children (found ${\n React.isValidElement(child)\n ? `'${\n typeof child.type === 'string' ? child.type : child.type?.name\n }'${\n child.props?.name ? ` for the screen '${child.props.name}'` : ''\n }`\n : typeof child === 'object'\n ? JSON.stringify(child)\n : `'${String(child)}'`\n }). To render this component in the navigator, pass it in the 'component' prop to 'Screen'.`\n );\n }, []);\n\n if (process.env.NODE_ENV !== 'production') {\n configs.forEach((config) => {\n const { name, children, component, getComponent } = config.props;\n\n if (typeof name !== 'string' || !name) {\n throw new Error(\n `Got an invalid name (${JSON.stringify(\n name\n )}) for the screen. It must be a non-empty string.`\n );\n }\n\n if (\n children != null ||\n component !== undefined ||\n getComponent !== undefined\n ) {\n if (children != null && component !== undefined) {\n throw new Error(\n `Got both 'component' and 'children' props for the screen '${name}'. You must pass only one of them.`\n );\n }\n\n if (children != null && getComponent !== undefined) {\n throw new Error(\n `Got both 'getComponent' and 'children' props for the screen '${name}'. You must pass only one of them.`\n );\n }\n\n if (component !== undefined && getComponent !== undefined) {\n throw new Error(\n `Got both 'component' and 'getComponent' props for the screen '${name}'. You must pass only one of them.`\n );\n }\n\n if (children != null && typeof children !== 'function') {\n throw new Error(\n `Got an invalid value for 'children' prop for the screen '${name}'. It must be a function returning a React Element.`\n );\n }\n\n if (component !== undefined && !isValidElementType(component)) {\n throw new Error(\n `Got an invalid value for 'component' prop for the screen '${name}'. It must be a valid React Component.`\n );\n }\n\n if (getComponent !== undefined && typeof getComponent !== 'function') {\n throw new Error(\n `Got an invalid value for 'getComponent' prop for the screen '${name}'. It must be a function returning a React Component.`\n );\n }\n\n if (typeof component === 'function') {\n if (component.name === 'component') {\n // Inline anonymous functions passed in the `component` prop will have the name of the prop\n // It's relatively safe to assume that it's not a component since it should also have PascalCase name\n // We won't catch all scenarios here, but this should catch a good chunk of incorrect use.\n console.warn(\n `Looks like you're passing an inline function for 'component' prop for the screen '${name}' (e.g. component={() => <SomeComponent />}). Passing an inline function will cause the component state to be lost on re-render and cause perf issues since it's re-created every render. You can pass the function as children to 'Screen' instead to achieve the desired behaviour.`\n );\n } else if (/^[a-z]/.test(component.name)) {\n console.warn(\n `Got a component with the name '${component.name}' for the screen '${name}'. React Components must start with an uppercase letter. If you're passing a regular function and not a component, pass it as children to 'Screen' instead. Otherwise capitalize your component's name.`\n );\n }\n }\n } else {\n throw new Error(\n `Couldn't find a 'component', 'getComponent' or 'children' prop for the screen '${name}'. This can happen if you passed 'undefined'. You likely forgot to export your component from the file it's defined in, or mixed up default import and named import when importing.`\n );\n }\n });\n }\n\n return configs;\n};\n\n/**\n * Hook for building navigators.\n *\n * @param createRouter Factory method which returns router object.\n * @param options Options object containing `children` and additional options for the router.\n * @returns An object containing `state`, `navigation`, `descriptors` objects.\n */\nexport default function useNavigationBuilder<\n State extends NavigationState,\n RouterOptions extends DefaultRouterOptions,\n ActionHelpers extends Record<string, () => void>,\n ScreenOptions extends {},\n EventMap extends Record<string, any>\n>(\n createRouter: RouterFactory<State, any, RouterOptions>,\n options: DefaultNavigatorOptions<\n ParamListBase,\n State,\n ScreenOptions,\n EventMap\n > &\n RouterOptions\n) {\n const navigatorKey = useRegisterNavigator();\n\n const route = React.useContext(NavigationRouteContext) as\n | NavigatorRoute<State>\n | undefined;\n\n const { children, screenListeners, ...rest } = options;\n const { current: router } = React.useRef<Router<State, any>>(\n createRouter({\n ...(rest as unknown as RouterOptions),\n ...(route?.params &&\n route.params.state == null &&\n route.params.initial !== false &&\n typeof route.params.screen === 'string'\n ? { initialRouteName: route.params.screen }\n : null),\n })\n );\n\n const routeConfigs = getRouteConfigsFromChildren<\n State,\n ScreenOptions,\n EventMap\n >(children);\n\n const screens = routeConfigs.reduce<\n Record<string, ScreenConfigWithParent<State, ScreenOptions, EventMap>>\n >((acc, config) => {\n if (config.props.name in acc) {\n throw new Error(\n `A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '${config.props.name}')`\n );\n }\n\n acc[config.props.name] = config;\n return acc;\n }, {});\n\n const routeNames = routeConfigs.map((config) => config.props.name);\n const routeKeyList = routeNames.reduce<Record<string, React.Key | undefined>>(\n (acc, curr) => {\n acc[curr] = screens[curr].keys.map((key) => key ?? '').join(':');\n return acc;\n },\n {}\n );\n const routeParamList = routeNames.reduce<Record<string, object | undefined>>(\n (acc, curr) => {\n const { initialParams } = screens[curr].props;\n acc[curr] = initialParams;\n return acc;\n },\n {}\n );\n const routeGetIdList = routeNames.reduce<\n RouterConfigOptions['routeGetIdList']\n >(\n (acc, curr) =>\n Object.assign(acc, {\n [curr]: screens[curr].props.getId,\n }),\n {}\n );\n\n if (!routeNames.length) {\n throw new Error(\n \"Couldn't find any screens for the navigator. Have you defined any screens as its children?\"\n );\n }\n\n const isStateValid = React.useCallback(\n (state) => state.type === undefined || state.type === router.type,\n [router.type]\n );\n\n const isStateInitialized = React.useCallback(\n (state) =>\n state !== undefined && state.stale === false && isStateValid(state),\n [isStateValid]\n );\n\n const {\n state: currentState,\n getState: getCurrentState,\n setState: setCurrentState,\n setKey,\n getKey,\n getIsInitial,\n } = React.useContext(NavigationStateContext);\n\n const stateCleanedUp = React.useRef(false);\n\n const cleanUpState = React.useCallback(() => {\n setCurrentState(undefined);\n stateCleanedUp.current = true;\n }, [setCurrentState]);\n\n const setState = React.useCallback(\n (state: NavigationState | PartialState<NavigationState> | undefined) => {\n if (stateCleanedUp.current) {\n // State might have been already cleaned up due to unmount\n // We do not want to expose API allowing to override this\n // This would lead to old data preservation on main navigator unmount\n return;\n }\n setCurrentState(state);\n },\n [setCurrentState]\n );\n\n const [initializedState, isFirstStateInitialization] = React.useMemo(() => {\n const initialRouteParamList = routeNames.reduce<\n Record<string, object | undefined>\n >((acc, curr) => {\n const { initialParams } = screens[curr].props;\n const initialParamsFromParams =\n route?.params?.state == null &&\n route?.params?.initial !== false &&\n route?.params?.screen === curr\n ? route.params.params\n : undefined;\n\n acc[curr] =\n initialParams !== undefined || initialParamsFromParams !== undefined\n ? {\n ...initialParams,\n ...initialParamsFromParams,\n }\n : undefined;\n\n return acc;\n }, {});\n\n // If the current state isn't initialized on first render, we initialize it\n // We also need to re-initialize it if the state passed from parent was changed (maybe due to reset)\n // Otherwise assume that the state was provided as initial state\n // So we need to rehydrate it to make it usable\n if (\n (currentState === undefined || !isStateValid(currentState)) &&\n route?.params?.state == null\n ) {\n return [\n router.getInitialState({\n routeNames,\n routeParamList: initialRouteParamList,\n routeGetIdList,\n }),\n true,\n ];\n } else {\n return [\n router.getRehydratedState(\n route?.params?.state ?? (currentState as PartialState<State>),\n {\n routeNames,\n routeParamList: initialRouteParamList,\n routeGetIdList,\n }\n ),\n false,\n ];\n }\n // We explicitly don't include routeNames, route.params etc. in the dep list\n // below. We want to avoid forcing a new state to be calculated in those cases\n // Instead, we handle changes to these in the nextState code below. Note\n // that some changes to routeConfigs are explicitly ignored, such as changes\n // to initialParams\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentState, router, isStateValid]);\n\n const previousRouteKeyListRef = React.useRef(routeKeyList);\n\n React.useEffect(() => {\n previousRouteKeyListRef.current = routeKeyList;\n });\n\n const previousRouteKeyList = previousRouteKeyListRef.current;\n\n let state =\n // If the state isn't initialized, or stale, use the state we initialized instead\n // The state won't update until there's a change needed in the state we have initalized locally\n // So it'll be `undefined` or stale until the first navigation event happens\n isStateInitialized(currentState)\n ? (currentState as State)\n : (initializedState as State);\n\n let nextState: State = state;\n\n if (\n !isArrayEqual(state.routeNames, routeNames) ||\n !isRecordEqual(routeKeyList, previousRouteKeyList)\n ) {\n // When the list of route names change, the router should handle it to remove invalid routes\n nextState = router.getStateForRouteNamesChange(state, {\n routeNames,\n routeParamList,\n routeGetIdList,\n routeKeyChanges: Object.keys(routeKeyList).filter(\n (name) =>\n previousRouteKeyList.hasOwnProperty(name) &&\n routeKeyList[name] !== previousRouteKeyList[name]\n ),\n });\n }\n\n const previousNestedParamsRef = React.useRef(route?.params);\n\n React.useEffect(() => {\n previousNestedParamsRef.current = route?.params;\n }, [route?.params]);\n\n if (route?.params) {\n const previousParams = previousNestedParamsRef.current;\n\n let action: CommonActions.Action | undefined;\n\n if (\n typeof route.params.state === 'object' &&\n route.params.state != null &&\n route.params !== previousParams\n ) {\n // If the route was updated with new state, we should reset to it\n action = CommonActions.reset(route.params.state);\n } else if (\n typeof route.params.screen === 'string' &&\n ((route.params.initial === false && isFirstStateInitialization) ||\n route.params !== previousParams)\n ) {\n // If the route was updated with new screen name and/or params, we should navigate there\n action = CommonActions.navigate({\n name: route.params.screen,\n params: route.params.params,\n path: route.params.path,\n });\n }\n\n // The update should be limited to current navigator only, so we call the router manually\n const updatedState = action\n ? router.getStateForAction(nextState, action, {\n routeNames,\n routeParamList,\n routeGetIdList,\n })\n : null;\n\n nextState =\n updatedState !== null\n ? router.getRehydratedState(updatedState, {\n routeNames,\n routeParamList,\n routeGetIdList,\n })\n : nextState;\n }\n\n const shouldUpdate = state !== nextState;\n\n useScheduleUpdate(() => {\n if (shouldUpdate) {\n // If the state needs to be updated, we'll schedule an update\n setState(nextState);\n }\n });\n\n // The up-to-date state will come in next render, but we don't need to wait for it\n // We can't use the outdated state since the screens have changed, which will cause error due to mismatched config\n // So we override the state object we return to use the latest state as soon as possible\n state = nextState;\n\n React.useEffect(() => {\n setKey(navigatorKey);\n\n if (!getIsInitial()) {\n // If it's not initial render, we need to update the state\n // This will make sure that our container gets notifier of state changes due to new mounts\n // This is necessary for proper screen tracking, URL updates etc.\n setState(nextState);\n }\n\n return () => {\n // We need to clean up state for this navigator on unmount\n // We do it in a timeout because we need to detect if another navigator mounted in the meantime\n // For example, if another navigator has started rendering, we should skip cleanup\n // Otherwise, our cleanup step will cleanup state for the other navigator and re-initialize it\n setTimeout(() => {\n if (getCurrentState() !== undefined && getKey() === navigatorKey) {\n cleanUpState();\n }\n }, 0);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // We initialize this ref here to avoid a new getState getting initialized\n // whenever initializedState changes. We want getState to have access to the\n // latest initializedState, but don't need it to change when that happens\n const initializedStateRef = React.useRef<State>();\n initializedStateRef.current = initializedState;\n\n const getState = React.useCallback((): State => {\n const currentState = getCurrentState();\n\n return isStateInitialized(currentState)\n ? (currentState as State)\n : (initializedStateRef.current as State);\n }, [getCurrentState, isStateInitialized]);\n\n const emitter = useEventEmitter<EventMapCore<State>>((e) => {\n let routeNames = [];\n\n let route: Route<string> | undefined;\n\n if (e.target) {\n route = state.routes.find((route) => route.key === e.target);\n\n if (route?.name) {\n routeNames.push(route.name);\n }\n } else {\n route = state.routes[state.index];\n routeNames.push(\n ...Object.keys(screens).filter((name) => route?.name === name)\n );\n }\n\n if (route == null) {\n return;\n }\n\n const navigation = descriptors[route.key].navigation;\n\n const listeners = ([] as (((e: any) => void) | undefined)[])\n .concat(\n // Get an array of listeners for all screens + common listeners on navigator\n ...[\n screenListeners,\n ...routeNames.map((name) => {\n const { listeners } = screens[name].props;\n return listeners;\n }),\n ].map((listeners) => {\n const map =\n typeof listeners === 'function'\n ? listeners({ route: route as any, navigation })\n : listeners;\n\n return map\n ? Object.keys(map)\n .filter((type) => type === e.type)\n .map((type) => map?.[type])\n : undefined;\n })\n )\n // We don't want same listener to be called multiple times for same event\n // So we remove any duplicate functions from the array\n .filter((cb, i, self) => cb && self.lastIndexOf(cb) === i);\n\n listeners.forEach((listener) => listener?.(e));\n });\n\n useFocusEvents({ state, emitter });\n\n React.useEffect(() => {\n emitter.emit({ type: 'state', data: { state } });\n }, [emitter, state]);\n\n const { listeners: childListeners, addListener } = useChildListeners();\n\n const { keyedListeners, addKeyedListener } = useKeyedChildListeners();\n\n const onAction = useOnAction({\n router,\n getState,\n setState,\n key: route?.key,\n actionListeners: childListeners.action,\n beforeRemoveListeners: keyedListeners.beforeRemove,\n routerConfigOptions: {\n routeNames,\n routeParamList,\n routeGetIdList,\n },\n emitter,\n });\n\n const onRouteFocus = useOnRouteFocus({\n router,\n key: route?.key,\n getState,\n setState,\n });\n\n const navigation = useNavigationHelpers<\n State,\n ActionHelpers,\n NavigationAction,\n EventMap\n >({\n onAction,\n getState,\n emitter,\n router,\n });\n\n useFocusedListenersChildrenAdapter({\n navigation,\n focusedListeners: childListeners.focus,\n });\n\n useOnGetState({\n getState,\n getStateListeners: keyedListeners.getState,\n });\n\n const descriptors = useDescriptors<\n State,\n ActionHelpers,\n ScreenOptions,\n EventMap\n >({\n state,\n screens,\n navigation,\n screenOptions: options.screenOptions,\n defaultScreenOptions: options.defaultScreenOptions,\n onAction,\n getState,\n setState,\n onRouteFocus,\n addListener,\n addKeyedListener,\n router,\n // @ts-expect-error: this should have both core and custom events, but too much work right now\n emitter,\n });\n\n useCurrentRender({\n state,\n navigation,\n descriptors,\n });\n\n const NavigationContent = useComponent(NavigationHelpersContext.Provider, {\n value: navigation,\n });\n\n return {\n state,\n navigation,\n descriptors,\n NavigationContent,\n };\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/90b5d346ebc1fe816c2a1e2485b09af8.json b/.expo/web/cache/development/babel-loader/90b5d346ebc1fe816c2a1e2485b09af8.json new file mode 100644 index 0000000000000000000000000000000000000000..310da90b8947cb6c22584b62acd215ab0f5288fe --- /dev/null +++ b/.expo/web/cache/development/babel-loader/90b5d346ebc1fe816c2a1e2485b09af8.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n listenOnChange();\n useEffect(function () {\n var colRef = collection(getFirestore(), \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var itemData = {\n name: doc.data().Name,\n email: doc.data().Email,\n image: doc.data().Image\n };\n DATA.push(itemData);\n Alert.alert('useEffect', doc.data().Name);\n });\n });\n }, []);\n\n function useeffect() {\n getDocs(collection(getFirestore(), 'Users')).forEach(function (doc) {\n console.log(doc.id + \" => \" + doc.data());\n });\n }\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n Alert.alert('listen on change', message.Name);\n }\n });\n });\n }\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" bla\"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATA","UserLists","navigation","route","users","setUsers","listenOnChange","colRef","querySnapshot","forEach","itemData","name","data","Name","email","Email","image","Image","push","Alert","alert","useeffect","console","log","id","snapchot","docChanges","change","type","message","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState(null);\r\n\r\nlistenOnChange();\r\n//useeffect();\r\n\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(getFirestore(),\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image}\r\n DATA.push(itemData);\r\n Alert.alert('useEffect',doc.data().Name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\nfunction useeffect(){\r\n getDocs(collection(getFirestore(),'Users')).forEach((doc) => {\r\n console.log(`${doc.id} => ${doc.data()}`);\r\n});\r\n}\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n Alert.alert('listen on change',message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> bla</Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/91263d7912d1681787c8b617aaf85a18.json b/.expo/web/cache/development/babel-loader/91263d7912d1681787c8b617aaf85a18.json new file mode 100644 index 0000000000000000000000000000000000000000..ff01281ee8f7f6d9048af525129d985a9e7249a1 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/91263d7912d1681787c8b617aaf85a18.json @@ -0,0 +1 @@ +{"ast":null,"code":"import isUnitlessNumber from \"../unitlessNumbers\";\n\nfunction dangerousStyleValue(name, value, isCustomProperty) {\n var isEmpty = value == null || typeof value === 'boolean' || value === '';\n\n if (isEmpty) {\n return '';\n }\n\n if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) {\n return value + 'px';\n }\n\n return ('' + value).trim();\n}\n\nexport default dangerousStyleValue;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/setValueForStyles/dangerousStyleValue.js"],"names":["isUnitlessNumber","dangerousStyleValue","name","value","isCustomProperty","isEmpty","hasOwnProperty","trim"],"mappings":"AAWA,OAAOA,gBAAP;;AAWA,SAASC,mBAAT,CAA6BC,IAA7B,EAAmCC,KAAnC,EAA0CC,gBAA1C,EAA4D;AAU1D,MAAIC,OAAO,GAAGF,KAAK,IAAI,IAAT,IAAiB,OAAOA,KAAP,KAAiB,SAAlC,IAA+CA,KAAK,KAAK,EAAvE;;AAEA,MAAIE,OAAJ,EAAa;AACX,WAAO,EAAP;AACD;;AAED,MAAI,CAACD,gBAAD,IAAqB,OAAOD,KAAP,KAAiB,QAAtC,IAAkDA,KAAK,KAAK,CAA5D,IAAiE,EAAEH,gBAAgB,CAACM,cAAjB,CAAgCJ,IAAhC,KAAyCF,gBAAgB,CAACE,IAAD,CAA3D,CAArE,EAAyI;AACvI,WAAOC,KAAK,GAAG,IAAf;AACD;;AAED,SAAO,CAAC,KAAKA,KAAN,EAAaI,IAAb,EAAP;AACD;;AAED,eAAeN,mBAAf","sourcesContent":["/* eslint-disable */\n\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 * From React 16.0.0\n * \n */\nimport isUnitlessNumber from '../unitlessNumbers';\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 */\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 var isEmpty = value == null || typeof value === 'boolean' || value === '';\n\n if (isEmpty) {\n return '';\n }\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\n return ('' + value).trim();\n}\n\nexport default dangerousStyleValue;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/918d7dc2fdfef2f018104765afd2cc42.json b/.expo/web/cache/development/babel-loader/918d7dc2fdfef2f018104765afd2cc42.json new file mode 100644 index 0000000000000000000000000000000000000000..749c4d0844a790b6380fa743bc0da0f5c2c84015 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/918d7dc2fdfef2f018104765afd2cc42.json @@ -0,0 +1 @@ +{"ast":null,"code":"function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nimport AppContainer from \"./AppContainer\";\nimport invariant from 'fbjs/lib/invariant';\nimport render, { hydrate } from \"../render\";\nimport styleResolver from \"../StyleSheet/styleResolver\";\nimport React from 'react';\nexport default function renderApplication(RootComponent, WrapperComponent, callback, options) {\n var shouldHydrate = options.hydrate,\n initialProps = options.initialProps,\n rootTag = options.rootTag;\n var renderFn = shouldHydrate ? hydrate : render;\n invariant(rootTag, 'Expect to have a valid rootTag, instead got ', rootTag);\n renderFn(React.createElement(AppContainer, {\n WrapperComponent: WrapperComponent,\n rootTag: rootTag\n }, React.createElement(RootComponent, initialProps)), rootTag, callback);\n}\nexport function getApplication(RootComponent, initialProps, WrapperComponent) {\n var element = React.createElement(AppContainer, {\n WrapperComponent: WrapperComponent,\n rootTag: {}\n }, React.createElement(RootComponent, initialProps));\n\n var getStyleElement = function getStyleElement(props) {\n var sheet = styleResolver.getStyleSheet();\n return React.createElement(\"style\", _extends({}, props, {\n dangerouslySetInnerHTML: {\n __html: sheet.textContent\n },\n id: sheet.id\n }));\n };\n\n return {\n element: element,\n getStyleElement: getStyleElement\n };\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/AppRegistry/renderApplication.js"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","AppContainer","invariant","render","hydrate","styleResolver","React","renderApplication","RootComponent","WrapperComponent","callback","options","shouldHydrate","initialProps","rootTag","renderFn","createElement","getApplication","element","getStyleElement","props","sheet","getStyleSheet","dangerouslySetInnerHTML","__html","textContent","id"],"mappings":"AAAA,SAASA,QAAT,GAAoB;AAAEA,EAAAA,QAAQ,GAAGC,MAAM,CAACC,MAAP,IAAiB,UAAUC,MAAV,EAAkB;AAAE,SAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGC,SAAS,CAACC,MAA9B,EAAsCF,CAAC,EAAvC,EAA2C;AAAE,UAAIG,MAAM,GAAGF,SAAS,CAACD,CAAD,CAAtB;;AAA2B,WAAK,IAAII,GAAT,IAAgBD,MAAhB,EAAwB;AAAE,YAAIN,MAAM,CAACQ,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCJ,MAArC,EAA6CC,GAA7C,CAAJ,EAAuD;AAAEL,UAAAA,MAAM,CAACK,GAAD,CAAN,GAAcD,MAAM,CAACC,GAAD,CAApB;AAA4B;AAAE;AAAE;;AAAC,WAAOL,MAAP;AAAgB,GAA5P;;AAA8P,SAAOH,QAAQ,CAACY,KAAT,CAAe,IAAf,EAAqBP,SAArB,CAAP;AAAyC;;AAW7T,OAAOQ,YAAP;AACA,OAAOC,SAAP,MAAsB,oBAAtB;AACA,OAAOC,MAAP,IAAiBC,OAAjB;AACA,OAAOC,aAAP;AACA,OAAOC,KAAP,MAAkB,OAAlB;AACA,eAAe,SAASC,iBAAT,CAA2BC,aAA3B,EAA0CC,gBAA1C,EAA4DC,QAA5D,EAAsEC,OAAtE,EAA+E;AAC5F,MAAIC,aAAa,GAAGD,OAAO,CAACP,OAA5B;AAAA,MACIS,YAAY,GAAGF,OAAO,CAACE,YAD3B;AAAA,MAEIC,OAAO,GAAGH,OAAO,CAACG,OAFtB;AAGA,MAAIC,QAAQ,GAAGH,aAAa,GAAGR,OAAH,GAAaD,MAAzC;AACAD,EAAAA,SAAS,CAACY,OAAD,EAAU,8CAAV,EAA0DA,OAA1D,CAAT;AACAC,EAAAA,QAAQ,CAAeT,KAAK,CAACU,aAAN,CAAoBf,YAApB,EAAkC;AACvDQ,IAAAA,gBAAgB,EAAEA,gBADqC;AAEvDK,IAAAA,OAAO,EAAEA;AAF8C,GAAlC,EAGPR,KAAK,CAACU,aAAN,CAAoBR,aAApB,EAAmCK,YAAnC,CAHO,CAAf,EAG2DC,OAH3D,EAGoEJ,QAHpE,CAAR;AAID;AACD,OAAO,SAASO,cAAT,CAAwBT,aAAxB,EAAuCK,YAAvC,EAAqDJ,gBAArD,EAAuE;AAC5E,MAAIS,OAAO,GAAgBZ,KAAK,CAACU,aAAN,CAAoBf,YAApB,EAAkC;AAC3DQ,IAAAA,gBAAgB,EAAEA,gBADyC;AAE3DK,IAAAA,OAAO,EAAE;AAFkD,GAAlC,EAGXR,KAAK,CAACU,aAAN,CAAoBR,aAApB,EAAmCK,YAAnC,CAHW,CAA3B;;AAKA,MAAIM,eAAe,GAAG,SAASA,eAAT,CAAyBC,KAAzB,EAAgC;AACpD,QAAIC,KAAK,GAAGhB,aAAa,CAACiB,aAAd,EAAZ;AACA,WAAoBhB,KAAK,CAACU,aAAN,CAAoB,OAApB,EAA6B5B,QAAQ,CAAC,EAAD,EAAKgC,KAAL,EAAY;AACnEG,MAAAA,uBAAuB,EAAE;AACvBC,QAAAA,MAAM,EAAEH,KAAK,CAACI;AADS,OAD0C;AAInEC,MAAAA,EAAE,EAAEL,KAAK,CAACK;AAJyD,KAAZ,CAArC,CAApB;AAMD,GARD;;AAUA,SAAO;AACLR,IAAAA,OAAO,EAAEA,OADJ;AAELC,IAAAA,eAAe,EAAEA;AAFZ,GAAP;AAID","sourcesContent":["function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport AppContainer from './AppContainer';\nimport invariant from 'fbjs/lib/invariant';\nimport render, { hydrate } from '../render';\nimport styleResolver from '../StyleSheet/styleResolver';\nimport React from 'react';\nexport default function renderApplication(RootComponent, WrapperComponent, callback, options) {\n var shouldHydrate = options.hydrate,\n initialProps = options.initialProps,\n rootTag = options.rootTag;\n var renderFn = shouldHydrate ? hydrate : render;\n invariant(rootTag, 'Expect to have a valid rootTag, instead got ', rootTag);\n renderFn( /*#__PURE__*/React.createElement(AppContainer, {\n WrapperComponent: WrapperComponent,\n rootTag: rootTag\n }, /*#__PURE__*/React.createElement(RootComponent, initialProps)), rootTag, callback);\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)); // Don't escape CSS text\n\n var getStyleElement = function getStyleElement(props) {\n var sheet = styleResolver.getStyleSheet();\n return /*#__PURE__*/React.createElement(\"style\", _extends({}, props, {\n dangerouslySetInnerHTML: {\n __html: sheet.textContent\n },\n id: sheet.id\n }));\n };\n\n return {\n element: element,\n getStyleElement: getStyleElement\n };\n}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/91ee0ab134c0b5c6d7f634cbc55c3927.json b/.expo/web/cache/development/babel-loader/91ee0ab134c0b5c6d7f634cbc55c3927.json new file mode 100644 index 0000000000000000000000000000000000000000..4bb10e14723777d691f22aed6d19fcd3f195c4b1 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/91ee0ab134c0b5c6d7f634cbc55c3927.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users.toString);\n setUsers(users);\n });\n\n if (users != null) {\n Alert.alert(' users load', users.id);\n }\n }, []);\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {})\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: users,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","params","post","Item","item","onPress","backgroundColor","textColor","styles","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users.toString);\r\n setUsers(users)\r\n});\r\nif(users!= null){\r\n Alert.alert(' users load',users.id)\r\n}\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\n/*function writeData(){\r\n \r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})\r\n}*/\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async () => {\r\n const id = 'q5EOqKxKEsAO6lLmhbnc';\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUsers({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n Alert.alert(users[0])\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {/*item.Name*/} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser'/> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={users}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/92c2e8a54fb915674a989aa7e9e01778.json b/.expo/web/cache/development/babel-loader/92c2e8a54fb915674a989aa7e9e01778.json new file mode 100644 index 0000000000000000000000000000000000000000..7beef729e90991c4ca306ad1a113ed6b6b30c803 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/92c2e8a54fb915674a989aa7e9e01778.json @@ -0,0 +1 @@ +{"ast":null,"code":"function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nimport * as React from 'react';\nimport StyleSheet from \"../StyleSheet\";\nimport View from \"../View\";\nimport useMergeRefs from \"../../modules/useMergeRefs\";\n\nfunction normalizeScrollEvent(e) {\n return {\n nativeEvent: {\n contentOffset: {\n get x() {\n return e.target.scrollLeft;\n },\n\n get y() {\n return e.target.scrollTop;\n }\n\n },\n contentSize: {\n get height() {\n return e.target.scrollHeight;\n },\n\n get width() {\n return e.target.scrollWidth;\n }\n\n },\n layoutMeasurement: {\n get height() {\n return e.target.offsetHeight;\n },\n\n get width() {\n return e.target.offsetWidth;\n }\n\n }\n },\n timeStamp: Date.now()\n };\n}\n\nfunction shouldEmitScrollEvent(lastTick, eventThrottle) {\n var timeSinceLastTick = Date.now() - lastTick;\n return eventThrottle > 0 && timeSinceLastTick >= eventThrottle;\n}\n\nvar ScrollViewBase = React.forwardRef(function (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, [\"onScroll\", \"onTouchMove\", \"onWheel\", \"scrollEnabled\", \"scrollEventThrottle\", \"showsHorizontalScrollIndicator\", \"showsVerticalScrollIndicator\", \"style\"]);\n\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\n function createPreventableScrollHandler(handler) {\n return function (e) {\n if (scrollEnabled) {\n if (handler) {\n handler(e);\n }\n }\n };\n }\n\n function handleScroll(e) {\n e.stopPropagation();\n\n if (e.target === scrollRef.current) {\n e.persist();\n\n if (scrollTimeout.current != null) {\n clearTimeout(scrollTimeout.current);\n }\n\n scrollTimeout.current = setTimeout(function () {\n handleScrollEnd(e);\n }, 100);\n\n if (scrollState.current.isScrolling) {\n if (shouldEmitScrollEvent(scrollState.current.scrollLastTick, scrollEventThrottle)) {\n handleScrollTick(e);\n }\n } else {\n handleScrollStart(e);\n }\n }\n }\n\n function handleScrollStart(e) {\n scrollState.current.isScrolling = true;\n handleScrollTick(e);\n }\n\n function handleScrollTick(e) {\n scrollState.current.scrollLastTick = Date.now();\n\n if (onScroll) {\n onScroll(normalizeScrollEvent(e));\n }\n }\n\n function handleScrollEnd(e) {\n scrollState.current.isScrolling = false;\n\n if (onScroll) {\n onScroll(normalizeScrollEvent(e));\n }\n }\n\n var hideScrollbar = showsHorizontalScrollIndicator === false || showsVerticalScrollIndicator === false;\n return 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});\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;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/ScrollView/ScrollViewBase.js"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf","React","StyleSheet","View","useMergeRefs","normalizeScrollEvent","e","nativeEvent","contentOffset","x","scrollLeft","y","scrollTop","contentSize","height","scrollHeight","width","scrollWidth","layoutMeasurement","offsetHeight","offsetWidth","timeStamp","Date","now","shouldEmitScrollEvent","lastTick","eventThrottle","timeSinceLastTick","ScrollViewBase","forwardRef","props","forwardedRef","onScroll","onTouchMove","onWheel","_props$scrollEnabled","scrollEnabled","_props$scrollEventThr","scrollEventThrottle","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","style","rest","scrollState","useRef","isScrolling","scrollLastTick","scrollTimeout","scrollRef","createPreventableScrollHandler","handler","handleScroll","stopPropagation","current","persist","clearTimeout","setTimeout","handleScrollEnd","handleScrollTick","handleScrollStart","hideScrollbar","createElement","ref","styles","scrollDisabled","create","overflowX","overflowY","touchAction","scrollbarWidth"],"mappings":"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","sourcesContent":["function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\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 */\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nimport useMergeRefs from '../../modules/useMergeRefs';\n\nfunction normalizeScrollEvent(e) {\n return {\n nativeEvent: {\n contentOffset: {\n get x() {\n return e.target.scrollLeft;\n },\n\n get y() {\n return e.target.scrollTop;\n }\n\n },\n contentSize: {\n get height() {\n return e.target.scrollHeight;\n },\n\n get width() {\n return e.target.scrollWidth;\n }\n\n },\n layoutMeasurement: {\n get height() {\n return e.target.offsetHeight;\n },\n\n get width() {\n return e.target.offsetWidth;\n }\n\n }\n },\n timeStamp: Date.now()\n };\n}\n\nfunction shouldEmitScrollEvent(lastTick, eventThrottle) {\n var timeSinceLastTick = Date.now() - lastTick;\n return eventThrottle > 0 && timeSinceLastTick >= eventThrottle;\n}\n/**\n * Encapsulates the Web-specific scroll throttling and disabling logic\n */\n\n\nvar ScrollViewBase = /*#__PURE__*/React.forwardRef(function (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, [\"onScroll\", \"onTouchMove\", \"onWheel\", \"scrollEnabled\", \"scrollEventThrottle\", \"showsHorizontalScrollIndicator\", \"showsVerticalScrollIndicator\", \"style\"]);\n\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\n function createPreventableScrollHandler(handler) {\n return function (e) {\n if (scrollEnabled) {\n if (handler) {\n handler(e);\n }\n }\n };\n }\n\n function handleScroll(e) {\n e.stopPropagation();\n\n if (e.target === scrollRef.current) {\n e.persist(); // A scroll happened, so the scroll resets the scrollend timeout.\n\n if (scrollTimeout.current != null) {\n clearTimeout(scrollTimeout.current);\n }\n\n scrollTimeout.current = setTimeout(function () {\n handleScrollEnd(e);\n }, 100);\n\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\n function handleScrollStart(e) {\n scrollState.current.isScrolling = true;\n handleScrollTick(e);\n }\n\n function handleScrollTick(e) {\n scrollState.current.scrollLastTick = Date.now();\n\n if (onScroll) {\n onScroll(normalizeScrollEvent(e));\n }\n }\n\n function handleScrollEnd(e) {\n scrollState.current.isScrolling = false;\n\n if (onScroll) {\n onScroll(normalizeScrollEvent(e));\n }\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}); // 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\n\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;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/9331a7337f0817789a73ba653e0d3313.json b/.expo/web/cache/development/babel-loader/9331a7337f0817789a73ba653e0d3313.json new file mode 100644 index 0000000000000000000000000000000000000000..1f7eab91a2b53d16b26337464463284d676e90ae --- /dev/null +++ b/.expo/web/cache/development/babel-loader/9331a7337f0817789a73ba653e0d3313.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { isDate, isNumber } from '@react-native-firebase/app/lib/common';\nvar MIN_SECONDS = -62135596800;\n\nvar FirestoreTimestamp = function () {\n function FirestoreTimestamp(seconds, nanoseconds) {\n _classCallCheck(this, FirestoreTimestamp);\n\n if (!isNumber(seconds)) {\n throw new Error(\"firebase.firestore.Timestamp 'seconds' expected a number value.\");\n }\n\n if (!isNumber(nanoseconds)) {\n throw new Error(\"firebase.firestore.Timestamp 'nanoseconds' expected a number value.\");\n }\n\n if (nanoseconds < 0) {\n throw new Error(\"firebase.firestore.Timestamp 'nanoseconds' out of range: \" + nanoseconds);\n }\n\n if (nanoseconds >= 1e9) {\n throw new Error(\"firebase.firestore.Timestamp 'nanoseconds' out of range: \" + nanoseconds);\n }\n\n if (seconds < MIN_SECONDS) {\n throw new Error(\"firebase.firestore.Timestamp 'seconds' out of range: \" + seconds);\n }\n\n if (seconds >= 253402300800) {\n throw new Error(\"firebase.firestore.Timestamp 'seconds' out of range: \" + seconds);\n }\n\n this._seconds = seconds;\n this._nanoseconds = nanoseconds;\n }\n\n _createClass(FirestoreTimestamp, [{\n key: \"seconds\",\n get: function get() {\n return this._seconds;\n }\n }, {\n key: \"nanoseconds\",\n get: function get() {\n return this._nanoseconds;\n }\n }, {\n key: \"isEqual\",\n value: function isEqual(other) {\n if (!(other instanceof FirestoreTimestamp)) {\n throw Error(\"firebase.firestore.Timestamp.isEqual(*) 'other' expected an instance of Timestamp.\");\n }\n\n return other.seconds === this._seconds && other.nanoseconds === this._nanoseconds;\n }\n }, {\n key: \"toDate\",\n value: function toDate() {\n return new Date(this.toMillis());\n }\n }, {\n key: \"toMillis\",\n value: function toMillis() {\n return this._seconds * 1000 + this._nanoseconds / 1e6;\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return \"FirestoreTimestamp(seconds=\" + this.seconds + \", nanoseconds=\" + this.nanoseconds + \")\";\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n seconds: this.seconds,\n nanoseconds: this.nanoseconds\n };\n }\n }, {\n key: \"valueOf\",\n value: function valueOf() {\n var adjustedSeconds = this.seconds - MIN_SECONDS;\n var formattedSeconds = String(adjustedSeconds).padStart(12, '0');\n var formattedNanoseconds = String(this.nanoseconds).padStart(9, '0');\n return formattedSeconds + '.' + formattedNanoseconds;\n }\n }], [{\n key: \"now\",\n value: function now() {\n return FirestoreTimestamp.fromMillis(Date.now());\n }\n }, {\n key: \"fromDate\",\n value: function fromDate(date) {\n if (!isDate(date)) {\n throw new Error(\"firebase.firestore.Timestamp.fromDate(*) 'date' expected a valid Date object.\");\n }\n\n return FirestoreTimestamp.fromMillis(date.getTime());\n }\n }, {\n key: \"fromMillis\",\n value: function fromMillis(milliseconds) {\n var seconds = Math.floor(milliseconds / 1000);\n var nanoseconds = (milliseconds - seconds * 1000) * 1e6;\n return new FirestoreTimestamp(seconds, nanoseconds);\n }\n }]);\n\n return FirestoreTimestamp;\n}();\n\nexport { FirestoreTimestamp as default };","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/firestore/lib/FirestoreTimestamp.js"],"names":["isDate","isNumber","MIN_SECONDS","FirestoreTimestamp","seconds","nanoseconds","Error","_seconds","_nanoseconds","other","Date","toMillis","adjustedSeconds","formattedSeconds","String","padStart","formattedNanoseconds","fromMillis","now","date","getTime","milliseconds","Math","floor"],"mappings":"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","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { isDate, isNumber } from '@react-native-firebase/app/lib/common';\n\n// The earlist date supported by Firestore timestamps (0001-01-01T00:00:00Z).\nconst MIN_SECONDS = -62135596800;\n\nexport default class FirestoreTimestamp {\n static now() {\n return FirestoreTimestamp.fromMillis(Date.now());\n }\n\n static fromDate(date) {\n if (!isDate(date)) {\n throw new Error(\n \"firebase.firestore.Timestamp.fromDate(*) 'date' expected a valid Date object.\",\n );\n }\n\n return FirestoreTimestamp.fromMillis(date.getTime());\n }\n\n static fromMillis(milliseconds) {\n const seconds = Math.floor(milliseconds / 1000);\n const nanoseconds = (milliseconds - seconds * 1000) * 1e6;\n return new FirestoreTimestamp(seconds, nanoseconds);\n }\n\n constructor(seconds, nanoseconds) {\n if (!isNumber(seconds)) {\n throw new Error(\"firebase.firestore.Timestamp 'seconds' expected a number value.\");\n }\n\n if (!isNumber(nanoseconds)) {\n throw new Error(\"firebase.firestore.Timestamp 'nanoseconds' expected a number value.\");\n }\n\n if (nanoseconds < 0) {\n throw new Error(`firebase.firestore.Timestamp 'nanoseconds' out of range: ${nanoseconds}`);\n }\n\n if (nanoseconds >= 1e9) {\n throw new Error(`firebase.firestore.Timestamp 'nanoseconds' out of range: ${nanoseconds}`);\n }\n\n // Midnight at the beginning of 1/1/1 is the earliest Firestore supports.\n if (seconds < MIN_SECONDS) {\n throw new Error(`firebase.firestore.Timestamp 'seconds' out of range: ${seconds}`);\n }\n\n // This will break in the year 10,000.\n if (seconds >= 253402300800) {\n throw new Error(`firebase.firestore.Timestamp 'seconds' out of range: ${seconds}`);\n }\n\n this._seconds = seconds;\n this._nanoseconds = nanoseconds;\n }\n\n get seconds() {\n return this._seconds;\n }\n\n get nanoseconds() {\n return this._nanoseconds;\n }\n\n isEqual(other) {\n if (!(other instanceof FirestoreTimestamp)) {\n throw Error(\n \"firebase.firestore.Timestamp.isEqual(*) 'other' expected an instance of Timestamp.\",\n );\n }\n\n return other.seconds === this._seconds && other.nanoseconds === this._nanoseconds;\n }\n\n toDate() {\n return new Date(this.toMillis());\n }\n\n toMillis() {\n return this._seconds * 1000 + this._nanoseconds / 1e6;\n }\n\n toString() {\n return `FirestoreTimestamp(seconds=${this.seconds}, nanoseconds=${this.nanoseconds})`;\n }\n\n toJSON() {\n return { seconds: this.seconds, nanoseconds: this.nanoseconds };\n }\n\n /**\n * Converts this object to a primitive string, which allows Timestamp objects to be compared\n * using the `>`, `<=`, `>=` and `>` operators.\n */\n valueOf() {\n // This method returns a string of the form <seconds>.<nanoseconds> where <seconds> is\n // translated to have a non-negative value and both <seconds> and <nanoseconds> are left-padded\n // with zeroes to be a consistent length. Strings with this format then have a lexiographical\n // ordering that matches the expected ordering. The <seconds> translation is done to avoid\n // having a leading negative sign (i.e. a leading '-' character) in its string representation,\n // which would affect its lexiographical ordering.\n const adjustedSeconds = this.seconds - MIN_SECONDS;\n // Note: Up to 12 decimal digits are required to represent all valid 'seconds' values.\n const formattedSeconds = String(adjustedSeconds).padStart(12, '0');\n const formattedNanoseconds = String(this.nanoseconds).padStart(9, '0');\n return formattedSeconds + '.' + formattedNanoseconds;\n }\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/940c9e58d10f1addfcd4097b0081fd57.json b/.expo/web/cache/development/babel-loader/940c9e58d10f1addfcd4097b0081fd57.json new file mode 100644 index 0000000000000000000000000000000000000000..e045952142102d1825b1addd9d37cddea3fa8be9 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/940c9e58d10f1addfcd4097b0081fd57.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { initializeApp } from \"firebase/app\";\nimport { getAnalytics } from \"firebase/analytics\";\nimport { getFirestore, collection, getDocs } from 'firebase/firestore';\nvar firebaseConfig = {\n apiKey: \"AIzaSyCNhZTcHSLaIGjP-fzpPrqRTAiWZB9jLos\",\n authDomain: \"exercise-react-native-433ff.firebaseapp.com\",\n projectId: \"exercise-react-native-433ff\",\n storageBucket: \"exercise-react-native-433ff.appspot.com\",\n messagingSenderId: \"293211634805\",\n appId: \"1:293211634805:web:99405940c89de56e4ecc3c\",\n measurementId: \"G-JJPHT7LEPD\"\n};\nvar app = initializeApp(firebaseConfig);\nexport default getFirestore();","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/Firebase.js"],"names":["initializeApp","getAnalytics","getFirestore","collection","getDocs","firebaseConfig","apiKey","authDomain","projectId","storageBucket","messagingSenderId","appId","measurementId","app"],"mappings":"AAAA,SAASA,aAAT,QAA8B,cAA9B;AACA,SAASC,YAAT,QAA6B,oBAA7B;AACA,SAASC,YAAT,EAAuBC,UAAvB,EAAmCC,OAAnC,QAAkD,oBAAlD;AAiCA,IAAMC,cAAc,GAAG;AACrBC,EAAAA,MAAM,EAAE,yCADa;AAErBC,EAAAA,UAAU,EAAE,6CAFS;AAGrBC,EAAAA,SAAS,EAAE,6BAHU;AAIrBC,EAAAA,aAAa,EAAE,yCAJM;AAKrBC,EAAAA,iBAAiB,EAAE,cALE;AAMrBC,EAAAA,KAAK,EAAE,2CANc;AAOrBC,EAAAA,aAAa,EAAE;AAPM,CAAvB;AAWA,IAAMC,GAAG,GAAGb,aAAa,CAACK,cAAD,CAAzB;AAGE,eAAeH,YAAY,EAA3B","sourcesContent":["import { initializeApp } from \"firebase/app\";\r\nimport { getAnalytics } from \"firebase/analytics\";\r\nimport { getFirestore, collection, getDocs } from 'firebase/firestore';\r\n\r\n//import * as firebase from 'firebase';\r\n//import 'firebase/firestore'\r\n\r\n\r\n\r\n/*const firebaseConfig = {\r\n apiKey: \"AIzaSyCNhZTcHSLaIGjP-fzpPrqRTAiWZB9jLos\",\r\n authDomain: \"exercise-react-native-433ff.firebaseapp.com\",\r\n projectId: \"exercise-react-native-433ff\",\r\n storageBucket: \"exercise-react-native-433ff.appspot.com\",\r\n messagingSenderId: \"293211634805\",\r\n appId: \"1:293211634805:web:e02756294908e9734ecc3c\",\r\n measurementId: \"G-R25TM36Y33\"\r\n };\r\n \r\n // Initialize Firebase\r\n const app = initializeApp(firebaseConfig);\r\n //const analytics = getAnalytics(app);\r\n //const db = getFirestore(app);\r\n\r\n // Get a list of cities from your database\r\n/*async function getCities(db) {\r\n const citiesCol = collection(db, 'cities');\r\n const citySnapshot = await getDocs(citiesCol);\r\n const cityList = citySnapshot.docs.map(doc => doc.data());\r\n return cityList;\r\n }*/\r\n\r\n\r\n\r\n\r\nconst firebaseConfig = {\r\n apiKey: \"AIzaSyCNhZTcHSLaIGjP-fzpPrqRTAiWZB9jLos\",\r\n authDomain: \"exercise-react-native-433ff.firebaseapp.com\",\r\n projectId: \"exercise-react-native-433ff\",\r\n storageBucket: \"exercise-react-native-433ff.appspot.com\",\r\n messagingSenderId: \"293211634805\",\r\n appId: \"1:293211634805:web:99405940c89de56e4ecc3c\",\r\n measurementId: \"G-JJPHT7LEPD\"\r\n};\r\n\r\n\r\nconst app = initializeApp(firebaseConfig);\r\n//const analytics = getAnalytics(app);\r\n \r\n export default getFirestore();\r\n\r\n /*const app = firebase.initializeApp(firebaseConfig);\r\n export const fireDB = app.firestore();\r\n export default app;*/\r\n\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/942cfcf951cb21188b1dbaf93d81d1e2.json b/.expo/web/cache/development/babel-loader/942cfcf951cb21188b1dbaf93d81d1e2.json new file mode 100644 index 0000000000000000000000000000000000000000..27517b90964ae60fdf6a25dda5fb5e85aa412d93 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/942cfcf951cb21188b1dbaf93d81d1e2.json @@ -0,0 +1 @@ +{"ast":null,"code":"var resets = ['html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);}', 'body{margin:0;}', '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 default resets;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/StyleSheet/initialRules.js"],"names":["resets"],"mappings":"AAQA,IAAIA,MAAM,GAAG,CACb,0GADa,EAC+F,iBAD/F,EAEb,uEAFa,EAE4D,0EAA0E,8FAFtI,CAAb;AAGA,eAAeA,MAAf","sourcesContent":["/**\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 resets = [// 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;}', // 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 default resets;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/95c28d7a0bdc46e04103ed910587e114.json b/.expo/web/cache/development/babel-loader/95c28d7a0bdc46e04103ed910587e114.json new file mode 100644 index 0000000000000000000000000000000000000000..88dae628e228121a6e19959efebacbe559f5cba2 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/95c28d7a0bdc46e04103ed910587e114.json @@ -0,0 +1 @@ +{"ast":null,"code":"import AppRegistry from \"react-native-web/dist/exports/AppRegistry\";\nAppRegistry;\nvar originalWarn = console.warn;\n\nconsole.warn = function warn() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (args.length > 0 && typeof args[0] === 'string' && (/^Require cycle: .*node_modules/.test(args[0]) || /Use UIManager\\.getViewManagerConfig\\('LottieAnimationView'\\) instead\\./.test(args[0]) || /ReactNative\\.NativeModules\\.LottieAnimationView\\.getConstants/.test(args[0]))) {\n return;\n }\n\n originalWarn.apply(console, args);\n};\n\nvar originalError = console.error;\n\nconsole.error = function error() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (args.length > 0 && typeof args[0] === 'string' && /^Warning: .* has been extracted/.test(args[0])) {\n return;\n }\n\n originalError.apply(console, args);\n};","map":{"version":3,"sources":["../../src/environment/react-native-logs.fx.ts"],"names":[],"mappings":";AAIA,WAAW;AAMX,IAAM,YAAY,GAAG,OAAO,CAAC,IAA7B;;AACA,OAAO,CAAC,IAAR,GAAe,SAAS,IAAT,GAAqB;AAAA,oCAAJ,IAAI;AAAJ,IAAA,IAAI;AAAA;;AAClC,MACE,IAAI,CAAC,MAAL,GAAc,CAAd,IACA,OAAO,IAAI,CAAC,CAAD,CAAX,KAAmB,QADnB,KAEC,iCAAiC,IAAjC,CAAsC,IAAI,CAAC,CAAD,CAA1C,KACC,yEAAyE,IAAzE,CAA8E,IAAI,CAAC,CAAD,CAAlF,CADD,IAEC,gEAAgE,IAAhE,CAAqE,IAAI,CAAC,CAAD,CAAzE,CAJF,CADF,EAME;AACA;AACD;;AACD,EAAA,YAAY,CAAC,KAAb,CAAmB,OAAnB,EAA4B,IAA5B;AACD,CAXD;;AAaA,IAAM,aAAa,GAAG,OAAO,CAAC,KAA9B;;AACA,OAAO,CAAC,KAAR,GAAgB,SAAS,KAAT,GAAsB;AAAA,qCAAJ,IAAI;AAAJ,IAAA,IAAI;AAAA;;AACpC,MACE,IAAI,CAAC,MAAL,GAAc,CAAd,IACA,OAAO,IAAI,CAAC,CAAD,CAAX,KAAmB,QADnB,IAEA,kCAAkC,IAAlC,CAAuC,IAAI,CAAC,CAAD,CAA3C,CAHF,EAIE;AACA;AACD;;AACD,EAAA,aAAa,CAAC,KAAd,CAAoB,OAApB,EAA6B,IAA7B;AACD,CATD","sourcesContent":["// AppRegistry transitively installs YellowBox as a side effect, which overrides various console\n// methods that we need to set up before we override them\nimport { AppRegistry } from 'react-native';\n\nAppRegistry; // eslint-disable-line @babel/no-unused-expressions\n\n// NOTE(2018-10-29): temporarily filter out cyclic dependency warnings here since they are noisy and\n// each warning symbolicates a stack trace, which is slow when there are many warnings\n// NOTE(2019-05-27): temporarily filter out LottieAnimationView warnings triggered by\n// unmaintained react-native-safe-module dependency.\nconst originalWarn = console.warn;\nconsole.warn = function warn(...args) {\n if (\n args.length > 0 &&\n typeof args[0] === 'string' &&\n (/^Require cycle: .*node_modules/.test(args[0]) ||\n /Use UIManager\\.getViewManagerConfig\\('LottieAnimationView'\\) instead\\./.test(args[0]) ||\n /ReactNative\\.NativeModules\\.LottieAnimationView\\.getConstants/.test(args[0]))\n ) {\n return;\n }\n originalWarn.apply(console, args);\n};\n\nconst originalError = console.error;\nconsole.error = function error(...args) {\n if (\n args.length > 0 &&\n typeof args[0] === 'string' &&\n /^Warning: .* has been extracted/.test(args[0])\n ) {\n return;\n }\n originalError.apply(console, args);\n};\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/95e14dde415ebcc4c3f02461315816c1.json b/.expo/web/cache/development/babel-loader/95e14dde415ebcc4c3f02461315816c1.json new file mode 100644 index 0000000000000000000000000000000000000000..33aad43a780f01545d01eb6a8169e3a379d74c9e --- /dev/null +++ b/.expo/web/cache/development/babel-loader/95e14dde415ebcc4c3f02461315816c1.json @@ -0,0 +1 @@ +{"ast":null,"code":"import NativeAnimatedNonTurboModule from \"./NativeAnimatedModule\";\nimport NativeAnimatedTurboModule from \"./NativeAnimatedTurboModule\";\nimport NativeEventEmitter from \"../NativeEventEmitter\";\nimport Platform from \"../../../exports/Platform\";\nimport invariant from 'fbjs/lib/invariant';\nvar NativeAnimatedModule = Platform.OS === 'ios' && global.RN$Bridgeless ? NativeAnimatedTurboModule : NativeAnimatedNonTurboModule;\nvar __nativeAnimatedNodeTagCount = 1;\nvar __nativeAnimationIdCount = 1;\nvar nativeEventEmitter;\nvar waitingForQueuedOperations = new Set();\nvar queueOperations = false;\nvar queue = [];\nvar API = {\n getValue: function getValue(tag, saveValueCallback) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n\n if (NativeAnimatedModule.getValue) {\n NativeAnimatedModule.getValue(tag, saveValueCallback);\n }\n },\n setWaitingForIdentifier: function setWaitingForIdentifier(id) {\n waitingForQueuedOperations.add(id);\n queueOperations = true;\n },\n unsetWaitingForIdentifier: function unsetWaitingForIdentifier(id) {\n waitingForQueuedOperations.delete(id);\n\n if (waitingForQueuedOperations.size === 0) {\n queueOperations = false;\n API.disableQueue();\n }\n },\n disableQueue: function disableQueue() {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n\n if (Platform.OS === 'android') {\n NativeAnimatedModule.startOperationBatch();\n }\n\n for (var q = 0, l = queue.length; q < l; q++) {\n queue[q]();\n }\n\n queue.length = 0;\n\n if (Platform.OS === 'android') {\n NativeAnimatedModule.finishOperationBatch();\n }\n },\n queueOperation: function queueOperation(fn) {\n if (queueOperations) {\n queue.push(fn);\n } else {\n fn();\n }\n },\n createAnimatedNode: function createAnimatedNode(tag, config) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.createAnimatedNode(tag, config);\n });\n },\n startListeningToAnimatedNodeValue: function startListeningToAnimatedNodeValue(tag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.startListeningToAnimatedNodeValue(tag);\n });\n },\n stopListeningToAnimatedNodeValue: function stopListeningToAnimatedNodeValue(tag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.stopListeningToAnimatedNodeValue(tag);\n });\n },\n connectAnimatedNodes: function connectAnimatedNodes(parentTag, childTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.connectAnimatedNodes(parentTag, childTag);\n });\n },\n disconnectAnimatedNodes: function disconnectAnimatedNodes(parentTag, childTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.disconnectAnimatedNodes(parentTag, childTag);\n });\n },\n startAnimatingNode: function startAnimatingNode(animationId, nodeTag, config, endCallback) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.startAnimatingNode(animationId, nodeTag, config, endCallback);\n });\n },\n stopAnimation: function stopAnimation(animationId) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.stopAnimation(animationId);\n });\n },\n setAnimatedNodeValue: function setAnimatedNodeValue(nodeTag, value) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.setAnimatedNodeValue(nodeTag, value);\n });\n },\n setAnimatedNodeOffset: function setAnimatedNodeOffset(nodeTag, offset) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.setAnimatedNodeOffset(nodeTag, offset);\n });\n },\n flattenAnimatedNodeOffset: function flattenAnimatedNodeOffset(nodeTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.flattenAnimatedNodeOffset(nodeTag);\n });\n },\n extractAnimatedNodeOffset: function extractAnimatedNodeOffset(nodeTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.extractAnimatedNodeOffset(nodeTag);\n });\n },\n connectAnimatedNodeToView: function connectAnimatedNodeToView(nodeTag, viewTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.connectAnimatedNodeToView(nodeTag, viewTag);\n });\n },\n disconnectAnimatedNodeFromView: function disconnectAnimatedNodeFromView(nodeTag, viewTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.disconnectAnimatedNodeFromView(nodeTag, viewTag);\n });\n },\n restoreDefaultValues: function restoreDefaultValues(nodeTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n\n if (NativeAnimatedModule.restoreDefaultValues != null) {\n API.queueOperation(function () {\n return NativeAnimatedModule.restoreDefaultValues(nodeTag);\n });\n }\n },\n dropAnimatedNode: function dropAnimatedNode(tag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.dropAnimatedNode(tag);\n });\n },\n addAnimatedEventToView: function addAnimatedEventToView(viewTag, eventName, eventMapping) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.addAnimatedEventToView(viewTag, eventName, eventMapping);\n });\n },\n removeAnimatedEventFromView: function removeAnimatedEventFromView(viewTag, eventName, animatedNodeTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.removeAnimatedEventFromView(viewTag, eventName, animatedNodeTag);\n });\n }\n};\nvar SUPPORTED_STYLES = {\n opacity: true,\n transform: true,\n borderRadius: true,\n borderBottomEndRadius: true,\n borderBottomLeftRadius: true,\n borderBottomRightRadius: true,\n borderBottomStartRadius: true,\n borderTopEndRadius: true,\n borderTopLeftRadius: true,\n borderTopRightRadius: true,\n borderTopStartRadius: true,\n elevation: true,\n zIndex: true,\n shadowOpacity: true,\n shadowRadius: true,\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};\n\nfunction addWhitelistedStyleProp(prop) {\n SUPPORTED_STYLES[prop] = true;\n}\n\nfunction addWhitelistedTransformProp(prop) {\n SUPPORTED_TRANSFORMS[prop] = true;\n}\n\nfunction addWhitelistedInterpolationParam(param) {\n SUPPORTED_INTERPOLATION_PARAMS[param] = true;\n}\n\nfunction validateTransform(configs) {\n configs.forEach(function (config) {\n if (!SUPPORTED_TRANSFORMS.hasOwnProperty(config.property)) {\n throw new Error(\"Property '\" + config.property + \"' is not supported by native animated module\");\n }\n });\n}\n\nfunction validateStyles(styles) {\n for (var _key in styles) {\n if (!SUPPORTED_STYLES.hasOwnProperty(_key)) {\n throw new Error(\"Style property '\" + _key + \"' is not supported by native animated module\");\n }\n }\n}\n\nfunction validateInterpolation(config) {\n for (var _key2 in config) {\n if (!SUPPORTED_INTERPOLATION_PARAMS.hasOwnProperty(_key2)) {\n throw new Error(\"Interpolation property '\" + _key2 + \"' is not supported by native animated module\");\n }\n }\n}\n\nfunction generateNewNodeTag() {\n return __nativeAnimatedNodeTagCount++;\n}\n\nexport function generateNewAnimationId() {\n return __nativeAnimationIdCount++;\n}\n\nfunction assertNativeAnimatedModule() {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n}\n\nvar _warnedMissingNativeAnimated = false;\nexport function 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\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 `pod install` first. Read more about autolinking: https://github.com/react-native-community/cli/blob/master/docs/autolinking.md');\n _warnedMissingNativeAnimated = true;\n }\n\n return false;\n }\n\n return config.useNativeDriver || false;\n}\n\nfunction transformDataType(value) {\n if (typeof value !== 'string') {\n return value;\n }\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}\n\nexport default {\n API: API,\n addWhitelistedStyleProp: addWhitelistedStyleProp,\n addWhitelistedTransformProp: addWhitelistedTransformProp,\n addWhitelistedInterpolationParam: addWhitelistedInterpolationParam,\n validateStyles: validateStyles,\n validateTransform: validateTransform,\n validateInterpolation: validateInterpolation,\n generateNewNodeTag: generateNewNodeTag,\n generateNewAnimationId: generateNewAnimationId,\n assertNativeAnimatedModule: assertNativeAnimatedModule,\n shouldUseNativeDriver: shouldUseNativeDriver,\n transformDataType: transformDataType,\n\n get nativeEventEmitter() {\n if (!nativeEventEmitter) {\n nativeEventEmitter = new NativeEventEmitter(NativeAnimatedModule);\n }\n\n return nativeEventEmitter;\n }\n\n};","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/NativeAnimatedHelper.js"],"names":["NativeAnimatedNonTurboModule","NativeAnimatedTurboModule","NativeEventEmitter","Platform","invariant","NativeAnimatedModule","OS","global","RN$Bridgeless","__nativeAnimatedNodeTagCount","__nativeAnimationIdCount","nativeEventEmitter","waitingForQueuedOperations","Set","queueOperations","queue","API","getValue","tag","saveValueCallback","setWaitingForIdentifier","id","add","unsetWaitingForIdentifier","delete","size","disableQueue","startOperationBatch","q","l","length","finishOperationBatch","queueOperation","fn","push","createAnimatedNode","config","startListeningToAnimatedNodeValue","stopListeningToAnimatedNodeValue","connectAnimatedNodes","parentTag","childTag","disconnectAnimatedNodes","startAnimatingNode","animationId","nodeTag","endCallback","stopAnimation","setAnimatedNodeValue","value","setAnimatedNodeOffset","offset","flattenAnimatedNodeOffset","extractAnimatedNodeOffset","connectAnimatedNodeToView","viewTag","disconnectAnimatedNodeFromView","restoreDefaultValues","dropAnimatedNode","addAnimatedEventToView","eventName","eventMapping","removeAnimatedEventFromView","animatedNodeTag","SUPPORTED_STYLES","opacity","transform","borderRadius","borderBottomEndRadius","borderBottomLeftRadius","borderBottomRightRadius","borderBottomStartRadius","borderTopEndRadius","borderTopLeftRadius","borderTopRightRadius","borderTopStartRadius","elevation","zIndex","shadowOpacity","shadowRadius","scaleX","scaleY","translateX","translateY","SUPPORTED_TRANSFORMS","scale","rotate","rotateX","rotateY","rotateZ","perspective","SUPPORTED_INTERPOLATION_PARAMS","inputRange","outputRange","extrapolate","extrapolateRight","extrapolateLeft","addWhitelistedStyleProp","prop","addWhitelistedTransformProp","addWhitelistedInterpolationParam","param","validateTransform","configs","forEach","hasOwnProperty","property","Error","validateStyles","styles","_key","validateInterpolation","_key2","generateNewNodeTag","generateNewAnimationId","assertNativeAnimatedModule","_warnedMissingNativeAnimated","shouldUseNativeDriver","useNativeDriver","console","warn","transformDataType","test","degrees","parseFloat","radians","Math","PI"],"mappings":"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","sourcesContent":["/**\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 * @format\n */\nimport NativeAnimatedNonTurboModule from './NativeAnimatedModule';\nimport NativeAnimatedTurboModule from './NativeAnimatedTurboModule';\nimport NativeEventEmitter from '../NativeEventEmitter';\nimport Platform from '../../../exports/Platform';\nimport invariant from 'fbjs/lib/invariant'; // TODO T69437152 @petetheheat - Delete this fork when Fabric ships to 100%.\n\nvar NativeAnimatedModule = Platform.OS === 'ios' && global.RN$Bridgeless ? NativeAnimatedTurboModule : NativeAnimatedNonTurboModule;\nvar __nativeAnimatedNodeTagCount = 1;\n/* used for animated nodes */\n\nvar __nativeAnimationIdCount = 1;\n/* used for started animations */\n\nvar nativeEventEmitter;\nvar waitingForQueuedOperations = new Set();\nvar queueOperations = false;\nvar queue = [];\n/**\n * Simple wrappers around NativeAnimatedModule to provide flow and autocomplete support for\n * the native module methods\n */\n\nvar API = {\n getValue: function getValue(tag, saveValueCallback) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n\n if (NativeAnimatedModule.getValue) {\n NativeAnimatedModule.getValue(tag, saveValueCallback);\n }\n },\n setWaitingForIdentifier: function setWaitingForIdentifier(id) {\n waitingForQueuedOperations.add(id);\n queueOperations = true;\n },\n unsetWaitingForIdentifier: function unsetWaitingForIdentifier(id) {\n waitingForQueuedOperations.delete(id);\n\n if (waitingForQueuedOperations.size === 0) {\n queueOperations = false;\n API.disableQueue();\n }\n },\n disableQueue: function disableQueue() {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n\n if (Platform.OS === 'android') {\n NativeAnimatedModule.startOperationBatch();\n }\n\n for (var q = 0, l = queue.length; q < l; q++) {\n queue[q]();\n }\n\n queue.length = 0;\n\n if (Platform.OS === 'android') {\n NativeAnimatedModule.finishOperationBatch();\n }\n },\n queueOperation: function queueOperation(fn) {\n if (queueOperations) {\n queue.push(fn);\n } else {\n fn();\n }\n },\n createAnimatedNode: function createAnimatedNode(tag, config) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.createAnimatedNode(tag, config);\n });\n },\n startListeningToAnimatedNodeValue: function startListeningToAnimatedNodeValue(tag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.startListeningToAnimatedNodeValue(tag);\n });\n },\n stopListeningToAnimatedNodeValue: function stopListeningToAnimatedNodeValue(tag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.stopListeningToAnimatedNodeValue(tag);\n });\n },\n connectAnimatedNodes: function connectAnimatedNodes(parentTag, childTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.connectAnimatedNodes(parentTag, childTag);\n });\n },\n disconnectAnimatedNodes: function disconnectAnimatedNodes(parentTag, childTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.disconnectAnimatedNodes(parentTag, childTag);\n });\n },\n startAnimatingNode: function startAnimatingNode(animationId, nodeTag, config, endCallback) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.startAnimatingNode(animationId, nodeTag, config, endCallback);\n });\n },\n stopAnimation: function stopAnimation(animationId) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.stopAnimation(animationId);\n });\n },\n setAnimatedNodeValue: function setAnimatedNodeValue(nodeTag, value) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.setAnimatedNodeValue(nodeTag, value);\n });\n },\n setAnimatedNodeOffset: function setAnimatedNodeOffset(nodeTag, offset) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.setAnimatedNodeOffset(nodeTag, offset);\n });\n },\n flattenAnimatedNodeOffset: function flattenAnimatedNodeOffset(nodeTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.flattenAnimatedNodeOffset(nodeTag);\n });\n },\n extractAnimatedNodeOffset: function extractAnimatedNodeOffset(nodeTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.extractAnimatedNodeOffset(nodeTag);\n });\n },\n connectAnimatedNodeToView: function connectAnimatedNodeToView(nodeTag, viewTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.connectAnimatedNodeToView(nodeTag, viewTag);\n });\n },\n disconnectAnimatedNodeFromView: function disconnectAnimatedNodeFromView(nodeTag, viewTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.disconnectAnimatedNodeFromView(nodeTag, viewTag);\n });\n },\n restoreDefaultValues: function restoreDefaultValues(nodeTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available'); // Backwards compat with older native runtimes, can be removed later.\n\n if (NativeAnimatedModule.restoreDefaultValues != null) {\n API.queueOperation(function () {\n return NativeAnimatedModule.restoreDefaultValues(nodeTag);\n });\n }\n },\n dropAnimatedNode: function dropAnimatedNode(tag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.dropAnimatedNode(tag);\n });\n },\n addAnimatedEventToView: function addAnimatedEventToView(viewTag, eventName, eventMapping) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.addAnimatedEventToView(viewTag, eventName, eventMapping);\n });\n },\n removeAnimatedEventFromView: function removeAnimatedEventFromView(viewTag, eventName, animatedNodeTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.removeAnimatedEventFromView(viewTag, eventName, animatedNodeTag);\n });\n }\n};\n/**\n * Styles allowed by the native animated implementation.\n *\n * In general native animated implementation should support any numeric property that doesn't need\n * to be updated through the shadow view hierarchy (all non-layout properties).\n */\n\nvar SUPPORTED_STYLES = {\n opacity: true,\n transform: true,\n borderRadius: true,\n borderBottomEndRadius: true,\n borderBottomLeftRadius: true,\n borderBottomRightRadius: true,\n borderBottomStartRadius: true,\n borderTopEndRadius: true,\n borderTopLeftRadius: true,\n borderTopRightRadius: true,\n borderTopStartRadius: true,\n elevation: true,\n zIndex: true,\n\n /* ios styles */\n shadowOpacity: true,\n shadowRadius: true,\n\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};\n\nfunction addWhitelistedStyleProp(prop) {\n SUPPORTED_STYLES[prop] = true;\n}\n\nfunction addWhitelistedTransformProp(prop) {\n SUPPORTED_TRANSFORMS[prop] = true;\n}\n\nfunction addWhitelistedInterpolationParam(param) {\n SUPPORTED_INTERPOLATION_PARAMS[param] = true;\n}\n\nfunction validateTransform(configs) {\n configs.forEach(function (config) {\n if (!SUPPORTED_TRANSFORMS.hasOwnProperty(config.property)) {\n throw new Error(\"Property '\" + config.property + \"' is not supported by native animated module\");\n }\n });\n}\n\nfunction validateStyles(styles) {\n for (var _key in styles) {\n if (!SUPPORTED_STYLES.hasOwnProperty(_key)) {\n throw new Error(\"Style property '\" + _key + \"' is not supported by native animated module\");\n }\n }\n}\n\nfunction validateInterpolation(config) {\n for (var _key2 in config) {\n if (!SUPPORTED_INTERPOLATION_PARAMS.hasOwnProperty(_key2)) {\n throw new Error(\"Interpolation property '\" + _key2 + \"' is not supported by native animated module\");\n }\n }\n}\n\nfunction generateNewNodeTag() {\n return __nativeAnimatedNodeTagCount++;\n}\n\nexport function generateNewAnimationId() {\n return __nativeAnimationIdCount++;\n}\n\nfunction assertNativeAnimatedModule() {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n}\n\nvar _warnedMissingNativeAnimated = false;\nexport function 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\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 `pod install` first. Read more about autolinking: https://github.com/react-native-community/cli/blob/master/docs/autolinking.md');\n _warnedMissingNativeAnimated = true;\n }\n\n return false;\n }\n\n return config.useNativeDriver || false;\n}\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\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}\n\nexport default {\n API: API,\n addWhitelistedStyleProp: addWhitelistedStyleProp,\n addWhitelistedTransformProp: addWhitelistedTransformProp,\n addWhitelistedInterpolationParam: addWhitelistedInterpolationParam,\n validateStyles: validateStyles,\n validateTransform: validateTransform,\n validateInterpolation: validateInterpolation,\n generateNewNodeTag: generateNewNodeTag,\n generateNewAnimationId: generateNewAnimationId,\n assertNativeAnimatedModule: assertNativeAnimatedModule,\n shouldUseNativeDriver: shouldUseNativeDriver,\n transformDataType: transformDataType,\n\n // $FlowExpectedError - unsafe getter lint suppresion\n get nativeEventEmitter() {\n if (!nativeEventEmitter) {\n nativeEventEmitter = new NativeEventEmitter(NativeAnimatedModule);\n }\n\n return nativeEventEmitter;\n }\n\n};"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/95f6b19cbc45a8388ba4da97fc080baf.json b/.expo/web/cache/development/babel-loader/95f6b19cbc45a8388ba4da97fc080baf.json new file mode 100644 index 0000000000000000000000000000000000000000..3c8398170ee7876c33a18efb46246091c96a72ed --- /dev/null +++ b/.expo/web/cache/development/babel-loader/95f6b19cbc45a8388ba4da97fc080baf.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { getActionFromState, getStateFromPath, NavigationContainerRefContext } from '@react-navigation/core';\nimport * as React from 'react';\nimport LinkingContext from \"./LinkingContext\";\nexport default function useLinkTo() {\n var navigation = React.useContext(NavigationContainerRefContext);\n var linking = React.useContext(LinkingContext);\n var linkTo = React.useCallback(function (to) {\n if (navigation === undefined) {\n throw new Error(\"Couldn't find a navigation object. Is your component inside NavigationContainer?\");\n }\n\n if (typeof to !== 'string') {\n navigation.navigate(to.screen, to.params);\n return;\n }\n\n if (!to.startsWith('/')) {\n throw new Error(\"The path must start with '/' (\" + to + \").\");\n }\n\n var options = linking.options;\n var state = options !== null && options !== void 0 && options.getStateFromPath ? options.getStateFromPath(to, options.config) : getStateFromPath(to, options === null || options === void 0 ? void 0 : options.config);\n\n if (state) {\n var action = getActionFromState(state, options === null || options === void 0 ? void 0 : options.config);\n\n if (action !== undefined) {\n navigation.dispatch(action);\n } else {\n navigation.reset(state);\n }\n } else {\n throw new Error('Failed to parse the path to a navigation state.');\n }\n }, [linking, navigation]);\n return linkTo;\n}","map":{"version":3,"sources":["useLinkTo.tsx"],"names":["navigation","React","linking","linkTo","to","options","state","getStateFromPath","action","getActionFromState"],"mappings":"AAAA,SAAA,kBAAA,EAAA,gBAAA,EAAA,6BAAA,QAAA,wBAAA;AAKA,OAAO,KAAP,KAAA,MAAA,OAAA;AAEA,OAAA,cAAA;AAiBA,eAAe,SAAA,SAAA,GAEX;AACF,MAAMA,UAAU,GAAGC,KAAK,CAALA,UAAAA,CAAnB,6BAAmBA,CAAnB;AACA,MAAMC,OAAO,GAAGD,KAAK,CAALA,UAAAA,CAAhB,cAAgBA,CAAhB;AAEA,MAAME,MAAM,GAAG,KAAK,CAAL,WAAA,CACZC,UAAAA,EAAD,EAAuB;AACrB,QAAIJ,UAAU,KAAd,SAAA,EAA8B;AAC5B,YAAM,IAAA,KAAA,CAAN,kFAAM,CAAN;AAGD;;AAED,QAAI,OAAA,EAAA,KAAJ,QAAA,EAA4B;AAE1BA,MAAAA,UAAU,CAAVA,QAAAA,CAAoBI,EAAE,CAAtBJ,MAAAA,EAA+BI,EAAE,CAAjCJ,MAAAA;AACA;AACD;;AAED,QAAI,CAACI,EAAE,CAAFA,UAAAA,CAAL,GAAKA,CAAL,EAAyB;AACvB,YAAM,IAAA,KAAA,oCAAN,EAAM,QAAN;AACD;;AAED,QAAQC,OAAR,GAAA,OAAA,CAAQA,OAAR;AAEA,QAAMC,KAAK,GAAGD,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAA,KAAPA,CAAAA,IAAAA,OAAO,CAAPA,gBAAAA,GACVA,OAAO,CAAPA,gBAAAA,CAAAA,EAAAA,EAA6BA,OAAO,CAD1BA,MACVA,CADUA,GAEVE,gBAAgB,CAAA,EAAA,EAAKF,OAAL,KAAA,IAAKA,IAAAA,OAAL,KAAA,KAAA,CAAKA,GAAL,KAAA,CAAKA,GAAAA,OAAO,CAFhC,MAEoB,CAFpB;;AAIA,QAAA,KAAA,EAAW;AACT,UAAMG,MAAM,GAAGC,kBAAkB,CAAA,KAAA,EAAQJ,OAAR,KAAA,IAAQA,IAAAA,OAAR,KAAA,KAAA,CAAQA,GAAR,KAAA,CAAQA,GAAAA,OAAO,CAAhD,MAAiC,CAAjC;;AAEA,UAAIG,MAAM,KAAV,SAAA,EAA0B;AACxBR,QAAAA,UAAU,CAAVA,QAAAA,CAAAA,MAAAA;AADF,OAAA,MAEO;AACLA,QAAAA,UAAU,CAAVA,KAAAA,CAAAA,KAAAA;AACD;AAPH,KAAA,MAQO;AACL,YAAM,IAAA,KAAA,CAAN,iDAAM,CAAN;AACD;AAlCU,GAAA,EAoCb,CAAA,OAAA,EApCF,UAoCE,CApCa,CAAf;AAuCA,SAAA,MAAA;AACD","sourcesContent":["import {\n getActionFromState,\n getStateFromPath,\n NavigationContainerRefContext,\n} from '@react-navigation/core';\nimport * as React from 'react';\n\nimport LinkingContext from './LinkingContext';\n\nexport type To<\n ParamList extends ReactNavigation.RootParamList = ReactNavigation.RootParamList,\n RouteName extends keyof ParamList = keyof ParamList\n> =\n | string\n | (undefined extends ParamList[RouteName]\n ? {\n screen: Extract<RouteName, string>;\n params?: ParamList[RouteName];\n }\n : {\n screen: Extract<RouteName, string>;\n params: ParamList[RouteName];\n });\n\nexport default function useLinkTo<\n ParamList extends ReactNavigation.RootParamList\n>() {\n const navigation = React.useContext(NavigationContainerRefContext);\n const linking = React.useContext(LinkingContext);\n\n const linkTo = React.useCallback(\n (to: To<ParamList>) => {\n if (navigation === undefined) {\n throw new Error(\n \"Couldn't find a navigation object. Is your component inside NavigationContainer?\"\n );\n }\n\n if (typeof to !== 'string') {\n // @ts-expect-error: This is fine\n navigation.navigate(to.screen, to.params);\n return;\n }\n\n if (!to.startsWith('/')) {\n throw new Error(`The path must start with '/' (${to}).`);\n }\n\n const { options } = linking;\n\n const state = options?.getStateFromPath\n ? options.getStateFromPath(to, options.config)\n : getStateFromPath(to, options?.config);\n\n if (state) {\n const action = getActionFromState(state, options?.config);\n\n if (action !== undefined) {\n navigation.dispatch(action);\n } else {\n navigation.reset(state);\n }\n } else {\n throw new Error('Failed to parse the path to a navigation state.');\n }\n },\n [linking, navigation]\n );\n\n return linkTo;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/969ba1f2f5129e2e598bc603149e1a2b.json b/.expo/web/cache/development/babel-loader/969ba1f2f5129e2e598bc603149e1a2b.json new file mode 100644 index 0000000000000000000000000000000000000000..7bcfb09d08f0dba8e522a8a522fc1487a1515a66 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/969ba1f2f5129e2e598bc603149e1a2b.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport { CommonActions } from '@react-navigation/routers';\nexport var NOT_INITIALIZED_ERROR = \"The 'navigation' object hasn't been initialized yet. This might happen if you don't have a navigator mounted, or if the navigator hasn't finished mounting. See https://reactnavigation.org/docs/navigating-without-navigation-prop#handling-initialization for more details.\";\nexport default function createNavigationContainerRef() {\n var methods = [].concat(_toConsumableArray(Object.keys(CommonActions)), ['addListener', 'removeListener', 'resetRoot', 'dispatch', 'isFocused', 'canGoBack', 'getRootState', 'getState', 'getParent', 'getCurrentRoute', 'getCurrentOptions']);\n var listeners = {};\n\n var removeListener = function removeListener(event, callback) {\n if (listeners[event]) {\n listeners[event] = listeners[event].filter(function (cb) {\n return cb !== callback;\n });\n }\n };\n\n var current = null;\n\n var ref = _objectSpread({\n get current() {\n return current;\n },\n\n set current(value) {\n current = value;\n\n if (value != null) {\n Object.entries(listeners).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n event = _ref2[0],\n callbacks = _ref2[1];\n\n callbacks.forEach(function (callback) {\n value.addListener(event, callback);\n });\n });\n }\n },\n\n isReady: function isReady() {\n if (current == null) {\n return false;\n }\n\n return current.isReady();\n }\n }, methods.reduce(function (acc, name) {\n acc[name] = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (current == null) {\n switch (name) {\n case 'addListener':\n {\n var event = args[0],\n callback = args[1];\n listeners[event] = listeners[event] || [];\n listeners[event].push(callback);\n return function () {\n return removeListener(event, callback);\n };\n }\n\n case 'removeListener':\n {\n var _event = args[0],\n _callback = args[1];\n removeListener(_event, _callback);\n break;\n }\n\n default:\n console.error(NOT_INITIALIZED_ERROR);\n }\n } else {\n var _current;\n\n return (_current = current)[name].apply(_current, args);\n }\n };\n\n return acc;\n }, {}));\n\n return ref;\n}","map":{"version":3,"sources":["createNavigationContainerRef.tsx"],"names":["NOT_INITIALIZED_ERROR","methods","Object","listeners","removeListener","cb","current","ref","value","callbacks","callback","isReady","acc","args","console"],"mappings":"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","sourcesContent":["import { CommonActions } from '@react-navigation/routers';\n\nimport type {\n NavigationContainerEventMap,\n NavigationContainerRef,\n NavigationContainerRefWithCurrent,\n} from './types';\n\nexport const NOT_INITIALIZED_ERROR =\n \"The 'navigation' object hasn't been initialized yet. This might happen if you don't have a navigator mounted, or if the navigator hasn't finished mounting. See https://reactnavigation.org/docs/navigating-without-navigation-prop#handling-initialization for more details.\";\n\nexport default function createNavigationContainerRef<\n ParamList extends {} = ReactNavigation.RootParamList\n>(): NavigationContainerRefWithCurrent<ParamList> {\n const methods = [\n ...Object.keys(CommonActions),\n 'addListener',\n 'removeListener',\n 'resetRoot',\n 'dispatch',\n 'isFocused',\n 'canGoBack',\n 'getRootState',\n 'getState',\n 'getParent',\n 'getCurrentRoute',\n 'getCurrentOptions',\n ] as const;\n\n const listeners: Record<string, ((...args: any[]) => void)[]> = {};\n\n const removeListener = (\n event: string,\n callback: (...args: any[]) => void\n ) => {\n if (listeners[event]) {\n listeners[event] = listeners[event].filter((cb) => cb !== callback);\n }\n };\n\n let current: NavigationContainerRef<ParamList> | null = null;\n\n const ref: NavigationContainerRefWithCurrent<ParamList> = {\n get current() {\n return current;\n },\n set current(value: NavigationContainerRef<ParamList> | null) {\n current = value;\n\n if (value != null) {\n Object.entries(listeners).forEach(([event, callbacks]) => {\n callbacks.forEach((callback) => {\n value.addListener(\n event as keyof NavigationContainerEventMap,\n callback\n );\n });\n });\n }\n },\n isReady: () => {\n if (current == null) {\n return false;\n }\n\n return current.isReady();\n },\n ...methods.reduce<any>((acc, name) => {\n acc[name] = (...args: any[]) => {\n if (current == null) {\n switch (name) {\n case 'addListener': {\n const [event, callback] = args;\n\n listeners[event] = listeners[event] || [];\n listeners[event].push(callback);\n\n return () => removeListener(event, callback);\n }\n case 'removeListener': {\n const [event, callback] = args;\n\n removeListener(event, callback);\n break;\n }\n default:\n console.error(NOT_INITIALIZED_ERROR);\n }\n } else {\n // @ts-expect-error: this is ok\n return current[name](...args);\n }\n };\n return acc;\n }, {}),\n };\n\n return ref;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/97b986e23ad37ebf81eb0dfff19b6245.json b/.expo/web/cache/development/babel-loader/97b986e23ad37ebf81eb0dfff19b6245.json new file mode 100644 index 0000000000000000000000000000000000000000..88e5d8becc41c2b8a810b6af347d45cc3866d123 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/97b986e23ad37ebf81eb0dfff19b6245.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { Base64, isString } from '@react-native-firebase/app/lib/common';\n\nvar FirestoreBlob = function () {\n function FirestoreBlob() {\n var internal = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var binaryString = arguments.length > 1 ? arguments[1] : undefined;\n\n _classCallCheck(this, FirestoreBlob);\n\n if (internal === false) {\n throw new Error('firebase.firestore.Blob constructor is private, use Blob.<field>() instead.');\n }\n\n this._binaryString = binaryString;\n }\n\n _createClass(FirestoreBlob, [{\n key: \"isEqual\",\n value: function isEqual(blob) {\n if (!(blob instanceof FirestoreBlob)) {\n throw new Error('firestore.Blob.isEqual expects an instance of Blob');\n }\n\n return this._binaryString === blob._binaryString;\n }\n }, {\n key: \"toBase64\",\n value: function toBase64() {\n return Base64.btoa(this._binaryString);\n }\n }, {\n key: \"toUint8Array\",\n value: function toUint8Array() {\n return new Uint8Array(this._binaryString.split('').map(function (c) {\n return c.charCodeAt(0);\n }));\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return \"firestore.Blob(base64: \" + this.toBase64() + \")\";\n }\n }], [{\n key: \"fromBase64String\",\n value: function fromBase64String(base64) {\n if (!isString(base64) || base64.length < 1) {\n throw new Error('firestore.Blob.fromBase64String expects a string of at least 1 character in length');\n }\n\n return new FirestoreBlob(true, Base64.atob(base64));\n }\n }, {\n key: \"fromUint8Array\",\n value: function fromUint8Array(array) {\n if (!(array instanceof Uint8Array)) {\n throw new Error('firestore.Blob.fromUint8Array expects an instance of Uint8Array');\n }\n\n return new FirestoreBlob(true, Array.prototype.map.call(array, function ($) {\n return String.fromCharCode($);\n }).join(''));\n }\n }]);\n\n return FirestoreBlob;\n}();\n\nexport { FirestoreBlob as default };","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/firestore/lib/FirestoreBlob.js"],"names":["Base64","isString","FirestoreBlob","internal","binaryString","Error","_binaryString","blob","btoa","Uint8Array","split","map","c","charCodeAt","toBase64","base64","length","atob","array","Array","prototype","call","$","String","fromCharCode","join"],"mappings":";;AAiBA,SAASA,MAAT,EAAiBC,QAAjB,QAAiC,uCAAjC;;IAEqBC,a;AACnB,2BAA4C;AAAA,QAAhCC,QAAgC,uEAArB,KAAqB;AAAA,QAAdC,YAAc;;AAAA;;AAC1C,QAAID,QAAQ,KAAK,KAAjB,EAAwB;AACtB,YAAM,IAAIE,KAAJ,CACJ,6EADI,CAAN;AAGD;;AAED,SAAKC,aAAL,GAAqBF,YAArB;AACD;;;;WAyCD,iBAAQG,IAAR,EAAc;AACZ,UAAI,EAAEA,IAAI,YAAYL,aAAlB,CAAJ,EAAsC;AACpC,cAAM,IAAIG,KAAJ,CAAU,oDAAV,CAAN;AACD;;AAED,aAAO,KAAKC,aAAL,KAAuBC,IAAI,CAACD,aAAnC;AACD;;;WAQD,oBAAW;AACT,aAAON,MAAM,CAACQ,IAAP,CAAY,KAAKF,aAAjB,CAAP;AACD;;;WAQD,wBAAe;AACb,aAAO,IAAIG,UAAJ,CAAe,KAAKH,aAAL,CAAmBI,KAAnB,CAAyB,EAAzB,EAA6BC,GAA7B,CAAiC,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAACC,UAAF,CAAa,CAAb,CAAJ;AAAA,OAAlC,CAAf,CAAP;AACD;;;WAQD,oBAAW;AACT,yCAAiC,KAAKC,QAAL,EAAjC;AACD;;;WArED,0BAAwBC,MAAxB,EAAgC;AAC9B,UAAI,CAACd,QAAQ,CAACc,MAAD,CAAT,IAAqBA,MAAM,CAACC,MAAP,GAAgB,CAAzC,EAA4C;AAC1C,cAAM,IAAIX,KAAJ,CACJ,oFADI,CAAN;AAGD;;AAED,aAAO,IAAIH,aAAJ,CAAkB,IAAlB,EAAwBF,MAAM,CAACiB,IAAP,CAAYF,MAAZ,CAAxB,CAAP;AACD;;;WAQD,wBAAsBG,KAAtB,EAA6B;AAC3B,UAAI,EAAEA,KAAK,YAAYT,UAAnB,CAAJ,EAAoC;AAClC,cAAM,IAAIJ,KAAJ,CAAU,iEAAV,CAAN;AACD;;AAED,aAAO,IAAIH,aAAJ,CACL,IADK,EAELiB,KAAK,CAACC,SAAN,CAAgBT,GAAhB,CAAoBU,IAApB,CAAyBH,KAAzB,EAAgC,UAAAI,CAAC;AAAA,eAAIC,MAAM,CAACC,YAAP,CAAoBF,CAApB,CAAJ;AAAA,OAAjC,EAA6DG,IAA7D,CAAkE,EAAlE,CAFK,CAAP;AAID;;;;;;SA1CkBvB,a","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { Base64, isString } from '@react-native-firebase/app/lib/common';\n\nexport default class FirestoreBlob {\n constructor(internal = false, binaryString) {\n if (internal === false) {\n throw new Error(\n 'firebase.firestore.Blob constructor is private, use Blob.<field>() instead.',\n );\n }\n\n this._binaryString = binaryString;\n }\n\n /**\n * Creates a new Blob from the given Base64 string\n *\n * @url https://firebase.google.com/docs/reference/js/firebase.firestore.Blob#.fromBase64String\n * @param base64 string\n */\n static fromBase64String(base64) {\n if (!isString(base64) || base64.length < 1) {\n throw new Error(\n 'firestore.Blob.fromBase64String expects a string of at least 1 character in length',\n );\n }\n\n return new FirestoreBlob(true, Base64.atob(base64));\n }\n\n /**\n * Creates a new Blob from the given Uint8Array.\n *\n * @url https://firebase.google.com/docs/reference/js/firebase.firestore.Blob#.fromUint8Array\n * @param array Array\n */\n static fromUint8Array(array) {\n if (!(array instanceof Uint8Array)) {\n throw new Error('firestore.Blob.fromUint8Array expects an instance of Uint8Array');\n }\n\n return new FirestoreBlob(\n true,\n Array.prototype.map.call(array, $ => String.fromCharCode($)).join(''),\n );\n }\n\n /**\n * Returns 'true' if this Blob is equal to the provided one.\n * @url https://firebase.google.com/docs/reference/js/firebase.firestore.Blob#isEqual\n * @param {*} blob Blob The Blob to compare against. Value must not be null.\n * @returns boolean 'true' if this Blob is equal to the provided one.\n */\n isEqual(blob) {\n if (!(blob instanceof FirestoreBlob)) {\n throw new Error('firestore.Blob.isEqual expects an instance of Blob');\n }\n\n return this._binaryString === blob._binaryString;\n }\n\n /**\n * Returns the bytes of a Blob as a Base64-encoded string.\n *\n * @url https://firebase.google.com/docs/reference/js/firebase.firestore.Blob#toBase64\n * @returns string The Base64-encoded string created from the Blob object.\n */\n toBase64() {\n return Base64.btoa(this._binaryString);\n }\n\n /**\n * Returns the bytes of a Blob in a new Uint8Array.\n *\n * @url https://firebase.google.com/docs/reference/js/firebase.firestore.Blob#toUint8Array\n * @returns non-null Uint8Array The Uint8Array created from the Blob object.\n */\n toUint8Array() {\n return new Uint8Array(this._binaryString.split('').map(c => c.charCodeAt(0)));\n }\n\n /**\n * Returns a string representation of this blob instance\n *\n * @returns {string}\n * @memberof Blob\n */\n toString() {\n return `firestore.Blob(base64: ${this.toBase64()})`;\n }\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/97c8ac579cf715ccf10c5c3b98bb5684.json b/.expo/web/cache/development/babel-loader/97c8ac579cf715ccf10c5c3b98bb5684.json new file mode 100644 index 0000000000000000000000000000000000000000..9cc75b88554b6cb8fe2c80e4addec9f52e566500 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/97c8ac579cf715ccf10c5c3b98bb5684.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n listenOnChange();\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n }\n });\n });\n }\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Text, {\n children: item.image\n }), _jsx(Image, {\n source: {\n uri: 'https://reactnative.dev/img/tiny_logo.png'\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" bla\"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: 'https://reactnative.dev/img/tiny_logo.png'\n }\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","firebase","DATA","UserLists","navigation","route","users","setUsers","listenOnChange","snapchot","docChanges","forEach","change","type","message","data","itemData","name","Name","email","Email","image","Image","push","params","Item","item","onPress","backgroundColor","textColor","styles","uri","selectedId","setSelectedId","renderItem","id","color","OpenEditVorlesungsliste","navigate","EmptyListMessage","Alert","alert","container","tinyLogo","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState(null);\r\n\r\nlistenOnChange();\r\n\r\n/*useEffect(()=>{\r\n \r\nconst colRef = collection(db,\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n const {email, image, name} = doc.data();\r\n const itemData = {name: name, email: email, image: image}\r\n DATA.push(itemData);\r\n Alert.alert(name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])*/\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n //Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n <Text>\r\n {item.image} \r\n </Text>\r\n <Image\r\n source={{\r\n uri: 'https://reactnative.dev/img/tiny_logo.png',\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> bla</Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <Image\r\n style={styles.tinyLogo}\r\n source={{\r\n uri: 'https://reactnative.dev/img/tiny_logo.png',\r\n }}\r\n />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/98404eb5b03d2212220950edf0223d7c.json b/.expo/web/cache/development/babel-loader/98404eb5b03d2212220950edf0223d7c.json new file mode 100644 index 0000000000000000000000000000000000000000..077f0a7df48f3e67e277f458f40a5c7aa2ac51eb --- /dev/null +++ b/.expo/web/cache/development/babel-loader/98404eb5b03d2212220950edf0223d7c.json @@ -0,0 +1 @@ +{"ast":null,"code":"export var initialWindowMetrics = null;\nexport var initialWindowSafeAreaInsets = null;","map":{"version":3,"sources":["InitialWindow.ts"],"names":["initialWindowMetrics","initialWindowSafeAreaInsets"],"mappings":"AAEA,OAAO,IAAMA,oBAAoC,GAA1C,IAAA;AAKP,OAAO,IAAMC,2BAA8C,GAApD,IAAA","sourcesContent":["import { EdgeInsets, Metrics } from './SafeArea.types';\n\nexport const initialWindowMetrics: Metrics | null = null;\n\n/**\n * @deprecated\n */\nexport const initialWindowSafeAreaInsets: EdgeInsets | null = null;\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/98f84d4e10f9e090168271e8409b6cdf.json b/.expo/web/cache/development/babel-loader/98f84d4e10f9e090168271e8409b6cdf.json new file mode 100644 index 0000000000000000000000000000000000000000..d283dbf0fac8afd6e544275ec976b68f56c7c030 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/98f84d4e10f9e090168271e8409b6cdf.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n DATA = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(getFirestore(), \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var itemData = [{\n name: doc.data().Name,\n email: doc.data().Email,\n image: doc.data().Image\n }];\n setUsers(itemData);\n });\n });\n }, []);\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" \"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n },\n item: {\n width: 250,\n paddingTop: 20,\n paddingBottom: 20,\n paddingRight: 20,\n marginVertical: 8,\n marginHorizontal: 25,\n borderBottomColor: '#D9D9D9',\n borderBottomWidth: 2\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","UserLists","navigation","route","DATA","setUsers","colRef","querySnapshot","forEach","itemData","name","data","Name","email","Email","image","Image","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","selectedId","setSelectedId","renderItem","id","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","Alert","alert","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height","paddingTop","paddingBottom","paddingRight","marginVertical","borderBottomColor","borderBottomWidth"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\n//let DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [DATA, setUsers] = useState(null);\r\n\r\n//listenOnChange();\r\n//useeffect();\r\n\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(getFirestore(),\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = [{name: doc.data().Name, email: doc.data().Email, image: doc.data().Image}]\r\n //DATA.push(itemData);\r\n setUsers(itemData);\r\n // Alert.alert('useEffect',doc.data().Name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\n/*function useeffect(){\r\n getDocs(collection(getFirestore(),'Users')).forEach((doc) => {\r\n console.log(`${doc.id} => ${doc.data()}`);\r\n});\r\n}*/\r\n\r\n/*function listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n Alert.alert('listen on change',message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}*/\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> </Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n item: {\r\n width: 250,\r\n paddingTop: 20,\r\n paddingBottom: 20,\r\n paddingRight: 20,\r\n marginVertical: 8,\r\n marginHorizontal: 25,\r\n borderBottomColor: '#D9D9D9',\r\n borderBottomWidth: 2,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/98f990bd51796d7c7351526413c79557.json b/.expo/web/cache/development/babel-loader/98f990bd51796d7c7351526413c79557.json new file mode 100644 index 0000000000000000000000000000000000000000..e59312695b8f64ddcb0a9484954f0c993f19d819 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/98f990bd51796d7c7351526413c79557.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _construct from \"@babel/runtime/helpers/construct\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { isString } from '@react-native-firebase/app/lib/common';\nvar RESERVED = new RegExp('[~*/\\\\[\\\\]]');\n\nvar FirestoreFieldPath = function () {\n function FirestoreFieldPath() {\n _classCallCheck(this, FirestoreFieldPath);\n\n for (var _len = arguments.length, segments = new Array(_len), _key = 0; _key < _len; _key++) {\n segments[_key] = arguments[_key];\n }\n\n if (segments.length === 0) {\n throw new Error('firebase.firestore.FieldPath cannot construct FieldPath with no segments.');\n }\n\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n\n if (!isString(segment) || segment === '') {\n throw new Error(\"firebase.firestore.FieldPath invalid segment at index \" + i + \", expected a non-empty string.\");\n }\n }\n\n this._segments = segments;\n }\n\n _createClass(FirestoreFieldPath, [{\n key: \"isEqual\",\n value: function isEqual(other) {\n if (!(other instanceof FirestoreFieldPath)) {\n throw new Error(\"firebase.firestore.FieldPath.isEqual(*) 'other' expected instance of FieldPath.\");\n }\n\n return this._toPath() === other._toPath();\n }\n }, {\n key: \"_toPath\",\n value: function _toPath() {\n return this._segments.join('.');\n }\n }, {\n key: \"_toArray\",\n value: function _toArray() {\n return this._segments;\n }\n }], [{\n key: \"documentId\",\n value: function documentId() {\n return DOCUMENT_ID;\n }\n }]);\n\n return FirestoreFieldPath;\n}();\n\nexport { FirestoreFieldPath as default };\nexport var DOCUMENT_ID = new FirestoreFieldPath('__name__');\nexport function fromDotSeparatedString(path) {\n if (path === '' || path.startsWith('.') || path.endsWith('.') || path.indexOf('..') > 0) {\n throw new Error(\"Invalid field path. Paths must not be empty, begin with '.', end with '.', or contain '..'.\");\n }\n\n var found = path.search(RESERVED);\n\n if (found > 0) {\n throw new Error(\"Invalid field path (\" + path + \"). Paths must not contain '~', '*', '/', '[', or ']'.\");\n }\n\n return _construct(FirestoreFieldPath, _toConsumableArray(path.split('.')));\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/firestore/lib/FirestoreFieldPath.js"],"names":["isString","RESERVED","RegExp","FirestoreFieldPath","segments","length","Error","i","segment","_segments","other","_toPath","join","DOCUMENT_ID","fromDotSeparatedString","path","startsWith","endsWith","indexOf","found","search","split"],"mappings":";;;;AAiBA,SAASA,QAAT,QAAyB,uCAAzB;AAEA,IAAMC,QAAQ,GAAG,IAAIC,MAAJ,CAAW,aAAX,CAAjB;;IAEqBC,kB;AAKnB,gCAAyB;AAAA;;AAAA,sCAAVC,QAAU;AAAVA,MAAAA,QAAU;AAAA;;AACvB,QAAIA,QAAQ,CAACC,MAAT,KAAoB,CAAxB,EAA2B;AACzB,YAAM,IAAIC,KAAJ,CAAU,2EAAV,CAAN;AACD;;AAED,SAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,QAAQ,CAACC,MAA7B,EAAqCE,CAAC,EAAtC,EAA0C;AACxC,UAAMC,OAAO,GAAGJ,QAAQ,CAACG,CAAD,CAAxB;;AACA,UAAI,CAACP,QAAQ,CAACQ,OAAD,CAAT,IAAsBA,OAAO,KAAK,EAAtC,EAA0C;AACxC,cAAM,IAAIF,KAAJ,4DACqDC,CADrD,oCAAN;AAGD;AACF;;AAED,SAAKE,SAAL,GAAiBL,QAAjB;AACD;;;;WAED,iBAAQM,KAAR,EAAe;AACb,UAAI,EAAEA,KAAK,YAAYP,kBAAnB,CAAJ,EAA4C;AAC1C,cAAM,IAAIG,KAAJ,CACJ,iFADI,CAAN;AAGD;;AAED,aAAO,KAAKK,OAAL,OAAmBD,KAAK,CAACC,OAAN,EAA1B;AACD;;;WAED,mBAAU;AACR,aAAO,KAAKF,SAAL,CAAeG,IAAf,CAAoB,GAApB,CAAP;AACD;;;WAED,oBAAW;AACT,aAAO,KAAKH,SAAZ;AACD;;;WArCD,sBAAoB;AAClB,aAAOI,WAAP;AACD;;;;;;SAHkBV,kB;AAyCrB,OAAO,IAAMU,WAAW,GAAG,IAAIV,kBAAJ,CAAuB,UAAvB,CAApB;AAEP,OAAO,SAASW,sBAAT,CAAgCC,IAAhC,EAAsC;AAC3C,MAAIA,IAAI,KAAK,EAAT,IAAeA,IAAI,CAACC,UAAL,CAAgB,GAAhB,CAAf,IAAuCD,IAAI,CAACE,QAAL,CAAc,GAAd,CAAvC,IAA6DF,IAAI,CAACG,OAAL,CAAa,IAAb,IAAqB,CAAtF,EAAyF;AACvF,UAAM,IAAIZ,KAAJ,CACJ,6FADI,CAAN;AAGD;;AAED,MAAMa,KAAK,GAAGJ,IAAI,CAACK,MAAL,CAAYnB,QAAZ,CAAd;;AAEA,MAAIkB,KAAK,GAAG,CAAZ,EAAe;AACb,UAAM,IAAIb,KAAJ,0BACmBS,IADnB,2DAAN;AAGD;;AAED,oBAAWZ,kBAAX,qBAAiCY,IAAI,CAACM,KAAL,CAAW,GAAX,CAAjC;AACD","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { isString } from '@react-native-firebase/app/lib/common';\n\nconst RESERVED = new RegExp('[~*/\\\\[\\\\]]');\n\nexport default class FirestoreFieldPath {\n static documentId() {\n return DOCUMENT_ID;\n }\n\n constructor(...segments) {\n if (segments.length === 0) {\n throw new Error('firebase.firestore.FieldPath cannot construct FieldPath with no segments.');\n }\n\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n if (!isString(segment) || segment === '') {\n throw new Error(\n `firebase.firestore.FieldPath invalid segment at index ${i}, expected a non-empty string.`,\n );\n }\n }\n\n this._segments = segments;\n }\n\n isEqual(other) {\n if (!(other instanceof FirestoreFieldPath)) {\n throw new Error(\n \"firebase.firestore.FieldPath.isEqual(*) 'other' expected instance of FieldPath.\",\n );\n }\n\n return this._toPath() === other._toPath();\n }\n\n _toPath() {\n return this._segments.join('.');\n }\n\n _toArray() {\n return this._segments;\n }\n}\n\nexport const DOCUMENT_ID = new FirestoreFieldPath('__name__');\n\nexport function fromDotSeparatedString(path) {\n if (path === '' || path.startsWith('.') || path.endsWith('.') || path.indexOf('..') > 0) {\n throw new Error(\n \"Invalid field path. Paths must not be empty, begin with '.', end with '.', or contain '..'.\",\n );\n }\n\n const found = path.search(RESERVED);\n\n if (found > 0) {\n throw new Error(\n `Invalid field path (${path}). Paths must not contain '~', '*', '/', '[', or ']'.`,\n );\n }\n\n return new FirestoreFieldPath(...path.split('.'));\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/9900dd7c0ef218b3a391b084fd3e8160.json b/.expo/web/cache/development/babel-loader/9900dd7c0ef218b3a391b084fd3e8160.json new file mode 100644 index 0000000000000000000000000000000000000000..0d844e3f1643ddb292c5fb2ccc2d64006d1be029 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/9900dd7c0ef218b3a391b084fd3e8160.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"visible\", \"children\", \"style\"];\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nimport * as React from 'react';\nimport Platform from \"react-native-web/dist/exports/Platform\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport View from \"react-native-web/dist/exports/View\";\nvar FAR_FAR_AWAY = 30000;\nexport default function ResourceSavingScene(_ref) {\n var visible = _ref.visible,\n children = _ref.children,\n style = _ref.style,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n if (Platform.OS === 'web') {\n return React.createElement(View, _extends({\n hidden: !visible,\n style: [{\n display: visible ? 'flex' : 'none'\n }, styles.container, style],\n pointerEvents: visible ? 'auto' : 'none'\n }, rest), children);\n }\n\n return React.createElement(View, {\n style: [styles.container, style],\n pointerEvents: visible ? 'auto' : 'none'\n }, React.createElement(View, {\n collapsable: false,\n removeClippedSubviews: Platform.OS === 'ios' || Platform.OS === 'macos' ? !visible : true,\n pointerEvents: visible ? 'auto' : 'none',\n style: visible ? styles.attached : styles.detached\n }, children));\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n overflow: 'hidden'\n },\n attached: {\n flex: 1\n },\n detached: {\n flex: 1,\n top: FAR_FAR_AWAY\n }\n});","map":{"version":3,"sources":["ResourceSavingView.tsx"],"names":["FAR_FAR_AWAY","rest","Platform","display","visible","styles","detached","container","flex","overflow","attached","top"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAP,KAAA,MAAA,OAAA;;;;AASA,IAAMA,YAAY,GAAlB,KAAA;AAEA,eAAe,SAAA,mBAAA,CAAA,IAAA,EAKL;AALkC,MAAA,OAAA,GAKlC,IALkC,CAAA,OAAA;AAAA,MAAA,QAAA,GAKlC,IALkC,CAAA,QAAA;AAAA,MAAA,KAAA,GAKlC,IALkC,CAAA,KAAA;AAAA,MAIvCC,IAJuC,4BAKlC,IALkC;;AAM1C,MAAIC,QAAQ,CAARA,EAAAA,KAAJ,KAAA,EAA2B;AACzB,WACE,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,QAAA,CAAA;AAEE,MAAA,MAAM,EAAE,CAFV,OAAA;AAGE,MAAA,KAAK,EAAE,CACL;AAAEC,QAAAA,OAAO,EAAEC,OAAO,GAAA,MAAA,GAAY;AAA9B,OADK,EAELC,MAAM,CAFD,SAAA,EAHT,KAGS,CAHT;AAQE,MAAA,aAAa,EAAED,OAAO,GAAA,MAAA,GAAY;AARpC,KAAA,EAAA,IAAA,CAAA,EADF,QACE,CADF;AAeD;;AAED,SACE,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AACE,IAAA,KAAK,EAAE,CAACC,MAAM,CAAP,SAAA,EADT,KACS,CADT;AAGE,IAAA,aAAa,EAAED,OAAO,GAAA,MAAA,GAAY;AAHpC,GAAA,EAKE,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AACE,IAAA,WAAW,EADb,KAAA;AAEE,IAAA,qBAAqB,EAGnBF,QAAQ,CAARA,EAAAA,KAAAA,KAAAA,IAAyBA,QAAQ,CAARA,EAAAA,KAAzBA,OAAAA,GAAmD,CAAnDA,OAAAA,GALJ,IAAA;AAOE,IAAA,aAAa,EAAEE,OAAO,GAAA,MAAA,GAPxB,MAAA;AAQE,IAAA,KAAK,EAAEA,OAAO,GAAGC,MAAM,CAAT,QAAA,GAAqBA,MAAM,CAACC;AAR5C,GAAA,EANJ,QAMI,CALF,CADF;AAoBD;AAED,IAAMD,MAAM,GAAG,UAAU,CAAV,MAAA,CAAkB;AAC/BE,EAAAA,SAAS,EAAE;AACTC,IAAAA,IAAI,EADK,CAAA;AAETC,IAAAA,QAAQ,EAAE;AAFD,GADoB;AAK/BC,EAAAA,QAAQ,EAAE;AACRF,IAAAA,IAAI,EAAE;AADE,GALqB;AAQ/BF,EAAAA,QAAQ,EAAE;AACRE,IAAAA,IAAI,EADI,CAAA;AAERG,IAAAA,GAAG,EAAEX;AAFG;AARqB,CAAlB,CAAf","sourcesContent":["import * as React from 'react';\nimport { Platform, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\ntype Props = {\n visible: boolean;\n children: React.ReactNode;\n style?: StyleProp<ViewStyle>;\n};\n\nconst FAR_FAR_AWAY = 30000; // this should be big enough to move the whole view out of its container\n\nexport default function ResourceSavingScene({\n visible,\n children,\n style,\n ...rest\n}: Props) {\n if (Platform.OS === 'web') {\n return (\n <View\n // @ts-expect-error: hidden exists on web, but not in React Native\n hidden={!visible}\n style={[\n { display: visible ? 'flex' : 'none' },\n styles.container,\n style,\n ]}\n pointerEvents={visible ? 'auto' : 'none'}\n {...rest}\n >\n {children}\n </View>\n );\n }\n\n return (\n <View\n style={[styles.container, style]}\n // box-none doesn't seem to work properly on Android\n pointerEvents={visible ? 'auto' : 'none'}\n >\n <View\n collapsable={false}\n removeClippedSubviews={\n // On iOS & macOS, set removeClippedSubviews to true only when not focused\n // This is an workaround for a bug where the clipped view never re-appears\n Platform.OS === 'ios' || Platform.OS === 'macos' ? !visible : true\n }\n pointerEvents={visible ? 'auto' : 'none'}\n style={visible ? styles.attached : styles.detached}\n >\n {children}\n </View>\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n overflow: 'hidden',\n },\n attached: {\n flex: 1,\n },\n detached: {\n flex: 1,\n top: FAR_FAR_AWAY,\n },\n});\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/997be464cfe6e1b7e62c963c49a84111.json b/.expo/web/cache/development/babel-loader/997be464cfe6e1b7e62c963c49a84111.json new file mode 100644 index 0000000000000000000000000000000000000000..904d349014627990245bf424f84cfb2e60227372 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/997be464cfe6e1b7e62c963c49a84111.json @@ -0,0 +1 @@ +{"ast":null,"code":"export { default as FirebaseApp } from \"../FirebaseApp\";\nexport * from \"./constants\";\nexport { default as FirebaseModule } from \"./FirebaseModule\";\nexport { default as NativeFirebaseError } from \"./NativeFirebaseError\";\nexport * from \"./registry/app\";\nexport * from \"./registry/namespace\";\nexport * from \"./registry/nativeModule\";\nexport { default as SharedEventEmitter } from \"./SharedEventEmitter\";","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/app/lib/internal/index.js"],"names":["default","FirebaseApp","FirebaseModule","NativeFirebaseError","SharedEventEmitter"],"mappings":"AAiBA,SAASA,OAAO,IAAIC,WAApB;AACA;AACA,SAASD,OAAO,IAAIE,cAApB;AACA,SAASF,OAAO,IAAIG,mBAApB;AACA;AACA;AACA;AACA,SAASH,OAAO,IAAII,kBAApB","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nexport { default as FirebaseApp } from '../FirebaseApp';\nexport * from './constants';\nexport { default as FirebaseModule } from './FirebaseModule';\nexport { default as NativeFirebaseError } from './NativeFirebaseError';\nexport * from './registry/app';\nexport * from './registry/namespace';\nexport * from './registry/nativeModule';\nexport { default as SharedEventEmitter } from './SharedEventEmitter';\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/9a006e9f1d25ea8d3760daa6d1a75c52.json b/.expo/web/cache/development/babel-loader/9a006e9f1d25ea8d3760daa6d1a75c52.json new file mode 100644 index 0000000000000000000000000000000000000000..c85b0d912e26305573d4ba8f47054d21ad4eabc3 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/9a006e9f1d25ea8d3760daa6d1a75c52.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { initializeApp } from \"firebase/app\";\nimport { getAnalytics } from \"firebase/analytics\";\nimport { getFirestore, collection, getDocs } from 'firebase/firestore';\nvar firebaseConfig = {\n apiKey: \"AIzaSyCNhZTcHSLaIGjP-fzpPrqRTAiWZB9jLos\",\n authDomain: \"exercise-react-native-433ff.firebaseapp.com\",\n projectId: \"exercise-react-native-433ff\",\n storageBucket: \"exercise-react-native-433ff.appspot.com\",\n messagingSenderId: \"293211634805\",\n appId: \"1:293211634805:web:e02756294908e9734ecc3c\",\n measurementId: \"G-R25TM36Y33\"\n};\nvar app = initializeApp(firebaseConfig);\nexport default getFirestore(app);","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/Firebase.js"],"names":["initializeApp","getAnalytics","getFirestore","collection","getDocs","firebaseConfig","apiKey","authDomain","projectId","storageBucket","messagingSenderId","appId","measurementId","app"],"mappings":"AAAA,SAASA,aAAT,QAA8B,cAA9B;AACA,SAASC,YAAT,QAA6B,oBAA7B;AACA,SAASC,YAAT,EAAuBC,UAAvB,EAAmCC,OAAnC,QAAkD,oBAAlD;AAIA,IAAMC,cAAc,GAAG;AACnBC,EAAAA,MAAM,EAAE,yCADW;AAEnBC,EAAAA,UAAU,EAAE,6CAFO;AAGnBC,EAAAA,SAAS,EAAE,6BAHQ;AAInBC,EAAAA,aAAa,EAAE,yCAJI;AAKnBC,EAAAA,iBAAiB,EAAE,cALA;AAMnBC,EAAAA,KAAK,EAAE,2CANY;AAOnBC,EAAAA,aAAa,EAAE;AAPI,CAAvB;AAWE,IAAMC,GAAG,GAAGb,aAAa,CAACK,cAAD,CAAzB;AAYA,eAAeH,YAAY,CAACW,GAAD,CAA3B","sourcesContent":["import { initializeApp } from \"firebase/app\";\r\nimport { getAnalytics } from \"firebase/analytics\";\r\nimport { getFirestore, collection, getDocs } from 'firebase/firestore';\r\n\r\n\r\n\r\nconst firebaseConfig = {\r\n apiKey: \"AIzaSyCNhZTcHSLaIGjP-fzpPrqRTAiWZB9jLos\",\r\n authDomain: \"exercise-react-native-433ff.firebaseapp.com\",\r\n projectId: \"exercise-react-native-433ff\",\r\n storageBucket: \"exercise-react-native-433ff.appspot.com\",\r\n messagingSenderId: \"293211634805\",\r\n appId: \"1:293211634805:web:e02756294908e9734ecc3c\",\r\n measurementId: \"G-R25TM36Y33\"\r\n };\r\n \r\n // Initialize Firebase\r\n const app = initializeApp(firebaseConfig);\r\n //const analytics = getAnalytics(app);\r\n //const db = getFirestore(app);\r\n\r\n // Get a list of cities from your database\r\n/*async function getCities(db) {\r\n const citiesCol = collection(db, 'cities');\r\n const citySnapshot = await getDocs(citiesCol);\r\n const cityList = citySnapshot.docs.map(doc => doc.data());\r\n return cityList;\r\n }*/\r\n \r\n export default getFirestore(app);\r\n\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/9a22266ae3cdf3f30daf0d0a108d1da6.json b/.expo/web/cache/development/babel-loader/9a22266ae3cdf3f30daf0d0a108d1da6.json new file mode 100644 index 0000000000000000000000000000000000000000..a26ee8e08f4109590a6be188b9e5d7568a4183c1 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/9a22266ae3cdf3f30daf0d0a108d1da6.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nimport StyleSheet from \"./StyleSheet\";\n\nif (canUseDOM && window.__REACT_DEVTOOLS_GLOBAL_HOOK__) {\n window.__REACT_DEVTOOLS_GLOBAL_HOOK__.resolveRNStyle = StyleSheet.flatten;\n}\n\nexport default StyleSheet;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/StyleSheet/index.js"],"names":["canUseDOM","StyleSheet","window","__REACT_DEVTOOLS_GLOBAL_HOOK__","resolveRNStyle","flatten"],"mappings":"AAQA,SAASA,SAAT,QAA0B,+BAA1B;AACA,OAAOC,UAAP;;AAEA,IAAID,SAAS,IAAIE,MAAM,CAACC,8BAAxB,EAAwD;AACtDD,EAAAA,MAAM,CAACC,8BAAP,CAAsCC,cAAtC,GAAuDH,UAAU,CAACI,OAAlE;AACD;;AAED,eAAeJ,UAAf","sourcesContent":["/**\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 'fbjs/lib/ExecutionEnvironment';\nimport StyleSheet from './StyleSheet'; // allow original component styles to be inspected in React Dev Tools\n\nif (canUseDOM && window.__REACT_DEVTOOLS_GLOBAL_HOOK__) {\n window.__REACT_DEVTOOLS_GLOBAL_HOOK__.resolveRNStyle = StyleSheet.flatten;\n}\n\nexport default StyleSheet;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/9b2eb10f491b8a62848138dcd9b2ce9b.json b/.expo/web/cache/development/babel-loader/9b2eb10f491b8a62848138dcd9b2ce9b.json new file mode 100644 index 0000000000000000000000000000000000000000..d67b1ab935a67657d2350a697074c88a6f4930ea --- /dev/null +++ b/.expo/web/cache/development/babel-loader/9b2eb10f491b8a62848138dcd9b2ce9b.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport AnimatedValue from \"./AnimatedValue\";\nimport AnimatedWithChildren from \"./AnimatedWithChildren\";\nimport invariant from 'fbjs/lib/invariant';\nvar _uniqueId = 1;\n\nvar AnimatedValueXY = function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedValueXY, _AnimatedWithChildren);\n\n function AnimatedValueXY(valueIn) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n var value = valueIn || {\n x: 0,\n y: 0\n };\n\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\n _this._listeners = {};\n return _this;\n }\n\n var _proto = AnimatedValueXY.prototype;\n\n _proto.setValue = function setValue(value) {\n this.x.setValue(value.x);\n this.y.setValue(value.y);\n };\n\n _proto.setOffset = function setOffset(offset) {\n this.x.setOffset(offset.x);\n this.y.setOffset(offset.y);\n };\n\n _proto.flattenOffset = function flattenOffset() {\n this.x.flattenOffset();\n this.y.flattenOffset();\n };\n\n _proto.extractOffset = function extractOffset() {\n this.x.extractOffset();\n this.y.extractOffset();\n };\n\n _proto.__getValue = function __getValue() {\n return {\n x: this.x.__getValue(),\n y: this.y.__getValue()\n };\n };\n\n _proto.resetAnimation = function resetAnimation(callback) {\n this.x.resetAnimation();\n this.y.resetAnimation();\n callback && callback(this.__getValue());\n };\n\n _proto.stopAnimation = function stopAnimation(callback) {\n this.x.stopAnimation();\n this.y.stopAnimation();\n callback && callback(this.__getValue());\n };\n\n _proto.addListener = function addListener(callback) {\n var _this2 = this;\n\n var id = String(_uniqueId++);\n\n var jointCallback = function jointCallback(_ref) {\n var number = _ref.value;\n callback(_this2.__getValue());\n };\n\n this._listeners[id] = {\n x: this.x.addListener(jointCallback),\n y: this.y.addListener(jointCallback)\n };\n return id;\n };\n\n _proto.removeListener = function 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 _proto.removeAllListeners = function removeAllListeners() {\n this.x.removeAllListeners();\n this.y.removeAllListeners();\n this._listeners = {};\n };\n\n _proto.getLayout = function getLayout() {\n return {\n left: this.x,\n top: this.y\n };\n };\n\n _proto.getTranslateTransform = function getTranslateTransform() {\n return [{\n translateX: this.x\n }, {\n translateY: this.y\n }];\n };\n\n return AnimatedValueXY;\n}(AnimatedWithChildren);\n\nexport default AnimatedValueXY;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedValueXY.js"],"names":["_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","AnimatedValue","AnimatedWithChildren","invariant","_uniqueId","AnimatedValueXY","_AnimatedWithChildren","valueIn","_this","call","value","x","y","_listeners","_proto","setValue","setOffset","offset","flattenOffset","extractOffset","__getValue","resetAnimation","callback","stopAnimation","addListener","_this2","id","String","jointCallback","_ref","number","removeListener","removeAllListeners","getLayout","left","top","getTranslateTransform","translateX","translateY"],"mappings":"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","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport invariant from 'fbjs/lib/invariant';\nvar _uniqueId = 1;\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 */\n\nvar AnimatedValueXY = /*#__PURE__*/function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedValueXY, _AnimatedWithChildren);\n\n function AnimatedValueXY(valueIn) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n var value = valueIn || {\n x: 0,\n y: 0\n }; // fixme: shouldn't need `: any`\n\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\n _this._listeners = {};\n return _this;\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\n\n var _proto = AnimatedValueXY.prototype;\n\n _proto.setValue = function setValue(value) {\n this.x.setValue(value.x);\n this.y.setValue(value.y);\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 ;\n\n _proto.setOffset = function setOffset(offset) {\n this.x.setOffset(offset.x);\n this.y.setOffset(offset.y);\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 ;\n\n _proto.flattenOffset = function flattenOffset() {\n this.x.flattenOffset();\n this.y.flattenOffset();\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 ;\n\n _proto.extractOffset = function extractOffset() {\n this.x.extractOffset();\n this.y.extractOffset();\n };\n\n _proto.__getValue = function __getValue() {\n return {\n x: this.x.__getValue(),\n y: this.y.__getValue()\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 ;\n\n _proto.resetAnimation = function resetAnimation(callback) {\n this.x.resetAnimation();\n this.y.resetAnimation();\n callback && callback(this.__getValue());\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 ;\n\n _proto.stopAnimation = function stopAnimation(callback) {\n this.x.stopAnimation();\n this.y.stopAnimation();\n callback && callback(this.__getValue());\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 ;\n\n _proto.addListener = function addListener(callback) {\n var _this2 = this;\n\n var id = String(_uniqueId++);\n\n var jointCallback = function jointCallback(_ref) {\n var number = _ref.value;\n callback(_this2.__getValue());\n };\n\n this._listeners[id] = {\n x: this.x.addListener(jointCallback),\n y: this.y.addListener(jointCallback)\n };\n return id;\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 ;\n\n _proto.removeListener = function 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 * Remove all registered listeners.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#removealllisteners\n */\n ;\n\n _proto.removeAllListeners = function removeAllListeners() {\n this.x.removeAllListeners();\n this.y.removeAllListeners();\n this._listeners = {};\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 ;\n\n _proto.getLayout = function getLayout() {\n return {\n left: this.x,\n top: this.y\n };\n }\n /**\n * Converts `{x, y}` into a useable translation transform.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#gettranslatetransform\n */\n ;\n\n _proto.getTranslateTransform = function getTranslateTransform() {\n return [{\n translateX: this.x\n }, {\n translateY: this.y\n }];\n };\n\n return AnimatedValueXY;\n}(AnimatedWithChildren);\n\nexport default AnimatedValueXY;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/9b41d76b41b4c840e6367ca300c547a9.json b/.expo/web/cache/development/babel-loader/9b41d76b41b4c840e6367ca300c547a9.json new file mode 100644 index 0000000000000000000000000000000000000000..fa14e41f071e0143e5852602e8334a899a6a3e75 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/9b41d76b41b4c840e6367ca300c547a9.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { hasOwnProperty } from '@react-native-firebase/app/lib/common';\nvar MAP = {\n nan: 0,\n '-infinity': 1,\n infinity: 2,\n null: 3,\n documentid: 4,\n booleanTrue: 5,\n booleanFalse: 6,\n double: 7,\n string: 8,\n stringEmpty: 9,\n array: 10,\n reference: 11,\n geopoint: 12,\n timestamp: 13,\n blob: 14,\n fieldvalue: 15,\n object: 16,\n integer: 17,\n negativeZero: 18,\n unknown: -999\n};\nvar MAP_ENTRIES = Object.entries(MAP);\nexport function getTypeMapInt(type) {\n var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n if (hasOwnProperty(MAP, type)) {\n var array = [MAP[type]];\n\n if (value !== undefined) {\n array.push(value);\n }\n\n return array;\n }\n\n return null;\n}\nexport function getTypeMapName(value) {\n for (var i = 0; i < MAP_ENTRIES.length; i++) {\n var _MAP_ENTRIES$i = _slicedToArray(MAP_ENTRIES[i], 2),\n name = _MAP_ENTRIES$i[0],\n int = _MAP_ENTRIES$i[1];\n\n if (value === int) {\n return name;\n }\n }\n\n return null;\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/firestore/lib/utils/typemap.js"],"names":["hasOwnProperty","MAP","nan","infinity","null","documentid","booleanTrue","booleanFalse","double","string","stringEmpty","array","reference","geopoint","timestamp","blob","fieldvalue","object","integer","negativeZero","unknown","MAP_ENTRIES","Object","entries","getTypeMapInt","type","value","undefined","push","getTypeMapName","i","length","name","int"],"mappings":";AAiBA,SAASA,cAAT,QAA+B,uCAA/B;AAEA,IAAMC,GAAG,GAAG;AACVC,EAAAA,GAAG,EAAE,CADK;AAEV,eAAa,CAFH;AAGVC,EAAAA,QAAQ,EAAE,CAHA;AAIVC,EAAAA,IAAI,EAAE,CAJI;AAKVC,EAAAA,UAAU,EAAE,CALF;AAMVC,EAAAA,WAAW,EAAE,CANH;AAOVC,EAAAA,YAAY,EAAE,CAPJ;AAQVC,EAAAA,MAAM,EAAE,CARE;AASVC,EAAAA,MAAM,EAAE,CATE;AAUVC,EAAAA,WAAW,EAAE,CAVH;AAWVC,EAAAA,KAAK,EAAE,EAXG;AAYVC,EAAAA,SAAS,EAAE,EAZD;AAaVC,EAAAA,QAAQ,EAAE,EAbA;AAcVC,EAAAA,SAAS,EAAE,EAdD;AAeVC,EAAAA,IAAI,EAAE,EAfI;AAgBVC,EAAAA,UAAU,EAAE,EAhBF;AAiBVC,EAAAA,MAAM,EAAE,EAjBE;AAkBVC,EAAAA,OAAO,EAAE,EAlBC;AAmBVC,EAAAA,YAAY,EAAE,EAnBJ;AAoBVC,EAAAA,OAAO,EAAE,CAAC;AApBA,CAAZ;AAuBA,IAAMC,WAAW,GAAGC,MAAM,CAACC,OAAP,CAAetB,GAAf,CAApB;AAQA,OAAO,SAASuB,aAAT,CAAuBC,IAAvB,EAAgD;AAAA,MAAnBC,KAAmB,uEAAXC,SAAW;;AACrD,MAAI3B,cAAc,CAACC,GAAD,EAAMwB,IAAN,CAAlB,EAA+B;AAC7B,QAAMd,KAAK,GAAG,CAACV,GAAG,CAACwB,IAAD,CAAJ,CAAd;;AACA,QAAIC,KAAK,KAAKC,SAAd,EAAyB;AACvBhB,MAAAA,KAAK,CAACiB,IAAN,CAAWF,KAAX;AACD;;AACD,WAAOf,KAAP;AACD;;AAED,SAAO,IAAP;AACD;AAOD,OAAO,SAASkB,cAAT,CAAwBH,KAAxB,EAA+B;AACpC,OAAK,IAAII,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGT,WAAW,CAACU,MAAhC,EAAwCD,CAAC,EAAzC,EAA6C;AAC3C,wCAAoBT,WAAW,CAACS,CAAD,CAA/B;AAAA,QAAOE,IAAP;AAAA,QAAaC,GAAb;;AACA,QAAIP,KAAK,KAAKO,GAAd,EAAmB;AACjB,aAAOD,IAAP;AACD;AACF;;AAED,SAAO,IAAP;AACD","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { hasOwnProperty } from '@react-native-firebase/app/lib/common';\n\nconst MAP = {\n nan: 0,\n '-infinity': 1,\n infinity: 2,\n null: 3,\n documentid: 4, // to native only\n booleanTrue: 5,\n booleanFalse: 6,\n double: 7,\n string: 8,\n stringEmpty: 9,\n array: 10,\n reference: 11,\n geopoint: 12,\n timestamp: 13,\n blob: 14,\n fieldvalue: 15,\n object: 16,\n integer: 17,\n negativeZero: 18,\n unknown: -999,\n};\n\nconst MAP_ENTRIES = Object.entries(MAP);\n\n/**\n * Returns the array map with value for a given type\n * @param type\n * @param value\n * @returns {null|*[]}\n */\nexport function getTypeMapInt(type, value = undefined) {\n if (hasOwnProperty(MAP, type)) {\n const array = [MAP[type]];\n if (value !== undefined) {\n array.push(value);\n }\n return array;\n }\n\n return null;\n}\n\n/**\n * Returns the type of a given int value\n * @param value\n * @returns {null}\n */\nexport function getTypeMapName(value) {\n for (let i = 0; i < MAP_ENTRIES.length; i++) {\n const [name, int] = MAP_ENTRIES[i];\n if (value === int) {\n return name;\n }\n }\n\n return null;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/9b635c614660964c08085512773e530e.json b/.expo/web/cache/development/babel-loader/9b635c614660964c08085512773e530e.json new file mode 100644 index 0000000000000000000000000000000000000000..8cba89d26e2c2c8f1563548f36dca7af13f71f22 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/9b635c614660964c08085512773e530e.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _get from \"@babel/runtime/helpers/get\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nimport NativeEventEmitter from \"react-native-web/dist/exports/NativeEventEmitter\";\nimport NativeModules from \"react-native-web/dist/exports/NativeModules\";\nvar RNFBAppModule = NativeModules.RNFBAppModule;\n\nvar RNFBNativeEventEmitter = function (_NativeEventEmitter) {\n _inherits(RNFBNativeEventEmitter, _NativeEventEmitter);\n\n var _super = _createSuper(RNFBNativeEventEmitter);\n\n function RNFBNativeEventEmitter() {\n var _this;\n\n _classCallCheck(this, RNFBNativeEventEmitter);\n\n _this = _super.call(this, RNFBAppModule);\n _this.ready = false;\n return _this;\n }\n\n _createClass(RNFBNativeEventEmitter, [{\n key: \"addListener\",\n value: function addListener(eventType, listener, context) {\n var _this2 = this;\n\n if (!this.ready) {\n RNFBAppModule.eventsNotifyReady(true);\n this.ready = true;\n }\n\n RNFBAppModule.eventsAddListener(eventType);\n\n var subscription = _get(_getPrototypeOf(RNFBNativeEventEmitter.prototype), \"addListener\", this).call(this, \"rnfb_\" + eventType, listener, context);\n\n subscription.eventType = \"rnfb_\" + eventType;\n var originalRemove = subscription.remove;\n\n var newRemove = function newRemove() {\n RNFBAppModule.eventsRemoveListener(eventType, false);\n\n if (_get(_getPrototypeOf(RNFBNativeEventEmitter.prototype), \"removeSubscription\", _this2) != null) {\n _get(_getPrototypeOf(RNFBNativeEventEmitter.prototype), \"removeSubscription\", _this2).call(_this2, subscription);\n } else if (originalRemove != null) {\n originalRemove();\n }\n };\n\n subscription.remove = newRemove;\n return subscription;\n }\n }, {\n key: \"removeAllListeners\",\n value: function removeAllListeners(eventType) {\n RNFBAppModule.eventsRemoveListener(eventType, true);\n\n _get(_getPrototypeOf(RNFBNativeEventEmitter.prototype), \"removeAllListeners\", this).call(this, \"rnfb_\" + eventType);\n }\n }, {\n key: \"removeSubscription\",\n value: function removeSubscription(subscription) {\n RNFBAppModule.eventsRemoveListener(subscription.eventType.replace('rnfb_'), false);\n\n if (_get(_getPrototypeOf(RNFBNativeEventEmitter.prototype), \"removeSubscription\", this)) {\n _get(_getPrototypeOf(RNFBNativeEventEmitter.prototype), \"removeSubscription\", this).call(this, subscription);\n }\n }\n }]);\n\n return RNFBNativeEventEmitter;\n}(NativeEventEmitter);\n\nexport default new RNFBNativeEventEmitter();","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/app/lib/internal/RNFBNativeEventEmitter.js"],"names":["RNFBAppModule","NativeModules","RNFBNativeEventEmitter","ready","eventType","listener","context","eventsNotifyReady","eventsAddListener","subscription","originalRemove","remove","newRemove","eventsRemoveListener","replace","NativeEventEmitter"],"mappings":";;;;;;;;;;;;;AAmBA,IAAQA,aAAR,GAA0BC,aAA1B,CAAQD,aAAR;;IAEME,sB;;;;;AACJ,oCAAc;AAAA;;AAAA;;AACZ,8BAAMF,aAAN;AACA,UAAKG,KAAL,GAAa,KAAb;AAFY;AAGb;;;;WAED,qBAAYC,SAAZ,EAAuBC,QAAvB,EAAiCC,OAAjC,EAA0C;AAAA;;AACxC,UAAI,CAAC,KAAKH,KAAV,EAAiB;AACfH,QAAAA,aAAa,CAACO,iBAAd,CAAgC,IAAhC;AACA,aAAKJ,KAAL,GAAa,IAAb;AACD;;AACDH,MAAAA,aAAa,CAACQ,iBAAd,CAAgCJ,SAAhC;;AAEA,UAAIK,YAAY,qGAA6BL,SAA7B,EAA0CC,QAA1C,EAAoDC,OAApD,CAAhB;;AAOAG,MAAAA,YAAY,CAACL,SAAb,aAAiCA,SAAjC;AAIA,UAAIM,cAAc,GAAGD,YAAY,CAACE,MAAlC;;AACA,UAAIC,SAAS,GAAG,SAAZA,SAAY,GAAM;AACpBZ,QAAAA,aAAa,CAACa,oBAAd,CAAmCT,SAAnC,EAA8C,KAA9C;;AACA,YAAI,yFAA4B,IAAhC,EAAsC;AAEpC,6GAAyBK,YAAzB;AACD,SAHD,MAGO,IAAIC,cAAc,IAAI,IAAtB,EAA4B;AAEjCA,UAAAA,cAAc;AACf;AACF,OATD;;AAUAD,MAAAA,YAAY,CAACE,MAAb,GAAsBC,SAAtB;AACA,aAAOH,YAAP;AACD;;;WAED,4BAAmBL,SAAnB,EAA8B;AAC5BJ,MAAAA,aAAa,CAACa,oBAAd,CAAmCT,SAAnC,EAA8C,IAA9C;;AACA,+GAAiCA,SAAjC;AACD;;;WAGD,4BAAmBK,YAAnB,EAAiC;AAC/BT,MAAAA,aAAa,CAACa,oBAAd,CAAmCJ,YAAY,CAACL,SAAb,CAAuBU,OAAvB,CAA+B,OAA/B,CAAnC,EAA4E,KAA5E;;AACA,+FAA8B;AAC5B,uGAAyBL,YAAzB;AACD;AACF;;;;EAlDkCM,kB;;AAqDrC,eAAe,IAAIb,sBAAJ,EAAf","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { NativeEventEmitter, NativeModules } from 'react-native';\n\nconst { RNFBAppModule } = NativeModules;\n\nclass RNFBNativeEventEmitter extends NativeEventEmitter {\n constructor() {\n super(RNFBAppModule);\n this.ready = false;\n }\n\n addListener(eventType, listener, context) {\n if (!this.ready) {\n RNFBAppModule.eventsNotifyReady(true);\n this.ready = true;\n }\n RNFBAppModule.eventsAddListener(eventType);\n\n let subscription = super.addListener(`rnfb_${eventType}`, listener, context);\n\n // React Native 0.65+ altered EventEmitter:\n // - removeSubscription is gone\n // - addListener returns an unsubscriber instead of a more complex object with eventType etc\n\n // make sure eventType for backwards compatibility just in case\n subscription.eventType = `rnfb_${eventType}`;\n\n // New style is to return a remove function on the object, just in csae people call that,\n // we will modify it to do our native unsubscription then call the original\n let originalRemove = subscription.remove;\n let newRemove = () => {\n RNFBAppModule.eventsRemoveListener(eventType, false);\n if (super.removeSubscription != null) {\n // This is for RN <= 0.64 - 65 and greater no longer have removeSubscription\n super.removeSubscription(subscription);\n } else if (originalRemove != null) {\n // This is for RN >= 0.65\n originalRemove();\n }\n };\n subscription.remove = newRemove;\n return subscription;\n }\n\n removeAllListeners(eventType) {\n RNFBAppModule.eventsRemoveListener(eventType, true);\n super.removeAllListeners(`rnfb_${eventType}`);\n }\n\n // This is likely no longer ever called, but it is here for backwards compatibility with RN <= 0.64\n removeSubscription(subscription) {\n RNFBAppModule.eventsRemoveListener(subscription.eventType.replace('rnfb_'), false);\n if (super.removeSubscription) {\n super.removeSubscription(subscription);\n }\n }\n}\n\nexport default new RNFBNativeEventEmitter();\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/9b7ffac47c7b1bf3ef11a28c2bfc6a3f.json b/.expo/web/cache/development/babel-loader/9b7ffac47c7b1bf3ef11a28c2bfc6a3f.json new file mode 100644 index 0000000000000000000000000000000000000000..6072e5ab45e3a1187de01994d4967ad59e9b908a --- /dev/null +++ b/.expo/web/cache/development/babel-loader/9b7ffac47c7b1bf3ef11a28c2bfc6a3f.json @@ -0,0 +1 @@ +{"ast":null,"code":"function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nimport UIManager from \"../../exports/UIManager\";\nimport createDOMProps from \"../createDOMProps\";\nimport useStable from \"../useStable\";\nimport { useRef } from 'react';\nvar emptyObject = {};\n\nfunction setNativeProps(node, nativeProps, classList, pointerEvents, style, previousStyleRef) {\n if (node != null && nativeProps) {\n var domProps = createDOMProps(null, _objectSpread(_objectSpread({\n pointerEvents: pointerEvents\n }, nativeProps), {}, {\n classList: [classList, nativeProps.className],\n style: [style, nativeProps.style]\n }));\n var nextDomStyle = domProps.style;\n\n if (previousStyleRef.current != null) {\n if (domProps.style == null) {\n domProps.style = {};\n }\n\n for (var styleName in previousStyleRef.current) {\n if (domProps.style[styleName] == null) {\n domProps.style[styleName] = '';\n }\n }\n }\n\n previousStyleRef.current = nextDomStyle;\n UIManager.updateView(node, domProps);\n }\n}\n\nexport default function usePlatformMethods(_ref) {\n var classList = _ref.classList,\n pointerEvents = _ref.pointerEvents,\n style = _ref.style;\n var previousStyleRef = useRef(null);\n var setNativePropsArgsRef = useRef(null);\n setNativePropsArgsRef.current = {\n classList: classList,\n pointerEvents: pointerEvents,\n style: style\n };\n var ref = useStable(function () {\n return function (hostNode) {\n if (hostNode != null) {\n hostNode.measure = function (callback) {\n return UIManager.measure(hostNode, callback);\n };\n\n hostNode.measureLayout = function (relativeToNode, success, failure) {\n return UIManager.measureLayout(hostNode, relativeToNode, failure, success);\n };\n\n hostNode.measureInWindow = function (callback) {\n return UIManager.measureInWindow(hostNode, callback);\n };\n\n hostNode.setNativeProps = function (nativeProps) {\n var _ref2 = setNativePropsArgsRef.current || emptyObject,\n classList = _ref2.classList,\n style = _ref2.style,\n pointerEvents = _ref2.pointerEvents;\n\n setNativeProps(hostNode, nativeProps, classList, pointerEvents, style, previousStyleRef);\n };\n }\n };\n });\n return ref;\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/usePlatformMethods/index.js"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","UIManager","createDOMProps","useStable","useRef","emptyObject","setNativeProps","node","nativeProps","classList","pointerEvents","style","previousStyleRef","domProps","className","nextDomStyle","current","styleName","updateView","usePlatformMethods","_ref","setNativePropsArgsRef","ref","hostNode","measure","callback","measureLayout","relativeToNode","success","failure","measureInWindow","_ref2"],"mappings":"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","sourcesContent":["function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\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 */\nimport UIManager from '../../exports/UIManager';\nimport createDOMProps from '../createDOMProps';\nimport useStable from '../useStable';\nimport { useRef } from 'react';\nvar emptyObject = {};\n\nfunction setNativeProps(node, nativeProps, classList, pointerEvents, style, previousStyleRef) {\n if (node != null && nativeProps) {\n var domProps = createDOMProps(null, _objectSpread(_objectSpread({\n pointerEvents: pointerEvents\n }, nativeProps), {}, {\n classList: [classList, nativeProps.className],\n style: [style, nativeProps.style]\n }));\n var nextDomStyle = domProps.style;\n\n if (previousStyleRef.current != null) {\n if (domProps.style == null) {\n domProps.style = {};\n }\n\n for (var styleName in previousStyleRef.current) {\n if (domProps.style[styleName] == null) {\n domProps.style[styleName] = '';\n }\n }\n }\n\n previousStyleRef.current = nextDomStyle;\n UIManager.updateView(node, domProps);\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 */\n\n\nexport default function usePlatformMethods(_ref) {\n var classList = _ref.classList,\n pointerEvents = _ref.pointerEvents,\n style = _ref.style;\n var previousStyleRef = useRef(null);\n var setNativePropsArgsRef = useRef(null);\n setNativePropsArgsRef.current = {\n classList: classList,\n pointerEvents: pointerEvents,\n style: style\n }; // Avoid creating a new ref on every render. The props only need to be\n // available to 'setNativeProps' when it is called.\n\n var ref = useStable(function () {\n return function (hostNode) {\n if (hostNode != null) {\n hostNode.measure = function (callback) {\n return UIManager.measure(hostNode, callback);\n };\n\n hostNode.measureLayout = function (relativeToNode, success, failure) {\n return UIManager.measureLayout(hostNode, relativeToNode, failure, success);\n };\n\n hostNode.measureInWindow = function (callback) {\n return UIManager.measureInWindow(hostNode, callback);\n };\n\n hostNode.setNativeProps = function (nativeProps) {\n var _ref2 = setNativePropsArgsRef.current || emptyObject,\n classList = _ref2.classList,\n style = _ref2.style,\n pointerEvents = _ref2.pointerEvents;\n\n setNativeProps(hostNode, nativeProps, classList, pointerEvents, style, previousStyleRef);\n };\n }\n };\n });\n return ref;\n}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/9bcbf05c6f2746d11ca5a0175cbaa354.json b/.expo/web/cache/development/babel-loader/9bcbf05c6f2746d11ca5a0175cbaa354.json new file mode 100644 index 0000000000000000000000000000000000000000..1372a7c4e64fd37e8016c363f4122be0c71eefb2 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/9bcbf05c6f2746d11ca5a0175cbaa354.json @@ -0,0 +1 @@ +{"ast":null,"code":"function _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\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 }\n\n it = o[Symbol.iterator]();\n return it.next.bind(it);\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport Batchinator from \"../Batchinator\";\nimport FillRateHelper from \"../FillRateHelper\";\nimport PropTypes from 'prop-types';\nimport * as React from 'react';\nimport RefreshControl from \"../../../exports/RefreshControl\";\nimport ScrollView from \"../../../exports/ScrollView\";\nimport StyleSheet from \"../../../exports/StyleSheet\";\nimport UIManager from \"../../../exports/UIManager\";\nimport View from \"../../../exports/View\";\nimport ViewabilityHelper from \"../ViewabilityHelper\";\nimport findNodeHandle from \"../../../exports/findNodeHandle\";\nvar flattenStyle = StyleSheet.flatten;\nimport infoLog from \"../infoLog\";\nimport invariant from 'fbjs/lib/invariant';\nimport warning from 'fbjs/lib/warning';\nimport { computeWindowedRenderLimits } from \"../VirtualizeUtils\";\nimport { VirtualizedListCellContextProvider, VirtualizedListContext, VirtualizedListContextProvider } from \"./VirtualizedListContext.js\";\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar _usedIndexForKey = false;\nvar _keylessItemComponentName = '';\n\nvar VirtualizedList = function (_React$PureComponent) {\n _inheritsLoose(VirtualizedList, _React$PureComponent);\n\n var _proto = VirtualizedList.prototype;\n\n _proto.scrollToEnd = function scrollToEnd(params) {\n var animated = params ? params.animated : true;\n var veryLast = this.props.getItemCount(this.props.data) - 1;\n\n var frame = this._getFrameMetricsApprox(veryLast);\n\n var offset = Math.max(0, frame.offset + frame.length + this._footerLength - this._scrollMetrics.visibleLength);\n\n if (this._scrollRef == null) {\n return;\n }\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\n this._scrollRef.scrollTo(this.props.horizontal ? {\n x: offset,\n animated: animated\n } : {\n y: offset,\n animated: animated\n });\n };\n\n _proto.scrollToIndex = function 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\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: index\n });\n return;\n }\n\n var frame = this._getFrameMetricsApprox(index);\n\n var offset = Math.max(0, frame.offset - (viewPosition || 0) * (this._scrollMetrics.visibleLength - frame.length)) - (viewOffset || 0);\n\n if (this._scrollRef == null) {\n return;\n }\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\n this._scrollRef.scrollTo(horizontal ? {\n x: offset,\n animated: animated\n } : {\n y: offset,\n animated: animated\n });\n };\n\n _proto.scrollToItem = function 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\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 _proto.scrollToOffset = function scrollToOffset(params) {\n var animated = params.animated,\n offset = params.offset;\n\n if (this._scrollRef == null) {\n return;\n }\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\n this._scrollRef.scrollTo(this.props.horizontal ? {\n x: offset,\n animated: animated\n } : {\n y: offset,\n animated: animated\n });\n };\n\n _proto.recordInteraction = function recordInteraction() {\n this._nestedChildLists.forEach(function (childList) {\n childList.ref && childList.ref.recordInteraction();\n });\n\n this._viewabilityTuples.forEach(function (t) {\n t.viewabilityHelper.recordInteraction();\n });\n\n this._updateViewableItems(this.props.data);\n };\n\n _proto.flashScrollIndicators = function flashScrollIndicators() {\n if (this._scrollRef == null) {\n return;\n }\n\n this._scrollRef.flashScrollIndicators();\n };\n\n _proto.getScrollResponder = function getScrollResponder() {\n if (this._scrollRef && this._scrollRef.getScrollResponder) {\n return this._scrollRef.getScrollResponder();\n }\n };\n\n _proto.getScrollableNode = function getScrollableNode() {\n if (this._scrollRef && this._scrollRef.getScrollableNode) {\n return this._scrollRef.getScrollableNode();\n } else {\n return findNodeHandle(this._scrollRef);\n }\n };\n\n _proto.getScrollRef = function getScrollRef() {\n if (this._scrollRef && this._scrollRef.getScrollRef) {\n return this._scrollRef.getScrollRef();\n } else {\n return this._scrollRef;\n }\n };\n\n _proto.setNativeProps = function setNativeProps(props) {\n if (this._scrollRef) {\n this._scrollRef.setNativeProps(props);\n }\n };\n\n _proto._getCellKey = function _getCellKey() {\n var _this$context;\n\n return ((_this$context = this.context) == null ? void 0 : _this$context.cellKey) || 'rootList';\n };\n\n _proto._getListKey = function _getListKey() {\n return this.props.listKey || this._getCellKey();\n };\n\n _proto._getDebugInfo = function _getDebugInfo() {\n var _this$context2;\n\n return {\n listKey: this._getListKey(),\n cellKey: this._getCellKey(),\n horizontal: !!this.props.horizontal,\n parent: (_this$context2 = this.context) == null ? void 0 : _this$context2.debugInfo\n };\n };\n\n _proto.hasMore = function hasMore() {\n return this._hasMore;\n };\n\n function VirtualizedList(_props) {\n var _this;\n\n _this = _React$PureComponent.call(this, _props) || this;\n\n _this._getScrollMetrics = function () {\n return _this._scrollMetrics;\n };\n\n _this._getOutermostParentListRef = function () {\n if (_this._isNestedWithSameOrientation()) {\n return _this.context.getOutermostParentListRef();\n } else {\n return _assertThisInitialized(_this);\n }\n };\n\n _this._getNestedChildState = function (key) {\n var existingChildData = _this._nestedChildLists.get(key);\n\n return existingChildData && existingChildData.state;\n };\n\n _this._registerAsNestedChild = function (childList) {\n var childListsInCell = _this._cellKeysToChildListKeys.get(childList.cellKey) || new Set();\n childListsInCell.add(childList.key);\n\n _this._cellKeysToChildListKeys.set(childList.cellKey, childListsInCell);\n\n var existingChildData = _this._nestedChildLists.get(childList.key);\n\n if (existingChildData && existingChildData.ref !== null) {\n console.error('A VirtualizedList contains a cell which itself contains ' + 'more than one VirtualizedList of the same orientation as the parent ' + 'list. You must pass a unique listKey prop to each sibling list.\\n\\n' + describeNestedLists(_objectSpread(_objectSpread({}, childList), {}, {\n horizontal: !!childList.ref.props.horizontal\n })));\n }\n\n _this._nestedChildLists.set(childList.key, {\n ref: childList.ref,\n state: null\n });\n\n if (_this._hasInteracted) {\n childList.ref.recordInteraction();\n }\n };\n\n _this._unregisterAsNestedChild = function (childList) {\n _this._nestedChildLists.set(childList.key, {\n ref: null,\n state: childList.state\n });\n };\n\n _this._onUpdateSeparators = function (keys, newProps) {\n keys.forEach(function (key) {\n var ref = key != null && _this._cellRefs[key];\n ref && ref.updateSeparatorProps(newProps);\n });\n };\n\n _this._averageCellLength = 0;\n _this._cellKeysToChildListKeys = new Map();\n _this._cellRefs = {};\n _this._frames = {};\n _this._footerLength = 0;\n _this._hasDoneInitialScroll = 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._nestedChildLists = new Map();\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 };\n _this._scrollRef = null;\n _this._sentEndForContentLength = 0;\n _this._totalCellLength = 0;\n _this._totalCellsMeasured = 0;\n _this._viewabilityTuples = [];\n\n _this._captureScrollRef = function (ref) {\n _this._scrollRef = ref;\n };\n\n _this._defaultRenderScrollComponent = function (props) {\n var onRefresh = props.onRefresh;\n\n if (_this._isNestedWithSameOrientation()) {\n return React.createElement(View, props);\n } else if (onRefresh) {\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) + '`');\n return React.createElement(ScrollView, _extends({}, props, {\n refreshControl: props.refreshControl == null ? React.createElement(RefreshControl, {\n refreshing: props.refreshing,\n onRefresh: onRefresh,\n progressViewOffset: props.progressViewOffset\n }) : props.refreshControl\n }));\n } else {\n return React.createElement(ScrollView, props);\n }\n };\n\n _this._onCellUnmount = function (cellKey) {\n var curr = _this._frames[cellKey];\n\n if (curr) {\n _this._frames[cellKey] = _objectSpread(_objectSpread({}, curr), {}, {\n inLayout: false\n });\n }\n };\n\n _this._onLayout = function (e) {\n if (_this._isNestedWithSameOrientation()) {\n _this.measureLayoutRelativeToContainingList();\n } else {\n _this._scrollMetrics.visibleLength = _this._selectLength(e.nativeEvent.layout);\n }\n\n _this.props.onLayout && _this.props.onLayout(e);\n\n _this._scheduleCellsToRenderUpdate();\n\n _this._maybeCallOnEndReached();\n };\n\n _this._onLayoutEmpty = function (e) {\n _this.props.onLayout && _this.props.onLayout(e);\n };\n\n _this._onLayoutFooter = function (e) {\n _this._triggerRemeasureForChildListsInCell(_this._getFooterCellKey());\n\n _this._footerLength = _this._selectLength(e.nativeEvent.layout);\n };\n\n _this._onLayoutHeader = function (e) {\n _this._headerLength = _this._selectLength(e.nativeEvent.layout);\n };\n\n _this._onContentSizeChange = function (width, height) {\n if (width > 0 && height > 0 && _this.props.initialScrollIndex != null && _this.props.initialScrollIndex > 0 && !_this._hasDoneInitialScroll) {\n _this._hasDoneInitialScroll = true;\n }\n\n if (_this.props.onContentSizeChange) {\n _this.props.onContentSizeChange(width, height);\n }\n\n _this._scrollMetrics.contentLength = _this._selectLength({\n height: height,\n width: width\n });\n\n _this._scheduleCellsToRenderUpdate();\n\n _this._maybeCallOnEndReached();\n };\n\n _this._convertParentScrollMetrics = function (metrics) {\n var offset = metrics.offset - _this._offsetFromParentVirtualizedList;\n var visibleLength = metrics.visibleLength;\n var dOffset = offset - _this._scrollMetrics.offset;\n var contentLength = _this._scrollMetrics.contentLength;\n return {\n visibleLength: visibleLength,\n contentLength: contentLength,\n offset: offset,\n dOffset: dOffset\n };\n };\n\n _this._onScroll = function (e) {\n _this._nestedChildLists.forEach(function (childList) {\n childList.ref && childList.ref._onScroll(e);\n });\n\n if (_this.props.onScroll) {\n _this.props.onScroll(e);\n }\n\n var timestamp = e.timeStamp;\n\n var visibleLength = _this._selectLength(e.nativeEvent.layoutMeasurement);\n\n var contentLength = _this._selectLength(e.nativeEvent.contentSize);\n\n var offset = _this._selectOffset(e.nativeEvent.contentOffset);\n\n var dOffset = offset - _this._scrollMetrics.offset;\n\n if (_this._isNestedWithSameOrientation()) {\n if (_this._scrollMetrics.contentLength === 0) {\n return;\n }\n\n var _this$_convertParentS = _this._convertParentScrollMetrics({\n visibleLength: visibleLength,\n offset: offset\n });\n\n visibleLength = _this$_convertParentS.visibleLength;\n contentLength = _this$_convertParentS.contentLength;\n offset = _this$_convertParentS.offset;\n dOffset = _this$_convertParentS.dOffset;\n }\n\n var dt = _this._scrollMetrics.timestamp ? Math.max(1, timestamp - _this._scrollMetrics.timestamp) : 1;\n var velocity = dOffset / dt;\n\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: dt,\n prevDt: _this._scrollMetrics.dt,\n contentLength: contentLength\n });\n _this._hasWarned.perf = true;\n }\n\n _this._scrollMetrics = {\n contentLength: contentLength,\n dt: dt,\n dOffset: dOffset,\n offset: offset,\n timestamp: timestamp,\n velocity: velocity,\n visibleLength: visibleLength\n };\n\n _this._updateViewableItems(_this.props.data);\n\n if (!_this.props) {\n return;\n }\n\n _this._maybeCallOnEndReached();\n\n if (velocity !== 0) {\n _this._fillRateHelper.activate();\n }\n\n _this._computeBlankness();\n\n _this._scheduleCellsToRenderUpdate();\n };\n\n _this._onScrollBeginDrag = function (e) {\n _this._nestedChildLists.forEach(function (childList) {\n childList.ref && childList.ref._onScrollBeginDrag(e);\n });\n\n _this._viewabilityTuples.forEach(function (tuple) {\n tuple.viewabilityHelper.recordInteraction();\n });\n\n _this._hasInteracted = true;\n _this.props.onScrollBeginDrag && _this.props.onScrollBeginDrag(e);\n };\n\n _this._onScrollEndDrag = function (e) {\n _this._nestedChildLists.forEach(function (childList) {\n childList.ref && childList.ref._onScrollEndDrag(e);\n });\n\n var velocity = e.nativeEvent.velocity;\n\n if (velocity) {\n _this._scrollMetrics.velocity = _this._selectOffset(velocity);\n }\n\n _this._computeBlankness();\n\n _this.props.onScrollEndDrag && _this.props.onScrollEndDrag(e);\n };\n\n _this._onMomentumScrollBegin = function (e) {\n _this._nestedChildLists.forEach(function (childList) {\n childList.ref && childList.ref._onMomentumScrollBegin(e);\n });\n\n _this.props.onMomentumScrollBegin && _this.props.onMomentumScrollBegin(e);\n };\n\n _this._onMomentumScrollEnd = function (e) {\n _this._nestedChildLists.forEach(function (childList) {\n childList.ref && childList.ref._onMomentumScrollEnd(e);\n });\n\n _this._scrollMetrics.velocity = 0;\n\n _this._computeBlankness();\n\n _this.props.onMomentumScrollEnd && _this.props.onMomentumScrollEnd(e);\n };\n\n _this._updateCellsToRender = function () {\n var _this$props3 = _this.props,\n data = _this$props3.data,\n getItemCount = _this$props3.getItemCount,\n onEndReachedThreshold = _this$props3.onEndReachedThreshold;\n\n var isVirtualizationDisabled = _this._isVirtualizationDisabled();\n\n _this._updateViewableItems(data);\n\n if (!data) {\n return;\n }\n\n _this.setState(function (state) {\n var newState;\n var _this$_scrollMetrics = _this._scrollMetrics,\n contentLength = _this$_scrollMetrics.contentLength,\n offset = _this$_scrollMetrics.offset,\n visibleLength = _this$_scrollMetrics.visibleLength;\n\n if (!isVirtualizationDisabled) {\n if (visibleLength > 0 && contentLength > 0) {\n if (!_this.props.initialScrollIndex || _this._scrollMetrics.offset) {\n newState = computeWindowedRenderLimits(_this.props, state, _this._getFrameMetricsApprox, _this._scrollMetrics);\n }\n }\n } else {\n var distanceFromEnd = contentLength - visibleLength - offset;\n var renderAhead = distanceFromEnd < onEndReachedThreshold * visibleLength ? _this.props.maxToRenderPerBatch : 0;\n newState = {\n first: 0,\n last: Math.min(state.last + renderAhead, getItemCount(data) - 1)\n };\n }\n\n if (newState && _this._nestedChildLists.size > 0) {\n var newFirst = newState.first;\n var newLast = newState.last;\n\n for (var ii = newFirst; ii <= newLast; ii++) {\n var cellKeyForIndex = _this._indicesToKeys.get(ii);\n\n var childListKeys = cellKeyForIndex && _this._cellKeysToChildListKeys.get(cellKeyForIndex);\n\n if (!childListKeys) {\n continue;\n }\n\n var someChildHasMore = false;\n\n for (var _iterator = _createForOfIteratorHelperLoose(childListKeys), _step; !(_step = _iterator()).done;) {\n var childKey = _step.value;\n\n var childList = _this._nestedChildLists.get(childKey);\n\n if (childList && childList.ref && childList.ref.hasMore()) {\n someChildHasMore = true;\n break;\n }\n }\n\n if (someChildHasMore && newState) {\n newState.last = ii;\n break;\n }\n }\n }\n\n if (newState != null && newState.first === state.first && newState.last === state.last) {\n newState = null;\n }\n\n return newState;\n });\n };\n\n _this._createViewToken = function (index, isViewable) {\n var _this$props4 = _this.props,\n data = _this$props4.data,\n getItem = _this$props4.getItem,\n keyExtractor = _this$props4.keyExtractor;\n var item = getItem(data, index);\n return {\n index: index,\n item: item,\n key: keyExtractor(item, index),\n isViewable: isViewable\n };\n };\n\n _this._getFrameMetricsApprox = function (index) {\n var frame = _this._getFrameMetrics(index);\n\n if (frame && frame.index === index) {\n return frame;\n } else {\n var getItemLayout = _this.props.getItemLayout;\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\n _this._getFrameMetrics = function (index) {\n var _this$props5 = _this.props,\n data = _this$props5.data,\n getItem = _this$props5.getItem,\n getItemCount = _this$props5.getItemCount,\n getItemLayout = _this$props5.getItemLayout,\n keyExtractor = _this$props5.keyExtractor;\n invariant(getItemCount(data) > index, 'Tried to get frame for out of range index ' + index);\n var item = getItem(data, index);\n\n var frame = item && _this._frames[keyExtractor(item, index)];\n\n if (!frame || frame.index !== index) {\n if (getItemLayout) {\n frame = getItemLayout(data, index);\n }\n }\n\n return frame;\n };\n\n invariant(!_props.onScroll || !_props.onScroll.__isNative, 'Components based on VirtualizedList must be wrapped with Animated.createAnimatedComponent ' + 'to support native onScroll events with useNativeDriver');\n invariant(_props.windowSize > 0, 'VirtualizedList: The windowSize prop must be present and set to a value greater than 0.');\n _this._fillRateHelper = new FillRateHelper(_this._getFrameMetrics);\n _this._updateCellsToRenderBatcher = new Batchinator(_this._updateCellsToRender, _this.props.updateCellsBatchingPeriod);\n\n if (_this.props.viewabilityConfigCallbackPairs) {\n _this._viewabilityTuples = _this.props.viewabilityConfigCallbackPairs.map(function (pair) {\n return {\n viewabilityHelper: new ViewabilityHelper(pair.viewabilityConfig),\n onViewableItemsChanged: pair.onViewableItemsChanged\n };\n });\n } else if (_this.props.onViewableItemsChanged) {\n var onViewableItemsChanged = _this.props.onViewableItemsChanged;\n\n _this._viewabilityTuples.push({\n viewabilityHelper: new ViewabilityHelper(_this.props.viewabilityConfig),\n onViewableItemsChanged: onViewableItemsChanged\n });\n }\n\n var initialState = {\n first: _this.props.initialScrollIndex || 0,\n last: Math.min(_this.props.getItemCount(_this.props.data), (_this.props.initialScrollIndex || 0) + _this.props.initialNumToRender) - 1\n };\n\n if (_this._isNestedWithSameOrientation()) {\n var storedState = _this.context.getNestedChildState(_this._getListKey());\n\n if (storedState) {\n initialState = storedState;\n _this.state = storedState;\n _this._frames = storedState.frames;\n }\n }\n\n _this.state = initialState;\n return _this;\n }\n\n _proto.componentDidMount = function componentDidMount() {\n if (this._isNestedWithSameOrientation()) {\n this.context.registerAsNestedChild({\n cellKey: this._getCellKey(),\n key: this._getListKey(),\n ref: this,\n parentDebugInfo: this.context.debugInfo\n });\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this._isNestedWithSameOrientation()) {\n this.context.unregisterAsNestedChild({\n key: this._getListKey(),\n state: {\n first: this.state.first,\n last: this.state.last,\n frames: this._frames\n }\n });\n }\n\n this._updateViewableItems(null);\n\n this._updateCellsToRenderBatcher.dispose({\n abort: true\n });\n\n this._viewabilityTuples.forEach(function (tuple) {\n tuple.viewabilityHelper.dispose();\n });\n\n this._fillRateHelper.deactivateAndFlush();\n };\n\n VirtualizedList.getDerivedStateFromProps = function getDerivedStateFromProps(newProps, prevState) {\n var data = newProps.data,\n getItemCount = newProps.getItemCount,\n maxToRenderPerBatch = newProps.maxToRenderPerBatch;\n return {\n first: Math.max(0, Math.min(prevState.first, getItemCount(data) - 1 - maxToRenderPerBatch)),\n last: Math.max(0, Math.min(prevState.last, getItemCount(data) - 1))\n };\n };\n\n _proto._pushCells = function _pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, first, last, inversionStyle) {\n var _this2 = this;\n\n var _this$props6 = this.props,\n CellRendererComponent = _this$props6.CellRendererComponent,\n ItemSeparatorComponent = _this$props6.ItemSeparatorComponent,\n data = _this$props6.data,\n getItem = _this$props6.getItem,\n getItemCount = _this$props6.getItemCount,\n horizontal = _this$props6.horizontal,\n keyExtractor = _this$props6.keyExtractor;\n var stickyOffset = this.props.ListHeaderComponent ? 1 : 0;\n var end = getItemCount(data) - 1;\n var prevCellKey;\n last = Math.min(end, last);\n\n var _loop = function _loop(ii) {\n var item = getItem(data, ii);\n var key = keyExtractor(item, ii);\n\n _this2._indicesToKeys.set(ii, key);\n\n if (stickyIndicesFromProps.has(ii + stickyOffset)) {\n stickyHeaderIndices.push(cells.length);\n }\n\n cells.push(React.createElement(CellRenderer, {\n CellRendererComponent: CellRendererComponent,\n ItemSeparatorComponent: ii < end ? ItemSeparatorComponent : undefined,\n cellKey: key,\n fillRateHelper: _this2._fillRateHelper,\n horizontal: horizontal,\n index: ii,\n inversionStyle: inversionStyle,\n item: item,\n key: key,\n prevCellKey: prevCellKey,\n onUpdateSeparators: _this2._onUpdateSeparators,\n onLayout: function onLayout(e) {\n return _this2._onCellLayout(e, key, ii);\n },\n onUnmount: _this2._onCellUnmount,\n parentProps: _this2.props,\n ref: function ref(_ref) {\n _this2._cellRefs[key] = _ref;\n }\n }));\n prevCellKey = key;\n };\n\n for (var ii = first; ii <= last; ii++) {\n _loop(ii);\n }\n };\n\n _proto._isVirtualizationDisabled = function _isVirtualizationDisabled() {\n return this.props.disableVirtualization || false;\n };\n\n _proto._isNestedWithSameOrientation = function _isNestedWithSameOrientation() {\n var nestedContext = this.context;\n return !!(nestedContext && !!nestedContext.horizontal === !!this.props.horizontal);\n };\n\n _proto.render = function render() {\n var _this3 = this;\n\n if (__DEV__) {\n var flatStyles = flattenStyle(this.props.contentContainerStyle);\n\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 }\n }\n\n var _this$props7 = this.props,\n ListEmptyComponent = _this$props7.ListEmptyComponent,\n ListFooterComponent = _this$props7.ListFooterComponent,\n ListHeaderComponent = _this$props7.ListHeaderComponent;\n var _this$props8 = this.props,\n data = _this$props8.data,\n horizontal = _this$props8.horizontal;\n\n var isVirtualizationDisabled = this._isVirtualizationDisabled();\n\n var inversionStyle = this.props.inverted ? this.props.horizontal ? styles.horizontallyInverted : styles.verticallyInverted : null;\n var cells = [];\n var stickyIndicesFromProps = new Set(this.props.stickyHeaderIndices);\n var stickyHeaderIndices = [];\n\n if (ListHeaderComponent) {\n if (stickyIndicesFromProps.has(0)) {\n stickyHeaderIndices.push(0);\n }\n\n var element = React.isValidElement(ListHeaderComponent) ? ListHeaderComponent : React.createElement(ListHeaderComponent, null);\n cells.push(React.createElement(VirtualizedListCellContextProvider, {\n cellKey: this._getCellKey() + '-header',\n key: \"$header\"\n }, React.createElement(View, {\n onLayout: this._onLayoutHeader,\n style: StyleSheet.compose(inversionStyle, this.props.ListHeaderComponentStyle)\n }, element)));\n }\n\n var itemCount = this.props.getItemCount(data);\n\n if (itemCount > 0) {\n _usedIndexForKey = false;\n _keylessItemComponentName = '';\n var spacerKey = !horizontal ? 'height' : 'width';\n var lastInitialIndex = this.props.initialScrollIndex ? -1 : this.props.initialNumToRender - 1;\n var _this$state = this.state,\n first = _this$state.first,\n last = _this$state.last;\n\n this._pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, 0, lastInitialIndex, inversionStyle);\n\n var firstAfterInitial = Math.max(lastInitialIndex + 1, first);\n\n if (!isVirtualizationDisabled && first > lastInitialIndex + 1) {\n var insertedStickySpacer = false;\n\n if (stickyIndicesFromProps.size > 0) {\n var stickyOffset = ListHeaderComponent ? 1 : 0;\n\n for (var ii = firstAfterInitial - 1; ii > lastInitialIndex; ii--) {\n if (stickyIndicesFromProps.has(ii + stickyOffset)) {\n var _ref2, _ref3;\n\n var initBlock = this._getFrameMetricsApprox(lastInitialIndex);\n\n var stickyBlock = this._getFrameMetricsApprox(ii);\n\n var leadSpace = stickyBlock.offset - initBlock.offset - (this.props.initialScrollIndex ? 0 : initBlock.length);\n cells.push(React.createElement(View, {\n key: \"$sticky_lead\",\n style: (_ref2 = {}, _ref2[spacerKey] = leadSpace, _ref2)\n }));\n\n this._pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, ii, ii, inversionStyle);\n\n var trailSpace = this._getFrameMetricsApprox(first).offset - (stickyBlock.offset + stickyBlock.length);\n cells.push(React.createElement(View, {\n key: \"$sticky_trail\",\n style: (_ref3 = {}, _ref3[spacerKey] = trailSpace, _ref3)\n }));\n insertedStickySpacer = true;\n break;\n }\n }\n }\n\n if (!insertedStickySpacer) {\n var _ref4;\n\n var _initBlock = this._getFrameMetricsApprox(lastInitialIndex);\n\n var firstSpace = this._getFrameMetricsApprox(first).offset - (_initBlock.offset + _initBlock.length);\n\n cells.push(React.createElement(View, {\n key: \"$lead_spacer\",\n style: (_ref4 = {}, _ref4[spacerKey] = firstSpace, _ref4)\n }));\n }\n }\n\n this._pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, firstAfterInitial, last, inversionStyle);\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 if (!isVirtualizationDisabled && last < itemCount - 1) {\n var _ref5;\n\n var lastFrame = this._getFrameMetricsApprox(last);\n\n var end = this.props.getItemLayout ? itemCount - 1 : Math.min(itemCount - 1, this._highestMeasuredFrameIndex);\n\n var endFrame = this._getFrameMetricsApprox(end);\n\n var tailSpacerLength = endFrame.offset + endFrame.length - (lastFrame.offset + lastFrame.length);\n cells.push(React.createElement(View, {\n key: \"$tail_spacer\",\n style: (_ref5 = {}, _ref5[spacerKey] = tailSpacerLength, _ref5)\n }));\n }\n } else if (ListEmptyComponent) {\n var _element = React.isValidElement(ListEmptyComponent) ? ListEmptyComponent : React.createElement(ListEmptyComponent, null);\n\n cells.push(React.cloneElement(_element, {\n key: '$empty',\n onLayout: function onLayout(event) {\n _this3._onLayoutEmpty(event);\n\n if (_element.props.onLayout) {\n _element.props.onLayout(event);\n }\n },\n style: StyleSheet.compose(inversionStyle, _element.props.style)\n }));\n }\n\n if (ListFooterComponent) {\n var _element2 = React.isValidElement(ListFooterComponent) ? ListFooterComponent : React.createElement(ListFooterComponent, null);\n\n cells.push(React.createElement(VirtualizedListCellContextProvider, {\n cellKey: this._getFooterCellKey(),\n key: \"$footer\"\n }, React.createElement(View, {\n onLayout: this._onLayoutFooter,\n style: StyleSheet.compose(inversionStyle, this.props.ListFooterComponentStyle)\n }, _element2)));\n }\n\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: this.props.scrollEventThrottle,\n stickyHeaderIndices: stickyHeaderIndices,\n style: inversionStyle ? [inversionStyle, this.props.style] : this.props.style\n });\n\n this._hasMore = this.state.last < this.props.getItemCount(this.props.data) - 1;\n var innerRet = React.createElement(VirtualizedListContextProvider, {\n value: {\n cellKey: null,\n getScrollMetrics: this._getScrollMetrics,\n horizontal: this.props.horizontal,\n getOutermostParentListRef: this._getOutermostParentListRef,\n getNestedChildState: this._getNestedChildState,\n registerAsNestedChild: this._registerAsNestedChild,\n unregisterAsNestedChild: this._unregisterAsNestedChild,\n debugInfo: this._getDebugInfo()\n }\n }, React.cloneElement((this.props.renderScrollComponent || this._defaultRenderScrollComponent)(scrollProps), {\n ref: this._captureScrollRef\n }, cells));\n var ret = innerRet;\n\n if (this.props.debug) {\n return React.createElement(View, {\n style: styles.debug\n }, ret, this._renderDebugOverlay());\n } else {\n return ret;\n }\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this$props9 = this.props,\n data = _this$props9.data,\n extraData = _this$props9.extraData;\n\n if (data !== prevProps.data || extraData !== prevProps.extraData) {\n this._viewabilityTuples.forEach(function (tuple) {\n tuple.viewabilityHelper.resetViewableIndices();\n });\n }\n\n var hiPriInProgress = this._hiPriInProgress;\n\n this._scheduleCellsToRenderUpdate();\n\n if (hiPriInProgress) {\n this._hiPriInProgress = false;\n }\n };\n\n _proto._computeBlankness = function _computeBlankness() {\n this._fillRateHelper.computeBlankness(this.props, this.state, this._scrollMetrics);\n };\n\n _proto._onCellLayout = function _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: index,\n inLayout: true\n };\n var curr = this._frames[cellKey];\n\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\n this._scheduleCellsToRenderUpdate();\n } else {\n this._frames[cellKey].inLayout = true;\n }\n\n this._triggerRemeasureForChildListsInCell(cellKey);\n\n this._computeBlankness();\n\n this._updateViewableItems(this.props.data);\n };\n\n _proto._triggerRemeasureForChildListsInCell = function _triggerRemeasureForChildListsInCell(cellKey) {\n var childListKeys = this._cellKeysToChildListKeys.get(cellKey);\n\n if (childListKeys) {\n for (var _iterator2 = _createForOfIteratorHelperLoose(childListKeys), _step2; !(_step2 = _iterator2()).done;) {\n var childKey = _step2.value;\n\n var childList = this._nestedChildLists.get(childKey);\n\n childList && childList.ref && childList.ref.measureLayoutRelativeToContainingList();\n }\n }\n };\n\n _proto.measureLayoutRelativeToContainingList = function measureLayoutRelativeToContainingList() {\n var _this4 = this;\n\n try {\n if (!this._scrollRef) {\n return;\n }\n\n this._scrollRef.measureLayout(this.context.getOutermostParentListRef().getScrollRef(), function (x, y, width, height) {\n _this4._offsetFromParentVirtualizedList = _this4._selectOffset({\n x: x,\n y: y\n });\n _this4._scrollMetrics.contentLength = _this4._selectLength({\n width: width,\n height: height\n });\n\n var scrollMetrics = _this4._convertParentScrollMetrics(_this4.context.getScrollMetrics());\n\n _this4._scrollMetrics.visibleLength = scrollMetrics.visibleLength;\n _this4._scrollMetrics.offset = scrollMetrics.offset;\n }, function (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\n _proto._getFooterCellKey = function _getFooterCellKey() {\n return this._getCellKey() + '-footer';\n };\n\n _proto._renderDebugOverlay = function _renderDebugOverlay() {\n var normalize = this._scrollMetrics.visibleLength / (this._scrollMetrics.contentLength || 1);\n var framesInLayout = [];\n var itemCount = this.props.getItemCount(this.props.data);\n\n for (var ii = 0; ii < itemCount; ii++) {\n var frame = this._getFrameMetricsApprox(ii);\n\n if (frame.inLayout) {\n framesInLayout.push(frame);\n }\n }\n\n var windowTop = this._getFrameMetricsApprox(this.state.first).offset;\n\n var frameLast = this._getFrameMetricsApprox(this.state.last);\n\n var windowLen = frameLast.offset + frameLast.length - windowTop;\n var visTop = this._scrollMetrics.offset;\n var visLen = this._scrollMetrics.visibleLength;\n return React.createElement(View, {\n style: [styles.debugOverlayBase, styles.debugOverlay]\n }, framesInLayout.map(function (f, ii) {\n return 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 });\n }), React.createElement(View, {\n style: [styles.debugOverlayBase, styles.debugOverlayFrameLast, {\n top: windowTop * normalize,\n height: windowLen * normalize\n }]\n }), React.createElement(View, {\n style: [styles.debugOverlayBase, styles.debugOverlayFrameVis, {\n top: visTop * normalize,\n height: visLen * normalize\n }]\n }));\n };\n\n _proto._selectLength = function _selectLength(metrics) {\n return !this.props.horizontal ? metrics.height : metrics.width;\n };\n\n _proto._selectOffset = function _selectOffset(metrics) {\n return !this.props.horizontal ? metrics.y : metrics.x;\n };\n\n _proto._maybeCallOnEndReached = function _maybeCallOnEndReached() {\n var _this$props10 = this.props,\n data = _this$props10.data,\n getItemCount = _this$props10.getItemCount,\n onEndReached = _this$props10.onEndReached,\n onEndReachedThreshold = _this$props10.onEndReachedThreshold;\n var _this$_scrollMetrics2 = this._scrollMetrics,\n contentLength = _this$_scrollMetrics2.contentLength,\n visibleLength = _this$_scrollMetrics2.visibleLength,\n offset = _this$_scrollMetrics2.offset;\n var distanceFromEnd = contentLength - visibleLength - offset;\n var threshold = onEndReachedThreshold ? onEndReachedThreshold * visibleLength : 2;\n\n if (onEndReached && this.state.last === getItemCount(data) - 1 && distanceFromEnd < threshold && this._scrollMetrics.contentLength !== this._sentEndForContentLength) {\n this._sentEndForContentLength = this._scrollMetrics.contentLength;\n onEndReached({\n distanceFromEnd: distanceFromEnd\n });\n } else if (distanceFromEnd > threshold) {\n this._sentEndForContentLength = 0;\n }\n };\n\n _proto._scheduleCellsToRenderUpdate = function _scheduleCellsToRenderUpdate() {\n var _this$state2 = this.state,\n first = _this$state2.first,\n last = _this$state2.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 scrollingThreshold = this.props.onEndReachedThreshold * visibleLength / 2;\n\n if (first > 0) {\n var distTop = offset - this._getFrameMetricsApprox(first).offset;\n\n hiPri = hiPri || distTop < 0 || velocity < -2 && distTop < scrollingThreshold;\n }\n\n if (last < itemCount - 1) {\n var distBottom = this._getFrameMetricsApprox(last).offset - (offset + visibleLength);\n hiPri = hiPri || distBottom < 0 || velocity > 2 && distBottom < scrollingThreshold;\n }\n\n if (hiPri && (this._averageCellLength || this.props.getItemLayout) && !this._hiPriInProgress) {\n this._hiPriInProgress = true;\n\n this._updateCellsToRenderBatcher.dispose({\n abort: true\n });\n\n this._updateCellsToRender();\n\n return;\n } else {\n this._updateCellsToRenderBatcher.schedule();\n }\n };\n\n _proto._updateViewableItems = function _updateViewableItems(data) {\n var _this5 = this;\n\n var getItemCount = this.props.getItemCount;\n\n this._viewabilityTuples.forEach(function (tuple) {\n tuple.viewabilityHelper.onUpdate(getItemCount(data), _this5._scrollMetrics.offset, _this5._scrollMetrics.visibleLength, _this5._getFrameMetrics, _this5._createViewToken, tuple.onViewableItemsChanged, _this5.state);\n });\n };\n\n return VirtualizedList;\n}(React.PureComponent);\n\nVirtualizedList.contextType = VirtualizedListContext;\nVirtualizedList.defaultProps = {\n disableVirtualization: false,\n horizontal: false,\n initialNumToRender: 10,\n keyExtractor: function keyExtractor(item, index) {\n if (item.key != null) {\n return item.key;\n }\n\n if (item.id != null) {\n return item.id;\n }\n\n _usedIndexForKey = true;\n\n if (item.type && item.type.displayName) {\n _keylessItemComponentName = item.type.displayName;\n }\n\n return String(index);\n },\n maxToRenderPerBatch: 10,\n onEndReachedThreshold: 2,\n scrollEventThrottle: 50,\n updateCellsBatchingPeriod: 50,\n windowSize: 21\n};\n\nvar CellRenderer = function (_React$Component) {\n _inheritsLoose(CellRenderer, _React$Component);\n\n function CellRenderer() {\n var _this6;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this6 = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this6.state = {\n separatorProps: {\n highlighted: false,\n leadingItem: _this6.props.item\n }\n };\n _this6._separators = {\n highlight: function highlight() {\n var _this6$props = _this6.props,\n cellKey = _this6$props.cellKey,\n prevCellKey = _this6$props.prevCellKey;\n\n _this6.props.onUpdateSeparators([cellKey, prevCellKey], {\n highlighted: true\n });\n },\n unhighlight: function unhighlight() {\n var _this6$props2 = _this6.props,\n cellKey = _this6$props2.cellKey,\n prevCellKey = _this6$props2.prevCellKey;\n\n _this6.props.onUpdateSeparators([cellKey, prevCellKey], {\n highlighted: false\n });\n },\n updateProps: function updateProps(select, newProps) {\n var _this6$props3 = _this6.props,\n cellKey = _this6$props3.cellKey,\n prevCellKey = _this6$props3.prevCellKey;\n\n _this6.props.onUpdateSeparators([select === 'leading' ? prevCellKey : cellKey], newProps);\n }\n };\n return _this6;\n }\n\n CellRenderer.getDerivedStateFromProps = function getDerivedStateFromProps(props, prevState) {\n return {\n separatorProps: _objectSpread(_objectSpread({}, prevState.separatorProps), {}, {\n leadingItem: props.item\n })\n };\n };\n\n var _proto2 = CellRenderer.prototype;\n\n _proto2.updateSeparatorProps = function updateSeparatorProps(newProps) {\n this.setState(function (state) {\n return {\n separatorProps: _objectSpread(_objectSpread({}, state.separatorProps), newProps)\n };\n });\n };\n\n _proto2.componentWillUnmount = function componentWillUnmount() {\n this.props.onUnmount(this.props.cellKey);\n };\n\n _proto2._renderElement = function _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\n if (ListItemComponent) {\n return React.createElement(ListItemComponent, {\n item: item,\n index: index,\n separators: this._separators\n });\n }\n\n if (renderItem) {\n return renderItem({\n item: item,\n index: index,\n separators: this._separators\n });\n }\n\n invariant(false, 'VirtualizedList: Either ListItemComponent or renderItem props are required but none were found.');\n };\n\n _proto2.render = function render() {\n var _this$props11 = this.props,\n CellRendererComponent = _this$props11.CellRendererComponent,\n ItemSeparatorComponent = _this$props11.ItemSeparatorComponent,\n fillRateHelper = _this$props11.fillRateHelper,\n horizontal = _this$props11.horizontal,\n item = _this$props11.item,\n index = _this$props11.index,\n inversionStyle = _this$props11.inversionStyle,\n parentProps = _this$props11.parentProps;\n var renderItem = parentProps.renderItem,\n getItemLayout = parentProps.getItemLayout,\n ListItemComponent = parentProps.ListItemComponent;\n\n var element = this._renderElement(renderItem, ListItemComponent, item, index);\n\n var onLayout = getItemLayout && !parentProps.debug && !fillRateHelper.enabled() ? undefined : this.props.onLayout;\n var itemSeparator = ItemSeparatorComponent && 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 ? React.createElement(View, {\n style: cellStyle,\n onLayout: onLayout\n }, element, itemSeparator) : React.createElement(CellRendererComponent, _extends({}, this.props, {\n style: cellStyle,\n onLayout: onLayout\n }), element, itemSeparator);\n return React.createElement(VirtualizedListCellContextProvider, {\n cellKey: this.props.cellKey\n }, result);\n };\n\n return CellRenderer;\n}(React.Component);\n\nfunction describeNestedLists(childList) {\n var trace = 'VirtualizedList trace:\\n' + (\" Child (\" + (childList.horizontal ? 'horizontal' : 'vertical') + \"):\\n\") + (\" listKey: \" + childList.key + \"\\n\") + (\" cellKey: \" + childList.cellKey);\n var debugInfo = childList.parentDebugInfo;\n\n while (debugInfo) {\n trace += \"\\n Parent (\" + (debugInfo.horizontal ? 'horizontal' : 'vertical') + \"):\\n\" + (\" listKey: \" + debugInfo.listKey + \"\\n\") + (\" cellKey: \" + debugInfo.cellKey);\n debugInfo = debugInfo.parent;\n }\n\n return trace;\n}\n\nvar styles = StyleSheet.create({\n verticallyInverted: {\n transform: [{\n scaleY: -1\n }]\n },\n horizontallyInverted: {\n transform: [{\n scaleX: -1\n }]\n },\n row: {\n flexDirection: 'row'\n },\n rowReverse: {\n flexDirection: 'row-reverse'\n },\n columnReverse: {\n flexDirection: 'column-reverse'\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;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/index.js"],"names":["_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","done","value","TypeError","next","bind","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","from","test","arr","len","arr2","_extends","assign","target","arguments","source","key","hasOwnProperty","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","configurable","writable","_assertThisInitialized","self","ReferenceError","_inheritsLoose","subClass","superClass","create","_setPrototypeOf","p","setPrototypeOf","__proto__","Batchinator","FillRateHelper","PropTypes","React","RefreshControl","ScrollView","StyleSheet","UIManager","View","ViewabilityHelper","findNodeHandle","flattenStyle","flatten","infoLog","invariant","warning","computeWindowedRenderLimits","VirtualizedListCellContextProvider","VirtualizedListContext","VirtualizedListContextProvider","__DEV__","process","env","NODE_ENV","_usedIndexForKey","_keylessItemComponentName","VirtualizedList","_React$PureComponent","_proto","scrollToEnd","params","animated","veryLast","props","getItemCount","data","frame","_getFrameMetricsApprox","offset","Math","max","_footerLength","_scrollMetrics","visibleLength","_scrollRef","scrollTo","console","warn","horizontal","x","y","scrollToIndex","_this$props","getItemLayout","onScrollToIndexFailed","index","viewOffset","viewPosition","_highestMeasuredFrameIndex","averageItemLength","_averageCellLength","highestMeasuredFrameIndex","scrollToItem","item","_this$props2","getItem","itemCount","_index","scrollToOffset","recordInteraction","_nestedChildLists","childList","ref","_viewabilityTuples","t","viewabilityHelper","_updateViewableItems","flashScrollIndicators","getScrollResponder","getScrollableNode","getScrollRef","setNativeProps","_getCellKey","_this$context","context","cellKey","_getListKey","listKey","_getDebugInfo","_this$context2","parent","debugInfo","hasMore","_hasMore","_props","_this","_getScrollMetrics","_getOutermostParentListRef","_isNestedWithSameOrientation","getOutermostParentListRef","_getNestedChildState","existingChildData","get","state","_registerAsNestedChild","childListsInCell","_cellKeysToChildListKeys","Set","add","set","error","describeNestedLists","_hasInteracted","_unregisterAsNestedChild","_onUpdateSeparators","newProps","_cellRefs","updateSeparatorProps","Map","_frames","_hasDoneInitialScroll","_hasWarned","_headerLength","_hiPriInProgress","_indicesToKeys","_offsetFromParentVirtualizedList","_prevParentOffset","contentLength","dOffset","dt","timestamp","velocity","_sentEndForContentLength","_totalCellLength","_totalCellsMeasured","_captureScrollRef","_defaultRenderScrollComponent","onRefresh","createElement","refreshing","JSON","stringify","refreshControl","progressViewOffset","_onCellUnmount","curr","inLayout","_onLayout","e","measureLayoutRelativeToContainingList","_selectLength","nativeEvent","layout","onLayout","_scheduleCellsToRenderUpdate","_maybeCallOnEndReached","_onLayoutEmpty","_onLayoutFooter","_triggerRemeasureForChildListsInCell","_getFooterCellKey","_onLayoutHeader","_onContentSizeChange","width","height","initialScrollIndex","onContentSizeChange","_convertParentScrollMetrics","metrics","_onScroll","onScroll","timeStamp","layoutMeasurement","contentSize","_selectOffset","contentOffset","_this$_convertParentS","perf","prevDt","_fillRateHelper","activate","_computeBlankness","_onScrollBeginDrag","tuple","onScrollBeginDrag","_onScrollEndDrag","onScrollEndDrag","_onMomentumScrollBegin","onMomentumScrollBegin","_onMomentumScrollEnd","onMomentumScrollEnd","_updateCellsToRender","_this$props3","onEndReachedThreshold","isVirtualizationDisabled","_isVirtualizationDisabled","setState","newState","_this$_scrollMetrics","distanceFromEnd","renderAhead","maxToRenderPerBatch","first","last","min","size","newFirst","newLast","ii","cellKeyForIndex","childListKeys","someChildHasMore","_iterator","_step","childKey","_createViewToken","isViewable","_this$props4","keyExtractor","_getFrameMetrics","_this$props5","__isNative","windowSize","_updateCellsToRenderBatcher","updateCellsBatchingPeriod","viewabilityConfigCallbackPairs","map","pair","viewabilityConfig","onViewableItemsChanged","initialState","initialNumToRender","storedState","getNestedChildState","frames","componentDidMount","registerAsNestedChild","parentDebugInfo","componentWillUnmount","unregisterAsNestedChild","dispose","abort","deactivateAndFlush","getDerivedStateFromProps","prevState","_pushCells","cells","stickyHeaderIndices","stickyIndicesFromProps","inversionStyle","_this2","_this$props6","CellRendererComponent","ItemSeparatorComponent","stickyOffset","ListHeaderComponent","end","prevCellKey","_loop","has","CellRenderer","undefined","fillRateHelper","onUpdateSeparators","_onCellLayout","onUnmount","parentProps","_ref","disableVirtualization","nestedContext","render","_this3","flatStyles","contentContainerStyle","flexWrap","_this$props7","ListEmptyComponent","ListFooterComponent","_this$props8","inverted","styles","horizontallyInverted","verticallyInverted","element","isValidElement","style","compose","ListHeaderComponentStyle","spacerKey","lastInitialIndex","_this$state","firstAfterInitial","insertedStickySpacer","_ref2","_ref3","initBlock","stickyBlock","leadSpace","trailSpace","_ref4","_initBlock","firstSpace","_ref5","lastFrame","endFrame","tailSpacerLength","_element","cloneElement","event","_element2","ListFooterComponentStyle","scrollProps","scrollEventThrottle","innerRet","getScrollMetrics","renderScrollComponent","ret","debug","_renderDebugOverlay","componentDidUpdate","prevProps","_this$props9","extraData","resetViewableIndices","hiPriInProgress","computeBlankness","_iterator2","_step2","_this4","measureLayout","scrollMetrics","stack","normalize","framesInLayout","windowTop","frameLast","windowLen","visTop","visLen","debugOverlayBase","debugOverlay","f","debugOverlayFrame","top","debugOverlayFrameLast","debugOverlayFrameVis","_this$props10","onEndReached","_this$_scrollMetrics2","threshold","_this$state2","_this$_scrollMetrics3","hiPri","scrollingThreshold","distTop","distBottom","schedule","_this5","onUpdate","PureComponent","contextType","defaultProps","id","type","displayName","String","_React$Component","_this6","_len","args","_key","concat","separatorProps","highlighted","leadingItem","_separators","highlight","_this6$props","unhighlight","_this6$props2","updateProps","select","_this6$props3","_proto2","_renderElement","renderItem","ListItemComponent","separators","_this$props11","enabled","itemSeparator","cellStyle","rowReverse","columnReverse","row","result","Component","trace","transform","scaleY","scaleX","flexDirection","flex","position","right","bottom","borderColor","borderWidth","left","backgroundColor"],"mappings":"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","sourcesContent":["function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } it = o[Symbol.iterator](); return it.next.bind(it); }\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(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\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 _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\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 * @format\n */\nimport Batchinator from '../Batchinator';\nimport FillRateHelper from '../FillRateHelper';\nimport PropTypes from 'prop-types';\nimport * as React from 'react';\nimport RefreshControl from '../../../exports/RefreshControl';\nimport ScrollView from '../../../exports/ScrollView';\nimport StyleSheet from '../../../exports/StyleSheet';\nimport UIManager from '../../../exports/UIManager';\nimport View from '../../../exports/View';\nimport ViewabilityHelper from '../ViewabilityHelper';\nimport findNodeHandle from '../../../exports/findNodeHandle';\nvar flattenStyle = StyleSheet.flatten;\nimport infoLog from '../infoLog';\nimport invariant from 'fbjs/lib/invariant';\nimport warning from 'fbjs/lib/warning';\nimport { computeWindowedRenderLimits } from '../VirtualizeUtils';\nimport { VirtualizedListCellContextProvider, VirtualizedListContext, VirtualizedListContextProvider } from './VirtualizedListContext.js';\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar _usedIndexForKey = false;\nvar _keylessItemComponentName = '';\n\n/**\n * Base implementation for the more convenient [`<FlatList>`](https://reactnative.dev/docs/flatlist.html)\n * and [`<SectionList>`](https://reactnative.dev/docs/sectionlist.html) 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 *\n */\nvar VirtualizedList = /*#__PURE__*/function (_React$PureComponent) {\n _inheritsLoose(VirtualizedList, _React$PureComponent);\n\n var _proto = VirtualizedList.prototype;\n\n // scrollToEnd may be janky without getItemLayout prop\n _proto.scrollToEnd = function scrollToEnd(params) {\n var animated = params ? params.animated : true;\n var veryLast = this.props.getItemCount(this.props.data) - 1;\n\n var frame = this._getFrameMetricsApprox(veryLast);\n\n var offset = Math.max(0, frame.offset + frame.length + this._footerLength - this._scrollMetrics.visibleLength);\n\n if (this._scrollRef == null) {\n return;\n }\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\n this._scrollRef.scrollTo(this.props.horizontal ? {\n x: offset,\n animated: animated\n } : {\n y: offset,\n animated: animated\n });\n } // scrollToIndex may be janky without getItemLayout prop\n ;\n\n _proto.scrollToIndex = function 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\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: index\n });\n return;\n }\n\n var frame = this._getFrameMetricsApprox(index);\n\n var offset = Math.max(0, frame.offset - (viewPosition || 0) * (this._scrollMetrics.visibleLength - frame.length)) - (viewOffset || 0);\n\n if (this._scrollRef == null) {\n return;\n }\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\n this._scrollRef.scrollTo(horizontal ? {\n x: offset,\n animated: animated\n } : {\n y: offset,\n animated: animated\n });\n } // scrollToItem may be janky without getItemLayout prop. Required linear scan through items -\n // use scrollToIndex instead if possible.\n ;\n\n _proto.scrollToItem = function 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\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 * 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 ;\n\n _proto.scrollToOffset = function scrollToOffset(params) {\n var animated = params.animated,\n offset = params.offset;\n\n if (this._scrollRef == null) {\n return;\n }\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\n this._scrollRef.scrollTo(this.props.horizontal ? {\n x: offset,\n animated: animated\n } : {\n y: offset,\n animated: animated\n });\n };\n\n _proto.recordInteraction = function recordInteraction() {\n this._nestedChildLists.forEach(function (childList) {\n childList.ref && childList.ref.recordInteraction();\n });\n\n this._viewabilityTuples.forEach(function (t) {\n t.viewabilityHelper.recordInteraction();\n });\n\n this._updateViewableItems(this.props.data);\n };\n\n _proto.flashScrollIndicators = function flashScrollIndicators() {\n if (this._scrollRef == null) {\n return;\n }\n\n this._scrollRef.flashScrollIndicators();\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 ;\n\n _proto.getScrollResponder = function getScrollResponder() {\n if (this._scrollRef && this._scrollRef.getScrollResponder) {\n return this._scrollRef.getScrollResponder();\n }\n };\n\n _proto.getScrollableNode = function getScrollableNode() {\n if (this._scrollRef && this._scrollRef.getScrollableNode) {\n return this._scrollRef.getScrollableNode();\n } else {\n return findNodeHandle(this._scrollRef);\n }\n };\n\n _proto.getScrollRef = function getScrollRef() {\n if (this._scrollRef && this._scrollRef.getScrollRef) {\n return this._scrollRef.getScrollRef();\n } else {\n return this._scrollRef;\n }\n };\n\n _proto.setNativeProps = function setNativeProps(props) {\n if (this._scrollRef) {\n this._scrollRef.setNativeProps(props);\n }\n };\n\n _proto._getCellKey = function _getCellKey() {\n var _this$context;\n\n return ((_this$context = this.context) == null ? void 0 : _this$context.cellKey) || 'rootList';\n };\n\n _proto._getListKey = function _getListKey() {\n return this.props.listKey || this._getCellKey();\n };\n\n _proto._getDebugInfo = function _getDebugInfo() {\n var _this$context2;\n\n return {\n listKey: this._getListKey(),\n cellKey: this._getCellKey(),\n horizontal: !!this.props.horizontal,\n parent: (_this$context2 = this.context) == null ? void 0 : _this$context2.debugInfo\n };\n };\n\n _proto.hasMore = function hasMore() {\n return this._hasMore;\n };\n\n function VirtualizedList(_props) {\n var _this;\n\n _this = _React$PureComponent.call(this, _props) || this;\n\n _this._getScrollMetrics = function () {\n return _this._scrollMetrics;\n };\n\n _this._getOutermostParentListRef = function () {\n if (_this._isNestedWithSameOrientation()) {\n return _this.context.getOutermostParentListRef();\n } else {\n return _assertThisInitialized(_this);\n }\n };\n\n _this._getNestedChildState = function (key) {\n var existingChildData = _this._nestedChildLists.get(key);\n\n return existingChildData && existingChildData.state;\n };\n\n _this._registerAsNestedChild = function (childList) {\n // Register the mapping between this child key and the cellKey for its cell\n var childListsInCell = _this._cellKeysToChildListKeys.get(childList.cellKey) || new Set();\n childListsInCell.add(childList.key);\n\n _this._cellKeysToChildListKeys.set(childList.cellKey, childListsInCell);\n\n var existingChildData = _this._nestedChildLists.get(childList.key);\n\n if (existingChildData && existingChildData.ref !== null) {\n console.error('A VirtualizedList contains a cell which itself contains ' + 'more than one VirtualizedList of the same orientation as the parent ' + 'list. You must pass a unique listKey prop to each sibling list.\\n\\n' + describeNestedLists(_objectSpread(_objectSpread({}, childList), {}, {\n // We're called from the child's componentDidMount, so it's safe to\n // read the child's props here (albeit weird).\n horizontal: !!childList.ref.props.horizontal\n })));\n }\n\n _this._nestedChildLists.set(childList.key, {\n ref: childList.ref,\n state: null\n });\n\n if (_this._hasInteracted) {\n childList.ref.recordInteraction();\n }\n };\n\n _this._unregisterAsNestedChild = function (childList) {\n _this._nestedChildLists.set(childList.key, {\n ref: null,\n state: childList.state\n });\n };\n\n _this._onUpdateSeparators = function (keys, newProps) {\n keys.forEach(function (key) {\n var ref = key != null && _this._cellRefs[key];\n ref && ref.updateSeparatorProps(newProps);\n });\n };\n\n _this._averageCellLength = 0;\n _this._cellKeysToChildListKeys = new Map();\n _this._cellRefs = {};\n _this._frames = {};\n _this._footerLength = 0;\n _this._hasDoneInitialScroll = 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._nestedChildLists = new Map();\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 };\n _this._scrollRef = null;\n _this._sentEndForContentLength = 0;\n _this._totalCellLength = 0;\n _this._totalCellsMeasured = 0;\n _this._viewabilityTuples = [];\n\n _this._captureScrollRef = function (ref) {\n _this._scrollRef = ref;\n };\n\n _this._defaultRenderScrollComponent = function (props) {\n var onRefresh = props.onRefresh;\n\n if (_this._isNestedWithSameOrientation()) {\n // $FlowFixMe - Typing ReactNativeComponent revealed errors\n return /*#__PURE__*/React.createElement(View, props);\n } else if (onRefresh) {\n invariant(typeof props.refreshing === 'boolean', '`refreshing` prop must be set as a boolean in order to use `onRefresh`, but got `' +\n /* $FlowFixMe(>=0.111.0 site=react_native_fb) This comment suppresses\n * an error found when Flow v0.111 was deployed. To see the error,\n * delete this comment and run Flow. */\n JSON.stringify(props.refreshing) + '`');\n return (\n /*#__PURE__*/\n // $FlowFixMe Invalid prop usage\n React.createElement(ScrollView, _extends({}, props, {\n refreshControl: props.refreshControl == null ? /*#__PURE__*/React.createElement(RefreshControl, {\n refreshing: props.refreshing,\n onRefresh: onRefresh,\n progressViewOffset: props.progressViewOffset\n }) : props.refreshControl\n }))\n );\n } else {\n // $FlowFixMe Invalid prop usage\n return /*#__PURE__*/React.createElement(ScrollView, props);\n }\n };\n\n _this._onCellUnmount = function (cellKey) {\n var curr = _this._frames[cellKey];\n\n if (curr) {\n _this._frames[cellKey] = _objectSpread(_objectSpread({}, curr), {}, {\n inLayout: false\n });\n }\n };\n\n _this._onLayout = function (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\n _this.props.onLayout && _this.props.onLayout(e);\n\n _this._scheduleCellsToRenderUpdate();\n\n _this._maybeCallOnEndReached();\n };\n\n _this._onLayoutEmpty = function (e) {\n _this.props.onLayout && _this.props.onLayout(e);\n };\n\n _this._onLayoutFooter = function (e) {\n _this._triggerRemeasureForChildListsInCell(_this._getFooterCellKey());\n\n _this._footerLength = _this._selectLength(e.nativeEvent.layout);\n };\n\n _this._onLayoutHeader = function (e) {\n _this._headerLength = _this._selectLength(e.nativeEvent.layout);\n };\n\n _this._onContentSizeChange = function (width, height) {\n if (width > 0 && height > 0 && _this.props.initialScrollIndex != null && _this.props.initialScrollIndex > 0 && !_this._hasDoneInitialScroll) {\n _this._hasDoneInitialScroll = true;\n }\n\n if (_this.props.onContentSizeChange) {\n _this.props.onContentSizeChange(width, height);\n }\n\n _this._scrollMetrics.contentLength = _this._selectLength({\n height: height,\n width: width\n });\n\n _this._scheduleCellsToRenderUpdate();\n\n _this._maybeCallOnEndReached();\n };\n\n _this._convertParentScrollMetrics = function (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; // Child's visible length is the same as its parent's\n\n var visibleLength = metrics.visibleLength;\n var dOffset = offset - _this._scrollMetrics.offset;\n var contentLength = _this._scrollMetrics.contentLength;\n return {\n visibleLength: visibleLength,\n contentLength: contentLength,\n offset: offset,\n dOffset: dOffset\n };\n };\n\n _this._onScroll = function (e) {\n _this._nestedChildLists.forEach(function (childList) {\n childList.ref && childList.ref._onScroll(e);\n });\n\n if (_this.props.onScroll) {\n _this.props.onScroll(e);\n }\n\n var timestamp = e.timeStamp;\n\n var visibleLength = _this._selectLength(e.nativeEvent.layoutMeasurement);\n\n var contentLength = _this._selectLength(e.nativeEvent.contentSize);\n\n var offset = _this._selectOffset(e.nativeEvent.contentOffset);\n\n var dOffset = offset - _this._scrollMetrics.offset;\n\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\n var _this$_convertParentS = _this._convertParentScrollMetrics({\n visibleLength: visibleLength,\n offset: offset\n });\n\n visibleLength = _this$_convertParentS.visibleLength;\n contentLength = _this$_convertParentS.contentLength;\n offset = _this$_convertParentS.offset;\n dOffset = _this$_convertParentS.dOffset;\n }\n\n var dt = _this._scrollMetrics.timestamp ? Math.max(1, timestamp - _this._scrollMetrics.timestamp) : 1;\n var velocity = dOffset / dt;\n\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: dt,\n prevDt: _this._scrollMetrics.dt,\n contentLength: contentLength\n });\n _this._hasWarned.perf = true;\n }\n\n _this._scrollMetrics = {\n contentLength: contentLength,\n dt: dt,\n dOffset: dOffset,\n offset: offset,\n timestamp: timestamp,\n velocity: velocity,\n visibleLength: visibleLength\n };\n\n _this._updateViewableItems(_this.props.data);\n\n if (!_this.props) {\n return;\n }\n\n _this._maybeCallOnEndReached();\n\n if (velocity !== 0) {\n _this._fillRateHelper.activate();\n }\n\n _this._computeBlankness();\n\n _this._scheduleCellsToRenderUpdate();\n };\n\n _this._onScrollBeginDrag = function (e) {\n _this._nestedChildLists.forEach(function (childList) {\n childList.ref && childList.ref._onScrollBeginDrag(e);\n });\n\n _this._viewabilityTuples.forEach(function (tuple) {\n tuple.viewabilityHelper.recordInteraction();\n });\n\n _this._hasInteracted = true;\n _this.props.onScrollBeginDrag && _this.props.onScrollBeginDrag(e);\n };\n\n _this._onScrollEndDrag = function (e) {\n _this._nestedChildLists.forEach(function (childList) {\n childList.ref && childList.ref._onScrollEndDrag(e);\n });\n\n var velocity = e.nativeEvent.velocity;\n\n if (velocity) {\n _this._scrollMetrics.velocity = _this._selectOffset(velocity);\n }\n\n _this._computeBlankness();\n\n _this.props.onScrollEndDrag && _this.props.onScrollEndDrag(e);\n };\n\n _this._onMomentumScrollBegin = function (e) {\n _this._nestedChildLists.forEach(function (childList) {\n childList.ref && childList.ref._onMomentumScrollBegin(e);\n });\n\n _this.props.onMomentumScrollBegin && _this.props.onMomentumScrollBegin(e);\n };\n\n _this._onMomentumScrollEnd = function (e) {\n _this._nestedChildLists.forEach(function (childList) {\n childList.ref && childList.ref._onMomentumScrollEnd(e);\n });\n\n _this._scrollMetrics.velocity = 0;\n\n _this._computeBlankness();\n\n _this.props.onMomentumScrollEnd && _this.props.onMomentumScrollEnd(e);\n };\n\n _this._updateCellsToRender = function () {\n var _this$props3 = _this.props,\n data = _this$props3.data,\n getItemCount = _this$props3.getItemCount,\n onEndReachedThreshold = _this$props3.onEndReachedThreshold;\n\n var isVirtualizationDisabled = _this._isVirtualizationDisabled();\n\n _this._updateViewableItems(data);\n\n if (!data) {\n return;\n }\n\n _this.setState(function (state) {\n var newState;\n var _this$_scrollMetrics = _this._scrollMetrics,\n contentLength = _this$_scrollMetrics.contentLength,\n offset = _this$_scrollMetrics.offset,\n visibleLength = _this$_scrollMetrics.visibleLength;\n\n if (!isVirtualizationDisabled) {\n // If we run this with bogus data, we'll force-render window {first: 0, last: 0},\n // and wipe out the initialNumToRender rendered elements.\n // So let's 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 // 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 if (!_this.props.initialScrollIndex || _this._scrollMetrics.offset) {\n newState = computeWindowedRenderLimits(_this.props, state, _this._getFrameMetricsApprox, _this._scrollMetrics);\n }\n }\n } else {\n var distanceFromEnd = contentLength - visibleLength - offset;\n var renderAhead =\n /* $FlowFixMe(>=0.63.0 site=react_native_fb) This comment suppresses\n * an error found when Flow v0.63 was deployed. To see the error\n * delete this comment and run Flow. */\n distanceFromEnd < onEndReachedThreshold * visibleLength ? _this.props.maxToRenderPerBatch : 0;\n newState = {\n first: 0,\n last: Math.min(state.last + renderAhead, getItemCount(data) - 1)\n };\n }\n\n if (newState && _this._nestedChildLists.size > 0) {\n var newFirst = newState.first;\n var newLast = newState.last; // 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 for (var ii = newFirst; ii <= newLast; ii++) {\n var cellKeyForIndex = _this._indicesToKeys.get(ii);\n\n var childListKeys = cellKeyForIndex && _this._cellKeysToChildListKeys.get(cellKeyForIndex);\n\n if (!childListKeys) {\n continue;\n }\n\n var someChildHasMore = false; // For each cell, need to check whether any child list in it has more elements to render\n\n for (var _iterator = _createForOfIteratorHelperLoose(childListKeys), _step; !(_step = _iterator()).done;) {\n var childKey = _step.value;\n\n var childList = _this._nestedChildLists.get(childKey);\n\n if (childList && childList.ref && childList.ref.hasMore()) {\n someChildHasMore = true;\n break;\n }\n }\n\n if (someChildHasMore && newState) {\n newState.last = ii;\n break;\n }\n }\n }\n\n if (newState != null && newState.first === state.first && newState.last === state.last) {\n newState = null;\n }\n\n return newState;\n });\n };\n\n _this._createViewToken = function (index, isViewable) {\n var _this$props4 = _this.props,\n data = _this$props4.data,\n getItem = _this$props4.getItem,\n keyExtractor = _this$props4.keyExtractor;\n var item = getItem(data, index);\n return {\n index: index,\n item: item,\n key: keyExtractor(item, index),\n isViewable: isViewable\n };\n };\n\n _this._getFrameMetricsApprox = function (index) {\n var frame = _this._getFrameMetrics(index);\n\n if (frame && frame.index === index) {\n // check for invalid frames due to row re-ordering\n return frame;\n } else {\n var getItemLayout = _this.props.getItemLayout;\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\n _this._getFrameMetrics = function (index) {\n var _this$props5 = _this.props,\n data = _this$props5.data,\n getItem = _this$props5.getItem,\n getItemCount = _this$props5.getItemCount,\n getItemLayout = _this$props5.getItemLayout,\n keyExtractor = _this$props5.keyExtractor;\n invariant(getItemCount(data) > index, 'Tried to get frame for out of range index ' + index);\n var item = getItem(data, index);\n\n var frame = item && _this._frames[keyExtractor(item, index)];\n\n if (!frame || frame.index !== index) {\n if (getItemLayout) {\n frame = getItemLayout(data, index);\n }\n }\n /* $FlowFixMe(>=0.63.0 site=react_native_fb) This comment suppresses an\n * error found when Flow v0.63 was deployed. To see the error delete this\n * comment and run Flow. */\n\n\n return frame;\n };\n\n invariant( // $FlowFixMe\n !_props.onScroll || !_props.onScroll.__isNative, 'Components based on VirtualizedList must be wrapped with Animated.createAnimatedComponent ' + 'to support native onScroll events with useNativeDriver');\n invariant(_props.windowSize > 0, 'VirtualizedList: The windowSize prop must be present and set to a value greater than 0.');\n _this._fillRateHelper = new FillRateHelper(_this._getFrameMetrics);\n _this._updateCellsToRenderBatcher = new Batchinator(_this._updateCellsToRender, _this.props.updateCellsBatchingPeriod);\n\n if (_this.props.viewabilityConfigCallbackPairs) {\n _this._viewabilityTuples = _this.props.viewabilityConfigCallbackPairs.map(function (pair) {\n return {\n viewabilityHelper: new ViewabilityHelper(pair.viewabilityConfig),\n onViewableItemsChanged: pair.onViewableItemsChanged\n };\n });\n } else if (_this.props.onViewableItemsChanged) {\n var onViewableItemsChanged = _this.props.onViewableItemsChanged;\n\n _this._viewabilityTuples.push({\n viewabilityHelper: new ViewabilityHelper(_this.props.viewabilityConfig),\n onViewableItemsChanged: onViewableItemsChanged\n });\n }\n\n var initialState = {\n first: _this.props.initialScrollIndex || 0,\n last: Math.min(_this.props.getItemCount(_this.props.data), (_this.props.initialScrollIndex || 0) + _this.props.initialNumToRender) - 1\n };\n\n if (_this._isNestedWithSameOrientation()) {\n var storedState = _this.context.getNestedChildState(_this._getListKey());\n\n if (storedState) {\n initialState = storedState;\n _this.state = storedState;\n _this._frames = storedState.frames;\n }\n }\n\n _this.state = initialState;\n return _this;\n }\n\n _proto.componentDidMount = function componentDidMount() {\n if (this._isNestedWithSameOrientation()) {\n this.context.registerAsNestedChild({\n cellKey: this._getCellKey(),\n key: this._getListKey(),\n ref: this,\n // NOTE: When the child mounts (here) it's not necessarily safe to read\n // the parent's props. This is why we explicitly propagate debugInfo\n // \"down\" via context and \"up\" again via this method call on the\n // parent.\n parentDebugInfo: this.context.debugInfo\n });\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this._isNestedWithSameOrientation()) {\n this.context.unregisterAsNestedChild({\n key: this._getListKey(),\n state: {\n first: this.state.first,\n last: this.state.last,\n frames: this._frames\n }\n });\n }\n\n this._updateViewableItems(null);\n\n this._updateCellsToRenderBatcher.dispose({\n abort: true\n });\n\n this._viewabilityTuples.forEach(function (tuple) {\n tuple.viewabilityHelper.dispose();\n });\n\n this._fillRateHelper.deactivateAndFlush();\n };\n\n VirtualizedList.getDerivedStateFromProps = function getDerivedStateFromProps(newProps, prevState) {\n var data = newProps.data,\n getItemCount = newProps.getItemCount,\n maxToRenderPerBatch = newProps.maxToRenderPerBatch; // 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\n return {\n first: Math.max(0, Math.min(prevState.first, getItemCount(data) - 1 - maxToRenderPerBatch)),\n last: Math.max(0, Math.min(prevState.last, getItemCount(data) - 1))\n };\n };\n\n _proto._pushCells = function _pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, first, last, inversionStyle) {\n var _this2 = this;\n\n var _this$props6 = this.props,\n CellRendererComponent = _this$props6.CellRendererComponent,\n ItemSeparatorComponent = _this$props6.ItemSeparatorComponent,\n data = _this$props6.data,\n getItem = _this$props6.getItem,\n getItemCount = _this$props6.getItemCount,\n horizontal = _this$props6.horizontal,\n keyExtractor = _this$props6.keyExtractor;\n var stickyOffset = this.props.ListHeaderComponent ? 1 : 0;\n var end = getItemCount(data) - 1;\n var prevCellKey;\n last = Math.min(end, last);\n\n var _loop = function _loop(ii) {\n var item = getItem(data, ii);\n var key = keyExtractor(item, ii);\n\n _this2._indicesToKeys.set(ii, key);\n\n if (stickyIndicesFromProps.has(ii + stickyOffset)) {\n stickyHeaderIndices.push(cells.length);\n }\n\n cells.push( /*#__PURE__*/React.createElement(CellRenderer, {\n CellRendererComponent: CellRendererComponent,\n ItemSeparatorComponent: ii < end ? ItemSeparatorComponent : undefined,\n cellKey: key,\n fillRateHelper: _this2._fillRateHelper,\n horizontal: horizontal,\n index: ii,\n inversionStyle: inversionStyle,\n item: item,\n key: key,\n prevCellKey: prevCellKey,\n onUpdateSeparators: _this2._onUpdateSeparators,\n onLayout: function onLayout(e) {\n return _this2._onCellLayout(e, key, ii);\n },\n onUnmount: _this2._onCellUnmount,\n parentProps: _this2.props,\n ref: function ref(_ref) {\n _this2._cellRefs[key] = _ref;\n }\n }));\n prevCellKey = key;\n };\n\n for (var ii = first; ii <= last; ii++) {\n _loop(ii);\n }\n };\n\n _proto._isVirtualizationDisabled = function _isVirtualizationDisabled() {\n return this.props.disableVirtualization || false;\n };\n\n _proto._isNestedWithSameOrientation = function _isNestedWithSameOrientation() {\n var nestedContext = this.context;\n return !!(nestedContext && !!nestedContext.horizontal === !!this.props.horizontal);\n };\n\n _proto.render = function render() {\n var _this3 = this;\n\n if (__DEV__) {\n var flatStyles = flattenStyle(this.props.contentContainerStyle);\n\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 }\n }\n\n var _this$props7 = this.props,\n ListEmptyComponent = _this$props7.ListEmptyComponent,\n ListFooterComponent = _this$props7.ListFooterComponent,\n ListHeaderComponent = _this$props7.ListHeaderComponent;\n var _this$props8 = this.props,\n data = _this$props8.data,\n horizontal = _this$props8.horizontal;\n\n var isVirtualizationDisabled = this._isVirtualizationDisabled();\n\n var inversionStyle = this.props.inverted ? this.props.horizontal ? styles.horizontallyInverted : styles.verticallyInverted : null;\n var cells = [];\n var stickyIndicesFromProps = new Set(this.props.stickyHeaderIndices);\n var stickyHeaderIndices = [];\n\n if (ListHeaderComponent) {\n if (stickyIndicesFromProps.has(0)) {\n stickyHeaderIndices.push(0);\n }\n\n var element = /*#__PURE__*/React.isValidElement(ListHeaderComponent) ? ListHeaderComponent :\n /*#__PURE__*/\n // $FlowFixMe\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: StyleSheet.compose(inversionStyle, this.props.ListHeaderComponentStyle)\n }, // $FlowFixMe - Typing ReactNativeComponent revealed errors\n element)));\n }\n\n var itemCount = this.props.getItemCount(data);\n\n if (itemCount > 0) {\n _usedIndexForKey = false;\n _keylessItemComponentName = '';\n var spacerKey = !horizontal ? 'height' : 'width';\n var lastInitialIndex = this.props.initialScrollIndex ? -1 : this.props.initialNumToRender - 1;\n var _this$state = this.state,\n first = _this$state.first,\n last = _this$state.last;\n\n this._pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, 0, lastInitialIndex, inversionStyle);\n\n var firstAfterInitial = Math.max(lastInitialIndex + 1, first);\n\n if (!isVirtualizationDisabled && first > lastInitialIndex + 1) {\n var insertedStickySpacer = false;\n\n if (stickyIndicesFromProps.size > 0) {\n var stickyOffset = ListHeaderComponent ? 1 : 0; // See if there are any sticky headers in the virtualized space that we need to render.\n\n for (var ii = firstAfterInitial - 1; ii > lastInitialIndex; ii--) {\n if (stickyIndicesFromProps.has(ii + stickyOffset)) {\n var _ref2, _ref3;\n\n var initBlock = this._getFrameMetricsApprox(lastInitialIndex);\n\n var stickyBlock = this._getFrameMetricsApprox(ii);\n\n var leadSpace = stickyBlock.offset - initBlock.offset - (this.props.initialScrollIndex ? 0 : initBlock.length);\n cells.push(\n /*#__PURE__*/\n\n /* $FlowFixMe(>=0.111.0 site=react_native_fb) This comment\n * suppresses an error found when Flow v0.111 was deployed. To\n * see the error, delete this comment and run Flow. */\n React.createElement(View, {\n key: \"$sticky_lead\",\n style: (_ref2 = {}, _ref2[spacerKey] = leadSpace, _ref2)\n }));\n\n this._pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, ii, ii, inversionStyle);\n\n var trailSpace = this._getFrameMetricsApprox(first).offset - (stickyBlock.offset + stickyBlock.length);\n cells.push(\n /*#__PURE__*/\n\n /* $FlowFixMe(>=0.111.0 site=react_native_fb) This comment\n * suppresses an error found when Flow v0.111 was deployed. To\n * see the error, delete this comment and run Flow. */\n React.createElement(View, {\n key: \"$sticky_trail\",\n style: (_ref3 = {}, _ref3[spacerKey] = trailSpace, _ref3)\n }));\n insertedStickySpacer = true;\n break;\n }\n }\n }\n\n if (!insertedStickySpacer) {\n var _ref4;\n\n var _initBlock = this._getFrameMetricsApprox(lastInitialIndex);\n\n var firstSpace = this._getFrameMetricsApprox(first).offset - (_initBlock.offset + _initBlock.length);\n\n cells.push(\n /*#__PURE__*/\n\n /* $FlowFixMe(>=0.111.0 site=react_native_fb) This comment\n * suppresses an error found when Flow v0.111 was deployed. To see\n * the error, delete this comment and run Flow. */\n React.createElement(View, {\n key: \"$lead_spacer\",\n style: (_ref4 = {}, _ref4[spacerKey] = firstSpace, _ref4)\n }));\n }\n }\n\n this._pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, firstAfterInitial, last, inversionStyle);\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 if (!isVirtualizationDisabled && last < itemCount - 1) {\n var _ref5;\n\n var lastFrame = this._getFrameMetricsApprox(last); // 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\n\n var end = this.props.getItemLayout ? itemCount - 1 : Math.min(itemCount - 1, this._highestMeasuredFrameIndex);\n\n var endFrame = this._getFrameMetricsApprox(end);\n\n var tailSpacerLength = endFrame.offset + endFrame.length - (lastFrame.offset + lastFrame.length);\n cells.push(\n /*#__PURE__*/\n\n /* $FlowFixMe(>=0.111.0 site=react_native_fb) This comment suppresses\n * an error found when Flow v0.111 was deployed. To see the error,\n * delete this comment and run Flow. */\n React.createElement(View, {\n key: \"$tail_spacer\",\n style: (_ref5 = {}, _ref5[spacerKey] = tailSpacerLength, _ref5)\n }));\n }\n } else if (ListEmptyComponent) {\n var _element = /*#__PURE__*/React.isValidElement(ListEmptyComponent) ? ListEmptyComponent :\n /*#__PURE__*/\n // $FlowFixMe\n React.createElement(ListEmptyComponent, null);\n\n cells.push( /*#__PURE__*/React.cloneElement(_element, {\n key: '$empty',\n onLayout: function onLayout(event) {\n _this3._onLayoutEmpty(event);\n\n if (_element.props.onLayout) {\n _element.props.onLayout(event);\n }\n },\n style: StyleSheet.compose(inversionStyle, _element.props.style)\n }));\n }\n\n if (ListFooterComponent) {\n var _element2 = /*#__PURE__*/React.isValidElement(ListFooterComponent) ? ListFooterComponent :\n /*#__PURE__*/\n // $FlowFixMe\n React.createElement(ListFooterComponent, null);\n\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: StyleSheet.compose(inversionStyle, this.props.ListFooterComponentStyle)\n }, // $FlowFixMe - Typing ReactNativeComponent revealed errors\n _element2)));\n }\n\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: this.props.scrollEventThrottle,\n // TODO: Android support\n stickyHeaderIndices: stickyHeaderIndices,\n style: inversionStyle ? [inversionStyle, this.props.style] : this.props.style\n });\n\n this._hasMore = this.state.last < this.props.getItemCount(this.props.data) - 1;\n var innerRet = /*#__PURE__*/React.createElement(VirtualizedListContextProvider, {\n value: {\n cellKey: null,\n getScrollMetrics: this._getScrollMetrics,\n horizontal: this.props.horizontal,\n getOutermostParentListRef: this._getOutermostParentListRef,\n getNestedChildState: this._getNestedChildState,\n registerAsNestedChild: this._registerAsNestedChild,\n unregisterAsNestedChild: this._unregisterAsNestedChild,\n debugInfo: this._getDebugInfo()\n }\n }, /*#__PURE__*/React.cloneElement((this.props.renderScrollComponent || this._defaultRenderScrollComponent)(scrollProps), {\n ref: this._captureScrollRef\n }, cells));\n var ret = innerRet;\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\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this$props9 = this.props,\n data = _this$props9.data,\n extraData = _this$props9.extraData;\n\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(function (tuple) {\n tuple.viewabilityHelper.resetViewableIndices();\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\n\n var hiPriInProgress = this._hiPriInProgress;\n\n this._scheduleCellsToRenderUpdate(); // Make sure setting `this._hiPriInProgress` back to false after `componentDidUpdate`\n // is triggered with `this._hiPriInProgress = true`\n\n\n if (hiPriInProgress) {\n this._hiPriInProgress = false;\n }\n };\n\n _proto._computeBlankness = function _computeBlankness() {\n this._fillRateHelper.computeBlankness(this.props, this.state, this._scrollMetrics);\n };\n\n _proto._onCellLayout = function _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: index,\n inLayout: true\n };\n var curr = this._frames[cellKey];\n\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\n this._scheduleCellsToRenderUpdate();\n } else {\n this._frames[cellKey].inLayout = true;\n }\n\n this._triggerRemeasureForChildListsInCell(cellKey);\n\n this._computeBlankness();\n\n this._updateViewableItems(this.props.data);\n };\n\n _proto._triggerRemeasureForChildListsInCell = function _triggerRemeasureForChildListsInCell(cellKey) {\n var childListKeys = this._cellKeysToChildListKeys.get(cellKey);\n\n if (childListKeys) {\n for (var _iterator2 = _createForOfIteratorHelperLoose(childListKeys), _step2; !(_step2 = _iterator2()).done;) {\n var childKey = _step2.value;\n\n var childList = this._nestedChildLists.get(childKey);\n\n childList && childList.ref && childList.ref.measureLayoutRelativeToContainingList();\n }\n }\n };\n\n _proto.measureLayoutRelativeToContainingList = function measureLayoutRelativeToContainingList() {\n var _this4 = this;\n\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 } // We are assuming that getOutermostParentListRef().getScrollRef()\n // is a non-null reference to a ScrollView\n\n\n this._scrollRef.measureLayout(this.context.getOutermostParentListRef().getScrollRef(), function (x, y, width, height) {\n _this4._offsetFromParentVirtualizedList = _this4._selectOffset({\n x: x,\n y: y\n });\n _this4._scrollMetrics.contentLength = _this4._selectLength({\n width: width,\n height: height\n });\n\n var scrollMetrics = _this4._convertParentScrollMetrics(_this4.context.getScrollMetrics());\n\n _this4._scrollMetrics.visibleLength = scrollMetrics.visibleLength;\n _this4._scrollMetrics.offset = scrollMetrics.offset;\n }, function (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\n _proto._getFooterCellKey = function _getFooterCellKey() {\n return this._getCellKey() + '-footer';\n };\n\n _proto._renderDebugOverlay = function _renderDebugOverlay() {\n var normalize = this._scrollMetrics.visibleLength / (this._scrollMetrics.contentLength || 1);\n var framesInLayout = [];\n var itemCount = this.props.getItemCount(this.props.data);\n\n for (var ii = 0; ii < itemCount; ii++) {\n var frame = this._getFrameMetricsApprox(ii);\n /* $FlowFixMe(>=0.68.0 site=react_native_fb) This comment suppresses an\n * error found when Flow v0.68 was deployed. To see the error delete this\n * comment and run Flow. */\n\n\n if (frame.inLayout) {\n framesInLayout.push(frame);\n }\n }\n\n var windowTop = this._getFrameMetricsApprox(this.state.first).offset;\n\n var frameLast = this._getFrameMetricsApprox(this.state.last);\n\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(function (f, ii) {\n return /*#__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 });\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\n _proto._selectLength = function _selectLength(metrics) {\n return !this.props.horizontal ? metrics.height : metrics.width;\n };\n\n _proto._selectOffset = function _selectOffset(metrics) {\n return !this.props.horizontal ? metrics.y : metrics.x;\n };\n\n _proto._maybeCallOnEndReached = function _maybeCallOnEndReached() {\n var _this$props10 = this.props,\n data = _this$props10.data,\n getItemCount = _this$props10.getItemCount,\n onEndReached = _this$props10.onEndReached,\n onEndReachedThreshold = _this$props10.onEndReachedThreshold;\n var _this$_scrollMetrics2 = this._scrollMetrics,\n contentLength = _this$_scrollMetrics2.contentLength,\n visibleLength = _this$_scrollMetrics2.visibleLength,\n offset = _this$_scrollMetrics2.offset;\n var distanceFromEnd = contentLength - visibleLength - offset;\n var threshold = onEndReachedThreshold ? onEndReachedThreshold * visibleLength : 2;\n\n if (onEndReached && this.state.last === getItemCount(data) - 1 && distanceFromEnd < threshold && this._scrollMetrics.contentLength !== this._sentEndForContentLength) {\n // Only call onEndReached once for a given content length\n this._sentEndForContentLength = this._scrollMetrics.contentLength;\n onEndReached({\n distanceFromEnd: distanceFromEnd\n });\n } else if (distanceFromEnd > threshold) {\n // If the user scrolls away from the end and back again cause\n // an onEndReached to be triggered again\n this._sentEndForContentLength = 0;\n }\n };\n\n _proto._scheduleCellsToRenderUpdate = function _scheduleCellsToRenderUpdate() {\n var _this$state2 = this.state,\n first = _this$state2.first,\n last = _this$state2.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 scrollingThreshold =\n /* $FlowFixMe(>=0.63.0 site=react_native_fb) This comment suppresses an\n * error found when Flow v0.63 was deployed. To see the error delete\n * this comment and run Flow. */\n this.props.onEndReachedThreshold * visibleLength / 2; // 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\n if (first > 0) {\n var distTop = offset - this._getFrameMetricsApprox(first).offset;\n\n hiPri = hiPri || distTop < 0 || velocity < -2 && distTop < scrollingThreshold;\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\n\n if (last < itemCount - 1) {\n var distBottom = this._getFrameMetricsApprox(last).offset - (offset + visibleLength);\n hiPri = hiPri || distBottom < 0 || velocity > 2 && distBottom < scrollingThreshold;\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\n\n if (hiPri && (this._averageCellLength || this.props.getItemLayout) && !this._hiPriInProgress) {\n this._hiPriInProgress = true; // Don't worry about interactions when scrolling quickly; focus on filling content as fast\n // as possible.\n\n this._updateCellsToRenderBatcher.dispose({\n abort: true\n });\n\n this._updateCellsToRender();\n\n return;\n } else {\n this._updateCellsToRenderBatcher.schedule();\n }\n };\n\n _proto._updateViewableItems = function _updateViewableItems(data) {\n var _this5 = this;\n\n var getItemCount = this.props.getItemCount;\n\n this._viewabilityTuples.forEach(function (tuple) {\n tuple.viewabilityHelper.onUpdate(getItemCount(data), _this5._scrollMetrics.offset, _this5._scrollMetrics.visibleLength, _this5._getFrameMetrics, _this5._createViewToken, tuple.onViewableItemsChanged, _this5.state);\n });\n };\n\n return VirtualizedList;\n}(React.PureComponent);\n\nVirtualizedList.contextType = VirtualizedListContext;\nVirtualizedList.defaultProps = {\n disableVirtualization: false,\n horizontal: false,\n initialNumToRender: 10,\n keyExtractor: function keyExtractor(item, index) {\n if (item.key != null) {\n return item.key;\n }\n\n if (item.id != null) {\n return item.id;\n }\n\n _usedIndexForKey = true;\n\n if (item.type && item.type.displayName) {\n _keylessItemComponentName = item.type.displayName;\n }\n\n return String(index);\n },\n maxToRenderPerBatch: 10,\n onEndReachedThreshold: 2,\n // multiples of length\n scrollEventThrottle: 50,\n updateCellsBatchingPeriod: 50,\n windowSize: 21 // multiples of length\n\n};\n\nvar CellRenderer = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(CellRenderer, _React$Component);\n\n function CellRenderer() {\n var _this6;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this6 = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this6.state = {\n separatorProps: {\n highlighted: false,\n leadingItem: _this6.props.item\n }\n };\n _this6._separators = {\n highlight: function highlight() {\n var _this6$props = _this6.props,\n cellKey = _this6$props.cellKey,\n prevCellKey = _this6$props.prevCellKey;\n\n _this6.props.onUpdateSeparators([cellKey, prevCellKey], {\n highlighted: true\n });\n },\n unhighlight: function unhighlight() {\n var _this6$props2 = _this6.props,\n cellKey = _this6$props2.cellKey,\n prevCellKey = _this6$props2.prevCellKey;\n\n _this6.props.onUpdateSeparators([cellKey, prevCellKey], {\n highlighted: false\n });\n },\n updateProps: function updateProps(select, newProps) {\n var _this6$props3 = _this6.props,\n cellKey = _this6$props3.cellKey,\n prevCellKey = _this6$props3.prevCellKey;\n\n _this6.props.onUpdateSeparators([select === 'leading' ? prevCellKey : cellKey], newProps);\n }\n };\n return _this6;\n }\n\n CellRenderer.getDerivedStateFromProps = function getDerivedStateFromProps(props, prevState) {\n return {\n separatorProps: _objectSpread(_objectSpread({}, prevState.separatorProps), {}, {\n leadingItem: props.item\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 ;\n\n var _proto2 = CellRenderer.prototype;\n\n _proto2.updateSeparatorProps = function updateSeparatorProps(newProps) {\n this.setState(function (state) {\n return {\n separatorProps: _objectSpread(_objectSpread({}, state.separatorProps), newProps)\n };\n });\n };\n\n _proto2.componentWillUnmount = function componentWillUnmount() {\n this.props.onUnmount(this.props.cellKey);\n };\n\n _proto2._renderElement = function _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\n if (ListItemComponent) {\n /* $FlowFixMe(>=0.108.0 site=react_native_fb) This comment suppresses an\n * error found when Flow v0.108 was deployed. To see the error, delete\n * this comment and run Flow. */\n return /*#__PURE__*/React.createElement(ListItemComponent, {\n item: item,\n index: index,\n separators: this._separators\n });\n }\n\n if (renderItem) {\n return renderItem({\n item: item,\n index: index,\n separators: this._separators\n });\n }\n\n invariant(false, 'VirtualizedList: Either ListItemComponent or renderItem props are required but none were found.');\n };\n\n _proto2.render = function render() {\n var _this$props11 = this.props,\n CellRendererComponent = _this$props11.CellRendererComponent,\n ItemSeparatorComponent = _this$props11.ItemSeparatorComponent,\n fillRateHelper = _this$props11.fillRateHelper,\n horizontal = _this$props11.horizontal,\n item = _this$props11.item,\n index = _this$props11.index,\n inversionStyle = _this$props11.inversionStyle,\n parentProps = _this$props11.parentProps;\n var renderItem = parentProps.renderItem,\n getItemLayout = parentProps.getItemLayout,\n ListItemComponent = parentProps.ListItemComponent;\n\n var element = this._renderElement(renderItem, ListItemComponent, item, index);\n\n var onLayout =\n /* $FlowFixMe(>=0.68.0 site=react_native_fb) This comment suppresses an\n * error found when Flow v0.68 was deployed. To see the error delete this\n * comment and run Flow. */\n getItemLayout && !parentProps.debug && !fillRateHelper.enabled() ? undefined : this.props.onLayout; // NOTE: that when this is a sticky header, `onLayout` will get automatically extracted and\n // called explicitly by `ScrollViewStickyHeader`.\n\n var itemSeparator = 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 ?\n /*#__PURE__*/\n\n /* $FlowFixMe(>=0.89.0 site=react_native_fb) This comment suppresses an\n * error found when Flow v0.89 was deployed. To see the error, delete\n * this comment and run Flow. */\n React.createElement(View, {\n style: cellStyle,\n onLayout: onLayout\n }, element, itemSeparator) : /*#__PURE__*/React.createElement(CellRendererComponent, _extends({}, this.props, {\n style: cellStyle,\n onLayout: onLayout\n }), element, itemSeparator);\n return /*#__PURE__*/React.createElement(VirtualizedListCellContextProvider, {\n cellKey: this.props.cellKey\n }, result);\n };\n\n return CellRenderer;\n}(React.Component);\n\nfunction describeNestedLists(childList) {\n var trace = 'VirtualizedList trace:\\n' + (\" Child (\" + (childList.horizontal ? 'horizontal' : 'vertical') + \"):\\n\") + (\" listKey: \" + childList.key + \"\\n\") + (\" cellKey: \" + childList.cellKey);\n var debugInfo = childList.parentDebugInfo;\n\n while (debugInfo) {\n trace += \"\\n Parent (\" + (debugInfo.horizontal ? 'horizontal' : 'vertical') + \"):\\n\" + (\" listKey: \" + debugInfo.listKey + \"\\n\") + (\" cellKey: \" + debugInfo.cellKey);\n debugInfo = debugInfo.parent;\n }\n\n return trace;\n}\n\nvar styles = StyleSheet.create({\n verticallyInverted: {\n transform: [{\n scaleY: -1\n }]\n },\n horizontallyInverted: {\n transform: [{\n scaleX: -1\n }]\n },\n row: {\n flexDirection: 'row'\n },\n rowReverse: {\n flexDirection: 'row-reverse'\n },\n columnReverse: {\n flexDirection: 'column-reverse'\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;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/9c478ed09d1870d2825ff44ffcdf4918.json b/.expo/web/cache/development/babel-loader/9c478ed09d1870d2825ff44ffcdf4918.json new file mode 100644 index 0000000000000000000000000000000000000000..82d2b3e8f71c692c5fca5b89bedb2337baffa529 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/9c478ed09d1870d2825ff44ffcdf4918.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport AnimatedValue from \"../nodes/AnimatedValue\";\nimport AnimatedValueXY from \"../nodes/AnimatedValueXY\";\nimport AnimatedInterpolation from \"../nodes/AnimatedInterpolation\";\nimport Animation from \"./Animation\";\nimport SpringConfig from \"../SpringConfig\";\nimport invariant from 'fbjs/lib/invariant';\nimport { shouldUseNativeDriver } from \"../NativeAnimatedHelper\";\n\nvar SpringAnimation = function (_Animation) {\n _inheritsLoose(SpringAnimation, _Animation);\n\n function SpringAnimation(config) {\n var _config$overshootClam, _config$restDisplacem, _config$restSpeedThre, _config$velocity, _config$velocity2, _config$delay, _config$isInteraction, _config$iterations;\n\n var _this;\n\n _this = _Animation.call(this) || this;\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.__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 if (config.stiffness !== undefined || config.damping !== undefined || config.mass !== undefined) {\n var _config$stiffness, _config$damping, _config$mass;\n\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\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\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\n _this._stiffness = _springConfig.stiffness;\n _this._damping = _springConfig.damping;\n _this._mass = 1;\n }\n\n invariant(_this._stiffness > 0, 'Stiffness value must be greater than 0');\n invariant(_this._damping > 0, 'Damping value must be greater than 0');\n invariant(_this._mass > 0, 'Mass value must be greater than 0');\n return _this;\n }\n\n var _proto = SpringAnimation.prototype;\n\n _proto.__getNativeAnimationConfig = function __getNativeAnimationConfig() {\n var _this$_initialVelocit;\n\n return {\n type: 'spring',\n overshootClamping: this._overshootClamping,\n restDisplacementThreshold: this._restDisplacementThreshold,\n restSpeedThreshold: this._restSpeedThreshold,\n stiffness: this._stiffness,\n damping: this._damping,\n mass: this._mass,\n initialVelocity: (_this$_initialVelocit = this._initialVelocity) !== null && _this$_initialVelocit !== void 0 ? _this$_initialVelocit : this._lastVelocity,\n toValue: this._toValue,\n iterations: this.__iterations\n };\n };\n\n _proto.start = function start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {\n var _this2 = this;\n\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\n if (previousAnimation instanceof SpringAnimation) {\n var internalState = previousAnimation.getInternalState();\n this._lastPosition = internalState.lastPosition;\n this._lastVelocity = internalState.lastVelocity;\n this._initialVelocity = this._lastVelocity;\n this._lastTime = internalState.lastTime;\n }\n\n var start = function start() {\n if (_this2._useNativeDriver) {\n _this2.__startNativeAnimation(animatedValue);\n } else {\n _this2.onUpdate();\n }\n };\n\n if (this._delay) {\n this._timeout = setTimeout(start, this._delay);\n } else {\n start();\n }\n };\n\n _proto.getInternalState = function getInternalState() {\n return {\n lastPosition: this._lastPosition,\n lastVelocity: this._lastVelocity,\n lastTime: this._lastTime\n };\n };\n\n _proto.onUpdate = function onUpdate() {\n var MAX_STEPS = 64;\n var now = Date.now();\n\n if (now > this._lastTime + MAX_STEPS) {\n now = this._lastTime + MAX_STEPS;\n }\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));\n var omega0 = Math.sqrt(k / m);\n var omega1 = omega0 * Math.sqrt(1.0 - zeta * zeta);\n var x0 = this._toValue - this._startPosition;\n var position = 0.0;\n var velocity = 0.0;\n var t = this._frameTime;\n\n if (zeta < 1) {\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 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 var _envelope = Math.exp(-omega0 * t);\n\n position = this._toValue - _envelope * (x0 + (v0 + omega0 * x0) * t);\n velocity = _envelope * (v0 * (t * omega0 - 1) + t * x0 * (omega0 * omega0));\n }\n\n this._lastTime = now;\n this._lastPosition = position;\n this._lastVelocity = velocity;\n\n this._onUpdate(position);\n\n if (!this.__active) {\n return;\n }\n\n var isOvershooting = false;\n\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\n var isVelocity = Math.abs(velocity) <= this._restSpeedThreshold;\n\n var isDisplacement = true;\n\n if (this._stiffness !== 0) {\n isDisplacement = Math.abs(this._toValue - position) <= this._restDisplacementThreshold;\n }\n\n if (isOvershooting || isVelocity && isDisplacement) {\n if (this._stiffness !== 0) {\n this._lastPosition = this._toValue;\n this._lastVelocity = 0;\n\n this._onUpdate(this._toValue);\n }\n\n this.__debouncedOnEnd({\n finished: true\n });\n\n return;\n }\n\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n };\n\n _proto.stop = function stop() {\n _Animation.prototype.stop.call(this);\n\n this.__active = false;\n clearTimeout(this._timeout);\n global.cancelAnimationFrame(this._animationFrame);\n\n this.__debouncedOnEnd({\n finished: false\n });\n };\n\n return SpringAnimation;\n}(Animation);\n\nexport default SpringAnimation;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/animations/SpringAnimation.js"],"names":["_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","AnimatedValue","AnimatedValueXY","AnimatedInterpolation","Animation","SpringConfig","invariant","shouldUseNativeDriver","SpringAnimation","_Animation","config","_config$overshootClam","_config$restDisplacem","_config$restSpeedThre","_config$velocity","_config$velocity2","_config$delay","_config$isInteraction","_config$iterations","_this","call","_overshootClamping","overshootClamping","_restDisplacementThreshold","restDisplacementThreshold","_restSpeedThreshold","restSpeedThreshold","_initialVelocity","velocity","_lastVelocity","_toValue","toValue","_delay","delay","_useNativeDriver","__isInteraction","isInteraction","__iterations","iterations","stiffness","undefined","damping","mass","_config$stiffness","_config$damping","_config$mass","bounciness","speed","tension","friction","_stiffness","_damping","_mass","_config$bounciness","_config$speed","springConfig","fromBouncinessAndSpeed","_config$tension","_config$friction","_springConfig","fromOrigamiTensionAndFriction","_proto","__getNativeAnimationConfig","_this$_initialVelocit","type","initialVelocity","start","fromValue","onUpdate","onEnd","previousAnimation","animatedValue","_this2","__active","_startPosition","_lastPosition","_onUpdate","__onEnd","_lastTime","Date","now","_frameTime","internalState","getInternalState","lastPosition","lastVelocity","lastTime","__startNativeAnimation","_timeout","setTimeout","MAX_STEPS","deltaTime","c","m","k","v0","zeta","Math","sqrt","omega0","omega1","x0","position","t","envelope","exp","sin","cos","_envelope","isOvershooting","isVelocity","abs","isDisplacement","__debouncedOnEnd","finished","_animationFrame","requestAnimationFrame","bind","stop","clearTimeout","global","cancelAnimationFrame"],"mappings":"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","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport AnimatedValue from '../nodes/AnimatedValue';\nimport AnimatedValueXY from '../nodes/AnimatedValueXY';\nimport AnimatedInterpolation from '../nodes/AnimatedInterpolation';\nimport Animation from './Animation';\nimport SpringConfig from '../SpringConfig';\nimport invariant from 'fbjs/lib/invariant';\nimport { shouldUseNativeDriver } from '../NativeAnimatedHelper';\n\nvar SpringAnimation = /*#__PURE__*/function (_Animation) {\n _inheritsLoose(SpringAnimation, _Animation);\n\n function SpringAnimation(config) {\n var _config$overshootClam, _config$restDisplacem, _config$restSpeedThre, _config$velocity, _config$velocity2, _config$delay, _config$isInteraction, _config$iterations;\n\n var _this;\n\n _this = _Animation.call(this) || this;\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.__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 if (config.stiffness !== undefined || config.damping !== undefined || config.mass !== undefined) {\n var _config$stiffness, _config$damping, _config$mass;\n\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\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\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\n _this._stiffness = _springConfig.stiffness;\n _this._damping = _springConfig.damping;\n _this._mass = 1;\n }\n\n invariant(_this._stiffness > 0, 'Stiffness value must be greater than 0');\n invariant(_this._damping > 0, 'Damping value must be greater than 0');\n invariant(_this._mass > 0, 'Mass value must be greater than 0');\n return _this;\n }\n\n var _proto = SpringAnimation.prototype;\n\n _proto.__getNativeAnimationConfig = function __getNativeAnimationConfig() {\n var _this$_initialVelocit;\n\n return {\n type: 'spring',\n overshootClamping: this._overshootClamping,\n restDisplacementThreshold: this._restDisplacementThreshold,\n restSpeedThreshold: this._restSpeedThreshold,\n stiffness: this._stiffness,\n damping: this._damping,\n mass: this._mass,\n initialVelocity: (_this$_initialVelocit = this._initialVelocity) !== null && _this$_initialVelocit !== void 0 ? _this$_initialVelocit : this._lastVelocity,\n toValue: this._toValue,\n iterations: this.__iterations\n };\n };\n\n _proto.start = function start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {\n var _this2 = this;\n\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\n if (previousAnimation instanceof SpringAnimation) {\n var internalState = previousAnimation.getInternalState();\n this._lastPosition = internalState.lastPosition;\n this._lastVelocity = internalState.lastVelocity; // Set the initial velocity to the last velocity\n\n this._initialVelocity = this._lastVelocity;\n this._lastTime = internalState.lastTime;\n }\n\n var start = function start() {\n if (_this2._useNativeDriver) {\n _this2.__startNativeAnimation(animatedValue);\n } else {\n _this2.onUpdate();\n }\n }; // If this._delay is more than 0, we start after the timeout.\n\n\n if (this._delay) {\n this._timeout = setTimeout(start, this._delay);\n } else {\n start();\n }\n };\n\n _proto.getInternalState = function getInternalState() {\n return {\n lastPosition: this._lastPosition,\n lastVelocity: this._lastVelocity,\n lastTime: this._lastTime\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 ;\n\n _proto.onUpdate = function 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\n if (now > this._lastTime + MAX_STEPS) {\n now = this._lastTime + MAX_STEPS;\n }\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\n var omega0 = Math.sqrt(k / m); // undamped angular frequency of the oscillator (rad/ms)\n\n var omega1 = omega0 * Math.sqrt(1.0 - zeta * zeta); // exponential decay\n\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\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)); // This looks crazy -- it's actually just the derivative of the\n // oscillation function\n\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\n position = this._toValue - _envelope * (x0 + (v0 + omega0 * x0) * t);\n velocity = _envelope * (v0 * (t * omega0 - 1) + t * x0 * (omega0 * omega0));\n }\n\n this._lastTime = now;\n this._lastPosition = position;\n this._lastVelocity = velocity;\n\n this._onUpdate(position);\n\n if (!this.__active) {\n // a listener might have stopped us in _onUpdate\n return;\n } // Conditions for stopping the spring animation\n\n\n var isOvershooting = false;\n\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\n var isVelocity = Math.abs(velocity) <= this._restSpeedThreshold;\n\n var isDisplacement = true;\n\n if (this._stiffness !== 0) {\n isDisplacement = Math.abs(this._toValue - position) <= this._restDisplacementThreshold;\n }\n\n if (isOvershooting || isVelocity && isDisplacement) {\n if (this._stiffness !== 0) {\n // Ensure that we end up with a round value\n this._lastPosition = this._toValue;\n this._lastVelocity = 0;\n\n this._onUpdate(this._toValue);\n }\n\n this.__debouncedOnEnd({\n finished: true\n });\n\n return;\n }\n\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n };\n\n _proto.stop = function stop() {\n _Animation.prototype.stop.call(this);\n\n this.__active = false;\n clearTimeout(this._timeout);\n global.cancelAnimationFrame(this._animationFrame);\n\n this.__debouncedOnEnd({\n finished: false\n });\n };\n\n return SpringAnimation;\n}(Animation);\n\nexport default SpringAnimation;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/9ce369fa1836db141a38eccdb29024e7.json b/.expo/web/cache/development/babel-loader/9ce369fa1836db141a38eccdb29024e7.json new file mode 100644 index 0000000000000000000000000000000000000000..3b8e22603a24f76e185e4756c4157978b3da4b27 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/9ce369fa1836db141a38eccdb29024e7.json @@ -0,0 +1 @@ +{"ast":null,"code":"import FlatList from \"../../vendor/react-native/FlatList\";\nexport default FlatList;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/FlatList/index.js"],"names":["FlatList"],"mappings":"AASA,OAAOA,QAAP;AACA,eAAeA,QAAf","sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport FlatList from '../../vendor/react-native/FlatList';\nexport default FlatList;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/9cff7579e58304517b6d6c3f4f7b11fc.json b/.expo/web/cache/development/babel-loader/9cff7579e58304517b6d6c3f4f7b11fc.json new file mode 100644 index 0000000000000000000000000000000000000000..e413efc7b0578aefb2ae8b0169f93134322fb9a4 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/9cff7579e58304517b6d6c3f4f7b11fc.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users.toString);\n setUsers(users);\n });\n\n if (users != null) {\n Alert.alert(users.id);\n }\n }, []);\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {\n children: item.Name\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: users,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","params","post","Item","item","onPress","backgroundColor","textColor","styles","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users.toString);\r\n setUsers(users)\r\n});\r\nif(users!= null){\r\n Alert.alert(users.id)\r\n}\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\n/*function writeData(){\r\n \r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})\r\n}*/\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async () => {\r\n const id = 'q5EOqKxKEsAO6lLmhbnc';\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUsers({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n Alert.alert(users[0])\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.Name} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser'/> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={users}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/9d43159dc6b13814b98acae5bfb4ac8a.json b/.expo/web/cache/development/babel-loader/9d43159dc6b13814b98acae5bfb4ac8a.json new file mode 100644 index 0000000000000000000000000000000000000000..90f8048ff31345b8612c3d9390e8b2288efd6a88 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/9d43159dc6b13814b98acae5bfb4ac8a.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nimport invariant from 'fbjs/lib/invariant';\n\nfunction elementsThatOverlapOffsets(offsets, itemCount, getFrameMetrics) {\n var out = [];\n var outLength = 0;\n\n for (var ii = 0; ii < itemCount; ii++) {\n var frame = getFrameMetrics(ii);\n var trailingOffset = frame.offset + frame.length;\n\n for (var kk = 0; kk < offsets.length; kk++) {\n if (out[kk] == null && trailingOffset >= offsets[kk]) {\n out[kk] = ii;\n outLength++;\n\n if (kk === offsets.length - 1) {\n invariant(outLength === offsets.length, 'bad offsets input, should be in increasing order: %s', JSON.stringify(offsets));\n return out;\n }\n }\n }\n }\n\n return out;\n}\n\nfunction 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\nfunction computeWindowedRenderLimits(props, prev, getFrameMetricsApprox, scrollMetrics) {\n var data = props.data,\n getItemCount = props.getItemCount,\n maxToRenderPerBatch = props.maxToRenderPerBatch,\n windowSize = props.windowSize;\n var itemCount = getItemCount(data);\n\n if (itemCount === 0) {\n return prev;\n }\n\n var offset = scrollMetrics.offset,\n velocity = scrollMetrics.velocity,\n visibleLength = scrollMetrics.visibleLength;\n var visibleBegin = Math.max(0, offset);\n var visibleEnd = visibleBegin + visibleLength;\n var overscanLength = (windowSize - 1) * visibleLength;\n var leadFactor = 0.5;\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).offset;\n\n if (lastItemOffset < overscanBegin) {\n return {\n first: Math.max(0, itemCount - 1 - maxToRenderPerBatch),\n last: itemCount - 1\n };\n }\n\n var _elementsThatOverlapO = elementsThatOverlapOffsets([overscanBegin, visibleBegin, visibleEnd, overscanEnd], props.getItemCount(props.data), getFrameMetricsApprox),\n overscanFirst = _elementsThatOverlapO[0],\n first = _elementsThatOverlapO[1],\n last = _elementsThatOverlapO[2],\n overscanLast = _elementsThatOverlapO[3];\n\n overscanFirst = overscanFirst == null ? 0 : overscanFirst;\n first = first == null ? Math.max(0, overscanFirst) : first;\n overscanLast = overscanLast == null ? itemCount - 1 : overscanLast;\n last = last == null ? Math.min(overscanLast, first + maxToRenderPerBatch - 1) : last;\n var visible = {\n first: first,\n last: last\n };\n var newCellCount = newRangeCount(prev, visible);\n\n while (true) {\n if (first <= overscanFirst && last >= overscanLast) {\n break;\n }\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\n if (maxNewCells && !firstShouldIncrement && !lastShouldIncrement) {\n break;\n }\n\n if (firstShouldIncrement && !(fillPreference === 'after' && lastShouldIncrement && lastWillAddMore)) {\n if (firstWillAddMore) {\n newCellCount++;\n }\n\n first--;\n }\n\n if (lastShouldIncrement && !(fillPreference === 'before' && firstShouldIncrement && firstWillAddMore)) {\n if (lastWillAddMore) {\n newCellCount++;\n }\n\n last++;\n }\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: first,\n last: last,\n itemCount: itemCount,\n overscanFirst: overscanFirst,\n overscanLast: overscanLast,\n visible: visible\n }));\n }\n\n return {\n first: first,\n last: last\n };\n}\n\nvar VirtualizeUtils = {\n computeWindowedRenderLimits: computeWindowedRenderLimits,\n elementsThatOverlapOffsets: elementsThatOverlapOffsets,\n newRangeCount: newRangeCount\n};\nexport { computeWindowedRenderLimits, elementsThatOverlapOffsets, newRangeCount };\nexport default VirtualizeUtils;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/VirtualizeUtils/index.js"],"names":["invariant","elementsThatOverlapOffsets","offsets","itemCount","getFrameMetrics","out","outLength","ii","frame","trailingOffset","offset","length","kk","JSON","stringify","newRangeCount","prev","next","last","first","Math","max","min","computeWindowedRenderLimits","props","getFrameMetricsApprox","scrollMetrics","data","getItemCount","maxToRenderPerBatch","windowSize","velocity","visibleLength","visibleBegin","visibleEnd","overscanLength","leadFactor","fillPreference","overscanBegin","overscanEnd","lastItemOffset","_elementsThatOverlapO","overscanFirst","overscanLast","visible","newCellCount","maxNewCells","firstWillAddMore","firstShouldIncrement","lastWillAddMore","lastShouldIncrement","Error","VirtualizeUtils"],"mappings":"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","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nimport invariant from 'fbjs/lib/invariant';\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 */\n\nfunction elementsThatOverlapOffsets(offsets, itemCount, getFrameMetrics) {\n var out = [];\n var outLength = 0;\n\n for (var ii = 0; ii < itemCount; ii++) {\n var frame = getFrameMetrics(ii);\n var trailingOffset = frame.offset + frame.length;\n\n for (var kk = 0; kk < offsets.length; kk++) {\n if (out[kk] == null && trailingOffset >= offsets[kk]) {\n out[kk] = ii;\n outLength++;\n\n if (kk === offsets.length - 1) {\n invariant(outLength === offsets.length, 'bad offsets input, should be in increasing order: %s', JSON.stringify(offsets));\n return out;\n }\n }\n }\n }\n\n return out;\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 */\n\n\nfunction 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 * 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 */\n\n\nfunction computeWindowedRenderLimits(props, prev, getFrameMetricsApprox, scrollMetrics) {\n var data = props.data,\n getItemCount = props.getItemCount,\n maxToRenderPerBatch = props.maxToRenderPerBatch,\n windowSize = props.windowSize;\n var itemCount = getItemCount(data);\n\n if (itemCount === 0) {\n return prev;\n }\n\n var offset = scrollMetrics.offset,\n velocity = scrollMetrics.velocity,\n visibleLength = scrollMetrics.visibleLength; // 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\n var visibleBegin = Math.max(0, offset);\n var visibleEnd = visibleBegin + visibleLength;\n var overscanLength = (windowSize - 1) * visibleLength; // Considering velocity seems to introduce more churn than it's worth.\n\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).offset;\n\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 } // Find the indices that correspond to the items at the render boundaries we're targeting.\n\n\n var _elementsThatOverlapO = elementsThatOverlapOffsets([overscanBegin, visibleBegin, visibleEnd, overscanEnd], props.getItemCount(props.data), getFrameMetricsApprox),\n overscanFirst = _elementsThatOverlapO[0],\n first = _elementsThatOverlapO[1],\n last = _elementsThatOverlapO[2],\n overscanLast = _elementsThatOverlapO[3];\n\n overscanFirst = overscanFirst == null ? 0 : overscanFirst;\n first = first == null ? Math.max(0, overscanFirst) : first;\n overscanLast = overscanLast == null ? itemCount - 1 : overscanLast;\n last = last == null ? Math.min(overscanLast, first + maxToRenderPerBatch - 1) : last;\n var visible = {\n first: first,\n last: last\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\n var newCellCount = newRangeCount(prev, visible);\n\n while (true) {\n if (first <= overscanFirst && last >= overscanLast) {\n // If we fill the entire overscan range, we're done.\n break;\n }\n\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\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\n if (firstShouldIncrement && !(fillPreference === 'after' && lastShouldIncrement && lastWillAddMore)) {\n if (firstWillAddMore) {\n newCellCount++;\n }\n\n first--;\n }\n\n if (lastShouldIncrement && !(fillPreference === 'before' && firstShouldIncrement && firstWillAddMore)) {\n if (lastWillAddMore) {\n newCellCount++;\n }\n\n last++;\n }\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: first,\n last: last,\n itemCount: itemCount,\n overscanFirst: overscanFirst,\n overscanLast: overscanLast,\n visible: visible\n }));\n }\n\n return {\n first: first,\n last: last\n };\n}\n\nvar VirtualizeUtils = {\n computeWindowedRenderLimits: computeWindowedRenderLimits,\n elementsThatOverlapOffsets: elementsThatOverlapOffsets,\n newRangeCount: newRangeCount\n};\nexport { computeWindowedRenderLimits, elementsThatOverlapOffsets, newRangeCount };\nexport default VirtualizeUtils;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/9e0f2a3862f8f779315af19854c8998d.json b/.expo/web/cache/development/babel-loader/9e0f2a3862f8f779315af19854c8998d.json new file mode 100644 index 0000000000000000000000000000000000000000..3be882d145e23bbcf2420b78b63b28724a6dbb70 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/9e0f2a3862f8f779315af19854c8998d.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n listenOnChange();\n useEffect(function () {\n var colRef = collection(getFirestore(), \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var message = doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n Alert.alert(doc.data().toString());\n });\n });\n }, []);\n\n function useeffect() {\n getDocs(collection(getFirestore(), 'Users')).forEach(function (doc) {\n console.log(doc.id + \" => \" + doc.data());\n });\n }\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n }\n });\n });\n }\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" bla\"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATA","UserLists","navigation","route","users","setUsers","listenOnChange","colRef","querySnapshot","forEach","message","data","itemData","name","Name","email","Email","image","Image","push","Alert","alert","toString","useeffect","console","log","id","snapchot","docChanges","change","type","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState(null);\r\n\r\nlistenOnChange();\r\n//useeffect();\r\n\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(getFirestore(),\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n var message = doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n Alert.alert(doc.data().toString());\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\nfunction useeffect(){\r\n getDocs(collection(getFirestore(),'Users')).forEach((doc) => {\r\n console.log(`${doc.id} => ${doc.data()}`);\r\n});\r\n}\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n //Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> bla</Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/9e6235317a4aa637a86cc65e2a64d515.json b/.expo/web/cache/development/babel-loader/9e6235317a4aa637a86cc65e2a64d515.json new file mode 100644 index 0000000000000000000000000000000000000000..6dba552c23e8be21015ae54dc549f5d494e3910b --- /dev/null +++ b/.expo/web/cache/development/babel-loader/9e6235317a4aa637a86cc65e2a64d515.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport * as React from 'react';\nimport useNavigation from \"./useNavigation\";\nexport default function useNavigationState(selector) {\n var navigation = useNavigation();\n\n var _React$useState = React.useState(function () {\n return selector(navigation.getState());\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n setResult = _React$useState2[1];\n\n var selectorRef = React.useRef(selector);\n React.useEffect(function () {\n selectorRef.current = selector;\n });\n React.useEffect(function () {\n var unsubscribe = navigation.addListener('state', function (e) {\n setResult(selectorRef.current(e.data.state));\n });\n return unsubscribe;\n }, [navigation]);\n return selector(navigation.getState());\n}","map":{"version":3,"sources":["useNavigationState.tsx"],"names":["navigation","useNavigation","React","selector","selectorRef","unsubscribe","e","setResult"],"mappings":";AACA,OAAO,KAAP,KAAA,MAAA,OAAA;AAGA,OAAA,aAAA;AAWA,eAAe,SAAA,kBAAA,CAAA,QAAA,EAEV;AACH,MAAMA,UAAU,GAAGC,aADhB,EACH;;AAIA,wBAAsBC,KAAK,CAALA,QAAAA,CAAe;AAAA,WAAMC,QAAQ,CAACH,UAAU,CAL3D,QAKiDA,EAAD,CAAd;AAAA,GAAfE,CAAtB;AAAA;AAAA,MAAM,SAAN;;AAGA,MAAME,WAAW,GAAGF,KAAK,CAALA,MAAAA,CAApB,QAAoBA,CAApB;AAEAA,EAAAA,KAAK,CAALA,SAAAA,CAAgB,YAAM;AACpBE,IAAAA,WAAW,CAAXA,OAAAA,GAAAA,QAAAA;AADFF,GAAAA;AAIAA,EAAAA,KAAK,CAALA,SAAAA,CAAgB,YAAM;AACpB,QAAMG,WAAW,GAAG,UAAU,CAAV,WAAA,CAAA,OAAA,EAAiCC,UAAAA,CAAD,EAAO;AACzDC,MAAAA,SAAS,CAACH,WAAW,CAAXA,OAAAA,CAAoBE,CAAC,CAADA,IAAAA,CAA9BC,KAAUH,CAAD,CAATG;AADF,KAAoB,CAApB;AAIA,WAAA,WAAA;AALFL,GAAAA,EAMG,CANHA,UAMG,CANHA;AAQA,SAAOC,QAAQ,CAACH,UAAU,CAA1B,QAAgBA,EAAD,CAAf;AACD","sourcesContent":["import type { NavigationState, ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { NavigationProp } from './types';\nimport useNavigation from './useNavigation';\n\ntype Selector<ParamList extends ParamListBase, T> = (\n state: NavigationState<ParamList>\n) => T;\n\n/**\n * Hook to get a value from the current navigation state using a selector.\n *\n * @param selector Selector function to get a value from the state.\n */\nexport default function useNavigationState<ParamList extends ParamListBase, T>(\n selector: Selector<ParamList, T>\n): T {\n const navigation = useNavigation<NavigationProp<ParamList>>();\n\n // We don't care about the state value, we run the selector again at the end\n // The state is only to make sure that there's a re-render when we have a new value\n const [, setResult] = React.useState(() => selector(navigation.getState()));\n\n // We store the selector in a ref to avoid re-subscribing listeners every render\n const selectorRef = React.useRef(selector);\n\n React.useEffect(() => {\n selectorRef.current = selector;\n });\n\n React.useEffect(() => {\n const unsubscribe = navigation.addListener('state', (e) => {\n setResult(selectorRef.current(e.data.state));\n });\n\n return unsubscribe;\n }, [navigation]);\n\n return selector(navigation.getState());\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/9e8aedf9980967296bfe0382cd6836e1.json b/.expo/web/cache/development/babel-loader/9e8aedf9980967296bfe0382cd6836e1.json new file mode 100644 index 0000000000000000000000000000000000000000..0dacb611c389044e251777936f229802a0658e9a --- /dev/null +++ b/.expo/web/cache/development/babel-loader/9e8aedf9980967296bfe0382cd6836e1.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as TurboModuleRegistry from \"../TurboModule/TurboModuleRegistry\";\nexport default TurboModuleRegistry.get('NativeAnimatedModule');","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/NativeAnimatedModule.js"],"names":["TurboModuleRegistry","get"],"mappings":"AASA,OAAO,KAAKA,mBAAZ;AACA,eAAeA,mBAAmB,CAACC,GAApB,CAAwB,sBAAxB,CAAf","sourcesContent":["/**\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 * @format\n */\nimport * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';\nexport default TurboModuleRegistry.get('NativeAnimatedModule');"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/a0ea903b45dbfb0d6a3264b44f30afe9.json b/.expo/web/cache/development/babel-loader/a0ea903b45dbfb0d6a3264b44f30afe9.json new file mode 100644 index 0000000000000000000000000000000000000000..9444ddaec5136af5aa446647b32fab97d44738f1 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/a0ea903b45dbfb0d6a3264b44f30afe9.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nvar Info = function Info() {\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;\n\nvar _sampleRate = DEBUG ? 1 : null;\n\nvar FillRateHelper = function () {\n FillRateHelper.addListener = function addListener(callback) {\n if (_sampleRate === null) {\n console.warn('Call `FillRateHelper.setSampleRate` before `addListener`.');\n }\n\n _listeners.push(callback);\n\n return {\n remove: function remove() {\n _listeners = _listeners.filter(function (listener) {\n return callback !== listener;\n });\n }\n };\n };\n\n FillRateHelper.setSampleRate = function setSampleRate(sampleRate) {\n _sampleRate = sampleRate;\n };\n\n FillRateHelper.setMinSampleCount = function setMinSampleCount(minSampleCount) {\n _minSampleCount = minSampleCount;\n };\n\n function FillRateHelper(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\n this._resetData();\n }\n\n var _proto = FillRateHelper.prototype;\n\n _proto.activate = function activate() {\n if (this._enabled && this._samplesStartTime == null) {\n DEBUG && console.debug('FillRateHelper: activate');\n this._samplesStartTime = global.performance.now();\n }\n };\n\n _proto.deactivateAndFlush = function deactivateAndFlush() {\n if (!this._enabled) {\n return;\n }\n\n var start = this._samplesStartTime;\n\n if (start == null) {\n DEBUG && console.debug('FillRateHelper: bail on deactivate with no start time');\n return;\n }\n\n if (this._info.sample_count < _minSampleCount) {\n this._resetData();\n\n return;\n }\n\n var total_time_spent = global.performance.now() - start;\n\n var info = _objectSpread(_objectSpread({}, this._info), {}, {\n total_time_spent: total_time_spent\n });\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\n for (var key in derived) {\n derived[key] = Math.round(1000 * derived[key]) / 1000;\n }\n\n console.debug('FillRateHelper deactivateAndFlush: ', {\n derived: derived,\n info: info\n });\n }\n\n _listeners.forEach(function (listener) {\n return listener(info);\n });\n\n this._resetData();\n };\n\n _proto.computeBlankness = function computeBlankness(props, state, scrollMetrics) {\n if (!this._enabled || props.getItemCount(props.data) === 0 || this._samplesStartTime == null) {\n return 0;\n }\n\n var dOffset = scrollMetrics.dOffset,\n offset = scrollMetrics.offset,\n velocity = scrollMetrics.velocity,\n visibleLength = scrollMetrics.visibleLength;\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);\n var now = global.performance.now();\n\n if (this._anyBlankStartTime != null) {\n this._info.any_blank_ms += now - this._anyBlankStartTime;\n }\n\n this._anyBlankStartTime = null;\n\n if (this._mostlyBlankStartTime != null) {\n this._info.mostly_blank_ms += now - this._mostlyBlankStartTime;\n }\n\n this._mostlyBlankStartTime = null;\n var blankTop = 0;\n var first = state.first;\n\n var firstFrame = this._getFrameMetrics(first);\n\n while (first <= state.last && (!firstFrame || !firstFrame.inLayout)) {\n firstFrame = this._getFrameMetrics(first);\n first++;\n }\n\n if (firstFrame && first > 0) {\n blankTop = Math.min(visibleLength, Math.max(0, firstFrame.offset - offset));\n }\n\n var blankBottom = 0;\n var last = state.last;\n\n var lastFrame = this._getFrameMetrics(last);\n\n while (last >= state.first && (!lastFrame || !lastFrame.inLayout)) {\n lastFrame = this._getFrameMetrics(last);\n last--;\n }\n\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\n var pixels_blank = Math.round(blankTop + blankBottom);\n var blankness = pixels_blank / visibleLength;\n\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\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\n return blankness;\n };\n\n _proto.enabled = function enabled() {\n return this._enabled;\n };\n\n _proto._resetData = function _resetData() {\n this._anyBlankStartTime = null;\n this._info = new Info();\n this._mostlyBlankStartTime = null;\n this._samplesStartTime = null;\n };\n\n return FillRateHelper;\n}();\n\nexport default FillRateHelper;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/FillRateHelper/index.js"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","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","DEBUG","_listeners","_minSampleCount","_sampleRate","FillRateHelper","addListener","callback","console","warn","remove","listener","setSampleRate","sampleRate","setMinSampleCount","minSampleCount","getFrameMetrics","_anyBlankStartTime","_enabled","_info","_mostlyBlankStartTime","_samplesStartTime","_getFrameMetrics","Math","random","_resetData","_proto","prototype","activate","debug","global","performance","now","deactivateAndFlush","start","info","derived","avg_blankness","avg_speed","avg_speed_when_any_blank","any_blank_per_min","any_blank_time_frac","mostly_blank_per_min","mostly_blank_time_frac","round","computeBlankness","props","state","scrollMetrics","getItemCount","data","dOffset","offset","velocity","visibleLength","abs","scrollSpeed","blankTop","first","firstFrame","last","inLayout","min","max","blankBottom","lastFrame","bottomEdge","blankness","enabled"],"mappings":"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","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar Info = function Info() {\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;\n\nvar _sampleRate = DEBUG ? 1 : null;\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 */\n\n\nvar FillRateHelper = /*#__PURE__*/function () {\n FillRateHelper.addListener = function addListener(callback) {\n if (_sampleRate === null) {\n console.warn('Call `FillRateHelper.setSampleRate` before `addListener`.');\n }\n\n _listeners.push(callback);\n\n return {\n remove: function remove() {\n _listeners = _listeners.filter(function (listener) {\n return callback !== listener;\n });\n }\n };\n };\n\n FillRateHelper.setSampleRate = function setSampleRate(sampleRate) {\n _sampleRate = sampleRate;\n };\n\n FillRateHelper.setMinSampleCount = function setMinSampleCount(minSampleCount) {\n _minSampleCount = minSampleCount;\n };\n\n function FillRateHelper(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\n this._resetData();\n }\n\n var _proto = FillRateHelper.prototype;\n\n _proto.activate = function activate() {\n if (this._enabled && this._samplesStartTime == null) {\n DEBUG && console.debug('FillRateHelper: activate');\n this._samplesStartTime = global.performance.now();\n }\n };\n\n _proto.deactivateAndFlush = function deactivateAndFlush() {\n if (!this._enabled) {\n return;\n }\n\n var start = this._samplesStartTime; // const for flow\n\n if (start == null) {\n DEBUG && console.debug('FillRateHelper: bail on deactivate with no start time');\n return;\n }\n\n if (this._info.sample_count < _minSampleCount) {\n // Don't bother with under-sampled events.\n this._resetData();\n\n return;\n }\n\n var total_time_spent = global.performance.now() - start;\n\n var info = _objectSpread(_objectSpread({}, this._info), {}, {\n total_time_spent: total_time_spent\n });\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\n for (var key in derived) {\n derived[key] = Math.round(1000 * derived[key]) / 1000;\n }\n\n console.debug('FillRateHelper deactivateAndFlush: ', {\n derived: derived,\n info: info\n });\n }\n\n _listeners.forEach(function (listener) {\n return listener(info);\n });\n\n this._resetData();\n };\n\n _proto.computeBlankness = function computeBlankness(props, state, scrollMetrics) {\n if (!this._enabled || props.getItemCount(props.data) === 0 || this._samplesStartTime == null) {\n return 0;\n }\n\n var dOffset = scrollMetrics.dOffset,\n offset = scrollMetrics.offset,\n velocity = scrollMetrics.velocity,\n visibleLength = scrollMetrics.visibleLength; // Denominator metrics that we track for all events - most of the time there is no blankness and\n // we want to capture that.\n\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 // Whether blank now or not, record the elapsed time blank if we were blank last time.\n\n var now = global.performance.now();\n\n if (this._anyBlankStartTime != null) {\n this._info.any_blank_ms += now - this._anyBlankStartTime;\n }\n\n this._anyBlankStartTime = null;\n\n if (this._mostlyBlankStartTime != null) {\n this._info.mostly_blank_ms += now - this._mostlyBlankStartTime;\n }\n\n this._mostlyBlankStartTime = null;\n var blankTop = 0;\n var first = state.first;\n\n var firstFrame = this._getFrameMetrics(first);\n\n while (first <= state.last && (!firstFrame || !firstFrame.inLayout)) {\n firstFrame = this._getFrameMetrics(first);\n first++;\n } // Only count blankTop if we aren't rendering the first item, otherwise we will count the header\n // as blank.\n\n\n if (firstFrame && first > 0) {\n blankTop = Math.min(visibleLength, Math.max(0, firstFrame.offset - offset));\n }\n\n var blankBottom = 0;\n var last = state.last;\n\n var lastFrame = this._getFrameMetrics(last);\n\n while (last >= state.first && (!lastFrame || !lastFrame.inLayout)) {\n lastFrame = this._getFrameMetrics(last);\n last--;\n } // Only count blankBottom if we aren't rendering the last item, otherwise we will count the\n // footer as blank.\n\n\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\n var pixels_blank = Math.round(blankTop + blankBottom);\n var blankness = pixels_blank / visibleLength;\n\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\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\n return blankness;\n };\n\n _proto.enabled = function enabled() {\n return this._enabled;\n };\n\n _proto._resetData = function _resetData() {\n this._anyBlankStartTime = null;\n this._info = new Info();\n this._mostlyBlankStartTime = null;\n this._samplesStartTime = null;\n };\n\n return FillRateHelper;\n}();\n\nexport default FillRateHelper;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/a152ad275ac41ce5d15ae427629a22e2.json b/.expo/web/cache/development/babel-loader/a152ad275ac41ce5d15ae427629a22e2.json new file mode 100644 index 0000000000000000000000000000000000000000..8ab88044625102c531f46dcdba0ad91d1be8ff05 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/a152ad275ac41ce5d15ae427629a22e2.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"onPressIn\", \"onPressOut\", \"android_ripple\", \"pressColor\", \"pressOpacity\", \"style\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nimport { useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport Animated from \"react-native-web/dist/exports/Animated\";\nimport Easing from \"react-native-web/dist/exports/Easing\";\nimport Platform from \"react-native-web/dist/exports/Platform\";\nimport Pressable from \"react-native-web/dist/exports/Pressable\";\nvar AnimatedPressable = Animated.createAnimatedComponent(Pressable);\nvar ANDROID_VERSION_LOLLIPOP = 21;\nvar ANDROID_SUPPORTS_RIPPLE = Platform.OS === 'android' && Platform.Version >= ANDROID_VERSION_LOLLIPOP;\nexport default function PlatformPressable(_ref) {\n var onPressIn = _ref.onPressIn,\n onPressOut = _ref.onPressOut,\n android_ripple = _ref.android_ripple,\n pressColor = _ref.pressColor,\n _ref$pressOpacity = _ref.pressOpacity,\n pressOpacity = _ref$pressOpacity === void 0 ? 0.3 : _ref$pressOpacity,\n style = _ref.style,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n var _useTheme = useTheme(),\n dark = _useTheme.dark;\n\n var _React$useState = React.useState(function () {\n return new Animated.Value(1);\n }),\n _React$useState2 = _slicedToArray(_React$useState, 1),\n opacity = _React$useState2[0];\n\n var animateTo = function animateTo(toValue, duration) {\n if (ANDROID_SUPPORTS_RIPPLE) {\n return;\n }\n\n Animated.timing(opacity, {\n toValue: toValue,\n duration: duration,\n easing: Easing.inOut(Easing.quad),\n useNativeDriver: true\n }).start();\n };\n\n var handlePressIn = function handlePressIn(e) {\n animateTo(pressOpacity, 0);\n onPressIn === null || onPressIn === void 0 ? void 0 : onPressIn(e);\n };\n\n var handlePressOut = function handlePressOut(e) {\n animateTo(1, 200);\n onPressOut === null || onPressOut === void 0 ? void 0 : onPressOut(e);\n };\n\n return React.createElement(AnimatedPressable, _extends({\n onPressIn: handlePressIn,\n onPressOut: handlePressOut,\n android_ripple: ANDROID_SUPPORTS_RIPPLE ? _objectSpread({\n color: pressColor !== undefined ? pressColor : dark ? 'rgba(255, 255, 255, .32)' : 'rgba(0, 0, 0, .32)'\n }, android_ripple) : undefined,\n style: [{\n opacity: !ANDROID_SUPPORTS_RIPPLE ? opacity : 1\n }, style]\n }, rest));\n}","map":{"version":3,"sources":["PlatformPressable.tsx"],"names":["AnimatedPressable","Animated","ANDROID_VERSION_LOLLIPOP","ANDROID_SUPPORTS_RIPPLE","Platform","pressOpacity","rest","dark","useTheme","React","animateTo","toValue","duration","easing","Easing","useNativeDriver","handlePressIn","e","onPressIn","handlePressOut","onPressOut","color","pressColor","android_ripple","opacity"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAA,QAAA,QAAA,0BAAA;AACA,OAAO,KAAP,KAAA,MAAA,OAAA;;;;;AAmBA,IAAMA,iBAAiB,GAAGC,QAAQ,CAARA,uBAAAA,CAA1B,SAA0BA,CAA1B;AAEA,IAAMC,wBAAwB,GAA9B,EAAA;AACA,IAAMC,uBAAuB,GAC3BC,QAAQ,CAARA,EAAAA,KAAAA,SAAAA,IAA6BA,QAAQ,CAARA,OAAAA,IAD/B,wBAAA;AAMA,eAAe,SAAA,iBAAA,CAAA,IAAA,EAQL;AARgC,MAAA,SAAA,GAQhC,IARgC,CAAA,SAAA;AAAA,MAAA,UAAA,GAQhC,IARgC,CAAA,UAAA;AAAA,MAAA,cAAA,GAQhC,IARgC,CAAA,cAAA;AAAA,MAAA,UAAA,GAQhC,IARgC,CAAA,UAAA;AAAA,0BAQhC,IARgC,CAKxCC,YALwC;AAAA,MAKxCA,YALwC,kCAAA,GAAA;AAAA,MAAA,KAAA,GAQhC,IARgC,CAAA,KAAA;AAAA,MAOrCC,IAPqC,4BAQhC,IARgC;;AASxC,kBAAiBE,QAAjB,EAAA;AAAA,MAAQD,IAAR,aAAQA,IAAR;;AACA,wBAAkBE,KAAK,CAALA,QAAAA,CAAe;AAAA,WAAM,IAAIR,QAAQ,CAAZ,KAAA,CAAvC,CAAuC,CAAN;AAAA,GAAfQ,CAAlB;AAAA;AAAA,MAAM,OAAN;;AAEA,MAAMC,SAAS,GAAG,SAAZA,SAAY,CAAA,OAAA,EAAA,QAAA,EAAuC;AACvD,QAAA,uBAAA,EAA6B;AAC3B;AACD;;AAEDT,IAAAA,QAAQ,CAARA,MAAAA,CAAAA,OAAAA,EAAyB;AACvBU,MAAAA,OADuB,EACvBA,OADuB;AAEvBC,MAAAA,QAFuB,EAEvBA,QAFuB;AAGvBC,MAAAA,MAAM,EAAEC,MAAM,CAANA,KAAAA,CAAaA,MAAM,CAHJ,IAGfA,CAHe;AAIvBC,MAAAA,eAAe,EAAE;AAJM,KAAzBd,EAAAA,KAAAA;AALF,GAAA;;AAaA,MAAMe,aAAa,GAAIC,SAAjBD,aAAiBC,CAAAA,CAAD,EAA8B;AAClDP,IAAAA,SAAS,CAAA,YAAA,EAATA,CAAS,CAATA;AACAQ,IAAAA,SAAS,KAATA,IAAAA,IAAAA,SAAS,KAAA,KAATA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAATA,CAAS,CAATA;AAFF,GAAA;;AAKA,MAAMC,cAAc,GAAIF,SAAlBE,cAAkBF,CAAAA,CAAD,EAA8B;AACnDP,IAAAA,SAAS,CAAA,CAAA,EAATA,GAAS,CAATA;AACAU,IAAAA,UAAU,KAAVA,IAAAA,IAAAA,UAAU,KAAA,KAAVA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAVA,CAAU,CAAVA;AAFF,GAAA;;AAKA,SACE,KAAA,CAAA,aAAA,CAAA,iBAAA,EAAA,QAAA,CAAA;AACE,IAAA,SAAS,EADX,aAAA;AAEE,IAAA,UAAU,EAFZ,cAAA;AAGE,IAAA,cAAc,EACZjB,uBAAuB;AAEjBkB,MAAAA,KAAK,EACHC,UAAU,KAAVA,SAAAA,GAAAA,UAAAA,GAEIf,IAAI,GAAA,0BAAA,GAJZ;AADmB,OAQdgB,cARc,IAJ3B,SAAA;AAgBE,IAAA,KAAK,EAAE,CAAC;AAAEC,MAAAA,OAAO,EAAE,CAAA,uBAAA,GAAA,OAAA,GAAqC;AAAhD,KAAD,EAAA,KAAA;AAhBT,GAAA,EADF,IACE,CAAA,CADF;AAqBD","sourcesContent":["import { useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport {\n Animated,\n Easing,\n GestureResponderEvent,\n Platform,\n Pressable,\n PressableProps,\n StyleProp,\n ViewStyle,\n} from 'react-native';\n\nexport type Props = Omit<PressableProps, 'style'> & {\n pressColor?: string;\n pressOpacity?: number;\n style?: Animated.WithAnimatedValue<StyleProp<ViewStyle>>;\n children: React.ReactNode;\n};\n\nconst AnimatedPressable = Animated.createAnimatedComponent(Pressable);\n\nconst ANDROID_VERSION_LOLLIPOP = 21;\nconst ANDROID_SUPPORTS_RIPPLE =\n Platform.OS === 'android' && Platform.Version >= ANDROID_VERSION_LOLLIPOP;\n\n/**\n * PlatformPressable provides an abstraction on top of Pressable to handle platform differences.\n */\nexport default function PlatformPressable({\n onPressIn,\n onPressOut,\n android_ripple,\n pressColor,\n pressOpacity = 0.3,\n style,\n ...rest\n}: Props) {\n const { dark } = useTheme();\n const [opacity] = React.useState(() => new Animated.Value(1));\n\n const animateTo = (toValue: number, duration: number) => {\n if (ANDROID_SUPPORTS_RIPPLE) {\n return;\n }\n\n Animated.timing(opacity, {\n toValue,\n duration,\n easing: Easing.inOut(Easing.quad),\n useNativeDriver: true,\n }).start();\n };\n\n const handlePressIn = (e: GestureResponderEvent) => {\n animateTo(pressOpacity, 0);\n onPressIn?.(e);\n };\n\n const handlePressOut = (e: GestureResponderEvent) => {\n animateTo(1, 200);\n onPressOut?.(e);\n };\n\n return (\n <AnimatedPressable\n onPressIn={handlePressIn}\n onPressOut={handlePressOut}\n android_ripple={\n ANDROID_SUPPORTS_RIPPLE\n ? {\n color:\n pressColor !== undefined\n ? pressColor\n : dark\n ? 'rgba(255, 255, 255, .32)'\n : 'rgba(0, 0, 0, .32)',\n ...android_ripple,\n }\n : undefined\n }\n style={[{ opacity: !ANDROID_SUPPORTS_RIPPLE ? opacity : 1 }, style]}\n {...rest}\n />\n );\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/a162241c9ab820d3ec9dad31071c6915.json b/.expo/web/cache/development/babel-loader/a162241c9ab820d3ec9dad31071c6915.json new file mode 100644 index 0000000000000000000000000000000000000000..b058e669eefffc4b6bdc1ef7b42b364305a222fc --- /dev/null +++ b/.expo/web/cache/development/babel-loader/a162241c9ab820d3ec9dad31071c6915.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar emptyFunction = require(\"./emptyFunction\");\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 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;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/node_modules/fbjs/lib/warning.js"],"names":["emptyFunction","require","printWarning","format","_len","arguments","length","args","Array","_key","argIndex","message","replace","console","error","Error","x","warning","process","env","NODE_ENV","condition","undefined","_len2","_key2","apply","concat","module","exports"],"mappings":"AAOA;;AAEA,IAAIA,aAAa,GAAGC,OAAO,mBAA3B;;AASA,SAASC,YAAT,CAAsBC,MAAtB,EAA8B;AAC5B,OAAK,IAAIC,IAAI,GAAGC,SAAS,CAACC,MAArB,EAA6BC,IAAI,GAAG,IAAIC,KAAJ,CAAUJ,IAAI,GAAG,CAAP,GAAWA,IAAI,GAAG,CAAlB,GAAsB,CAAhC,CAApC,EAAwEK,IAAI,GAAG,CAApF,EAAuFA,IAAI,GAAGL,IAA9F,EAAoGK,IAAI,EAAxG,EAA4G;AAC1GF,IAAAA,IAAI,CAACE,IAAI,GAAG,CAAR,CAAJ,GAAiBJ,SAAS,CAACI,IAAD,CAA1B;AACD;;AAED,MAAIC,QAAQ,GAAG,CAAf;AACA,MAAIC,OAAO,GAAG,cAAcR,MAAM,CAACS,OAAP,CAAe,KAAf,EAAsB,YAAY;AAC5D,WAAOL,IAAI,CAACG,QAAQ,EAAT,CAAX;AACD,GAF2B,CAA5B;;AAIA,MAAI,OAAOG,OAAP,KAAmB,WAAvB,EAAoC;AAClCA,IAAAA,OAAO,CAACC,KAAR,CAAcH,OAAd;AACD;;AAED,MAAI;AAIF,UAAM,IAAII,KAAJ,CAAUJ,OAAV,CAAN;AACD,GALD,CAKE,OAAOK,CAAP,EAAU,CAAE;AACf;;AAED,IAAIC,OAAO,GAAGC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,GAAwC,UAAUC,SAAV,EAAqBlB,MAArB,EAA6B;AACjF,MAAIA,MAAM,KAAKmB,SAAf,EAA0B;AACxB,UAAM,IAAIP,KAAJ,CAAU,8DAA8D,kBAAxE,CAAN;AACD;;AAED,MAAI,CAACM,SAAL,EAAgB;AACd,SAAK,IAAIE,KAAK,GAAGlB,SAAS,CAACC,MAAtB,EAA8BC,IAAI,GAAG,IAAIC,KAAJ,CAAUe,KAAK,GAAG,CAAR,GAAYA,KAAK,GAAG,CAApB,GAAwB,CAAlC,CAArC,EAA2EC,KAAK,GAAG,CAAxF,EAA2FA,KAAK,GAAGD,KAAnG,EAA0GC,KAAK,EAA/G,EAAmH;AACjHjB,MAAAA,IAAI,CAACiB,KAAK,GAAG,CAAT,CAAJ,GAAkBnB,SAAS,CAACmB,KAAD,CAA3B;AACD;;AAEDtB,IAAAA,YAAY,CAACuB,KAAb,CAAmB,KAAK,CAAxB,EAA2B,CAACtB,MAAD,EAASuB,MAAT,CAAgBnB,IAAhB,CAA3B;AACD;AACF,CAZa,GAYVP,aAZJ;AAaA2B,MAAM,CAACC,OAAP,GAAiBX,OAAjB","sourcesContent":["/**\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;"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/a16b3c92f0e03febeb5a733ef98ac465.json b/.expo/web/cache/development/babel-loader/a16b3c92f0e03febeb5a733ef98ac465.json new file mode 100644 index 0000000000000000000000000000000000000000..f9d1130629480a272e164bd5f2cb30e30c29d21d --- /dev/null +++ b/.expo/web/cache/development/babel-loader/a16b3c92f0e03febeb5a733ef98ac465.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nmodule.exports = function (string) {\n if (typeof string !== 'string') {\n throw new TypeError('Expected a string');\n }\n\n return string.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&').replace(/-/g, '\\\\x2d');\n};","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-navigation/core/node_modules/escape-string-regexp/index.js"],"names":["module","exports","string","TypeError","replace"],"mappings":"AAAA;;AAEAA,MAAM,CAACC,OAAP,GAAiB,UAAAC,MAAM,EAAI;AAC1B,MAAI,OAAOA,MAAP,KAAkB,QAAtB,EAAgC;AAC/B,UAAM,IAAIC,SAAJ,CAAc,mBAAd,CAAN;AACA;;AAID,SAAOD,MAAM,CACXE,OADK,CACG,qBADH,EAC0B,MAD1B,EAELA,OAFK,CAEG,IAFH,EAES,OAFT,CAAP;AAGA,CAVD","sourcesContent":["'use strict';\n\nmodule.exports = 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 \\unnnn 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"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/a1b5dfdf1c77fd5706b6e935c8af2dd8.json b/.expo/web/cache/development/babel-loader/a1b5dfdf1c77fd5706b6e935c8af2dd8.json new file mode 100644 index 0000000000000000000000000000000000000000..1f1c3f9afa5d58862011a62e0f6c212760627dfa --- /dev/null +++ b/.expo/web/cache/development/babel-loader/a1b5dfdf1c77fd5706b6e935c8af2dd8.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"tintColor\", \"style\"];\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nimport { useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport Animated from \"react-native-web/dist/exports/Animated\";\nimport Platform from \"react-native-web/dist/exports/Platform\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nexport default function HeaderTitle(_ref) {\n var tintColor = _ref.tintColor,\n style = _ref.style,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n var _useTheme = useTheme(),\n colors = _useTheme.colors;\n\n return React.createElement(Animated.Text, _extends({\n accessibilityRole: \"header\",\n \"aria-level\": \"1\",\n numberOfLines: 1\n }, rest, {\n style: [styles.title, {\n color: tintColor === undefined ? colors.text : tintColor\n }, style]\n }));\n}\nvar styles = StyleSheet.create({\n title: Platform.select({\n ios: {\n fontSize: 17,\n fontWeight: '600'\n },\n android: {\n fontSize: 20,\n fontFamily: 'sans-serif-medium',\n fontWeight: 'normal'\n },\n default: {\n fontSize: 18,\n fontWeight: '500'\n }\n })\n});","map":{"version":3,"sources":["HeaderTitle.tsx"],"names":["rest","colors","useTheme","styles","color","tintColor","title","ios","fontSize","fontWeight","android","fontFamily","default"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,SAAA,QAAA,QAAA,0BAAA;AACA,OAAO,KAAP,KAAA,MAAA,OAAA;;;;AAgBA,eAAe,SAAA,WAAA,CAAA,IAAA,EAA2D;AAAtC,MAAA,SAAA,GAAsC,IAAtC,CAAA,SAAA;AAAA,MAAA,KAAA,GAAsC,IAAtC,CAAA,KAAA;AAAA,MAAuBA,IAAvB,4BAAsC,IAAtC;;AAClC,kBAAmBE,QAAnB,EAAA;AAAA,MAAQD,MAAR,aAAQA,MAAR;;AAEA,SACE,KAAA,CAAA,aAAA,CAAC,QAAD,CAAA,IAAA,EAAA,QAAA,CAAA;AACE,IAAA,iBAAiB,EADnB,QAAA;AAEE,kBAFF,GAAA;AAGE,IAAA,aAAa,EAAE;AAHjB,GAAA,EAAA,IAAA,EAAA;AAKE,IAAA,KAAK,EAAE,CACLE,MAAM,CADD,KAAA,EAEL;AAAEC,MAAAA,KAAK,EAAEC,SAAS,KAATA,SAAAA,GAA0BJ,MAAM,CAAhCI,IAAAA,GAAwCA;AAAjD,KAFK,EAAA,KAAA;AALT,GAAA,CAAA,CADF;AAaD;AAED,IAAMF,MAAM,GAAG,UAAU,CAAV,MAAA,CAAkB;AAC/BG,EAAAA,KAAK,EAAE,QAAQ,CAAR,MAAA,CAAgB;AACrBC,IAAAA,GAAG,EAAE;AACHC,MAAAA,QAAQ,EADL,EAAA;AAEHC,MAAAA,UAAU,EAAE;AAFT,KADgB;AAKrBC,IAAAA,OAAO,EAAE;AACPF,MAAAA,QAAQ,EADD,EAAA;AAEPG,MAAAA,UAAU,EAFH,mBAAA;AAGPF,MAAAA,UAAU,EAAE;AAHL,KALY;AAUrBG,IAAAA,OAAO,EAAE;AACPJ,MAAAA,QAAQ,EADD,EAAA;AAEPC,MAAAA,UAAU,EAAE;AAFL;AAVY,GAAhB;AADwB,CAAlB,CAAf","sourcesContent":["import { useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport {\n Animated,\n Platform,\n StyleProp,\n StyleSheet,\n TextProps,\n TextStyle,\n} from 'react-native';\n\ntype Props = Omit<TextProps, 'style'> & {\n tintColor?: string;\n children?: string;\n style?: Animated.WithAnimatedValue<StyleProp<TextStyle>>;\n};\n\nexport default function HeaderTitle({ tintColor, style, ...rest }: Props) {\n const { colors } = useTheme();\n\n return (\n <Animated.Text\n accessibilityRole=\"header\"\n aria-level=\"1\"\n numberOfLines={1}\n {...rest}\n style={[\n styles.title,\n { color: tintColor === undefined ? colors.text : tintColor },\n style,\n ]}\n />\n );\n}\n\nconst styles = StyleSheet.create({\n title: Platform.select({\n ios: {\n fontSize: 17,\n fontWeight: '600',\n },\n android: {\n fontSize: 20,\n fontFamily: 'sans-serif-medium',\n fontWeight: 'normal',\n },\n default: {\n fontSize: 18,\n fontWeight: '500',\n },\n }),\n});\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/a21321955c2858a2e24a5a438738931f.json b/.expo/web/cache/development/babel-loader/a21321955c2858a2e24a5a438738931f.json new file mode 100644 index 0000000000000000000000000000000000000000..426e8918ec0ae57cce5c34be2db763cec4408637 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/a21321955c2858a2e24a5a438738931f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _excluded = [\"emit\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport { CommonActions } from '@react-navigation/routers';\nimport * as React from 'react';\nimport NavigationBuilderContext from \"./NavigationBuilderContext\";\nexport default function useNavigationCache(_ref) {\n var state = _ref.state,\n getState = _ref.getState,\n navigation = _ref.navigation,\n _setOptions = _ref.setOptions,\n router = _ref.router,\n emitter = _ref.emitter;\n\n var _React$useContext = React.useContext(NavigationBuilderContext),\n stackRef = _React$useContext.stackRef;\n\n var cache = React.useMemo(function () {\n return {\n current: {}\n };\n }, [getState, navigation, _setOptions, router, emitter]);\n\n var actions = _objectSpread(_objectSpread({}, router.actionCreators), CommonActions);\n\n cache.current = state.routes.reduce(function (acc, route) {\n var previous = cache.current[route.key];\n\n if (previous) {\n acc[route.key] = previous;\n } else {\n var emit = navigation.emit,\n rest = _objectWithoutProperties(navigation, _excluded);\n\n var _dispatch = function dispatch(thunk) {\n var action = typeof thunk === 'function' ? thunk(getState()) : thunk;\n\n if (action != null) {\n navigation.dispatch(_objectSpread({\n source: route.key\n }, action));\n }\n };\n\n var withStack = function withStack(callback) {\n var isStackSet = false;\n\n try {\n if (process.env.NODE_ENV !== 'production' && stackRef && !stackRef.current) {\n stackRef.current = new Error().stack;\n isStackSet = true;\n }\n\n callback();\n } finally {\n if (isStackSet && stackRef) {\n stackRef.current = undefined;\n }\n }\n };\n\n var helpers = Object.keys(actions).reduce(function (acc, name) {\n acc[name] = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return withStack(function () {\n return _dispatch(actions[name].apply(actions, args));\n });\n };\n\n return acc;\n }, {});\n acc[route.key] = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, rest), helpers), emitter.create(route.key)), {}, {\n dispatch: function dispatch(thunk) {\n return withStack(function () {\n return _dispatch(thunk);\n });\n },\n setOptions: function setOptions(options) {\n return _setOptions(function (o) {\n return _objectSpread(_objectSpread({}, o), {}, _defineProperty({}, route.key, _objectSpread(_objectSpread({}, o[route.key]), options)));\n });\n },\n isFocused: function isFocused() {\n var state = getState();\n\n if (state.routes[state.index].key !== route.key) {\n return false;\n }\n\n return navigation ? navigation.isFocused() : true;\n }\n });\n }\n\n return acc;\n }, {});\n return cache.current;\n}","map":{"version":3,"sources":["useNavigationCache.tsx"],"names":["emitter","stackRef","React","cache","current","actions","router","CommonActions","previous","route","acc","rest","dispatch","thunk","action","getState","navigation","source","withStack","callback","isStackSet","process","helpers","args","setOptions","options","o","isFocused","state"],"mappings":"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","sourcesContent":["import {\n CommonActions,\n NavigationAction,\n NavigationState,\n ParamListBase,\n Router,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationBuilderContext from './NavigationBuilderContext';\nimport type { NavigationHelpers, NavigationProp } from './types';\nimport type { NavigationEventEmitter } from './useEventEmitter';\n\ntype Options<\n State extends NavigationState,\n EventMap extends Record<string, any>\n> = {\n state: State;\n getState: () => State;\n navigation: NavigationHelpers<ParamListBase> &\n Partial<NavigationProp<ParamListBase, string, any, any, any>>;\n setOptions: (\n cb: (options: Record<string, object>) => Record<string, object>\n ) => void;\n router: Router<State, NavigationAction>;\n emitter: NavigationEventEmitter<EventMap>;\n};\n\ntype NavigationCache<\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends Record<string, any>\n> = Record<\n string,\n NavigationProp<ParamListBase, string, State, ScreenOptions, EventMap>\n>;\n\n/**\n * Hook to cache navigation objects for each screen in the navigator.\n * It's important to cache them to make sure navigation objects don't change between renders.\n * This lets us apply optimizations like `React.memo` to minimize re-rendering screens.\n */\nexport default function useNavigationCache<\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends Record<string, any>\n>({\n state,\n getState,\n navigation,\n setOptions,\n router,\n emitter,\n}: Options<State, EventMap>) {\n const { stackRef } = React.useContext(NavigationBuilderContext);\n\n // Cache object which holds navigation objects for each screen\n // We use `React.useMemo` instead of `React.useRef` coz we want to invalidate it when deps change\n // In reality, these deps will rarely change, if ever\n const cache = React.useMemo(\n () => ({ current: {} as NavigationCache<State, ScreenOptions, EventMap> }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [getState, navigation, setOptions, router, emitter]\n );\n\n const actions = {\n ...router.actionCreators,\n ...CommonActions,\n };\n\n cache.current = state.routes.reduce<\n NavigationCache<State, ScreenOptions, EventMap>\n >((acc, route) => {\n const previous = cache.current[route.key];\n\n type Thunk =\n | NavigationAction\n | ((state: State) => NavigationAction | null | undefined);\n\n if (previous) {\n // If a cached navigation object already exists, reuse it\n acc[route.key] = previous;\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { emit, ...rest } = navigation;\n\n const dispatch = (thunk: Thunk) => {\n const action = typeof thunk === 'function' ? thunk(getState()) : thunk;\n\n if (action != null) {\n navigation.dispatch({ source: route.key, ...action });\n }\n };\n\n const withStack = (callback: () => void) => {\n let isStackSet = false;\n\n try {\n if (\n process.env.NODE_ENV !== 'production' &&\n stackRef &&\n !stackRef.current\n ) {\n // Capture the stack trace for devtools\n stackRef.current = new Error().stack;\n isStackSet = true;\n }\n\n callback();\n } finally {\n if (isStackSet && stackRef) {\n stackRef.current = undefined;\n }\n }\n };\n\n const helpers = Object.keys(actions).reduce<Record<string, () => void>>(\n (acc, name) => {\n acc[name] = (...args: any) =>\n withStack(() =>\n // @ts-expect-error: name is a valid key, but TypeScript is dumb\n dispatch(actions[name](...args))\n );\n\n return acc;\n },\n {}\n );\n\n acc[route.key] = {\n ...rest,\n ...helpers,\n // FIXME: too much work to fix the types for now\n ...(emitter.create(route.key) as any),\n dispatch: (thunk: Thunk) => withStack(() => dispatch(thunk)),\n setOptions: (options: object) =>\n setOptions((o) => ({\n ...o,\n [route.key]: { ...o[route.key], ...options },\n })),\n isFocused: () => {\n const state = getState();\n\n if (state.routes[state.index].key !== route.key) {\n return false;\n }\n\n // If the current screen is focused, we also need to check if parent navigator is focused\n // This makes sure that we return the focus state in the whole tree, not just this navigator\n return navigation ? navigation.isFocused() : true;\n },\n };\n }\n\n return acc;\n }, {});\n\n return cache.current;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/a235762ee7e6289de6532dacfd839d6f.json b/.expo/web/cache/development/babel-loader/a235762ee7e6289de6532dacfd839d6f.json new file mode 100644 index 0000000000000000000000000000000000000000..c29286c751693872298807f2db6d34bd99f2dcbe --- /dev/null +++ b/.expo/web/cache/development/babel-loader/a235762ee7e6289de6532dacfd839d6f.json @@ -0,0 +1 @@ +{"ast":null,"code":"var emptyFunction = function emptyFunction() {};\n\nfunction StatusBar() {\n return null;\n}\n\nStatusBar.setBackgroundColor = emptyFunction;\nStatusBar.setBarStyle = emptyFunction;\nStatusBar.setHidden = emptyFunction;\nStatusBar.setNetworkActivityIndicatorVisible = emptyFunction;\nStatusBar.setTranslucent = emptyFunction;\nexport default StatusBar;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/StatusBar/index.js"],"names":["emptyFunction","StatusBar","setBackgroundColor","setBarStyle","setHidden","setNetworkActivityIndicatorVisible","setTranslucent"],"mappings":"AAQA,IAAIA,aAAa,GAAG,SAASA,aAAT,GAAyB,CAAE,CAA/C;;AAEA,SAASC,SAAT,GAAqB;AACnB,SAAO,IAAP;AACD;;AAEDA,SAAS,CAACC,kBAAV,GAA+BF,aAA/B;AACAC,SAAS,CAACE,WAAV,GAAwBH,aAAxB;AACAC,SAAS,CAACG,SAAV,GAAsBJ,aAAtB;AACAC,SAAS,CAACI,kCAAV,GAA+CL,aAA/C;AACAC,SAAS,CAACK,cAAV,GAA2BN,aAA3B;AACA,eAAeC,SAAf","sourcesContent":["/**\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 emptyFunction = function emptyFunction() {};\n\nfunction StatusBar() {\n return null;\n}\n\nStatusBar.setBackgroundColor = emptyFunction;\nStatusBar.setBarStyle = emptyFunction;\nStatusBar.setHidden = emptyFunction;\nStatusBar.setNetworkActivityIndicatorVisible = emptyFunction;\nStatusBar.setTranslucent = emptyFunction;\nexport default StatusBar;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/a2711a1d1ea9aad38bf32d77af95d634.json b/.expo/web/cache/development/babel-loader/a2711a1d1ea9aad38bf32d77af95d634.json new file mode 100644 index 0000000000000000000000000000000000000000..427dab1e2a0c07053601f783a990154f10ab6e7f --- /dev/null +++ b/.expo/web/cache/development/babel-loader/a2711a1d1ea9aad38bf32d77af95d634.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nexports.decode = exports.parse = require(\"./decode\");\nexports.encode = exports.stringify = require(\"./encode\");","map":{"version":3,"sources":["C:/Users/user/AppData/Roaming/npm/node_modules/expo-cli/node_modules/querystring-es3/index.js"],"names":["exports","decode","parse","require","encode","stringify"],"mappings":"AAAA;;AAEAA,OAAO,CAACC,MAAR,GAAiBD,OAAO,CAACE,KAAR,GAAgBC,OAAO,YAAxC;AACAH,OAAO,CAACI,MAAR,GAAiBJ,OAAO,CAACK,SAAR,GAAoBF,OAAO,YAA5C","sourcesContent":["'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/a33d37a2f8d100523505b8585926b59c.json b/.expo/web/cache/development/babel-loader/a33d37a2f8d100523505b8585926b59c.json new file mode 100644 index 0000000000000000000000000000000000000000..3de02a37ae93f63666e6d49874398d4241b98d04 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/a33d37a2f8d100523505b8585926b59c.json @@ -0,0 +1 @@ +{"ast":null,"code":"export * from \"./SafeAreaContext\";\nexport * from \"./SafeAreaView\";\nexport * from \"./InitialWindow\";\nexport * from \"./SafeArea.types\";","map":{"version":3,"sources":["index.tsx"],"names":[],"mappings":"AAAA;AACA;AACA;AACA","sourcesContent":["export * from './SafeAreaContext';\nexport * from './SafeAreaView';\nexport * from './InitialWindow';\nexport * from './SafeArea.types';\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/a3c5b2270f71801c8288b15ba3e76e40.json b/.expo/web/cache/development/babel-loader/a3c5b2270f71801c8288b15ba3e76e40.json new file mode 100644 index 0000000000000000000000000000000000000000..0e38dad9c5f8a8673613249427056ac3eff34cc8 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/a3c5b2270f71801c8288b15ba3e76e40.json @@ -0,0 +1 @@ +{"ast":null,"code":"import Platform from \"react-native-web/dist/exports/Platform\";\nexport default function getDefaultHeaderHeight(layout, modalPresentation, statusBarHeight) {\n var headerHeight;\n var isLandscape = layout.width > layout.height;\n\n if (Platform.OS === 'ios') {\n if (Platform.isPad || Platform.isTVOS) {\n if (modalPresentation) {\n headerHeight = 56;\n } else {\n headerHeight = 50;\n }\n } else {\n if (isLandscape) {\n headerHeight = 32;\n } else {\n if (modalPresentation) {\n headerHeight = 56;\n } else {\n headerHeight = 44;\n }\n }\n }\n } else if (Platform.OS === 'android') {\n headerHeight = 56;\n } else {\n headerHeight = 64;\n }\n\n return headerHeight + statusBarHeight;\n}","map":{"version":3,"sources":["getDefaultHeaderHeight.tsx"],"names":["isLandscape","layout","Platform","headerHeight"],"mappings":";AAIA,eAAe,SAAA,sBAAA,CAAA,MAAA,EAAA,iBAAA,EAAA,eAAA,EAIL;AACR,MAAA,YAAA;AAEA,MAAMA,WAAW,GAAGC,MAAM,CAANA,KAAAA,GAAeA,MAAM,CAAzC,MAAA;;AAEA,MAAIC,QAAQ,CAARA,EAAAA,KAAJ,KAAA,EAA2B;AACzB,QAAIA,QAAQ,CAARA,KAAAA,IAAkBA,QAAQ,CAA9B,MAAA,EAAuC;AACrC,UAAA,iBAAA,EAAuB;AACrBC,QAAAA,YAAY,GAAZA,EAAAA;AADF,OAAA,MAEO;AACLA,QAAAA,YAAY,GAAZA,EAAAA;AACD;AALH,KAAA,MAMO;AACL,UAAA,WAAA,EAAiB;AACfA,QAAAA,YAAY,GAAZA,EAAAA;AADF,OAAA,MAEO;AACL,YAAA,iBAAA,EAAuB;AACrBA,UAAAA,YAAY,GAAZA,EAAAA;AADF,SAAA,MAEO;AACLA,UAAAA,YAAY,GAAZA,EAAAA;AACD;AACF;AACF;AAjBH,GAAA,MAkBO,IAAID,QAAQ,CAARA,EAAAA,KAAJ,SAAA,EAA+B;AACpCC,IAAAA,YAAY,GAAZA,EAAAA;AADK,GAAA,MAEA;AACLA,IAAAA,YAAY,GAAZA,EAAAA;AACD;;AAED,SAAOA,YAAY,GAAnB,eAAA;AACD","sourcesContent":["import { Platform } from 'react-native';\n\nimport type { Layout } from '../types';\n\nexport default function getDefaultHeaderHeight(\n layout: Layout,\n modalPresentation: boolean,\n statusBarHeight: number\n): number {\n let headerHeight;\n\n const isLandscape = layout.width > layout.height;\n\n if (Platform.OS === 'ios') {\n if (Platform.isPad || Platform.isTVOS) {\n if (modalPresentation) {\n headerHeight = 56;\n } else {\n headerHeight = 50;\n }\n } else {\n if (isLandscape) {\n headerHeight = 32;\n } else {\n if (modalPresentation) {\n headerHeight = 56;\n } else {\n headerHeight = 44;\n }\n }\n }\n } else if (Platform.OS === 'android') {\n headerHeight = 56;\n } else {\n headerHeight = 64;\n }\n\n return headerHeight + statusBarHeight;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/a437dee7593c01f94e465aa21a4420c7.json b/.expo/web/cache/development/babel-loader/a437dee7593c01f94e465aa21a4420c7.json new file mode 100644 index 0000000000000000000000000000000000000000..7bbabbbf0f35ac9291c7b324048db03772511a3c --- /dev/null +++ b/.expo/web/cache/development/babel-loader/a437dee7593c01f94e465aa21a4420c7.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { unmountComponentAtNode } from 'react-dom';\nexport default unmountComponentAtNode;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/unmountComponentAtNode/index.js"],"names":["unmountComponentAtNode"],"mappings":"AAQA,SAASA,sBAAT,QAAuC,WAAvC;AACA,eAAeA,sBAAf","sourcesContent":["/**\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 { unmountComponentAtNode } from 'react-dom';\nexport default unmountComponentAtNode;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/a43857ac05f3fb030461fa778d9d44df.json b/.expo/web/cache/development/babel-loader/a43857ac05f3fb030461fa778d9d44df.json new file mode 100644 index 0000000000000000000000000000000000000000..ef93e1d79653d39d0c79c44d6f892aca48ce8d78 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/a43857ac05f3fb030461fa778d9d44df.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users.toString);\n setUsers(users);\n });\n\n if (users != null) {\n Alert.alert(users[0].toString);\n }\n }, []);\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {\n children: item.Name\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: users,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","params","post","Item","item","onPress","backgroundColor","textColor","styles","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users.toString);\r\n setUsers(users)\r\n});\r\nif(users!= null){\r\n Alert.alert(users[0].toString)\r\n}\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\n/*function writeData(){\r\n \r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})\r\n}*/\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async () => {\r\n const id = 'q5EOqKxKEsAO6lLmhbnc';\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUsers({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n Alert.alert(users[0])\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.Name} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser'/> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={users}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/a48b9c0985dca96e182cacdc8c1dfec4.json b/.expo/web/cache/development/babel-loader/a48b9c0985dca96e182cacdc8c1dfec4.json new file mode 100644 index 0000000000000000000000000000000000000000..94f228737cc830b72d49db6741e7d567fc934079 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/a48b9c0985dca96e182cacdc8c1dfec4.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction stiffnessFromOrigamiValue(oValue) {\n return (oValue - 30) * 3.62 + 194;\n}\n\nfunction dampingFromOrigamiValue(oValue) {\n return (oValue - 8) * 3 + 25;\n}\n\nfunction fromOrigamiTensionAndFriction(tension, friction) {\n return {\n stiffness: stiffnessFromOrigamiValue(tension),\n damping: dampingFromOrigamiValue(friction)\n };\n}\n\nfunction fromBouncinessAndSpeed(bounciness, speed) {\n function normalize(value, startValue, endValue) {\n return (value - startValue) / (endValue - startValue);\n }\n\n function projectNormal(n, start, end) {\n return start + n * (end - start);\n }\n\n function linearInterpolation(t, start, end) {\n return t * end + (1 - t) * start;\n }\n\n function quadraticOutInterpolation(t, start, end) {\n return linearInterpolation(2 * t - t * t, start, end);\n }\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\n function b3Friction2(x) {\n return 0.000044 * Math.pow(x, 3) - 0.006 * Math.pow(x, 2) + 0.36 * x + 2;\n }\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\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\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}\n\nexport default {\n fromOrigamiTensionAndFriction: fromOrigamiTensionAndFriction,\n fromBouncinessAndSpeed: fromBouncinessAndSpeed\n};","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/SpringConfig.js"],"names":["stiffnessFromOrigamiValue","oValue","dampingFromOrigamiValue","fromOrigamiTensionAndFriction","tension","friction","stiffness","damping","fromBouncinessAndSpeed","bounciness","speed","normalize","value","startValue","endValue","projectNormal","n","start","end","linearInterpolation","t","quadraticOutInterpolation","b3Friction1","x","Math","pow","b3Friction2","b3Friction3","b3Nobounce","b","s","bouncyTension","bouncyFriction"],"mappings":"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","sourcesContent":["/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n'use strict';\n\nfunction stiffnessFromOrigamiValue(oValue) {\n return (oValue - 30) * 3.62 + 194;\n}\n\nfunction dampingFromOrigamiValue(oValue) {\n return (oValue - 8) * 3 + 25;\n}\n\nfunction fromOrigamiTensionAndFriction(tension, friction) {\n return {\n stiffness: stiffnessFromOrigamiValue(tension),\n damping: dampingFromOrigamiValue(friction)\n };\n}\n\nfunction fromBouncinessAndSpeed(bounciness, speed) {\n function normalize(value, startValue, endValue) {\n return (value - startValue) / (endValue - startValue);\n }\n\n function projectNormal(n, start, end) {\n return start + n * (end - start);\n }\n\n function linearInterpolation(t, start, end) {\n return t * end + (1 - t) * start;\n }\n\n function quadraticOutInterpolation(t, start, end) {\n return linearInterpolation(2 * t - t * t, start, end);\n }\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\n function b3Friction2(x) {\n return 0.000044 * Math.pow(x, 3) - 0.006 * Math.pow(x, 2) + 0.36 * x + 2;\n }\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\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\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}\n\nexport default {\n fromOrigamiTensionAndFriction: fromOrigamiTensionAndFriction,\n fromBouncinessAndSpeed: fromBouncinessAndSpeed\n};"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/a4b6476ee93e61ce345c8d3031ffc229.json b/.expo/web/cache/development/babel-loader/a4b6476ee93e61ce345c8d3031ffc229.json new file mode 100644 index 0000000000000000000000000000000000000000..e291754f1f1749139cec77cbca0b67a708d08a33 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/a4b6476ee93e61ce345c8d3031ffc229.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { isStartish, isMoveish, isEndish } from \"./ResponderEventTypes\";\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar MAX_TOUCH_BANK = 20;\nvar touchBank = [];\nvar touchHistory = {\n touchBank: touchBank,\n numberActiveTouches: 0,\n indexOfSingleActiveTouch: -1,\n mostRecentTimeStamp: 0\n};\n\nfunction timestampForTouch(touch) {\n return touch.timeStamp || touch.timestamp;\n}\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}\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}\n\nfunction getTouchIdentifier(_ref) {\n var identifier = _ref.identifier;\n\n if (identifier == null) {\n console.error('Touch object is missing identifier.');\n }\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\n return identifier;\n}\n\nfunction recordTouchStart(touch) {\n var identifier = getTouchIdentifier(touch);\n var touchRecord = touchBank[identifier];\n\n if (touchRecord) {\n resetTouchRecord(touchRecord, touch);\n } else {\n touchBank[identifier] = createTouchRecord(touch);\n }\n\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n}\n\nfunction recordTouchMove(touch) {\n var touchRecord = touchBank[getTouchIdentifier(touch)];\n\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());\n }\n}\n\nfunction recordTouchEnd(touch) {\n var touchRecord = touchBank[getTouchIdentifier(touch)];\n\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());\n }\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}\n\nfunction printTouchBank() {\n var printed = JSON.stringify(touchBank.slice(0, MAX_TOUCH_BANK));\n\n if (touchBank.length > MAX_TOUCH_BANK) {\n printed += ' (original size: ' + touchBank.length + ')';\n }\n\n return printed;\n}\n\nvar ResponderTouchHistoryStore = {\n recordTouchTrack: function recordTouchTrack(topLevelType, nativeEvent) {\n if (isMoveish(topLevelType)) {\n nativeEvent.changedTouches.forEach(recordTouchMove);\n } else if (isStartish(topLevelType)) {\n nativeEvent.changedTouches.forEach(recordTouchStart);\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n\n if (touchHistory.numberActiveTouches === 1) {\n touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier;\n }\n } else if (isEndish(topLevelType)) {\n nativeEvent.changedTouches.forEach(recordTouchEnd);\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n\n if (touchHistory.numberActiveTouches === 1) {\n for (var i = 0; i < touchBank.length; i++) {\n var touchTrackToCheck = touchBank[i];\n\n if (touchTrackToCheck != null && touchTrackToCheck.touchActive) {\n touchHistory.indexOfSingleActiveTouch = i;\n break;\n }\n }\n\n if (__DEV__) {\n var activeRecord = touchBank[touchHistory.indexOfSingleActiveTouch];\n\n if (!(activeRecord != null && activeRecord.touchActive)) {\n console.error('Cannot find single active touch.');\n }\n }\n }\n }\n },\n touchHistory: touchHistory\n};\nexport default ResponderTouchHistoryStore;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/useResponderEvents/ResponderTouchHistoryStore.js"],"names":["isStartish","isMoveish","isEndish","__DEV__","process","env","NODE_ENV","MAX_TOUCH_BANK","touchBank","touchHistory","numberActiveTouches","indexOfSingleActiveTouch","mostRecentTimeStamp","timestampForTouch","touch","timeStamp","timestamp","createTouchRecord","touchActive","startPageX","pageX","startPageY","pageY","startTimeStamp","currentPageX","currentPageY","currentTimeStamp","previousPageX","previousPageY","previousTimeStamp","resetTouchRecord","touchRecord","getTouchIdentifier","_ref","identifier","console","error","recordTouchStart","recordTouchMove","warn","printTouch","printTouchBank","recordTouchEnd","JSON","stringify","printed","slice","length","ResponderTouchHistoryStore","recordTouchTrack","topLevelType","nativeEvent","changedTouches","forEach","touches","i","touchTrackToCheck","activeRecord"],"mappings":"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","sourcesContent":["/**\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 */\nimport { isStartish, isMoveish, isEndish } from './ResponderEventTypes';\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 */\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar MAX_TOUCH_BANK = 20;\nvar touchBank = [];\nvar touchHistory = {\n touchBank: touchBank,\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\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 * TODO: Instead of making gestures recompute filtered velocity, we could\n * include a built in velocity computation that can be reused globally.\n */\n\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}\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}\n\nfunction getTouchIdentifier(_ref) {\n var identifier = _ref.identifier;\n\n if (identifier == null) {\n console.error('Touch object is missing identifier.');\n }\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\n return identifier;\n}\n\nfunction recordTouchStart(touch) {\n var identifier = getTouchIdentifier(touch);\n var touchRecord = touchBank[identifier];\n\n if (touchRecord) {\n resetTouchRecord(touchRecord, touch);\n } else {\n touchBank[identifier] = createTouchRecord(touch);\n }\n\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n}\n\nfunction recordTouchMove(touch) {\n var touchRecord = touchBank[getTouchIdentifier(touch)];\n\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());\n }\n}\n\nfunction recordTouchEnd(touch) {\n var touchRecord = touchBank[getTouchIdentifier(touch)];\n\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());\n }\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}\n\nfunction printTouchBank() {\n var printed = JSON.stringify(touchBank.slice(0, MAX_TOUCH_BANK));\n\n if (touchBank.length > MAX_TOUCH_BANK) {\n printed += ' (original size: ' + touchBank.length + ')';\n }\n\n return printed;\n}\n\nvar ResponderTouchHistoryStore = {\n recordTouchTrack: function recordTouchTrack(topLevelType, nativeEvent) {\n if (isMoveish(topLevelType)) {\n nativeEvent.changedTouches.forEach(recordTouchMove);\n } else if (isStartish(topLevelType)) {\n nativeEvent.changedTouches.forEach(recordTouchStart);\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n\n if (touchHistory.numberActiveTouches === 1) {\n touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier;\n }\n } else if (isEndish(topLevelType)) {\n nativeEvent.changedTouches.forEach(recordTouchEnd);\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n\n if (touchHistory.numberActiveTouches === 1) {\n for (var i = 0; i < touchBank.length; i++) {\n var touchTrackToCheck = touchBank[i];\n\n if (touchTrackToCheck != null && touchTrackToCheck.touchActive) {\n touchHistory.indexOfSingleActiveTouch = i;\n break;\n }\n }\n\n if (__DEV__) {\n var activeRecord = touchBank[touchHistory.indexOfSingleActiveTouch];\n\n if (!(activeRecord != null && activeRecord.touchActive)) {\n console.error('Cannot find single active touch.');\n }\n }\n }\n }\n },\n touchHistory: touchHistory\n};\nexport default ResponderTouchHistoryStore;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/a56d8304ec03a58310c9ca690629d383.json b/.expo/web/cache/development/babel-loader/a56d8304ec03a58310c9ca690629d383.json new file mode 100644 index 0000000000000000000000000000000000000000..e0297f7745c99b199e9f08b6ac27093423ac1443 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/a56d8304ec03a58310c9ca690629d383.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nimport Dimensions from \"react-native-web/dist/exports/Dimensions\";\nimport Platform from \"react-native-web/dist/exports/Platform\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport View from \"react-native-web/dist/exports/View\";\nimport { initialWindowMetrics, SafeAreaInsetsContext, SafeAreaProvider } from 'react-native-safe-area-context';\n\nvar _Dimensions$get = Dimensions.get('window'),\n _Dimensions$get$width = _Dimensions$get.width,\n width = _Dimensions$get$width === void 0 ? 0 : _Dimensions$get$width,\n _Dimensions$get$heigh = _Dimensions$get.height,\n height = _Dimensions$get$heigh === void 0 ? 0 : _Dimensions$get$heigh;\n\nvar initialMetrics = Platform.OS === 'web' || initialWindowMetrics == null ? {\n frame: {\n x: 0,\n y: 0,\n width: width,\n height: height\n },\n insets: {\n top: 0,\n left: 0,\n right: 0,\n bottom: 0\n }\n} : initialWindowMetrics;\nexport default function SafeAreaProviderCompat(_ref) {\n var children = _ref.children,\n style = _ref.style;\n return React.createElement(SafeAreaInsetsContext.Consumer, null, function (insets) {\n if (insets) {\n return React.createElement(View, {\n style: [styles.container, style]\n }, children);\n }\n\n return React.createElement(SafeAreaProvider, {\n initialMetrics: initialMetrics,\n style: style\n }, children);\n });\n}\nSafeAreaProviderCompat.initialMetrics = initialMetrics;\nvar styles = StyleSheet.create({\n container: {\n flex: 1\n }\n});","map":{"version":3,"sources":["SafeAreaProviderCompat.tsx"],"names":["width","height","Dimensions","initialMetrics","initialWindowMetrics","frame","x","y","insets","top","left","right","bottom","style","styles","SafeAreaProviderCompat","container","flex"],"mappings":"AAAA,OAAO,KAAP,KAAA,MAAA,OAAA;;;;;AASA,SAAA,oBAAA,EAAA,qBAAA,EAAA,gBAAA,QAAA,gCAAA;;AAWA,sBAAkCE,UAAU,CAAVA,GAAAA,CAAlC,QAAkCA,CAAlC;AAAA,4CAAQF,KAAR;AAAA,IAAQA,KAAR,sCAAM,CAAN;AAAA,4CAAmBC,MAAnB;AAAA,IAAmBA,MAAnB,sCAA4B,CAA5B;;AAKA,IAAME,cAAc,GAClB,QAAQ,CAAR,EAAA,KAAA,KAAA,IAAyBC,oBAAoB,IAA7C,IAAA,GACI;AACEC,EAAAA,KAAK,EAAE;AAAEC,IAAAA,CAAC,EAAH,CAAA;AAAQC,IAAAA,CAAC,EAAT,CAAA;AAAcP,IAAAA,KAAd,EAAcA,KAAd;AAAqBC,IAAAA,MAAAA,EAAAA;AAArB,GADT;AAEEO,EAAAA,MAAM,EAAE;AAAEC,IAAAA,GAAG,EAAL,CAAA;AAAUC,IAAAA,IAAI,EAAd,CAAA;AAAmBC,IAAAA,KAAK,EAAxB,CAAA;AAA6BC,IAAAA,MAAM,EAAE;AAArC;AAFV,CADJ,GADF,oBAAA;AAQA,eAAe,SAAA,sBAAA,CAAA,IAAA,EAA4D;AAA5B,MAAA,QAAA,GAA4B,IAA5B,CAAA,QAAA;AAAA,MAAYC,KAAZ,GAA4B,IAA5B,CAAYA,KAAZ;AAC7C,SACE,KAAA,CAAA,aAAA,CAAC,qBAAD,CAAA,QAAA,EAAA,IAAA,EACIL,UAAAA,MAAD,EAAY;AACX,QAAA,MAAA,EAAY;AAIV,aAAO,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAM,QAAA,KAAK,EAAE,CAACM,MAAM,CAAP,SAAA,EAAA,KAAA;AAAb,OAAA,EAAP,QAAO,CAAP;AACD;;AAED,WACE,KAAA,CAAA,aAAA,CAAA,gBAAA,EAAA;AAAkB,MAAA,cAAc,EAAhC,cAAA;AAAkD,MAAA,KAAK,EAAED;AAAzD,KAAA,EADF,QACE,CADF;AAVN,GACE,CADF;AAkBD;AAEDE,sBAAsB,CAAtBA,cAAAA,GAAAA,cAAAA;AAEA,IAAMD,MAAM,GAAG,UAAU,CAAV,MAAA,CAAkB;AAC/BE,EAAAA,SAAS,EAAE;AACTC,IAAAA,IAAI,EAAE;AADG;AADoB,CAAlB,CAAf","sourcesContent":["import * as React from 'react';\nimport {\n Dimensions,\n Platform,\n StyleProp,\n StyleSheet,\n View,\n ViewStyle,\n} from 'react-native';\nimport {\n initialWindowMetrics,\n SafeAreaInsetsContext,\n SafeAreaProvider,\n} from 'react-native-safe-area-context';\n\ntype Props = {\n children: React.ReactNode;\n style?: StyleProp<ViewStyle>;\n};\n\nconst { width = 0, height = 0 } = Dimensions.get('window');\n\n// To support SSR on web, we need to have empty insets for initial values\n// Otherwise there can be mismatch between SSR and client output\n// We also need to specify empty values to support tests environments\nconst initialMetrics =\n Platform.OS === 'web' || initialWindowMetrics == null\n ? {\n frame: { x: 0, y: 0, width, height },\n insets: { top: 0, left: 0, right: 0, bottom: 0 },\n }\n : initialWindowMetrics;\n\nexport default function SafeAreaProviderCompat({ children, style }: Props) {\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets) => {\n if (insets) {\n // If we already have insets, don't wrap the stack in another safe area provider\n // This avoids an issue with updates at the cost of potentially incorrect values\n // https://github.com/react-navigation/react-navigation/issues/174\n return <View style={[styles.container, style]}>{children}</View>;\n }\n\n return (\n <SafeAreaProvider initialMetrics={initialMetrics} style={style}>\n {children}\n </SafeAreaProvider>\n );\n }}\n </SafeAreaInsetsContext.Consumer>\n );\n}\n\nSafeAreaProviderCompat.initialMetrics = initialMetrics;\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n});\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/a5f89fa96759beb99d36000c9bb9d8bb.json b/.expo/web/cache/development/babel-loader/a5f89fa96759beb99d36000c9bb9d8bb.json new file mode 100644 index 0000000000000000000000000000000000000000..59de30892ca904184bfe0ed6be2b454b99ae9b1c --- /dev/null +++ b/.expo/web/cache/development/babel-loader/a5f89fa96759beb99d36000c9bb9d8bb.json @@ -0,0 +1 @@ +{"ast":null,"code":"import getBoundingClientRect from \"../../modules/getBoundingClientRect\";\nimport setValueForStyles from \"../../modules/setValueForStyles\";\n\nvar getRect = function getRect(node) {\n var _getBoundingClientRec = getBoundingClientRect(node),\n x = _getBoundingClientRec.x,\n y = _getBoundingClientRec.y,\n top = _getBoundingClientRec.top,\n left = _getBoundingClientRec.left;\n\n var width = node.offsetWidth;\n var height = node.offsetHeight;\n return {\n x: x,\n y: y,\n width: width,\n height: height,\n top: top,\n left: left\n };\n};\n\nvar _measureLayout = function measureLayout(node, relativeToNativeNode, callback) {\n var relativeNode = relativeToNativeNode || node && node.parentNode;\n\n if (node && relativeNode) {\n setTimeout(function () {\n var relativeRect = getBoundingClientRect(relativeNode);\n\n var _getRect = getRect(node),\n height = _getRect.height,\n left = _getRect.left,\n top = _getRect.top,\n width = _getRect.width;\n\n var x = left - relativeRect.left;\n var y = top - relativeRect.top;\n callback(x, y, width, height, left, top);\n }, 0);\n }\n};\n\nvar focusableElements = {\n A: true,\n INPUT: true,\n SELECT: true,\n TEXTAREA: true\n};\nvar UIManager = {\n blur: function blur(node) {\n try {\n node.blur();\n } catch (err) {}\n },\n focus: function focus(node) {\n try {\n var name = node.nodeName;\n\n if (node.getAttribute('tabIndex') == null && focusableElements[name] == null) {\n node.setAttribute('tabIndex', '-1');\n }\n\n node.focus();\n } catch (err) {}\n },\n measure: function measure(node, callback) {\n _measureLayout(node, null, callback);\n },\n measureInWindow: function measureInWindow(node, callback) {\n if (node) {\n setTimeout(function () {\n var _getRect2 = getRect(node),\n height = _getRect2.height,\n left = _getRect2.left,\n top = _getRect2.top,\n width = _getRect2.width;\n\n callback(left, top, width, height);\n }, 0);\n }\n },\n measureLayout: function measureLayout(node, relativeToNativeNode, onFail, onSuccess) {\n _measureLayout(node, relativeToNativeNode, onSuccess);\n },\n updateView: function updateView(node, props) {\n for (var prop in props) {\n if (!Object.prototype.hasOwnProperty.call(props, prop)) {\n continue;\n }\n\n var value = props[prop];\n\n switch (prop) {\n case 'style':\n {\n setValueForStyles(node, value);\n break;\n }\n\n case 'class':\n case 'className':\n {\n node.setAttribute('class', value);\n break;\n }\n\n case 'text':\n case 'value':\n node.value = value;\n break;\n\n default:\n node.setAttribute(prop, value);\n }\n }\n },\n configureNextLayoutAnimation: function configureNextLayoutAnimation(config, onAnimationDidEnd) {\n onAnimationDidEnd();\n },\n setLayoutAnimationEnabledExperimental: function setLayoutAnimationEnabledExperimental() {}\n};\nexport default UIManager;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/UIManager/index.js"],"names":["getBoundingClientRect","setValueForStyles","getRect","node","_getBoundingClientRec","x","y","top","left","width","offsetWidth","height","offsetHeight","_measureLayout","measureLayout","relativeToNativeNode","callback","relativeNode","parentNode","setTimeout","relativeRect","_getRect","focusableElements","A","INPUT","SELECT","TEXTAREA","UIManager","blur","err","focus","name","nodeName","getAttribute","setAttribute","measure","measureInWindow","_getRect2","onFail","onSuccess","updateView","props","prop","Object","prototype","hasOwnProperty","call","value","configureNextLayoutAnimation","config","onAnimationDidEnd","setLayoutAnimationEnabledExperimental"],"mappings":"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","sourcesContent":["/**\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 getBoundingClientRect from '../../modules/getBoundingClientRect';\nimport setValueForStyles from '../../modules/setValueForStyles';\n\nvar getRect = function getRect(node) {\n // Unlike the DOM's getBoundingClientRect, React Native layout measurements\n // for \"height\" and \"width\" ignore scale transforms.\n // https://developer.mozilla.org/en-US/docs/Web/API/CSS_Object_Model/Determining_the_dimensions_of_elements\n var _getBoundingClientRec = getBoundingClientRect(node),\n x = _getBoundingClientRec.x,\n y = _getBoundingClientRec.y,\n top = _getBoundingClientRec.top,\n left = _getBoundingClientRec.left;\n\n var width = node.offsetWidth;\n var height = node.offsetHeight;\n return {\n x: x,\n y: y,\n width: width,\n height: height,\n top: top,\n left: left\n };\n};\n\nvar _measureLayout = function measureLayout(node, relativeToNativeNode, callback) {\n var relativeNode = relativeToNativeNode || node && node.parentNode;\n\n if (node && relativeNode) {\n setTimeout(function () {\n var relativeRect = getBoundingClientRect(relativeNode);\n\n var _getRect = getRect(node),\n height = _getRect.height,\n left = _getRect.left,\n top = _getRect.top,\n width = _getRect.width;\n\n var x = left - relativeRect.left;\n var y = top - relativeRect.top;\n callback(x, y, width, height, left, top);\n }, 0);\n }\n};\n\nvar focusableElements = {\n A: true,\n INPUT: true,\n SELECT: true,\n TEXTAREA: true\n};\nvar UIManager = {\n blur: function blur(node) {\n try {\n node.blur();\n } catch (err) {}\n },\n focus: function focus(node) {\n try {\n var name = node.nodeName; // A tabIndex of -1 allows element to be programmatically focused but\n // prevents keyboard focus, so we don't want to set the value on elements\n // that support keyboard focus by default.\n\n if (node.getAttribute('tabIndex') == null && focusableElements[name] == null) {\n node.setAttribute('tabIndex', '-1');\n }\n\n node.focus();\n } catch (err) {}\n },\n measure: function measure(node, callback) {\n _measureLayout(node, null, callback);\n },\n measureInWindow: function measureInWindow(node, callback) {\n if (node) {\n setTimeout(function () {\n var _getRect2 = getRect(node),\n height = _getRect2.height,\n left = _getRect2.left,\n top = _getRect2.top,\n width = _getRect2.width;\n\n callback(left, top, width, height);\n }, 0);\n }\n },\n measureLayout: function measureLayout(node, relativeToNativeNode, onFail, onSuccess) {\n _measureLayout(node, relativeToNativeNode, onSuccess);\n },\n updateView: function updateView(node, props) {\n for (var prop in props) {\n if (!Object.prototype.hasOwnProperty.call(props, prop)) {\n continue;\n }\n\n var value = props[prop];\n\n switch (prop) {\n case 'style':\n {\n setValueForStyles(node, value);\n break;\n }\n\n case 'class':\n case 'className':\n {\n node.setAttribute('class', value);\n break;\n }\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\n default:\n node.setAttribute(prop, value);\n }\n }\n },\n configureNextLayoutAnimation: function configureNextLayoutAnimation(config, onAnimationDidEnd) {\n onAnimationDidEnd();\n },\n // mocks\n setLayoutAnimationEnabledExperimental: function setLayoutAnimationEnabledExperimental() {}\n};\nexport default UIManager;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/a662abb2ee1f4db247495e4075f08b75.json b/.expo/web/cache/development/babel-loader/a662abb2ee1f4db247495e4075f08b75.json new file mode 100644 index 0000000000000000000000000000000000000000..37ebbce174b6abafd10194c5f3996fc6afa3a56a --- /dev/null +++ b/.expo/web/cache/development/babel-loader/a662abb2ee1f4db247495e4075f08b75.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\n\nfunction StaticContainer(props) {\n return props.children;\n}\n\nexport default React.memo(StaticContainer, function (prevProps, nextProps) {\n var prevPropKeys = Object.keys(prevProps);\n var nextPropKeys = Object.keys(nextProps);\n\n if (prevPropKeys.length !== nextPropKeys.length) {\n return false;\n }\n\n for (var _i = 0, _prevPropKeys = prevPropKeys; _i < _prevPropKeys.length; _i++) {\n var key = _prevPropKeys[_i];\n\n if (key === 'children') {\n continue;\n }\n\n if (prevProps[key] !== nextProps[key]) {\n return false;\n }\n }\n\n return true;\n});","map":{"version":3,"sources":["StaticContainer.tsx"],"names":["props","prevPropKeys","Object","nextPropKeys","key","prevProps","nextProps"],"mappings":"AAAA,OAAO,KAAP,KAAA,MAAA,OAAA;;AAKA,SAAA,eAAA,CAAA,KAAA,EAAqC;AACnC,SAAOA,KAAK,CAAZ,QAAA;AACD;;AAED,eAAe,KAAK,CAAL,IAAA,CAAA,eAAA,EAA4B,UAAA,SAAA,EAAA,SAAA,EAAoC;AAC7E,MAAMC,YAAY,GAAGC,MAAM,CAANA,IAAAA,CAArB,SAAqBA,CAArB;AACA,MAAMC,YAAY,GAAGD,MAAM,CAANA,IAAAA,CAArB,SAAqBA,CAArB;;AAEA,MAAID,YAAY,CAAZA,MAAAA,KAAwBE,YAAY,CAAxC,MAAA,EAAiD;AAC/C,WAAA,KAAA;AACD;;AAED,mCAAA,YAAA,mCAAgC;AAA3B,QAAMC,GAAX,oBAAK;;AACH,QAAIA,GAAG,KAAP,UAAA,EAAwB;AACtB;AACD;;AAED,QAAIC,SAAS,CAATA,GAAS,CAATA,KAAmBC,SAAS,CAAhC,GAAgC,CAAhC,EAAuC;AACrC,aAAA,KAAA;AACD;AACF;;AAED,SAAA,IAAA;AAlBF,CAAe,CAAf","sourcesContent":["import * as React from 'react';\n\n/**\n * Component which prevents updates for children if no props changed\n */\nfunction StaticContainer(props: any) {\n return props.children;\n}\n\nexport default React.memo(StaticContainer, (prevProps: any, nextProps: any) => {\n const prevPropKeys = Object.keys(prevProps);\n const nextPropKeys = Object.keys(nextProps);\n\n if (prevPropKeys.length !== nextPropKeys.length) {\n return false;\n }\n\n for (const key of prevPropKeys) {\n if (key === 'children') {\n continue;\n }\n\n if (prevProps[key] !== nextProps[key]) {\n return false;\n }\n }\n\n return true;\n});\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/a6d33bf37ceba072f2e52cb5d667d2ed.json b/.expo/web/cache/development/babel-loader/a6d33bf37ceba072f2e52cb5d667d2ed.json new file mode 100644 index 0000000000000000000000000000000000000000..7786ab14c711c886a8e3c2b7beaac73c244f36b6 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/a6d33bf37ceba072f2e52cb5d667d2ed.json @@ -0,0 +1 @@ +{"ast":null,"code":"import \"./environment/react-native-logs.fx\";\nimport { Platform } from 'expo-modules-core';\n\nif (__DEV__) {\n if (Platform.OS === 'web' && !('__fbBatchedBridgeConfig' in global)) {\n Object.defineProperty(global, '__fbBatchedBridgeConfig', {\n get: function get() {\n throw new Error(\"Your web project is importing a module from 'react-native' instead of 'react-native-web'. Learn more: https://expo.fyi/fb-batched-bridge-config-web\");\n }\n });\n }\n}","map":{"version":3,"sources":["../src/Expo.fx.web.ts"],"names":[],"mappings":"AAAA;AAEA,SAAS,QAAT,QAAyB,mBAAzB;;AAKA,IAAI,OAAJ,EAAa;AAEX,MAEE,QAAQ,CAAC,EAAT,KAAgB,KAAhB,IAEA,EAAE,6BAA6B,MAA/B,CAJF,EAKE;AACA,IAAA,MAAM,CAAC,cAAP,CAAsB,MAAtB,EAA8B,yBAA9B,EAAyD;AACvD,MAAA,GADuD,iBACpD;AACD,cAAM,IAAI,KAAJ,CACJ,qJADI,CAAN;AAGD;AALsD,KAAzD;AAOD;AACF","sourcesContent":["import './environment/react-native-logs.fx';\n\nimport { Platform } from 'expo-modules-core';\n\n// When users dangerously import a file inside of react-native, it breaks the web alias.\n// This is one of the most common, and cryptic web errors that users encounter.\n// This conditional side-effect provides a more helpful error message for debugging.\nif (__DEV__) {\n // Use a wrapper `__DEV__` to remove this entire block in production.\n if (\n // Only on web platforms.\n Platform.OS === 'web' &&\n // Skip mocking if someone is shimming this value out.\n !('__fbBatchedBridgeConfig' in global)\n ) {\n Object.defineProperty(global, '__fbBatchedBridgeConfig', {\n get() {\n throw new Error(\n \"Your web project is importing a module from 'react-native' instead of 'react-native-web'. Learn more: https://expo.fyi/fb-batched-bridge-config-web\"\n );\n },\n });\n }\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/a70966ea6dda9c49d0938de2468c29a4.json b/.expo/web/cache/development/babel-loader/a70966ea6dda9c49d0938de2468c29a4.json new file mode 100644 index 0000000000000000000000000000000000000000..8e2fb4cc086de6ec64385fd31d092ab8635acf7a --- /dev/null +++ b/.expo/web/cache/development/babel-loader/a70966ea6dda9c49d0938de2468c29a4.json @@ -0,0 +1 @@ +{"ast":null,"code":"var logLevel = \"info\";\n\nfunction dummy() {}\n\nfunction shouldLog(level) {\n var shouldLog = logLevel === \"info\" && level === \"info\" || [\"info\", \"warning\"].indexOf(logLevel) >= 0 && level === \"warning\" || [\"info\", \"warning\", \"error\"].indexOf(logLevel) >= 0 && level === \"error\";\n return shouldLog;\n}\n\nfunction logGroup(logFn) {\n return function (level, msg) {\n if (shouldLog(level)) {\n logFn(msg);\n }\n };\n}\n\nmodule.exports = function (level, msg) {\n if (shouldLog(level)) {\n if (level === \"info\") {\n console.log(msg);\n } else if (level === \"warning\") {\n console.warn(msg);\n } else if (level === \"error\") {\n console.error(msg);\n }\n }\n};\n\nvar group = console.group || dummy;\nvar groupCollapsed = console.groupCollapsed || dummy;\nvar groupEnd = console.groupEnd || dummy;\nmodule.exports.group = logGroup(group);\nmodule.exports.groupCollapsed = logGroup(groupCollapsed);\nmodule.exports.groupEnd = logGroup(groupEnd);\n\nmodule.exports.setLogLevel = function (level) {\n logLevel = level;\n};\n\nmodule.exports.formatError = function (err) {\n var message = err.message;\n var stack = err.stack;\n\n if (!stack) {\n return message;\n } else if (stack.indexOf(message) < 0) {\n return message + \"\\n\" + stack;\n } else {\n return stack;\n }\n};","map":{"version":3,"sources":["C:/Users/user/AppData/Roaming/npm/node_modules/expo-cli/node_modules/webpack/hot/log.js"],"names":["logLevel","dummy","shouldLog","level","indexOf","logGroup","logFn","msg","module","exports","console","log","warn","error","group","groupCollapsed","groupEnd","setLogLevel","formatError","err","message","stack"],"mappings":"AAAA,IAAIA,QAAQ,GAAG,MAAf;;AAEA,SAASC,KAAT,GAAiB,CAAE;;AAEnB,SAASC,SAAT,CAAmBC,KAAnB,EAA0B;AACzB,MAAID,SAAS,GACXF,QAAQ,KAAK,MAAb,IAAuBG,KAAK,KAAK,MAAlC,IACC,CAAC,MAAD,EAAS,SAAT,EAAoBC,OAApB,CAA4BJ,QAA5B,KAAyC,CAAzC,IAA8CG,KAAK,KAAK,SADzD,IAEC,CAAC,MAAD,EAAS,SAAT,EAAoB,OAApB,EAA6BC,OAA7B,CAAqCJ,QAArC,KAAkD,CAAlD,IAAuDG,KAAK,KAAK,OAHnE;AAIA,SAAOD,SAAP;AACA;;AAED,SAASG,QAAT,CAAkBC,KAAlB,EAAyB;AACxB,SAAO,UAASH,KAAT,EAAgBI,GAAhB,EAAqB;AAC3B,QAAIL,SAAS,CAACC,KAAD,CAAb,EAAsB;AACrBG,MAAAA,KAAK,CAACC,GAAD,CAAL;AACA;AACD,GAJD;AAKA;;AAEDC,MAAM,CAACC,OAAP,GAAiB,UAASN,KAAT,EAAgBI,GAAhB,EAAqB;AACrC,MAAIL,SAAS,CAACC,KAAD,CAAb,EAAsB;AACrB,QAAIA,KAAK,KAAK,MAAd,EAAsB;AACrBO,MAAAA,OAAO,CAACC,GAAR,CAAYJ,GAAZ;AACA,KAFD,MAEO,IAAIJ,KAAK,KAAK,SAAd,EAAyB;AAC/BO,MAAAA,OAAO,CAACE,IAAR,CAAaL,GAAb;AACA,KAFM,MAEA,IAAIJ,KAAK,KAAK,OAAd,EAAuB;AAC7BO,MAAAA,OAAO,CAACG,KAAR,CAAcN,GAAd;AACA;AACD;AACD,CAVD;;AAaA,IAAIO,KAAK,GAAGJ,OAAO,CAACI,KAAR,IAAiBb,KAA7B;AACA,IAAIc,cAAc,GAAGL,OAAO,CAACK,cAAR,IAA0Bd,KAA/C;AACA,IAAIe,QAAQ,GAAGN,OAAO,CAACM,QAAR,IAAoBf,KAAnC;AAGAO,MAAM,CAACC,OAAP,CAAeK,KAAf,GAAuBT,QAAQ,CAACS,KAAD,CAA/B;AAEAN,MAAM,CAACC,OAAP,CAAeM,cAAf,GAAgCV,QAAQ,CAACU,cAAD,CAAxC;AAEAP,MAAM,CAACC,OAAP,CAAeO,QAAf,GAA0BX,QAAQ,CAACW,QAAD,CAAlC;;AAEAR,MAAM,CAACC,OAAP,CAAeQ,WAAf,GAA6B,UAASd,KAAT,EAAgB;AAC5CH,EAAAA,QAAQ,GAAGG,KAAX;AACA,CAFD;;AAIAK,MAAM,CAACC,OAAP,CAAeS,WAAf,GAA6B,UAASC,GAAT,EAAc;AAC1C,MAAIC,OAAO,GAAGD,GAAG,CAACC,OAAlB;AACA,MAAIC,KAAK,GAAGF,GAAG,CAACE,KAAhB;;AACA,MAAI,CAACA,KAAL,EAAY;AACX,WAAOD,OAAP;AACA,GAFD,MAEO,IAAIC,KAAK,CAACjB,OAAN,CAAcgB,OAAd,IAAyB,CAA7B,EAAgC;AACtC,WAAOA,OAAO,GAAG,IAAV,GAAiBC,KAAxB;AACA,GAFM,MAEA;AACN,WAAOA,KAAP;AACA;AACD,CAVD","sourcesContent":["var logLevel = \"info\";\n\nfunction dummy() {}\n\nfunction shouldLog(level) {\n\tvar shouldLog =\n\t\t(logLevel === \"info\" && level === \"info\") ||\n\t\t([\"info\", \"warning\"].indexOf(logLevel) >= 0 && level === \"warning\") ||\n\t\t([\"info\", \"warning\", \"error\"].indexOf(logLevel) >= 0 && level === \"error\");\n\treturn shouldLog;\n}\n\nfunction logGroup(logFn) {\n\treturn function(level, msg) {\n\t\tif (shouldLog(level)) {\n\t\t\tlogFn(msg);\n\t\t}\n\t};\n}\n\nmodule.exports = function(level, msg) {\n\tif (shouldLog(level)) {\n\t\tif (level === \"info\") {\n\t\t\tconsole.log(msg);\n\t\t} else if (level === \"warning\") {\n\t\t\tconsole.warn(msg);\n\t\t} else if (level === \"error\") {\n\t\t\tconsole.error(msg);\n\t\t}\n\t}\n};\n\n/* eslint-disable node/no-unsupported-features/node-builtins */\nvar group = console.group || dummy;\nvar groupCollapsed = console.groupCollapsed || dummy;\nvar groupEnd = console.groupEnd || dummy;\n/* eslint-enable node/no-unsupported-features/node-builtins */\n\nmodule.exports.group = logGroup(group);\n\nmodule.exports.groupCollapsed = logGroup(groupCollapsed);\n\nmodule.exports.groupEnd = logGroup(groupEnd);\n\nmodule.exports.setLogLevel = function(level) {\n\tlogLevel = level;\n};\n\nmodule.exports.formatError = function(err) {\n\tvar message = err.message;\n\tvar stack = err.stack;\n\tif (!stack) {\n\t\treturn message;\n\t} else if (stack.indexOf(message) < 0) {\n\t\treturn message + \"\\n\" + stack;\n\t} else {\n\t\treturn stack;\n\t}\n};\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/a90d8d76f93cbd43faf992aa56ba3546.json b/.expo/web/cache/development/babel-loader/a90d8d76f93cbd43faf992aa56ba3546.json new file mode 100644 index 0000000000000000000000000000000000000000..4a6b854c589c25d5dd8a55d4102e88221a799f52 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/a90d8d76f93cbd43faf992aa56ba3546.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport TextInput from \"react-native-web/dist/exports/TextInput\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport React, { useState, useEffect } from 'react';\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef, deleteDoc } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Details(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(route.params.itemDetails.name),\n _useState2 = _slicedToArray(_useState, 2),\n name = _useState2[0],\n onChangeName = _useState2[1];\n\n var _useState3 = useState(route.params.itemDetails.email),\n _useState4 = _slicedToArray(_useState3, 2),\n email = _useState4[0],\n onChangeEmail = _useState4[1];\n\n var _useState5 = useState(route.params.itemDetails.image),\n _useState6 = _slicedToArray(_useState5, 2),\n image = _useState6[0],\n onChangeImage = _useState6[1];\n\n function update() {\n return _regeneratorRuntime.async(function update$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _regeneratorRuntime.awrap(setDoc(doc(getFirestore(), \"Users\", route.params.itemDetails.id), {\n Name: name,\n Email: email,\n Image: image\n }));\n\n case 2:\n navigation.navigate({\n name: 'UserList',\n merge: true\n });\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n }\n\n var showAlert = function showAlert() {\n return Alert.alert(\"Delete\", \"Do you want to delete the User?\", [{\n text: \"Cancel\",\n onPress: function onPress() {\n return navigation.navigate({\n name: 'UserList',\n merge: true\n });\n },\n style: \"alertButton\"\n }, {\n text: \"Delete\",\n onPress: function onPress() {\n return deleteUser();\n },\n style: \"alertButton\"\n }]);\n };\n\n function deleteUser() {\n deleteDoc(doc(getFirestore(), \"Users\", route.params.itemDetails.id));\n navigation.navigate({\n name: 'UserList',\n merge: true\n });\n }\n\n return _jsxs(View, {\n style: styles.container,\n children: [_jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeName,\n value: name,\n multiline: true\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeEmail,\n value: email,\n multiline: true\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeImage,\n value: image,\n multiline: true\n }), _jsx(TouchableOpacity, {\n style: styles.button,\n onPress: update,\n children: _jsx(Text, {\n style: styles.cancelButtonText,\n children: \"Update\"\n })\n }), _jsx(TouchableOpacity, {\n style: styles.button,\n onPress: showAlert,\n children: _jsx(Text, {\n style: styles.cancelButtonText,\n children: \"Delete\"\n })\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n marginLeft: 10\n },\n input: {\n borderBottomColor: '#CFCDCD',\n borderBottomWidth: 1,\n width: 220,\n marginTop: 20\n },\n button: {\n marginTop: 35,\n width: 85,\n height: 35,\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\n borderRadius: 12,\n justifyContent: 'center'\n },\n cancelButtonText: {\n height: 28,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 15,\n lineHeight: 22,\n textAlign: 'center',\n color: \"#5E6A79\"\n },\n alertButton: {\n confirmButtonCollor: '#819EAC'\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/Details.js"],"names":["React","useState","useEffect","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","deleteDoc","Details","navigation","route","params","itemDetails","name","onChangeName","email","onChangeEmail","image","onChangeImage","update","id","Name","Email","Image","navigate","merge","showAlert","Alert","alert","text","onPress","style","deleteUser","styles","container","input","button","cancelButtonText","StyleSheet","create","marginLeft","borderBottomColor","borderBottomWidth","width","marginTop","height","backgroundColor","borderRadius","justifyContent","fontStyle","fontWeight","fontSize","lineHeight","textAlign","color","alertButton","confirmButtonCollor"],"mappings":";;;;;;;;;AACA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;AACA,SAAQC,UAAR,EAAoBC,GAApB,EAAyBC,UAAzB,EAAqCC,aAArC,EAAoDC,MAApD,EAA4DC,SAA5D,EAAuEC,MAAvE,EAA+EC,YAA/E,EAA6FC,MAA7F,EAAqGC,MAArG,EAA6GC,SAA7G,QAA6H,oBAA7H;;;AAIA,eAAe,SAASC,OAAT,OAAuC;AAAA,MAApBC,UAAoB,QAApBA,UAAoB;AAAA,MAARC,KAAQ,QAARA,KAAQ;;AAElD,kBAA6Bf,QAAQ,CAACe,KAAK,CAACC,MAAN,CAAaC,WAAb,CAAyBC,IAA1B,CAArC;AAAA;AAAA,MAAOA,IAAP;AAAA,MAAaC,YAAb;;AACA,mBAA+BnB,QAAQ,CAACe,KAAK,CAACC,MAAN,CAAaC,WAAb,CAAyBG,KAA1B,CAAvC;AAAA;AAAA,MAAOA,KAAP;AAAA,MAAcC,aAAd;;AACA,mBAA+BrB,QAAQ,CAACe,KAAK,CAACC,MAAN,CAAaC,WAAb,CAAyBK,KAA1B,CAAvC;AAAA;AAAA,MAAOA,KAAP;AAAA,MAAcC,aAAd;;AAEA,WAAeC,MAAf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6CAEUhB,MAAM,CAACL,GAAG,CAACM,YAAY,EAAb,EAAiB,OAAjB,EAA0BM,KAAK,CAACC,MAAN,CAAaC,WAAb,CAAyBQ,EAAnD,CAAJ,EAA4D;AACpEC,cAAAA,IAAI,EAAER,IAD8D;AAEpES,cAAAA,KAAK,EAAEP,KAF6D;AAGpEQ,cAAAA,KAAK,EAAEN;AAH6D,aAA5D,CAFhB;;AAAA;AAUIR,YAAAA,UAAU,CAACe,QAAX,CAAoB;AAChBX,cAAAA,IAAI,EAAE,UADU;AAGhBY,cAAAA,KAAK,EAAE;AAHS,aAApB;;AAVJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAkBA,MAAMC,SAAS,GAAG,SAAZA,SAAY;AAAA,WAClBC,KAAK,CAACC,KAAN,CACE,QADF,EAEE,iCAFF,EAGE,CACE;AACEC,MAAAA,IAAI,EAAE,QADR;AAEEC,MAAAA,OAAO,EAAE;AAAA,eAAMrB,UAAU,CAACe,QAAX,CAAoB;AACjCX,UAAAA,IAAI,EAAE,UAD2B;AAGjCY,UAAAA,KAAK,EAAE;AAH0B,SAApB,CAAN;AAAA,OAFX;AAOEM,MAAAA,KAAK,EAAE;AAPT,KADF,EAUE;AACIF,MAAAA,IAAI,EAAE,QADV;AAEIC,MAAAA,OAAO,EAAE;AAAA,eAAME,UAAU,EAAhB;AAAA,OAFb;AAGID,MAAAA,KAAK,EAAE;AAHX,KAVF,CAHF,CADkB;AAAA,GAAlB;;AAuBC,WAASC,UAAT,GAAqB;AAIjBzB,IAAAA,SAAS,CAACT,GAAG,CAACM,YAAY,EAAb,EAAiB,OAAjB,EAA0BM,KAAK,CAACC,MAAN,CAAaC,WAAb,CAAyBQ,EAAnD,CAAJ,CAAT;AAIDX,IAAAA,UAAU,CAACe,QAAX,CAAoB;AAChBX,MAAAA,IAAI,EAAE,UADU;AAGhBY,MAAAA,KAAK,EAAE;AAHS,KAApB;AAKH;;AAGD,SACI,MAAC,IAAD;AAAM,IAAA,KAAK,EAAEQ,MAAM,CAACC,SAApB;AAAA,eACD,KAAC,SAAD;AAAW,MAAA,KAAK,EAAED,MAAM,CAACE,KAAzB;AAAgC,MAAA,YAAY,EAAErB,YAA9C;AAA4D,MAAA,KAAK,EAAED,IAAnE;AAAyE,MAAA,SAAS,EAAI;AAAtF,MADC,EAEA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEoB,MAAM,CAACE,KAAzB;AAAgC,MAAA,YAAY,EAAEnB,aAA9C;AAA6D,MAAA,KAAK,EAAED,KAApE;AAA2E,MAAA,SAAS,EAAI;AAAxF,MAFA,EAGA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEkB,MAAM,CAACE,KAAzB;AAAgC,MAAA,YAAY,EAAEjB,aAA9C;AAA6D,MAAA,KAAK,EAAED,KAApE;AAA2E,MAAA,SAAS,EAAI;AAAxF,MAHA,EAKA,KAAC,gBAAD;AAAkB,MAAA,KAAK,EAAEgB,MAAM,CAACG,MAAhC;AAAwC,MAAA,OAAO,EAAEjB,MAAjD;AAAA,gBACI,KAAC,IAAD;AAAM,QAAA,KAAK,EAAEc,MAAM,CAACI,gBAApB;AAAA;AAAA;AADJ,MALA,EAUA,KAAC,gBAAD;AAAkB,MAAA,KAAK,EAAEJ,MAAM,CAACG,MAAhC;AAAwC,MAAA,OAAO,EAAEV,SAAjD;AAAA,gBACI,KAAC,IAAD;AAAM,QAAA,KAAK,EAAEO,MAAM,CAACI,gBAApB;AAAA;AAAA;AADJ,MAVA;AAAA,IADJ;AAkBH;AAID,IAAMJ,MAAM,GAAGK,UAAU,CAACC,MAAX,CAAkB;AAC7BL,EAAAA,SAAS,EAAC;AACNM,IAAAA,UAAU,EAAC;AADL,GADmB;AAI7BL,EAAAA,KAAK,EAAC;AAEFM,IAAAA,iBAAiB,EAAC,SAFhB;AAGFC,IAAAA,iBAAiB,EAAC,CAHhB;AAIFC,IAAAA,KAAK,EAAE,GAJL;AAKFC,IAAAA,SAAS,EAAE;AALT,GAJuB;AAW5BR,EAAAA,MAAM,EAAC;AACJQ,IAAAA,SAAS,EAAC,EADN;AAEJD,IAAAA,KAAK,EAAE,EAFH;AAGLE,IAAAA,MAAM,EAAE,EAHH;AAILC,IAAAA,eAAe,EAAE,0BAJZ;AAMLC,IAAAA,YAAY,EAAE,EANT;AAOLC,IAAAA,cAAc,EAAE;AAPX,GAXqB;AAqB7BX,EAAAA,gBAAgB,EAAC;AAEdQ,IAAAA,MAAM,EAAE,EAFM;AAKdI,IAAAA,SAAS,EAAE,QALG;AAMdC,IAAAA,UAAU,EAAE,MANE;AAOdC,IAAAA,QAAQ,EAAE,EAPI;AAQdC,IAAAA,UAAU,EAAE,EARE;AASdC,IAAAA,SAAS,EAAC,QATI;AAUdC,IAAAA,KAAK,EAAE;AAVO,GArBY;AAiC9BC,EAAAA,WAAW,EAAC;AACPC,IAAAA,mBAAmB,EAAC;AADb;AAjCkB,CAAlB,CAAf","sourcesContent":["import { StyleSheet, Text, View, Button, TextInput, TouchableOpacity, Alert } from 'react-native';\r\nimport React, { useState, useEffect } from 'react';\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef, deleteDoc} from \"firebase/firestore\"\r\n\r\n\r\n\r\nexport default function Details({ navigation, route }){\r\n\r\n const [name, onChangeName] = useState(route.params.itemDetails.name);\r\n const [email, onChangeEmail] = useState(route.params.itemDetails.email);\r\n const [image, onChangeImage] = useState(route.params.itemDetails.image);\r\n\r\n async function update(){\r\n\r\n await setDoc(doc(getFirestore(), \"Users\", route.params.itemDetails.id), {\r\n Name: name,\r\n Email: email,\r\n Image: image,\r\n });\r\n \r\n\r\n\r\n navigation.navigate({\r\n name: 'UserList',\r\n //params: { post: fach },\r\n merge: true,\r\n });\r\n }\r\n\r\n\r\n const showAlert = () =>\r\n Alert.alert(\r\n \"Delete\",\r\n \"Do you want to delete the User?\",\r\n [\r\n {\r\n text: \"Cancel\",\r\n onPress: () => navigation.navigate({\r\n name: 'UserList',\r\n //params: { post: fach },\r\n merge: true,\r\n }),\r\n style: \"alertButton\",\r\n },\r\n {\r\n text: \"Delete\",\r\n onPress: () => deleteUser(),\r\n style: \"alertButton\",\r\n },\r\n ],\r\n \r\n );\r\n\r\n function deleteUser(){//async\r\n\r\n //await deleteDoc(doc(getFirestore(), \"Users\", route.params.itemDetails.id));\r\n \r\n deleteDoc(doc(getFirestore(), \"Users\", route.params.itemDetails.id));\r\n\r\n\r\n\r\n navigation.navigate({\r\n name: 'UserList',\r\n //params: { post: fach },\r\n merge: true,\r\n });\r\n }\r\n \r\n\r\n return(\r\n <View style={styles.container}>\r\n <TextInput style={styles.input} onChangeText={onChangeName} value={name} multiline = {true} />\r\n <TextInput style={styles.input} onChangeText={onChangeEmail} value={email} multiline = {true} />\r\n <TextInput style={styles.input} onChangeText={onChangeImage} value={image} multiline = {true} />\r\n\r\n <TouchableOpacity style={styles.button} onPress={update}>\r\n <Text style={styles.cancelButtonText}>\r\n Update\r\n </Text>\r\n </TouchableOpacity>\r\n <TouchableOpacity style={styles.button} onPress={showAlert}>\r\n <Text style={styles.cancelButtonText}>\r\n Delete\r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n )\r\n}\r\n\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container:{\r\n marginLeft:10,\r\n },\r\n input:{\r\n //underlineColorAndroid: '#CFCDCD',\r\n borderBottomColor:'#CFCDCD',\r\n borderBottomWidth:1,\r\n width: 220,\r\n marginTop: 20,\r\n },\r\n button:{\r\n marginTop:35,\r\n width: 85,\r\n height: 35,\r\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\r\n //box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);\r\n borderRadius: 12,\r\n justifyContent: 'center',\r\n \r\n },\r\n cancelButtonText:{\r\n //width: 55,\r\n height: 28,\r\n\r\n //font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 15,\r\n lineHeight: 22,\r\n textAlign:'center',\r\n color: \"#5E6A79\",\r\n },\r\n alertButton:{\r\n confirmButtonCollor:'#819EAC',\r\n }\r\n });"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/a992fd07166696df168ff7e97fa3a620.json b/.expo/web/cache/development/babel-loader/a992fd07166696df168ff7e97fa3a620.json new file mode 100644 index 0000000000000000000000000000000000000000..619de24b7294239e691e23f61d36e87ec311c4d8 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/a992fd07166696df168ff7e97fa3a620.json @@ -0,0 +1 @@ +{"ast":null,"code":"export var defaultProps = {\n children: true,\n dataSet: true,\n nativeID: true,\n ref: true,\n suppressHydrationWarning: true,\n testID: true\n};\nexport var accessibilityProps = {\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 dir: true,\n focusable: true,\n accessible: true,\n accessibilityState: true,\n accessibilityValue: true\n};\nexport var clickProps = {\n onClick: true,\n onClickCapture: true,\n onContextMenu: 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 classList: true,\n style: true\n};","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/forwardedProps/index.js"],"names":["defaultProps","children","dataSet","nativeID","ref","suppressHydrationWarning","testID","accessibilityProps","accessibilityActiveDescendant","accessibilityAtomic","accessibilityAutoComplete","accessibilityBusy","accessibilityChecked","accessibilityColumnCount","accessibilityColumnIndex","accessibilityColumnSpan","accessibilityControls","accessibilityCurrent","accessibilityDescribedBy","accessibilityDetails","accessibilityDisabled","accessibilityErrorMessage","accessibilityExpanded","accessibilityFlowTo","accessibilityHasPopup","accessibilityHidden","accessibilityInvalid","accessibilityKeyShortcuts","accessibilityLabel","accessibilityLabelledBy","accessibilityLevel","accessibilityLiveRegion","accessibilityModal","accessibilityMultiline","accessibilityMultiSelectable","accessibilityOrientation","accessibilityOwns","accessibilityPlaceholder","accessibilityPosInSet","accessibilityPressed","accessibilityReadOnly","accessibilityRequired","accessibilityRole","accessibilityRoleDescription","accessibilityRowCount","accessibilityRowIndex","accessibilityRowSpan","accessibilitySelected","accessibilitySetSize","accessibilitySort","accessibilityValueMax","accessibilityValueMin","accessibilityValueNow","accessibilityValueText","dir","focusable","accessible","accessibilityState","accessibilityValue","clickProps","onClick","onClickCapture","onContextMenu","focusProps","onBlur","onFocus","keyboardProps","onKeyDown","onKeyDownCapture","onKeyUp","onKeyUpCapture","mouseProps","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOver","onMouseOut","onMouseUp","touchProps","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","styleProps","classList","style"],"mappings":"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","sourcesContent":["/**\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 */\nexport var defaultProps = {\n children: true,\n dataSet: true,\n nativeID: true,\n ref: true,\n suppressHydrationWarning: true,\n testID: true\n};\nexport var accessibilityProps = {\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 dir: true,\n focusable: true,\n // Deprecated\n accessible: true,\n accessibilityState: true,\n accessibilityValue: true\n};\nexport var clickProps = {\n onClick: true,\n onClickCapture: true,\n onContextMenu: 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 classList: true,\n style: true\n};"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/a9e3d5015858d5ca6c1aefcb2b285c3d.json b/.expo/web/cache/development/babel-loader/a9e3d5015858d5ca6c1aefcb2b285c3d.json new file mode 100644 index 0000000000000000000000000000000000000000..2788d5c614ee32023133a1ec45f1196a50643ee8 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/a9e3d5015858d5ca6c1aefcb2b285c3d.json @@ -0,0 +1 @@ +{"ast":null,"code":"import UIManager from \"../UIManager\";\nvar NativeModules = {\n UIManager: UIManager\n};\nexport default NativeModules;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/NativeModules/index.js"],"names":["UIManager","NativeModules"],"mappings":"AAQA,OAAOA,SAAP;AAEA,IAAIC,aAAa,GAAG;AAClBD,EAAAA,SAAS,EAAEA;AADO,CAApB;AAGA,eAAeC,aAAf","sourcesContent":["/**\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 UIManager from '../UIManager'; // NativeModules shim\n\nvar NativeModules = {\n UIManager: UIManager\n};\nexport default NativeModules;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/aa8eb51894238f648b66fa5ebe494d50.json b/.expo/web/cache/development/babel-loader/aa8eb51894238f648b66fa5ebe494d50.json new file mode 100644 index 0000000000000000000000000000000000000000..d5544808e9c79d565c611d0597d5ed5573e27d90 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/aa8eb51894238f648b66fa5ebe494d50.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"height\", \"minHeight\", \"maxHeight\", \"backgroundColor\", \"borderBottomColor\", \"borderBottomEndRadius\", \"borderBottomLeftRadius\", \"borderBottomRightRadius\", \"borderBottomStartRadius\", \"borderBottomWidth\", \"borderColor\", \"borderEndColor\", \"borderEndWidth\", \"borderLeftColor\", \"borderLeftWidth\", \"borderRadius\", \"borderRightColor\", \"borderRightWidth\", \"borderStartColor\", \"borderStartWidth\", \"borderStyle\", \"borderTopColor\", \"borderTopEndRadius\", \"borderTopLeftRadius\", \"borderTopRightRadius\", \"borderTopStartRadius\", \"borderTopWidth\", \"borderWidth\", \"boxShadow\", \"elevation\", \"shadowColor\", \"shadowOffset\", \"shadowOpacity\", \"shadowRadius\", \"opacity\", \"transform\"];\nimport * as React from 'react';\nimport Animated from \"react-native-web/dist/exports/Animated\";\nimport Platform from \"react-native-web/dist/exports/Platform\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport View from \"react-native-web/dist/exports/View\";\nimport { useSafeAreaFrame, useSafeAreaInsets } from 'react-native-safe-area-context';\nimport getDefaultHeaderHeight from \"./getDefaultHeaderHeight\";\nimport HeaderBackground from \"./HeaderBackground\";\nimport HeaderShownContext from \"./HeaderShownContext\";\nimport HeaderTitle from \"./HeaderTitle\";\n\nvar warnIfHeaderStylesDefined = function warnIfHeaderStylesDefined(styles) {\n Object.keys(styles).forEach(function (styleProp) {\n var value = styles[styleProp];\n\n if (styleProp === 'position' && value === 'absolute') {\n console.warn(\"position: 'absolute' is not supported on headerStyle. If you would like to render content under the header, use the 'headerTransparent' option.\");\n } else if (value !== undefined) {\n console.warn(styleProp + \" was given a value of \" + value + \", this has no effect on headerStyle.\");\n }\n });\n};\n\nexport default function Header(props) {\n var insets = useSafeAreaInsets();\n var frame = useSafeAreaFrame();\n var isParentHeaderShown = React.useContext(HeaderShownContext);\n var _props$layout = props.layout,\n layout = _props$layout === void 0 ? frame : _props$layout,\n _props$modal = props.modal,\n modal = _props$modal === void 0 ? false : _props$modal,\n title = props.title,\n customTitle = props.headerTitle,\n _props$headerTitleAli = props.headerTitleAlign,\n headerTitleAlign = _props$headerTitleAli === void 0 ? Platform.select({\n ios: 'center',\n default: 'left'\n }) : _props$headerTitleAli,\n headerLeft = props.headerLeft,\n headerLeftLabelVisible = props.headerLeftLabelVisible,\n headerTransparent = props.headerTransparent,\n headerTintColor = props.headerTintColor,\n headerBackground = props.headerBackground,\n headerRight = props.headerRight,\n titleAllowFontScaling = props.headerTitleAllowFontScaling,\n titleStyle = props.headerTitleStyle,\n leftContainerStyle = props.headerLeftContainerStyle,\n rightContainerStyle = props.headerRightContainerStyle,\n titleContainerStyle = props.headerTitleContainerStyle,\n backgroundContainerStyle = props.headerBackgroundContainerStyle,\n customHeaderStyle = props.headerStyle,\n headerShadowVisible = props.headerShadowVisible,\n headerPressColor = props.headerPressColor,\n headerPressOpacity = props.headerPressOpacity,\n _props$headerStatusBa = props.headerStatusBarHeight,\n headerStatusBarHeight = _props$headerStatusBa === void 0 ? isParentHeaderShown ? 0 : insets.top : _props$headerStatusBa;\n var defaultHeight = getDefaultHeaderHeight(layout, modal, headerStatusBarHeight);\n\n var _StyleSheet$flatten = StyleSheet.flatten(customHeaderStyle || {}),\n _StyleSheet$flatten$h = _StyleSheet$flatten.height,\n height = _StyleSheet$flatten$h === void 0 ? defaultHeight : _StyleSheet$flatten$h,\n minHeight = _StyleSheet$flatten.minHeight,\n maxHeight = _StyleSheet$flatten.maxHeight,\n backgroundColor = _StyleSheet$flatten.backgroundColor,\n borderBottomColor = _StyleSheet$flatten.borderBottomColor,\n borderBottomEndRadius = _StyleSheet$flatten.borderBottomEndRadius,\n borderBottomLeftRadius = _StyleSheet$flatten.borderBottomLeftRadius,\n borderBottomRightRadius = _StyleSheet$flatten.borderBottomRightRadius,\n borderBottomStartRadius = _StyleSheet$flatten.borderBottomStartRadius,\n borderBottomWidth = _StyleSheet$flatten.borderBottomWidth,\n borderColor = _StyleSheet$flatten.borderColor,\n borderEndColor = _StyleSheet$flatten.borderEndColor,\n borderEndWidth = _StyleSheet$flatten.borderEndWidth,\n borderLeftColor = _StyleSheet$flatten.borderLeftColor,\n borderLeftWidth = _StyleSheet$flatten.borderLeftWidth,\n borderRadius = _StyleSheet$flatten.borderRadius,\n borderRightColor = _StyleSheet$flatten.borderRightColor,\n borderRightWidth = _StyleSheet$flatten.borderRightWidth,\n borderStartColor = _StyleSheet$flatten.borderStartColor,\n borderStartWidth = _StyleSheet$flatten.borderStartWidth,\n borderStyle = _StyleSheet$flatten.borderStyle,\n borderTopColor = _StyleSheet$flatten.borderTopColor,\n borderTopEndRadius = _StyleSheet$flatten.borderTopEndRadius,\n borderTopLeftRadius = _StyleSheet$flatten.borderTopLeftRadius,\n borderTopRightRadius = _StyleSheet$flatten.borderTopRightRadius,\n borderTopStartRadius = _StyleSheet$flatten.borderTopStartRadius,\n borderTopWidth = _StyleSheet$flatten.borderTopWidth,\n borderWidth = _StyleSheet$flatten.borderWidth,\n boxShadow = _StyleSheet$flatten.boxShadow,\n elevation = _StyleSheet$flatten.elevation,\n shadowColor = _StyleSheet$flatten.shadowColor,\n shadowOffset = _StyleSheet$flatten.shadowOffset,\n shadowOpacity = _StyleSheet$flatten.shadowOpacity,\n shadowRadius = _StyleSheet$flatten.shadowRadius,\n opacity = _StyleSheet$flatten.opacity,\n transform = _StyleSheet$flatten.transform,\n unsafeStyles = _objectWithoutProperties(_StyleSheet$flatten, _excluded);\n\n if (process.env.NODE_ENV !== 'production') {\n warnIfHeaderStylesDefined(unsafeStyles);\n }\n\n var safeStyles = {\n backgroundColor: backgroundColor,\n borderBottomColor: borderBottomColor,\n borderBottomEndRadius: borderBottomEndRadius,\n borderBottomLeftRadius: borderBottomLeftRadius,\n borderBottomRightRadius: borderBottomRightRadius,\n borderBottomStartRadius: borderBottomStartRadius,\n borderBottomWidth: borderBottomWidth,\n borderColor: borderColor,\n borderEndColor: borderEndColor,\n borderEndWidth: borderEndWidth,\n borderLeftColor: borderLeftColor,\n borderLeftWidth: borderLeftWidth,\n borderRadius: borderRadius,\n borderRightColor: borderRightColor,\n borderRightWidth: borderRightWidth,\n borderStartColor: borderStartColor,\n borderStartWidth: borderStartWidth,\n borderStyle: borderStyle,\n borderTopColor: borderTopColor,\n borderTopEndRadius: borderTopEndRadius,\n borderTopLeftRadius: borderTopLeftRadius,\n borderTopRightRadius: borderTopRightRadius,\n borderTopStartRadius: borderTopStartRadius,\n borderTopWidth: borderTopWidth,\n borderWidth: borderWidth,\n boxShadow: boxShadow,\n elevation: elevation,\n shadowColor: shadowColor,\n shadowOffset: shadowOffset,\n shadowOpacity: shadowOpacity,\n shadowRadius: shadowRadius,\n opacity: opacity,\n transform: transform\n };\n\n for (var styleProp in safeStyles) {\n if (safeStyles[styleProp] === undefined) {\n delete safeStyles[styleProp];\n }\n }\n\n var backgroundStyle = [safeStyles, headerShadowVisible === false && {\n elevation: 0,\n shadowOpacity: 0,\n borderBottomWidth: 0\n }];\n var leftButton = headerLeft ? headerLeft({\n tintColor: headerTintColor,\n pressColor: headerPressColor,\n pressOpacity: headerPressOpacity,\n labelVisible: headerLeftLabelVisible\n }) : null;\n var rightButton = headerRight ? headerRight({\n tintColor: headerTintColor,\n pressColor: headerPressColor,\n pressOpacity: headerPressOpacity\n }) : null;\n var headerTitle = typeof customTitle !== 'function' ? function (props) {\n return React.createElement(HeaderTitle, props);\n } : customTitle;\n return React.createElement(React.Fragment, null, React.createElement(Animated.View, {\n pointerEvents: \"box-none\",\n style: [StyleSheet.absoluteFill, {\n zIndex: 0\n }, backgroundContainerStyle]\n }, headerBackground ? headerBackground({\n style: backgroundStyle\n }) : headerTransparent ? null : React.createElement(HeaderBackground, {\n style: backgroundStyle\n })), React.createElement(Animated.View, {\n pointerEvents: \"box-none\",\n style: [{\n height: height,\n minHeight: minHeight,\n maxHeight: maxHeight,\n opacity: opacity,\n transform: transform\n }]\n }, React.createElement(View, {\n pointerEvents: \"none\",\n style: {\n height: headerStatusBarHeight\n }\n }), React.createElement(View, {\n pointerEvents: \"box-none\",\n style: styles.content\n }, React.createElement(Animated.View, {\n pointerEvents: \"box-none\",\n style: [styles.left, headerTitleAlign === 'center' && styles.expand, {\n marginStart: insets.left\n }, leftContainerStyle]\n }, leftButton), React.createElement(Animated.View, {\n pointerEvents: \"box-none\",\n style: [styles.title, {\n maxWidth: headerTitleAlign === 'center' ? layout.width - ((leftButton ? headerLeftLabelVisible !== false ? 80 : 32 : 16) + Math.max(insets.left, insets.right)) * 2 : layout.width - ((leftButton ? 72 : 16) + (rightButton ? 72 : 16) + insets.left - insets.right)\n }, titleContainerStyle]\n }, headerTitle({\n children: title,\n allowFontScaling: titleAllowFontScaling,\n tintColor: headerTintColor,\n style: titleStyle\n })), React.createElement(Animated.View, {\n pointerEvents: \"box-none\",\n style: [styles.right, styles.expand, {\n marginEnd: insets.right\n }, rightContainerStyle]\n }, rightButton))));\n}\nvar styles = StyleSheet.create({\n content: {\n flex: 1,\n flexDirection: 'row',\n alignItems: 'stretch'\n },\n title: {\n marginHorizontal: 16,\n justifyContent: 'center'\n },\n left: {\n justifyContent: 'center',\n alignItems: 'flex-start'\n },\n right: {\n justifyContent: 'center',\n alignItems: 'flex-end'\n },\n expand: {\n flexGrow: 1,\n flexBasis: 0\n }\n});","map":{"version":3,"sources":["Header.tsx"],"names":["warnIfHeaderStylesDefined","styles","Object","styleProp","value","console","insets","useSafeAreaInsets","frame","useSafeAreaFrame","isParentHeaderShown","React","layout","modal","headerTitle","headerTitleAlign","ios","default","headerTitleAllowFontScaling","headerTitleStyle","headerLeftContainerStyle","headerRightContainerStyle","headerTitleContainerStyle","headerBackgroundContainerStyle","headerStyle","headerStatusBarHeight","top","defaultHeight","getDefaultHeaderHeight","height","unsafeStyles","StyleSheet","customHeaderStyle","process","safeStyles","backgroundColor","borderBottomColor","borderBottomEndRadius","borderBottomLeftRadius","borderBottomRightRadius","borderBottomStartRadius","borderBottomWidth","borderColor","borderEndColor","borderEndWidth","borderLeftColor","borderLeftWidth","borderRadius","borderRightColor","borderRightWidth","borderStartColor","borderStartWidth","borderStyle","borderTopColor","borderTopEndRadius","borderTopLeftRadius","borderTopRightRadius","borderTopStartRadius","borderTopWidth","borderWidth","boxShadow","elevation","shadowColor","shadowOffset","shadowOpacity","shadowRadius","opacity","transform","backgroundStyle","headerShadowVisible","leftButton","headerLeft","tintColor","pressColor","pressOpacity","labelVisible","headerLeftLabelVisible","rightButton","headerRight","headerPressOpacity","props","zIndex","headerBackground","style","headerTransparent","minHeight","maxHeight","content","marginStart","left","maxWidth","Math","children","allowFontScaling","titleStyle","marginEnd","right","flex","flexDirection","alignItems","title","marginHorizontal","justifyContent","expand","flexGrow","flexBasis"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { Animated, Platform, StyleSheet, View, ViewStyle } from 'react-native';\nimport {\n useSafeAreaFrame,\n useSafeAreaInsets,\n} from 'react-native-safe-area-context';\n\nimport type { HeaderOptions, Layout } from '../types';\nimport getDefaultHeaderHeight from './getDefaultHeaderHeight';\nimport HeaderBackground from './HeaderBackground';\nimport HeaderShownContext from './HeaderShownContext';\nimport HeaderTitle from './HeaderTitle';\n\ntype Props = HeaderOptions & {\n /**\n * Whether the header is in a modal\n */\n modal?: boolean;\n /**\n * Layout of the screen.\n */\n layout?: Layout;\n /**\n * Title text for the header.\n */\n title: string;\n};\n\nconst warnIfHeaderStylesDefined = (styles: Record<string, any>) => {\n Object.keys(styles).forEach((styleProp) => {\n const value = styles[styleProp];\n\n if (styleProp === 'position' && value === 'absolute') {\n console.warn(\n \"position: 'absolute' is not supported on headerStyle. If you would like to render content under the header, use the 'headerTransparent' option.\"\n );\n } else if (value !== undefined) {\n console.warn(\n `${styleProp} was given a value of ${value}, this has no effect on headerStyle.`\n );\n }\n });\n};\n\nexport default function Header(props: Props) {\n const insets = useSafeAreaInsets();\n const frame = useSafeAreaFrame();\n\n const isParentHeaderShown = React.useContext(HeaderShownContext);\n\n const {\n layout = frame,\n modal = false,\n title,\n headerTitle: customTitle,\n headerTitleAlign = Platform.select({\n ios: 'center',\n default: 'left',\n }),\n headerLeft,\n headerLeftLabelVisible,\n headerTransparent,\n headerTintColor,\n headerBackground,\n headerRight,\n headerTitleAllowFontScaling: titleAllowFontScaling,\n headerTitleStyle: titleStyle,\n headerLeftContainerStyle: leftContainerStyle,\n headerRightContainerStyle: rightContainerStyle,\n headerTitleContainerStyle: titleContainerStyle,\n headerBackgroundContainerStyle: backgroundContainerStyle,\n headerStyle: customHeaderStyle,\n headerShadowVisible,\n headerPressColor,\n headerPressOpacity,\n headerStatusBarHeight = isParentHeaderShown ? 0 : insets.top,\n } = props;\n\n const defaultHeight = getDefaultHeaderHeight(\n layout,\n modal,\n headerStatusBarHeight\n );\n\n const {\n height = defaultHeight,\n minHeight,\n maxHeight,\n backgroundColor,\n borderBottomColor,\n borderBottomEndRadius,\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderBottomStartRadius,\n borderBottomWidth,\n borderColor,\n borderEndColor,\n borderEndWidth,\n borderLeftColor,\n borderLeftWidth,\n borderRadius,\n borderRightColor,\n borderRightWidth,\n borderStartColor,\n borderStartWidth,\n borderStyle,\n borderTopColor,\n borderTopEndRadius,\n borderTopLeftRadius,\n borderTopRightRadius,\n borderTopStartRadius,\n borderTopWidth,\n borderWidth,\n // @ts-expect-error: web support for shadow\n boxShadow,\n elevation,\n shadowColor,\n shadowOffset,\n shadowOpacity,\n shadowRadius,\n opacity,\n transform,\n ...unsafeStyles\n } = StyleSheet.flatten(customHeaderStyle || {}) as ViewStyle;\n\n if (process.env.NODE_ENV !== 'production') {\n warnIfHeaderStylesDefined(unsafeStyles);\n }\n\n const safeStyles: ViewStyle = {\n backgroundColor,\n borderBottomColor,\n borderBottomEndRadius,\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderBottomStartRadius,\n borderBottomWidth,\n borderColor,\n borderEndColor,\n borderEndWidth,\n borderLeftColor,\n borderLeftWidth,\n borderRadius,\n borderRightColor,\n borderRightWidth,\n borderStartColor,\n borderStartWidth,\n borderStyle,\n borderTopColor,\n borderTopEndRadius,\n borderTopLeftRadius,\n borderTopRightRadius,\n borderTopStartRadius,\n borderTopWidth,\n borderWidth,\n // @ts-expect-error: boxShadow is only for Web\n boxShadow,\n elevation,\n shadowColor,\n shadowOffset,\n shadowOpacity,\n shadowRadius,\n opacity,\n transform,\n };\n\n // Setting a property to undefined triggers default style\n // So we need to filter them out\n // Users can use `null` instead\n for (const styleProp in safeStyles) {\n // @ts-expect-error: typescript wrongly complains that styleProp cannot be used to index safeStyles\n if (safeStyles[styleProp] === undefined) {\n // @ts-expect-error\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete safeStyles[styleProp];\n }\n }\n\n const backgroundStyle = [\n safeStyles,\n headerShadowVisible === false && {\n elevation: 0,\n shadowOpacity: 0,\n borderBottomWidth: 0,\n },\n ];\n\n const leftButton = headerLeft\n ? headerLeft({\n tintColor: headerTintColor,\n pressColor: headerPressColor,\n pressOpacity: headerPressOpacity,\n labelVisible: headerLeftLabelVisible,\n })\n : null;\n\n const rightButton = headerRight\n ? headerRight({\n tintColor: headerTintColor,\n pressColor: headerPressColor,\n pressOpacity: headerPressOpacity,\n })\n : null;\n\n const headerTitle =\n typeof customTitle !== 'function'\n ? (props: React.ComponentProps<typeof HeaderTitle>) => (\n <HeaderTitle {...props} />\n )\n : customTitle;\n\n return (\n <React.Fragment>\n <Animated.View\n pointerEvents=\"box-none\"\n style={[\n StyleSheet.absoluteFill,\n { zIndex: 0 },\n backgroundContainerStyle,\n ]}\n >\n {headerBackground ? (\n headerBackground({ style: backgroundStyle })\n ) : headerTransparent ? null : (\n <HeaderBackground style={backgroundStyle} />\n )}\n </Animated.View>\n <Animated.View\n pointerEvents=\"box-none\"\n style={[{ height, minHeight, maxHeight, opacity, transform }]}\n >\n <View pointerEvents=\"none\" style={{ height: headerStatusBarHeight }} />\n <View pointerEvents=\"box-none\" style={styles.content}>\n <Animated.View\n pointerEvents=\"box-none\"\n style={[\n styles.left,\n headerTitleAlign === 'center' && styles.expand,\n { marginStart: insets.left },\n leftContainerStyle,\n ]}\n >\n {leftButton}\n </Animated.View>\n <Animated.View\n pointerEvents=\"box-none\"\n style={[\n styles.title,\n {\n // Avoid the title from going offscreen or overlapping buttons\n maxWidth:\n headerTitleAlign === 'center'\n ? layout.width -\n ((leftButton\n ? headerLeftLabelVisible !== false\n ? 80\n : 32\n : 16) +\n Math.max(insets.left, insets.right)) *\n 2\n : layout.width -\n ((leftButton ? 72 : 16) +\n (rightButton ? 72 : 16) +\n insets.left -\n insets.right),\n },\n titleContainerStyle,\n ]}\n >\n {headerTitle({\n children: title,\n allowFontScaling: titleAllowFontScaling,\n tintColor: headerTintColor,\n style: titleStyle,\n })}\n </Animated.View>\n <Animated.View\n pointerEvents=\"box-none\"\n style={[\n styles.right,\n styles.expand,\n { marginEnd: insets.right },\n rightContainerStyle,\n ]}\n >\n {rightButton}\n </Animated.View>\n </View>\n </Animated.View>\n </React.Fragment>\n );\n}\n\nconst styles = StyleSheet.create({\n content: {\n flex: 1,\n flexDirection: 'row',\n alignItems: 'stretch',\n },\n title: {\n marginHorizontal: 16,\n justifyContent: 'center',\n },\n left: {\n justifyContent: 'center',\n alignItems: 'flex-start',\n },\n right: {\n justifyContent: 'center',\n alignItems: 'flex-end',\n },\n expand: {\n flexGrow: 1,\n flexBasis: 0,\n },\n});\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/ab61ad2c09e1bc4263307412e5dd9ac4.json b/.expo/web/cache/development/babel-loader/ab61ad2c09e1bc4263307412e5dd9ac4.json new file mode 100644 index 0000000000000000000000000000000000000000..af4d3ea57d3dc8a06ab80f1a1118d5740ad1ac04 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/ab61ad2c09e1bc4263307412e5dd9ac4.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _createClass from \"@babel/runtime/helpers/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nexport var PrivateValueStore = _createClass(function PrivateValueStore() {\n _classCallCheck(this, PrivateValueStore);\n\n _defineProperty(this, '', void 0);\n});","map":{"version":3,"sources":["types.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AA2JA,WAAO,iBAAP,gBAAwC,6BAAA;AAAA;;AAAA,EAAA,eAAA,CAAA,IAAA,EAAA,EAAA,EAAA,KAAA,CAAA,CAAA;AAAA,CAAxC","sourcesContent":["import type {\n DefaultRouterOptions,\n InitialState,\n NavigationAction,\n NavigationState,\n ParamListBase,\n PartialState,\n Route,\n} from '@react-navigation/routers';\nimport type * as React from 'react';\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace ReactNavigation {\n // eslint-disable-next-line @typescript-eslint/no-empty-interface\n interface RootParamList {}\n }\n}\n\ntype Keyof<T extends {}> = Extract<keyof T, string>;\n\nexport type DefaultNavigatorOptions<\n ParamList extends ParamListBase,\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase\n> = DefaultRouterOptions<Keyof<ParamList>> & {\n /**\n * Children React Elements to extract the route configuration from.\n * Only `Screen`, `Group` and `React.Fragment` are supported as children.\n */\n children: React.ReactNode;\n /**\n * Event listeners for all the screens in the navigator.\n */\n screenListeners?:\n | ScreenListeners<State, EventMap>\n | ((props: {\n route: RouteProp<ParamList>;\n navigation: any;\n }) => ScreenListeners<State, EventMap>);\n /**\n * Default options for all screens under this navigator.\n */\n screenOptions?:\n | ScreenOptions\n | ((props: {\n route: RouteProp<ParamList>;\n navigation: any;\n }) => ScreenOptions);\n /**\n * Default options specified by the navigator.\n * It receives the custom options in the arguments if a function is specified.\n */\n defaultScreenOptions?:\n | ScreenOptions\n | ((props: {\n route: RouteProp<ParamList>;\n navigation: any;\n options: ScreenOptions;\n }) => ScreenOptions);\n};\n\nexport type EventMapBase = Record<\n string,\n { data?: any; canPreventDefault?: boolean }\n>;\n\nexport type EventMapCore<State extends NavigationState> = {\n focus: { data: undefined };\n blur: { data: undefined };\n state: { data: { state: State } };\n beforeRemove: { data: { action: NavigationAction }; canPreventDefault: true };\n};\n\nexport type EventArg<\n EventName extends string,\n CanPreventDefault extends boolean | undefined = false,\n Data = undefined\n> = {\n /**\n * Type of the event (e.g. `focus`, `blur`)\n */\n readonly type: EventName;\n readonly target?: string;\n} & (CanPreventDefault extends true\n ? {\n /**\n * Whether `event.preventDefault()` was called on this event object.\n */\n readonly defaultPrevented: boolean;\n /**\n * Prevent the default action which happens on this event.\n */\n preventDefault(): void;\n }\n : {}) &\n (undefined extends Data\n ? { readonly data?: Readonly<Data> }\n : { readonly data: Readonly<Data> });\n\nexport type EventListenerCallback<\n EventMap extends EventMapBase,\n EventName extends keyof EventMap\n> = (\n e: EventArg<\n Extract<EventName, string>,\n EventMap[EventName]['canPreventDefault'],\n EventMap[EventName]['data']\n >\n) => void;\n\nexport type EventConsumer<EventMap extends EventMapBase> = {\n /**\n * Subscribe to events from the parent navigator.\n *\n * @param type Type of the event (e.g. `focus`, `blur`)\n * @param callback Callback listener which is executed upon receiving the event.\n */\n addListener<EventName extends Keyof<EventMap>>(\n type: EventName,\n callback: EventListenerCallback<EventMap, EventName>\n ): () => void;\n removeListener<EventName extends Keyof<EventMap>>(\n type: EventName,\n callback: EventListenerCallback<EventMap, EventName>\n ): void;\n};\n\nexport type EventEmitter<EventMap extends EventMapBase> = {\n /**\n * Emit an event to child screens.\n *\n * @param options.type Type of the event (e.g. `focus`, `blur`)\n * @param [options.data] Optional information regarding the event.\n * @param [options.target] Key of the target route which should receive the event.\n * If not specified, all routes receive the event.\n */\n emit<EventName extends Keyof<EventMap>>(\n options: {\n type: EventName;\n target?: string;\n } & (EventMap[EventName]['canPreventDefault'] extends true\n ? { canPreventDefault: true }\n : {}) &\n (undefined extends EventMap[EventName]['data']\n ? { data?: EventMap[EventName]['data'] }\n : { data: EventMap[EventName]['data'] })\n ): EventArg<\n EventName,\n EventMap[EventName]['canPreventDefault'],\n EventMap[EventName]['data']\n >;\n};\n\nexport class PrivateValueStore<A, B, C> {\n /**\n * UGLY HACK! DO NOT USE THE TYPE!!!\n *\n * TypeScript requires a type to be used to be able to infer it.\n * The type should exist as its own without any operations such as union.\n * So we need to figure out a way to store this type in a property.\n * The problem with a normal property is that it shows up in intelliSense.\n * Adding private keyword works, but the annotation is stripped away in declaration.\n * Turns out if we use an empty string, it doesn't show up in intelliSense.\n */\n protected ''?: { a: A; b: B; c: C };\n}\n\ntype NavigationHelpersCommon<\n ParamList extends ParamListBase,\n State extends NavigationState = NavigationState\n> = {\n /**\n * Dispatch an action or an update function to the router.\n * The update function will receive the current state,\n *\n * @param action Action object or update function.\n */\n dispatch(\n action: NavigationAction | ((state: State) => NavigationAction)\n ): void;\n\n /**\n * Navigate to a route in current navigation tree.\n *\n * @param name Name of the route to navigate to.\n * @param [params] Params object for the route.\n */\n navigate<RouteName extends keyof ParamList>(\n ...args: undefined extends ParamList[RouteName]\n ? [screen: RouteName] | [screen: RouteName, params: ParamList[RouteName]]\n : [screen: RouteName, params: ParamList[RouteName]]\n ): void;\n\n /**\n * Navigate to a route in current navigation tree.\n *\n * @param route Object with `key` or `name` for the route to navigate to, and a `params` object.\n */\n navigate<RouteName extends keyof ParamList>(\n options:\n | { key: string; params?: ParamList[RouteName]; merge?: boolean }\n | {\n name: RouteName;\n key?: string;\n params: ParamList[RouteName];\n merge?: boolean;\n }\n ): void;\n\n /**\n * Reset the navigation state to the provided state.\n *\n * @param state Navigation state object.\n */\n reset(state: PartialState<State> | State): void;\n\n /**\n * Go back to the previous route in history.\n */\n goBack(): void;\n\n /**\n * Check if the screen is focused. The method returns `true` if focused, `false` otherwise.\n * Note that this method doesn't re-render screen when the focus changes. So don't use it in `render`.\n * To get notified of focus changes, use `addListener('focus', cb)` and `addListener('blur', cb)`.\n * To conditionally render content based on focus state, use the `useIsFocused` hook.\n */\n isFocused(): boolean;\n\n /**\n * Check if dispatching back action will be handled by navigation.\n * Note that this method doesn't re-render screen when the result changes. So don't use it in `render`.\n */\n canGoBack(): boolean;\n\n /**\n * Returns the navigation prop from the parent navigator,\n */\n getParent<T = NavigationProp<ParamListBase> | undefined>(): T;\n\n /**\n * Returns the navigator's state.\n * Note that this method doesn't re-render screen when the result changes. So don't use it in `render`.\n */\n getState(): State;\n} & PrivateValueStore<ParamList, keyof ParamList, {}>;\n\nexport type NavigationHelpers<\n ParamList extends ParamListBase,\n EventMap extends EventMapBase = {}\n> = NavigationHelpersCommon<ParamList> &\n EventEmitter<EventMap> & {\n /**\n * Update the param object for the route.\n * The new params will be shallow merged with the old one.\n *\n * @param params Params object for the current route.\n */\n setParams<RouteName extends keyof ParamList>(\n params: Partial<ParamList[RouteName]>\n ): void;\n };\n\nexport type NavigationContainerProps = {\n /**\n * Initial navigation state for the child navigators.\n */\n initialState?: InitialState;\n /**\n * Callback which is called with the latest navigation state when it changes.\n */\n onStateChange?: (state: NavigationState | undefined) => void;\n /**\n * Callback which is called when an action is not handled.\n */\n onUnhandledAction?: (action: NavigationAction) => void;\n /**\n * Whether this navigation container should be independent of parent containers.\n * If this is not set to `true`, this container cannot be nested inside another container.\n * Setting it to `true` disconnects any children navigators from parent container.\n */\n independent?: boolean;\n /**\n * Children elements to render.\n */\n children: React.ReactNode;\n};\n\nexport type NavigationProp<\n ParamList extends {},\n RouteName extends keyof ParamList = Keyof<ParamList>,\n State extends NavigationState = NavigationState<ParamList>,\n ScreenOptions extends {} = {},\n EventMap extends EventMapBase = {}\n> = NavigationHelpersCommon<ParamList, State> & {\n /**\n * Update the param object for the route.\n * The new params will be shallow merged with the old one.\n *\n * @param params Params object for the current route.\n */\n setParams(params: Partial<ParamList[RouteName]>): void;\n\n /**\n * Update the options for the route.\n * The options object will be shallow merged with default options object.\n *\n * @param options Options object for the route.\n */\n setOptions(options: Partial<ScreenOptions>): void;\n} & EventConsumer<EventMap & EventMapCore<State>> &\n PrivateValueStore<ParamList, RouteName, EventMap>;\n\nexport type RouteProp<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList = Keyof<ParamList>\n> = Route<Extract<RouteName, string>, ParamList[RouteName]>;\n\nexport type CompositeNavigationProp<\n A extends NavigationProp<ParamListBase, string, any, any>,\n B extends NavigationHelpersCommon<ParamListBase, any>\n> = Omit<A & B, keyof NavigationProp<any>> &\n NavigationProp<\n /**\n * Param list from both navigation objects needs to be combined\n * For example, we should be able to navigate to screens in both A and B\n */\n (A extends NavigationHelpersCommon<infer T> ? T : never) &\n (B extends NavigationHelpersCommon<infer U> ? U : never),\n /**\n * The route name should refer to the route name specified in the first type\n * Ideally it should work for any of them, but it's not possible to infer that way\n */\n A extends NavigationProp<any, infer R> ? R : string,\n /**\n * The type of state should refer to the state specified in the first type\n */\n A extends NavigationProp<any, any, infer S> ? S : NavigationState,\n /**\n * Screen options from both navigation objects needs to be combined\n * This allows typechecking `setOptions`\n */\n (A extends NavigationProp<any, any, any, infer O> ? O : {}) &\n (B extends NavigationProp<any, any, any, infer P> ? P : {}),\n /**\n * Event consumer config should refer to the config specified in the first type\n * This allows typechecking `addListener`/`removeListener`\n */\n A extends NavigationProp<any, any, any, any, infer E> ? E : {}\n >;\n\nexport type CompositeScreenProps<\n A extends {\n navigation: NavigationProp<ParamListBase, string, any, any>;\n route: RouteProp<ParamListBase>;\n },\n B extends {\n navigation: NavigationHelpersCommon<ParamListBase, any>;\n }\n> = {\n navigation: CompositeNavigationProp<A['navigation'], B['navigation']>;\n route: A['route'];\n};\n\nexport type Descriptor<\n ScreenOptions extends {},\n Navigation extends NavigationProp<any, any, any, any, any>,\n Route extends RouteProp<any, any>\n> = {\n /**\n * Render the component associated with this route.\n */\n render(): JSX.Element;\n\n /**\n * Options for the route.\n */\n options: ScreenOptions;\n\n /**\n * Route object for the screen\n */\n route: Route;\n\n /**\n * Navigation object for the screen\n */\n navigation: Navigation;\n};\n\nexport type ScreenListeners<\n State extends NavigationState,\n EventMap extends EventMapBase\n> = Partial<{\n [EventName in keyof (EventMap & EventMapCore<State>)]: EventListenerCallback<\n EventMap,\n EventName\n >;\n}>;\n\nexport type RouteConfigComponent<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList\n> =\n | {\n /**\n * React component to render for this screen.\n */\n component: React.ComponentType<any>;\n getComponent?: never;\n children?: never;\n }\n | {\n /**\n * Lazily get a React component to render for this screen.\n */\n getComponent: () => React.ComponentType<any>;\n component?: never;\n children?: never;\n }\n | {\n /**\n * Render callback to render content of this screen.\n */\n children: (props: {\n route: RouteProp<ParamList, RouteName>;\n navigation: any;\n }) => React.ReactNode;\n component?: never;\n getComponent?: never;\n };\n\nexport type RouteConfig<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList,\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase\n> = {\n /**\n * Optional key for this screen. This doesn't need to be unique.\n * If the key changes, existing screens with this name will be removed or reset.\n * Useful when we have some common screens and have conditional rendering.\n */\n navigationKey?: string;\n\n /**\n * Route name of this screen.\n */\n name: RouteName;\n\n /**\n * Navigator options for this screen.\n */\n options?:\n | ScreenOptions\n | ((props: {\n route: RouteProp<ParamList, RouteName>;\n navigation: any;\n }) => ScreenOptions);\n\n /**\n * Event listeners for this screen.\n */\n listeners?:\n | ScreenListeners<State, EventMap>\n | ((props: {\n route: RouteProp<ParamList, RouteName>;\n navigation: any;\n }) => ScreenListeners<State, EventMap>);\n\n /**\n * Function to return an unique ID for this screen.\n * Receives an object with the route params.\n * For a given screen name, there will always be only one screen corresponding to an ID.\n * If `undefined` is returned, it acts same as no `getId` being specified.\n */\n getId?: ({ params }: { params: ParamList[RouteName] }) => string | undefined;\n\n /**\n * Initial params object for the route.\n */\n initialParams?: Partial<ParamList[RouteName]>;\n} & RouteConfigComponent<ParamList, RouteName>;\n\nexport type RouteGroupConfig<\n ParamList extends ParamListBase,\n ScreenOptions extends {}\n> = {\n /**\n * Optional key for the screens in this group.\n * If the key changes, all existing screens in this group will be removed or reset.\n */\n navigationKey?: string;\n\n /**\n * Navigator options for this screen.\n */\n screenOptions?:\n | ScreenOptions\n | ((props: {\n route: RouteProp<ParamList, keyof ParamList>;\n navigation: any;\n }) => ScreenOptions);\n /**\n * Children React Elements to extract the route configuration from.\n * Only `Screen`, `Group` and `React.Fragment` are supported as children.\n */\n children: React.ReactNode;\n};\n\nexport type NavigationContainerEventMap = {\n /**\n * Event which fires when the navigation state changes.\n */\n state: {\n data: {\n /**\n * The updated state object after the state change.\n */\n state: NavigationState | PartialState<NavigationState> | undefined;\n };\n };\n /**\n * Event which fires when current options changes.\n */\n options: { data: { options: object } };\n /**\n * Event which fires when an action is dispatched.\n * Only intended for debugging purposes, don't use it for app logic.\n * This event will be emitted before state changes have been applied.\n */\n __unsafe_action__: {\n data: {\n /**\n * The action object which was dispatched.\n */\n action: NavigationAction;\n /**\n * Whether the action was a no-op, i.e. resulted any state changes.\n */\n noop: boolean;\n /**\n * Stack trace of the action, this will only be available during development.\n */\n stack: string | undefined;\n };\n };\n};\n\nexport type NavigationContainerRef<ParamList extends {}> =\n NavigationHelpers<ParamList> &\n EventConsumer<NavigationContainerEventMap> & {\n /**\n * Reset the navigation state of the root navigator to the provided state.\n *\n * @param state Navigation state object.\n */\n resetRoot(state?: PartialState<NavigationState> | NavigationState): void;\n /**\n * Get the rehydrated navigation state of the navigation tree.\n */\n getRootState(): NavigationState;\n /**\n * Get the currently focused navigation route.\n */\n getCurrentRoute(): Route<string> | undefined;\n /**\n * Get the currently focused route's options.\n */\n getCurrentOptions(): object | undefined;\n /**\n * Whether the navigation container is ready to handle actions.\n */\n isReady(): boolean;\n };\n\nexport type NavigationContainerRefWithCurrent<ParamList extends {}> =\n NavigationContainerRef<ParamList> & {\n current: NavigationContainerRef<ParamList> | null;\n };\n\nexport type TypedNavigator<\n ParamList extends ParamListBase,\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase,\n Navigator extends React.ComponentType<any>\n> = {\n /**\n * Navigator component which manages the child screens.\n */\n Navigator: React.ComponentType<\n Omit<\n React.ComponentProps<Navigator>,\n keyof DefaultNavigatorOptions<any, any, any, any>\n > &\n DefaultNavigatorOptions<ParamList, State, ScreenOptions, EventMap>\n >;\n /**\n * Component used for grouping multiple route configuration.\n */\n Group: React.ComponentType<RouteGroupConfig<ParamList, ScreenOptions>>;\n /**\n * Component used for specifying route configuration.\n */\n Screen: <RouteName extends keyof ParamList>(\n _: RouteConfig<ParamList, RouteName, State, ScreenOptions, EventMap>\n ) => null;\n};\n\nexport type NavigatorScreenParams<\n ParamList,\n State extends NavigationState = NavigationState\n> =\n | {\n screen?: never;\n params?: never;\n initial?: never;\n path?: string;\n state: PartialState<State> | State | undefined;\n }\n | {\n [RouteName in keyof ParamList]: undefined extends ParamList[RouteName]\n ? {\n screen: RouteName;\n params?: ParamList[RouteName];\n initial?: boolean;\n path?: string;\n state?: never;\n }\n : {\n screen: RouteName;\n params: ParamList[RouteName];\n initial?: boolean;\n path?: string;\n state?: never;\n };\n }[keyof ParamList];\n\nexport type PathConfig<ParamList extends {}> = {\n path?: string;\n exact?: boolean;\n parse?: Record<string, (value: string) => any>;\n stringify?: Record<string, (value: any) => string>;\n screens?: PathConfigMap<ParamList>;\n initialRouteName?: keyof ParamList;\n};\n\nexport type PathConfigMap<ParamList extends {}> = {\n [RouteName in keyof ParamList]?: NonNullable<\n ParamList[RouteName]\n > extends NavigatorScreenParams<infer T, any>\n ? string | PathConfig<T>\n : string | Omit<PathConfig<{}>, 'screens' | 'initialRouteName'>;\n};\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/ab708fcb14cb07fc1d223888822dd8fa.json b/.expo/web/cache/development/babel-loader/ab708fcb14cb07fc1d223888822dd8fa.json new file mode 100644 index 0000000000000000000000000000000000000000..575e5d45d1afc686bf132b033527e4ab2b0d18fd --- /dev/null +++ b/.expo/web/cache/development/babel-loader/ab708fcb14cb07fc1d223888822dd8fa.json @@ -0,0 +1 @@ +{"ast":null,"code":"var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","map":{"version":3,"sources":["C:/Users/user/AppData/Roaming/npm/node_modules/expo-cli/node_modules/@babel/runtime/helpers/slicedToArray.js"],"names":["arrayWithHoles","require","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","_slicedToArray","arr","i","module","exports"],"mappings":"AAAA,IAAIA,cAAc,GAAGC,OAAO,oBAA5B;;AAEA,IAAIC,oBAAoB,GAAGD,OAAO,0BAAlC;;AAEA,IAAIE,0BAA0B,GAAGF,OAAO,gCAAxC;;AAEA,IAAIG,eAAe,GAAGH,OAAO,qBAA7B;;AAEA,SAASI,cAAT,CAAwBC,GAAxB,EAA6BC,CAA7B,EAAgC;AAC9B,SAAOP,cAAc,CAACM,GAAD,CAAd,IAAuBJ,oBAAoB,CAACI,GAAD,EAAMC,CAAN,CAA3C,IAAuDJ,0BAA0B,CAACG,GAAD,EAAMC,CAAN,CAAjF,IAA6FH,eAAe,EAAnH;AACD;;AAEDI,MAAM,CAACC,OAAP,GAAiBJ,cAAjB","sourcesContent":["var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/ab9e59b77b7010f2018682b12ae16e7e.json b/.expo/web/cache/development/babel-loader/ab9e59b77b7010f2018682b12ae16e7e.json new file mode 100644 index 0000000000000000000000000000000000000000..b9cb211ecf453e621e732acc6d3fa55b7da1c018 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/ab9e59b77b7010f2018682b12ae16e7e.json @@ -0,0 +1 @@ +{"ast":null,"code":"var g;\n\ng = function () {\n return this;\n}();\n\ntry {\n g = g || new Function(\"return this\")();\n} catch (e) {\n if (typeof window === \"object\") g = window;\n}\n\nmodule.exports = g;","map":{"version":3,"sources":["C:/Users/user/AppData/Roaming/npm/node_modules/expo-cli/node_modules/webpack/buildin/global.js"],"names":["g","Function","e","window","module","exports"],"mappings":"AAAA,IAAIA,CAAJ;;AAGAA,CAAC,GAAI,YAAW;AACf,SAAO,IAAP;AACA,CAFG,EAAJ;;AAIA,IAAI;AAEHA,EAAAA,CAAC,GAAGA,CAAC,IAAI,IAAIC,QAAJ,CAAa,aAAb,GAAT;AACA,CAHD,CAGE,OAAOC,CAAP,EAAU;AAEX,MAAI,OAAOC,MAAP,KAAkB,QAAtB,EAAgCH,CAAC,GAAGG,MAAJ;AAChC;;AAMDC,MAAM,CAACC,OAAP,GAAiBL,CAAjB","sourcesContent":["var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/abdbdad22bd894923bb2aeb45c5b458b.json b/.expo/web/cache/development/babel-loader/abdbdad22bd894923bb2aeb45c5b458b.json new file mode 100644 index 0000000000000000000000000000000000000000..f69d0156af050a7970e6978502802666601adf6f --- /dev/null +++ b/.expo/web/cache/development/babel-loader/abdbdad22bd894923bb2aeb45c5b458b.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATAS = null;\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n DATA = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(getFirestore(), \"Users\");\n var big = [];\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var itemData = {\n name: doc.data().Name,\n email: doc.data().Email,\n image: doc.data().Image,\n id: doc.id\n };\n big.push(itemData);\n DATAS = big;\n });\n });\n }, []);\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n var big = [];\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n big.push(itemData);\n }\n });\n setUsers(big);\n });\n }\n\n if (route.params != null) {\n setUsers(null);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n }), _jsx(Text, {\n style: styles.beschreibung,\n children: item.name\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATAS != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" \"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATAS,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return item + index;\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n },\n item: {\n width: 250,\n paddingTop: 20,\n paddingBottom: 20,\n paddingRight: 20,\n marginVertical: 8,\n marginHorizontal: 25,\n borderBottomColor: '#D9D9D9',\n borderBottomWidth: 2,\n flexDirection: \"row\"\n },\n beschreibung: {\n marginLeft: 10,\n width: 180,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 16,\n lineHeight: 23,\n color: \"#5E6A79\"\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATAS","UserLists","navigation","route","DATA","setUsers","colRef","big","querySnapshot","forEach","itemData","name","data","Name","email","Email","image","Image","id","push","listenOnChange","snapchot","docChanges","change","type","message","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","beschreibung","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","Alert","alert","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height","paddingTop","paddingBottom","paddingRight","marginVertical","borderBottomColor","borderBottomWidth","flexDirection","marginLeft","fontStyle","fontWeight","fontSize","lineHeight"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATAS = null;\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [DATA, setUsers] = useState(null);\r\n\r\n//listenOnChange();\r\n//useeffect();\r\n\r\n/*useEffect(()=>{\r\nconst colRef = collection(getFirestore(),\"Users\");\r\nconst big= [];\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n //DATA.push(itemData);\r\n setUsers(big);\r\n //Alert.alert('count data',DATA.name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])*/\r\n\r\n\r\n\r\n\r\n//test\r\nuseEffect(()=>{\r\n const colRef = collection(getFirestore(),\"Users\");\r\n const big= [];\r\n onSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n //DATA.push(itemData);\r\n DATAS = (big);\r\n //Alert.alert('count data',DATA.name);\r\n });\r\n \r\n //setUsers(users)\r\n });\r\n //Alert.alert(users.Name.toString);\r\n \r\n },[])\r\n\r\n\r\n \r\n\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n const big = [];\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n //DATA.push(itemData);\r\n big.push(itemData);\r\n \r\n //Alert.alert('listen on change',message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n }); setUsers(big);\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\nsetUsers(null);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n \r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n <Text style={styles.beschreibung}>\r\n {item.name} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATAS != null ){ //DATAS zu DATA ändern ___-------\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> </Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATAS} //DATAS zu DATA ändern ___-------\r\n renderItem={renderItem}\r\n /*keyExtractor={ (item, index) => index.toString()}//item => item.id*/\r\n keyExtractor={(item, index) => item + index}\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n item: {\r\n width: 250,\r\n paddingTop: 20,\r\n paddingBottom: 20,\r\n paddingRight: 20,\r\n marginVertical: 8,\r\n marginHorizontal: 25,\r\n borderBottomColor: '#D9D9D9',\r\n borderBottomWidth: 2,\r\n flexDirection: \"row\",\r\n },\r\n beschreibung: {\r\n marginLeft:10,\r\n width: 180,\r\n\r\n // font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 16,\r\n lineHeight: 23,\r\n color: \"#5E6A79\",\r\n },\r\n\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/ac33cb640c2f5198924f7ebab4f38637.json b/.expo/web/cache/development/babel-loader/ac33cb640c2f5198924f7ebab4f38637.json new file mode 100644 index 0000000000000000000000000000000000000000..6b225ca8576e963b95b4bb438c5e2f3e3094711c --- /dev/null +++ b/.expo/web/cache/development/babel-loader/ac33cb640c2f5198924f7ebab4f38637.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nexport default function useDocumentTitle(ref) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$enabled = _ref.enabled,\n enabled = _ref$enabled === void 0 ? true : _ref$enabled,\n _ref$formatter = _ref.formatter,\n formatter = _ref$formatter === void 0 ? function (options, route) {\n var _options$title;\n\n return (_options$title = options === null || options === void 0 ? void 0 : options.title) !== null && _options$title !== void 0 ? _options$title : route === null || route === void 0 ? void 0 : route.name;\n } : _ref$formatter;\n\n React.useEffect(function () {\n if (!enabled) {\n return;\n }\n\n var navigation = ref.current;\n\n if (navigation) {\n var title = formatter(navigation.getCurrentOptions(), navigation.getCurrentRoute());\n document.title = title;\n }\n\n return navigation === null || navigation === void 0 ? void 0 : navigation.addListener('options', function (e) {\n var title = formatter(e.data.options, navigation === null || navigation === void 0 ? void 0 : navigation.getCurrentRoute());\n document.title = title;\n });\n });\n}","map":{"version":3,"sources":["useDocumentTitle.tsx"],"names":["enabled","formatter","options","route","React","navigation","ref","title","document","e"],"mappings":"AAIA,OAAO,KAAP,KAAA,MAAA,OAAA;AAOA,eAAe,SAAA,gBAAA,CAAA,GAAA,EAMb;AAJA,aAIA,SAAA,CAAA,MAAA,GAAA,CAAA,IAAA,SAAA,CAAA,CAAA,CAAA,KAAA,SAAA,GAAA,SAAA,CAAA,CAAA,CAAA,GAD0B,EAH1B;AAAA,0BACEA,OADF;AAAA,MACEA,OADF,6BAAA,IAAA;AAAA,4BAEEC,SAFF;AAAA,MAEEA,SAFF,+BAEc,UAAA,OAAA,EAAA,KAAA,EAAA;AAAA,QAAA,cAAA;;AAAA,WAAA,CAAA,cAAA,GAAoBC,OAApB,KAAA,IAAoBA,IAAAA,OAApB,KAAA,KAAA,CAAoBA,GAApB,KAAA,CAAoBA,GAAAA,OAAO,CAA3B,KAAA,MAAA,IAAA,IAAA,cAAA,KAAA,KAAA,CAAA,GAAA,cAAA,GAAsCC,KAAtC,KAAA,IAAsCA,IAAAA,KAAtC,KAAA,KAAA,CAAsCA,GAAtC,KAAA,CAAsCA,GAAAA,KAAK,CAA3C,IAAA;AAAA,GAFd;;AAKAC,EAAAA,KAAK,CAALA,SAAAA,CAAgB,YAAM;AACpB,QAAI,CAAJ,OAAA,EAAc;AACZ;AACD;;AAED,QAAMC,UAAU,GAAGC,GAAG,CAAtB,OAAA;;AAEA,QAAA,UAAA,EAAgB;AACd,UAAMC,KAAK,GAAGN,SAAS,CACrBI,UAAU,CADW,iBACrBA,EADqB,EAErBA,UAAU,CAFZ,eAEEA,EAFqB,CAAvB;AAKAG,MAAAA,QAAQ,CAARA,KAAAA,GAAAA,KAAAA;AACD;;AAED,WAAO,UAAP,KAAA,IAAO,IAAA,UAAP,KAAA,KAAA,CAAO,GAAP,KAAA,CAAO,GAAA,UAAU,CAAV,WAAA,CAAA,SAAA,EAAoCC,UAAAA,CAAD,EAAO;AAC/C,UAAMF,KAAK,GAAGN,SAAS,CAACQ,CAAC,CAADA,IAAAA,CAAD,OAAA,EAAiBJ,UAAjB,KAAA,IAAiBA,IAAAA,UAAjB,KAAA,KAAA,CAAiBA,GAAjB,KAAA,CAAiBA,GAAAA,UAAU,CAAlD,eAAwCA,EAAjB,CAAvB;AAEAG,MAAAA,QAAQ,CAARA,KAAAA,GAAAA,KAAAA;AAHF,KAAO,CAAP;AAhBFJ,GAAAA;AAsBD","sourcesContent":["import type {\n NavigationContainerRef,\n ParamListBase,\n} from '@react-navigation/core';\nimport * as React from 'react';\n\nimport type { DocumentTitleOptions } from './types';\n\n/**\n * Set the document title for the active screen\n */\nexport default function useDocumentTitle(\n ref: React.RefObject<NavigationContainerRef<ParamListBase>>,\n {\n enabled = true,\n formatter = (options, route) => options?.title ?? route?.name,\n }: DocumentTitleOptions = {}\n) {\n React.useEffect(() => {\n if (!enabled) {\n return;\n }\n\n const navigation = ref.current;\n\n if (navigation) {\n const title = formatter(\n navigation.getCurrentOptions(),\n navigation.getCurrentRoute()\n );\n\n document.title = title;\n }\n\n return navigation?.addListener('options', (e) => {\n const title = formatter(e.data.options, navigation?.getCurrentRoute());\n\n document.title = title;\n });\n });\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/acc44d9614c09ebe5726f0f8eecd024f.json b/.expo/web/cache/development/babel-loader/acc44d9614c09ebe5726f0f8eecd024f.json new file mode 100644 index 0000000000000000000000000000000000000000..81a9f8b0fa71892485181f20e33c1a412597526a --- /dev/null +++ b/.expo/web/cache/development/babel-loader/acc44d9614c09ebe5726f0f8eecd024f.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction setAndForwardRef(_ref) {\n var getForwardedRef = _ref.getForwardedRef,\n setLocalRef = _ref.setLocalRef;\n return function forwardRef(ref) {\n var forwardedRef = getForwardedRef();\n setLocalRef(ref);\n\n if (typeof forwardedRef === 'function') {\n forwardedRef(ref);\n } else if (typeof forwardedRef === 'object' && forwardedRef != null) {\n forwardedRef.current = ref;\n }\n };\n}\n\nexport default setAndForwardRef;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Utilities/setAndForwardRef.js"],"names":["setAndForwardRef","_ref","getForwardedRef","setLocalRef","forwardRef","ref","forwardedRef","current"],"mappings":"AASA;;AAgCA,SAASA,gBAAT,CAA0BC,IAA1B,EAAgC;AAC9B,MAAIC,eAAe,GAAGD,IAAI,CAACC,eAA3B;AAAA,MACIC,WAAW,GAAGF,IAAI,CAACE,WADvB;AAEA,SAAO,SAASC,UAAT,CAAoBC,GAApB,EAAyB;AAC9B,QAAIC,YAAY,GAAGJ,eAAe,EAAlC;AACAC,IAAAA,WAAW,CAACE,GAAD,CAAX;;AAEA,QAAI,OAAOC,YAAP,KAAwB,UAA5B,EAAwC;AAEtCA,MAAAA,YAAY,CAACD,GAAD,CAAZ;AACD,KAHD,MAGO,IAAI,OAAOC,YAAP,KAAwB,QAAxB,IAAoCA,YAAY,IAAI,IAAxD,EAA8D;AAEnEA,MAAAA,YAAY,CAACC,OAAb,GAAuBF,GAAvB;AACD;AACF,GAXD;AAYD;;AAED,eAAeL,gBAAf","sourcesContent":["/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n'use strict';\n\n/**\n * This is a helper function for when a component needs to be able to forward a ref\n * to a child component, but still needs to have access to that component as part of\n * its implementation.\n *\n * Its main use case is in wrappers for native components.\n *\n * Usage:\n *\n * class MyView extends React.Component {\n * _nativeRef = null;\n *\n * _setNativeRef = setAndForwardRef({\n * getForwardedRef: () => this.props.forwardedRef,\n * setLocalRef: ref => {\n * this._nativeRef = ref;\n * },\n * });\n *\n * render() {\n * return <View ref={this._setNativeRef} />;\n * }\n * }\n *\n * const MyViewWithRef = React.forwardRef((props, ref) => (\n * <MyView {...props} forwardedRef={ref} />\n * ));\n *\n * module.exports = MyViewWithRef;\n */\nfunction setAndForwardRef(_ref) {\n var getForwardedRef = _ref.getForwardedRef,\n setLocalRef = _ref.setLocalRef;\n return function forwardRef(ref) {\n var forwardedRef = getForwardedRef();\n setLocalRef(ref); // Forward to user ref prop (if one has been specified)\n\n if (typeof forwardedRef === 'function') {\n // Handle function-based refs. String-based refs are handled as functions.\n forwardedRef(ref);\n } else if (typeof forwardedRef === 'object' && forwardedRef != null) {\n // Handle createRef-based refs\n forwardedRef.current = ref;\n }\n };\n}\n\nexport default setAndForwardRef;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/acd4d851b2bf8e32eb377c9e1a9db0b5.json b/.expo/web/cache/development/babel-loader/acd4d851b2bf8e32eb377c9e1a9db0b5.json new file mode 100644 index 0000000000000000000000000000000000000000..4aa9f17fe051f89b7424597d2153a97c9679a809 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/acd4d851b2bf8e32eb377c9e1a9db0b5.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n listenOnChange();\n useEffect(function () {\n var colRef = collection(getFirestore(), \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var message = doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n Alert.alert(message.name);\n });\n });\n }, []);\n\n function useeffect() {\n getDocs(collection(getFirestore(), 'Users')).forEach(function (doc) {\n console.log(doc.id + \" => \" + doc.data());\n });\n }\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n }\n });\n });\n }\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" bla\"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATA","UserLists","navigation","route","users","setUsers","listenOnChange","colRef","querySnapshot","forEach","message","data","itemData","name","Name","email","Email","image","Image","push","Alert","alert","useeffect","console","log","id","snapchot","docChanges","change","type","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState(null);\r\n\r\nlistenOnChange();\r\n//useeffect();\r\n\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(getFirestore(),\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n var message = doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n Alert.alert(message.name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\nfunction useeffect(){\r\n getDocs(collection(getFirestore(),'Users')).forEach((doc) => {\r\n console.log(`${doc.id} => ${doc.data()}`);\r\n});\r\n}\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n //Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> bla</Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/ad353cd2c30d1faad93295e7a77c48df.json b/.expo/web/cache/development/babel-loader/ad353cd2c30d1faad93295e7a77c48df.json new file mode 100644 index 0000000000000000000000000000000000000000..539d2cb9a095e0dfae9f7d39f3f44f5c07f0514c --- /dev/null +++ b/.expo/web/cache/development/babel-loader/ad353cd2c30d1faad93295e7a77c48df.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users.toString);\n setUsers(users);\n });\n\n if (users != null) {\n Alert.alert(' users load', users.id);\n }\n }, []);\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {})\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsxs(Text, {\n children: [\"No Data Found\", users.Name]\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","params","post","Item","item","onPress","backgroundColor","textColor","styles","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users.toString);\r\n setUsers(users)\r\n});\r\nif(users!= null){\r\n Alert.alert(' users load',users.id)\r\n}\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\n/*function writeData(){\r\n \r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})\r\n}*/\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async () => {\r\n const id = 'q5EOqKxKEsAO6lLmhbnc';\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUsers({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n Alert.alert(users[0])\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {/*item.Name*/} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n {users.Name}\r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser'/> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/ad50eb20bc65100f6145dc12dd7d4f36.json b/.expo/web/cache/development/babel-loader/ad50eb20bc65100f6145dc12dd7d4f36.json new file mode 100644 index 0000000000000000000000000000000000000000..8a303b0aa584dd0796055079ae9cbab18571e0c1 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/ad50eb20bc65100f6145dc12dd7d4f36.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore } from \"firebase/firestore\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Name = _doc$data.Name,\n Email = _doc$data.Email,\n Image = _doc$data.Image;\n\n users.push({\n id: doc.id,\n Name: Name,\n Email: Email,\n Image: Image\n });\n });\n setUsers(users);\n });\n }, []);\n\n function writeData() {\n try {\n var docRef = function docRef() {\n return _regeneratorRuntime.async(function docRef$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _regeneratorRuntime.awrap(addDoc(collection(db, \"users\"), {\n Email: \"Ada\",\n Image: \"Lovelace\",\n Name: \"1815\"\n }));\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n };\n\n console.log(\"Document written with ID: \", docRef.id);\n Alert.alert(\"write Data worked: \");\n } catch (e) {\n console.error(\"Error adding document: \", e);\n }\n }\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsxs(Text, {\n children: [item.title, users.toString]\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\",\n onPress: writeData\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Name","Email","Image","push","id","writeData","docRef","console","log","Alert","alert","e","error","params","post","Item","item","onPress","backgroundColor","textColor","styles","title","toString","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore} from \"firebase/firestore\"\r\n\r\n\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Name, Email, Image} = doc.data();\r\n users.push({id:doc.id, Name, Email, Image})\r\n });\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\nfunction writeData(){\r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}\r\n}\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();*/\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async (id) => {\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUser({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n {users.toString}\r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser' onPress={writeData}/>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/adb02655d7a64681a32f638d95981131.json b/.expo/web/cache/development/babel-loader/adb02655d7a64681a32f638d95981131.json new file mode 100644 index 0000000000000000000000000000000000000000..05c1066d88d0618c6ac967a2d7ce465fc08a86a6 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/adb02655d7a64681a32f638d95981131.json @@ -0,0 +1 @@ +{"ast":null,"code":"export default function pick(obj, list) {\n var nextObj = {};\n\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n if (list[key] === true || key.indexOf('aria-') === 0) {\n nextObj[key] = obj[key];\n }\n }\n }\n\n return nextObj;\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/pick/index.js"],"names":["pick","obj","list","nextObj","key","hasOwnProperty","indexOf"],"mappings":"AAQA,eAAe,SAASA,IAAT,CAAcC,GAAd,EAAmBC,IAAnB,EAAyB;AACtC,MAAIC,OAAO,GAAG,EAAd;;AAEA,OAAK,IAAIC,GAAT,IAAgBH,GAAhB,EAAqB;AACnB,QAAIA,GAAG,CAACI,cAAJ,CAAmBD,GAAnB,CAAJ,EAA6B;AAC3B,UAAIF,IAAI,CAACE,GAAD,CAAJ,KAAc,IAAd,IACJA,GAAG,CAACE,OAAJ,CAAY,OAAZ,MAAyB,CADzB,EAC4B;AAC1BH,QAAAA,OAAO,CAACC,GAAD,CAAP,GAAeH,GAAG,CAACG,GAAD,CAAlB;AACD;AACF;AACF;;AAED,SAAOD,OAAP;AACD","sourcesContent":["/**\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 */\nexport default function pick(obj, list) {\n var nextObj = {};\n\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n if (list[key] === true || // Temporary until ARIA is mapped to explicit props\n key.indexOf('aria-') === 0) {\n nextObj[key] = obj[key];\n }\n }\n }\n\n return nextObj;\n}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/ae5a6a7a408ee727ce66d3d77c0f7ce6.json b/.expo/web/cache/development/babel-loader/ae5a6a7a408ee727ce66d3d77c0f7ce6.json new file mode 100644 index 0000000000000000000000000000000000000000..ac02c64c48373c78b0ad015513fb168d41c51e82 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/ae5a6a7a408ee727ce66d3d77c0f7ce6.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { isArray, isNull, isObject, isString, isUndefined } from '@react-native-firebase/app/lib/common';\nimport NativeError from '@react-native-firebase/app/lib/internal/NativeFirebaseError';\nimport FirestoreDocumentSnapshot from \"./FirestoreDocumentSnapshot\";\nimport FirestoreFieldPath, { fromDotSeparatedString } from \"./FirestoreFieldPath\";\nimport FirestoreQuerySnapshot from \"./FirestoreQuerySnapshot\";\nimport { parseSnapshotArgs } from \"./utils\";\nvar _id = 0;\n\nvar FirestoreQuery = function () {\n function FirestoreQuery(firestore, collectionPath, modifiers) {\n _classCallCheck(this, FirestoreQuery);\n\n this._firestore = firestore;\n this._collectionPath = collectionPath;\n this._modifiers = modifiers;\n }\n\n _createClass(FirestoreQuery, [{\n key: \"firestore\",\n get: function get() {\n return this._firestore;\n }\n }, {\n key: \"_handleQueryCursor\",\n value: function _handleQueryCursor(cursor, docOrField, fields) {\n var modifiers = this._modifiers._copy();\n\n if (isUndefined(docOrField)) {\n throw new Error(\"firebase.firestore().collection().\" + cursor + \"(*) Expected a DocumentSnapshot or list of field values but got undefined.\");\n }\n\n if (docOrField instanceof FirestoreDocumentSnapshot) {\n if (fields.length > 0) {\n throw new Error(\"firebase.firestore().collection().\" + cursor + \"(*) Too many arguments provided. Expected DocumentSnapshot or list of field values.\");\n }\n\n var documentSnapshot = docOrField;\n\n if (!documentSnapshot.exists) {\n throw new Error(\"firebase.firestore().collection().\" + cursor + \"(*) Can't use a DocumentSnapshot that doesn't exist.\");\n }\n\n var currentOrders = modifiers.orders;\n var values = [];\n\n for (var i = 0; i < currentOrders.length; i++) {\n var order = currentOrders[i];\n\n if (order.fieldPath === '__name__') {\n continue;\n }\n\n var value = documentSnapshot.get(order.fieldPath);\n\n if (value === undefined) {\n throw new Error(\"firebase.firestore().collection().\" + cursor + \"(*) You are trying to start or end a query using a document for which the field '\" + order.fieldPath + \"' (used as the orderBy) does not exist.\");\n }\n\n values.push(value);\n }\n\n if (modifiers._orders.length) {\n var lastOrder = modifiers._orders[modifiers._orders.length - 1];\n\n if (lastOrder.fieldPath !== '__name__') {\n modifiers._orders.push({\n fieldPath: '__name__',\n direction: lastOrder.direction\n });\n }\n } else {\n modifiers._orders.push({\n fieldPath: '__name__',\n direction: 'ASCENDING'\n });\n }\n\n if (this._modifiers.isCollectionGroupQuery()) {\n values.push(documentSnapshot.ref.path);\n } else {\n values.push(documentSnapshot.id);\n }\n\n return modifiers.setFieldsCursor(cursor, values);\n }\n\n var allFields = [docOrField].concat(fields);\n\n if (allFields.length > modifiers.orders.length) {\n throw new Error(\"firebase.firestore().collection().\" + cursor + \"(*) Too many arguments provided. The number of arguments must be less than or equal to the number of orderBy() clauses.\");\n }\n\n return modifiers.setFieldsCursor(cursor, allFields);\n }\n }, {\n key: \"endAt\",\n value: function endAt(docOrField) {\n for (var _len = arguments.length, fields = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n fields[_key - 1] = arguments[_key];\n }\n\n return new FirestoreQuery(this._firestore, this._collectionPath, this._handleQueryCursor('endAt', docOrField, fields));\n }\n }, {\n key: \"endBefore\",\n value: function endBefore(docOrField) {\n for (var _len2 = arguments.length, fields = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n fields[_key2 - 1] = arguments[_key2];\n }\n\n return new FirestoreQuery(this._firestore, this._collectionPath, this._handleQueryCursor('endBefore', docOrField, fields));\n }\n }, {\n key: \"get\",\n value: function get(options) {\n var _this = this;\n\n if (!isUndefined(options) && !isObject(options)) {\n throw new Error(\"firebase.firestore().collection().get(*) 'options' must be an object is provided.\");\n }\n\n if (options && options.source && options.source !== 'default' && options.source !== 'server' && options.source !== 'cache') {\n throw new Error(\"firebase.firestore().collection().get(*) 'options' GetOptions.source must be one of 'default', 'server' or 'cache'.\");\n }\n\n this._modifiers.validatelimitToLast();\n\n return this._firestore.native.collectionGet(this._collectionPath.relativeName, this._modifiers.type, this._modifiers.filters, this._modifiers.orders, this._modifiers.options, options).then(function (data) {\n return new FirestoreQuerySnapshot(_this._firestore, _this, data);\n });\n }\n }, {\n key: \"isEqual\",\n value: function isEqual(other) {\n if (!(other instanceof FirestoreQuery)) {\n throw new Error(\"firebase.firestore().collection().isEqual(*) 'other' expected a Query instance.\");\n }\n\n if (this.firestore.app.name !== other.firestore.app.name || this._modifiers.type !== other._modifiers.type || this._modifiers.filters.length !== other._modifiers.filters.length || this._modifiers.orders.length !== other._modifiers.orders.length || this._collectionPath.relativeName !== other._collectionPath.relativeName || Object.keys(this._modifiers.options).length !== Object.keys(other._modifiers.options).length) {\n return false;\n }\n\n if (JSON.stringify(this._modifiers.filters) !== JSON.stringify(other._modifiers.filters) || JSON.stringify(this._modifiers.orders) !== JSON.stringify(other._modifiers.orders) || JSON.stringify(this._modifiers.options) !== JSON.stringify(other._modifiers.options)) {\n return false;\n }\n\n return true;\n }\n }, {\n key: \"limit\",\n value: function limit(_limit) {\n if (this._modifiers.isValidLimit(_limit)) {\n throw new Error(\"firebase.firestore().collection().limit(*) 'limit' must be a positive integer value.\");\n }\n\n var modifiers = this._modifiers._copy().limit(_limit);\n\n return new FirestoreQuery(this._firestore, this._collectionPath, modifiers);\n }\n }, {\n key: \"limitToLast\",\n value: function limitToLast(_limitToLast) {\n if (this._modifiers.isValidLimitToLast(_limitToLast)) {\n throw new Error(\"firebase.firestore().collection().limitToLast(*) 'limitToLast' must be a positive integer value.\");\n }\n\n var modifiers = this._modifiers._copy().limitToLast(_limitToLast);\n\n return new FirestoreQuery(this._firestore, this._collectionPath, modifiers);\n }\n }, {\n key: \"onSnapshot\",\n value: function onSnapshot() {\n var _this2 = this;\n\n var snapshotListenOptions;\n var callback;\n var onNext;\n var onError;\n\n this._modifiers.validatelimitToLast();\n\n try {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var options = parseSnapshotArgs(args);\n snapshotListenOptions = options.snapshotListenOptions;\n callback = options.callback;\n onNext = options.onNext;\n onError = options.onError;\n } catch (e) {\n throw new Error(\"firebase.firestore().collection().onSnapshot(*) \" + e.message);\n }\n\n function handleSuccess(querySnapshot) {\n callback(querySnapshot, null);\n onNext(querySnapshot);\n }\n\n function handleError(error) {\n callback(null, error);\n onError(error);\n }\n\n var listenerId = _id++;\n\n var onSnapshotSubscription = this._firestore.emitter.addListener(this._firestore.eventNameForApp(\"firestore_collection_sync_event:\" + listenerId), function (event) {\n if (event.body.error) {\n handleError(NativeError.fromEvent(event.body.error, 'firestore'));\n } else {\n var querySnapshot = new FirestoreQuerySnapshot(_this2._firestore, _this2, event.body.snapshot);\n handleSuccess(querySnapshot);\n }\n });\n\n var unsubscribe = function unsubscribe() {\n onSnapshotSubscription.remove();\n\n _this2._firestore.native.collectionOffSnapshot(listenerId);\n };\n\n this._firestore.native.collectionOnSnapshot(this._collectionPath.relativeName, this._modifiers.type, this._modifiers.filters, this._modifiers.orders, this._modifiers.options, listenerId, snapshotListenOptions);\n\n return unsubscribe;\n }\n }, {\n key: \"orderBy\",\n value: function orderBy(fieldPath, directionStr) {\n if (!isString(fieldPath) && !(fieldPath instanceof FirestoreFieldPath)) {\n throw new Error(\"firebase.firestore().collection().orderBy(*) 'fieldPath' must be a string or instance of FieldPath.\");\n }\n\n var path;\n\n if (isString(fieldPath)) {\n try {\n path = fromDotSeparatedString(fieldPath);\n } catch (e) {\n throw new Error(\"firebase.firestore().collection().orderBy(*) 'fieldPath' \" + e.message + \".\");\n }\n } else {\n path = fieldPath;\n }\n\n if (!isUndefined(directionStr) && !this._modifiers.isValidDirection(directionStr)) {\n throw new Error(\"firebase.firestore().collection().orderBy(_, *) 'directionStr' must be one of 'asc' or 'desc'.\");\n }\n\n if (this._modifiers.hasStart()) {\n throw new Error('firebase.firestore().collection().orderBy() Invalid query. You must not call startAt() or startAfter() before calling orderBy().');\n }\n\n if (this._modifiers.hasEnd()) {\n throw new Error('firebase.firestore().collection().orderBy() Invalid query. You must not call endAt() or endBefore() before calling orderBy().');\n }\n\n var modifiers = this._modifiers._copy().orderBy(path, directionStr);\n\n try {\n modifiers.validateOrderBy();\n } catch (e) {\n throw new Error(\"firebase.firestore().collection().orderBy() \" + e.message);\n }\n\n return new FirestoreQuery(this._firestore, this._collectionPath, modifiers);\n }\n }, {\n key: \"startAfter\",\n value: function startAfter(docOrField) {\n for (var _len4 = arguments.length, fields = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n fields[_key4 - 1] = arguments[_key4];\n }\n\n return new FirestoreQuery(this._firestore, this._collectionPath, this._handleQueryCursor('startAfter', docOrField, fields));\n }\n }, {\n key: \"startAt\",\n value: function startAt(docOrField) {\n for (var _len5 = arguments.length, fields = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n fields[_key5 - 1] = arguments[_key5];\n }\n\n return new FirestoreQuery(this._firestore, this._collectionPath, this._handleQueryCursor('startAt', docOrField, fields));\n }\n }, {\n key: \"where\",\n value: function where(fieldPath, opStr, value) {\n if (!isString(fieldPath) && !(fieldPath instanceof FirestoreFieldPath)) {\n throw new Error(\"firebase.firestore().collection().where(*) 'fieldPath' must be a string or instance of FieldPath.\");\n }\n\n var path;\n\n if (isString(fieldPath)) {\n try {\n path = fromDotSeparatedString(fieldPath);\n } catch (e) {\n throw new Error(\"firebase.firestore().collection().where(*) 'fieldPath' \" + e.message + \".\");\n }\n } else {\n path = fieldPath;\n }\n\n if (!this._modifiers.isValidOperator(opStr)) {\n throw new Error(\"firebase.firestore().collection().where(_, *) 'opStr' is invalid. Expected one of '==', '>', '>=', '<', '<=', '!=', 'array-contains', 'not-in', 'array-contains-any' or 'in'.\");\n }\n\n if (isUndefined(value)) {\n throw new Error(\"firebase.firestore().collection().where(_, _, *) 'value' argument expected.\");\n }\n\n if (isNull(value) && !this._modifiers.isEqualOperator(opStr)) {\n throw new Error(\"firebase.firestore().collection().where(_, _, *) 'value' is invalid. You can only perform equals comparisons on null\");\n }\n\n if (this._modifiers.isInOperator(opStr)) {\n if (!isArray(value) || !value.length) {\n throw new Error(\"firebase.firestore().collection().where(_, _, *) 'value' is invalid. A non-empty array is required for '\" + opStr + \"' filters.\");\n }\n\n if (value.length > 10) {\n throw new Error(\"firebase.firestore().collection().where(_, _, *) 'value' is invalid. '\" + opStr + \"' filters support a maximum of 10 elements in the value array.\");\n }\n }\n\n var modifiers = this._modifiers._copy().where(path, opStr, value);\n\n try {\n modifiers.validateWhere();\n } catch (e) {\n throw new Error(\"firebase.firestore().collection().where() \" + e.message);\n }\n\n return new FirestoreQuery(this._firestore, this._collectionPath, modifiers);\n }\n }]);\n\n return FirestoreQuery;\n}();\n\nexport { FirestoreQuery as default };","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/firestore/lib/FirestoreQuery.js"],"names":["isArray","isNull","isObject","isString","isUndefined","NativeError","FirestoreDocumentSnapshot","FirestoreFieldPath","fromDotSeparatedString","FirestoreQuerySnapshot","parseSnapshotArgs","_id","FirestoreQuery","firestore","collectionPath","modifiers","_firestore","_collectionPath","_modifiers","cursor","docOrField","fields","_copy","Error","length","documentSnapshot","exists","currentOrders","orders","values","i","order","fieldPath","value","get","undefined","push","_orders","lastOrder","direction","isCollectionGroupQuery","ref","path","id","setFieldsCursor","allFields","concat","_handleQueryCursor","options","source","validatelimitToLast","native","collectionGet","relativeName","type","filters","then","data","other","app","name","Object","keys","JSON","stringify","limit","isValidLimit","limitToLast","isValidLimitToLast","snapshotListenOptions","callback","onNext","onError","args","e","message","handleSuccess","querySnapshot","handleError","error","listenerId","onSnapshotSubscription","emitter","addListener","eventNameForApp","event","body","fromEvent","snapshot","unsubscribe","remove","collectionOffSnapshot","collectionOnSnapshot","directionStr","isValidDirection","hasStart","hasEnd","orderBy","validateOrderBy","opStr","isValidOperator","isEqualOperator","isInOperator","where","validateWhere"],"mappings":";;AAiBA,SACEA,OADF,EAEEC,MAFF,EAGEC,QAHF,EAIEC,QAJF,EAKEC,WALF,QAMO,uCANP;AAOA,OAAOC,WAAP,MAAwB,6DAAxB;AACA,OAAOC,yBAAP;AACA,OAAOC,kBAAP,IAA6BC,sBAA7B;AACA,OAAOC,sBAAP;AACA,SAASC,iBAAT;AAEA,IAAIC,GAAG,GAAG,CAAV;;IAEqBC,c;AACnB,0BAAYC,SAAZ,EAAuBC,cAAvB,EAAuCC,SAAvC,EAAkD;AAAA;;AAChD,SAAKC,UAAL,GAAkBH,SAAlB;AACA,SAAKI,eAAL,GAAuBH,cAAvB;AACA,SAAKI,UAAL,GAAkBH,SAAlB;AACD;;;;SAED,eAAgB;AACd,aAAO,KAAKC,UAAZ;AACD;;;WAED,4BAAmBG,MAAnB,EAA2BC,UAA3B,EAAuCC,MAAvC,EAA+C;AAC7C,UAAMN,SAAS,GAAG,KAAKG,UAAL,CAAgBI,KAAhB,EAAlB;;AAEA,UAAIlB,WAAW,CAACgB,UAAD,CAAf,EAA6B;AAC3B,cAAM,IAAIG,KAAJ,wCACiCJ,MADjC,gFAAN;AAGD;;AAGD,UAAIC,UAAU,YAAYd,yBAA1B,EAAqD;AACnD,YAAIe,MAAM,CAACG,MAAP,GAAgB,CAApB,EAAuB;AACrB,gBAAM,IAAID,KAAJ,wCACiCJ,MADjC,yFAAN;AAGD;;AAED,YAAMM,gBAAgB,GAAGL,UAAzB;;AAEA,YAAI,CAACK,gBAAgB,CAACC,MAAtB,EAA8B;AAC5B,gBAAM,IAAIH,KAAJ,wCACiCJ,MADjC,0DAAN;AAGD;;AAED,YAAMQ,aAAa,GAAGZ,SAAS,CAACa,MAAhC;AAEA,YAAMC,MAAM,GAAG,EAAf;;AAEA,aAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,aAAa,CAACH,MAAlC,EAA0CM,CAAC,EAA3C,EAA+C;AAC7C,cAAMC,KAAK,GAAGJ,aAAa,CAACG,CAAD,CAA3B;;AAEA,cAAIC,KAAK,CAACC,SAAN,KAAoB,UAAxB,EAAoC;AAClC;AACD;;AAED,cAAMC,KAAK,GAAGR,gBAAgB,CAACS,GAAjB,CAAqBH,KAAK,CAACC,SAA3B,CAAd;;AAEA,cAAIC,KAAK,KAAKE,SAAd,EAAyB;AACvB,kBAAM,IAAIZ,KAAJ,wCACiCJ,MADjC,yFAC2HY,KAAK,CAACC,SADjI,6CAAN;AAGD;;AAEDH,UAAAA,MAAM,CAACO,IAAP,CAAYH,KAAZ;AACD;;AAGD,YAAIlB,SAAS,CAACsB,OAAV,CAAkBb,MAAtB,EAA8B;AAC5B,cAAMc,SAAS,GAAGvB,SAAS,CAACsB,OAAV,CAAkBtB,SAAS,CAACsB,OAAV,CAAkBb,MAAlB,GAA2B,CAA7C,CAAlB;;AAEA,cAAIc,SAAS,CAACN,SAAV,KAAwB,UAA5B,EAAwC;AACtCjB,YAAAA,SAAS,CAACsB,OAAV,CAAkBD,IAAlB,CAAuB;AACrBJ,cAAAA,SAAS,EAAE,UADU;AAErBO,cAAAA,SAAS,EAAED,SAAS,CAACC;AAFA,aAAvB;AAID;AACF,SATD,MASO;AACLxB,UAAAA,SAAS,CAACsB,OAAV,CAAkBD,IAAlB,CAAuB;AACrBJ,YAAAA,SAAS,EAAE,UADU;AAErBO,YAAAA,SAAS,EAAE;AAFU,WAAvB;AAID;;AAED,YAAI,KAAKrB,UAAL,CAAgBsB,sBAAhB,EAAJ,EAA8C;AAC5CX,UAAAA,MAAM,CAACO,IAAP,CAAYX,gBAAgB,CAACgB,GAAjB,CAAqBC,IAAjC;AACD,SAFD,MAEO;AACLb,UAAAA,MAAM,CAACO,IAAP,CAAYX,gBAAgB,CAACkB,EAA7B;AACD;;AAED,eAAO5B,SAAS,CAAC6B,eAAV,CAA0BzB,MAA1B,EAAkCU,MAAlC,CAAP;AACD;;AAMD,UAAMgB,SAAS,GAAG,CAACzB,UAAD,EAAa0B,MAAb,CAAoBzB,MAApB,CAAlB;;AAEA,UAAIwB,SAAS,CAACrB,MAAV,GAAmBT,SAAS,CAACa,MAAV,CAAiBJ,MAAxC,EAAgD;AAC9C,cAAM,IAAID,KAAJ,wCACiCJ,MADjC,6HAAN;AAGD;;AAED,aAAOJ,SAAS,CAAC6B,eAAV,CAA0BzB,MAA1B,EAAkC0B,SAAlC,CAAP;AACD;;;WAED,eAAMzB,UAAN,EAA6B;AAAA,wCAARC,MAAQ;AAARA,QAAAA,MAAQ;AAAA;;AAC3B,aAAO,IAAIT,cAAJ,CACL,KAAKI,UADA,EAEL,KAAKC,eAFA,EAGL,KAAK8B,kBAAL,CAAwB,OAAxB,EAAiC3B,UAAjC,EAA6CC,MAA7C,CAHK,CAAP;AAKD;;;WAED,mBAAUD,UAAV,EAAiC;AAAA,yCAARC,MAAQ;AAARA,QAAAA,MAAQ;AAAA;;AAC/B,aAAO,IAAIT,cAAJ,CACL,KAAKI,UADA,EAEL,KAAKC,eAFA,EAGL,KAAK8B,kBAAL,CAAwB,WAAxB,EAAqC3B,UAArC,EAAiDC,MAAjD,CAHK,CAAP;AAKD;;;WAED,aAAI2B,OAAJ,EAAa;AAAA;;AACX,UAAI,CAAC5C,WAAW,CAAC4C,OAAD,CAAZ,IAAyB,CAAC9C,QAAQ,CAAC8C,OAAD,CAAtC,EAAiD;AAC/C,cAAM,IAAIzB,KAAJ,CACJ,mFADI,CAAN;AAGD;;AAED,UACEyB,OAAO,IACPA,OAAO,CAACC,MADR,IAEAD,OAAO,CAACC,MAAR,KAAmB,SAFnB,IAGAD,OAAO,CAACC,MAAR,KAAmB,QAHnB,IAIAD,OAAO,CAACC,MAAR,KAAmB,OALrB,EAME;AACA,cAAM,IAAI1B,KAAJ,CACJ,qHADI,CAAN;AAGD;;AAED,WAAKL,UAAL,CAAgBgC,mBAAhB;;AAEA,aAAO,KAAKlC,UAAL,CAAgBmC,MAAhB,CACJC,aADI,CAEH,KAAKnC,eAAL,CAAqBoC,YAFlB,EAGH,KAAKnC,UAAL,CAAgBoC,IAHb,EAIH,KAAKpC,UAAL,CAAgBqC,OAJb,EAKH,KAAKrC,UAAL,CAAgBU,MALb,EAMH,KAAKV,UAAL,CAAgB8B,OANb,EAOHA,OAPG,EASJQ,IATI,CASC,UAAAC,IAAI;AAAA,eAAI,IAAIhD,sBAAJ,CAA2B,KAAI,CAACO,UAAhC,EAA4C,KAA5C,EAAkDyC,IAAlD,CAAJ;AAAA,OATL,CAAP;AAUD;;;WAED,iBAAQC,KAAR,EAAe;AACb,UAAI,EAAEA,KAAK,YAAY9C,cAAnB,CAAJ,EAAwC;AACtC,cAAM,IAAIW,KAAJ,CACJ,iFADI,CAAN;AAGD;;AAGD,UACE,KAAKV,SAAL,CAAe8C,GAAf,CAAmBC,IAAnB,KAA4BF,KAAK,CAAC7C,SAAN,CAAgB8C,GAAhB,CAAoBC,IAAhD,IACA,KAAK1C,UAAL,CAAgBoC,IAAhB,KAAyBI,KAAK,CAACxC,UAAN,CAAiBoC,IAD1C,IAEA,KAAKpC,UAAL,CAAgBqC,OAAhB,CAAwB/B,MAAxB,KAAmCkC,KAAK,CAACxC,UAAN,CAAiBqC,OAAjB,CAAyB/B,MAF5D,IAGA,KAAKN,UAAL,CAAgBU,MAAhB,CAAuBJ,MAAvB,KAAkCkC,KAAK,CAACxC,UAAN,CAAiBU,MAAjB,CAAwBJ,MAH1D,IAIA,KAAKP,eAAL,CAAqBoC,YAArB,KAAsCK,KAAK,CAACzC,eAAN,CAAsBoC,YAJ5D,IAKAQ,MAAM,CAACC,IAAP,CAAY,KAAK5C,UAAL,CAAgB8B,OAA5B,EAAqCxB,MAArC,KAAgDqC,MAAM,CAACC,IAAP,CAAYJ,KAAK,CAACxC,UAAN,CAAiB8B,OAA7B,EAAsCxB,MANxF,EAOE;AACA,eAAO,KAAP;AACD;;AAID,UACEuC,IAAI,CAACC,SAAL,CAAe,KAAK9C,UAAL,CAAgBqC,OAA/B,MAA4CQ,IAAI,CAACC,SAAL,CAAeN,KAAK,CAACxC,UAAN,CAAiBqC,OAAhC,CAA5C,IACAQ,IAAI,CAACC,SAAL,CAAe,KAAK9C,UAAL,CAAgBU,MAA/B,MAA2CmC,IAAI,CAACC,SAAL,CAAeN,KAAK,CAACxC,UAAN,CAAiBU,MAAhC,CAD3C,IAEAmC,IAAI,CAACC,SAAL,CAAe,KAAK9C,UAAL,CAAgB8B,OAA/B,MAA4Ce,IAAI,CAACC,SAAL,CAAeN,KAAK,CAACxC,UAAN,CAAiB8B,OAAhC,CAH9C,EAIE;AACA,eAAO,KAAP;AACD;;AAED,aAAO,IAAP;AACD;;;WAED,eAAMiB,MAAN,EAAa;AACX,UAAI,KAAK/C,UAAL,CAAgBgD,YAAhB,CAA6BD,MAA7B,CAAJ,EAAyC;AACvC,cAAM,IAAI1C,KAAJ,CACJ,sFADI,CAAN;AAGD;;AAED,UAAMR,SAAS,GAAG,KAAKG,UAAL,CAAgBI,KAAhB,GAAwB2C,KAAxB,CAA8BA,MAA9B,CAAlB;;AAEA,aAAO,IAAIrD,cAAJ,CAAmB,KAAKI,UAAxB,EAAoC,KAAKC,eAAzC,EAA0DF,SAA1D,CAAP;AACD;;;WAED,qBAAYoD,YAAZ,EAAyB;AACvB,UAAI,KAAKjD,UAAL,CAAgBkD,kBAAhB,CAAmCD,YAAnC,CAAJ,EAAqD;AACnD,cAAM,IAAI5C,KAAJ,CACJ,kGADI,CAAN;AAGD;;AAED,UAAMR,SAAS,GAAG,KAAKG,UAAL,CAAgBI,KAAhB,GAAwB6C,WAAxB,CAAoCA,YAApC,CAAlB;;AAEA,aAAO,IAAIvD,cAAJ,CAAmB,KAAKI,UAAxB,EAAoC,KAAKC,eAAzC,EAA0DF,SAA1D,CAAP;AACD;;;WAED,sBAAoB;AAAA;;AAClB,UAAIsD,qBAAJ;AACA,UAAIC,QAAJ;AACA,UAAIC,MAAJ;AACA,UAAIC,OAAJ;;AAEA,WAAKtD,UAAL,CAAgBgC,mBAAhB;;AAEA,UAAI;AAAA,2CARQuB,IAQR;AARQA,UAAAA,IAQR;AAAA;;AACF,YAAMzB,OAAO,GAAGtC,iBAAiB,CAAC+D,IAAD,CAAjC;AACAJ,QAAAA,qBAAqB,GAAGrB,OAAO,CAACqB,qBAAhC;AACAC,QAAAA,QAAQ,GAAGtB,OAAO,CAACsB,QAAnB;AACAC,QAAAA,MAAM,GAAGvB,OAAO,CAACuB,MAAjB;AACAC,QAAAA,OAAO,GAAGxB,OAAO,CAACwB,OAAlB;AACD,OAND,CAME,OAAOE,CAAP,EAAU;AACV,cAAM,IAAInD,KAAJ,sDAA6DmD,CAAC,CAACC,OAA/D,CAAN;AACD;;AAED,eAASC,aAAT,CAAuBC,aAAvB,EAAsC;AACpCP,QAAAA,QAAQ,CAACO,aAAD,EAAgB,IAAhB,CAAR;AACAN,QAAAA,MAAM,CAACM,aAAD,CAAN;AACD;;AAED,eAASC,WAAT,CAAqBC,KAArB,EAA4B;AAC1BT,QAAAA,QAAQ,CAAC,IAAD,EAAOS,KAAP,CAAR;AACAP,QAAAA,OAAO,CAACO,KAAD,CAAP;AACD;;AAED,UAAMC,UAAU,GAAGrE,GAAG,EAAtB;;AAEA,UAAMsE,sBAAsB,GAAG,KAAKjE,UAAL,CAAgBkE,OAAhB,CAAwBC,WAAxB,CAC7B,KAAKnE,UAAL,CAAgBoE,eAAhB,sCAAmEJ,UAAnE,CAD6B,EAE7B,UAAAK,KAAK,EAAI;AACP,YAAIA,KAAK,CAACC,IAAN,CAAWP,KAAf,EAAsB;AACpBD,UAAAA,WAAW,CAACzE,WAAW,CAACkF,SAAZ,CAAsBF,KAAK,CAACC,IAAN,CAAWP,KAAjC,EAAwC,WAAxC,CAAD,CAAX;AACD,SAFD,MAEO;AACL,cAAMF,aAAa,GAAG,IAAIpE,sBAAJ,CACpB,MAAI,CAACO,UADe,EAEpB,MAFoB,EAGpBqE,KAAK,CAACC,IAAN,CAAWE,QAHS,CAAtB;AAKAZ,UAAAA,aAAa,CAACC,aAAD,CAAb;AACD;AACF,OAb4B,CAA/B;;AAgBA,UAAMY,WAAW,GAAG,SAAdA,WAAc,GAAM;AACxBR,QAAAA,sBAAsB,CAACS,MAAvB;;AACA,QAAA,MAAI,CAAC1E,UAAL,CAAgBmC,MAAhB,CAAuBwC,qBAAvB,CAA6CX,UAA7C;AACD,OAHD;;AAKA,WAAKhE,UAAL,CAAgBmC,MAAhB,CAAuByC,oBAAvB,CACE,KAAK3E,eAAL,CAAqBoC,YADvB,EAEE,KAAKnC,UAAL,CAAgBoC,IAFlB,EAGE,KAAKpC,UAAL,CAAgBqC,OAHlB,EAIE,KAAKrC,UAAL,CAAgBU,MAJlB,EAKE,KAAKV,UAAL,CAAgB8B,OALlB,EAMEgC,UANF,EAOEX,qBAPF;;AAUA,aAAOoB,WAAP;AACD;;;WAED,iBAAQzD,SAAR,EAAmB6D,YAAnB,EAAiC;AAC/B,UAAI,CAAC1F,QAAQ,CAAC6B,SAAD,CAAT,IAAwB,EAAEA,SAAS,YAAYzB,kBAAvB,CAA5B,EAAwE;AACtE,cAAM,IAAIgB,KAAJ,CACJ,qGADI,CAAN;AAGD;;AAED,UAAImB,IAAJ;;AAEA,UAAIvC,QAAQ,CAAC6B,SAAD,CAAZ,EAAyB;AACvB,YAAI;AACFU,UAAAA,IAAI,GAAGlC,sBAAsB,CAACwB,SAAD,CAA7B;AACD,SAFD,CAEE,OAAO0C,CAAP,EAAU;AACV,gBAAM,IAAInD,KAAJ,+DAAsEmD,CAAC,CAACC,OAAxE,OAAN;AACD;AACF,OAND,MAMO;AACLjC,QAAAA,IAAI,GAAGV,SAAP;AACD;;AAED,UAAI,CAAC5B,WAAW,CAACyF,YAAD,CAAZ,IAA8B,CAAC,KAAK3E,UAAL,CAAgB4E,gBAAhB,CAAiCD,YAAjC,CAAnC,EAAmF;AACjF,cAAM,IAAItE,KAAJ,CACJ,gGADI,CAAN;AAGD;;AAED,UAAI,KAAKL,UAAL,CAAgB6E,QAAhB,EAAJ,EAAgC;AAC9B,cAAM,IAAIxE,KAAJ,CACJ,kIADI,CAAN;AAGD;;AAED,UAAI,KAAKL,UAAL,CAAgB8E,MAAhB,EAAJ,EAA8B;AAC5B,cAAM,IAAIzE,KAAJ,CACJ,+HADI,CAAN;AAGD;;AAED,UAAMR,SAAS,GAAG,KAAKG,UAAL,CAAgBI,KAAhB,GAAwB2E,OAAxB,CAAgCvD,IAAhC,EAAsCmD,YAAtC,CAAlB;;AAEA,UAAI;AACF9E,QAAAA,SAAS,CAACmF,eAAV;AACD,OAFD,CAEE,OAAOxB,CAAP,EAAU;AACV,cAAM,IAAInD,KAAJ,kDAAyDmD,CAAC,CAACC,OAA3D,CAAN;AACD;;AAED,aAAO,IAAI/D,cAAJ,CAAmB,KAAKI,UAAxB,EAAoC,KAAKC,eAAzC,EAA0DF,SAA1D,CAAP;AACD;;;WAED,oBAAWK,UAAX,EAAkC;AAAA,yCAARC,MAAQ;AAARA,QAAAA,MAAQ;AAAA;;AAChC,aAAO,IAAIT,cAAJ,CACL,KAAKI,UADA,EAEL,KAAKC,eAFA,EAGL,KAAK8B,kBAAL,CAAwB,YAAxB,EAAsC3B,UAAtC,EAAkDC,MAAlD,CAHK,CAAP;AAKD;;;WAED,iBAAQD,UAAR,EAA+B;AAAA,yCAARC,MAAQ;AAARA,QAAAA,MAAQ;AAAA;;AAC7B,aAAO,IAAIT,cAAJ,CACL,KAAKI,UADA,EAEL,KAAKC,eAFA,EAGL,KAAK8B,kBAAL,CAAwB,SAAxB,EAAmC3B,UAAnC,EAA+CC,MAA/C,CAHK,CAAP;AAKD;;;WAED,eAAMW,SAAN,EAAiBmE,KAAjB,EAAwBlE,KAAxB,EAA+B;AAC7B,UAAI,CAAC9B,QAAQ,CAAC6B,SAAD,CAAT,IAAwB,EAAEA,SAAS,YAAYzB,kBAAvB,CAA5B,EAAwE;AACtE,cAAM,IAAIgB,KAAJ,CACJ,mGADI,CAAN;AAGD;;AAED,UAAImB,IAAJ;;AAEA,UAAIvC,QAAQ,CAAC6B,SAAD,CAAZ,EAAyB;AACvB,YAAI;AACFU,UAAAA,IAAI,GAAGlC,sBAAsB,CAACwB,SAAD,CAA7B;AACD,SAFD,CAEE,OAAO0C,CAAP,EAAU;AACV,gBAAM,IAAInD,KAAJ,6DAAoEmD,CAAC,CAACC,OAAtE,OAAN;AACD;AACF,OAND,MAMO;AACLjC,QAAAA,IAAI,GAAGV,SAAP;AACD;;AAED,UAAI,CAAC,KAAKd,UAAL,CAAgBkF,eAAhB,CAAgCD,KAAhC,CAAL,EAA6C;AAC3C,cAAM,IAAI5E,KAAJ,CACJ,+KADI,CAAN;AAGD;;AAED,UAAInB,WAAW,CAAC6B,KAAD,CAAf,EAAwB;AACtB,cAAM,IAAIV,KAAJ,CACJ,6EADI,CAAN;AAGD;;AAED,UAAItB,MAAM,CAACgC,KAAD,CAAN,IAAiB,CAAC,KAAKf,UAAL,CAAgBmF,eAAhB,CAAgCF,KAAhC,CAAtB,EAA8D;AAC5D,cAAM,IAAI5E,KAAJ,CACJ,sHADI,CAAN;AAGD;;AAED,UAAI,KAAKL,UAAL,CAAgBoF,YAAhB,CAA6BH,KAA7B,CAAJ,EAAyC;AACvC,YAAI,CAACnG,OAAO,CAACiC,KAAD,CAAR,IAAmB,CAACA,KAAK,CAACT,MAA9B,EAAsC;AACpC,gBAAM,IAAID,KAAJ,8GACuG4E,KADvG,gBAAN;AAGD;;AAED,YAAIlE,KAAK,CAACT,MAAN,GAAe,EAAnB,EAAuB;AACrB,gBAAM,IAAID,KAAJ,4EACqE4E,KADrE,oEAAN;AAGD;AACF;;AAED,UAAMpF,SAAS,GAAG,KAAKG,UAAL,CAAgBI,KAAhB,GAAwBiF,KAAxB,CAA8B7D,IAA9B,EAAoCyD,KAApC,EAA2ClE,KAA3C,CAAlB;;AAEA,UAAI;AACFlB,QAAAA,SAAS,CAACyF,aAAV;AACD,OAFD,CAEE,OAAO9B,CAAP,EAAU;AACV,cAAM,IAAInD,KAAJ,gDAAuDmD,CAAC,CAACC,OAAzD,CAAN;AACD;;AAED,aAAO,IAAI/D,cAAJ,CAAmB,KAAKI,UAAxB,EAAoC,KAAKC,eAAzC,EAA0DF,SAA1D,CAAP;AACD;;;;;;SAxYkBH,c","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport {\n isArray,\n isNull,\n isObject,\n isString,\n isUndefined,\n} from '@react-native-firebase/app/lib/common';\nimport NativeError from '@react-native-firebase/app/lib/internal/NativeFirebaseError';\nimport FirestoreDocumentSnapshot from './FirestoreDocumentSnapshot';\nimport FirestoreFieldPath, { fromDotSeparatedString } from './FirestoreFieldPath';\nimport FirestoreQuerySnapshot from './FirestoreQuerySnapshot';\nimport { parseSnapshotArgs } from './utils';\n\nlet _id = 0;\n\nexport default class FirestoreQuery {\n constructor(firestore, collectionPath, modifiers) {\n this._firestore = firestore;\n this._collectionPath = collectionPath;\n this._modifiers = modifiers;\n }\n\n get firestore() {\n return this._firestore;\n }\n\n _handleQueryCursor(cursor, docOrField, fields) {\n const modifiers = this._modifiers._copy();\n\n if (isUndefined(docOrField)) {\n throw new Error(\n `firebase.firestore().collection().${cursor}(*) Expected a DocumentSnapshot or list of field values but got undefined.`,\n );\n }\n\n // Handles cases where the first arg is a DocumentSnapshot\n if (docOrField instanceof FirestoreDocumentSnapshot) {\n if (fields.length > 0) {\n throw new Error(\n `firebase.firestore().collection().${cursor}(*) Too many arguments provided. Expected DocumentSnapshot or list of field values.`,\n );\n }\n\n const documentSnapshot = docOrField;\n\n if (!documentSnapshot.exists) {\n throw new Error(\n `firebase.firestore().collection().${cursor}(*) Can't use a DocumentSnapshot that doesn't exist.`,\n );\n }\n\n const currentOrders = modifiers.orders;\n\n const values = [];\n\n for (let i = 0; i < currentOrders.length; i++) {\n const order = currentOrders[i];\n //skip if fieldPath is '__name__'\n if (order.fieldPath === '__name__') {\n continue;\n }\n\n const value = documentSnapshot.get(order.fieldPath);\n\n if (value === undefined) {\n throw new Error(\n `firebase.firestore().collection().${cursor}(*) You are trying to start or end a query using a document for which the field '${order.fieldPath}' (used as the orderBy) does not exist.`,\n );\n }\n\n values.push(value);\n }\n\n // Based on https://github.com/invertase/react-native-firebase/issues/2854#issuecomment-552986650\n if (modifiers._orders.length) {\n const lastOrder = modifiers._orders[modifiers._orders.length - 1];\n //push '__name__' field only if not present already\n if (lastOrder.fieldPath !== '__name__') {\n modifiers._orders.push({\n fieldPath: '__name__',\n direction: lastOrder.direction,\n });\n }\n } else {\n modifiers._orders.push({\n fieldPath: '__name__',\n direction: 'ASCENDING',\n });\n }\n\n if (this._modifiers.isCollectionGroupQuery()) {\n values.push(documentSnapshot.ref.path);\n } else {\n values.push(documentSnapshot.id);\n }\n\n return modifiers.setFieldsCursor(cursor, values);\n }\n\n /**\n * Assumes list of field values to query by. Orders must be of equal length.\n */\n\n const allFields = [docOrField].concat(fields);\n\n if (allFields.length > modifiers.orders.length) {\n throw new Error(\n `firebase.firestore().collection().${cursor}(*) Too many arguments provided. The number of arguments must be less than or equal to the number of orderBy() clauses.`,\n );\n }\n\n return modifiers.setFieldsCursor(cursor, allFields);\n }\n\n endAt(docOrField, ...fields) {\n return new FirestoreQuery(\n this._firestore,\n this._collectionPath,\n this._handleQueryCursor('endAt', docOrField, fields),\n );\n }\n\n endBefore(docOrField, ...fields) {\n return new FirestoreQuery(\n this._firestore,\n this._collectionPath,\n this._handleQueryCursor('endBefore', docOrField, fields),\n );\n }\n\n get(options) {\n if (!isUndefined(options) && !isObject(options)) {\n throw new Error(\n \"firebase.firestore().collection().get(*) 'options' must be an object is provided.\",\n );\n }\n\n if (\n options &&\n options.source &&\n options.source !== 'default' &&\n options.source !== 'server' &&\n options.source !== 'cache'\n ) {\n throw new Error(\n \"firebase.firestore().collection().get(*) 'options' GetOptions.source must be one of 'default', 'server' or 'cache'.\",\n );\n }\n\n this._modifiers.validatelimitToLast();\n\n return this._firestore.native\n .collectionGet(\n this._collectionPath.relativeName,\n this._modifiers.type,\n this._modifiers.filters,\n this._modifiers.orders,\n this._modifiers.options,\n options,\n )\n .then(data => new FirestoreQuerySnapshot(this._firestore, this, data));\n }\n\n isEqual(other) {\n if (!(other instanceof FirestoreQuery)) {\n throw new Error(\n \"firebase.firestore().collection().isEqual(*) 'other' expected a Query instance.\",\n );\n }\n\n // Carry out lightweight checks first\n if (\n this.firestore.app.name !== other.firestore.app.name ||\n this._modifiers.type !== other._modifiers.type ||\n this._modifiers.filters.length !== other._modifiers.filters.length ||\n this._modifiers.orders.length !== other._modifiers.orders.length ||\n this._collectionPath.relativeName !== other._collectionPath.relativeName ||\n Object.keys(this._modifiers.options).length !== Object.keys(other._modifiers.options).length\n ) {\n return false;\n }\n\n // Carry out potentially expensive checks\n // noinspection RedundantIfStatementJS\n if (\n JSON.stringify(this._modifiers.filters) !== JSON.stringify(other._modifiers.filters) ||\n JSON.stringify(this._modifiers.orders) !== JSON.stringify(other._modifiers.orders) ||\n JSON.stringify(this._modifiers.options) !== JSON.stringify(other._modifiers.options)\n ) {\n return false;\n }\n\n return true;\n }\n\n limit(limit) {\n if (this._modifiers.isValidLimit(limit)) {\n throw new Error(\n \"firebase.firestore().collection().limit(*) 'limit' must be a positive integer value.\",\n );\n }\n\n const modifiers = this._modifiers._copy().limit(limit);\n\n return new FirestoreQuery(this._firestore, this._collectionPath, modifiers);\n }\n\n limitToLast(limitToLast) {\n if (this._modifiers.isValidLimitToLast(limitToLast)) {\n throw new Error(\n \"firebase.firestore().collection().limitToLast(*) 'limitToLast' must be a positive integer value.\",\n );\n }\n\n const modifiers = this._modifiers._copy().limitToLast(limitToLast);\n\n return new FirestoreQuery(this._firestore, this._collectionPath, modifiers);\n }\n\n onSnapshot(...args) {\n let snapshotListenOptions;\n let callback;\n let onNext;\n let onError;\n\n this._modifiers.validatelimitToLast();\n\n try {\n const options = parseSnapshotArgs(args);\n snapshotListenOptions = options.snapshotListenOptions;\n callback = options.callback;\n onNext = options.onNext;\n onError = options.onError;\n } catch (e) {\n throw new Error(`firebase.firestore().collection().onSnapshot(*) ${e.message}`);\n }\n\n function handleSuccess(querySnapshot) {\n callback(querySnapshot, null);\n onNext(querySnapshot);\n }\n\n function handleError(error) {\n callback(null, error);\n onError(error);\n }\n\n const listenerId = _id++;\n\n const onSnapshotSubscription = this._firestore.emitter.addListener(\n this._firestore.eventNameForApp(`firestore_collection_sync_event:${listenerId}`),\n event => {\n if (event.body.error) {\n handleError(NativeError.fromEvent(event.body.error, 'firestore'));\n } else {\n const querySnapshot = new FirestoreQuerySnapshot(\n this._firestore,\n this,\n event.body.snapshot,\n );\n handleSuccess(querySnapshot);\n }\n },\n );\n\n const unsubscribe = () => {\n onSnapshotSubscription.remove();\n this._firestore.native.collectionOffSnapshot(listenerId);\n };\n\n this._firestore.native.collectionOnSnapshot(\n this._collectionPath.relativeName,\n this._modifiers.type,\n this._modifiers.filters,\n this._modifiers.orders,\n this._modifiers.options,\n listenerId,\n snapshotListenOptions,\n );\n\n return unsubscribe;\n }\n\n orderBy(fieldPath, directionStr) {\n if (!isString(fieldPath) && !(fieldPath instanceof FirestoreFieldPath)) {\n throw new Error(\n \"firebase.firestore().collection().orderBy(*) 'fieldPath' must be a string or instance of FieldPath.\",\n );\n }\n\n let path;\n\n if (isString(fieldPath)) {\n try {\n path = fromDotSeparatedString(fieldPath);\n } catch (e) {\n throw new Error(`firebase.firestore().collection().orderBy(*) 'fieldPath' ${e.message}.`);\n }\n } else {\n path = fieldPath;\n }\n\n if (!isUndefined(directionStr) && !this._modifiers.isValidDirection(directionStr)) {\n throw new Error(\n \"firebase.firestore().collection().orderBy(_, *) 'directionStr' must be one of 'asc' or 'desc'.\",\n );\n }\n\n if (this._modifiers.hasStart()) {\n throw new Error(\n 'firebase.firestore().collection().orderBy() Invalid query. You must not call startAt() or startAfter() before calling orderBy().',\n );\n }\n\n if (this._modifiers.hasEnd()) {\n throw new Error(\n 'firebase.firestore().collection().orderBy() Invalid query. You must not call endAt() or endBefore() before calling orderBy().',\n );\n }\n\n const modifiers = this._modifiers._copy().orderBy(path, directionStr);\n\n try {\n modifiers.validateOrderBy();\n } catch (e) {\n throw new Error(`firebase.firestore().collection().orderBy() ${e.message}`);\n }\n\n return new FirestoreQuery(this._firestore, this._collectionPath, modifiers);\n }\n\n startAfter(docOrField, ...fields) {\n return new FirestoreQuery(\n this._firestore,\n this._collectionPath,\n this._handleQueryCursor('startAfter', docOrField, fields),\n );\n }\n\n startAt(docOrField, ...fields) {\n return new FirestoreQuery(\n this._firestore,\n this._collectionPath,\n this._handleQueryCursor('startAt', docOrField, fields),\n );\n }\n\n where(fieldPath, opStr, value) {\n if (!isString(fieldPath) && !(fieldPath instanceof FirestoreFieldPath)) {\n throw new Error(\n \"firebase.firestore().collection().where(*) 'fieldPath' must be a string or instance of FieldPath.\",\n );\n }\n\n let path;\n\n if (isString(fieldPath)) {\n try {\n path = fromDotSeparatedString(fieldPath);\n } catch (e) {\n throw new Error(`firebase.firestore().collection().where(*) 'fieldPath' ${e.message}.`);\n }\n } else {\n path = fieldPath;\n }\n\n if (!this._modifiers.isValidOperator(opStr)) {\n throw new Error(\n \"firebase.firestore().collection().where(_, *) 'opStr' is invalid. Expected one of '==', '>', '>=', '<', '<=', '!=', 'array-contains', 'not-in', 'array-contains-any' or 'in'.\",\n );\n }\n\n if (isUndefined(value)) {\n throw new Error(\n \"firebase.firestore().collection().where(_, _, *) 'value' argument expected.\",\n );\n }\n\n if (isNull(value) && !this._modifiers.isEqualOperator(opStr)) {\n throw new Error(\n \"firebase.firestore().collection().where(_, _, *) 'value' is invalid. You can only perform equals comparisons on null\",\n );\n }\n\n if (this._modifiers.isInOperator(opStr)) {\n if (!isArray(value) || !value.length) {\n throw new Error(\n `firebase.firestore().collection().where(_, _, *) 'value' is invalid. A non-empty array is required for '${opStr}' filters.`,\n );\n }\n\n if (value.length > 10) {\n throw new Error(\n `firebase.firestore().collection().where(_, _, *) 'value' is invalid. '${opStr}' filters support a maximum of 10 elements in the value array.`,\n );\n }\n }\n\n const modifiers = this._modifiers._copy().where(path, opStr, value);\n\n try {\n modifiers.validateWhere();\n } catch (e) {\n throw new Error(`firebase.firestore().collection().where() ${e.message}`);\n }\n\n return new FirestoreQuery(this._firestore, this._collectionPath, modifiers);\n }\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/ae9b0bbc648bbad4039bc63b2cd59555.json b/.expo/web/cache/development/babel-loader/ae9b0bbc648bbad4039bc63b2cd59555.json new file mode 100644 index 0000000000000000000000000000000000000000..2b2a1103081cf7c2cd55691d40eec3d53fcf9bde --- /dev/null +++ b/.expo/web/cache/development/babel-loader/ae9b0bbc648bbad4039bc63b2cd59555.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nimport NavigationContainerRefContext from \"./NavigationContainerRefContext\";\nimport NavigationContext from \"./NavigationContext\";\nexport default function useNavigation() {\n var root = React.useContext(NavigationContainerRefContext);\n var navigation = React.useContext(NavigationContext);\n\n if (navigation === undefined && root === undefined) {\n throw new Error(\"Couldn't find a navigation object. Is your component inside NavigationContainer?\");\n }\n\n return navigation !== null && navigation !== void 0 ? navigation : root;\n}","map":{"version":3,"sources":["useNavigation.tsx"],"names":["root","React","navigation"],"mappings":"AAAA,OAAO,KAAP,KAAA,MAAA,OAAA;AAEA,OAAA,6BAAA;AACA,OAAA,iBAAA;AAQA,eAAe,SAAA,aAAA,GAER;AACL,MAAMA,IAAI,GAAGC,KAAK,CAALA,UAAAA,CAAb,6BAAaA,CAAb;AACA,MAAMC,UAAU,GAAGD,KAAK,CAALA,UAAAA,CAAnB,iBAAmBA,CAAnB;;AAEA,MAAIC,UAAU,KAAVA,SAAAA,IAA4BF,IAAI,KAApC,SAAA,EAAoD;AAClD,UAAM,IAAA,KAAA,CAAN,kFAAM,CAAN;AALG;;AAWL,SAAQE,UAAR,KAAA,IAAQA,IAAAA,UAAR,KAAA,KAAA,CAAQA,GAAR,UAAQA,GAAR,IAAA;AACD","sourcesContent":["import * as React from 'react';\n\nimport NavigationContainerRefContext from './NavigationContainerRefContext';\nimport NavigationContext from './NavigationContext';\nimport type { NavigationProp } from './types';\n\n/**\n * Hook to access the navigation prop of the parent screen anywhere.\n *\n * @returns Navigation prop of the parent screen.\n */\nexport default function useNavigation<\n T = NavigationProp<ReactNavigation.RootParamList>\n>(): T {\n const root = React.useContext(NavigationContainerRefContext);\n const navigation = React.useContext(NavigationContext);\n\n if (navigation === undefined && root === undefined) {\n throw new Error(\n \"Couldn't find a navigation object. Is your component inside NavigationContainer?\"\n );\n }\n\n // FIXME: Figure out a better way to do this\n return (navigation ?? root) as unknown as T;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/af23a0e7a27a18cdcaa3efb8de472d87.json b/.expo/web/cache/development/babel-loader/af23a0e7a27a18cdcaa3efb8de472d87.json new file mode 100644 index 0000000000000000000000000000000000000000..19ea7d66d38bfdf4c3eb0d1eaee31a21cb6feab2 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/af23a0e7a27a18cdcaa3efb8de472d87.json @@ -0,0 +1 @@ +{"ast":null,"code":"var CSS_UNIT_RE = /^[+-]?\\d*(?:\\.\\d+)?(?:[Ee][+-]?\\d+)?(%|\\w*)/;\n\nvar getUnit = function getUnit(str) {\n return str.match(CSS_UNIT_RE)[1];\n};\n\nvar isNumeric = function isNumeric(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n};\n\nvar multiplyStyleLengthValue = function 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};\n\nexport default multiplyStyleLengthValue;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/multiplyStyleLengthValue/index.js"],"names":["CSS_UNIT_RE","getUnit","str","match","isNumeric","n","isNaN","parseFloat","isFinite","multiplyStyleLengthValue","value","multiple","number","unit"],"mappings":"AAQA,IAAIA,WAAW,GAAG,6CAAlB;;AAEA,IAAIC,OAAO,GAAG,SAASA,OAAT,CAAiBC,GAAjB,EAAsB;AAClC,SAAOA,GAAG,CAACC,KAAJ,CAAUH,WAAV,EAAuB,CAAvB,CAAP;AACD,CAFD;;AAIA,IAAII,SAAS,GAAG,SAASA,SAAT,CAAmBC,CAAnB,EAAsB;AACpC,SAAO,CAACC,KAAK,CAACC,UAAU,CAACF,CAAD,CAAX,CAAN,IAAyBG,QAAQ,CAACH,CAAD,CAAxC;AACD,CAFD;;AAIA,IAAII,wBAAwB,GAAG,SAASA,wBAAT,CAAkCC,KAAlC,EAAyCC,QAAzC,EAAmD;AAChF,MAAI,OAAOD,KAAP,KAAiB,QAArB,EAA+B;AAC7B,QAAIE,MAAM,GAAGL,UAAU,CAACG,KAAD,CAAV,GAAoBC,QAAjC;AACA,QAAIE,IAAI,GAAGZ,OAAO,CAACS,KAAD,CAAlB;AACA,WAAO,KAAKE,MAAL,GAAcC,IAArB;AACD,GAJD,MAIO,IAAIT,SAAS,CAACM,KAAD,CAAb,EAAsB;AAC3B,WAAOA,KAAK,GAAGC,QAAf;AACD;AACF,CARD;;AAUA,eAAeF,wBAAf","sourcesContent":["/**\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 CSS_UNIT_RE = /^[+-]?\\d*(?:\\.\\d+)?(?:[Ee][+-]?\\d+)?(%|\\w*)/;\n\nvar getUnit = function getUnit(str) {\n return str.match(CSS_UNIT_RE)[1];\n};\n\nvar isNumeric = function isNumeric(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n};\n\nvar multiplyStyleLengthValue = function 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};\n\nexport default multiplyStyleLengthValue;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/afd0837322ffd75a1e77de888fbdbb83.json b/.expo/web/cache/development/babel-loader/afd0837322ffd75a1e77de888fbdbb83.json new file mode 100644 index 0000000000000000000000000000000000000000..eda8e68c07c992951476dfe2366da692b34f6a05 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/afd0837322ffd75a1e77de888fbdbb83.json @@ -0,0 +1 @@ +{"ast":null,"code":"!function (e, t) {\n \"object\" == typeof exports && \"object\" == typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define([], t) : \"object\" == typeof exports ? exports.ReactErrorOverlay = t() : e.ReactErrorOverlay = t();\n}(self, function () {\n return function () {\n var e = {\n 162: function _(e, t, r) {\n e.exports = r(47);\n },\n 47: function _(e) {\n var t = function (e) {\n \"use strict\";\n\n var t,\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = \"function\" == typeof Symbol ? Symbol : {},\n a = o.iterator || \"@@iterator\",\n i = o.asyncIterator || \"@@asyncIterator\",\n l = o.toStringTag || \"@@toStringTag\";\n\n function u(e, t, r) {\n return Object.defineProperty(e, t, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), e[t];\n }\n\n try {\n u({}, \"\");\n } catch (e) {\n u = function u(e, t, r) {\n return e[t] = r;\n };\n }\n\n function s(e, t, r, n) {\n var o = t && t.prototype instanceof m ? t : m,\n a = Object.create(o.prototype),\n i = new T(n || []);\n return a._invoke = function (e, t, r) {\n var n = f;\n return function (o, a) {\n if (n === p) throw new Error(\"Generator is already running\");\n\n if (n === h) {\n if (\"throw\" === o) throw a;\n return L();\n }\n\n for (r.method = o, r.arg = a;;) {\n var i = r.delegate;\n\n if (i) {\n var l = _(i, r);\n\n if (l) {\n if (l === g) continue;\n return l;\n }\n }\n\n if (\"next\" === r.method) r.sent = r._sent = r.arg;else if (\"throw\" === r.method) {\n if (n === f) throw n = h, r.arg;\n r.dispatchException(r.arg);\n } else \"return\" === r.method && r.abrupt(\"return\", r.arg);\n n = p;\n var u = c(e, t, r);\n\n if (\"normal\" === u.type) {\n if (n = r.done ? h : d, u.arg === g) continue;\n return {\n value: u.arg,\n done: r.done\n };\n }\n\n \"throw\" === u.type && (n = h, r.method = \"throw\", r.arg = u.arg);\n }\n };\n }(e, r, i), a;\n }\n\n function c(e, t, r) {\n try {\n return {\n type: \"normal\",\n arg: e.call(t, r)\n };\n } catch (e) {\n return {\n type: \"throw\",\n arg: e\n };\n }\n }\n\n e.wrap = s;\n var f = \"suspendedStart\",\n d = \"suspendedYield\",\n p = \"executing\",\n h = \"completed\",\n g = {};\n\n function m() {}\n\n function v() {}\n\n function y() {}\n\n var b = {};\n u(b, a, function () {\n return this;\n });\n var w = Object.getPrototypeOf,\n x = w && w(w(R([])));\n x && x !== r && n.call(x, a) && (b = x);\n var E = y.prototype = m.prototype = Object.create(b);\n\n function k(e) {\n [\"next\", \"throw\", \"return\"].forEach(function (t) {\n u(e, t, function (e) {\n return this._invoke(t, e);\n });\n });\n }\n\n function S(e, t) {\n function r(o, a, i, l) {\n var u = c(e[o], e, a);\n\n if (\"throw\" !== u.type) {\n var s = u.arg,\n f = s.value;\n return f && \"object\" == typeof f && n.call(f, \"__await\") ? t.resolve(f.__await).then(function (e) {\n r(\"next\", e, i, l);\n }, function (e) {\n r(\"throw\", e, i, l);\n }) : t.resolve(f).then(function (e) {\n s.value = e, i(s);\n }, function (e) {\n return r(\"throw\", e, i, l);\n });\n }\n\n l(u.arg);\n }\n\n var o;\n\n this._invoke = function (e, n) {\n function a() {\n return new t(function (t, o) {\n r(e, n, t, o);\n });\n }\n\n return o = o ? o.then(a, a) : a();\n };\n }\n\n function _(e, r) {\n var n = e.iterator[r.method];\n\n if (n === t) {\n if (r.delegate = null, \"throw\" === r.method) {\n if (e.iterator.return && (r.method = \"return\", r.arg = t, _(e, r), \"throw\" === r.method)) return g;\n r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return g;\n }\n\n var o = c(n, e.iterator, r.arg);\n if (\"throw\" === o.type) return r.method = \"throw\", r.arg = o.arg, r.delegate = null, g;\n var a = o.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, g) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, g);\n }\n\n function C(e) {\n var t = {\n tryLoc: e[0]\n };\n 1 in e && (t.catchLoc = e[1]), 2 in e && (t.finallyLoc = e[2], t.afterLoc = e[3]), this.tryEntries.push(t);\n }\n\n function O(e) {\n var t = e.completion || {};\n t.type = \"normal\", delete t.arg, e.completion = t;\n }\n\n function T(e) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], e.forEach(C, this), this.reset(!0);\n }\n\n function R(e) {\n if (e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n\n if (!isNaN(e.length)) {\n var o = -1,\n i = function r() {\n for (; ++o < e.length;) {\n if (n.call(e, o)) return r.value = e[o], r.done = !1, r;\n }\n\n return r.value = t, r.done = !0, r;\n };\n\n return i.next = i;\n }\n }\n\n return {\n next: L\n };\n }\n\n function L() {\n return {\n value: t,\n done: !0\n };\n }\n\n return v.prototype = y, u(E, \"constructor\", y), u(y, \"constructor\", v), v.displayName = u(y, l, \"GeneratorFunction\"), e.isGeneratorFunction = function (e) {\n var t = \"function\" == typeof e && e.constructor;\n return !!t && (t === v || \"GeneratorFunction\" === (t.displayName || t.name));\n }, e.mark = function (e) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(e, y) : (e.__proto__ = y, u(e, l, \"GeneratorFunction\")), e.prototype = Object.create(E), e;\n }, e.awrap = function (e) {\n return {\n __await: e\n };\n }, k(S.prototype), u(S.prototype, i, function () {\n return this;\n }), e.AsyncIterator = S, e.async = function (t, r, n, o, a) {\n void 0 === a && (a = Promise);\n var i = new S(s(t, r, n, o), a);\n return e.isGeneratorFunction(r) ? i : i.next().then(function (e) {\n return e.done ? e.value : i.next();\n });\n }, k(E), u(E, l, \"Generator\"), u(E, a, function () {\n return this;\n }), u(E, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (e) {\n var t = [];\n\n for (var r in e) {\n t.push(r);\n }\n\n return t.reverse(), function r() {\n for (; t.length;) {\n var n = t.pop();\n if (n in e) return r.value = n, r.done = !1, r;\n }\n\n return r.done = !0, r;\n };\n }, e.values = R, T.prototype = {\n constructor: T,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(O), !e) for (var r in this) {\n \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n }\n },\n stop: function stop() {\n this.done = !0;\n var e = this.tryEntries[0].completion;\n if (\"throw\" === e.type) throw e.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n\n function o(n, o) {\n return l.type = \"throw\", l.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n\n for (var a = this.tryEntries.length - 1; a >= 0; --a) {\n var i = this.tryEntries[a],\n l = i.completion;\n if (\"root\" === i.tryLoc) return o(\"end\");\n\n if (i.tryLoc <= this.prev) {\n var u = n.call(i, \"catchLoc\"),\n s = n.call(i, \"finallyLoc\");\n\n if (u && s) {\n if (this.prev < i.catchLoc) return o(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return o(i.finallyLoc);\n } else if (u) {\n if (this.prev < i.catchLoc) return o(i.catchLoc, !0);\n } else {\n if (!s) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return o(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(e, t) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var a = o;\n break;\n }\n }\n\n a && (\"break\" === e || \"continue\" === e) && a.tryLoc <= t && t <= a.finallyLoc && (a = null);\n var i = a ? a.completion : {};\n return i.type = e, i.arg = t, a ? (this.method = \"next\", this.next = a.finallyLoc, g) : this.complete(i);\n },\n complete: function complete(e, t) {\n if (\"throw\" === e.type) throw e.arg;\n return \"break\" === e.type || \"continue\" === e.type ? this.next = e.arg : \"return\" === e.type ? (this.rval = this.arg = e.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === e.type && t && (this.next = t), g;\n },\n finish: function finish(e) {\n for (var t = this.tryEntries.length - 1; t >= 0; --t) {\n var r = this.tryEntries[t];\n if (r.finallyLoc === e) return this.complete(r.completion, r.afterLoc), O(r), g;\n }\n },\n catch: function _catch(e) {\n for (var t = this.tryEntries.length - 1; t >= 0; --t) {\n var r = this.tryEntries[t];\n\n if (r.tryLoc === e) {\n var n = r.completion;\n\n if (\"throw\" === n.type) {\n var o = n.arg;\n O(r);\n }\n\n return o;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: R(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), g;\n }\n }, e;\n }(e.exports);\n\n try {\n regeneratorRuntime = t;\n } catch (e) {\n \"object\" == typeof globalThis ? globalThis.regeneratorRuntime = t : Function(\"r\", \"regeneratorRuntime = r\")(t);\n }\n },\n 268: function _(e, t) {\n \"use strict\";\n\n t.Wo = function (e) {\n return Array.isArray(e) || (e = [e]), Promise.all(e.map(function (e) {\n return e.then(function (e) {\n return {\n isFulfilled: !0,\n isRejected: !1,\n value: e\n };\n }).catch(function (e) {\n return {\n isFulfilled: !1,\n isRejected: !0,\n reason: e\n };\n });\n }));\n };\n },\n 213: function _(e, t, r) {\n var n = r(728),\n o = Object.prototype.hasOwnProperty,\n a = \"undefined\" != typeof Map;\n\n function i() {\n this._array = [], this._set = a ? new Map() : Object.create(null);\n }\n\n i.fromArray = function (e, t) {\n for (var r = new i(), n = 0, o = e.length; n < o; n++) {\n r.add(e[n], t);\n }\n\n return r;\n }, i.prototype.size = function () {\n return a ? this._set.size : Object.getOwnPropertyNames(this._set).length;\n }, i.prototype.add = function (e, t) {\n var r = a ? e : n.toSetString(e),\n i = a ? this.has(e) : o.call(this._set, r),\n l = this._array.length;\n i && !t || this._array.push(e), i || (a ? this._set.set(e, l) : this._set[r] = l);\n }, i.prototype.has = function (e) {\n if (a) return this._set.has(e);\n var t = n.toSetString(e);\n return o.call(this._set, t);\n }, i.prototype.indexOf = function (e) {\n if (a) {\n var t = this._set.get(e);\n\n if (t >= 0) return t;\n } else {\n var r = n.toSetString(e);\n if (o.call(this._set, r)) return this._set[r];\n }\n\n throw new Error('\"' + e + '\" is not in the set.');\n }, i.prototype.at = function (e) {\n if (e >= 0 && e < this._array.length) return this._array[e];\n throw new Error(\"No element indexed by \" + e);\n }, i.prototype.toArray = function () {\n return this._array.slice();\n }, t.I = i;\n },\n 400: function _(e, t, r) {\n var n = r(923);\n t.encode = function (e) {\n var t,\n r = \"\",\n o = function (e) {\n return e < 0 ? 1 + (-e << 1) : 0 + (e << 1);\n }(e);\n\n do {\n t = 31 & o, (o >>>= 5) > 0 && (t |= 32), r += n.encode(t);\n } while (o > 0);\n\n return r;\n }, t.decode = function (e, t, r) {\n var o,\n a,\n i,\n l,\n u = e.length,\n s = 0,\n c = 0;\n\n do {\n if (t >= u) throw new Error(\"Expected more digits in base 64 VLQ value.\");\n if (-1 === (a = n.decode(e.charCodeAt(t++)))) throw new Error(\"Invalid base64 digit: \" + e.charAt(t - 1));\n o = !!(32 & a), s += (a &= 31) << c, c += 5;\n } while (o);\n\n r.value = (l = (i = s) >> 1, 1 == (1 & i) ? -l : l), r.rest = t;\n };\n },\n 923: function _(e, t) {\n var r = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".split(\"\");\n t.encode = function (e) {\n if (0 <= e && e < r.length) return r[e];\n throw new TypeError(\"Must be between 0 and 63: \" + e);\n }, t.decode = function (e) {\n return 65 <= e && e <= 90 ? e - 65 : 97 <= e && e <= 122 ? e - 97 + 26 : 48 <= e && e <= 57 ? e - 48 + 52 : 43 == e ? 62 : 47 == e ? 63 : -1;\n };\n },\n 216: function _(e, t) {\n function r(e, n, o, a, i, l) {\n var u = Math.floor((n - e) / 2) + e,\n s = i(o, a[u], !0);\n return 0 === s ? u : s > 0 ? n - u > 1 ? r(u, n, o, a, i, l) : l == t.LEAST_UPPER_BOUND ? n < a.length ? n : -1 : u : u - e > 1 ? r(e, u, o, a, i, l) : l == t.LEAST_UPPER_BOUND ? u : e < 0 ? -1 : e;\n }\n\n t.GREATEST_LOWER_BOUND = 1, t.LEAST_UPPER_BOUND = 2, t.search = function (e, n, o, a) {\n if (0 === n.length) return -1;\n var i = r(-1, n.length, e, n, o, a || t.GREATEST_LOWER_BOUND);\n if (i < 0) return -1;\n\n for (; i - 1 >= 0 && 0 === o(n[i], n[i - 1], !0);) {\n --i;\n }\n\n return i;\n };\n },\n 188: function _(e, t, r) {\n var n = r(728);\n\n function o() {\n this._array = [], this._sorted = !0, this._last = {\n generatedLine: -1,\n generatedColumn: 0\n };\n }\n\n o.prototype.unsortedForEach = function (e, t) {\n this._array.forEach(e, t);\n }, o.prototype.add = function (e) {\n var t, r, o, a, i, l;\n r = e, o = (t = this._last).generatedLine, a = r.generatedLine, i = t.generatedColumn, l = r.generatedColumn, a > o || a == o && l >= i || n.compareByGeneratedPositionsInflated(t, r) <= 0 ? (this._last = e, this._array.push(e)) : (this._sorted = !1, this._array.push(e));\n }, o.prototype.toArray = function () {\n return this._sorted || (this._array.sort(n.compareByGeneratedPositionsInflated), this._sorted = !0), this._array;\n }, t.H = o;\n },\n 826: function _(e, t) {\n function r(e, t, r) {\n var n = e[t];\n e[t] = e[r], e[r] = n;\n }\n\n function n(e, t, o, a) {\n if (o < a) {\n var i = o - 1;\n r(e, (c = o, f = a, Math.round(c + Math.random() * (f - c))), a);\n\n for (var l = e[a], u = o; u < a; u++) {\n t(e[u], l) <= 0 && r(e, i += 1, u);\n }\n\n r(e, i + 1, u);\n var s = i + 1;\n n(e, t, o, s - 1), n(e, t, s + 1, a);\n }\n\n var c, f;\n }\n\n t.U = function (e, t) {\n n(e, t, 0, e.length - 1);\n };\n },\n 771: function _(e, t, r) {\n var n = r(728),\n o = r(216),\n a = r(213).I,\n i = r(400),\n l = r(826).U;\n\n function u(e) {\n var t = e;\n return \"string\" == typeof e && (t = JSON.parse(e.replace(/^\\)\\]\\}'/, \"\"))), null != t.sections ? new f(t) : new s(t);\n }\n\n function s(e) {\n var t = e;\n \"string\" == typeof e && (t = JSON.parse(e.replace(/^\\)\\]\\}'/, \"\")));\n var r = n.getArg(t, \"version\"),\n o = n.getArg(t, \"sources\"),\n i = n.getArg(t, \"names\", []),\n l = n.getArg(t, \"sourceRoot\", null),\n u = n.getArg(t, \"sourcesContent\", null),\n s = n.getArg(t, \"mappings\"),\n c = n.getArg(t, \"file\", null);\n if (r != this._version) throw new Error(\"Unsupported version: \" + r);\n o = o.map(String).map(n.normalize).map(function (e) {\n return l && n.isAbsolute(l) && n.isAbsolute(e) ? n.relative(l, e) : e;\n }), this._names = a.fromArray(i.map(String), !0), this._sources = a.fromArray(o, !0), this.sourceRoot = l, this.sourcesContent = u, this._mappings = s, this.file = c;\n }\n\n function c() {\n this.generatedLine = 0, this.generatedColumn = 0, this.source = null, this.originalLine = null, this.originalColumn = null, this.name = null;\n }\n\n function f(e) {\n var t = e;\n \"string\" == typeof e && (t = JSON.parse(e.replace(/^\\)\\]\\}'/, \"\")));\n var r = n.getArg(t, \"version\"),\n o = n.getArg(t, \"sections\");\n if (r != this._version) throw new Error(\"Unsupported version: \" + r);\n this._sources = new a(), this._names = new a();\n var i = {\n line: -1,\n column: 0\n };\n this._sections = o.map(function (e) {\n if (e.url) throw new Error(\"Support for url field in sections not implemented.\");\n var t = n.getArg(e, \"offset\"),\n r = n.getArg(t, \"line\"),\n o = n.getArg(t, \"column\");\n if (r < i.line || r === i.line && o < i.column) throw new Error(\"Section offsets must be ordered and non-overlapping.\");\n return i = t, {\n generatedOffset: {\n generatedLine: r + 1,\n generatedColumn: o + 1\n },\n consumer: new u(n.getArg(e, \"map\"))\n };\n });\n }\n\n u.fromSourceMap = function (e) {\n return s.fromSourceMap(e);\n }, u.prototype._version = 3, u.prototype.__generatedMappings = null, Object.defineProperty(u.prototype, \"_generatedMappings\", {\n get: function get() {\n return this.__generatedMappings || this._parseMappings(this._mappings, this.sourceRoot), this.__generatedMappings;\n }\n }), u.prototype.__originalMappings = null, Object.defineProperty(u.prototype, \"_originalMappings\", {\n get: function get() {\n return this.__originalMappings || this._parseMappings(this._mappings, this.sourceRoot), this.__originalMappings;\n }\n }), u.prototype._charIsMappingSeparator = function (e, t) {\n var r = e.charAt(t);\n return \";\" === r || \",\" === r;\n }, u.prototype._parseMappings = function (e, t) {\n throw new Error(\"Subclasses must implement _parseMappings\");\n }, u.GENERATED_ORDER = 1, u.ORIGINAL_ORDER = 2, u.GREATEST_LOWER_BOUND = 1, u.LEAST_UPPER_BOUND = 2, u.prototype.eachMapping = function (e, t, r) {\n var o,\n a = t || null;\n\n switch (r || u.GENERATED_ORDER) {\n case u.GENERATED_ORDER:\n o = this._generatedMappings;\n break;\n\n case u.ORIGINAL_ORDER:\n o = this._originalMappings;\n break;\n\n default:\n throw new Error(\"Unknown order of iteration.\");\n }\n\n var i = this.sourceRoot;\n o.map(function (e) {\n var t = null === e.source ? null : this._sources.at(e.source);\n return null != t && null != i && (t = n.join(i, t)), {\n source: t,\n generatedLine: e.generatedLine,\n generatedColumn: e.generatedColumn,\n originalLine: e.originalLine,\n originalColumn: e.originalColumn,\n name: null === e.name ? null : this._names.at(e.name)\n };\n }, this).forEach(e, a);\n }, u.prototype.allGeneratedPositionsFor = function (e) {\n var t = n.getArg(e, \"line\"),\n r = {\n source: n.getArg(e, \"source\"),\n originalLine: t,\n originalColumn: n.getArg(e, \"column\", 0)\n };\n if (null != this.sourceRoot && (r.source = n.relative(this.sourceRoot, r.source)), !this._sources.has(r.source)) return [];\n r.source = this._sources.indexOf(r.source);\n\n var a = [],\n i = this._findMapping(r, this._originalMappings, \"originalLine\", \"originalColumn\", n.compareByOriginalPositions, o.LEAST_UPPER_BOUND);\n\n if (i >= 0) {\n var l = this._originalMappings[i];\n if (void 0 === e.column) for (var u = l.originalLine; l && l.originalLine === u;) {\n a.push({\n line: n.getArg(l, \"generatedLine\", null),\n column: n.getArg(l, \"generatedColumn\", null),\n lastColumn: n.getArg(l, \"lastGeneratedColumn\", null)\n }), l = this._originalMappings[++i];\n } else for (var s = l.originalColumn; l && l.originalLine === t && l.originalColumn == s;) {\n a.push({\n line: n.getArg(l, \"generatedLine\", null),\n column: n.getArg(l, \"generatedColumn\", null),\n lastColumn: n.getArg(l, \"lastGeneratedColumn\", null)\n }), l = this._originalMappings[++i];\n }\n }\n\n return a;\n }, t.SourceMapConsumer = u, s.prototype = Object.create(u.prototype), s.prototype.consumer = u, s.fromSourceMap = function (e) {\n var t = Object.create(s.prototype),\n r = t._names = a.fromArray(e._names.toArray(), !0),\n o = t._sources = a.fromArray(e._sources.toArray(), !0);\n t.sourceRoot = e._sourceRoot, t.sourcesContent = e._generateSourcesContent(t._sources.toArray(), t.sourceRoot), t.file = e._file;\n\n for (var i = e._mappings.toArray().slice(), u = t.__generatedMappings = [], f = t.__originalMappings = [], d = 0, p = i.length; d < p; d++) {\n var h = i[d],\n g = new c();\n g.generatedLine = h.generatedLine, g.generatedColumn = h.generatedColumn, h.source && (g.source = o.indexOf(h.source), g.originalLine = h.originalLine, g.originalColumn = h.originalColumn, h.name && (g.name = r.indexOf(h.name)), f.push(g)), u.push(g);\n }\n\n return l(t.__originalMappings, n.compareByOriginalPositions), t;\n }, s.prototype._version = 3, Object.defineProperty(s.prototype, \"sources\", {\n get: function get() {\n return this._sources.toArray().map(function (e) {\n return null != this.sourceRoot ? n.join(this.sourceRoot, e) : e;\n }, this);\n }\n }), s.prototype._parseMappings = function (e, t) {\n for (var r, o, a, u, s, f = 1, d = 0, p = 0, h = 0, g = 0, m = 0, v = e.length, y = 0, b = {}, w = {}, x = [], E = []; y < v;) {\n if (\";\" === e.charAt(y)) f++, y++, d = 0;else if (\",\" === e.charAt(y)) y++;else {\n for ((r = new c()).generatedLine = f, u = y; u < v && !this._charIsMappingSeparator(e, u); u++) {\n ;\n }\n\n if (a = b[o = e.slice(y, u)]) y += o.length;else {\n for (a = []; y < u;) {\n i.decode(e, y, w), s = w.value, y = w.rest, a.push(s);\n }\n\n if (2 === a.length) throw new Error(\"Found a source, but no line and column\");\n if (3 === a.length) throw new Error(\"Found a source and line, but no column\");\n b[o] = a;\n }\n r.generatedColumn = d + a[0], d = r.generatedColumn, a.length > 1 && (r.source = g + a[1], g += a[1], r.originalLine = p + a[2], p = r.originalLine, r.originalLine += 1, r.originalColumn = h + a[3], h = r.originalColumn, a.length > 4 && (r.name = m + a[4], m += a[4])), E.push(r), \"number\" == typeof r.originalLine && x.push(r);\n }\n }\n\n l(E, n.compareByGeneratedPositionsDeflated), this.__generatedMappings = E, l(x, n.compareByOriginalPositions), this.__originalMappings = x;\n }, s.prototype._findMapping = function (e, t, r, n, a, i) {\n if (e[r] <= 0) throw new TypeError(\"Line must be greater than or equal to 1, got \" + e[r]);\n if (e[n] < 0) throw new TypeError(\"Column must be greater than or equal to 0, got \" + e[n]);\n return o.search(e, t, a, i);\n }, s.prototype.computeColumnSpans = function () {\n for (var e = 0; e < this._generatedMappings.length; ++e) {\n var t = this._generatedMappings[e];\n\n if (e + 1 < this._generatedMappings.length) {\n var r = this._generatedMappings[e + 1];\n\n if (t.generatedLine === r.generatedLine) {\n t.lastGeneratedColumn = r.generatedColumn - 1;\n continue;\n }\n }\n\n t.lastGeneratedColumn = 1 / 0;\n }\n }, s.prototype.originalPositionFor = function (e) {\n var t = {\n generatedLine: n.getArg(e, \"line\"),\n generatedColumn: n.getArg(e, \"column\")\n },\n r = this._findMapping(t, this._generatedMappings, \"generatedLine\", \"generatedColumn\", n.compareByGeneratedPositionsDeflated, n.getArg(e, \"bias\", u.GREATEST_LOWER_BOUND));\n\n if (r >= 0) {\n var o = this._generatedMappings[r];\n\n if (o.generatedLine === t.generatedLine) {\n var a = n.getArg(o, \"source\", null);\n null !== a && (a = this._sources.at(a), null != this.sourceRoot && (a = n.join(this.sourceRoot, a)));\n var i = n.getArg(o, \"name\", null);\n return null !== i && (i = this._names.at(i)), {\n source: a,\n line: n.getArg(o, \"originalLine\", null),\n column: n.getArg(o, \"originalColumn\", null),\n name: i\n };\n }\n }\n\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n }, s.prototype.hasContentsOfAllSources = function () {\n return !!this.sourcesContent && this.sourcesContent.length >= this._sources.size() && !this.sourcesContent.some(function (e) {\n return null == e;\n });\n }, s.prototype.sourceContentFor = function (e, t) {\n if (!this.sourcesContent) return null;\n if (null != this.sourceRoot && (e = n.relative(this.sourceRoot, e)), this._sources.has(e)) return this.sourcesContent[this._sources.indexOf(e)];\n var r;\n\n if (null != this.sourceRoot && (r = n.urlParse(this.sourceRoot))) {\n var o = e.replace(/^file:\\/\\//, \"\");\n if (\"file\" == r.scheme && this._sources.has(o)) return this.sourcesContent[this._sources.indexOf(o)];\n if ((!r.path || \"/\" == r.path) && this._sources.has(\"/\" + e)) return this.sourcesContent[this._sources.indexOf(\"/\" + e)];\n }\n\n if (t) return null;\n throw new Error('\"' + e + '\" is not in the SourceMap.');\n }, s.prototype.generatedPositionFor = function (e) {\n var t = n.getArg(e, \"source\");\n if (null != this.sourceRoot && (t = n.relative(this.sourceRoot, t)), !this._sources.has(t)) return {\n line: null,\n column: null,\n lastColumn: null\n };\n\n var r = {\n source: t = this._sources.indexOf(t),\n originalLine: n.getArg(e, \"line\"),\n originalColumn: n.getArg(e, \"column\")\n },\n o = this._findMapping(r, this._originalMappings, \"originalLine\", \"originalColumn\", n.compareByOriginalPositions, n.getArg(e, \"bias\", u.GREATEST_LOWER_BOUND));\n\n if (o >= 0) {\n var a = this._originalMappings[o];\n if (a.source === r.source) return {\n line: n.getArg(a, \"generatedLine\", null),\n column: n.getArg(a, \"generatedColumn\", null),\n lastColumn: n.getArg(a, \"lastGeneratedColumn\", null)\n };\n }\n\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n }, f.prototype = Object.create(u.prototype), f.prototype.constructor = u, f.prototype._version = 3, Object.defineProperty(f.prototype, \"sources\", {\n get: function get() {\n for (var e = [], t = 0; t < this._sections.length; t++) {\n for (var r = 0; r < this._sections[t].consumer.sources.length; r++) {\n e.push(this._sections[t].consumer.sources[r]);\n }\n }\n\n return e;\n }\n }), f.prototype.originalPositionFor = function (e) {\n var t = {\n generatedLine: n.getArg(e, \"line\"),\n generatedColumn: n.getArg(e, \"column\")\n },\n r = o.search(t, this._sections, function (e, t) {\n return e.generatedLine - t.generatedOffset.generatedLine || e.generatedColumn - t.generatedOffset.generatedColumn;\n }),\n a = this._sections[r];\n return a ? a.consumer.originalPositionFor({\n line: t.generatedLine - (a.generatedOffset.generatedLine - 1),\n column: t.generatedColumn - (a.generatedOffset.generatedLine === t.generatedLine ? a.generatedOffset.generatedColumn - 1 : 0),\n bias: e.bias\n }) : {\n source: null,\n line: null,\n column: null,\n name: null\n };\n }, f.prototype.hasContentsOfAllSources = function () {\n return this._sections.every(function (e) {\n return e.consumer.hasContentsOfAllSources();\n });\n }, f.prototype.sourceContentFor = function (e, t) {\n for (var r = 0; r < this._sections.length; r++) {\n var n = this._sections[r].consumer.sourceContentFor(e, !0);\n\n if (n) return n;\n }\n\n if (t) return null;\n throw new Error('\"' + e + '\" is not in the SourceMap.');\n }, f.prototype.generatedPositionFor = function (e) {\n for (var t = 0; t < this._sections.length; t++) {\n var r = this._sections[t];\n\n if (-1 !== r.consumer.sources.indexOf(n.getArg(e, \"source\"))) {\n var o = r.consumer.generatedPositionFor(e);\n if (o) return {\n line: o.line + (r.generatedOffset.generatedLine - 1),\n column: o.column + (r.generatedOffset.generatedLine === o.line ? r.generatedOffset.generatedColumn - 1 : 0)\n };\n }\n }\n\n return {\n line: null,\n column: null\n };\n }, f.prototype._parseMappings = function (e, t) {\n this.__generatedMappings = [], this.__originalMappings = [];\n\n for (var r = 0; r < this._sections.length; r++) {\n for (var o = this._sections[r], a = o.consumer._generatedMappings, i = 0; i < a.length; i++) {\n var u = a[i],\n s = o.consumer._sources.at(u.source);\n\n null !== o.consumer.sourceRoot && (s = n.join(o.consumer.sourceRoot, s)), this._sources.add(s), s = this._sources.indexOf(s);\n\n var c = o.consumer._names.at(u.name);\n\n this._names.add(c), c = this._names.indexOf(c);\n var f = {\n source: s,\n generatedLine: u.generatedLine + (o.generatedOffset.generatedLine - 1),\n generatedColumn: u.generatedColumn + (o.generatedOffset.generatedLine === u.generatedLine ? o.generatedOffset.generatedColumn - 1 : 0),\n originalLine: u.originalLine,\n originalColumn: u.originalColumn,\n name: c\n };\n this.__generatedMappings.push(f), \"number\" == typeof f.originalLine && this.__originalMappings.push(f);\n }\n }\n\n l(this.__generatedMappings, n.compareByGeneratedPositionsDeflated), l(this.__originalMappings, n.compareByOriginalPositions);\n };\n },\n 433: function _(e, t, r) {\n var n = r(400),\n o = r(728),\n a = r(213).I,\n i = r(188).H;\n\n function l(e) {\n e || (e = {}), this._file = o.getArg(e, \"file\", null), this._sourceRoot = o.getArg(e, \"sourceRoot\", null), this._skipValidation = o.getArg(e, \"skipValidation\", !1), this._sources = new a(), this._names = new a(), this._mappings = new i(), this._sourcesContents = null;\n }\n\n l.prototype._version = 3, l.fromSourceMap = function (e) {\n var t = e.sourceRoot,\n r = new l({\n file: e.file,\n sourceRoot: t\n });\n return e.eachMapping(function (e) {\n var n = {\n generated: {\n line: e.generatedLine,\n column: e.generatedColumn\n }\n };\n null != e.source && (n.source = e.source, null != t && (n.source = o.relative(t, n.source)), n.original = {\n line: e.originalLine,\n column: e.originalColumn\n }, null != e.name && (n.name = e.name)), r.addMapping(n);\n }), e.sources.forEach(function (t) {\n var n = e.sourceContentFor(t);\n null != n && r.setSourceContent(t, n);\n }), r;\n }, l.prototype.addMapping = function (e) {\n var t = o.getArg(e, \"generated\"),\n r = o.getArg(e, \"original\", null),\n n = o.getArg(e, \"source\", null),\n a = o.getArg(e, \"name\", null);\n this._skipValidation || this._validateMapping(t, r, n, a), null != n && (n = String(n), this._sources.has(n) || this._sources.add(n)), null != a && (a = String(a), this._names.has(a) || this._names.add(a)), this._mappings.add({\n generatedLine: t.line,\n generatedColumn: t.column,\n originalLine: null != r && r.line,\n originalColumn: null != r && r.column,\n source: n,\n name: a\n });\n }, l.prototype.setSourceContent = function (e, t) {\n var r = e;\n null != this._sourceRoot && (r = o.relative(this._sourceRoot, r)), null != t ? (this._sourcesContents || (this._sourcesContents = Object.create(null)), this._sourcesContents[o.toSetString(r)] = t) : this._sourcesContents && (delete this._sourcesContents[o.toSetString(r)], 0 === Object.keys(this._sourcesContents).length && (this._sourcesContents = null));\n }, l.prototype.applySourceMap = function (e, t, r) {\n var n = t;\n\n if (null == t) {\n if (null == e.file) throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\\'s \"file\" property. Both were omitted.');\n n = e.file;\n }\n\n var i = this._sourceRoot;\n null != i && (n = o.relative(i, n));\n var l = new a(),\n u = new a();\n this._mappings.unsortedForEach(function (t) {\n if (t.source === n && null != t.originalLine) {\n var a = e.originalPositionFor({\n line: t.originalLine,\n column: t.originalColumn\n });\n null != a.source && (t.source = a.source, null != r && (t.source = o.join(r, t.source)), null != i && (t.source = o.relative(i, t.source)), t.originalLine = a.line, t.originalColumn = a.column, null != a.name && (t.name = a.name));\n }\n\n var s = t.source;\n null == s || l.has(s) || l.add(s);\n var c = t.name;\n null == c || u.has(c) || u.add(c);\n }, this), this._sources = l, this._names = u, e.sources.forEach(function (t) {\n var n = e.sourceContentFor(t);\n null != n && (null != r && (t = o.join(r, t)), null != i && (t = o.relative(i, t)), this.setSourceContent(t, n));\n }, this);\n }, l.prototype._validateMapping = function (e, t, r, n) {\n if (t && \"number\" != typeof t.line && \"number\" != typeof t.column) throw new Error(\"original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.\");\n if ((!(e && \"line\" in e && \"column\" in e && e.line > 0 && e.column >= 0) || t || r || n) && !(e && \"line\" in e && \"column\" in e && t && \"line\" in t && \"column\" in t && e.line > 0 && e.column >= 0 && t.line > 0 && t.column >= 0 && r)) throw new Error(\"Invalid mapping: \" + JSON.stringify({\n generated: e,\n source: r,\n original: t,\n name: n\n }));\n }, l.prototype._serializeMappings = function () {\n for (var e, t, r, a, i = 0, l = 1, u = 0, s = 0, c = 0, f = 0, d = \"\", p = this._mappings.toArray(), h = 0, g = p.length; h < g; h++) {\n if (e = \"\", (t = p[h]).generatedLine !== l) for (i = 0; t.generatedLine !== l;) {\n e += \";\", l++;\n } else if (h > 0) {\n if (!o.compareByGeneratedPositionsInflated(t, p[h - 1])) continue;\n e += \",\";\n }\n e += n.encode(t.generatedColumn - i), i = t.generatedColumn, null != t.source && (a = this._sources.indexOf(t.source), e += n.encode(a - f), f = a, e += n.encode(t.originalLine - 1 - s), s = t.originalLine - 1, e += n.encode(t.originalColumn - u), u = t.originalColumn, null != t.name && (r = this._names.indexOf(t.name), e += n.encode(r - c), c = r)), d += e;\n }\n\n return d;\n }, l.prototype._generateSourcesContent = function (e, t) {\n return e.map(function (e) {\n if (!this._sourcesContents) return null;\n null != t && (e = o.relative(t, e));\n var r = o.toSetString(e);\n return Object.prototype.hasOwnProperty.call(this._sourcesContents, r) ? this._sourcesContents[r] : null;\n }, this);\n }, l.prototype.toJSON = function () {\n var e = {\n version: this._version,\n sources: this._sources.toArray(),\n names: this._names.toArray(),\n mappings: this._serializeMappings()\n };\n return null != this._file && (e.file = this._file), null != this._sourceRoot && (e.sourceRoot = this._sourceRoot), this._sourcesContents && (e.sourcesContent = this._generateSourcesContent(e.sources, e.sourceRoot)), e;\n }, l.prototype.toString = function () {\n return JSON.stringify(this.toJSON());\n }, t.h = l;\n },\n 85: function _(e, t, r) {\n var n = r(433).h,\n o = r(728),\n a = /(\\r?\\n)/,\n i = \"$$$isSourceNode$$$\";\n\n function l(e, t, r, n, o) {\n this.children = [], this.sourceContents = {}, this.line = null == e ? null : e, this.column = null == t ? null : t, this.source = null == r ? null : r, this.name = null == o ? null : o, this[i] = !0, null != n && this.add(n);\n }\n\n l.fromStringWithSourceMap = function (e, t, r) {\n var n = new l(),\n i = e.split(a),\n u = 0,\n s = function s() {\n return e() + (e() || \"\");\n\n function e() {\n return u < i.length ? i[u++] : void 0;\n }\n },\n c = 1,\n f = 0,\n d = null;\n\n return t.eachMapping(function (e) {\n if (null !== d) {\n if (!(c < e.generatedLine)) {\n var t = (r = i[u]).substr(0, e.generatedColumn - f);\n return i[u] = r.substr(e.generatedColumn - f), f = e.generatedColumn, p(d, t), void (d = e);\n }\n\n p(d, s()), c++, f = 0;\n }\n\n for (; c < e.generatedLine;) {\n n.add(s()), c++;\n }\n\n if (f < e.generatedColumn) {\n var r = i[u];\n n.add(r.substr(0, e.generatedColumn)), i[u] = r.substr(e.generatedColumn), f = e.generatedColumn;\n }\n\n d = e;\n }, this), u < i.length && (d && p(d, s()), n.add(i.splice(u).join(\"\"))), t.sources.forEach(function (e) {\n var a = t.sourceContentFor(e);\n null != a && (null != r && (e = o.join(r, e)), n.setSourceContent(e, a));\n }), n;\n\n function p(e, t) {\n if (null === e || void 0 === e.source) n.add(t);else {\n var a = r ? o.join(r, e.source) : e.source;\n n.add(new l(e.originalLine, e.originalColumn, a, t, e.name));\n }\n }\n }, l.prototype.add = function (e) {\n if (Array.isArray(e)) e.forEach(function (e) {\n this.add(e);\n }, this);else {\n if (!e[i] && \"string\" != typeof e) throw new TypeError(\"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + e);\n e && this.children.push(e);\n }\n return this;\n }, l.prototype.prepend = function (e) {\n if (Array.isArray(e)) for (var t = e.length - 1; t >= 0; t--) {\n this.prepend(e[t]);\n } else {\n if (!e[i] && \"string\" != typeof e) throw new TypeError(\"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + e);\n this.children.unshift(e);\n }\n return this;\n }, l.prototype.walk = function (e) {\n for (var t, r = 0, n = this.children.length; r < n; r++) {\n (t = this.children[r])[i] ? t.walk(e) : \"\" !== t && e(t, {\n source: this.source,\n line: this.line,\n column: this.column,\n name: this.name\n });\n }\n }, l.prototype.join = function (e) {\n var t,\n r,\n n = this.children.length;\n\n if (n > 0) {\n for (t = [], r = 0; r < n - 1; r++) {\n t.push(this.children[r]), t.push(e);\n }\n\n t.push(this.children[r]), this.children = t;\n }\n\n return this;\n }, l.prototype.replaceRight = function (e, t) {\n var r = this.children[this.children.length - 1];\n return r[i] ? r.replaceRight(e, t) : \"string\" == typeof r ? this.children[this.children.length - 1] = r.replace(e, t) : this.children.push(\"\".replace(e, t)), this;\n }, l.prototype.setSourceContent = function (e, t) {\n this.sourceContents[o.toSetString(e)] = t;\n }, l.prototype.walkSourceContents = function (e) {\n for (var t = 0, r = this.children.length; t < r; t++) {\n this.children[t][i] && this.children[t].walkSourceContents(e);\n }\n\n var n = Object.keys(this.sourceContents);\n\n for (t = 0, r = n.length; t < r; t++) {\n e(o.fromSetString(n[t]), this.sourceContents[n[t]]);\n }\n }, l.prototype.toString = function () {\n var e = \"\";\n return this.walk(function (t) {\n e += t;\n }), e;\n }, l.prototype.toStringWithSourceMap = function (e) {\n var t = {\n code: \"\",\n line: 1,\n column: 0\n },\n r = new n(e),\n o = !1,\n a = null,\n i = null,\n l = null,\n u = null;\n return this.walk(function (e, n) {\n t.code += e, null !== n.source && null !== n.line && null !== n.column ? (a === n.source && i === n.line && l === n.column && u === n.name || r.addMapping({\n source: n.source,\n original: {\n line: n.line,\n column: n.column\n },\n generated: {\n line: t.line,\n column: t.column\n },\n name: n.name\n }), a = n.source, i = n.line, l = n.column, u = n.name, o = !0) : o && (r.addMapping({\n generated: {\n line: t.line,\n column: t.column\n }\n }), a = null, o = !1);\n\n for (var s = 0, c = e.length; s < c; s++) {\n 10 === e.charCodeAt(s) ? (t.line++, t.column = 0, s + 1 === c ? (a = null, o = !1) : o && r.addMapping({\n source: n.source,\n original: {\n line: n.line,\n column: n.column\n },\n generated: {\n line: t.line,\n column: t.column\n },\n name: n.name\n })) : t.column++;\n }\n }), this.walkSourceContents(function (e, t) {\n r.setSourceContent(e, t);\n }), {\n code: t.code,\n map: r\n };\n };\n },\n 728: function _(e, t) {\n t.getArg = function (e, t, r) {\n if (t in e) return e[t];\n if (3 === arguments.length) return r;\n throw new Error('\"' + t + '\" is a required argument.');\n };\n\n var r = /^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.]*)(?::(\\d+))?(\\S*)$/,\n n = /^data:.+\\,.+$/;\n\n function o(e) {\n var t = e.match(r);\n return t ? {\n scheme: t[1],\n auth: t[2],\n host: t[3],\n port: t[4],\n path: t[5]\n } : null;\n }\n\n function a(e) {\n var t = \"\";\n return e.scheme && (t += e.scheme + \":\"), t += \"//\", e.auth && (t += e.auth + \"@\"), e.host && (t += e.host), e.port && (t += \":\" + e.port), e.path && (t += e.path), t;\n }\n\n function i(e) {\n var r = e,\n n = o(e);\n\n if (n) {\n if (!n.path) return e;\n r = n.path;\n }\n\n for (var i, l = t.isAbsolute(r), u = r.split(/\\/+/), s = 0, c = u.length - 1; c >= 0; c--) {\n \".\" === (i = u[c]) ? u.splice(c, 1) : \"..\" === i ? s++ : s > 0 && (\"\" === i ? (u.splice(c + 1, s), s = 0) : (u.splice(c, 2), s--));\n }\n\n return \"\" === (r = u.join(\"/\")) && (r = l ? \"/\" : \".\"), n ? (n.path = r, a(n)) : r;\n }\n\n t.urlParse = o, t.urlGenerate = a, t.normalize = i, t.join = function (e, t) {\n \"\" === e && (e = \".\"), \"\" === t && (t = \".\");\n var r = o(t),\n l = o(e);\n if (l && (e = l.path || \"/\"), r && !r.scheme) return l && (r.scheme = l.scheme), a(r);\n if (r || t.match(n)) return t;\n if (l && !l.host && !l.path) return l.host = t, a(l);\n var u = \"/\" === t.charAt(0) ? t : i(e.replace(/\\/+$/, \"\") + \"/\" + t);\n return l ? (l.path = u, a(l)) : u;\n }, t.isAbsolute = function (e) {\n return \"/\" === e.charAt(0) || !!e.match(r);\n }, t.relative = function (e, t) {\n \"\" === e && (e = \".\"), e = e.replace(/\\/$/, \"\");\n\n for (var r = 0; 0 !== t.indexOf(e + \"/\");) {\n var n = e.lastIndexOf(\"/\");\n if (n < 0) return t;\n if ((e = e.slice(0, n)).match(/^([^\\/]+:\\/)?\\/*$/)) return t;\n ++r;\n }\n\n return Array(r + 1).join(\"../\") + t.substr(e.length + 1);\n };\n var l = !(\"__proto__\" in Object.create(null));\n\n function u(e) {\n return e;\n }\n\n function s(e) {\n if (!e) return !1;\n var t = e.length;\n if (t < 9) return !1;\n if (95 !== e.charCodeAt(t - 1) || 95 !== e.charCodeAt(t - 2) || 111 !== e.charCodeAt(t - 3) || 116 !== e.charCodeAt(t - 4) || 111 !== e.charCodeAt(t - 5) || 114 !== e.charCodeAt(t - 6) || 112 !== e.charCodeAt(t - 7) || 95 !== e.charCodeAt(t - 8) || 95 !== e.charCodeAt(t - 9)) return !1;\n\n for (var r = t - 10; r >= 0; r--) {\n if (36 !== e.charCodeAt(r)) return !1;\n }\n\n return !0;\n }\n\n function c(e, t) {\n return e === t ? 0 : e > t ? 1 : -1;\n }\n\n t.toSetString = l ? u : function (e) {\n return s(e) ? \"$\" + e : e;\n }, t.fromSetString = l ? u : function (e) {\n return s(e) ? e.slice(1) : e;\n }, t.compareByOriginalPositions = function (e, t, r) {\n var n = e.source - t.source;\n return 0 !== n || 0 != (n = e.originalLine - t.originalLine) || 0 != (n = e.originalColumn - t.originalColumn) || r || 0 != (n = e.generatedColumn - t.generatedColumn) || 0 != (n = e.generatedLine - t.generatedLine) ? n : e.name - t.name;\n }, t.compareByGeneratedPositionsDeflated = function (e, t, r) {\n var n = e.generatedLine - t.generatedLine;\n return 0 !== n || 0 != (n = e.generatedColumn - t.generatedColumn) || r || 0 != (n = e.source - t.source) || 0 != (n = e.originalLine - t.originalLine) || 0 != (n = e.originalColumn - t.originalColumn) ? n : e.name - t.name;\n }, t.compareByGeneratedPositionsInflated = function (e, t) {\n var r = e.generatedLine - t.generatedLine;\n return 0 !== r || 0 != (r = e.generatedColumn - t.generatedColumn) || 0 !== (r = c(e.source, t.source)) || 0 != (r = e.originalLine - t.originalLine) || 0 != (r = e.originalColumn - t.originalColumn) ? r : c(e.name, t.name);\n };\n },\n 125: function _(e, t, r) {\n r(433).h, t.SourceMapConsumer = r(771).SourceMapConsumer, r(85);\n },\n 538: function _() {}\n },\n t = {};\n\n function r(n) {\n var o = t[n];\n if (void 0 !== o) return o.exports;\n var a = t[n] = {\n exports: {}\n };\n return e[n](a, a.exports, r), a.exports;\n }\n\n r.n = function (e) {\n var t = e && e.__esModule ? function () {\n return e.default;\n } : function () {\n return e;\n };\n return r.d(t, {\n a: t\n }), t;\n }, r.d = function (e, t) {\n for (var n in t) {\n r.o(t, n) && !r.o(e, n) && Object.defineProperty(e, n, {\n enumerable: !0,\n get: t[n]\n });\n }\n }, r.o = function (e, t) {\n return Object.prototype.hasOwnProperty.call(e, t);\n }, r.r = function (e) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {\n value: \"Module\"\n }), Object.defineProperty(e, \"__esModule\", {\n value: !0\n });\n };\n var n = {};\n return function () {\n \"use strict\";\n\n r.r(n), r.d(n, {\n dismissBuildError: function dismissBuildError() {\n return he;\n },\n dismissRuntimeErrors: function dismissRuntimeErrors() {\n return ve;\n },\n reportBuildError: function reportBuildError() {\n return de;\n },\n reportRuntimeError: function reportRuntimeError() {\n return pe;\n },\n setEditorHandler: function setEditorHandler() {\n return fe;\n },\n startReportingRuntimeErrors: function startReportingRuntimeErrors() {\n return ge;\n },\n stopReportingRuntimeErrors: function stopReportingRuntimeErrors() {\n return ye;\n }\n });\n var e = null;\n\n function t(e, t) {\n if (t.error) {\n var r = t.error;\n r instanceof Error ? e(r) : e(new Error(r));\n }\n }\n\n function o(r, n) {\n null === e && (e = t.bind(void 0, n), r.addEventListener(\"error\", e));\n }\n\n function a(t) {\n null !== e && (t.removeEventListener(\"error\", e), e = null);\n }\n\n var i = null;\n\n function l(e, t) {\n if (null == t || null == t.reason) return e(new Error(\"Unknown\"));\n var r = t.reason;\n return r instanceof Error ? e(r) : e(new Error(r));\n }\n\n function u(e, t) {\n null === i && (i = l.bind(void 0, t), e.addEventListener(\"unhandledrejection\", i));\n }\n\n function s(e) {\n null !== i && (e.removeEventListener(\"unhandledrejection\", i), i = null);\n }\n\n var c = !1,\n f = 10;\n\n function d() {\n var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 50;\n if (!c) try {\n f = Error.stackTraceLimit, Error.stackTraceLimit = e, c = !0;\n } catch (e) {}\n }\n\n function p() {\n if (c) try {\n Error.stackTraceLimit = f, c = !1;\n } catch (e) {}\n }\n\n var h = [],\n g = function g() {\n \"undefined\" != typeof console && (console.reactStack = function (e) {\n return h.push(e);\n }, console.reactStackEnd = function (e) {\n return h.pop();\n });\n },\n m = function m() {\n \"undefined\" != typeof console && (console.reactStack = void 0, console.reactStackEnd = void 0);\n },\n v = function v(e, t) {\n if (\"undefined\" != typeof console) {\n var r = console[e];\n \"function\" == typeof r && (console[e] = function () {\n try {\n var e = arguments[0];\n \"string\" == typeof e && h.length > 0 && t(e, h[h.length - 1]);\n } catch (e) {\n setTimeout(function () {\n throw e;\n });\n }\n\n return r.apply(this, arguments);\n });\n }\n };\n\n function y(e, t) {\n for (var r, n, o = function (e) {\n return e.split(\"\\n\").filter(function (e) {\n return !e.match(/^\\s*in/);\n }).join(\"\\n\");\n }(e), a = \"\", i = 0; i < t.length; ++i) {\n var l = t[i],\n u = l.fileName,\n s = l.lineNumber;\n\n if (null != u && null != s && !(u === r && \"number\" == typeof s && \"number\" == typeof n && Math.abs(s - n) < 3)) {\n r = u, n = s;\n var c = t[i].name;\n a += \"in \".concat(c = c || \"(anonymous function)\", \" (at \").concat(u, \":\").concat(s, \")\\n\");\n }\n }\n\n return {\n message: o,\n stack: a\n };\n }\n\n function b(e, t) {\n return b = Object.setPrototypeOf || function (e, t) {\n return e.__proto__ = t, e;\n }, b(e, t);\n }\n\n function w() {\n if (\"undefined\" == typeof Reflect || !Reflect.construct) return !1;\n if (Reflect.construct.sham) return !1;\n if (\"function\" == typeof Proxy) return !0;\n\n try {\n return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;\n } catch (e) {\n return !1;\n }\n }\n\n function x(e, t, r) {\n return x = w() ? Reflect.construct : function (e, t, r) {\n var n = [null];\n n.push.apply(n, t);\n var o = new (Function.bind.apply(e, n))();\n return r && b(o, r.prototype), o;\n }, x.apply(null, arguments);\n }\n\n function E(e, t) {\n (null == t || t > e.length) && (t = e.length);\n\n for (var r = 0, n = new Array(t); r < t; r++) {\n n[r] = e[r];\n }\n\n return n;\n }\n\n function k(e) {\n return function (e) {\n if (Array.isArray(e)) return E(e);\n }(e) || function (e) {\n if (\"undefined\" != typeof Symbol && null != e[Symbol.iterator] || null != e[\"@@iterator\"]) return Array.from(e);\n }(e) || function (e, t) {\n if (e) {\n if (\"string\" == typeof e) return E(e, t);\n var r = Object.prototype.toString.call(e).slice(8, -1);\n return \"Object\" === r && e.constructor && (r = e.constructor.name), \"Map\" === r || \"Set\" === r ? Array.from(e) : \"Arguments\" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? E(e, t) : void 0;\n }\n }(e) || function () {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }();\n }\n\n function S(e, t) {\n for (var r = 0; r < t.length; r++) {\n var n = t[r];\n n.enumerable = n.enumerable || !1, n.configurable = !0, \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\n }\n }\n\n function _(e, t, r) {\n return t && S(e.prototype, t), r && S(e, r), e;\n }\n\n function C(e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n }\n\n var O = function e(t, r) {\n var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2];\n C(this, e), this.lineNumber = t, this.content = r, this.highlight = n;\n },\n T = function () {\n function e() {\n var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null,\n r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null,\n n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null,\n o = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : null,\n a = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : null,\n i = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : null,\n l = arguments.length > 6 && void 0 !== arguments[6] ? arguments[6] : null,\n u = arguments.length > 7 && void 0 !== arguments[7] ? arguments[7] : null,\n s = arguments.length > 8 && void 0 !== arguments[8] ? arguments[8] : null,\n c = arguments.length > 9 && void 0 !== arguments[9] ? arguments[9] : null;\n C(this, e), t && 0 === t.indexOf(\"Object.\") && (t = t.slice(\"Object.\".length)), \"friendlySyntaxErrorLabel\" !== t && \"exports.__esModule\" !== t && \"<anonymous>\" !== t && t || (t = null), this.functionName = t, this.fileName = r, this.lineNumber = n, this.columnNumber = o, this._originalFunctionName = i, this._originalFileName = l, this._originalLineNumber = u, this._originalColumnNumber = s, this._scriptCode = a, this._originalScriptCode = c;\n }\n\n return _(e, [{\n key: \"getFunctionName\",\n value: function value() {\n return this.functionName || \"(anonymous function)\";\n }\n }, {\n key: \"getSource\",\n value: function value() {\n var e = \"\";\n return null != this.fileName && (e += this.fileName + \":\"), null != this.lineNumber && (e += this.lineNumber + \":\"), null != this.columnNumber && (e += this.columnNumber + \":\"), e.slice(0, -1);\n }\n }, {\n key: \"toString\",\n value: function value() {\n var e = this.getFunctionName(),\n t = this.getSource();\n return \"\".concat(e).concat(t ? \" (\".concat(t, \")\") : \"\");\n }\n }]), e;\n }();\n\n var R = T;\n var L = /\\(?(.+?)(?::(\\d+))?(?::(\\d+))?\\)?$/;\n\n function A(e) {\n return L.exec(e).slice(1).map(function (e) {\n var t = Number(e);\n return isNaN(t) ? e : t;\n });\n }\n\n var P = /^\\s*(at|in)\\s.+(:\\d+)/,\n N = /(^|@)\\S+:\\d+|.+line\\s+\\d+\\s+>\\s+(eval|Function).+/;\n\n function q(e) {\n return e.filter(function (e) {\n return P.test(e) || N.test(e);\n }).map(function (e) {\n if (N.test(e)) {\n var t = !1;\n / > (eval|Function)/.test(e) && (e = e.replace(/ line (\\d+)(?: > eval line \\d+)* > (eval|Function):\\d+:\\d+/g, \":$1\"), t = !0);\n var r = e.split(/[@]/g),\n n = r.pop();\n return x(R, [r.join(\"@\") || (t ? \"eval\" : null)].concat(k(A(n))));\n }\n\n -1 !== e.indexOf(\"(eval \") && (e = e.replace(/(\\(eval at [^()]*)|(\\),.*$)/g, \"\")), -1 !== e.indexOf(\"(at \") && (e = e.replace(/\\(at /, \"(\"));\n var o = e.trim().split(/\\s+/g).slice(1),\n a = o.pop();\n return x(R, [o.join(\" \") || null].concat(k(A(a))));\n });\n }\n\n function M(e) {\n if (null == e) throw new Error(\"You cannot pass a null object.\");\n if (\"string\" == typeof e) return q(e.split(\"\\n\"));\n if (Array.isArray(e)) return q(e);\n if (\"string\" == typeof e.stack) return q(e.stack.split(\"\\n\"));\n throw new Error(\"The error you provided does not contain a stack trace.\");\n }\n\n function D(e, t, r, n, o, a, i) {\n try {\n var l = e[a](i),\n u = l.value;\n } catch (e) {\n return void r(e);\n }\n\n l.done ? t(u) : Promise.resolve(u).then(n, o);\n }\n\n function I(e) {\n return function () {\n var t = this,\n r = arguments;\n return new Promise(function (n, o) {\n var a = e.apply(t, r);\n\n function i(e) {\n D(a, n, o, i, l, \"next\", e);\n }\n\n function l(e) {\n D(a, n, o, i, l, \"throw\", e);\n }\n\n i(void 0);\n });\n };\n }\n\n var j = r(162),\n F = r.n(j),\n z = r(125),\n U = function () {\n function e(t) {\n C(this, e), this.__source_map = t;\n }\n\n return _(e, [{\n key: \"getOriginalPosition\",\n value: function value(e, t) {\n var r = this.__source_map.originalPositionFor({\n line: e,\n column: t\n });\n\n return {\n line: r.line,\n column: r.column,\n source: r.source\n };\n }\n }, {\n key: \"getGeneratedPosition\",\n value: function value(e, t, r) {\n var n = this.__source_map.generatedPositionFor({\n source: e,\n line: t,\n column: r\n });\n\n return {\n line: n.line,\n column: n.column\n };\n }\n }, {\n key: \"getSource\",\n value: function value(e) {\n return this.__source_map.sourceContentFor(e);\n }\n }, {\n key: \"getSources\",\n value: function value() {\n return this.__source_map.sources;\n }\n }]), e;\n }();\n\n function B(e, t) {\n for (var r = /\\/\\/[#@] ?sourceMappingURL=([^\\s'\"]+)\\s*$/gm, n = null;;) {\n var o = r.exec(t);\n if (null == o) break;\n n = o;\n }\n\n return n && n[1] ? Promise.resolve(n[1].toString()) : Promise.reject(\"Cannot find a source map directive for \".concat(e, \".\"));\n }\n\n function H(e, t) {\n return V.apply(this, arguments);\n }\n\n function V() {\n return (V = I(F().mark(function e(t, r) {\n var n, o, a, i, l, u;\n return F().wrap(function (e) {\n for (;;) {\n switch (e.prev = e.next) {\n case 0:\n return e.next = 2, B(t, r);\n\n case 2:\n if (0 !== (n = e.sent).indexOf(\"data:\")) {\n e.next = 14;\n break;\n }\n\n if (o = /^data:application\\/json;([\\w=:\"-]+;)*base64,/, a = n.match(o)) {\n e.next = 8;\n break;\n }\n\n throw new Error(\"Sorry, non-base64 inline source-map encoding is not supported.\");\n\n case 8:\n return n = n.substring(a[0].length), n = window.atob(n), n = JSON.parse(n), e.abrupt(\"return\", new U(new z.SourceMapConsumer(n)));\n\n case 14:\n return i = t.lastIndexOf(\"/\"), l = t.substring(0, i + 1) + n, e.next = 18, fetch(l).then(function (e) {\n return e.json();\n });\n\n case 18:\n return u = e.sent, e.abrupt(\"return\", new U(new z.SourceMapConsumer(u)));\n\n case 20:\n case \"end\":\n return e.stop();\n }\n }\n }, e);\n }))).apply(this, arguments);\n }\n\n function G(e, t, r) {\n \"string\" == typeof r && (r = r.split(\"\\n\"));\n\n for (var n = [], o = Math.max(0, e - 1 - t); o <= Math.min(r.length - 1, e - 1 + t); ++o) {\n n.push(new O(o + 1, r[o], o === e - 1));\n }\n\n return n;\n }\n\n var Y = r(268);\n\n function W(e) {\n return $.apply(this, arguments);\n }\n\n function $() {\n return $ = I(F().mark(function e(t) {\n var r,\n n,\n o,\n a = arguments;\n return F().wrap(function (e) {\n for (;;) {\n switch (e.prev = e.next) {\n case 0:\n return r = a.length > 1 && void 0 !== a[1] ? a[1] : 3, n = {}, o = [], t.forEach(function (e) {\n var t = e.fileName;\n null != t && -1 === o.indexOf(t) && o.push(t);\n }), e.next = 6, (0, Y.Wo)(o.map(function () {\n var e = I(F().mark(function e(t) {\n var r, o, a;\n return F().wrap(function (e) {\n for (;;) {\n switch (e.prev = e.next) {\n case 0:\n return r = 0 === t.indexOf(\"webpack-internal:\") ? \"/__get-internal-source?fileName=\".concat(encodeURIComponent(t)) : t, e.next = 3, fetch(r).then(function (e) {\n return e.text();\n });\n\n case 3:\n return o = e.sent, e.next = 6, H(t, o);\n\n case 6:\n a = e.sent, n[t] = {\n fileSource: o,\n map: a\n };\n\n case 8:\n case \"end\":\n return e.stop();\n }\n }\n }, e);\n }));\n return function (t) {\n return e.apply(this, arguments);\n };\n }()));\n\n case 6:\n return e.abrupt(\"return\", t.map(function (e) {\n var t = e.functionName,\n o = e.fileName,\n a = e.lineNumber,\n i = e.columnNumber,\n l = n[o] || {},\n u = l.map,\n s = l.fileSource;\n if (null == u || null == a) return e;\n var c = u.getOriginalPosition(a, i),\n f = c.source,\n d = c.line,\n p = c.column,\n h = null == f ? [] : u.getSource(f);\n return new R(t, o, a, i, G(a, r, s), t, f, d, p, G(d, r, h));\n }));\n\n case 7:\n case \"end\":\n return e.stop();\n }\n }\n }, e);\n })), $.apply(this, arguments);\n }\n\n var Q = r(538),\n J = r.n(Q);\n\n function K(e, t) {\n var r = -1,\n n = -1;\n\n do {\n ++r, n = t.indexOf(e, n + 1);\n } while (-1 !== n);\n\n return r;\n }\n\n function X(e, t) {\n return Z.apply(this, arguments);\n }\n\n function Z() {\n return Z = I(F().mark(function e(t, r) {\n var n,\n o,\n a,\n i,\n l = arguments;\n return F().wrap(function (e) {\n for (;;) {\n switch (e.prev = e.next) {\n case 0:\n if (n = l.length > 2 && void 0 !== l[2] ? l[2] : 3, o = \"object\" == typeof t ? t.contents : null, a = \"object\" == typeof t ? t.uri : t, null != o) {\n e.next = 7;\n break;\n }\n\n return e.next = 6, fetch(a).then(function (e) {\n return e.text();\n });\n\n case 6:\n o = e.sent;\n\n case 7:\n return e.next = 9, H(a, o);\n\n case 9:\n return i = e.sent, e.abrupt(\"return\", r.map(function (e) {\n var t = e.functionName,\n r = e.lineNumber,\n l = e.columnNumber;\n if (null != e._originalLineNumber) return e;\n var u = e.fileName;\n if (u && (u = J().normalize(u.replace(/[\\\\]+/g, \"/\"))), null == u) return e;\n var s = u,\n c = i.getSources().map(function (e) {\n return e.replace(/[\\\\]+/g, \"/\");\n }).filter(function (e) {\n var t = (e = J().normalize(e)).lastIndexOf(s);\n return -1 !== t && t === e.length - s.length;\n }).map(function (e) {\n return {\n token: e,\n seps: K(J().sep, J().normalize(e)),\n penalties: K(\"node_modules\", e) + K(\"~\", e)\n };\n }).sort(function (e, t) {\n var r = Math.sign(e.seps - t.seps);\n return 0 !== r ? r : Math.sign(e.penalties - t.penalties);\n });\n if (c.length < 1 || null == r) return new R(null, null, null, null, null, t, s, r, l, null);\n var f = c[0].token,\n d = i.getGeneratedPosition(f, r, l),\n p = d.line,\n h = d.column,\n g = i.getSource(f);\n return new R(t, a, p, h || null, G(p, n, o || []), t, s, r, l, G(r, n, g));\n }));\n\n case 11:\n case \"end\":\n return e.stop();\n }\n }\n }, e);\n })), Z.apply(this, arguments);\n }\n\n var ee = function ee(e) {\n var t = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 3,\n r = M(e);\n return (e.__unmap_source ? X(e.__unmap_source, r, t) : W(r, t)).then(function (e) {\n return 0 === e.map(function (e) {\n return e._originalFileName;\n }).filter(function (e) {\n return null != e && -1 === e.indexOf(\"node_modules\");\n }).length ? null : e.filter(function (e) {\n var t = e.functionName;\n return null == t || -1 === t.indexOf(\"__stack_frame_overlay_proxy_console__\");\n });\n });\n };\n\n var te = function te(e) {\n return function (t) {\n var r = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];\n ee(t, r, 3).then(function (n) {\n null != n && e({\n error: t,\n unhandledRejection: r,\n contextSize: 3,\n stackFrames: n\n });\n }).catch(function (e) {\n console.log(\"Could not get the stack frames of error:\", e);\n });\n };\n },\n re = {\n position: \"fixed\",\n top: \"0\",\n left: \"0\",\n width: \"100%\",\n height: \"100%\",\n border: \"none\",\n \"z-index\": 2147483647\n },\n ne = null,\n oe = !1,\n ae = !1,\n ie = null,\n le = null,\n ue = [],\n se = null,\n ce = null;\n\n function fe(e) {\n ie = e, ne && be();\n }\n\n function de(e) {\n le = e, be();\n }\n\n function pe(e) {\n var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\n se = t, te(me(t))(e);\n }\n\n function he() {\n le = null, be();\n }\n\n function ge(e) {\n if (null !== ce) throw new Error(\"Already listening\");\n e.launchEditorEndpoint && console.warn(\"Warning: `startReportingRuntimeErrors` doesn’t accept `launchEditorEndpoint` argument anymore. Use `listenToOpenInEditor` instead with your own implementation to open errors in editor \"), se = e, ce = function (e) {\n var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : \"/static/js/bundle.js\",\n r = te(e);\n return o(window, function (e) {\n return r(e, !1);\n }), u(window, function (e) {\n return r(e, !0);\n }), d(), g(), v(\"error\", function (e, n) {\n var o = y(e, n);\n r({\n message: o.message,\n stack: o.stack,\n __unmap_source: t\n }, !1);\n }), function () {\n p(), s(window), a(window), m();\n };\n }(me(e), e.filename);\n }\n\n var me = function me(e) {\n return function (t) {\n try {\n \"function\" == typeof e.onError && e.onError.call(null);\n } finally {\n if (ue.some(function (e) {\n return e.error === t.error;\n })) return;\n ue = ue.concat([t]), be();\n }\n };\n };\n\n function ve() {\n ue = [], be();\n }\n\n function ye() {\n if (null === ce) throw new Error(\"Not currently listening\");\n se = null;\n\n try {\n ce();\n } finally {\n ce = null;\n }\n }\n\n function be() {\n if (!oe) if (ae) we();else {\n oe = !0;\n var e = window.document.createElement(\"iframe\");\n !function (e, t) {\n for (var r in e.setAttribute(\"style\", \"\"), t) {\n t.hasOwnProperty(r) && (e.style[r] = t[r]);\n }\n }(e, re), e.onload = function () {\n var t = e.contentDocument;\n\n if (null != t && null != t.body) {\n ne = e;\n var r = e.contentWindow.document.createElement(\"script\");\n r.type = \"text/javascript\", r.innerHTML = \"/*! For license information please see iframe-bundle.js.LICENSE.txt */\\n(()=>{var e={5270:e=>{e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n},e.exports.default=e.exports,e.exports.__esModule=!0},3041:(e,t,r)=>{var n=r(6487);e.exports=function(e,t){var r=\\\"undefined\\\"!==typeof Symbol&&e[Symbol.iterator]||e[\\\"@@iterator\\\"];if(!r){if(Array.isArray(e)||(r=n(e))||t&&e&&\\\"number\\\"===typeof e.length){r&&(e=r);var o=0,a=function(){};return{s:a,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:a}}throw new TypeError(\\\"Invalid attempt to iterate non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\\\")}var i,l=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return l=e.done,e},e:function(e){u=!0,i=e},f:function(){try{l||null==r.return||r.return()}finally{if(u)throw i}}}},e.exports.default=e.exports,e.exports.__esModule=!0},6487:(e,t,r)=>{var n=r(5270);e.exports=function(e,t){if(e){if(\\\"string\\\"===typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return\\\"Object\\\"===r&&e.constructor&&(r=e.constructor.name),\\\"Map\\\"===r||\\\"Set\\\"===r?Array.from(e):\\\"Arguments\\\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}},e.exports.default=e.exports,e.exports.__esModule=!0},7162:(e,t,r)=>{e.exports=r(2205)},8641:(e,t,r)=>{\\\"use strict\\\";t.rf=u;var n=r(8048),o=!1;function a(e){return{gutter:e.grey,marker:e.red.bold,message:e.red.bold}}var i=/\\\\r\\\\n|[\\\\n\\\\r\\\\u2028\\\\u2029]/;function l(e,t,r){var n=Object.assign({column:0,line:-1},e.start),o=Object.assign({},n,e.end),a=r||{},i=a.linesAbove,l=void 0===i?2:i,u=a.linesBelow,s=void 0===u?3:u,c=n.line,f=n.column,d=o.line,p=o.column,h=Math.max(c-(l+1),0),g=Math.min(t.length,d+s);-1===c&&(h=0),-1===d&&(g=t.length);var m=d-c,v={};if(m)for(var y=0;y<=m;y++){var b=y+c;if(f)if(0===y){var w=t[b-1].length;v[b]=[f,w-f+1]}else if(y===m)v[b]=[0,p];else{var x=t[b-y].length;v[b]=[0,x]}else v[b]=!0}else v[c]=f===p?!f||[f,0]:[f,p-f];return{start:h,end:g,markerLines:v}}function u(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=(r.highlightCode||r.forceColor)&&(0,n.shouldHighlight)(r),u=(0,n.getChalk)(r),s=a(u),c=function(e,t){return o?e(t):t},f=e.split(i),d=l(t,f,r),p=d.start,h=d.end,g=d.markerLines,m=t.start&&\\\"number\\\"===typeof t.start.column,v=String(h).length,y=o?(0,n.default)(e,r):e,b=y.split(i,h).slice(p,h).map((function(e,t){var n=p+1+t,o=\\\" \\\".concat(n).slice(-v),a=\\\" \\\".concat(o,\\\" |\\\"),i=g[n],l=!g[n+1];if(i){var u=\\\"\\\";if(Array.isArray(i)){var f=e.slice(0,Math.max(i[0]-1,0)).replace(/[^\\\\t]/g,\\\" \\\"),d=i[1]||1;u=[\\\"\\\\n \\\",c(s.gutter,a.replace(/\\\\d/g,\\\" \\\")),\\\" \\\",f,c(s.marker,\\\"^\\\").repeat(d)].join(\\\"\\\"),l&&r.message&&(u+=\\\" \\\"+c(s.message,r.message))}return[c(s.marker,\\\">\\\"),c(s.gutter,a),e.length>0?\\\" \\\".concat(e):\\\"\\\",u].join(\\\"\\\")}return\\\" \\\".concat(c(s.gutter,a)).concat(e.length>0?\\\" \\\".concat(e):\\\"\\\")})).join(\\\"\\\\n\\\");return r.message&&!m&&(b=\\\"\\\".concat(\\\" \\\".repeat(v+1)).concat(r.message,\\\"\\\\n\\\").concat(b)),o?u.reset(b):b}},1714:(e,t)=>{\\\"use strict\\\";Object.defineProperty(t,\\\"__esModule\\\",{value:!0}),t.isIdentifierStart=s,t.isIdentifierChar=c,t.isIdentifierName=function(e){for(var t=!0,r=0;r<e.length;r++){var n=e.charCodeAt(r);if(55296===(64512&n)&&r+1<e.length){var o=e.charCodeAt(++r);56320===(64512&o)&&(n=65536+((1023&n)<<10)+(1023&o))}if(t){if(t=!1,!s(n))return!1}else if(!c(n))return!1}return!t};var r=\\\"\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088E\\u08A0-\\u08C9\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C5D\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4C\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7CA\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7D9\\uA7F2-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\\\",n=\\\"\\u200C\\u200D\\xB7\\u0300-\\u036F\\u0387\\u0483-\\u0487\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u0669\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u06F0-\\u06F9\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07C0-\\u07C9\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u0898-\\u089F\\u08CA-\\u08E1\\u08E3-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096F\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u09E6-\\u09EF\\u09FE\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A66-\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0AE6-\\u0AEF\\u0AFA-\\u0AFF\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B62\\u0B63\\u0B66-\\u0B6F\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C04\\u0C3C\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0CE6-\\u0CEF\\u0D00-\\u0D03\\u0D3B\\u0D3C\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D66-\\u0D6F\\u0D81-\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0E50-\\u0E59\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1040-\\u1049\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F-\\u109D\\u135D-\\u135F\\u1369-\\u1371\\u1712-\\u1715\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u180F-\\u1819\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u194F\\u19D0-\\u19DA\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AB0-\\u1ABD\\u1ABF-\\u1ACE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BB0-\\u1BB9\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1C40-\\u1C49\\u1C50-\\u1C59\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF4\\u1CF7-\\u1CF9\\u1DC0-\\u1DFF\\u203F\\u2040\\u2054\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA620-\\uA629\\uA66F\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA82C\\uA880\\uA881\\uA8B4-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F1\\uA8FF-\\uA909\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9D0-\\uA9D9\\uA9E5\\uA9F0-\\uA9F9\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA50-\\uAA59\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFF10-\\uFF19\\uFF3F\\\",o=new RegExp(\\\"[\\\"+r+\\\"]\\\"),a=new RegExp(\\\"[\\\"+r+n+\\\"]\\\");r=n=null;var i=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2637,96,16,1070,4050,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,46,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,482,44,11,6,17,0,322,29,19,43,1269,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4152,8,221,3,5761,15,7472,3104,541,1507,4938],l=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,357,0,62,13,1495,6,110,6,6,9,4759,9,787719,239];function u(e,t){for(var r=65536,n=0,o=t.length;n<o;n+=2){if((r+=t[n])>e)return!1;if((r+=t[n+1])>=e)return!0}return!1}function s(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&o.test(String.fromCharCode(e)):u(e,i)))}function c(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&a.test(String.fromCharCode(e)):u(e,i)||u(e,l))))}},3012:(e,t,r)=>{\\\"use strict\\\";Object.defineProperty(t,\\\"__esModule\\\",{value:!0}),Object.defineProperty(t,\\\"isIdentifierName\\\",{enumerable:!0,get:function(){return n.isIdentifierName}}),Object.defineProperty(t,\\\"isIdentifierChar\\\",{enumerable:!0,get:function(){return n.isIdentifierChar}}),Object.defineProperty(t,\\\"isIdentifierStart\\\",{enumerable:!0,get:function(){return n.isIdentifierStart}}),Object.defineProperty(t,\\\"isReservedWord\\\",{enumerable:!0,get:function(){return o.isReservedWord}}),Object.defineProperty(t,\\\"isStrictBindOnlyReservedWord\\\",{enumerable:!0,get:function(){return o.isStrictBindOnlyReservedWord}}),Object.defineProperty(t,\\\"isStrictBindReservedWord\\\",{enumerable:!0,get:function(){return o.isStrictBindReservedWord}}),Object.defineProperty(t,\\\"isStrictReservedWord\\\",{enumerable:!0,get:function(){return o.isStrictReservedWord}}),Object.defineProperty(t,\\\"isKeyword\\\",{enumerable:!0,get:function(){return o.isKeyword}});var n=r(1714),o=r(2562)},2562:(e,t)=>{\\\"use strict\\\";Object.defineProperty(t,\\\"__esModule\\\",{value:!0}),t.isReservedWord=l,t.isStrictReservedWord=u,t.isStrictBindOnlyReservedWord=s,t.isStrictBindReservedWord=function(e,t){return u(e,t)||s(e)},t.isKeyword=function(e){return o.has(e)};var r=[\\\"implements\\\",\\\"interface\\\",\\\"let\\\",\\\"package\\\",\\\"private\\\",\\\"protected\\\",\\\"public\\\",\\\"static\\\",\\\"yield\\\"],n=[\\\"eval\\\",\\\"arguments\\\"],o=new Set([\\\"break\\\",\\\"case\\\",\\\"catch\\\",\\\"continue\\\",\\\"debugger\\\",\\\"default\\\",\\\"do\\\",\\\"else\\\",\\\"finally\\\",\\\"for\\\",\\\"function\\\",\\\"if\\\",\\\"return\\\",\\\"switch\\\",\\\"throw\\\",\\\"try\\\",\\\"var\\\",\\\"const\\\",\\\"while\\\",\\\"with\\\",\\\"new\\\",\\\"this\\\",\\\"super\\\",\\\"class\\\",\\\"extends\\\",\\\"export\\\",\\\"import\\\",\\\"null\\\",\\\"true\\\",\\\"false\\\",\\\"in\\\",\\\"instanceof\\\",\\\"typeof\\\",\\\"void\\\",\\\"delete\\\"]),a=new Set(r),i=new Set(n);function l(e,t){return t&&\\\"await\\\"===e||\\\"enum\\\"===e}function u(e,t){return l(e,t)||a.has(e)}function s(e){return i.has(e)}},8048:(e,t,r)=>{\\\"use strict\\\";var n=r(3041).default,o=r(7162);Object.defineProperty(t,\\\"__esModule\\\",{value:!0}),t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(m(t)){var r=v(t),n=s(r);return g(n,e)}return e},t.getChalk=v,t.shouldHighlight=m;var a=r(690),i=r(3012),l=r(4043),u=new Set([\\\"as\\\",\\\"async\\\",\\\"from\\\",\\\"get\\\",\\\"of\\\",\\\"set\\\"]);function s(e){return{keyword:e.cyan,capitalized:e.yellow,jsxIdentifier:e.yellow,punctuator:e.yellow,number:e.magenta,string:e.green,regex:e.magenta,comment:e.grey,invalid:e.white.bgRed.bold}}var c,f=/\\\\r\\\\n|[\\\\n\\\\r\\\\u2028\\\\u2029]/,d=/^[()[\\\\]{}]$/,p=/^[a-z][\\\\w-]*$/i,h=function(e,t,r){if(\\\"name\\\"===e.type){if((0,i.isKeyword)(e.value)||(0,i.isStrictReservedWord)(e.value,!0)||u.has(e.value))return\\\"keyword\\\";if(p.test(e.value)&&(\\\"<\\\"===r[t-1]||\\\"</\\\"==r.substr(t-2,2)))return\\\"jsxIdentifier\\\";if(e.value[0]!==e.value[0].toLowerCase())return\\\"capitalized\\\"}return\\\"punctuator\\\"===e.type&&d.test(e.value)?\\\"bracket\\\":\\\"invalid\\\"!==e.type||\\\"@\\\"!==e.value&&\\\"#\\\"!==e.value?e.type:\\\"punctuator\\\"};function g(e,t){var r,o=\\\"\\\",a=n(c(t));try{var i=function(){var t=r.value,n=t.type,a=t.value,i=e[n];o+=i?a.split(f).map((function(e){return i(e)})).join(\\\"\\\\n\\\"):a};for(a.s();!(r=a.n()).done;)i()}catch(e){a.e(e)}finally{a.f()}return o}function m(e){return!!l.supportsColor||e.forceColor}function v(e){return e.forceColor?new l.constructor({enabled:!0,level:1}):l}c=o.mark((function e(t){var r,n;return o.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=a.default.exec(t))){e.next=6;break}return n=a.matchToToken(r),e.next=4,{type:h(n,r.index,t),value:n.value};case 4:e.next=0;break;case 6:case\\\"end\\\":return e.stop()}}),e)}))},2611:(e,t,r)=>{\\\"use strict\\\";e=r.nmd(e);var n=r(1444),o=function(e,t){return function(){var r=e.apply(n,arguments);return\\\"\\x1B[\\\".concat(r+t,\\\"m\\\")}},a=function(e,t){return function(){var r=e.apply(n,arguments);return\\\"\\x1B[\\\".concat(38+t,\\\";5;\\\").concat(r,\\\"m\\\")}},i=function(e,t){return function(){var r=e.apply(n,arguments);return\\\"\\x1B[\\\".concat(38+t,\\\";2;\\\").concat(r[0],\\\";\\\").concat(r[1],\\\";\\\").concat(r[2],\\\"m\\\")}};Object.defineProperty(e,\\\"exports\\\",{enumerable:!0,get:function(){var e=new Map,t={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};t.color.grey=t.color.gray;for(var r=0,l=Object.keys(t);r<l.length;r++){for(var u=l[r],s=t[u],c=0,f=Object.keys(s);c<f.length;c++){var d=f[c],p=s[d];t[d]={open:\\\"\\x1B[\\\".concat(p[0],\\\"m\\\"),close:\\\"\\x1B[\\\".concat(p[1],\\\"m\\\")},s[d]=t[d],e.set(p[0],p[1])}Object.defineProperty(t,u,{value:s,enumerable:!1}),Object.defineProperty(t,\\\"codes\\\",{value:e,enumerable:!1})}var h=function(e){return e},g=function(e,t,r){return[e,t,r]};t.color.close=\\\"\\x1B[39m\\\",t.bgColor.close=\\\"\\x1B[49m\\\",t.color.ansi={ansi:o(h,0)},t.color.ansi256={ansi256:a(h,0)},t.color.ansi16m={rgb:i(g,0)},t.bgColor.ansi={ansi:o(h,10)},t.bgColor.ansi256={ansi256:a(h,10)},t.bgColor.ansi16m={rgb:i(g,10)};for(var m=0,v=Object.keys(n);m<v.length;m++){var y=v[m];if(\\\"object\\\"===typeof n[y]){var b=n[y];\\\"ansi16\\\"===y&&(y=\\\"ansi\\\"),\\\"ansi16\\\"in b&&(t.color.ansi[y]=o(b.ansi16,0),t.bgColor.ansi[y]=o(b.ansi16,10)),\\\"ansi256\\\"in b&&(t.color.ansi256[y]=a(b.ansi256,0),t.bgColor.ansi256[y]=a(b.ansi256,10)),\\\"rgb\\\"in b&&(t.color.ansi16m[y]=i(b.rgb,0),t.bgColor.ansi16m[y]=i(b.rgb,10))}}return t}})},4043:(e,t,r)=>{\\\"use strict\\\";var n=r(3041).default,o=r(2865),a=r(2611),i=r(5215).stdout,l=r(7093),u=\\\"win32\\\"===process.platform&&!({NODE_ENV:\\\"production\\\"}.TERM||\\\"\\\").toLowerCase().startsWith(\\\"xterm\\\"),s=[\\\"ansi\\\",\\\"ansi\\\",\\\"ansi256\\\",\\\"ansi16m\\\"],c=new Set([\\\"gray\\\"]),f=Object.create(null);function d(e,t){t=t||{};var r=i?i.level:0;e.level=void 0===t.level?r:t.level,e.enabled=\\\"enabled\\\"in t?t.enabled:e.level>0}function p(e){if(!this||!(this instanceof p)||this.template){var t={};return d(t,e),t.template=function(){var e=[].slice.call(arguments);return _.apply(null,[t.template].concat(e))},Object.setPrototypeOf(t,p.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=p,t.template}d(this,e)}u&&(a.blue.open=\\\"\\x1B[94m\\\");for(var h=function(){var e=m[g];a[e].closeRe=new RegExp(o(a[e].close),\\\"g\\\"),f[e]={get:function(){var t=a[e];return S.call(this,this._styles?this._styles.concat(t):[t],this._empty,e)}}},g=0,m=Object.keys(a);g<m.length;g++)h();f.visible={get:function(){return S.call(this,this._styles||[],!0,\\\"visible\\\")}},a.color.closeRe=new RegExp(o(a.color.close),\\\"g\\\");for(var v=function(){var e=b[y];if(c.has(e))return\\\"continue\\\";f[e]={get:function(){var t=this.level;return function(){var r=a.color[s[t]][e].apply(null,arguments),n={open:r,close:a.color.close,closeRe:a.color.closeRe};return S.call(this,this._styles?this._styles.concat(n):[n],this._empty,e)}}}},y=0,b=Object.keys(a.color.ansi);y<b.length;y++)v();a.bgColor.closeRe=new RegExp(o(a.bgColor.close),\\\"g\\\");for(var w=function(){var e=k[x];if(c.has(e))return\\\"continue\\\";var t=\\\"bg\\\"+e[0].toUpperCase()+e.slice(1);f[t]={get:function(){var t=this.level;return function(){var r=a.bgColor[s[t]][e].apply(null,arguments),n={open:r,close:a.bgColor.close,closeRe:a.bgColor.closeRe};return S.call(this,this._styles?this._styles.concat(n):[n],this._empty,e)}}}},x=0,k=Object.keys(a.bgColor.ansi);x<k.length;x++)w();var E=Object.defineProperties((function(){}),f);function S(e,t,r){var n=function e(){return T.apply(e,arguments)};n._styles=e,n._empty=t;var o=this;return Object.defineProperty(n,\\\"level\\\",{enumerable:!0,get:function(){return o.level},set:function(e){o.level=e}}),Object.defineProperty(n,\\\"enabled\\\",{enumerable:!0,get:function(){return o.enabled},set:function(e){o.enabled=e}}),n.hasGrey=this.hasGrey||\\\"gray\\\"===r||\\\"grey\\\"===r,n.__proto__=E,n}function T(){var e=arguments,t=e.length,r=String(arguments[0]);if(0===t)return\\\"\\\";if(t>1)for(var o=1;o<t;o++)r+=\\\" \\\"+e[o];if(!this.enabled||this.level<=0||!r)return this._empty?\\\"\\\":r;var i=a.dim.open;u&&this.hasGrey&&(a.dim.open=\\\"\\\");var l,s=n(this._styles.slice().reverse());try{for(s.s();!(l=s.n()).done;){var c=l.value;r=(r=c.open+r.replace(c.closeRe,c.open)+c.close).replace(/\\\\r?\\\\n/g,\\\"\\\".concat(c.close,\\\"$&\\\").concat(c.open))}}catch(e){s.e(e)}finally{s.f()}return a.dim.open=i,r}function _(e,t){if(!Array.isArray(t))return[].slice.call(arguments,1).join(\\\" \\\");for(var r=[].slice.call(arguments,2),n=[t.raw[0]],o=1;o<t.length;o++)n.push(String(r[o-1]).replace(/[{}\\\\\\\\]/g,\\\"\\\\\\\\$&\\\")),n.push(String(t.raw[o]));return l(e,n.join(\\\"\\\"))}Object.defineProperties(p.prototype,f),e.exports=p(),e.exports.supportsColor=i,e.exports.default=e.exports},7093:(e,t,r)=>{\\\"use strict\\\";var n=r(3041).default,o=/(?:\\\\\\\\(u[a-f\\\\d]{4}|x[a-f\\\\d]{2}|.))|(?:\\\\{(~)?(\\\\w+(?:\\\\([^)]*\\\\))?(?:\\\\.\\\\w+(?:\\\\([^)]*\\\\))?)*)(?:[ \\\\t]|(?=\\\\r?\\\\n)))|(\\\\})|((?:.|[\\\\r\\\\n\\\\f])+?)/gi,a=/(?:^|\\\\.)(\\\\w+)(?:\\\\(([^)]*)\\\\))?/g,i=/^(['\\\"])((?:\\\\\\\\.|(?!\\\\1)[^\\\\\\\\])*)\\\\1$/,l=/\\\\\\\\(u[a-f\\\\d]{4}|x[a-f\\\\d]{2}|.)|([^\\\\\\\\])/gi,u=new Map([[\\\"n\\\",\\\"\\\\n\\\"],[\\\"r\\\",\\\"\\\\r\\\"],[\\\"t\\\",\\\"\\\\t\\\"],[\\\"b\\\",\\\"\\\\b\\\"],[\\\"f\\\",\\\"\\\\f\\\"],[\\\"v\\\",\\\"\\\\v\\\"],[\\\"0\\\",\\\"\\\\0\\\"],[\\\"\\\\\\\\\\\",\\\"\\\\\\\\\\\"],[\\\"e\\\",\\\"\\x1B\\\"],[\\\"a\\\",\\\"\\x07\\\"]]);function s(e){return\\\"u\\\"===e[0]&&5===e.length||\\\"x\\\"===e[0]&&3===e.length?String.fromCharCode(parseInt(e.slice(1),16)):u.get(e)||e}function c(e,t){var r,o,a=[],u=t.trim().split(/\\\\s*,\\\\s*/g),c=n(u);try{for(c.s();!(o=c.n()).done;){var f=o.value;if(isNaN(f)){if(!(r=f.match(i)))throw new Error(\\\"Invalid Chalk template style argument: \\\".concat(f,\\\" (in style '\\\").concat(e,\\\"')\\\"));a.push(r[2].replace(l,(function(e,t,r){return t?s(t):r})))}else a.push(Number(f))}}catch(e){c.e(e)}finally{c.f()}return a}function f(e){a.lastIndex=0;for(var t,r=[];null!==(t=a.exec(e));){var n=t[1];if(t[2]){var o=c(n,t[2]);r.push([n].concat(o))}else r.push([n])}return r}function d(e,t){var r,o={},a=n(t);try{for(a.s();!(r=a.n()).done;){var i,l=r.value,u=n(l.styles);try{for(u.s();!(i=u.n()).done;){var s=i.value;o[s[0]]=l.inverse?null:s.slice(1)}}catch(e){u.e(e)}finally{u.f()}}}catch(e){a.e(e)}finally{a.f()}for(var c=e,f=0,d=Object.keys(o);f<d.length;f++){var p=d[f];if(Array.isArray(o[p])){if(!(p in c))throw new Error(\\\"Unknown Chalk style: \\\".concat(p));c=o[p].length>0?c[p].apply(c,o[p]):c[p]}}return c}e.exports=function(e,t){var r=[],n=[],a=[];if(t.replace(o,(function(t,o,i,l,u,c){if(o)a.push(s(o));else if(l){var p=a.join(\\\"\\\");a=[],n.push(0===r.length?p:d(e,r)(p)),r.push({inverse:i,styles:f(l)})}else if(u){if(0===r.length)throw new Error(\\\"Found extraneous } in Chalk template literal\\\");n.push(d(e,r)(a.join(\\\"\\\"))),a=[],r.pop()}else a.push(c)})),n.push(a.join(\\\"\\\")),r.length>0){var i=\\\"Chalk template literal is missing \\\".concat(r.length,\\\" closing bracket\\\").concat(1===r.length?\\\"\\\":\\\"s\\\",\\\" (`}`)\\\");throw new Error(i)}return n.join(\\\"\\\")}},4601:(e,t,r)=>{var n=r(509),o={};for(var a in n)n.hasOwnProperty(a)&&(o[n[a]]=a);var i=e.exports={rgb:{channels:3,labels:\\\"rgb\\\"},hsl:{channels:3,labels:\\\"hsl\\\"},hsv:{channels:3,labels:\\\"hsv\\\"},hwb:{channels:3,labels:\\\"hwb\\\"},cmyk:{channels:4,labels:\\\"cmyk\\\"},xyz:{channels:3,labels:\\\"xyz\\\"},lab:{channels:3,labels:\\\"lab\\\"},lch:{channels:3,labels:\\\"lch\\\"},hex:{channels:1,labels:[\\\"hex\\\"]},keyword:{channels:1,labels:[\\\"keyword\\\"]},ansi16:{channels:1,labels:[\\\"ansi16\\\"]},ansi256:{channels:1,labels:[\\\"ansi256\\\"]},hcg:{channels:3,labels:[\\\"h\\\",\\\"c\\\",\\\"g\\\"]},apple:{channels:3,labels:[\\\"r16\\\",\\\"g16\\\",\\\"b16\\\"]},gray:{channels:1,labels:[\\\"gray\\\"]}};for(var l in i)if(i.hasOwnProperty(l)){if(!(\\\"channels\\\"in i[l]))throw new Error(\\\"missing channels property: \\\"+l);if(!(\\\"labels\\\"in i[l]))throw new Error(\\\"missing channel labels property: \\\"+l);if(i[l].labels.length!==i[l].channels)throw new Error(\\\"channel and label counts mismatch: \\\"+l);var u=i[l].channels,s=i[l].labels;delete i[l].channels,delete i[l].labels,Object.defineProperty(i[l],\\\"channels\\\",{value:u}),Object.defineProperty(i[l],\\\"labels\\\",{value:s})}i.rgb.hsl=function(e){var t,r,n=e[0]/255,o=e[1]/255,a=e[2]/255,i=Math.min(n,o,a),l=Math.max(n,o,a),u=l-i;return l===i?t=0:n===l?t=(o-a)/u:o===l?t=2+(a-n)/u:a===l&&(t=4+(n-o)/u),(t=Math.min(60*t,360))<0&&(t+=360),r=(i+l)/2,[t,100*(l===i?0:r<=.5?u/(l+i):u/(2-l-i)),100*r]},i.rgb.hsv=function(e){var t,r,n,o,a,i=e[0]/255,l=e[1]/255,u=e[2]/255,s=Math.max(i,l,u),c=s-Math.min(i,l,u),f=function(e){return(s-e)/6/c+.5};return 0===c?o=a=0:(a=c/s,t=f(i),r=f(l),n=f(u),i===s?o=n-r:l===s?o=1/3+t-n:u===s&&(o=2/3+r-t),o<0?o+=1:o>1&&(o-=1)),[360*o,100*a,100*s]},i.rgb.hwb=function(e){var t=e[0],r=e[1],n=e[2];return[i.rgb.hsl(e)[0],100*(1/255*Math.min(t,Math.min(r,n))),100*(n=1-1/255*Math.max(t,Math.max(r,n)))]},i.rgb.cmyk=function(e){var t,r=e[0]/255,n=e[1]/255,o=e[2]/255;return[100*((1-r-(t=Math.min(1-r,1-n,1-o)))/(1-t)||0),100*((1-n-t)/(1-t)||0),100*((1-o-t)/(1-t)||0),100*t]},i.rgb.keyword=function(e){var t=o[e];if(t)return t;var r,a,i,l=1/0;for(var u in n)if(n.hasOwnProperty(u)){var s=n[u],c=(a=e,i=s,Math.pow(a[0]-i[0],2)+Math.pow(a[1]-i[1],2)+Math.pow(a[2]-i[2],2));c<l&&(l=c,r=u)}return r},i.keyword.rgb=function(e){return n[e]},i.rgb.xyz=function(e){var t=e[0]/255,r=e[1]/255,n=e[2]/255;return[100*(.4124*(t=t>.04045?Math.pow((t+.055)/1.055,2.4):t/12.92)+.3576*(r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92)+.1805*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)),100*(.2126*t+.7152*r+.0722*n),100*(.0193*t+.1192*r+.9505*n)]},i.rgb.lab=function(e){var t=i.rgb.xyz(e),r=t[0],n=t[1],o=t[2];return n/=100,o/=108.883,r=(r/=95.047)>.008856?Math.pow(r,1/3):7.787*r+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(r-n),200*(n-(o=o>.008856?Math.pow(o,1/3):7.787*o+16/116))]},i.hsl.rgb=function(e){var t,r,n,o,a,i=e[0]/360,l=e[1]/100,u=e[2]/100;if(0===l)return[a=255*u,a,a];t=2*u-(r=u<.5?u*(1+l):u+l-u*l),o=[0,0,0];for(var s=0;s<3;s++)(n=i+1/3*-(s-1))<0&&n++,n>1&&n--,a=6*n<1?t+6*(r-t)*n:2*n<1?r:3*n<2?t+(r-t)*(2/3-n)*6:t,o[s]=255*a;return o},i.hsl.hsv=function(e){var t=e[0],r=e[1]/100,n=e[2]/100,o=r,a=Math.max(n,.01);return r*=(n*=2)<=1?n:2-n,o*=a<=1?a:2-a,[t,100*(0===n?2*o/(a+o):2*r/(n+r)),100*((n+r)/2)]},i.hsv.rgb=function(e){var t=e[0]/60,r=e[1]/100,n=e[2]/100,o=Math.floor(t)%6,a=t-Math.floor(t),i=255*n*(1-r),l=255*n*(1-r*a),u=255*n*(1-r*(1-a));switch(n*=255,o){case 0:return[n,u,i];case 1:return[l,n,i];case 2:return[i,n,u];case 3:return[i,l,n];case 4:return[u,i,n];case 5:return[n,i,l]}},i.hsv.hsl=function(e){var t,r,n,o=e[0],a=e[1]/100,i=e[2]/100,l=Math.max(i,.01);return n=(2-a)*i,r=a*l,[o,100*(r=(r/=(t=(2-a)*l)<=1?t:2-t)||0),100*(n/=2)]},i.hwb.rgb=function(e){var t,r,n,o,a,i,l,u=e[0]/360,s=e[1]/100,c=e[2]/100,f=s+c;switch(f>1&&(s/=f,c/=f),n=6*u-(t=Math.floor(6*u)),0!==(1&t)&&(n=1-n),o=s+n*((r=1-c)-s),t){default:case 6:case 0:a=r,i=o,l=s;break;case 1:a=o,i=r,l=s;break;case 2:a=s,i=r,l=o;break;case 3:a=s,i=o,l=r;break;case 4:a=o,i=s,l=r;break;case 5:a=r,i=s,l=o}return[255*a,255*i,255*l]},i.cmyk.rgb=function(e){var t=e[0]/100,r=e[1]/100,n=e[2]/100,o=e[3]/100;return[255*(1-Math.min(1,t*(1-o)+o)),255*(1-Math.min(1,r*(1-o)+o)),255*(1-Math.min(1,n*(1-o)+o))]},i.xyz.rgb=function(e){var t,r,n,o=e[0]/100,a=e[1]/100,i=e[2]/100;return r=-.9689*o+1.8758*a+.0415*i,n=.0557*o+-.204*a+1.057*i,t=(t=3.2406*o+-1.5372*a+-.4986*i)>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t,r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:12.92*r,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:12.92*n,[255*(t=Math.min(Math.max(0,t),1)),255*(r=Math.min(Math.max(0,r),1)),255*(n=Math.min(Math.max(0,n),1))]},i.xyz.lab=function(e){var t=e[0],r=e[1],n=e[2];return r/=100,n/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116)-16,500*(t-r),200*(r-(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116))]},i.lab.xyz=function(e){var t,r,n,o=e[0];t=e[1]/500+(r=(o+16)/116),n=r-e[2]/200;var a=Math.pow(r,3),i=Math.pow(t,3),l=Math.pow(n,3);return r=a>.008856?a:(r-16/116)/7.787,t=i>.008856?i:(t-16/116)/7.787,n=l>.008856?l:(n-16/116)/7.787,[t*=95.047,r*=100,n*=108.883]},i.lab.lch=function(e){var t,r=e[0],n=e[1],o=e[2];return(t=360*Math.atan2(o,n)/2/Math.PI)<0&&(t+=360),[r,Math.sqrt(n*n+o*o),t]},i.lch.lab=function(e){var t,r=e[0],n=e[1];return t=e[2]/360*2*Math.PI,[r,n*Math.cos(t),n*Math.sin(t)]},i.rgb.ansi16=function(e){var t=e[0],r=e[1],n=e[2],o=1 in arguments?arguments[1]:i.rgb.hsv(e)[2];if(0===(o=Math.round(o/50)))return 30;var a=30+(Math.round(n/255)<<2|Math.round(r/255)<<1|Math.round(t/255));return 2===o&&(a+=60),a},i.hsv.ansi16=function(e){return i.rgb.ansi16(i.hsv.rgb(e),e[2])},i.rgb.ansi256=function(e){var t=e[0],r=e[1],n=e[2];return t===r&&r===n?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5)},i.ansi16.rgb=function(e){var t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),[t=t/10.5*255,t,t];var r=.5*(1+~~(e>50));return[(1&t)*r*255,(t>>1&1)*r*255,(t>>2&1)*r*255]},i.ansi256.rgb=function(e){if(e>=232){var t=10*(e-232)+8;return[t,t,t]}var r;return e-=16,[Math.floor(e/36)/5*255,Math.floor((r=e%36)/6)/5*255,r%6/5*255]},i.rgb.hex=function(e){var t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return\\\"000000\\\".substring(t.length)+t},i.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];var r=t[0];3===t[0].length&&(r=r.split(\\\"\\\").map((function(e){return e+e})).join(\\\"\\\"));var n=parseInt(r,16);return[n>>16&255,n>>8&255,255&n]},i.rgb.hcg=function(e){var t,r=e[0]/255,n=e[1]/255,o=e[2]/255,a=Math.max(Math.max(r,n),o),i=Math.min(Math.min(r,n),o),l=a-i;return t=l<=0?0:a===r?(n-o)/l%6:a===n?2+(o-r)/l:4+(r-n)/l+4,t/=6,[360*(t%=1),100*l,100*(l<1?i/(1-l):0)]},i.hsl.hcg=function(e){var t=e[1]/100,r=e[2]/100,n=1,o=0;return(n=r<.5?2*t*r:2*t*(1-r))<1&&(o=(r-.5*n)/(1-n)),[e[0],100*n,100*o]},i.hsv.hcg=function(e){var t=e[1]/100,r=e[2]/100,n=t*r,o=0;return n<1&&(o=(r-n)/(1-n)),[e[0],100*n,100*o]},i.hcg.rgb=function(e){var t=e[0]/360,r=e[1]/100,n=e[2]/100;if(0===r)return[255*n,255*n,255*n];var o,a=[0,0,0],i=t%1*6,l=i%1,u=1-l;switch(Math.floor(i)){case 0:a[0]=1,a[1]=l,a[2]=0;break;case 1:a[0]=u,a[1]=1,a[2]=0;break;case 2:a[0]=0,a[1]=1,a[2]=l;break;case 3:a[0]=0,a[1]=u,a[2]=1;break;case 4:a[0]=l,a[1]=0,a[2]=1;break;default:a[0]=1,a[1]=0,a[2]=u}return o=(1-r)*n,[255*(r*a[0]+o),255*(r*a[1]+o),255*(r*a[2]+o)]},i.hcg.hsv=function(e){var t=e[1]/100,r=t+e[2]/100*(1-t),n=0;return r>0&&(n=t/r),[e[0],100*n,100*r]},i.hcg.hsl=function(e){var t=e[1]/100,r=e[2]/100*(1-t)+.5*t,n=0;return r>0&&r<.5?n=t/(2*r):r>=.5&&r<1&&(n=t/(2*(1-r))),[e[0],100*n,100*r]},i.hcg.hwb=function(e){var t=e[1]/100,r=t+e[2]/100*(1-t);return[e[0],100*(r-t),100*(1-r)]},i.hwb.hcg=function(e){var t=e[1]/100,r=1-e[2]/100,n=r-t,o=0;return n<1&&(o=(r-n)/(1-n)),[e[0],100*n,100*o]},i.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},i.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},i.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},i.gray.hsl=i.gray.hsv=function(e){return[0,0,e[0]]},i.gray.hwb=function(e){return[0,100,e[0]]},i.gray.cmyk=function(e){return[0,0,0,e[0]]},i.gray.lab=function(e){return[e[0],0,0]},i.gray.hex=function(e){var t=255&Math.round(e[0]/100*255),r=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return\\\"000000\\\".substring(r.length)+r},i.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}},1444:(e,t,r)=>{var n=r(4601),o=r(1595),a={};Object.keys(n).forEach((function(e){a[e]={},Object.defineProperty(a[e],\\\"channels\\\",{value:n[e].channels}),Object.defineProperty(a[e],\\\"labels\\\",{value:n[e].labels});var t=o(e);Object.keys(t).forEach((function(r){var n=t[r];a[e][r]=function(e){var t=function(t){if(void 0===t||null===t)return t;arguments.length>1&&(t=Array.prototype.slice.call(arguments));var r=e(t);if(\\\"object\\\"===typeof r)for(var n=r.length,o=0;o<n;o++)r[o]=Math.round(r[o]);return r};return\\\"conversion\\\"in e&&(t.conversion=e.conversion),t}(n),a[e][r].raw=function(e){var t=function(t){return void 0===t||null===t?t:(arguments.length>1&&(t=Array.prototype.slice.call(arguments)),e(t))};return\\\"conversion\\\"in e&&(t.conversion=e.conversion),t}(n)}))})),e.exports=a},1595:(e,t,r)=>{var n=r(4601);function o(e){var t=function(){for(var e={},t=Object.keys(n),r=t.length,o=0;o<r;o++)e[t[o]]={distance:-1,parent:null};return e}(),r=[e];for(t[e].distance=0;r.length;)for(var o=r.pop(),a=Object.keys(n[o]),i=a.length,l=0;l<i;l++){var u=a[l],s=t[u];-1===s.distance&&(s.distance=t[o].distance+1,s.parent=o,r.unshift(u))}return t}function a(e,t){return function(r){return t(e(r))}}function i(e,t){for(var r=[t[e].parent,e],o=n[t[e].parent][e],i=t[e].parent;t[i].parent;)r.unshift(t[i].parent),o=a(n[t[i].parent][i],o),i=t[i].parent;return o.conversion=r,o}e.exports=function(e){for(var t=o(e),r={},n=Object.keys(t),a=n.length,l=0;l<a;l++){var u=n[l];null!==t[u].parent&&(r[u]=i(u,t))}return r}},509:e=>{\\\"use strict\\\";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},2865:e=>{\\\"use strict\\\";var t=/[|\\\\\\\\{}()[\\\\]^$+*?.]/g;e.exports=function(e){if(\\\"string\\\"!==typeof e)throw new TypeError(\\\"Expected a string\\\");return e.replace(t,\\\"\\\\\\\\$&\\\")}},5215:e=>{\\\"use strict\\\";e.exports={stdout:!1,stderr:!1}},2434:e=>{\\\"use strict\\\";var t=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\\\"value\\\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();var r=[[{color:\\\"0, 0, 0\\\",class:\\\"ansi-black\\\"},{color:\\\"187, 0, 0\\\",class:\\\"ansi-red\\\"},{color:\\\"0, 187, 0\\\",class:\\\"ansi-green\\\"},{color:\\\"187, 187, 0\\\",class:\\\"ansi-yellow\\\"},{color:\\\"0, 0, 187\\\",class:\\\"ansi-blue\\\"},{color:\\\"187, 0, 187\\\",class:\\\"ansi-magenta\\\"},{color:\\\"0, 187, 187\\\",class:\\\"ansi-cyan\\\"},{color:\\\"255,255,255\\\",class:\\\"ansi-white\\\"}],[{color:\\\"85, 85, 85\\\",class:\\\"ansi-bright-black\\\"},{color:\\\"255, 85, 85\\\",class:\\\"ansi-bright-red\\\"},{color:\\\"0, 255, 0\\\",class:\\\"ansi-bright-green\\\"},{color:\\\"255, 255, 85\\\",class:\\\"ansi-bright-yellow\\\"},{color:\\\"85, 85, 255\\\",class:\\\"ansi-bright-blue\\\"},{color:\\\"255, 85, 255\\\",class:\\\"ansi-bright-magenta\\\"},{color:\\\"85, 255, 255\\\",class:\\\"ansi-bright-cyan\\\"},{color:\\\"255, 255, 255\\\",class:\\\"ansi-bright-white\\\"}]],n=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError(\\\"Cannot call a class as a function\\\")}(this,e),this.fg=this.bg=this.fg_truecolor=this.bg_truecolor=null,this.bright=0,this.decorations=[]}return t(e,null,[{key:\\\"escapeForHtml\\\",value:function(t){return(new e).escapeForHtml(t)}},{key:\\\"linkify\\\",value:function(t){return(new e).linkify(t)}},{key:\\\"ansiToHtml\\\",value:function(t,r){return(new e).ansiToHtml(t,r)}},{key:\\\"ansiToJson\\\",value:function(t,r){return(new e).ansiToJson(t,r)}},{key:\\\"ansiToText\\\",value:function(t){return(new e).ansiToText(t)}}]),t(e,[{key:\\\"setupPalette\\\",value:function(){this.PALETTE_COLORS=[];for(var e=0;e<2;++e)for(var t=0;t<8;++t)this.PALETTE_COLORS.push(r[e][t].color);for(var n=[0,95,135,175,215,255],o=function(e,t,r){return n[e]+\\\", \\\"+n[t]+\\\", \\\"+n[r]},a=0;a<6;++a)for(var i=0;i<6;++i)for(var l=0;l<6;++l)this.PALETTE_COLORS.push(o(a,i,l));for(var u=8,s=0;s<24;++s,u+=10)this.PALETTE_COLORS.push(o(u,u,u))}},{key:\\\"escapeForHtml\\\",value:function(e){return e.replace(/[&<>]/gm,(function(e){return\\\"&\\\"==e?\\\"&\\\":\\\"<\\\"==e?\\\"<\\\":\\\">\\\"==e?\\\">\\\":\\\"\\\"}))}},{key:\\\"linkify\\\",value:function(e){return e.replace(/(https?:\\\\/\\\\/[^\\\\s]+)/gm,(function(e){return'<a href=\\\"'+e+'\\\">'+e+\\\"</a>\\\"}))}},{key:\\\"ansiToHtml\\\",value:function(e,t){return this.process(e,t,!0)}},{key:\\\"ansiToJson\\\",value:function(e,t){return(t=t||{}).json=!0,t.clearLine=!1,this.process(e,t,!0)}},{key:\\\"ansiToText\\\",value:function(e){return this.process(e,{},!1)}},{key:\\\"process\\\",value:function(e,t,r){var n=this,o=e.split(/\\\\033\\\\[/),a=o.shift();void 0!==t&&null!==t||(t={}),t.clearLine=/\\\\r/.test(e);var i=o.map((function(e){return n.processChunk(e,t,r)}));if(t&&t.json){var l=this.processChunkJson(\\\"\\\");return l.content=a,l.clearLine=t.clearLine,i.unshift(l),t.remove_empty&&(i=i.filter((function(e){return!e.isEmpty()}))),i}return i.unshift(a),i.join(\\\"\\\")}},{key:\\\"processChunkJson\\\",value:function(e,t,n){var o=(t=\\\"undefined\\\"==typeof t?{}:t).use_classes=\\\"undefined\\\"!=typeof t.use_classes&&t.use_classes,a=t.key=o?\\\"class\\\":\\\"color\\\",i={content:e,fg:null,bg:null,fg_truecolor:null,bg_truecolor:null,isInverted:!1,clearLine:t.clearLine,decoration:null,decorations:[],was_processed:!1,isEmpty:function(){return!i.content}},l=e.match(/^([!\\\\x3c-\\\\x3f]*)([\\\\d;]*)([\\\\x20-\\\\x2c]*[\\\\x40-\\\\x7e])([\\\\s\\\\S]*)/m);if(!l)return i;i.content=l[4];var u=l[2].split(\\\";\\\");if(\\\"\\\"!==l[1]||\\\"m\\\"!==l[3])return i;if(!n)return i;for(var s=this;u.length>0;){var c=u.shift(),f=parseInt(c);if(isNaN(f)||0===f)s.fg=s.bg=null,s.decorations=[];else if(1===f)s.decorations.push(\\\"bold\\\");else if(2===f)s.decorations.push(\\\"dim\\\");else if(3===f)s.decorations.push(\\\"italic\\\");else if(4===f)s.decorations.push(\\\"underline\\\");else if(5===f)s.decorations.push(\\\"blink\\\");else if(7===f)s.decorations.push(\\\"reverse\\\");else if(8===f)s.decorations.push(\\\"hidden\\\");else if(9===f)s.decorations.push(\\\"strikethrough\\\");else if(21===f)s.removeDecoration(\\\"bold\\\");else if(22===f)s.removeDecoration(\\\"bold\\\"),s.removeDecoration(\\\"dim\\\");else if(23===f)s.removeDecoration(\\\"italic\\\");else if(24===f)s.removeDecoration(\\\"underline\\\");else if(25===f)s.removeDecoration(\\\"blink\\\");else if(27===f)s.removeDecoration(\\\"reverse\\\");else if(28===f)s.removeDecoration(\\\"hidden\\\");else if(29===f)s.removeDecoration(\\\"strikethrough\\\");else if(39===f)s.fg=null;else if(49===f)s.bg=null;else if(f>=30&&f<38)s.fg=r[0][f%10][a];else if(f>=90&&f<98)s.fg=r[1][f%10][a];else if(f>=40&&f<48)s.bg=r[0][f%10][a];else if(f>=100&&f<108)s.bg=r[1][f%10][a];else if(38===f||48===f){var d=38===f;if(u.length>=1){var p=u.shift();if(\\\"5\\\"===p&&u.length>=1){var h=parseInt(u.shift());if(h>=0&&h<=255)if(o){var g=h>=16?\\\"ansi-palette-\\\"+h:r[h>7?1:0][h%8].class;d?s.fg=g:s.bg=g}else this.PALETTE_COLORS||s.setupPalette(),d?s.fg=this.PALETTE_COLORS[h]:s.bg=this.PALETTE_COLORS[h]}else if(\\\"2\\\"===p&&u.length>=3){var m=parseInt(u.shift()),v=parseInt(u.shift()),y=parseInt(u.shift());if(m>=0&&m<=255&&v>=0&&v<=255&&y>=0&&y<=255){var b=m+\\\", \\\"+v+\\\", \\\"+y;o?d?(s.fg=\\\"ansi-truecolor\\\",s.fg_truecolor=b):(s.bg=\\\"ansi-truecolor\\\",s.bg_truecolor=b):d?s.fg=b:s.bg=b}}}}}if(null===s.fg&&null===s.bg&&0===s.decorations.length)return i;return i.fg=s.fg,i.bg=s.bg,i.fg_truecolor=s.fg_truecolor,i.bg_truecolor=s.bg_truecolor,i.decorations=s.decorations,i.decoration=s.decorations.slice(-1).pop()||null,i.was_processed=!0,i}},{key:\\\"processChunk\\\",value:function(e,t,n){var o=this;t=t||{};var a=this.processChunkJson(e,t,n),i=t.use_classes;if(a.decorations=a.decorations.filter((function(e){if(\\\"reverse\\\"===e){a.fg||(a.fg=r[0][7][i?\\\"class\\\":\\\"color\\\"]),a.bg||(a.bg=r[0][0][i?\\\"class\\\":\\\"color\\\"]);var t=a.fg;a.fg=a.bg,a.bg=t;var n=a.fg_truecolor;return a.fg_truecolor=a.bg_truecolor,a.bg_truecolor=n,a.isInverted=!0,!1}return!0})),t.json)return a;if(a.isEmpty())return\\\"\\\";if(!a.was_processed)return a.content;var l=[],u=[],s=[],c={},f=function(e){var t=[],r=void 0;for(r in e)e.hasOwnProperty(r)&&t.push(\\\"data-\\\"+r+'=\\\"'+o.escapeForHtml(e[r])+'\\\"');return t.length>0?\\\" \\\"+t.join(\\\" \\\"):\\\"\\\"};return a.isInverted&&(c[\\\"ansi-is-inverted\\\"]=\\\"true\\\"),a.fg&&(i?(l.push(a.fg+\\\"-fg\\\"),null!==a.fg_truecolor&&(c[\\\"ansi-truecolor-fg\\\"]=a.fg_truecolor,a.fg_truecolor=null)):l.push(\\\"color:rgb(\\\"+a.fg+\\\")\\\")),a.bg&&(i?(l.push(a.bg+\\\"-bg\\\"),null!==a.bg_truecolor&&(c[\\\"ansi-truecolor-bg\\\"]=a.bg_truecolor,a.bg_truecolor=null)):l.push(\\\"background-color:rgb(\\\"+a.bg+\\\")\\\")),a.decorations.forEach((function(e){i?u.push(\\\"ansi-\\\"+e):\\\"bold\\\"===e?u.push(\\\"font-weight:bold\\\"):\\\"dim\\\"===e?u.push(\\\"opacity:0.5\\\"):\\\"italic\\\"===e?u.push(\\\"font-style:italic\\\"):\\\"hidden\\\"===e?u.push(\\\"visibility:hidden\\\"):\\\"strikethrough\\\"===e?s.push(\\\"line-through\\\"):s.push(e)})),s.length&&u.push(\\\"text-decoration:\\\"+s.join(\\\" \\\")),i?'<span class=\\\"'+l.concat(u).join(\\\" \\\")+'\\\"'+f(c)+\\\">\\\"+a.content+\\\"</span>\\\":'<span style=\\\"'+l.concat(u).join(\\\";\\\")+'\\\"'+f(c)+\\\">\\\"+a.content+\\\"</span>\\\"}},{key:\\\"removeDecoration\\\",value:function(e){var t=this.decorations.indexOf(e);t>=0&&this.decorations.splice(t,1)}}]),e}();e.exports=n},2457:(e,t,r)=>{\\\"use strict\\\";function n(e){a.length||(o(),!0),a[a.length]=e}e.exports=n;var o,a=[],i=0;function l(){for(;i<a.length;){var e=i;if(i+=1,a[e].call(),i>1024){for(var t=0,r=a.length-i;t<r;t++)a[t]=a[t+i];a.length-=i,i=0}}a.length=0,i=0,!1}var u,s,c,f=\\\"undefined\\\"!==typeof r.g?r.g:self,d=f.MutationObserver||f.WebKitMutationObserver;function p(e){return function(){var t=setTimeout(n,0),r=setInterval(n,50);function n(){clearTimeout(t),clearInterval(r),e()}}}\\\"function\\\"===typeof d?(u=1,s=new d(l),c=document.createTextNode(\\\"\\\"),s.observe(c,{characterData:!0}),o=function(){u=-u,c.data=u}):o=p(l),n.requestFlush=o,n.makeRequestCallFromTimer=p},6438:(e,t,r)=>{var n=r(4323),o=r(8936),a=r(7429),i=n.TypeError;e.exports=function(e){if(o(e))return e;throw i(a(e)+\\\" is not a function\\\")}},4887:(e,t,r)=>{var n=r(4323),o=r(1568),a=r(7429),i=n.TypeError;e.exports=function(e){if(o(e))return e;throw i(a(e)+\\\" is not a constructor\\\")}},4846:(e,t,r)=>{var n=r(4323),o=r(8936),a=n.String,i=n.TypeError;e.exports=function(e){if(\\\"object\\\"==typeof e||o(e))return e;throw i(\\\"Can't set \\\"+a(e)+\\\" as a prototype\\\")}},149:(e,t,r)=>{var n=r(8036),o=r(5313),a=r(8734),i=n(\\\"unscopables\\\"),l=Array.prototype;void 0==l[i]&&a.f(l,i,{configurable:!0,value:o(null)}),e.exports=function(e){l[i][e]=!0}},2874:(e,t,r)=>{var n=r(4323),o=r(2038),a=n.TypeError;e.exports=function(e,t){if(o(t,e))return e;throw a(\\\"Incorrect invocation\\\")}},5561:(e,t,r)=>{var n=r(4323),o=r(1784),a=n.String,i=n.TypeError;e.exports=function(e){if(o(e))return e;throw i(a(e)+\\\" is not an object\\\")}},7826:(e,t,r)=>{var n=r(8244);e.exports=n((function(){if(\\\"function\\\"==typeof ArrayBuffer){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,\\\"a\\\",{value:8})}}))},8602:(e,t,r)=>{\\\"use strict\\\";var n=r(4323),o=r(2604),a=r(8011),i=r(4234),l=r(5554),u=r(5271),s=r(1568),c=r(1472),f=r(8212),d=r(7481),p=r(1913),h=n.Array;e.exports=function(e){var t=i(e),r=s(this),n=arguments.length,g=n>1?arguments[1]:void 0,m=void 0!==g;m&&(g=o(g,n>2?arguments[2]:void 0));var v,y,b,w,x,k,E=p(t),S=0;if(!E||this==h&&u(E))for(v=c(t),y=r?new this(v):h(v);v>S;S++)k=m?g(t[S],S):t[S],f(y,S,k);else for(x=(w=d(t,E)).next,y=r?new this:[];!(b=a(x,w)).done;S++)k=m?l(w,g,[b.value,S],!0):b.value,f(y,S,k);return y.length=S,y}},3336:(e,t,r)=>{var n=r(2653),o=r(921),a=r(1472),i=function(e){return function(t,r,i){var l,u=n(t),s=a(u),c=o(i,s);if(e&&r!=r){for(;s>c;)if((l=u[c++])!=l)return!0}else for(;s>c;c++)if((e||c in u)&&u[c]===r)return e||c||0;return!e&&-1}};e.exports={includes:i(!0),indexOf:i(!1)}},5241:(e,t,r)=>{var n=r(2604),o=r(4471),a=r(13),i=r(4234),l=r(1472),u=r(4264),s=o([].push),c=function(e){var t=1==e,r=2==e,o=3==e,c=4==e,f=6==e,d=7==e,p=5==e||f;return function(h,g,m,v){for(var y,b,w=i(h),x=a(w),k=n(g,m),E=l(x),S=0,T=v||u,_=t?T(h,E):r||d?T(h,0):void 0;E>S;S++)if((p||S in x)&&(b=k(y=x[S],S,w),e))if(t)_[S]=b;else if(b)switch(e){case 3:return!0;case 5:return y;case 6:return S;case 2:s(_,y)}else switch(e){case 4:return!1;case 7:s(_,y)}return f?-1:o||c?c:_}};e.exports={forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findIndex:c(6),filterReject:c(7)}},5460:(e,t,r)=>{var n=r(8244),o=r(8036),a=r(7790),i=o(\\\"species\\\");e.exports=function(e){return a>=51||!n((function(){var t=[];return(t.constructor={})[i]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},8942:(e,t,r)=>{var n=r(4323),o=r(921),a=r(1472),i=r(8212),l=n.Array,u=Math.max;e.exports=function(e,t,r){for(var n=a(e),s=o(t,n),c=o(void 0===r?n:r,n),f=l(u(c-s,0)),d=0;s<c;s++,d++)i(f,d,e[s]);return f.length=d,f}},3707:(e,t,r)=>{var n=r(4471);e.exports=n([].slice)},1431:(e,t,r)=>{var n=r(4323),o=r(8997),a=r(1568),i=r(1784),l=r(8036)(\\\"species\\\"),u=n.Array;e.exports=function(e){var t;return o(e)&&(t=e.constructor,(a(t)&&(t===u||o(t.prototype))||i(t)&&null===(t=t[l]))&&(t=void 0)),void 0===t?u:t}},4264:(e,t,r)=>{var n=r(1431);e.exports=function(e,t){return new(n(e))(0===t?0:t)}},5554:(e,t,r)=>{var n=r(5561),o=r(6907);e.exports=function(e,t,r,a){try{return a?t(n(r)[0],r[1]):t(r)}catch(t){o(e,\\\"throw\\\",t)}}},9274:(e,t,r)=>{var n=r(8036)(\\\"iterator\\\"),o=!1;try{var a=0,i={next:function(){return{done:!!a++}},return:function(){o=!0}};i[n]=function(){return this},Array.from(i,(function(){throw 2}))}catch(e){}e.exports=function(e,t){if(!t&&!o)return!1;var r=!1;try{var a={};a[n]=function(){return{next:function(){return{done:r=!0}}}},e(a)}catch(e){}return r}},2708:(e,t,r)=>{var n=r(4471),o=n({}.toString),a=n(\\\"\\\".slice);e.exports=function(e){return a(o(e),8,-1)}},782:(e,t,r)=>{var n=r(4323),o=r(7452),a=r(8936),i=r(2708),l=r(8036)(\\\"toStringTag\\\"),u=n.Object,s=\\\"Arguments\\\"==i(function(){return arguments}());e.exports=o?i:function(e){var t,r,n;return void 0===e?\\\"Undefined\\\":null===e?\\\"Null\\\":\\\"string\\\"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=u(e),l))?r:s?i(t):\\\"Object\\\"==(n=i(t))&&a(t.callee)?\\\"Arguments\\\":n}},8216:(e,t,r)=>{\\\"use strict\\\";var n=r(8011),o=r(6438),a=r(5561);e.exports=function(){for(var e=a(this),t=o(e.add),r=0,i=arguments.length;r<i;r++)n(t,e,arguments[r]);return e}},5424:(e,t,r)=>{\\\"use strict\\\";var n=r(8011),o=r(6438),a=r(5561);e.exports=function(){for(var e,t=a(this),r=o(t.delete),i=!0,l=0,u=arguments.length;l<u;l++)e=n(r,t,arguments[l]),i=i&&e;return!!i}},2858:(e,t,r)=>{\\\"use strict\\\";var n=r(2604),o=r(8011),a=r(6438),i=r(4887),l=r(7478),u=[].push;e.exports=function(e){var t,r,s,c,f=arguments.length,d=f>1?arguments[1]:void 0;return i(this),(t=void 0!==d)&&a(d),void 0==e?new this:(r=[],t?(s=0,c=n(d,f>2?arguments[2]:void 0),l(e,(function(e){o(u,r,c(e,s++))}))):l(e,u,{that:r}),new this(r))}},2256:(e,t,r)=>{\\\"use strict\\\";var n=r(3707);e.exports=function(){return new this(n(arguments))}},4674:(e,t,r)=>{\\\"use strict\\\";var n=r(8734).f,o=r(5313),a=r(4342),i=r(2604),l=r(2874),u=r(7478),s=r(5498),c=r(3208),f=r(6122),d=r(3289).fastKey,p=r(9523),h=p.set,g=p.getterFor;e.exports={getConstructor:function(e,t,r,s){var c=e((function(e,n){l(e,p),h(e,{type:t,index:o(null),first:void 0,last:void 0,size:0}),f||(e.size=0),void 0!=n&&u(n,e[s],{that:e,AS_ENTRIES:r})})),p=c.prototype,m=g(t),v=function(e,t,r){var n,o,a=m(e),i=y(e,t);return i?i.value=r:(a.last=i={index:o=d(t,!0),key:t,value:r,previous:n=a.last,next:void 0,removed:!1},a.first||(a.first=i),n&&(n.next=i),f?a.size++:e.size++,\\\"F\\\"!==o&&(a.index[o]=i)),e},y=function(e,t){var r,n=m(e),o=d(t);if(\\\"F\\\"!==o)return n.index[o];for(r=n.first;r;r=r.next)if(r.key==t)return r};return a(p,{clear:function(){for(var e=m(this),t=e.index,r=e.first;r;)r.removed=!0,r.previous&&(r.previous=r.previous.next=void 0),delete t[r.index],r=r.next;e.first=e.last=void 0,f?e.size=0:this.size=0},delete:function(e){var t=this,r=m(t),n=y(t,e);if(n){var o=n.next,a=n.previous;delete r.index[n.index],n.removed=!0,a&&(a.next=o),o&&(o.previous=a),r.first==n&&(r.first=o),r.last==n&&(r.last=a),f?r.size--:t.size--}return!!n},forEach:function(e){for(var t,r=m(this),n=i(e,arguments.length>1?arguments[1]:void 0);t=t?t.next:r.first;)for(n(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!y(this,e)}}),a(p,r?{get:function(e){var t=y(this,e);return t&&t.value},set:function(e,t){return v(this,0===e?0:e,t)}}:{add:function(e){return v(this,e=0===e?0:e,e)}}),f&&n(p,\\\"size\\\",{get:function(){return m(this).size}}),c},setStrong:function(e,t,r){var n=t+\\\" Iterator\\\",o=g(t),a=g(n);s(e,t,(function(e,t){h(this,{type:n,target:e,state:o(e),kind:t,last:void 0})}),(function(){for(var e=a(this),t=e.kind,r=e.last;r&&r.removed;)r=r.previous;return e.target&&(e.last=r=r?r.next:e.state.first)?\\\"keys\\\"==t?{value:r.key,done:!1}:\\\"values\\\"==t?{value:r.value,done:!1}:{value:[r.key,r.value],done:!1}:(e.target=void 0,{value:void 0,done:!0})}),r?\\\"entries\\\":\\\"values\\\",!r,!0),c(t)}}},7088:(e,t,r)=>{\\\"use strict\\\";var n=r(7443),o=r(4323),a=r(4471),i=r(5257),l=r(7842),u=r(3289),s=r(7478),c=r(2874),f=r(8936),d=r(1784),p=r(8244),h=r(9274),g=r(3107),m=r(849);e.exports=function(e,t,r){var v=-1!==e.indexOf(\\\"Map\\\"),y=-1!==e.indexOf(\\\"Weak\\\"),b=v?\\\"set\\\":\\\"add\\\",w=o[e],x=w&&w.prototype,k=w,E={},S=function(e){var t=a(x[e]);l(x,e,\\\"add\\\"==e?function(e){return t(this,0===e?0:e),this}:\\\"delete\\\"==e?function(e){return!(y&&!d(e))&&t(this,0===e?0:e)}:\\\"get\\\"==e?function(e){return y&&!d(e)?void 0:t(this,0===e?0:e)}:\\\"has\\\"==e?function(e){return!(y&&!d(e))&&t(this,0===e?0:e)}:function(e,r){return t(this,0===e?0:e,r),this})};if(i(e,!f(w)||!(y||x.forEach&&!p((function(){(new w).entries().next()})))))k=r.getConstructor(t,e,v,b),u.enable();else if(i(e,!0)){var T=new k,_=T[b](y?{}:-0,1)!=T,C=p((function(){T.has(1)})),O=h((function(e){new w(e)})),P=!y&&p((function(){for(var e=new w,t=5;t--;)e[b](t,t);return!e.has(-0)}));O||((k=t((function(e,t){c(e,x);var r=m(new w,e,k);return void 0!=t&&s(t,r[b],{that:r,AS_ENTRIES:v}),r}))).prototype=x,x.constructor=k),(C||P)&&(S(\\\"delete\\\"),S(\\\"has\\\"),v&&S(\\\"get\\\")),(P||_)&&S(b),y&&x.clear&&delete x.clear}return E[e]=k,n({global:!0,forced:k!=w},E),g(k,e),y||r.setStrong(k,e,v),k}},1881:(e,t,r)=>{var n=r(4554),o=r(4875),a=r(2850),i=r(8734);e.exports=function(e,t){for(var r=o(t),l=i.f,u=a.f,s=0;s<r.length;s++){var c=r[s];n(e,c)||l(e,c,u(t,c))}}},1681:(e,t,r)=>{var n=r(8244);e.exports=!n((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},2081:(e,t,r)=>{\\\"use strict\\\";var n=r(5847).IteratorPrototype,o=r(5313),a=r(1536),i=r(3107),l=r(4729),u=function(){return this};e.exports=function(e,t,r){var s=t+\\\" Iterator\\\";return e.prototype=o(n,{next:a(1,r)}),i(e,s,!1,!0),l[s]=u,e}},1193:(e,t,r)=>{var n=r(6122),o=r(8734),a=r(1536);e.exports=n?function(e,t,r){return o.f(e,t,a(1,r))}:function(e,t,r){return e[t]=r,e}},1536:e=>{e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},8212:(e,t,r)=>{\\\"use strict\\\";var n=r(4626),o=r(8734),a=r(1536);e.exports=function(e,t,r){var i=n(t);i in e?o.f(e,i,a(0,r)):e[i]=r}},5498:(e,t,r)=>{\\\"use strict\\\";var n=r(7443),o=r(8011),a=r(173),i=r(9489),l=r(8936),u=r(2081),s=r(5461),c=r(4599),f=r(3107),d=r(1193),p=r(7842),h=r(8036),g=r(4729),m=r(5847),v=i.PROPER,y=i.CONFIGURABLE,b=m.IteratorPrototype,w=m.BUGGY_SAFARI_ITERATORS,x=h(\\\"iterator\\\"),k=\\\"keys\\\",E=\\\"values\\\",S=\\\"entries\\\",T=function(){return this};e.exports=function(e,t,r,i,h,m,_){u(r,t,i);var C,O,P,R=function(e){if(e===h&&D)return D;if(!w&&e in L)return L[e];switch(e){case k:case E:case S:return function(){return new r(this,e)}}return function(){return new r(this)}},A=t+\\\" Iterator\\\",q=!1,L=e.prototype,N=L[x]||L[\\\"@@iterator\\\"]||h&&L[h],D=!w&&N||R(h),I=\\\"Array\\\"==t&&L.entries||N;if(I&&(C=s(I.call(new e)))!==Object.prototype&&C.next&&(a||s(C)===b||(c?c(C,b):l(C[x])||p(C,x,T)),f(C,A,!0,!0),a&&(g[A]=T)),v&&h==E&&N&&N.name!==E&&(!a&&y?d(L,\\\"name\\\",E):(q=!0,D=function(){return o(N,this)})),h)if(O={values:R(E),keys:m?D:R(k),entries:R(S)},_)for(P in O)(w||q||!(P in L))&&p(L,P,O[P]);else n({target:t,proto:!0,forced:w||q},O);return a&&!_||L[x]===D||p(L,x,D,{name:h}),g[t]=D,O}},3092:(e,t,r)=>{var n=r(4400),o=r(4554),a=r(2220),i=r(8734).f;e.exports=function(e){var t=n.Symbol||(n.Symbol={});o(t,e)||i(t,e,{value:a.f(e)})}},6122:(e,t,r)=>{var n=r(8244);e.exports=!n((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},7586:(e,t,r)=>{var n=r(4323),o=r(1784),a=n.document,i=o(a)&&o(a.createElement);e.exports=function(e){return i?a.createElement(e):{}}},4587:e=>{e.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},9017:(e,t,r)=>{var n=r(7586)(\\\"span\\\").classList,o=n&&n.constructor&&n.constructor.prototype;e.exports=o===Object.prototype?void 0:o},7438:(e,t,r)=>{var n=r(1850);e.exports=n(\\\"navigator\\\",\\\"userAgent\\\")||\\\"\\\"},7790:(e,t,r)=>{var n,o,a=r(4323),i=r(7438),l=a.process,u=a.Deno,s=l&&l.versions||u&&u.version,c=s&&s.v8;c&&(o=(n=c.split(\\\".\\\"))[0]>0&&n[0]<4?1:+(n[0]+n[1])),!o&&i&&(!(n=i.match(/Edge\\\\/(\\\\d+)/))||n[1]>=74)&&(n=i.match(/Chrome\\\\/(\\\\d+)/))&&(o=+n[1]),e.exports=o},3267:e=>{e.exports=[\\\"constructor\\\",\\\"hasOwnProperty\\\",\\\"isPrototypeOf\\\",\\\"propertyIsEnumerable\\\",\\\"toLocaleString\\\",\\\"toString\\\",\\\"valueOf\\\"]},7443:(e,t,r)=>{var n=r(4323),o=r(2850).f,a=r(1193),i=r(7842),l=r(361),u=r(1881),s=r(5257);e.exports=function(e,t){var r,c,f,d,p,h=e.target,g=e.global,m=e.stat;if(r=g?n:m?n[h]||l(h,{}):(n[h]||{}).prototype)for(c in t){if(d=t[c],f=e.noTargetGet?(p=o(r,c))&&p.value:r[c],!s(g?c:h+(m?\\\".\\\":\\\"#\\\")+c,e.forced)&&void 0!==f){if(typeof d==typeof f)continue;u(d,f)}(e.sham||f&&f.sham)&&a(d,\\\"sham\\\",!0),i(r,c,d,e)}}},8244:e=>{e.exports=function(e){try{return!!e()}catch(e){return!0}}},8614:(e,t,r)=>{var n=r(8244);e.exports=!n((function(){return Object.isExtensible(Object.preventExtensions({}))}))},9667:e=>{var t=Function.prototype,r=t.apply,n=t.bind,o=t.call;e.exports=\\\"object\\\"==typeof Reflect&&Reflect.apply||(n?o.bind(r):function(){return o.apply(r,arguments)})},2604:(e,t,r)=>{var n=r(4471),o=r(6438),a=n(n.bind);e.exports=function(e,t){return o(e),void 0===t?e:a?a(e,t):function(){return e.apply(t,arguments)}}},8011:e=>{var t=Function.prototype.call;e.exports=t.bind?t.bind(t):function(){return t.apply(t,arguments)}},9489:(e,t,r)=>{var n=r(6122),o=r(4554),a=Function.prototype,i=n&&Object.getOwnPropertyDescriptor,l=o(a,\\\"name\\\"),u=l&&\\\"something\\\"===function(){}.name,s=l&&(!n||n&&i(a,\\\"name\\\").configurable);e.exports={EXISTS:l,PROPER:u,CONFIGURABLE:s}},4471:e=>{var t=Function.prototype,r=t.bind,n=t.call,o=r&&r.bind(n);e.exports=r?function(e){return e&&o(n,e)}:function(e){return e&&function(){return n.apply(e,arguments)}}},1850:(e,t,r)=>{var n=r(4323),o=r(8936),a=function(e){return o(e)?e:void 0};e.exports=function(e,t){return arguments.length<2?a(n[e]):n[e]&&n[e][t]}},1913:(e,t,r)=>{var n=r(782),o=r(2339),a=r(4729),i=r(8036)(\\\"iterator\\\");e.exports=function(e){if(void 0!=e)return o(e,i)||o(e,\\\"@@iterator\\\")||a[n(e)]}},7481:(e,t,r)=>{var n=r(4323),o=r(8011),a=r(6438),i=r(5561),l=r(7429),u=r(1913),s=n.TypeError;e.exports=function(e,t){var r=arguments.length<2?u(e):t;if(a(r))return i(o(r,e));throw s(l(e)+\\\" is not iterable\\\")}},6611:(e,t,r)=>{var n=r(8011);e.exports=function(e){return n(Map.prototype.entries,e)}},2339:(e,t,r)=>{var n=r(6438);e.exports=function(e,t){var r=e[t];return null==r?void 0:n(r)}},2196:(e,t,r)=>{var n=r(8011);e.exports=function(e){return n(Set.prototype.values,e)}},4323:(e,t,r)=>{var n=function(e){return e&&e.Math==Math&&e};e.exports=n(\\\"object\\\"==typeof globalThis&&globalThis)||n(\\\"object\\\"==typeof window&&window)||n(\\\"object\\\"==typeof self&&self)||n(\\\"object\\\"==typeof r.g&&r.g)||function(){return this}()||Function(\\\"return this\\\")()},4554:(e,t,r)=>{var n=r(4471),o=r(4234),a=n({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,t){return a(o(e),t)}},2260:e=>{e.exports={}},5685:(e,t,r)=>{var n=r(1850);e.exports=n(\\\"document\\\",\\\"documentElement\\\")},9951:(e,t,r)=>{var n=r(6122),o=r(8244),a=r(7586);e.exports=!n&&!o((function(){return 7!=Object.defineProperty(a(\\\"div\\\"),\\\"a\\\",{get:function(){return 7}}).a}))},13:(e,t,r)=>{var n=r(4323),o=r(4471),a=r(8244),i=r(2708),l=n.Object,u=o(\\\"\\\".split);e.exports=a((function(){return!l(\\\"z\\\").propertyIsEnumerable(0)}))?function(e){return\\\"String\\\"==i(e)?u(e,\\\"\\\"):l(e)}:l},849:(e,t,r)=>{var n=r(8936),o=r(1784),a=r(4599);e.exports=function(e,t,r){var i,l;return a&&n(i=t.constructor)&&i!==r&&o(l=i.prototype)&&l!==r.prototype&&a(e,l),e}},3436:(e,t,r)=>{var n=r(4471),o=r(8936),a=r(4946),i=n(Function.toString);o(a.inspectSource)||(a.inspectSource=function(e){return i(e)}),e.exports=a.inspectSource},3289:(e,t,r)=>{var n=r(7443),o=r(4471),a=r(2260),i=r(1784),l=r(4554),u=r(8734).f,s=r(9043),c=r(5580),f=r(9114),d=r(4397),p=r(8614),h=!1,g=d(\\\"meta\\\"),m=0,v=function(e){u(e,g,{value:{objectID:\\\"O\\\"+m++,weakData:{}}})},y=e.exports={enable:function(){y.enable=function(){},h=!0;var e=s.f,t=o([].splice),r={};r[g]=1,e(r).length&&(s.f=function(r){for(var n=e(r),o=0,a=n.length;o<a;o++)if(n[o]===g){t(n,o,1);break}return n},n({target:\\\"Object\\\",stat:!0,forced:!0},{getOwnPropertyNames:c.f}))},fastKey:function(e,t){if(!i(e))return\\\"symbol\\\"==typeof e?e:(\\\"string\\\"==typeof e?\\\"S\\\":\\\"P\\\")+e;if(!l(e,g)){if(!f(e))return\\\"F\\\";if(!t)return\\\"E\\\";v(e)}return e[g].objectID},getWeakData:function(e,t){if(!l(e,g)){if(!f(e))return!0;if(!t)return!1;v(e)}return e[g].weakData},onFreeze:function(e){return p&&h&&f(e)&&!l(e,g)&&v(e),e}};a[g]=!0},9523:(e,t,r)=>{var n,o,a,i=r(751),l=r(4323),u=r(4471),s=r(1784),c=r(1193),f=r(4554),d=r(4946),p=r(5237),h=r(2260),g=\\\"Object already initialized\\\",m=l.TypeError,v=l.WeakMap;if(i||d.state){var y=d.state||(d.state=new v),b=u(y.get),w=u(y.has),x=u(y.set);n=function(e,t){if(w(y,e))throw new m(g);return t.facade=e,x(y,e,t),t},o=function(e){return b(y,e)||{}},a=function(e){return w(y,e)}}else{var k=p(\\\"state\\\");h[k]=!0,n=function(e,t){if(f(e,k))throw new m(g);return t.facade=e,c(e,k,t),t},o=function(e){return f(e,k)?e[k]:{}},a=function(e){return f(e,k)}}e.exports={set:n,get:o,has:a,enforce:function(e){return a(e)?o(e):n(e,{})},getterFor:function(e){return function(t){var r;if(!s(t)||(r=o(t)).type!==e)throw m(\\\"Incompatible receiver, \\\"+e+\\\" required\\\");return r}}}},5271:(e,t,r)=>{var n=r(8036),o=r(4729),a=n(\\\"iterator\\\"),i=Array.prototype;e.exports=function(e){return void 0!==e&&(o.Array===e||i[a]===e)}},8997:(e,t,r)=>{var n=r(2708);e.exports=Array.isArray||function(e){return\\\"Array\\\"==n(e)}},8936:e=>{e.exports=function(e){return\\\"function\\\"==typeof e}},1568:(e,t,r)=>{var n=r(4471),o=r(8244),a=r(8936),i=r(782),l=r(1850),u=r(3436),s=function(){},c=[],f=l(\\\"Reflect\\\",\\\"construct\\\"),d=/^\\\\s*(?:class|function)\\\\b/,p=n(d.exec),h=!d.exec(s),g=function(e){if(!a(e))return!1;try{return f(s,c,e),!0}catch(e){return!1}};e.exports=!f||o((function(){var e;return g(g.call)||!g(Object)||!g((function(){e=!0}))||e}))?function(e){if(!a(e))return!1;switch(i(e)){case\\\"AsyncFunction\\\":case\\\"GeneratorFunction\\\":case\\\"AsyncGeneratorFunction\\\":return!1}return h||!!p(d,u(e))}:g},5257:(e,t,r)=>{var n=r(8244),o=r(8936),a=/#|\\\\.prototype\\\\./,i=function(e,t){var r=u[l(e)];return r==c||r!=s&&(o(t)?n(t):!!t)},l=i.normalize=function(e){return String(e).replace(a,\\\".\\\").toLowerCase()},u=i.data={},s=i.NATIVE=\\\"N\\\",c=i.POLYFILL=\\\"P\\\";e.exports=i},1784:(e,t,r)=>{var n=r(8936);e.exports=function(e){return\\\"object\\\"==typeof e?null!==e:n(e)}},173:e=>{e.exports=!1},985:(e,t,r)=>{var n=r(4323),o=r(1850),a=r(8936),i=r(2038),l=r(6005),u=n.Object;e.exports=l?function(e){return\\\"symbol\\\"==typeof e}:function(e){var t=o(\\\"Symbol\\\");return a(t)&&i(t.prototype,u(e))}},7478:(e,t,r)=>{var n=r(4323),o=r(2604),a=r(8011),i=r(5561),l=r(7429),u=r(5271),s=r(1472),c=r(2038),f=r(7481),d=r(1913),p=r(6907),h=n.TypeError,g=function(e,t){this.stopped=e,this.result=t},m=g.prototype;e.exports=function(e,t,r){var n,v,y,b,w,x,k,E=r&&r.that,S=!(!r||!r.AS_ENTRIES),T=!(!r||!r.IS_ITERATOR),_=!(!r||!r.INTERRUPTED),C=o(t,E),O=function(e){return n&&p(n,\\\"normal\\\",e),new g(!0,e)},P=function(e){return S?(i(e),_?C(e[0],e[1],O):C(e[0],e[1])):_?C(e,O):C(e)};if(T)n=e;else{if(!(v=d(e)))throw h(l(e)+\\\" is not iterable\\\");if(u(v)){for(y=0,b=s(e);b>y;y++)if((w=P(e[y]))&&c(m,w))return w;return new g(!1)}n=f(e,v)}for(x=n.next;!(k=a(x,n)).done;){try{w=P(k.value)}catch(e){p(n,\\\"throw\\\",e)}if(\\\"object\\\"==typeof w&&w&&c(m,w))return w}return new g(!1)}},6907:(e,t,r)=>{var n=r(8011),o=r(5561),a=r(2339);e.exports=function(e,t,r){var i,l;o(e);try{if(!(i=a(e,\\\"return\\\"))){if(\\\"throw\\\"===t)throw r;return r}i=n(i,e)}catch(e){l=!0,i=e}if(\\\"throw\\\"===t)throw r;if(l)throw i;return o(i),r}},5847:(e,t,r)=>{\\\"use strict\\\";var n,o,a,i=r(8244),l=r(8936),u=r(5313),s=r(5461),c=r(7842),f=r(8036),d=r(173),p=f(\\\"iterator\\\"),h=!1;[].keys&&(\\\"next\\\"in(a=[].keys())?(o=s(s(a)))!==Object.prototype&&(n=o):h=!0),void 0==n||i((function(){var e={};return n[p].call(e)!==e}))?n={}:d&&(n=u(n)),l(n[p])||c(n,p,(function(){return this})),e.exports={IteratorPrototype:n,BUGGY_SAFARI_ITERATORS:h}},4729:e=>{e.exports={}},1472:(e,t,r)=>{var n=r(9631);e.exports=function(e){return n(e.length)}},5046:(e,t,r)=>{var n=r(7790),o=r(8244);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&n&&n<41}))},751:(e,t,r)=>{var n=r(4323),o=r(8936),a=r(3436),i=n.WeakMap;e.exports=o(i)&&/native code/.test(a(i))},5313:(e,t,r)=>{var n,o=r(5561),a=r(649),i=r(3267),l=r(2260),u=r(5685),s=r(7586),c=r(5237),f=c(\\\"IE_PROTO\\\"),d=function(){},p=function(e){return\\\"<script>\\\"+e+\\\"</\\\"+\\\"script>\\\"},h=function(e){e.write(p(\\\"\\\")),e.close();var t=e.parentWindow.Object;return e=null,t},g=function(){try{n=new ActiveXObject(\\\"htmlfile\\\")}catch(e){}var e,t;g=\\\"undefined\\\"!=typeof document?document.domain&&n?h(n):((t=s(\\\"iframe\\\")).style.display=\\\"none\\\",u.appendChild(t),t.src=String(\\\"javascript:\\\"),(e=t.contentWindow.document).open(),e.write(p(\\\"document.F=Object\\\")),e.close(),e.F):h(n);for(var r=i.length;r--;)delete g.prototype[i[r]];return g()};l[f]=!0,e.exports=Object.create||function(e,t){var r;return null!==e?(d.prototype=o(e),r=new d,d.prototype=null,r[f]=e):r=g(),void 0===t?r:a(r,t)}},649:(e,t,r)=>{var n=r(6122),o=r(8734),a=r(5561),i=r(2653),l=r(9246);e.exports=n?Object.defineProperties:function(e,t){a(e);for(var r,n=i(t),u=l(t),s=u.length,c=0;s>c;)o.f(e,r=u[c++],n[r]);return e}},8734:(e,t,r)=>{var n=r(4323),o=r(6122),a=r(9951),i=r(5561),l=r(4626),u=n.TypeError,s=Object.defineProperty;t.f=o?s:function(e,t,r){if(i(e),t=l(t),i(r),a)try{return s(e,t,r)}catch(e){}if(\\\"get\\\"in r||\\\"set\\\"in r)throw u(\\\"Accessors not supported\\\");return\\\"value\\\"in r&&(e[t]=r.value),e}},2850:(e,t,r)=>{var n=r(6122),o=r(8011),a=r(2589),i=r(1536),l=r(2653),u=r(4626),s=r(4554),c=r(9951),f=Object.getOwnPropertyDescriptor;t.f=n?f:function(e,t){if(e=l(e),t=u(t),c)try{return f(e,t)}catch(e){}if(s(e,t))return i(!o(a.f,e,t),e[t])}},5580:(e,t,r)=>{var n=r(2708),o=r(2653),a=r(9043).f,i=r(8942),l=\\\"object\\\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return l&&\\\"Window\\\"==n(e)?function(e){try{return a(e)}catch(e){return i(l)}}(e):a(o(e))}},9043:(e,t,r)=>{var n=r(8662),o=r(3267).concat(\\\"length\\\",\\\"prototype\\\");t.f=Object.getOwnPropertyNames||function(e){return n(e,o)}},229:(e,t)=>{t.f=Object.getOwnPropertySymbols},5461:(e,t,r)=>{var n=r(4323),o=r(4554),a=r(8936),i=r(4234),l=r(5237),u=r(1681),s=l(\\\"IE_PROTO\\\"),c=n.Object,f=c.prototype;e.exports=u?c.getPrototypeOf:function(e){var t=i(e);if(o(t,s))return t[s];var r=t.constructor;return a(r)&&t instanceof r?r.prototype:t instanceof c?f:null}},9114:(e,t,r)=>{var n=r(8244),o=r(1784),a=r(2708),i=r(7826),l=Object.isExtensible,u=n((function(){l(1)}));e.exports=u||i?function(e){return!!o(e)&&((!i||\\\"ArrayBuffer\\\"!=a(e))&&(!l||l(e)))}:l},2038:(e,t,r)=>{var n=r(4471);e.exports=n({}.isPrototypeOf)},8662:(e,t,r)=>{var n=r(4471),o=r(4554),a=r(2653),i=r(3336).indexOf,l=r(2260),u=n([].push);e.exports=function(e,t){var r,n=a(e),s=0,c=[];for(r in n)!o(l,r)&&o(n,r)&&u(c,r);for(;t.length>s;)o(n,r=t[s++])&&(~i(c,r)||u(c,r));return c}},9246:(e,t,r)=>{var n=r(8662),o=r(3267);e.exports=Object.keys||function(e){return n(e,o)}},2589:(e,t)=>{\\\"use strict\\\";var r={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor,o=n&&!r.call({1:2},1);t.f=o?function(e){var t=n(this,e);return!!t&&t.enumerable}:r},4599:(e,t,r)=>{var n=r(4471),o=r(5561),a=r(4846);e.exports=Object.setPrototypeOf||(\\\"__proto__\\\"in{}?function(){var e,t=!1,r={};try{(e=n(Object.getOwnPropertyDescriptor(Object.prototype,\\\"__proto__\\\").set))(r,[]),t=r instanceof Array}catch(e){}return function(r,n){return o(r),a(n),t?e(r,n):r.__proto__=n,r}}():void 0)},9974:(e,t,r)=>{\\\"use strict\\\";var n=r(7452),o=r(782);e.exports=n?{}.toString:function(){return\\\"[object \\\"+o(this)+\\\"]\\\"}},8306:(e,t,r)=>{var n=r(4323),o=r(8011),a=r(8936),i=r(1784),l=n.TypeError;e.exports=function(e,t){var r,n;if(\\\"string\\\"===t&&a(r=e.toString)&&!i(n=o(r,e)))return n;if(a(r=e.valueOf)&&!i(n=o(r,e)))return n;if(\\\"string\\\"!==t&&a(r=e.toString)&&!i(n=o(r,e)))return n;throw l(\\\"Can't convert object to primitive value\\\")}},4875:(e,t,r)=>{var n=r(1850),o=r(4471),a=r(9043),i=r(229),l=r(5561),u=o([].concat);e.exports=n(\\\"Reflect\\\",\\\"ownKeys\\\")||function(e){var t=a.f(l(e)),r=i.f;return r?u(t,r(e)):t}},4400:(e,t,r)=>{var n=r(4323);e.exports=n},4342:(e,t,r)=>{var n=r(7842);e.exports=function(e,t,r){for(var o in t)n(e,o,t[o],r);return e}},7842:(e,t,r)=>{var n=r(4323),o=r(8936),a=r(4554),i=r(1193),l=r(361),u=r(3436),s=r(9523),c=r(9489).CONFIGURABLE,f=s.get,d=s.enforce,p=String(String).split(\\\"String\\\");(e.exports=function(e,t,r,u){var s,f=!!u&&!!u.unsafe,h=!!u&&!!u.enumerable,g=!!u&&!!u.noTargetGet,m=u&&void 0!==u.name?u.name:t;o(r)&&(\\\"Symbol(\\\"===String(m).slice(0,7)&&(m=\\\"[\\\"+String(m).replace(/^Symbol\\\\(([^)]*)\\\\)/,\\\"$1\\\")+\\\"]\\\"),(!a(r,\\\"name\\\")||c&&r.name!==m)&&i(r,\\\"name\\\",m),(s=d(r)).source||(s.source=p.join(\\\"string\\\"==typeof m?m:\\\"\\\"))),e!==n?(f?!g&&e[t]&&(h=!0):delete e[t],h?e[t]=r:i(e,t,r)):h?e[t]=r:l(t,r)})(Function.prototype,\\\"toString\\\",(function(){return o(this)&&f(this).source||u(this)}))},556:(e,t,r)=>{var n=r(4323).TypeError;e.exports=function(e){if(void 0==e)throw n(\\\"Can't call method on \\\"+e);return e}},8787:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},361:(e,t,r)=>{var n=r(4323),o=Object.defineProperty;e.exports=function(e,t){try{o(n,e,{value:t,configurable:!0,writable:!0})}catch(r){n[e]=t}return t}},3208:(e,t,r)=>{\\\"use strict\\\";var n=r(1850),o=r(8734),a=r(8036),i=r(6122),l=a(\\\"species\\\");e.exports=function(e){var t=n(e),r=o.f;i&&t&&!t[l]&&r(t,l,{configurable:!0,get:function(){return this}})}},3107:(e,t,r)=>{var n=r(8734).f,o=r(4554),a=r(8036)(\\\"toStringTag\\\");e.exports=function(e,t,r){e&&!o(e=r?e:e.prototype,a)&&n(e,a,{configurable:!0,value:t})}},5237:(e,t,r)=>{var n=r(1033),o=r(4397),a=n(\\\"keys\\\");e.exports=function(e){return a[e]||(a[e]=o(e))}},4946:(e,t,r)=>{var n=r(4323),o=r(361),a=\\\"__core-js_shared__\\\",i=n[a]||o(a,{});e.exports=i},1033:(e,t,r)=>{var n=r(173),o=r(4946);(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})(\\\"versions\\\",[]).push({version:\\\"3.19.2\\\",mode:n?\\\"pure\\\":\\\"global\\\",copyright:\\\"\\xA9 2021 Denis Pushkarev (zloirock.ru)\\\"})},8272:(e,t,r)=>{var n=r(5561),o=r(4887),a=r(8036)(\\\"species\\\");e.exports=function(e,t){var r,i=n(e).constructor;return void 0===i||void 0==(r=n(i)[a])?t:o(r)}},8648:(e,t,r)=>{var n=r(4471),o=r(2927),a=r(2404),i=r(556),l=n(\\\"\\\".charAt),u=n(\\\"\\\".charCodeAt),s=n(\\\"\\\".slice),c=function(e){return function(t,r){var n,c,f=a(i(t)),d=o(r),p=f.length;return d<0||d>=p?e?\\\"\\\":void 0:(n=u(f,d))<55296||n>56319||d+1===p||(c=u(f,d+1))<56320||c>57343?e?l(f,d):n:e?s(f,d,d+2):c-56320+(n-55296<<10)+65536}};e.exports={codeAt:c(!1),charAt:c(!0)}},921:(e,t,r)=>{var n=r(2927),o=Math.max,a=Math.min;e.exports=function(e,t){var r=n(e);return r<0?o(r+t,0):a(r,t)}},2653:(e,t,r)=>{var n=r(13),o=r(556);e.exports=function(e){return n(o(e))}},2927:e=>{var t=Math.ceil,r=Math.floor;e.exports=function(e){var n=+e;return n!==n||0===n?0:(n>0?r:t)(n)}},9631:(e,t,r)=>{var n=r(2927),o=Math.min;e.exports=function(e){return e>0?o(n(e),9007199254740991):0}},4234:(e,t,r)=>{var n=r(4323),o=r(556),a=n.Object;e.exports=function(e){return a(o(e))}},1475:(e,t,r)=>{var n=r(4323),o=r(8011),a=r(1784),i=r(985),l=r(2339),u=r(8306),s=r(8036),c=n.TypeError,f=s(\\\"toPrimitive\\\");e.exports=function(e,t){if(!a(e)||i(e))return e;var r,n=l(e,f);if(n){if(void 0===t&&(t=\\\"default\\\"),r=o(n,e,t),!a(r)||i(r))return r;throw c(\\\"Can't convert object to primitive value\\\")}return void 0===t&&(t=\\\"number\\\"),u(e,t)}},4626:(e,t,r)=>{var n=r(1475),o=r(985);e.exports=function(e){var t=n(e,\\\"string\\\");return o(t)?t:t+\\\"\\\"}},7452:(e,t,r)=>{var n={};n[r(8036)(\\\"toStringTag\\\")]=\\\"z\\\",e.exports=\\\"[object z]\\\"===String(n)},2404:(e,t,r)=>{var n=r(4323),o=r(782),a=n.String;e.exports=function(e){if(\\\"Symbol\\\"===o(e))throw TypeError(\\\"Cannot convert a Symbol value to a string\\\");return a(e)}},7429:(e,t,r)=>{var n=r(4323).String;e.exports=function(e){try{return n(e)}catch(e){return\\\"Object\\\"}}},4397:(e,t,r)=>{var n=r(4471),o=0,a=Math.random(),i=n(1..toString);e.exports=function(e){return\\\"Symbol(\\\"+(void 0===e?\\\"\\\":e)+\\\")_\\\"+i(++o+a,36)}},6005:(e,t,r)=>{var n=r(5046);e.exports=n&&!Symbol.sham&&\\\"symbol\\\"==typeof Symbol.iterator},2220:(e,t,r)=>{var n=r(8036);t.f=n},8036:(e,t,r)=>{var n=r(4323),o=r(1033),a=r(4554),i=r(4397),l=r(5046),u=r(6005),s=o(\\\"wks\\\"),c=n.Symbol,f=c&&c.for,d=u?c:c&&c.withoutSetter||i;e.exports=function(e){if(!a(s,e)||!l&&\\\"string\\\"!=typeof s[e]){var t=\\\"Symbol.\\\"+e;l&&a(c,e)?s[e]=c[e]:s[e]=u&&f?f(t):d(t)}return s[e]}},5185:(e,t,r)=>{\\\"use strict\\\";var n=r(7443),o=r(4323),a=r(8244),i=r(8997),l=r(1784),u=r(4234),s=r(1472),c=r(8212),f=r(4264),d=r(5460),p=r(8036),h=r(7790),g=p(\\\"isConcatSpreadable\\\"),m=9007199254740991,v=\\\"Maximum allowed index exceeded\\\",y=o.TypeError,b=h>=51||!a((function(){var e=[];return e[g]=!1,e.concat()[0]!==e})),w=d(\\\"concat\\\"),x=function(e){if(!l(e))return!1;var t=e[g];return void 0!==t?!!t:i(e)};n({target:\\\"Array\\\",proto:!0,forced:!b||!w},{concat:function(e){var t,r,n,o,a,i=u(this),l=f(i,0),d=0;for(t=-1,n=arguments.length;t<n;t++)if(x(a=-1===t?i:arguments[t])){if(d+(o=s(a))>m)throw y(v);for(r=0;r<o;r++,d++)r in a&&c(l,d,a[r])}else{if(d>=m)throw y(v);c(l,d++,a)}return l.length=d,l}})},7925:(e,t,r)=>{var n=r(7443),o=r(8602);n({target:\\\"Array\\\",stat:!0,forced:!r(9274)((function(e){Array.from(e)}))},{from:o})},4801:(e,t,r)=>{\\\"use strict\\\";var n=r(2653),o=r(149),a=r(4729),i=r(9523),l=r(5498),u=\\\"Array Iterator\\\",s=i.set,c=i.getterFor(u);e.exports=l(Array,\\\"Array\\\",(function(e,t){s(this,{type:u,target:n(e),index:0,kind:t})}),(function(){var e=c(this),t=e.target,r=e.kind,n=e.index++;return!t||n>=t.length?(e.target=void 0,{value:void 0,done:!0}):\\\"keys\\\"==r?{value:n,done:!1}:\\\"values\\\"==r?{value:t[n],done:!1}:{value:[n,t[n]],done:!1}}),\\\"values\\\"),a.Arguments=a.Array,o(\\\"keys\\\"),o(\\\"values\\\"),o(\\\"entries\\\")},100:(e,t,r)=>{var n=r(4323);r(3107)(n.JSON,\\\"JSON\\\",!0)},1537:(e,t,r)=>{\\\"use strict\\\";r(7088)(\\\"Map\\\",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),r(4674))},1168:(e,t,r)=>{r(3107)(Math,\\\"Math\\\",!0)},3782:(e,t,r)=>{var n=r(7452),o=r(7842),a=r(9974);n||o(Object.prototype,\\\"toString\\\",a,{unsafe:!0})},3763:(e,t,r)=>{\\\"use strict\\\";r(7088)(\\\"Set\\\",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),r(4674))},8955:(e,t,r)=>{\\\"use strict\\\";var n=r(8648).charAt,o=r(2404),a=r(9523),i=r(5498),l=\\\"String Iterator\\\",u=a.set,s=a.getterFor(l);i(String,\\\"String\\\",(function(e){u(this,{type:l,string:o(e),index:0})}),(function(){var e,t=s(this),r=t.string,o=t.index;return o>=r.length?{value:void 0,done:!0}:(e=n(r,o),t.index+=e.length,{value:e,done:!1})}))},4658:(e,t,r)=>{r(3092)(\\\"asyncIterator\\\")},5998:(e,t,r)=>{\\\"use strict\\\";var n=r(7443),o=r(6122),a=r(4323),i=r(4471),l=r(4554),u=r(8936),s=r(2038),c=r(2404),f=r(8734).f,d=r(1881),p=a.Symbol,h=p&&p.prototype;if(o&&u(p)&&(!(\\\"description\\\"in h)||void 0!==p().description)){var g={},m=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:c(arguments[0]),t=s(h,this)?new p(e):void 0===e?p():p(e);return\\\"\\\"===e&&(g[t]=!0),t};d(m,p),m.prototype=h,h.constructor=m;var v=\\\"Symbol(test)\\\"==String(p(\\\"test\\\")),y=i(h.toString),b=i(h.valueOf),w=/^Symbol\\\\((.*)\\\\)[^)]+$/,x=i(\\\"\\\".replace),k=i(\\\"\\\".slice);f(h,\\\"description\\\",{configurable:!0,get:function(){var e=b(this),t=y(e);if(l(g,e))return\\\"\\\";var r=v?k(t,7,-1):x(t,w,\\\"$1\\\");return\\\"\\\"===r?void 0:r}}),n({global:!0,forced:!0},{Symbol:m})}},4711:(e,t,r)=>{r(3092)(\\\"hasInstance\\\")},7105:(e,t,r)=>{r(3092)(\\\"isConcatSpreadable\\\")},1034:(e,t,r)=>{r(3092)(\\\"iterator\\\")},1522:(e,t,r)=>{\\\"use strict\\\";var n=r(7443),o=r(4323),a=r(1850),i=r(9667),l=r(8011),u=r(4471),s=r(173),c=r(6122),f=r(5046),d=r(8244),p=r(4554),h=r(8997),g=r(8936),m=r(1784),v=r(2038),y=r(985),b=r(5561),w=r(4234),x=r(2653),k=r(4626),E=r(2404),S=r(1536),T=r(5313),_=r(9246),C=r(9043),O=r(5580),P=r(229),R=r(2850),A=r(8734),q=r(2589),L=r(3707),N=r(7842),D=r(1033),I=r(5237),j=r(2260),M=r(4397),F=r(8036),z=r(2220),U=r(3092),B=r(3107),V=r(9523),H=r(5241).forEach,W=I(\\\"hidden\\\"),G=\\\"Symbol\\\",$=F(\\\"toPrimitive\\\"),Q=V.set,Y=V.getterFor(G),K=Object.prototype,X=o.Symbol,J=X&&X.prototype,Z=o.TypeError,ee=o.QObject,te=a(\\\"JSON\\\",\\\"stringify\\\"),re=R.f,ne=A.f,oe=O.f,ae=q.f,ie=u([].push),le=D(\\\"symbols\\\"),ue=D(\\\"op-symbols\\\"),se=D(\\\"string-to-symbol-registry\\\"),ce=D(\\\"symbol-to-string-registry\\\"),fe=D(\\\"wks\\\"),de=!ee||!ee.prototype||!ee.prototype.findChild,pe=c&&d((function(){return 7!=T(ne({},\\\"a\\\",{get:function(){return ne(this,\\\"a\\\",{value:7}).a}})).a}))?function(e,t,r){var n=re(K,t);n&&delete K[t],ne(e,t,r),n&&e!==K&&ne(K,t,n)}:ne,he=function(e,t){var r=le[e]=T(J);return Q(r,{type:G,tag:e,description:t}),c||(r.description=t),r},ge=function(e,t,r){e===K&&ge(ue,t,r),b(e);var n=k(t);return b(r),p(le,n)?(r.enumerable?(p(e,W)&&e[W][n]&&(e[W][n]=!1),r=T(r,{enumerable:S(0,!1)})):(p(e,W)||ne(e,W,S(1,{})),e[W][n]=!0),pe(e,n,r)):ne(e,n,r)},me=function(e,t){b(e);var r=x(t),n=_(r).concat(we(r));return H(n,(function(t){c&&!l(ve,r,t)||ge(e,t,r[t])})),e},ve=function(e){var t=k(e),r=l(ae,this,t);return!(this===K&&p(le,t)&&!p(ue,t))&&(!(r||!p(this,t)||!p(le,t)||p(this,W)&&this[W][t])||r)},ye=function(e,t){var r=x(e),n=k(t);if(r!==K||!p(le,n)||p(ue,n)){var o=re(r,n);return!o||!p(le,n)||p(r,W)&&r[W][n]||(o.enumerable=!0),o}},be=function(e){var t=oe(x(e)),r=[];return H(t,(function(e){p(le,e)||p(j,e)||ie(r,e)})),r},we=function(e){var t=e===K,r=oe(t?ue:x(e)),n=[];return H(r,(function(e){!p(le,e)||t&&!p(K,e)||ie(n,le[e])})),n};(f||(N(J=(X=function(){if(v(J,this))throw Z(\\\"Symbol is not a constructor\\\");var e=arguments.length&&void 0!==arguments[0]?E(arguments[0]):void 0,t=M(e),r=function e(r){this===K&&l(e,ue,r),p(this,W)&&p(this[W],t)&&(this[W][t]=!1),pe(this,t,S(1,r))};return c&&de&&pe(K,t,{configurable:!0,set:r}),he(t,e)}).prototype,\\\"toString\\\",(function(){return Y(this).tag})),N(X,\\\"withoutSetter\\\",(function(e){return he(M(e),e)})),q.f=ve,A.f=ge,R.f=ye,C.f=O.f=be,P.f=we,z.f=function(e){return he(F(e),e)},c&&(ne(J,\\\"description\\\",{configurable:!0,get:function(){return Y(this).description}}),s||N(K,\\\"propertyIsEnumerable\\\",ve,{unsafe:!0}))),n({global:!0,wrap:!0,forced:!f,sham:!f},{Symbol:X}),H(_(fe),(function(e){U(e)})),n({target:G,stat:!0,forced:!f},{for:function(e){var t=E(e);if(p(se,t))return se[t];var r=X(t);return se[t]=r,ce[r]=t,r},keyFor:function(e){if(!y(e))throw Z(e+\\\" is not a symbol\\\");if(p(ce,e))return ce[e]},useSetter:function(){de=!0},useSimple:function(){de=!1}}),n({target:\\\"Object\\\",stat:!0,forced:!f,sham:!c},{create:function(e,t){return void 0===t?T(e):me(T(e),t)},defineProperty:ge,defineProperties:me,getOwnPropertyDescriptor:ye}),n({target:\\\"Object\\\",stat:!0,forced:!f},{getOwnPropertyNames:be,getOwnPropertySymbols:we}),n({target:\\\"Object\\\",stat:!0,forced:d((function(){P.f(1)}))},{getOwnPropertySymbols:function(e){return P.f(w(e))}}),te)&&n({target:\\\"JSON\\\",stat:!0,forced:!f||d((function(){var e=X();return\\\"[null]\\\"!=te([e])||\\\"{}\\\"!=te({a:e})||\\\"{}\\\"!=te(Object(e))}))},{stringify:function(e,t,r){var n=L(arguments),o=t;if((m(t)||void 0!==e)&&!y(e))return h(t)||(t=function(e,t){if(g(o)&&(t=l(o,this,e,t)),!y(t))return t}),n[1]=t,i(te,null,n)}});if(!J[$]){var xe=J.valueOf;N(J,$,(function(e){return l(xe,this)}))}B(X,G),j[W]=!0},9227:(e,t,r)=>{r(3092)(\\\"match\\\")},9385:(e,t,r)=>{r(3092)(\\\"replace\\\")},9764:(e,t,r)=>{r(3092)(\\\"search\\\")},3264:(e,t,r)=>{r(3092)(\\\"species\\\")},1257:(e,t,r)=>{r(3092)(\\\"split\\\")},6435:(e,t,r)=>{r(3092)(\\\"toPrimitive\\\")},681:(e,t,r)=>{r(3092)(\\\"toStringTag\\\")},7313:(e,t,r)=>{r(3092)(\\\"unscopables\\\")},3035:(e,t,r)=>{\\\"use strict\\\";r(7443)({target:\\\"Map\\\",proto:!0,real:!0,forced:r(173)},{deleteAll:r(5424)})},2481:(e,t,r)=>{\\\"use strict\\\";var n=r(7443),o=r(173),a=r(5561),i=r(2604),l=r(6611),u=r(7478);n({target:\\\"Map\\\",proto:!0,real:!0,forced:o},{every:function(e){var t=a(this),r=l(t),n=i(e,arguments.length>1?arguments[1]:void 0);return!u(r,(function(e,r,o){if(!n(r,e,t))return o()}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}})},673:(e,t,r)=>{\\\"use strict\\\";var n=r(173),o=r(7443),a=r(1850),i=r(2604),l=r(8011),u=r(6438),s=r(5561),c=r(8272),f=r(6611),d=r(7478);o({target:\\\"Map\\\",proto:!0,real:!0,forced:n},{filter:function(e){var t=s(this),r=f(t),n=i(e,arguments.length>1?arguments[1]:void 0),o=new(c(t,a(\\\"Map\\\"))),p=u(o.set);return d(r,(function(e,r){n(r,e,t)&&l(p,o,e,r)}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),o}})},5837:(e,t,r)=>{\\\"use strict\\\";var n=r(7443),o=r(173),a=r(5561),i=r(2604),l=r(6611),u=r(7478);n({target:\\\"Map\\\",proto:!0,real:!0,forced:o},{findKey:function(e){var t=a(this),r=l(t),n=i(e,arguments.length>1?arguments[1]:void 0);return u(r,(function(e,r,o){if(n(r,e,t))return o(e)}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).result}})},4756:(e,t,r)=>{\\\"use strict\\\";var n=r(7443),o=r(173),a=r(5561),i=r(2604),l=r(6611),u=r(7478);n({target:\\\"Map\\\",proto:!0,real:!0,forced:o},{find:function(e){var t=a(this),r=l(t),n=i(e,arguments.length>1?arguments[1]:void 0);return u(r,(function(e,r,o){if(n(r,e,t))return o(r)}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).result}})},471:(e,t,r)=>{r(7443)({target:\\\"Map\\\",stat:!0},{from:r(2858)})},6692:(e,t,r)=>{\\\"use strict\\\";var n=r(7443),o=r(8011),a=r(4471),i=r(6438),l=r(7481),u=r(7478),s=a([].push);n({target:\\\"Map\\\",stat:!0},{groupBy:function(e,t){i(t);var r=l(e),n=new this,a=i(n.has),c=i(n.get),f=i(n.set);return u(r,(function(e){var r=t(e);o(a,n,r)?s(o(c,n,r),e):o(f,n,r,[e])}),{IS_ITERATOR:!0}),n}})},5853:(e,t,r)=>{\\\"use strict\\\";var n=r(173),o=r(7443),a=r(5561),i=r(6611),l=r(8787),u=r(7478);o({target:\\\"Map\\\",proto:!0,real:!0,forced:n},{includes:function(e){return u(i(a(this)),(function(t,r,n){if(l(r,e))return n()}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}})},7415:(e,t,r)=>{\\\"use strict\\\";var n=r(7443),o=r(8011),a=r(7478),i=r(6438);n({target:\\\"Map\\\",stat:!0},{keyBy:function(e,t){var r=new this;i(t);var n=i(r.set);return a(e,(function(e){o(n,r,t(e),e)})),r}})},4837:(e,t,r)=>{\\\"use strict\\\";var n=r(7443),o=r(173),a=r(5561),i=r(6611),l=r(7478);n({target:\\\"Map\\\",proto:!0,real:!0,forced:o},{keyOf:function(e){return l(i(a(this)),(function(t,r,n){if(r===e)return n(t)}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).result}})},4285:(e,t,r)=>{\\\"use strict\\\";var n=r(173),o=r(7443),a=r(1850),i=r(2604),l=r(8011),u=r(6438),s=r(5561),c=r(8272),f=r(6611),d=r(7478);o({target:\\\"Map\\\",proto:!0,real:!0,forced:n},{mapKeys:function(e){var t=s(this),r=f(t),n=i(e,arguments.length>1?arguments[1]:void 0),o=new(c(t,a(\\\"Map\\\"))),p=u(o.set);return d(r,(function(e,r){l(p,o,n(r,e,t),r)}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),o}})},9932:(e,t,r)=>{\\\"use strict\\\";var n=r(173),o=r(7443),a=r(1850),i=r(2604),l=r(8011),u=r(6438),s=r(5561),c=r(8272),f=r(6611),d=r(7478);o({target:\\\"Map\\\",proto:!0,real:!0,forced:n},{mapValues:function(e){var t=s(this),r=f(t),n=i(e,arguments.length>1?arguments[1]:void 0),o=new(c(t,a(\\\"Map\\\"))),p=u(o.set);return d(r,(function(e,r){l(p,o,e,n(r,e,t))}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),o}})},5843:(e,t,r)=>{\\\"use strict\\\";var n=r(7443),o=r(173),a=r(6438),i=r(5561),l=r(7478);n({target:\\\"Map\\\",proto:!0,real:!0,forced:o},{merge:function(e){for(var t=i(this),r=a(t.set),n=arguments.length,o=0;o<n;)l(arguments[o++],r,{that:t,AS_ENTRIES:!0});return t}})},1080:(e,t,r)=>{r(7443)({target:\\\"Map\\\",stat:!0},{of:r(2256)})},7074:(e,t,r)=>{\\\"use strict\\\";var n=r(7443),o=r(4323),a=r(173),i=r(5561),l=r(6438),u=r(6611),s=r(7478),c=o.TypeError;n({target:\\\"Map\\\",proto:!0,real:!0,forced:a},{reduce:function(e){var t=i(this),r=u(t),n=arguments.length<2,o=n?void 0:arguments[1];if(l(e),s(r,(function(r,a){n?(n=!1,o=a):o=e(o,a,r,t)}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),n)throw c(\\\"Reduce of empty map with no initial value\\\");return o}})},7992:(e,t,r)=>{\\\"use strict\\\";var n=r(7443),o=r(173),a=r(5561),i=r(2604),l=r(6611),u=r(7478);n({target:\\\"Map\\\",proto:!0,real:!0,forced:o},{some:function(e){var t=a(this),r=l(t),n=i(e,arguments.length>1?arguments[1]:void 0);return u(r,(function(e,r,o){if(n(r,e,t))return o()}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}})},6443:(e,t,r)=>{\\\"use strict\\\";var n=r(173),o=r(7443),a=r(4323),i=r(8011),l=r(5561),u=r(6438),s=a.TypeError;o({target:\\\"Map\\\",proto:!0,real:!0,forced:n},{update:function(e,t){var r=l(this),n=u(r.get),o=u(r.has),a=u(r.set),c=arguments.length;u(t);var f=i(o,r,e);if(!f&&c<3)throw s(\\\"Updating absent value\\\");var d=f?i(n,r,e):u(c>2?arguments[2]:void 0)(e,r);return i(a,r,e,t(d,e,r)),r}})},1061:(e,t,r)=>{\\\"use strict\\\";r(7443)({target:\\\"Set\\\",proto:!0,real:!0,forced:r(173)},{addAll:r(8216)})},1675:(e,t,r)=>{\\\"use strict\\\";r(7443)({target:\\\"Set\\\",proto:!0,real:!0,forced:r(173)},{deleteAll:r(5424)})},3860:(e,t,r)=>{\\\"use strict\\\";var n=r(173),o=r(7443),a=r(1850),i=r(8011),l=r(6438),u=r(5561),s=r(8272),c=r(7478);o({target:\\\"Set\\\",proto:!0,real:!0,forced:n},{difference:function(e){var t=u(this),r=new(s(t,a(\\\"Set\\\")))(t),n=l(r.delete);return c(e,(function(e){i(n,r,e)})),r}})},8088:(e,t,r)=>{\\\"use strict\\\";var n=r(7443),o=r(173),a=r(5561),i=r(2604),l=r(2196),u=r(7478);n({target:\\\"Set\\\",proto:!0,real:!0,forced:o},{every:function(e){var t=a(this),r=l(t),n=i(e,arguments.length>1?arguments[1]:void 0);return!u(r,(function(e,r){if(!n(e,e,t))return r()}),{IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}})},7041:(e,t,r)=>{\\\"use strict\\\";var n=r(173),o=r(7443),a=r(1850),i=r(8011),l=r(6438),u=r(5561),s=r(2604),c=r(8272),f=r(2196),d=r(7478);o({target:\\\"Set\\\",proto:!0,real:!0,forced:n},{filter:function(e){var t=u(this),r=f(t),n=s(e,arguments.length>1?arguments[1]:void 0),o=new(c(t,a(\\\"Set\\\"))),p=l(o.add);return d(r,(function(e){n(e,e,t)&&i(p,o,e)}),{IS_ITERATOR:!0}),o}})},3922:(e,t,r)=>{\\\"use strict\\\";var n=r(7443),o=r(173),a=r(5561),i=r(2604),l=r(2196),u=r(7478);n({target:\\\"Set\\\",proto:!0,real:!0,forced:o},{find:function(e){var t=a(this),r=l(t),n=i(e,arguments.length>1?arguments[1]:void 0);return u(r,(function(e,r){if(n(e,e,t))return r(e)}),{IS_ITERATOR:!0,INTERRUPTED:!0}).result}})},156:(e,t,r)=>{r(7443)({target:\\\"Set\\\",stat:!0},{from:r(2858)})},8946:(e,t,r)=>{\\\"use strict\\\";var n=r(173),o=r(7443),a=r(1850),i=r(8011),l=r(6438),u=r(5561),s=r(8272),c=r(7478);o({target:\\\"Set\\\",proto:!0,real:!0,forced:n},{intersection:function(e){var t=u(this),r=new(s(t,a(\\\"Set\\\"))),n=l(t.has),o=l(r.add);return c(e,(function(e){i(n,t,e)&&i(o,r,e)})),r}})},9492:(e,t,r)=>{\\\"use strict\\\";var n=r(173),o=r(7443),a=r(8011),i=r(6438),l=r(5561),u=r(7478);o({target:\\\"Set\\\",proto:!0,real:!0,forced:n},{isDisjointFrom:function(e){var t=l(this),r=i(t.has);return!u(e,(function(e,n){if(!0===a(r,t,e))return n()}),{INTERRUPTED:!0}).stopped}})},1402:(e,t,r)=>{\\\"use strict\\\";var n=r(173),o=r(7443),a=r(1850),i=r(8011),l=r(6438),u=r(8936),s=r(5561),c=r(7481),f=r(7478);o({target:\\\"Set\\\",proto:!0,real:!0,forced:n},{isSubsetOf:function(e){var t=c(this),r=s(e),n=r.has;return u(n)||(r=new(a(\\\"Set\\\"))(e),n=l(r.has)),!f(t,(function(e,t){if(!1===i(n,r,e))return t()}),{IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}})},9787:(e,t,r)=>{\\\"use strict\\\";var n=r(173),o=r(7443),a=r(8011),i=r(6438),l=r(5561),u=r(7478);o({target:\\\"Set\\\",proto:!0,real:!0,forced:n},{isSupersetOf:function(e){var t=l(this),r=i(t.has);return!u(e,(function(e,n){if(!1===a(r,t,e))return n()}),{INTERRUPTED:!0}).stopped}})},6024:(e,t,r)=>{\\\"use strict\\\";var n=r(173),o=r(7443),a=r(4471),i=r(5561),l=r(2404),u=r(2196),s=r(7478),c=a([].join),f=[].push;o({target:\\\"Set\\\",proto:!0,real:!0,forced:n},{join:function(e){var t=i(this),r=u(t),n=void 0===e?\\\",\\\":l(e),o=[];return s(r,f,{that:o,IS_ITERATOR:!0}),c(o,n)}})},2681:(e,t,r)=>{\\\"use strict\\\";var n=r(173),o=r(7443),a=r(1850),i=r(2604),l=r(8011),u=r(6438),s=r(5561),c=r(8272),f=r(2196),d=r(7478);o({target:\\\"Set\\\",proto:!0,real:!0,forced:n},{map:function(e){var t=s(this),r=f(t),n=i(e,arguments.length>1?arguments[1]:void 0),o=new(c(t,a(\\\"Set\\\"))),p=u(o.add);return d(r,(function(e){l(p,o,n(e,e,t))}),{IS_ITERATOR:!0}),o}})},2632:(e,t,r)=>{r(7443)({target:\\\"Set\\\",stat:!0},{of:r(2256)})},1463:(e,t,r)=>{\\\"use strict\\\";var n=r(7443),o=r(4323),a=r(173),i=r(6438),l=r(5561),u=r(2196),s=r(7478),c=o.TypeError;n({target:\\\"Set\\\",proto:!0,real:!0,forced:a},{reduce:function(e){var t=l(this),r=u(t),n=arguments.length<2,o=n?void 0:arguments[1];if(i(e),s(r,(function(r){n?(n=!1,o=r):o=e(o,r,r,t)}),{IS_ITERATOR:!0}),n)throw c(\\\"Reduce of empty set with no initial value\\\");return o}})},5691:(e,t,r)=>{\\\"use strict\\\";var n=r(7443),o=r(173),a=r(5561),i=r(2604),l=r(2196),u=r(7478);n({target:\\\"Set\\\",proto:!0,real:!0,forced:o},{some:function(e){var t=a(this),r=l(t),n=i(e,arguments.length>1?arguments[1]:void 0);return u(r,(function(e,r){if(n(e,e,t))return r()}),{IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}})},7705:(e,t,r)=>{\\\"use strict\\\";var n=r(173),o=r(7443),a=r(1850),i=r(8011),l=r(6438),u=r(5561),s=r(8272),c=r(7478);o({target:\\\"Set\\\",proto:!0,real:!0,forced:n},{symmetricDifference:function(e){var t=u(this),r=new(s(t,a(\\\"Set\\\")))(t),n=l(r.delete),o=l(r.add);return c(e,(function(e){i(n,r,e)||i(o,r,e)})),r}})},5154:(e,t,r)=>{\\\"use strict\\\";var n=r(7443),o=r(173),a=r(1850),i=r(6438),l=r(5561),u=r(8272),s=r(7478);n({target:\\\"Set\\\",proto:!0,real:!0,forced:o},{union:function(e){var t=l(this),r=new(u(t,a(\\\"Set\\\")))(t);return s(e,i(r.add),{that:r}),r}})},8458:(e,t,r)=>{r(3092)(\\\"dispose\\\")},620:(e,t,r)=>{r(3092)(\\\"observable\\\")},7987:(e,t,r)=>{r(3092)(\\\"patternMatch\\\")},8151:(e,t,r)=>{var n=r(4323),o=r(4587),a=r(9017),i=r(4801),l=r(1193),u=r(8036),s=u(\\\"iterator\\\"),c=u(\\\"toStringTag\\\"),f=i.values,d=function(e,t){if(e){if(e[s]!==f)try{l(e,s,f)}catch(t){e[s]=f}if(e[c]||l(e,c,t),o[t])for(var r in i)if(e[r]!==i[r])try{l(e,r,i[r])}catch(t){e[r]=i[r]}}};for(var p in o)d(n[p]&&n[p].prototype,p);d(a,\\\"DOMTokenList\\\")},3624:function(e,t,r){\\\"use strict\\\";var n=this&&this.__assign||function(){return n=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},n.apply(this,arguments)};Object.defineProperty(t,\\\"__esModule\\\",{value:!0});var o=r(7656),a=r(2920),i=r(7630),l=n(n({},o.namedReferences),{all:o.namedReferences.html5}),u={specialChars:/[<>'\\\"&]/g,nonAscii:/(?:[<>'\\\"&\\\\u0080-\\\\uD7FF\\\\uE000-\\\\uFFFF]|[\\\\uD800-\\\\uDBFF][\\\\uDC00-\\\\uDFFF]|[\\\\uD800-\\\\uDBFF](?![\\\\uDC00-\\\\uDFFF])|(?:[^\\\\uD800-\\\\uDBFF]|^)[\\\\uDC00-\\\\uDFFF])/g,nonAsciiPrintable:/(?:[<>'\\\"&\\\\x01-\\\\x08\\\\x11-\\\\x15\\\\x17-\\\\x1F\\\\x7f-\\\\uD7FF\\\\uE000-\\\\uFFFF]|[\\\\uD800-\\\\uDBFF][\\\\uDC00-\\\\uDFFF]|[\\\\uD800-\\\\uDBFF](?![\\\\uDC00-\\\\uDFFF])|(?:[^\\\\uD800-\\\\uDBFF]|^)[\\\\uDC00-\\\\uDFFF])/g,extensive:/(?:[\\\\x01-\\\\x0c\\\\x0e-\\\\x1f\\\\x21-\\\\x2c\\\\x2e-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\x7d\\\\x7f-\\\\uD7FF\\\\uE000-\\\\uFFFF]|[\\\\uD800-\\\\uDBFF][\\\\uDC00-\\\\uDFFF]|[\\\\uD800-\\\\uDBFF](?![\\\\uDC00-\\\\uDFFF])|(?:[^\\\\uD800-\\\\uDBFF]|^)[\\\\uDC00-\\\\uDFFF])/g},s={mode:\\\"specialChars\\\",level:\\\"all\\\",numeric:\\\"decimal\\\"};t.encode=function(e,t){var r=void 0===(c=(a=void 0===t?s:t).mode)?\\\"specialChars\\\":c,n=void 0===(h=a.numeric)?\\\"decimal\\\":h,o=a.level;if(!e)return\\\"\\\";var a,c,f=u[r],d=l[void 0===o?\\\"all\\\":o].characters,p=\\\"hexadecimal\\\"===n;if(f.lastIndex=0,a=f.exec(e)){c=\\\"\\\";var h=0;do{h!==a.index&&(c+=e.substring(h,a.index));var g=d[o=a[0]];if(!g){var m=o.length>1?i.getCodePoint(o,0):o.charCodeAt(0);g=(p?\\\"&#x\\\"+m.toString(16):\\\"&#\\\"+m)+\\\";\\\"}c+=g,h=a.index+o.length}while(a=f.exec(e));h!==e.length&&(c+=e.substring(h))}else c=e;return c};var c={scope:\\\"body\\\",level:\\\"all\\\"},f=/&(?:#\\\\d+|#[xX][\\\\da-fA-F]+|[0-9a-zA-Z]+);/g,d=/&(?:#\\\\d+|#[xX][\\\\da-fA-F]+|[0-9a-zA-Z]+)[;=]?/g,p={xml:{strict:f,attribute:d,body:o.bodyRegExps.xml},html4:{strict:f,attribute:d,body:o.bodyRegExps.html4},html5:{strict:f,attribute:d,body:o.bodyRegExps.html5}},h=n(n({},p),{all:p.html5}),g=String.fromCharCode,m=g(65533),v={level:\\\"all\\\"};t.decodeEntity=function(e,t){var r=void 0===(n=(void 0===t?v:t).level)?\\\"all\\\":n;if(!e)return\\\"\\\";var n=e,o=(e[e.length-1],l[r].entities[e]);if(o)n=o;else if(\\\"&\\\"===e[0]&&\\\"#\\\"===e[1]){var u=e[2],s=\\\"x\\\"==u||\\\"X\\\"==u?parseInt(e.substr(3),16):parseInt(e.substr(2));n=s>=1114111?m:s>65535?i.fromCodePoint(s):g(a.numericUnicodeMap[s]||s)}return n},t.decode=function(e,t){var r=void 0===t?c:t,n=r.level,o=void 0===n?\\\"all\\\":n,u=r.scope,s=void 0===u?\\\"xml\\\"===o?\\\"strict\\\":\\\"body\\\":u;if(!e)return\\\"\\\";var f=h[o][s],d=l[o].entities,p=\\\"attribute\\\"===s,v=\\\"strict\\\"===s;f.lastIndex=0;var y,b=f.exec(e);if(b){y=\\\"\\\";var w=0;do{w!==b.index&&(y+=e.substring(w,b.index));var x=b[0],k=x,E=x[x.length-1];if(p&&\\\"=\\\"===E)k=x;else if(v&&\\\";\\\"!==E)k=x;else{var S=d[x];if(S)k=S;else if(\\\"&\\\"===x[0]&&\\\"#\\\"===x[1]){var T=x[2],_=\\\"x\\\"==T||\\\"X\\\"==T?parseInt(x.substr(3),16):parseInt(x.substr(2));k=_>=1114111?m:_>65535?i.fromCodePoint(_):g(a.numericUnicodeMap[_]||_)}}y+=k,w=b.index+x.length}while(b=f.exec(e));w!==e.length&&(y+=e.substring(w))}else y=e;return y}},7656:(e,t)=>{\\\"use strict\\\";Object.defineProperty(t,\\\"__esModule\\\",{value:!0}),t.bodyRegExps={xml:/&(?:#\\\\d+|#[xX][\\\\da-fA-F]+|[0-9a-zA-Z]+);?/g,html4:/&(?:nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|Atilde|Auml|Aring|AElig|Ccedil|Egrave|Eacute|Ecirc|Euml|Igrave|Iacute|Icirc|Iuml|ETH|Ntilde|Ograve|Oacute|Ocirc|Otilde|Ouml|times|Oslash|Ugrave|Uacute|Ucirc|Uuml|Yacute|THORN|szlig|agrave|aacute|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|quot|amp|lt|gt|#\\\\d+|#[xX][\\\\da-fA-F]+|[0-9a-zA-Z]+);?/g,html5:/&(?:AElig|AMP|Aacute|Acirc|Agrave|Aring|Atilde|Auml|COPY|Ccedil|ETH|Eacute|Ecirc|Egrave|Euml|GT|Iacute|Icirc|Igrave|Iuml|LT|Ntilde|Oacute|Ocirc|Ograve|Oslash|Otilde|Ouml|QUOT|REG|THORN|Uacute|Ucirc|Ugrave|Uuml|Yacute|aacute|acirc|acute|aelig|agrave|amp|aring|atilde|auml|brvbar|ccedil|cedil|cent|copy|curren|deg|divide|eacute|ecirc|egrave|eth|euml|frac12|frac14|frac34|gt|iacute|icirc|iexcl|igrave|iquest|iuml|laquo|lt|macr|micro|middot|nbsp|not|ntilde|oacute|ocirc|ograve|ordf|ordm|oslash|otilde|ouml|para|plusmn|pound|quot|raquo|reg|sect|shy|sup1|sup2|sup3|szlig|thorn|times|uacute|ucirc|ugrave|uml|uuml|yacute|yen|yuml|#\\\\d+|#[xX][\\\\da-fA-F]+|[0-9a-zA-Z]+);?/g},t.namedReferences={xml:{entities:{\\\"<\\\":\\\"<\\\",\\\">\\\":\\\">\\\",\\\""\\\":'\\\"',\\\"'\\\":\\\"'\\\",\\\"&\\\":\\\"&\\\"},characters:{\\\"<\\\":\\\"<\\\",\\\">\\\":\\\">\\\",'\\\"':\\\""\\\",\\\"'\\\":\\\"'\\\",\\\"&\\\":\\\"&\\\"}},html4:{entities:{\\\"'\\\":\\\"'\\\",\\\" \\\":\\\"\\xA0\\\",\\\" \\\":\\\"\\xA0\\\",\\\"¡\\\":\\\"\\xA1\\\",\\\"¡\\\":\\\"\\xA1\\\",\\\"¢\\\":\\\"\\xA2\\\",\\\"¢\\\":\\\"\\xA2\\\",\\\"£\\\":\\\"\\xA3\\\",\\\"£\\\":\\\"\\xA3\\\",\\\"¤\\\":\\\"\\xA4\\\",\\\"¤\\\":\\\"\\xA4\\\",\\\"¥\\\":\\\"\\xA5\\\",\\\"¥\\\":\\\"\\xA5\\\",\\\"¦\\\":\\\"\\xA6\\\",\\\"¦\\\":\\\"\\xA6\\\",\\\"§\\\":\\\"\\xA7\\\",\\\"§\\\":\\\"\\xA7\\\",\\\"¨\\\":\\\"\\xA8\\\",\\\"¨\\\":\\\"\\xA8\\\",\\\"©\\\":\\\"\\xA9\\\",\\\"©\\\":\\\"\\xA9\\\",\\\"ª\\\":\\\"\\xAA\\\",\\\"ª\\\":\\\"\\xAA\\\",\\\"«\\\":\\\"\\xAB\\\",\\\"«\\\":\\\"\\xAB\\\",\\\"¬\\\":\\\"\\xAC\\\",\\\"¬\\\":\\\"\\xAC\\\",\\\"­\\\":\\\"\\xAD\\\",\\\"­\\\":\\\"\\xAD\\\",\\\"®\\\":\\\"\\xAE\\\",\\\"®\\\":\\\"\\xAE\\\",\\\"¯\\\":\\\"\\xAF\\\",\\\"¯\\\":\\\"\\xAF\\\",\\\"°\\\":\\\"\\xB0\\\",\\\"°\\\":\\\"\\xB0\\\",\\\"±\\\":\\\"\\xB1\\\",\\\"±\\\":\\\"\\xB1\\\",\\\"²\\\":\\\"\\xB2\\\",\\\"²\\\":\\\"\\xB2\\\",\\\"³\\\":\\\"\\xB3\\\",\\\"³\\\":\\\"\\xB3\\\",\\\"´\\\":\\\"\\xB4\\\",\\\"´\\\":\\\"\\xB4\\\",\\\"µ\\\":\\\"\\xB5\\\",\\\"µ\\\":\\\"\\xB5\\\",\\\"¶\\\":\\\"\\xB6\\\",\\\"¶\\\":\\\"\\xB6\\\",\\\"·\\\":\\\"\\xB7\\\",\\\"·\\\":\\\"\\xB7\\\",\\\"¸\\\":\\\"\\xB8\\\",\\\"¸\\\":\\\"\\xB8\\\",\\\"¹\\\":\\\"\\xB9\\\",\\\"¹\\\":\\\"\\xB9\\\",\\\"º\\\":\\\"\\xBA\\\",\\\"º\\\":\\\"\\xBA\\\",\\\"»\\\":\\\"\\xBB\\\",\\\"»\\\":\\\"\\xBB\\\",\\\"¼\\\":\\\"\\xBC\\\",\\\"¼\\\":\\\"\\xBC\\\",\\\"½\\\":\\\"\\xBD\\\",\\\"½\\\":\\\"\\xBD\\\",\\\"¾\\\":\\\"\\xBE\\\",\\\"¾\\\":\\\"\\xBE\\\",\\\"¿\\\":\\\"\\xBF\\\",\\\"¿\\\":\\\"\\xBF\\\",\\\"À\\\":\\\"\\xC0\\\",\\\"À\\\":\\\"\\xC0\\\",\\\"Á\\\":\\\"\\xC1\\\",\\\"Á\\\":\\\"\\xC1\\\",\\\"Â\\\":\\\"\\xC2\\\",\\\"Â\\\":\\\"\\xC2\\\",\\\"Ã\\\":\\\"\\xC3\\\",\\\"Ã\\\":\\\"\\xC3\\\",\\\"Ä\\\":\\\"\\xC4\\\",\\\"Ä\\\":\\\"\\xC4\\\",\\\"Å\\\":\\\"\\xC5\\\",\\\"Å\\\":\\\"\\xC5\\\",\\\"Æ\\\":\\\"\\xC6\\\",\\\"Æ\\\":\\\"\\xC6\\\",\\\"Ç\\\":\\\"\\xC7\\\",\\\"Ç\\\":\\\"\\xC7\\\",\\\"È\\\":\\\"\\xC8\\\",\\\"È\\\":\\\"\\xC8\\\",\\\"É\\\":\\\"\\xC9\\\",\\\"É\\\":\\\"\\xC9\\\",\\\"Ê\\\":\\\"\\xCA\\\",\\\"Ê\\\":\\\"\\xCA\\\",\\\"Ë\\\":\\\"\\xCB\\\",\\\"Ë\\\":\\\"\\xCB\\\",\\\"Ì\\\":\\\"\\xCC\\\",\\\"Ì\\\":\\\"\\xCC\\\",\\\"Í\\\":\\\"\\xCD\\\",\\\"Í\\\":\\\"\\xCD\\\",\\\"Î\\\":\\\"\\xCE\\\",\\\"Î\\\":\\\"\\xCE\\\",\\\"Ï\\\":\\\"\\xCF\\\",\\\"Ï\\\":\\\"\\xCF\\\",\\\"Ð\\\":\\\"\\xD0\\\",\\\"Ð\\\":\\\"\\xD0\\\",\\\"Ñ\\\":\\\"\\xD1\\\",\\\"Ñ\\\":\\\"\\xD1\\\",\\\"Ò\\\":\\\"\\xD2\\\",\\\"Ò\\\":\\\"\\xD2\\\",\\\"Ó\\\":\\\"\\xD3\\\",\\\"Ó\\\":\\\"\\xD3\\\",\\\"Ô\\\":\\\"\\xD4\\\",\\\"Ô\\\":\\\"\\xD4\\\",\\\"Õ\\\":\\\"\\xD5\\\",\\\"Õ\\\":\\\"\\xD5\\\",\\\"Ö\\\":\\\"\\xD6\\\",\\\"Ö\\\":\\\"\\xD6\\\",\\\"×\\\":\\\"\\xD7\\\",\\\"×\\\":\\\"\\xD7\\\",\\\"Ø\\\":\\\"\\xD8\\\",\\\"Ø\\\":\\\"\\xD8\\\",\\\"Ù\\\":\\\"\\xD9\\\",\\\"Ù\\\":\\\"\\xD9\\\",\\\"Ú\\\":\\\"\\xDA\\\",\\\"Ú\\\":\\\"\\xDA\\\",\\\"Û\\\":\\\"\\xDB\\\",\\\"Û\\\":\\\"\\xDB\\\",\\\"Ü\\\":\\\"\\xDC\\\",\\\"Ü\\\":\\\"\\xDC\\\",\\\"Ý\\\":\\\"\\xDD\\\",\\\"Ý\\\":\\\"\\xDD\\\",\\\"Þ\\\":\\\"\\xDE\\\",\\\"Þ\\\":\\\"\\xDE\\\",\\\"ß\\\":\\\"\\xDF\\\",\\\"ß\\\":\\\"\\xDF\\\",\\\"à\\\":\\\"\\xE0\\\",\\\"à\\\":\\\"\\xE0\\\",\\\"á\\\":\\\"\\xE1\\\",\\\"á\\\":\\\"\\xE1\\\",\\\"â\\\":\\\"\\xE2\\\",\\\"â\\\":\\\"\\xE2\\\",\\\"ã\\\":\\\"\\xE3\\\",\\\"ã\\\":\\\"\\xE3\\\",\\\"ä\\\":\\\"\\xE4\\\",\\\"ä\\\":\\\"\\xE4\\\",\\\"å\\\":\\\"\\xE5\\\",\\\"å\\\":\\\"\\xE5\\\",\\\"æ\\\":\\\"\\xE6\\\",\\\"æ\\\":\\\"\\xE6\\\",\\\"ç\\\":\\\"\\xE7\\\",\\\"ç\\\":\\\"\\xE7\\\",\\\"è\\\":\\\"\\xE8\\\",\\\"è\\\":\\\"\\xE8\\\",\\\"é\\\":\\\"\\xE9\\\",\\\"é\\\":\\\"\\xE9\\\",\\\"ê\\\":\\\"\\xEA\\\",\\\"ê\\\":\\\"\\xEA\\\",\\\"ë\\\":\\\"\\xEB\\\",\\\"ë\\\":\\\"\\xEB\\\",\\\"ì\\\":\\\"\\xEC\\\",\\\"ì\\\":\\\"\\xEC\\\",\\\"í\\\":\\\"\\xED\\\",\\\"í\\\":\\\"\\xED\\\",\\\"î\\\":\\\"\\xEE\\\",\\\"î\\\":\\\"\\xEE\\\",\\\"ï\\\":\\\"\\xEF\\\",\\\"ï\\\":\\\"\\xEF\\\",\\\"ð\\\":\\\"\\xF0\\\",\\\"ð\\\":\\\"\\xF0\\\",\\\"ñ\\\":\\\"\\xF1\\\",\\\"ñ\\\":\\\"\\xF1\\\",\\\"ò\\\":\\\"\\xF2\\\",\\\"ò\\\":\\\"\\xF2\\\",\\\"ó\\\":\\\"\\xF3\\\",\\\"ó\\\":\\\"\\xF3\\\",\\\"ô\\\":\\\"\\xF4\\\",\\\"ô\\\":\\\"\\xF4\\\",\\\"õ\\\":\\\"\\xF5\\\",\\\"õ\\\":\\\"\\xF5\\\",\\\"ö\\\":\\\"\\xF6\\\",\\\"ö\\\":\\\"\\xF6\\\",\\\"÷\\\":\\\"\\xF7\\\",\\\"÷\\\":\\\"\\xF7\\\",\\\"ø\\\":\\\"\\xF8\\\",\\\"ø\\\":\\\"\\xF8\\\",\\\"ù\\\":\\\"\\xF9\\\",\\\"ù\\\":\\\"\\xF9\\\",\\\"ú\\\":\\\"\\xFA\\\",\\\"ú\\\":\\\"\\xFA\\\",\\\"û\\\":\\\"\\xFB\\\",\\\"û\\\":\\\"\\xFB\\\",\\\"ü\\\":\\\"\\xFC\\\",\\\"ü\\\":\\\"\\xFC\\\",\\\"ý\\\":\\\"\\xFD\\\",\\\"ý\\\":\\\"\\xFD\\\",\\\"þ\\\":\\\"\\xFE\\\",\\\"þ\\\":\\\"\\xFE\\\",\\\"ÿ\\\":\\\"\\xFF\\\",\\\"ÿ\\\":\\\"\\xFF\\\",\\\""\\\":'\\\"',\\\""\\\":'\\\"',\\\"&\\\":\\\"&\\\",\\\"&\\\":\\\"&\\\",\\\"<\\\":\\\"<\\\",\\\"<\\\":\\\"<\\\",\\\">\\\":\\\">\\\",\\\">\\\":\\\">\\\",\\\"Œ\\\":\\\"\\u0152\\\",\\\"œ\\\":\\\"\\u0153\\\",\\\"Š\\\":\\\"\\u0160\\\",\\\"š\\\":\\\"\\u0161\\\",\\\"Ÿ\\\":\\\"\\u0178\\\",\\\"ˆ\\\":\\\"\\u02C6\\\",\\\"˜\\\":\\\"\\u02DC\\\",\\\" \\\":\\\"\\u2002\\\",\\\" \\\":\\\"\\u2003\\\",\\\" \\\":\\\"\\u2009\\\",\\\"‌\\\":\\\"\\u200C\\\",\\\"‍\\\":\\\"\\u200D\\\",\\\"‎\\\":\\\"\\u200E\\\",\\\"‏\\\":\\\"\\u200F\\\",\\\"–\\\":\\\"\\u2013\\\",\\\"—\\\":\\\"\\u2014\\\",\\\"‘\\\":\\\"\\u2018\\\",\\\"’\\\":\\\"\\u2019\\\",\\\"‚\\\":\\\"\\u201A\\\",\\\"“\\\":\\\"\\u201C\\\",\\\"”\\\":\\\"\\u201D\\\",\\\"„\\\":\\\"\\u201E\\\",\\\"†\\\":\\\"\\u2020\\\",\\\"‡\\\":\\\"\\u2021\\\",\\\"‰\\\":\\\"\\u2030\\\",\\\"‹\\\":\\\"\\u2039\\\",\\\"›\\\":\\\"\\u203A\\\",\\\"€\\\":\\\"\\u20AC\\\",\\\"ƒ\\\":\\\"\\u0192\\\",\\\"Α\\\":\\\"\\u0391\\\",\\\"Β\\\":\\\"\\u0392\\\",\\\"Γ\\\":\\\"\\u0393\\\",\\\"Δ\\\":\\\"\\u0394\\\",\\\"Ε\\\":\\\"\\u0395\\\",\\\"Ζ\\\":\\\"\\u0396\\\",\\\"Η\\\":\\\"\\u0397\\\",\\\"Θ\\\":\\\"\\u0398\\\",\\\"Ι\\\":\\\"\\u0399\\\",\\\"Κ\\\":\\\"\\u039A\\\",\\\"Λ\\\":\\\"\\u039B\\\",\\\"Μ\\\":\\\"\\u039C\\\",\\\"Ν\\\":\\\"\\u039D\\\",\\\"Ξ\\\":\\\"\\u039E\\\",\\\"Ο\\\":\\\"\\u039F\\\",\\\"Π\\\":\\\"\\u03A0\\\",\\\"Ρ\\\":\\\"\\u03A1\\\",\\\"Σ\\\":\\\"\\u03A3\\\",\\\"Τ\\\":\\\"\\u03A4\\\",\\\"Υ\\\":\\\"\\u03A5\\\",\\\"Φ\\\":\\\"\\u03A6\\\",\\\"Χ\\\":\\\"\\u03A7\\\",\\\"Ψ\\\":\\\"\\u03A8\\\",\\\"Ω\\\":\\\"\\u03A9\\\",\\\"α\\\":\\\"\\u03B1\\\",\\\"β\\\":\\\"\\u03B2\\\",\\\"γ\\\":\\\"\\u03B3\\\",\\\"δ\\\":\\\"\\u03B4\\\",\\\"ε\\\":\\\"\\u03B5\\\",\\\"ζ\\\":\\\"\\u03B6\\\",\\\"η\\\":\\\"\\u03B7\\\",\\\"θ\\\":\\\"\\u03B8\\\",\\\"ι\\\":\\\"\\u03B9\\\",\\\"κ\\\":\\\"\\u03BA\\\",\\\"λ\\\":\\\"\\u03BB\\\",\\\"μ\\\":\\\"\\u03BC\\\",\\\"ν\\\":\\\"\\u03BD\\\",\\\"ξ\\\":\\\"\\u03BE\\\",\\\"ο\\\":\\\"\\u03BF\\\",\\\"π\\\":\\\"\\u03C0\\\",\\\"ρ\\\":\\\"\\u03C1\\\",\\\"ς\\\":\\\"\\u03C2\\\",\\\"σ\\\":\\\"\\u03C3\\\",\\\"τ\\\":\\\"\\u03C4\\\",\\\"υ\\\":\\\"\\u03C5\\\",\\\"φ\\\":\\\"\\u03C6\\\",\\\"χ\\\":\\\"\\u03C7\\\",\\\"ψ\\\":\\\"\\u03C8\\\",\\\"ω\\\":\\\"\\u03C9\\\",\\\"ϑ\\\":\\\"\\u03D1\\\",\\\"ϒ\\\":\\\"\\u03D2\\\",\\\"ϖ\\\":\\\"\\u03D6\\\",\\\"•\\\":\\\"\\u2022\\\",\\\"…\\\":\\\"\\u2026\\\",\\\"′\\\":\\\"\\u2032\\\",\\\"″\\\":\\\"\\u2033\\\",\\\"‾\\\":\\\"\\u203E\\\",\\\"⁄\\\":\\\"\\u2044\\\",\\\"℘\\\":\\\"\\u2118\\\",\\\"ℑ\\\":\\\"\\u2111\\\",\\\"ℜ\\\":\\\"\\u211C\\\",\\\"™\\\":\\\"\\u2122\\\",\\\"ℵ\\\":\\\"\\u2135\\\",\\\"←\\\":\\\"\\u2190\\\",\\\"↑\\\":\\\"\\u2191\\\",\\\"→\\\":\\\"\\u2192\\\",\\\"↓\\\":\\\"\\u2193\\\",\\\"↔\\\":\\\"\\u2194\\\",\\\"↵\\\":\\\"\\u21B5\\\",\\\"⇐\\\":\\\"\\u21D0\\\",\\\"⇑\\\":\\\"\\u21D1\\\",\\\"⇒\\\":\\\"\\u21D2\\\",\\\"⇓\\\":\\\"\\u21D3\\\",\\\"⇔\\\":\\\"\\u21D4\\\",\\\"∀\\\":\\\"\\u2200\\\",\\\"∂\\\":\\\"\\u2202\\\",\\\"∃\\\":\\\"\\u2203\\\",\\\"∅\\\":\\\"\\u2205\\\",\\\"∇\\\":\\\"\\u2207\\\",\\\"∈\\\":\\\"\\u2208\\\",\\\"∉\\\":\\\"\\u2209\\\",\\\"∋\\\":\\\"\\u220B\\\",\\\"∏\\\":\\\"\\u220F\\\",\\\"∑\\\":\\\"\\u2211\\\",\\\"−\\\":\\\"\\u2212\\\",\\\"∗\\\":\\\"\\u2217\\\",\\\"√\\\":\\\"\\u221A\\\",\\\"∝\\\":\\\"\\u221D\\\",\\\"∞\\\":\\\"\\u221E\\\",\\\"∠\\\":\\\"\\u2220\\\",\\\"∧\\\":\\\"\\u2227\\\",\\\"∨\\\":\\\"\\u2228\\\",\\\"∩\\\":\\\"\\u2229\\\",\\\"∪\\\":\\\"\\u222A\\\",\\\"∫\\\":\\\"\\u222B\\\",\\\"∴\\\":\\\"\\u2234\\\",\\\"∼\\\":\\\"\\u223C\\\",\\\"≅\\\":\\\"\\u2245\\\",\\\"≈\\\":\\\"\\u2248\\\",\\\"≠\\\":\\\"\\u2260\\\",\\\"≡\\\":\\\"\\u2261\\\",\\\"≤\\\":\\\"\\u2264\\\",\\\"≥\\\":\\\"\\u2265\\\",\\\"⊂\\\":\\\"\\u2282\\\",\\\"⊃\\\":\\\"\\u2283\\\",\\\"⊄\\\":\\\"\\u2284\\\",\\\"⊆\\\":\\\"\\u2286\\\",\\\"⊇\\\":\\\"\\u2287\\\",\\\"⊕\\\":\\\"\\u2295\\\",\\\"⊗\\\":\\\"\\u2297\\\",\\\"⊥\\\":\\\"\\u22A5\\\",\\\"⋅\\\":\\\"\\u22C5\\\",\\\"⌈\\\":\\\"\\u2308\\\",\\\"⌉\\\":\\\"\\u2309\\\",\\\"⌊\\\":\\\"\\u230A\\\",\\\"⌋\\\":\\\"\\u230B\\\",\\\"⟨\\\":\\\"\\u2329\\\",\\\"⟩\\\":\\\"\\u232A\\\",\\\"◊\\\":\\\"\\u25CA\\\",\\\"♠\\\":\\\"\\u2660\\\",\\\"♣\\\":\\\"\\u2663\\\",\\\"♥\\\":\\\"\\u2665\\\",\\\"♦\\\":\\\"\\u2666\\\"},characters:{\\\"'\\\":\\\"'\\\",\\\"\\xA0\\\":\\\" \\\",\\\"\\xA1\\\":\\\"¡\\\",\\\"\\xA2\\\":\\\"¢\\\",\\\"\\xA3\\\":\\\"£\\\",\\\"\\xA4\\\":\\\"¤\\\",\\\"\\xA5\\\":\\\"¥\\\",\\\"\\xA6\\\":\\\"¦\\\",\\\"\\xA7\\\":\\\"§\\\",\\\"\\xA8\\\":\\\"¨\\\",\\\"\\xA9\\\":\\\"©\\\",\\xAA:\\\"ª\\\",\\\"\\xAB\\\":\\\"«\\\",\\\"\\xAC\\\":\\\"¬\\\",\\\"\\xAD\\\":\\\"­\\\",\\\"\\xAE\\\":\\\"®\\\",\\\"\\xAF\\\":\\\"¯\\\",\\\"\\xB0\\\":\\\"°\\\",\\\"\\xB1\\\":\\\"±\\\",\\\"\\xB2\\\":\\\"²\\\",\\\"\\xB3\\\":\\\"³\\\",\\\"\\xB4\\\":\\\"´\\\",\\xB5:\\\"µ\\\",\\\"\\xB6\\\":\\\"¶\\\",\\\"\\xB7\\\":\\\"·\\\",\\\"\\xB8\\\":\\\"¸\\\",\\\"\\xB9\\\":\\\"¹\\\",\\xBA:\\\"º\\\",\\\"\\xBB\\\":\\\"»\\\",\\\"\\xBC\\\":\\\"¼\\\",\\\"\\xBD\\\":\\\"½\\\",\\\"\\xBE\\\":\\\"¾\\\",\\\"\\xBF\\\":\\\"¿\\\",\\xC0:\\\"À\\\",\\xC1:\\\"Á\\\",\\xC2:\\\"Â\\\",\\xC3:\\\"Ã\\\",\\xC4:\\\"Ä\\\",\\xC5:\\\"Å\\\",\\xC6:\\\"Æ\\\",\\xC7:\\\"Ç\\\",\\xC8:\\\"È\\\",\\xC9:\\\"É\\\",\\xCA:\\\"Ê\\\",\\xCB:\\\"Ë\\\",\\xCC:\\\"Ì\\\",\\xCD:\\\"Í\\\",\\xCE:\\\"Î\\\",\\xCF:\\\"Ï\\\",\\xD0:\\\"Ð\\\",\\xD1:\\\"Ñ\\\",\\xD2:\\\"Ò\\\",\\xD3:\\\"Ó\\\",\\xD4:\\\"Ô\\\",\\xD5:\\\"Õ\\\",\\xD6:\\\"Ö\\\",\\\"\\xD7\\\":\\\"×\\\",\\xD8:\\\"Ø\\\",\\xD9:\\\"Ù\\\",\\xDA:\\\"Ú\\\",\\xDB:\\\"Û\\\",\\xDC:\\\"Ü\\\",\\xDD:\\\"Ý\\\",\\xDE:\\\"Þ\\\",\\xDF:\\\"ß\\\",\\xE0:\\\"à\\\",\\xE1:\\\"á\\\",\\xE2:\\\"â\\\",\\xE3:\\\"ã\\\",\\xE4:\\\"ä\\\",\\xE5:\\\"å\\\",\\xE6:\\\"æ\\\",\\xE7:\\\"ç\\\",\\xE8:\\\"è\\\",\\xE9:\\\"é\\\",\\xEA:\\\"ê\\\",\\xEB:\\\"ë\\\",\\xEC:\\\"ì\\\",\\xED:\\\"í\\\",\\xEE:\\\"î\\\",\\xEF:\\\"ï\\\",\\xF0:\\\"ð\\\",\\xF1:\\\"ñ\\\",\\xF2:\\\"ò\\\",\\xF3:\\\"ó\\\",\\xF4:\\\"ô\\\",\\xF5:\\\"õ\\\",\\xF6:\\\"ö\\\",\\\"\\xF7\\\":\\\"÷\\\",\\xF8:\\\"ø\\\",\\xF9:\\\"ù\\\",\\xFA:\\\"ú\\\",\\xFB:\\\"û\\\",\\xFC:\\\"ü\\\",\\xFD:\\\"ý\\\",\\xFE:\\\"þ\\\",\\xFF:\\\"ÿ\\\",'\\\"':\\\""\\\",\\\"&\\\":\\\"&\\\",\\\"<\\\":\\\"<\\\",\\\">\\\":\\\">\\\",\\u0152:\\\"Œ\\\",\\u0153:\\\"œ\\\",\\u0160:\\\"Š\\\",\\u0161:\\\"š\\\",\\u0178:\\\"Ÿ\\\",\\u02C6:\\\"ˆ\\\",\\\"\\u02DC\\\":\\\"˜\\\",\\\"\\u2002\\\":\\\" \\\",\\\"\\u2003\\\":\\\" \\\",\\\"\\u2009\\\":\\\" \\\",\\\"\\u200C\\\":\\\"‌\\\",\\\"\\u200D\\\":\\\"‍\\\",\\\"\\u200E\\\":\\\"‎\\\",\\\"\\u200F\\\":\\\"‏\\\",\\\"\\u2013\\\":\\\"–\\\",\\\"\\u2014\\\":\\\"—\\\",\\\"\\u2018\\\":\\\"‘\\\",\\\"\\u2019\\\":\\\"’\\\",\\\"\\u201A\\\":\\\"‚\\\",\\\"\\u201C\\\":\\\"“\\\",\\\"\\u201D\\\":\\\"”\\\",\\\"\\u201E\\\":\\\"„\\\",\\\"\\u2020\\\":\\\"†\\\",\\\"\\u2021\\\":\\\"‡\\\",\\\"\\u2030\\\":\\\"‰\\\",\\\"\\u2039\\\":\\\"‹\\\",\\\"\\u203A\\\":\\\"›\\\",\\\"\\u20AC\\\":\\\"€\\\",\\u0192:\\\"ƒ\\\",\\u0391:\\\"Α\\\",\\u0392:\\\"Β\\\",\\u0393:\\\"Γ\\\",\\u0394:\\\"Δ\\\",\\u0395:\\\"Ε\\\",\\u0396:\\\"Ζ\\\",\\u0397:\\\"Η\\\",\\u0398:\\\"Θ\\\",\\u0399:\\\"Ι\\\",\\u039A:\\\"Κ\\\",\\u039B:\\\"Λ\\\",\\u039C:\\\"Μ\\\",\\u039D:\\\"Ν\\\",\\u039E:\\\"Ξ\\\",\\u039F:\\\"Ο\\\",\\u03A0:\\\"Π\\\",\\u03A1:\\\"Ρ\\\",\\u03A3:\\\"Σ\\\",\\u03A4:\\\"Τ\\\",\\u03A5:\\\"Υ\\\",\\u03A6:\\\"Φ\\\",\\u03A7:\\\"Χ\\\",\\u03A8:\\\"Ψ\\\",\\u03A9:\\\"Ω\\\",\\u03B1:\\\"α\\\",\\u03B2:\\\"β\\\",\\u03B3:\\\"γ\\\",\\u03B4:\\\"δ\\\",\\u03B5:\\\"ε\\\",\\u03B6:\\\"ζ\\\",\\u03B7:\\\"η\\\",\\u03B8:\\\"θ\\\",\\u03B9:\\\"ι\\\",\\u03BA:\\\"κ\\\",\\u03BB:\\\"λ\\\",\\u03BC:\\\"μ\\\",\\u03BD:\\\"ν\\\",\\u03BE:\\\"ξ\\\",\\u03BF:\\\"ο\\\",\\u03C0:\\\"π\\\",\\u03C1:\\\"ρ\\\",\\u03C2:\\\"ς\\\",\\u03C3:\\\"σ\\\",\\u03C4:\\\"τ\\\",\\u03C5:\\\"υ\\\",\\u03C6:\\\"φ\\\",\\u03C7:\\\"χ\\\",\\u03C8:\\\"ψ\\\",\\u03C9:\\\"ω\\\",\\u03D1:\\\"ϑ\\\",\\u03D2:\\\"ϒ\\\",\\u03D6:\\\"ϖ\\\",\\\"\\u2022\\\":\\\"•\\\",\\\"\\u2026\\\":\\\"…\\\",\\\"\\u2032\\\":\\\"′\\\",\\\"\\u2033\\\":\\\"″\\\",\\\"\\u203E\\\":\\\"‾\\\",\\\"\\u2044\\\":\\\"⁄\\\",\\u2118:\\\"℘\\\",\\u2111:\\\"ℑ\\\",\\u211C:\\\"ℜ\\\",\\\"\\u2122\\\":\\\"™\\\",\\u2135:\\\"ℵ\\\",\\\"\\u2190\\\":\\\"←\\\",\\\"\\u2191\\\":\\\"↑\\\",\\\"\\u2192\\\":\\\"→\\\",\\\"\\u2193\\\":\\\"↓\\\",\\\"\\u2194\\\":\\\"↔\\\",\\\"\\u21B5\\\":\\\"↵\\\",\\\"\\u21D0\\\":\\\"⇐\\\",\\\"\\u21D1\\\":\\\"⇑\\\",\\\"\\u21D2\\\":\\\"⇒\\\",\\\"\\u21D3\\\":\\\"⇓\\\",\\\"\\u21D4\\\":\\\"⇔\\\",\\\"\\u2200\\\":\\\"∀\\\",\\\"\\u2202\\\":\\\"∂\\\",\\\"\\u2203\\\":\\\"∃\\\",\\\"\\u2205\\\":\\\"∅\\\",\\\"\\u2207\\\":\\\"∇\\\",\\\"\\u2208\\\":\\\"∈\\\",\\\"\\u2209\\\":\\\"∉\\\",\\\"\\u220B\\\":\\\"∋\\\",\\\"\\u220F\\\":\\\"∏\\\",\\\"\\u2211\\\":\\\"∑\\\",\\\"\\u2212\\\":\\\"−\\\",\\\"\\u2217\\\":\\\"∗\\\",\\\"\\u221A\\\":\\\"√\\\",\\\"\\u221D\\\":\\\"∝\\\",\\\"\\u221E\\\":\\\"∞\\\",\\\"\\u2220\\\":\\\"∠\\\",\\\"\\u2227\\\":\\\"∧\\\",\\\"\\u2228\\\":\\\"∨\\\",\\\"\\u2229\\\":\\\"∩\\\",\\\"\\u222A\\\":\\\"∪\\\",\\\"\\u222B\\\":\\\"∫\\\",\\\"\\u2234\\\":\\\"∴\\\",\\\"\\u223C\\\":\\\"∼\\\",\\\"\\u2245\\\":\\\"≅\\\",\\\"\\u2248\\\":\\\"≈\\\",\\\"\\u2260\\\":\\\"≠\\\",\\\"\\u2261\\\":\\\"≡\\\",\\\"\\u2264\\\":\\\"≤\\\",\\\"\\u2265\\\":\\\"≥\\\",\\\"\\u2282\\\":\\\"⊂\\\",\\\"\\u2283\\\":\\\"⊃\\\",\\\"\\u2284\\\":\\\"⊄\\\",\\\"\\u2286\\\":\\\"⊆\\\",\\\"\\u2287\\\":\\\"⊇\\\",\\\"\\u2295\\\":\\\"⊕\\\",\\\"\\u2297\\\":\\\"⊗\\\",\\\"\\u22A5\\\":\\\"⊥\\\",\\\"\\u22C5\\\":\\\"⋅\\\",\\\"\\u2308\\\":\\\"⌈\\\",\\\"\\u2309\\\":\\\"⌉\\\",\\\"\\u230A\\\":\\\"⌊\\\",\\\"\\u230B\\\":\\\"⌋\\\",\\\"\\u2329\\\":\\\"⟨\\\",\\\"\\u232A\\\":\\\"⟩\\\",\\\"\\u25CA\\\":\\\"◊\\\",\\\"\\u2660\\\":\\\"♠\\\",\\\"\\u2663\\\":\\\"♣\\\",\\\"\\u2665\\\":\\\"♥\\\",\\\"\\u2666\\\":\\\"♦\\\"}},html5:{entities:{\\\"Æ\\\":\\\"\\xC6\\\",\\\"Æ\\\":\\\"\\xC6\\\",\\\"&\\\":\\\"&\\\",\\\"&\\\":\\\"&\\\",\\\"Á\\\":\\\"\\xC1\\\",\\\"Á\\\":\\\"\\xC1\\\",\\\"Ă\\\":\\\"\\u0102\\\",\\\"Â\\\":\\\"\\xC2\\\",\\\"Â\\\":\\\"\\xC2\\\",\\\"А\\\":\\\"\\u0410\\\",\\\"𝔄\\\":\\\"\\uD835\\uDD04\\\",\\\"À\\\":\\\"\\xC0\\\",\\\"À\\\":\\\"\\xC0\\\",\\\"Α\\\":\\\"\\u0391\\\",\\\"Ā\\\":\\\"\\u0100\\\",\\\"⩓\\\":\\\"\\u2A53\\\",\\\"Ą\\\":\\\"\\u0104\\\",\\\"𝔸\\\":\\\"\\uD835\\uDD38\\\",\\\"⁡\\\":\\\"\\u2061\\\",\\\"Å\\\":\\\"\\xC5\\\",\\\"Å\\\":\\\"\\xC5\\\",\\\"𝒜\\\":\\\"\\uD835\\uDC9C\\\",\\\"≔\\\":\\\"\\u2254\\\",\\\"Ã\\\":\\\"\\xC3\\\",\\\"Ã\\\":\\\"\\xC3\\\",\\\"Ä\\\":\\\"\\xC4\\\",\\\"Ä\\\":\\\"\\xC4\\\",\\\"∖\\\":\\\"\\u2216\\\",\\\"⫧\\\":\\\"\\u2AE7\\\",\\\"⌆\\\":\\\"\\u2306\\\",\\\"Б\\\":\\\"\\u0411\\\",\\\"∵\\\":\\\"\\u2235\\\",\\\"ℬ\\\":\\\"\\u212C\\\",\\\"Β\\\":\\\"\\u0392\\\",\\\"𝔅\\\":\\\"\\uD835\\uDD05\\\",\\\"𝔹\\\":\\\"\\uD835\\uDD39\\\",\\\"˘\\\":\\\"\\u02D8\\\",\\\"ℬ\\\":\\\"\\u212C\\\",\\\"≎\\\":\\\"\\u224E\\\",\\\"Ч\\\":\\\"\\u0427\\\",\\\"©\\\":\\\"\\xA9\\\",\\\"©\\\":\\\"\\xA9\\\",\\\"Ć\\\":\\\"\\u0106\\\",\\\"⋒\\\":\\\"\\u22D2\\\",\\\"ⅅ\\\":\\\"\\u2145\\\",\\\"ℭ\\\":\\\"\\u212D\\\",\\\"Č\\\":\\\"\\u010C\\\",\\\"Ç\\\":\\\"\\xC7\\\",\\\"Ç\\\":\\\"\\xC7\\\",\\\"Ĉ\\\":\\\"\\u0108\\\",\\\"∰\\\":\\\"\\u2230\\\",\\\"Ċ\\\":\\\"\\u010A\\\",\\\"¸\\\":\\\"\\xB8\\\",\\\"·\\\":\\\"\\xB7\\\",\\\"ℭ\\\":\\\"\\u212D\\\",\\\"Χ\\\":\\\"\\u03A7\\\",\\\"⊙\\\":\\\"\\u2299\\\",\\\"⊖\\\":\\\"\\u2296\\\",\\\"⊕\\\":\\\"\\u2295\\\",\\\"⊗\\\":\\\"\\u2297\\\",\\\"∲\\\":\\\"\\u2232\\\",\\\"”\\\":\\\"\\u201D\\\",\\\"’\\\":\\\"\\u2019\\\",\\\"∷\\\":\\\"\\u2237\\\",\\\"⩴\\\":\\\"\\u2A74\\\",\\\"≡\\\":\\\"\\u2261\\\",\\\"∯\\\":\\\"\\u222F\\\",\\\"∮\\\":\\\"\\u222E\\\",\\\"ℂ\\\":\\\"\\u2102\\\",\\\"∐\\\":\\\"\\u2210\\\",\\\"∳\\\":\\\"\\u2233\\\",\\\"⨯\\\":\\\"\\u2A2F\\\",\\\"𝒞\\\":\\\"\\uD835\\uDC9E\\\",\\\"⋓\\\":\\\"\\u22D3\\\",\\\"≍\\\":\\\"\\u224D\\\",\\\"ⅅ\\\":\\\"\\u2145\\\",\\\"⤑\\\":\\\"\\u2911\\\",\\\"Ђ\\\":\\\"\\u0402\\\",\\\"Ѕ\\\":\\\"\\u0405\\\",\\\"Џ\\\":\\\"\\u040F\\\",\\\"‡\\\":\\\"\\u2021\\\",\\\"↡\\\":\\\"\\u21A1\\\",\\\"⫤\\\":\\\"\\u2AE4\\\",\\\"Ď\\\":\\\"\\u010E\\\",\\\"Д\\\":\\\"\\u0414\\\",\\\"∇\\\":\\\"\\u2207\\\",\\\"Δ\\\":\\\"\\u0394\\\",\\\"𝔇\\\":\\\"\\uD835\\uDD07\\\",\\\"´\\\":\\\"\\xB4\\\",\\\"˙\\\":\\\"\\u02D9\\\",\\\"˝\\\":\\\"\\u02DD\\\",\\\"`\\\":\\\"`\\\",\\\"˜\\\":\\\"\\u02DC\\\",\\\"⋄\\\":\\\"\\u22C4\\\",\\\"ⅆ\\\":\\\"\\u2146\\\",\\\"𝔻\\\":\\\"\\uD835\\uDD3B\\\",\\\"¨\\\":\\\"\\xA8\\\",\\\"⃜\\\":\\\"\\u20DC\\\",\\\"≐\\\":\\\"\\u2250\\\",\\\"∯\\\":\\\"\\u222F\\\",\\\"¨\\\":\\\"\\xA8\\\",\\\"⇓\\\":\\\"\\u21D3\\\",\\\"⇐\\\":\\\"\\u21D0\\\",\\\"⇔\\\":\\\"\\u21D4\\\",\\\"⫤\\\":\\\"\\u2AE4\\\",\\\"⟸\\\":\\\"\\u27F8\\\",\\\"⟺\\\":\\\"\\u27FA\\\",\\\"⟹\\\":\\\"\\u27F9\\\",\\\"⇒\\\":\\\"\\u21D2\\\",\\\"⊨\\\":\\\"\\u22A8\\\",\\\"⇑\\\":\\\"\\u21D1\\\",\\\"⇕\\\":\\\"\\u21D5\\\",\\\"∥\\\":\\\"\\u2225\\\",\\\"↓\\\":\\\"\\u2193\\\",\\\"⤓\\\":\\\"\\u2913\\\",\\\"⇵\\\":\\\"\\u21F5\\\",\\\"̑\\\":\\\"\\u0311\\\",\\\"⥐\\\":\\\"\\u2950\\\",\\\"⥞\\\":\\\"\\u295E\\\",\\\"↽\\\":\\\"\\u21BD\\\",\\\"⥖\\\":\\\"\\u2956\\\",\\\"⥟\\\":\\\"\\u295F\\\",\\\"⇁\\\":\\\"\\u21C1\\\",\\\"⥗\\\":\\\"\\u2957\\\",\\\"⊤\\\":\\\"\\u22A4\\\",\\\"↧\\\":\\\"\\u21A7\\\",\\\"⇓\\\":\\\"\\u21D3\\\",\\\"𝒟\\\":\\\"\\uD835\\uDC9F\\\",\\\"Đ\\\":\\\"\\u0110\\\",\\\"Ŋ\\\":\\\"\\u014A\\\",\\\"Ð\\\":\\\"\\xD0\\\",\\\"Ð\\\":\\\"\\xD0\\\",\\\"É\\\":\\\"\\xC9\\\",\\\"É\\\":\\\"\\xC9\\\",\\\"Ě\\\":\\\"\\u011A\\\",\\\"Ê\\\":\\\"\\xCA\\\",\\\"Ê\\\":\\\"\\xCA\\\",\\\"Э\\\":\\\"\\u042D\\\",\\\"Ė\\\":\\\"\\u0116\\\",\\\"𝔈\\\":\\\"\\uD835\\uDD08\\\",\\\"È\\\":\\\"\\xC8\\\",\\\"È\\\":\\\"\\xC8\\\",\\\"∈\\\":\\\"\\u2208\\\",\\\"Ē\\\":\\\"\\u0112\\\",\\\"◻\\\":\\\"\\u25FB\\\",\\\"▫\\\":\\\"\\u25AB\\\",\\\"Ę\\\":\\\"\\u0118\\\",\\\"𝔼\\\":\\\"\\uD835\\uDD3C\\\",\\\"Ε\\\":\\\"\\u0395\\\",\\\"⩵\\\":\\\"\\u2A75\\\",\\\"≂\\\":\\\"\\u2242\\\",\\\"⇌\\\":\\\"\\u21CC\\\",\\\"ℰ\\\":\\\"\\u2130\\\",\\\"⩳\\\":\\\"\\u2A73\\\",\\\"Η\\\":\\\"\\u0397\\\",\\\"Ë\\\":\\\"\\xCB\\\",\\\"Ë\\\":\\\"\\xCB\\\",\\\"∃\\\":\\\"\\u2203\\\",\\\"ⅇ\\\":\\\"\\u2147\\\",\\\"Ф\\\":\\\"\\u0424\\\",\\\"𝔉\\\":\\\"\\uD835\\uDD09\\\",\\\"◼\\\":\\\"\\u25FC\\\",\\\"▪\\\":\\\"\\u25AA\\\",\\\"𝔽\\\":\\\"\\uD835\\uDD3D\\\",\\\"∀\\\":\\\"\\u2200\\\",\\\"ℱ\\\":\\\"\\u2131\\\",\\\"ℱ\\\":\\\"\\u2131\\\",\\\"Ѓ\\\":\\\"\\u0403\\\",\\\">\\\":\\\">\\\",\\\">\\\":\\\">\\\",\\\"Γ\\\":\\\"\\u0393\\\",\\\"Ϝ\\\":\\\"\\u03DC\\\",\\\"Ğ\\\":\\\"\\u011E\\\",\\\"Ģ\\\":\\\"\\u0122\\\",\\\"Ĝ\\\":\\\"\\u011C\\\",\\\"Г\\\":\\\"\\u0413\\\",\\\"Ġ\\\":\\\"\\u0120\\\",\\\"𝔊\\\":\\\"\\uD835\\uDD0A\\\",\\\"⋙\\\":\\\"\\u22D9\\\",\\\"𝔾\\\":\\\"\\uD835\\uDD3E\\\",\\\"≥\\\":\\\"\\u2265\\\",\\\"⋛\\\":\\\"\\u22DB\\\",\\\"≧\\\":\\\"\\u2267\\\",\\\"⪢\\\":\\\"\\u2AA2\\\",\\\"≷\\\":\\\"\\u2277\\\",\\\"⩾\\\":\\\"\\u2A7E\\\",\\\"≳\\\":\\\"\\u2273\\\",\\\"𝒢\\\":\\\"\\uD835\\uDCA2\\\",\\\"≫\\\":\\\"\\u226B\\\",\\\"Ъ\\\":\\\"\\u042A\\\",\\\"ˇ\\\":\\\"\\u02C7\\\",\\\"^\\\":\\\"^\\\",\\\"Ĥ\\\":\\\"\\u0124\\\",\\\"ℌ\\\":\\\"\\u210C\\\",\\\"ℋ\\\":\\\"\\u210B\\\",\\\"ℍ\\\":\\\"\\u210D\\\",\\\"─\\\":\\\"\\u2500\\\",\\\"ℋ\\\":\\\"\\u210B\\\",\\\"Ħ\\\":\\\"\\u0126\\\",\\\"≎\\\":\\\"\\u224E\\\",\\\"≏\\\":\\\"\\u224F\\\",\\\"Е\\\":\\\"\\u0415\\\",\\\"IJ\\\":\\\"\\u0132\\\",\\\"Ё\\\":\\\"\\u0401\\\",\\\"Í\\\":\\\"\\xCD\\\",\\\"Í\\\":\\\"\\xCD\\\",\\\"Î\\\":\\\"\\xCE\\\",\\\"Î\\\":\\\"\\xCE\\\",\\\"И\\\":\\\"\\u0418\\\",\\\"İ\\\":\\\"\\u0130\\\",\\\"ℑ\\\":\\\"\\u2111\\\",\\\"Ì\\\":\\\"\\xCC\\\",\\\"Ì\\\":\\\"\\xCC\\\",\\\"ℑ\\\":\\\"\\u2111\\\",\\\"Ī\\\":\\\"\\u012A\\\",\\\"ⅈ\\\":\\\"\\u2148\\\",\\\"⇒\\\":\\\"\\u21D2\\\",\\\"∬\\\":\\\"\\u222C\\\",\\\"∫\\\":\\\"\\u222B\\\",\\\"⋂\\\":\\\"\\u22C2\\\",\\\"⁣\\\":\\\"\\u2063\\\",\\\"⁢\\\":\\\"\\u2062\\\",\\\"Į\\\":\\\"\\u012E\\\",\\\"𝕀\\\":\\\"\\uD835\\uDD40\\\",\\\"Ι\\\":\\\"\\u0399\\\",\\\"ℐ\\\":\\\"\\u2110\\\",\\\"Ĩ\\\":\\\"\\u0128\\\",\\\"І\\\":\\\"\\u0406\\\",\\\"Ï\\\":\\\"\\xCF\\\",\\\"Ï\\\":\\\"\\xCF\\\",\\\"Ĵ\\\":\\\"\\u0134\\\",\\\"Й\\\":\\\"\\u0419\\\",\\\"𝔍\\\":\\\"\\uD835\\uDD0D\\\",\\\"𝕁\\\":\\\"\\uD835\\uDD41\\\",\\\"𝒥\\\":\\\"\\uD835\\uDCA5\\\",\\\"Ј\\\":\\\"\\u0408\\\",\\\"Є\\\":\\\"\\u0404\\\",\\\"Х\\\":\\\"\\u0425\\\",\\\"Ќ\\\":\\\"\\u040C\\\",\\\"Κ\\\":\\\"\\u039A\\\",\\\"Ķ\\\":\\\"\\u0136\\\",\\\"К\\\":\\\"\\u041A\\\",\\\"𝔎\\\":\\\"\\uD835\\uDD0E\\\",\\\"𝕂\\\":\\\"\\uD835\\uDD42\\\",\\\"𝒦\\\":\\\"\\uD835\\uDCA6\\\",\\\"Љ\\\":\\\"\\u0409\\\",\\\"<\\\":\\\"<\\\",\\\"<\\\":\\\"<\\\",\\\"Ĺ\\\":\\\"\\u0139\\\",\\\"Λ\\\":\\\"\\u039B\\\",\\\"⟪\\\":\\\"\\u27EA\\\",\\\"ℒ\\\":\\\"\\u2112\\\",\\\"↞\\\":\\\"\\u219E\\\",\\\"Ľ\\\":\\\"\\u013D\\\",\\\"Ļ\\\":\\\"\\u013B\\\",\\\"Л\\\":\\\"\\u041B\\\",\\\"⟨\\\":\\\"\\u27E8\\\",\\\"←\\\":\\\"\\u2190\\\",\\\"⇤\\\":\\\"\\u21E4\\\",\\\"⇆\\\":\\\"\\u21C6\\\",\\\"⌈\\\":\\\"\\u2308\\\",\\\"⟦\\\":\\\"\\u27E6\\\",\\\"⥡\\\":\\\"\\u2961\\\",\\\"⇃\\\":\\\"\\u21C3\\\",\\\"⥙\\\":\\\"\\u2959\\\",\\\"⌊\\\":\\\"\\u230A\\\",\\\"↔\\\":\\\"\\u2194\\\",\\\"⥎\\\":\\\"\\u294E\\\",\\\"⊣\\\":\\\"\\u22A3\\\",\\\"↤\\\":\\\"\\u21A4\\\",\\\"⥚\\\":\\\"\\u295A\\\",\\\"⊲\\\":\\\"\\u22B2\\\",\\\"⧏\\\":\\\"\\u29CF\\\",\\\"⊴\\\":\\\"\\u22B4\\\",\\\"⥑\\\":\\\"\\u2951\\\",\\\"⥠\\\":\\\"\\u2960\\\",\\\"↿\\\":\\\"\\u21BF\\\",\\\"⥘\\\":\\\"\\u2958\\\",\\\"↼\\\":\\\"\\u21BC\\\",\\\"⥒\\\":\\\"\\u2952\\\",\\\"⇐\\\":\\\"\\u21D0\\\",\\\"⇔\\\":\\\"\\u21D4\\\",\\\"⋚\\\":\\\"\\u22DA\\\",\\\"≦\\\":\\\"\\u2266\\\",\\\"≶\\\":\\\"\\u2276\\\",\\\"⪡\\\":\\\"\\u2AA1\\\",\\\"⩽\\\":\\\"\\u2A7D\\\",\\\"≲\\\":\\\"\\u2272\\\",\\\"𝔏\\\":\\\"\\uD835\\uDD0F\\\",\\\"⋘\\\":\\\"\\u22D8\\\",\\\"⇚\\\":\\\"\\u21DA\\\",\\\"Ŀ\\\":\\\"\\u013F\\\",\\\"⟵\\\":\\\"\\u27F5\\\",\\\"⟷\\\":\\\"\\u27F7\\\",\\\"⟶\\\":\\\"\\u27F6\\\",\\\"⟸\\\":\\\"\\u27F8\\\",\\\"⟺\\\":\\\"\\u27FA\\\",\\\"⟹\\\":\\\"\\u27F9\\\",\\\"𝕃\\\":\\\"\\uD835\\uDD43\\\",\\\"↙\\\":\\\"\\u2199\\\",\\\"↘\\\":\\\"\\u2198\\\",\\\"ℒ\\\":\\\"\\u2112\\\",\\\"↰\\\":\\\"\\u21B0\\\",\\\"Ł\\\":\\\"\\u0141\\\",\\\"≪\\\":\\\"\\u226A\\\",\\\"⤅\\\":\\\"\\u2905\\\",\\\"М\\\":\\\"\\u041C\\\",\\\" \\\":\\\"\\u205F\\\",\\\"ℳ\\\":\\\"\\u2133\\\",\\\"𝔐\\\":\\\"\\uD835\\uDD10\\\",\\\"∓\\\":\\\"\\u2213\\\",\\\"𝕄\\\":\\\"\\uD835\\uDD44\\\",\\\"ℳ\\\":\\\"\\u2133\\\",\\\"Μ\\\":\\\"\\u039C\\\",\\\"Њ\\\":\\\"\\u040A\\\",\\\"Ń\\\":\\\"\\u0143\\\",\\\"Ň\\\":\\\"\\u0147\\\",\\\"Ņ\\\":\\\"\\u0145\\\",\\\"Н\\\":\\\"\\u041D\\\",\\\"​\\\":\\\"\\u200B\\\",\\\"​\\\":\\\"\\u200B\\\",\\\"​\\\":\\\"\\u200B\\\",\\\"​\\\":\\\"\\u200B\\\",\\\"≫\\\":\\\"\\u226B\\\",\\\"≪\\\":\\\"\\u226A\\\",\\\"
\\\":\\\"\\\\n\\\",\\\"𝔑\\\":\\\"\\uD835\\uDD11\\\",\\\"⁠\\\":\\\"\\u2060\\\",\\\" \\\":\\\"\\xA0\\\",\\\"ℕ\\\":\\\"\\u2115\\\",\\\"⫬\\\":\\\"\\u2AEC\\\",\\\"≢\\\":\\\"\\u2262\\\",\\\"≭\\\":\\\"\\u226D\\\",\\\"∦\\\":\\\"\\u2226\\\",\\\"∉\\\":\\\"\\u2209\\\",\\\"≠\\\":\\\"\\u2260\\\",\\\"≂̸\\\":\\\"\\u2242\\u0338\\\",\\\"∄\\\":\\\"\\u2204\\\",\\\"≯\\\":\\\"\\u226F\\\",\\\"≱\\\":\\\"\\u2271\\\",\\\"≧̸\\\":\\\"\\u2267\\u0338\\\",\\\"≫̸\\\":\\\"\\u226B\\u0338\\\",\\\"≹\\\":\\\"\\u2279\\\",\\\"⩾̸\\\":\\\"\\u2A7E\\u0338\\\",\\\"≵\\\":\\\"\\u2275\\\",\\\"≎̸\\\":\\\"\\u224E\\u0338\\\",\\\"≏̸\\\":\\\"\\u224F\\u0338\\\",\\\"⋪\\\":\\\"\\u22EA\\\",\\\"⧏̸\\\":\\\"\\u29CF\\u0338\\\",\\\"⋬\\\":\\\"\\u22EC\\\",\\\"≮\\\":\\\"\\u226E\\\",\\\"≰\\\":\\\"\\u2270\\\",\\\"≸\\\":\\\"\\u2278\\\",\\\"≪̸\\\":\\\"\\u226A\\u0338\\\",\\\"⩽̸\\\":\\\"\\u2A7D\\u0338\\\",\\\"≴\\\":\\\"\\u2274\\\",\\\"⪢̸\\\":\\\"\\u2AA2\\u0338\\\",\\\"⪡̸\\\":\\\"\\u2AA1\\u0338\\\",\\\"⊀\\\":\\\"\\u2280\\\",\\\"⪯̸\\\":\\\"\\u2AAF\\u0338\\\",\\\"⋠\\\":\\\"\\u22E0\\\",\\\"∌\\\":\\\"\\u220C\\\",\\\"⋫\\\":\\\"\\u22EB\\\",\\\"⧐̸\\\":\\\"\\u29D0\\u0338\\\",\\\"⋭\\\":\\\"\\u22ED\\\",\\\"⊏̸\\\":\\\"\\u228F\\u0338\\\",\\\"⋢\\\":\\\"\\u22E2\\\",\\\"⊐̸\\\":\\\"\\u2290\\u0338\\\",\\\"⋣\\\":\\\"\\u22E3\\\",\\\"⊂⃒\\\":\\\"\\u2282\\u20D2\\\",\\\"⊈\\\":\\\"\\u2288\\\",\\\"⊁\\\":\\\"\\u2281\\\",\\\"⪰̸\\\":\\\"\\u2AB0\\u0338\\\",\\\"⋡\\\":\\\"\\u22E1\\\",\\\"≿̸\\\":\\\"\\u227F\\u0338\\\",\\\"⊃⃒\\\":\\\"\\u2283\\u20D2\\\",\\\"⊉\\\":\\\"\\u2289\\\",\\\"≁\\\":\\\"\\u2241\\\",\\\"≄\\\":\\\"\\u2244\\\",\\\"≇\\\":\\\"\\u2247\\\",\\\"≉\\\":\\\"\\u2249\\\",\\\"∤\\\":\\\"\\u2224\\\",\\\"𝒩\\\":\\\"\\uD835\\uDCA9\\\",\\\"Ñ\\\":\\\"\\xD1\\\",\\\"Ñ\\\":\\\"\\xD1\\\",\\\"Ν\\\":\\\"\\u039D\\\",\\\"Œ\\\":\\\"\\u0152\\\",\\\"Ó\\\":\\\"\\xD3\\\",\\\"Ó\\\":\\\"\\xD3\\\",\\\"Ô\\\":\\\"\\xD4\\\",\\\"Ô\\\":\\\"\\xD4\\\",\\\"О\\\":\\\"\\u041E\\\",\\\"Ő\\\":\\\"\\u0150\\\",\\\"𝔒\\\":\\\"\\uD835\\uDD12\\\",\\\"Ò\\\":\\\"\\xD2\\\",\\\"Ò\\\":\\\"\\xD2\\\",\\\"Ō\\\":\\\"\\u014C\\\",\\\"Ω\\\":\\\"\\u03A9\\\",\\\"Ο\\\":\\\"\\u039F\\\",\\\"𝕆\\\":\\\"\\uD835\\uDD46\\\",\\\"“\\\":\\\"\\u201C\\\",\\\"‘\\\":\\\"\\u2018\\\",\\\"⩔\\\":\\\"\\u2A54\\\",\\\"𝒪\\\":\\\"\\uD835\\uDCAA\\\",\\\"Ø\\\":\\\"\\xD8\\\",\\\"Ø\\\":\\\"\\xD8\\\",\\\"Õ\\\":\\\"\\xD5\\\",\\\"Õ\\\":\\\"\\xD5\\\",\\\"⨷\\\":\\\"\\u2A37\\\",\\\"Ö\\\":\\\"\\xD6\\\",\\\"Ö\\\":\\\"\\xD6\\\",\\\"‾\\\":\\\"\\u203E\\\",\\\"⏞\\\":\\\"\\u23DE\\\",\\\"⎴\\\":\\\"\\u23B4\\\",\\\"⏜\\\":\\\"\\u23DC\\\",\\\"∂\\\":\\\"\\u2202\\\",\\\"П\\\":\\\"\\u041F\\\",\\\"𝔓\\\":\\\"\\uD835\\uDD13\\\",\\\"Φ\\\":\\\"\\u03A6\\\",\\\"Π\\\":\\\"\\u03A0\\\",\\\"±\\\":\\\"\\xB1\\\",\\\"ℌ\\\":\\\"\\u210C\\\",\\\"ℙ\\\":\\\"\\u2119\\\",\\\"⪻\\\":\\\"\\u2ABB\\\",\\\"≺\\\":\\\"\\u227A\\\",\\\"⪯\\\":\\\"\\u2AAF\\\",\\\"≼\\\":\\\"\\u227C\\\",\\\"≾\\\":\\\"\\u227E\\\",\\\"″\\\":\\\"\\u2033\\\",\\\"∏\\\":\\\"\\u220F\\\",\\\"∷\\\":\\\"\\u2237\\\",\\\"∝\\\":\\\"\\u221D\\\",\\\"𝒫\\\":\\\"\\uD835\\uDCAB\\\",\\\"Ψ\\\":\\\"\\u03A8\\\",\\\""\\\":'\\\"',\\\""\\\":'\\\"',\\\"𝔔\\\":\\\"\\uD835\\uDD14\\\",\\\"ℚ\\\":\\\"\\u211A\\\",\\\"𝒬\\\":\\\"\\uD835\\uDCAC\\\",\\\"⤐\\\":\\\"\\u2910\\\",\\\"®\\\":\\\"\\xAE\\\",\\\"®\\\":\\\"\\xAE\\\",\\\"Ŕ\\\":\\\"\\u0154\\\",\\\"⟫\\\":\\\"\\u27EB\\\",\\\"↠\\\":\\\"\\u21A0\\\",\\\"⤖\\\":\\\"\\u2916\\\",\\\"Ř\\\":\\\"\\u0158\\\",\\\"Ŗ\\\":\\\"\\u0156\\\",\\\"Р\\\":\\\"\\u0420\\\",\\\"ℜ\\\":\\\"\\u211C\\\",\\\"∋\\\":\\\"\\u220B\\\",\\\"⇋\\\":\\\"\\u21CB\\\",\\\"⥯\\\":\\\"\\u296F\\\",\\\"ℜ\\\":\\\"\\u211C\\\",\\\"Ρ\\\":\\\"\\u03A1\\\",\\\"⟩\\\":\\\"\\u27E9\\\",\\\"→\\\":\\\"\\u2192\\\",\\\"⇥\\\":\\\"\\u21E5\\\",\\\"⇄\\\":\\\"\\u21C4\\\",\\\"⌉\\\":\\\"\\u2309\\\",\\\"⟧\\\":\\\"\\u27E7\\\",\\\"⥝\\\":\\\"\\u295D\\\",\\\"⇂\\\":\\\"\\u21C2\\\",\\\"⥕\\\":\\\"\\u2955\\\",\\\"⌋\\\":\\\"\\u230B\\\",\\\"⊢\\\":\\\"\\u22A2\\\",\\\"↦\\\":\\\"\\u21A6\\\",\\\"⥛\\\":\\\"\\u295B\\\",\\\"⊳\\\":\\\"\\u22B3\\\",\\\"⧐\\\":\\\"\\u29D0\\\",\\\"⊵\\\":\\\"\\u22B5\\\",\\\"⥏\\\":\\\"\\u294F\\\",\\\"⥜\\\":\\\"\\u295C\\\",\\\"↾\\\":\\\"\\u21BE\\\",\\\"⥔\\\":\\\"\\u2954\\\",\\\"⇀\\\":\\\"\\u21C0\\\",\\\"⥓\\\":\\\"\\u2953\\\",\\\"⇒\\\":\\\"\\u21D2\\\",\\\"ℝ\\\":\\\"\\u211D\\\",\\\"⥰\\\":\\\"\\u2970\\\",\\\"⇛\\\":\\\"\\u21DB\\\",\\\"ℛ\\\":\\\"\\u211B\\\",\\\"↱\\\":\\\"\\u21B1\\\",\\\"⧴\\\":\\\"\\u29F4\\\",\\\"Щ\\\":\\\"\\u0429\\\",\\\"Ш\\\":\\\"\\u0428\\\",\\\"Ь\\\":\\\"\\u042C\\\",\\\"Ś\\\":\\\"\\u015A\\\",\\\"⪼\\\":\\\"\\u2ABC\\\",\\\"Š\\\":\\\"\\u0160\\\",\\\"Ş\\\":\\\"\\u015E\\\",\\\"Ŝ\\\":\\\"\\u015C\\\",\\\"С\\\":\\\"\\u0421\\\",\\\"𝔖\\\":\\\"\\uD835\\uDD16\\\",\\\"↓\\\":\\\"\\u2193\\\",\\\"←\\\":\\\"\\u2190\\\",\\\"→\\\":\\\"\\u2192\\\",\\\"↑\\\":\\\"\\u2191\\\",\\\"Σ\\\":\\\"\\u03A3\\\",\\\"∘\\\":\\\"\\u2218\\\",\\\"𝕊\\\":\\\"\\uD835\\uDD4A\\\",\\\"√\\\":\\\"\\u221A\\\",\\\"□\\\":\\\"\\u25A1\\\",\\\"⊓\\\":\\\"\\u2293\\\",\\\"⊏\\\":\\\"\\u228F\\\",\\\"⊑\\\":\\\"\\u2291\\\",\\\"⊐\\\":\\\"\\u2290\\\",\\\"⊒\\\":\\\"\\u2292\\\",\\\"⊔\\\":\\\"\\u2294\\\",\\\"𝒮\\\":\\\"\\uD835\\uDCAE\\\",\\\"⋆\\\":\\\"\\u22C6\\\",\\\"⋐\\\":\\\"\\u22D0\\\",\\\"⋐\\\":\\\"\\u22D0\\\",\\\"⊆\\\":\\\"\\u2286\\\",\\\"≻\\\":\\\"\\u227B\\\",\\\"⪰\\\":\\\"\\u2AB0\\\",\\\"≽\\\":\\\"\\u227D\\\",\\\"≿\\\":\\\"\\u227F\\\",\\\"∋\\\":\\\"\\u220B\\\",\\\"∑\\\":\\\"\\u2211\\\",\\\"⋑\\\":\\\"\\u22D1\\\",\\\"⊃\\\":\\\"\\u2283\\\",\\\"⊇\\\":\\\"\\u2287\\\",\\\"⋑\\\":\\\"\\u22D1\\\",\\\"Þ\\\":\\\"\\xDE\\\",\\\"Þ\\\":\\\"\\xDE\\\",\\\"™\\\":\\\"\\u2122\\\",\\\"Ћ\\\":\\\"\\u040B\\\",\\\"Ц\\\":\\\"\\u0426\\\",\\\"	\\\":\\\"\\\\t\\\",\\\"Τ\\\":\\\"\\u03A4\\\",\\\"Ť\\\":\\\"\\u0164\\\",\\\"Ţ\\\":\\\"\\u0162\\\",\\\"Т\\\":\\\"\\u0422\\\",\\\"𝔗\\\":\\\"\\uD835\\uDD17\\\",\\\"∴\\\":\\\"\\u2234\\\",\\\"Θ\\\":\\\"\\u0398\\\",\\\"  \\\":\\\"\\u205F\\u200A\\\",\\\" \\\":\\\"\\u2009\\\",\\\"∼\\\":\\\"\\u223C\\\",\\\"≃\\\":\\\"\\u2243\\\",\\\"≅\\\":\\\"\\u2245\\\",\\\"≈\\\":\\\"\\u2248\\\",\\\"𝕋\\\":\\\"\\uD835\\uDD4B\\\",\\\"⃛\\\":\\\"\\u20DB\\\",\\\"𝒯\\\":\\\"\\uD835\\uDCAF\\\",\\\"Ŧ\\\":\\\"\\u0166\\\",\\\"Ú\\\":\\\"\\xDA\\\",\\\"Ú\\\":\\\"\\xDA\\\",\\\"↟\\\":\\\"\\u219F\\\",\\\"⥉\\\":\\\"\\u2949\\\",\\\"Ў\\\":\\\"\\u040E\\\",\\\"Ŭ\\\":\\\"\\u016C\\\",\\\"Û\\\":\\\"\\xDB\\\",\\\"Û\\\":\\\"\\xDB\\\",\\\"У\\\":\\\"\\u0423\\\",\\\"Ű\\\":\\\"\\u0170\\\",\\\"𝔘\\\":\\\"\\uD835\\uDD18\\\",\\\"Ù\\\":\\\"\\xD9\\\",\\\"Ù\\\":\\\"\\xD9\\\",\\\"Ū\\\":\\\"\\u016A\\\",\\\"_\\\":\\\"_\\\",\\\"⏟\\\":\\\"\\u23DF\\\",\\\"⎵\\\":\\\"\\u23B5\\\",\\\"⏝\\\":\\\"\\u23DD\\\",\\\"⋃\\\":\\\"\\u22C3\\\",\\\"⊎\\\":\\\"\\u228E\\\",\\\"Ų\\\":\\\"\\u0172\\\",\\\"𝕌\\\":\\\"\\uD835\\uDD4C\\\",\\\"↑\\\":\\\"\\u2191\\\",\\\"⤒\\\":\\\"\\u2912\\\",\\\"⇅\\\":\\\"\\u21C5\\\",\\\"↕\\\":\\\"\\u2195\\\",\\\"⥮\\\":\\\"\\u296E\\\",\\\"⊥\\\":\\\"\\u22A5\\\",\\\"↥\\\":\\\"\\u21A5\\\",\\\"⇑\\\":\\\"\\u21D1\\\",\\\"⇕\\\":\\\"\\u21D5\\\",\\\"↖\\\":\\\"\\u2196\\\",\\\"↗\\\":\\\"\\u2197\\\",\\\"ϒ\\\":\\\"\\u03D2\\\",\\\"Υ\\\":\\\"\\u03A5\\\",\\\"Ů\\\":\\\"\\u016E\\\",\\\"𝒰\\\":\\\"\\uD835\\uDCB0\\\",\\\"Ũ\\\":\\\"\\u0168\\\",\\\"Ü\\\":\\\"\\xDC\\\",\\\"Ü\\\":\\\"\\xDC\\\",\\\"⊫\\\":\\\"\\u22AB\\\",\\\"⫫\\\":\\\"\\u2AEB\\\",\\\"В\\\":\\\"\\u0412\\\",\\\"⊩\\\":\\\"\\u22A9\\\",\\\"⫦\\\":\\\"\\u2AE6\\\",\\\"⋁\\\":\\\"\\u22C1\\\",\\\"‖\\\":\\\"\\u2016\\\",\\\"‖\\\":\\\"\\u2016\\\",\\\"∣\\\":\\\"\\u2223\\\",\\\"|\\\":\\\"|\\\",\\\"❘\\\":\\\"\\u2758\\\",\\\"≀\\\":\\\"\\u2240\\\",\\\" \\\":\\\"\\u200A\\\",\\\"𝔙\\\":\\\"\\uD835\\uDD19\\\",\\\"𝕍\\\":\\\"\\uD835\\uDD4D\\\",\\\"𝒱\\\":\\\"\\uD835\\uDCB1\\\",\\\"⊪\\\":\\\"\\u22AA\\\",\\\"Ŵ\\\":\\\"\\u0174\\\",\\\"⋀\\\":\\\"\\u22C0\\\",\\\"𝔚\\\":\\\"\\uD835\\uDD1A\\\",\\\"𝕎\\\":\\\"\\uD835\\uDD4E\\\",\\\"𝒲\\\":\\\"\\uD835\\uDCB2\\\",\\\"𝔛\\\":\\\"\\uD835\\uDD1B\\\",\\\"Ξ\\\":\\\"\\u039E\\\",\\\"𝕏\\\":\\\"\\uD835\\uDD4F\\\",\\\"𝒳\\\":\\\"\\uD835\\uDCB3\\\",\\\"Я\\\":\\\"\\u042F\\\",\\\"Ї\\\":\\\"\\u0407\\\",\\\"Ю\\\":\\\"\\u042E\\\",\\\"Ý\\\":\\\"\\xDD\\\",\\\"Ý\\\":\\\"\\xDD\\\",\\\"Ŷ\\\":\\\"\\u0176\\\",\\\"Ы\\\":\\\"\\u042B\\\",\\\"𝔜\\\":\\\"\\uD835\\uDD1C\\\",\\\"𝕐\\\":\\\"\\uD835\\uDD50\\\",\\\"𝒴\\\":\\\"\\uD835\\uDCB4\\\",\\\"Ÿ\\\":\\\"\\u0178\\\",\\\"Ж\\\":\\\"\\u0416\\\",\\\"Ź\\\":\\\"\\u0179\\\",\\\"Ž\\\":\\\"\\u017D\\\",\\\"З\\\":\\\"\\u0417\\\",\\\"Ż\\\":\\\"\\u017B\\\",\\\"​\\\":\\\"\\u200B\\\",\\\"Ζ\\\":\\\"\\u0396\\\",\\\"ℨ\\\":\\\"\\u2128\\\",\\\"ℤ\\\":\\\"\\u2124\\\",\\\"𝒵\\\":\\\"\\uD835\\uDCB5\\\",\\\"á\\\":\\\"\\xE1\\\",\\\"á\\\":\\\"\\xE1\\\",\\\"ă\\\":\\\"\\u0103\\\",\\\"∾\\\":\\\"\\u223E\\\",\\\"∾̳\\\":\\\"\\u223E\\u0333\\\",\\\"∿\\\":\\\"\\u223F\\\",\\\"â\\\":\\\"\\xE2\\\",\\\"â\\\":\\\"\\xE2\\\",\\\"´\\\":\\\"\\xB4\\\",\\\"´\\\":\\\"\\xB4\\\",\\\"а\\\":\\\"\\u0430\\\",\\\"æ\\\":\\\"\\xE6\\\",\\\"æ\\\":\\\"\\xE6\\\",\\\"⁡\\\":\\\"\\u2061\\\",\\\"𝔞\\\":\\\"\\uD835\\uDD1E\\\",\\\"à\\\":\\\"\\xE0\\\",\\\"à\\\":\\\"\\xE0\\\",\\\"ℵ\\\":\\\"\\u2135\\\",\\\"ℵ\\\":\\\"\\u2135\\\",\\\"α\\\":\\\"\\u03B1\\\",\\\"ā\\\":\\\"\\u0101\\\",\\\"⨿\\\":\\\"\\u2A3F\\\",\\\"&\\\":\\\"&\\\",\\\"&\\\":\\\"&\\\",\\\"∧\\\":\\\"\\u2227\\\",\\\"⩕\\\":\\\"\\u2A55\\\",\\\"⩜\\\":\\\"\\u2A5C\\\",\\\"⩘\\\":\\\"\\u2A58\\\",\\\"⩚\\\":\\\"\\u2A5A\\\",\\\"∠\\\":\\\"\\u2220\\\",\\\"⦤\\\":\\\"\\u29A4\\\",\\\"∠\\\":\\\"\\u2220\\\",\\\"∡\\\":\\\"\\u2221\\\",\\\"⦨\\\":\\\"\\u29A8\\\",\\\"⦩\\\":\\\"\\u29A9\\\",\\\"⦪\\\":\\\"\\u29AA\\\",\\\"⦫\\\":\\\"\\u29AB\\\",\\\"⦬\\\":\\\"\\u29AC\\\",\\\"⦭\\\":\\\"\\u29AD\\\",\\\"⦮\\\":\\\"\\u29AE\\\",\\\"⦯\\\":\\\"\\u29AF\\\",\\\"∟\\\":\\\"\\u221F\\\",\\\"⊾\\\":\\\"\\u22BE\\\",\\\"⦝\\\":\\\"\\u299D\\\",\\\"∢\\\":\\\"\\u2222\\\",\\\"Å\\\":\\\"\\xC5\\\",\\\"⍼\\\":\\\"\\u237C\\\",\\\"ą\\\":\\\"\\u0105\\\",\\\"𝕒\\\":\\\"\\uD835\\uDD52\\\",\\\"≈\\\":\\\"\\u2248\\\",\\\"⩰\\\":\\\"\\u2A70\\\",\\\"⩯\\\":\\\"\\u2A6F\\\",\\\"≊\\\":\\\"\\u224A\\\",\\\"≋\\\":\\\"\\u224B\\\",\\\"'\\\":\\\"'\\\",\\\"≈\\\":\\\"\\u2248\\\",\\\"≊\\\":\\\"\\u224A\\\",\\\"å\\\":\\\"\\xE5\\\",\\\"å\\\":\\\"\\xE5\\\",\\\"𝒶\\\":\\\"\\uD835\\uDCB6\\\",\\\"*\\\":\\\"*\\\",\\\"≈\\\":\\\"\\u2248\\\",\\\"≍\\\":\\\"\\u224D\\\",\\\"ã\\\":\\\"\\xE3\\\",\\\"ã\\\":\\\"\\xE3\\\",\\\"ä\\\":\\\"\\xE4\\\",\\\"ä\\\":\\\"\\xE4\\\",\\\"∳\\\":\\\"\\u2233\\\",\\\"⨑\\\":\\\"\\u2A11\\\",\\\"⫭\\\":\\\"\\u2AED\\\",\\\"≌\\\":\\\"\\u224C\\\",\\\"϶\\\":\\\"\\u03F6\\\",\\\"‵\\\":\\\"\\u2035\\\",\\\"∽\\\":\\\"\\u223D\\\",\\\"⋍\\\":\\\"\\u22CD\\\",\\\"⊽\\\":\\\"\\u22BD\\\",\\\"⌅\\\":\\\"\\u2305\\\",\\\"⌅\\\":\\\"\\u2305\\\",\\\"⎵\\\":\\\"\\u23B5\\\",\\\"⎶\\\":\\\"\\u23B6\\\",\\\"≌\\\":\\\"\\u224C\\\",\\\"б\\\":\\\"\\u0431\\\",\\\"„\\\":\\\"\\u201E\\\",\\\"∵\\\":\\\"\\u2235\\\",\\\"∵\\\":\\\"\\u2235\\\",\\\"⦰\\\":\\\"\\u29B0\\\",\\\"϶\\\":\\\"\\u03F6\\\",\\\"ℬ\\\":\\\"\\u212C\\\",\\\"β\\\":\\\"\\u03B2\\\",\\\"ℶ\\\":\\\"\\u2136\\\",\\\"≬\\\":\\\"\\u226C\\\",\\\"𝔟\\\":\\\"\\uD835\\uDD1F\\\",\\\"⋂\\\":\\\"\\u22C2\\\",\\\"◯\\\":\\\"\\u25EF\\\",\\\"⋃\\\":\\\"\\u22C3\\\",\\\"⨀\\\":\\\"\\u2A00\\\",\\\"⨁\\\":\\\"\\u2A01\\\",\\\"⨂\\\":\\\"\\u2A02\\\",\\\"⨆\\\":\\\"\\u2A06\\\",\\\"★\\\":\\\"\\u2605\\\",\\\"▽\\\":\\\"\\u25BD\\\",\\\"△\\\":\\\"\\u25B3\\\",\\\"⨄\\\":\\\"\\u2A04\\\",\\\"⋁\\\":\\\"\\u22C1\\\",\\\"⋀\\\":\\\"\\u22C0\\\",\\\"⤍\\\":\\\"\\u290D\\\",\\\"⧫\\\":\\\"\\u29EB\\\",\\\"▪\\\":\\\"\\u25AA\\\",\\\"▴\\\":\\\"\\u25B4\\\",\\\"▾\\\":\\\"\\u25BE\\\",\\\"◂\\\":\\\"\\u25C2\\\",\\\"▸\\\":\\\"\\u25B8\\\",\\\"␣\\\":\\\"\\u2423\\\",\\\"▒\\\":\\\"\\u2592\\\",\\\"░\\\":\\\"\\u2591\\\",\\\"▓\\\":\\\"\\u2593\\\",\\\"█\\\":\\\"\\u2588\\\",\\\"=⃥\\\":\\\"=\\u20E5\\\",\\\"≡⃥\\\":\\\"\\u2261\\u20E5\\\",\\\"⌐\\\":\\\"\\u2310\\\",\\\"𝕓\\\":\\\"\\uD835\\uDD53\\\",\\\"⊥\\\":\\\"\\u22A5\\\",\\\"⊥\\\":\\\"\\u22A5\\\",\\\"⋈\\\":\\\"\\u22C8\\\",\\\"╗\\\":\\\"\\u2557\\\",\\\"╔\\\":\\\"\\u2554\\\",\\\"╖\\\":\\\"\\u2556\\\",\\\"╓\\\":\\\"\\u2553\\\",\\\"═\\\":\\\"\\u2550\\\",\\\"╦\\\":\\\"\\u2566\\\",\\\"╩\\\":\\\"\\u2569\\\",\\\"╤\\\":\\\"\\u2564\\\",\\\"╧\\\":\\\"\\u2567\\\",\\\"╝\\\":\\\"\\u255D\\\",\\\"╚\\\":\\\"\\u255A\\\",\\\"╜\\\":\\\"\\u255C\\\",\\\"╙\\\":\\\"\\u2559\\\",\\\"║\\\":\\\"\\u2551\\\",\\\"╬\\\":\\\"\\u256C\\\",\\\"╣\\\":\\\"\\u2563\\\",\\\"╠\\\":\\\"\\u2560\\\",\\\"╫\\\":\\\"\\u256B\\\",\\\"╢\\\":\\\"\\u2562\\\",\\\"╟\\\":\\\"\\u255F\\\",\\\"⧉\\\":\\\"\\u29C9\\\",\\\"╕\\\":\\\"\\u2555\\\",\\\"╒\\\":\\\"\\u2552\\\",\\\"┐\\\":\\\"\\u2510\\\",\\\"┌\\\":\\\"\\u250C\\\",\\\"─\\\":\\\"\\u2500\\\",\\\"╥\\\":\\\"\\u2565\\\",\\\"╨\\\":\\\"\\u2568\\\",\\\"┬\\\":\\\"\\u252C\\\",\\\"┴\\\":\\\"\\u2534\\\",\\\"⊟\\\":\\\"\\u229F\\\",\\\"⊞\\\":\\\"\\u229E\\\",\\\"⊠\\\":\\\"\\u22A0\\\",\\\"╛\\\":\\\"\\u255B\\\",\\\"╘\\\":\\\"\\u2558\\\",\\\"┘\\\":\\\"\\u2518\\\",\\\"└\\\":\\\"\\u2514\\\",\\\"│\\\":\\\"\\u2502\\\",\\\"╪\\\":\\\"\\u256A\\\",\\\"╡\\\":\\\"\\u2561\\\",\\\"╞\\\":\\\"\\u255E\\\",\\\"┼\\\":\\\"\\u253C\\\",\\\"┤\\\":\\\"\\u2524\\\",\\\"├\\\":\\\"\\u251C\\\",\\\"‵\\\":\\\"\\u2035\\\",\\\"˘\\\":\\\"\\u02D8\\\",\\\"¦\\\":\\\"\\xA6\\\",\\\"¦\\\":\\\"\\xA6\\\",\\\"𝒷\\\":\\\"\\uD835\\uDCB7\\\",\\\"⁏\\\":\\\"\\u204F\\\",\\\"∽\\\":\\\"\\u223D\\\",\\\"⋍\\\":\\\"\\u22CD\\\",\\\"\\\\":\\\"\\\\\\\\\\\",\\\"⧅\\\":\\\"\\u29C5\\\",\\\"⟈\\\":\\\"\\u27C8\\\",\\\"•\\\":\\\"\\u2022\\\",\\\"•\\\":\\\"\\u2022\\\",\\\"≎\\\":\\\"\\u224E\\\",\\\"⪮\\\":\\\"\\u2AAE\\\",\\\"≏\\\":\\\"\\u224F\\\",\\\"≏\\\":\\\"\\u224F\\\",\\\"ć\\\":\\\"\\u0107\\\",\\\"∩\\\":\\\"\\u2229\\\",\\\"⩄\\\":\\\"\\u2A44\\\",\\\"⩉\\\":\\\"\\u2A49\\\",\\\"⩋\\\":\\\"\\u2A4B\\\",\\\"⩇\\\":\\\"\\u2A47\\\",\\\"⩀\\\":\\\"\\u2A40\\\",\\\"∩︀\\\":\\\"\\u2229\\uFE00\\\",\\\"⁁\\\":\\\"\\u2041\\\",\\\"ˇ\\\":\\\"\\u02C7\\\",\\\"⩍\\\":\\\"\\u2A4D\\\",\\\"č\\\":\\\"\\u010D\\\",\\\"ç\\\":\\\"\\xE7\\\",\\\"ç\\\":\\\"\\xE7\\\",\\\"ĉ\\\":\\\"\\u0109\\\",\\\"⩌\\\":\\\"\\u2A4C\\\",\\\"⩐\\\":\\\"\\u2A50\\\",\\\"ċ\\\":\\\"\\u010B\\\",\\\"¸\\\":\\\"\\xB8\\\",\\\"¸\\\":\\\"\\xB8\\\",\\\"⦲\\\":\\\"\\u29B2\\\",\\\"¢\\\":\\\"\\xA2\\\",\\\"¢\\\":\\\"\\xA2\\\",\\\"·\\\":\\\"\\xB7\\\",\\\"𝔠\\\":\\\"\\uD835\\uDD20\\\",\\\"ч\\\":\\\"\\u0447\\\",\\\"✓\\\":\\\"\\u2713\\\",\\\"✓\\\":\\\"\\u2713\\\",\\\"χ\\\":\\\"\\u03C7\\\",\\\"○\\\":\\\"\\u25CB\\\",\\\"⧃\\\":\\\"\\u29C3\\\",\\\"ˆ\\\":\\\"\\u02C6\\\",\\\"≗\\\":\\\"\\u2257\\\",\\\"↺\\\":\\\"\\u21BA\\\",\\\"↻\\\":\\\"\\u21BB\\\",\\\"®\\\":\\\"\\xAE\\\",\\\"Ⓢ\\\":\\\"\\u24C8\\\",\\\"⊛\\\":\\\"\\u229B\\\",\\\"⊚\\\":\\\"\\u229A\\\",\\\"⊝\\\":\\\"\\u229D\\\",\\\"≗\\\":\\\"\\u2257\\\",\\\"⨐\\\":\\\"\\u2A10\\\",\\\"⫯\\\":\\\"\\u2AEF\\\",\\\"⧂\\\":\\\"\\u29C2\\\",\\\"♣\\\":\\\"\\u2663\\\",\\\"♣\\\":\\\"\\u2663\\\",\\\":\\\":\\\":\\\",\\\"≔\\\":\\\"\\u2254\\\",\\\"≔\\\":\\\"\\u2254\\\",\\\",\\\":\\\",\\\",\\\"@\\\":\\\"@\\\",\\\"∁\\\":\\\"\\u2201\\\",\\\"∘\\\":\\\"\\u2218\\\",\\\"∁\\\":\\\"\\u2201\\\",\\\"ℂ\\\":\\\"\\u2102\\\",\\\"≅\\\":\\\"\\u2245\\\",\\\"⩭\\\":\\\"\\u2A6D\\\",\\\"∮\\\":\\\"\\u222E\\\",\\\"𝕔\\\":\\\"\\uD835\\uDD54\\\",\\\"∐\\\":\\\"\\u2210\\\",\\\"©\\\":\\\"\\xA9\\\",\\\"©\\\":\\\"\\xA9\\\",\\\"℗\\\":\\\"\\u2117\\\",\\\"↵\\\":\\\"\\u21B5\\\",\\\"✗\\\":\\\"\\u2717\\\",\\\"𝒸\\\":\\\"\\uD835\\uDCB8\\\",\\\"⫏\\\":\\\"\\u2ACF\\\",\\\"⫑\\\":\\\"\\u2AD1\\\",\\\"⫐\\\":\\\"\\u2AD0\\\",\\\"⫒\\\":\\\"\\u2AD2\\\",\\\"⋯\\\":\\\"\\u22EF\\\",\\\"⤸\\\":\\\"\\u2938\\\",\\\"⤵\\\":\\\"\\u2935\\\",\\\"⋞\\\":\\\"\\u22DE\\\",\\\"⋟\\\":\\\"\\u22DF\\\",\\\"↶\\\":\\\"\\u21B6\\\",\\\"⤽\\\":\\\"\\u293D\\\",\\\"∪\\\":\\\"\\u222A\\\",\\\"⩈\\\":\\\"\\u2A48\\\",\\\"⩆\\\":\\\"\\u2A46\\\",\\\"⩊\\\":\\\"\\u2A4A\\\",\\\"⊍\\\":\\\"\\u228D\\\",\\\"⩅\\\":\\\"\\u2A45\\\",\\\"∪︀\\\":\\\"\\u222A\\uFE00\\\",\\\"↷\\\":\\\"\\u21B7\\\",\\\"⤼\\\":\\\"\\u293C\\\",\\\"⋞\\\":\\\"\\u22DE\\\",\\\"⋟\\\":\\\"\\u22DF\\\",\\\"⋎\\\":\\\"\\u22CE\\\",\\\"⋏\\\":\\\"\\u22CF\\\",\\\"¤\\\":\\\"\\xA4\\\",\\\"¤\\\":\\\"\\xA4\\\",\\\"↶\\\":\\\"\\u21B6\\\",\\\"↷\\\":\\\"\\u21B7\\\",\\\"⋎\\\":\\\"\\u22CE\\\",\\\"⋏\\\":\\\"\\u22CF\\\",\\\"∲\\\":\\\"\\u2232\\\",\\\"∱\\\":\\\"\\u2231\\\",\\\"⌭\\\":\\\"\\u232D\\\",\\\"⇓\\\":\\\"\\u21D3\\\",\\\"⥥\\\":\\\"\\u2965\\\",\\\"†\\\":\\\"\\u2020\\\",\\\"ℸ\\\":\\\"\\u2138\\\",\\\"↓\\\":\\\"\\u2193\\\",\\\"‐\\\":\\\"\\u2010\\\",\\\"⊣\\\":\\\"\\u22A3\\\",\\\"⤏\\\":\\\"\\u290F\\\",\\\"˝\\\":\\\"\\u02DD\\\",\\\"ď\\\":\\\"\\u010F\\\",\\\"д\\\":\\\"\\u0434\\\",\\\"ⅆ\\\":\\\"\\u2146\\\",\\\"‡\\\":\\\"\\u2021\\\",\\\"⇊\\\":\\\"\\u21CA\\\",\\\"⩷\\\":\\\"\\u2A77\\\",\\\"°\\\":\\\"\\xB0\\\",\\\"°\\\":\\\"\\xB0\\\",\\\"δ\\\":\\\"\\u03B4\\\",\\\"⦱\\\":\\\"\\u29B1\\\",\\\"⥿\\\":\\\"\\u297F\\\",\\\"𝔡\\\":\\\"\\uD835\\uDD21\\\",\\\"⇃\\\":\\\"\\u21C3\\\",\\\"⇂\\\":\\\"\\u21C2\\\",\\\"⋄\\\":\\\"\\u22C4\\\",\\\"⋄\\\":\\\"\\u22C4\\\",\\\"♦\\\":\\\"\\u2666\\\",\\\"♦\\\":\\\"\\u2666\\\",\\\"¨\\\":\\\"\\xA8\\\",\\\"ϝ\\\":\\\"\\u03DD\\\",\\\"⋲\\\":\\\"\\u22F2\\\",\\\"÷\\\":\\\"\\xF7\\\",\\\"÷\\\":\\\"\\xF7\\\",\\\"÷\\\":\\\"\\xF7\\\",\\\"⋇\\\":\\\"\\u22C7\\\",\\\"⋇\\\":\\\"\\u22C7\\\",\\\"ђ\\\":\\\"\\u0452\\\",\\\"⌞\\\":\\\"\\u231E\\\",\\\"⌍\\\":\\\"\\u230D\\\",\\\"$\\\":\\\"$\\\",\\\"𝕕\\\":\\\"\\uD835\\uDD55\\\",\\\"˙\\\":\\\"\\u02D9\\\",\\\"≐\\\":\\\"\\u2250\\\",\\\"≑\\\":\\\"\\u2251\\\",\\\"∸\\\":\\\"\\u2238\\\",\\\"∔\\\":\\\"\\u2214\\\",\\\"⊡\\\":\\\"\\u22A1\\\",\\\"⌆\\\":\\\"\\u2306\\\",\\\"↓\\\":\\\"\\u2193\\\",\\\"⇊\\\":\\\"\\u21CA\\\",\\\"⇃\\\":\\\"\\u21C3\\\",\\\"⇂\\\":\\\"\\u21C2\\\",\\\"⤐\\\":\\\"\\u2910\\\",\\\"⌟\\\":\\\"\\u231F\\\",\\\"⌌\\\":\\\"\\u230C\\\",\\\"𝒹\\\":\\\"\\uD835\\uDCB9\\\",\\\"ѕ\\\":\\\"\\u0455\\\",\\\"⧶\\\":\\\"\\u29F6\\\",\\\"đ\\\":\\\"\\u0111\\\",\\\"⋱\\\":\\\"\\u22F1\\\",\\\"▿\\\":\\\"\\u25BF\\\",\\\"▾\\\":\\\"\\u25BE\\\",\\\"⇵\\\":\\\"\\u21F5\\\",\\\"⥯\\\":\\\"\\u296F\\\",\\\"⦦\\\":\\\"\\u29A6\\\",\\\"џ\\\":\\\"\\u045F\\\",\\\"⟿\\\":\\\"\\u27FF\\\",\\\"⩷\\\":\\\"\\u2A77\\\",\\\"≑\\\":\\\"\\u2251\\\",\\\"é\\\":\\\"\\xE9\\\",\\\"é\\\":\\\"\\xE9\\\",\\\"⩮\\\":\\\"\\u2A6E\\\",\\\"ě\\\":\\\"\\u011B\\\",\\\"≖\\\":\\\"\\u2256\\\",\\\"ê\\\":\\\"\\xEA\\\",\\\"ê\\\":\\\"\\xEA\\\",\\\"≕\\\":\\\"\\u2255\\\",\\\"э\\\":\\\"\\u044D\\\",\\\"ė\\\":\\\"\\u0117\\\",\\\"ⅇ\\\":\\\"\\u2147\\\",\\\"≒\\\":\\\"\\u2252\\\",\\\"𝔢\\\":\\\"\\uD835\\uDD22\\\",\\\"⪚\\\":\\\"\\u2A9A\\\",\\\"è\\\":\\\"\\xE8\\\",\\\"è\\\":\\\"\\xE8\\\",\\\"⪖\\\":\\\"\\u2A96\\\",\\\"⪘\\\":\\\"\\u2A98\\\",\\\"⪙\\\":\\\"\\u2A99\\\",\\\"⏧\\\":\\\"\\u23E7\\\",\\\"ℓ\\\":\\\"\\u2113\\\",\\\"⪕\\\":\\\"\\u2A95\\\",\\\"⪗\\\":\\\"\\u2A97\\\",\\\"ē\\\":\\\"\\u0113\\\",\\\"∅\\\":\\\"\\u2205\\\",\\\"∅\\\":\\\"\\u2205\\\",\\\"∅\\\":\\\"\\u2205\\\",\\\" \\\":\\\"\\u2004\\\",\\\" \\\":\\\"\\u2005\\\",\\\" \\\":\\\"\\u2003\\\",\\\"ŋ\\\":\\\"\\u014B\\\",\\\" \\\":\\\"\\u2002\\\",\\\"ę\\\":\\\"\\u0119\\\",\\\"𝕖\\\":\\\"\\uD835\\uDD56\\\",\\\"⋕\\\":\\\"\\u22D5\\\",\\\"⧣\\\":\\\"\\u29E3\\\",\\\"⩱\\\":\\\"\\u2A71\\\",\\\"ε\\\":\\\"\\u03B5\\\",\\\"ε\\\":\\\"\\u03B5\\\",\\\"ϵ\\\":\\\"\\u03F5\\\",\\\"≖\\\":\\\"\\u2256\\\",\\\"≕\\\":\\\"\\u2255\\\",\\\"≂\\\":\\\"\\u2242\\\",\\\"⪖\\\":\\\"\\u2A96\\\",\\\"⪕\\\":\\\"\\u2A95\\\",\\\"=\\\":\\\"=\\\",\\\"≟\\\":\\\"\\u225F\\\",\\\"≡\\\":\\\"\\u2261\\\",\\\"⩸\\\":\\\"\\u2A78\\\",\\\"⧥\\\":\\\"\\u29E5\\\",\\\"≓\\\":\\\"\\u2253\\\",\\\"⥱\\\":\\\"\\u2971\\\",\\\"ℯ\\\":\\\"\\u212F\\\",\\\"≐\\\":\\\"\\u2250\\\",\\\"≂\\\":\\\"\\u2242\\\",\\\"η\\\":\\\"\\u03B7\\\",\\\"ð\\\":\\\"\\xF0\\\",\\\"ð\\\":\\\"\\xF0\\\",\\\"ë\\\":\\\"\\xEB\\\",\\\"ë\\\":\\\"\\xEB\\\",\\\"€\\\":\\\"\\u20AC\\\",\\\"!\\\":\\\"!\\\",\\\"∃\\\":\\\"\\u2203\\\",\\\"ℰ\\\":\\\"\\u2130\\\",\\\"ⅇ\\\":\\\"\\u2147\\\",\\\"≒\\\":\\\"\\u2252\\\",\\\"ф\\\":\\\"\\u0444\\\",\\\"♀\\\":\\\"\\u2640\\\",\\\"ffi\\\":\\\"\\uFB03\\\",\\\"ff\\\":\\\"\\uFB00\\\",\\\"ffl\\\":\\\"\\uFB04\\\",\\\"𝔣\\\":\\\"\\uD835\\uDD23\\\",\\\"fi\\\":\\\"\\uFB01\\\",\\\"fj\\\":\\\"fj\\\",\\\"♭\\\":\\\"\\u266D\\\",\\\"fl\\\":\\\"\\uFB02\\\",\\\"▱\\\":\\\"\\u25B1\\\",\\\"ƒ\\\":\\\"\\u0192\\\",\\\"𝕗\\\":\\\"\\uD835\\uDD57\\\",\\\"∀\\\":\\\"\\u2200\\\",\\\"⋔\\\":\\\"\\u22D4\\\",\\\"⫙\\\":\\\"\\u2AD9\\\",\\\"⨍\\\":\\\"\\u2A0D\\\",\\\"½\\\":\\\"\\xBD\\\",\\\"½\\\":\\\"\\xBD\\\",\\\"⅓\\\":\\\"\\u2153\\\",\\\"¼\\\":\\\"\\xBC\\\",\\\"¼\\\":\\\"\\xBC\\\",\\\"⅕\\\":\\\"\\u2155\\\",\\\"⅙\\\":\\\"\\u2159\\\",\\\"⅛\\\":\\\"\\u215B\\\",\\\"⅔\\\":\\\"\\u2154\\\",\\\"⅖\\\":\\\"\\u2156\\\",\\\"¾\\\":\\\"\\xBE\\\",\\\"¾\\\":\\\"\\xBE\\\",\\\"⅗\\\":\\\"\\u2157\\\",\\\"⅜\\\":\\\"\\u215C\\\",\\\"⅘\\\":\\\"\\u2158\\\",\\\"⅚\\\":\\\"\\u215A\\\",\\\"⅝\\\":\\\"\\u215D\\\",\\\"⅞\\\":\\\"\\u215E\\\",\\\"⁄\\\":\\\"\\u2044\\\",\\\"⌢\\\":\\\"\\u2322\\\",\\\"𝒻\\\":\\\"\\uD835\\uDCBB\\\",\\\"≧\\\":\\\"\\u2267\\\",\\\"⪌\\\":\\\"\\u2A8C\\\",\\\"ǵ\\\":\\\"\\u01F5\\\",\\\"γ\\\":\\\"\\u03B3\\\",\\\"ϝ\\\":\\\"\\u03DD\\\",\\\"⪆\\\":\\\"\\u2A86\\\",\\\"ğ\\\":\\\"\\u011F\\\",\\\"ĝ\\\":\\\"\\u011D\\\",\\\"г\\\":\\\"\\u0433\\\",\\\"ġ\\\":\\\"\\u0121\\\",\\\"≥\\\":\\\"\\u2265\\\",\\\"⋛\\\":\\\"\\u22DB\\\",\\\"≥\\\":\\\"\\u2265\\\",\\\"≧\\\":\\\"\\u2267\\\",\\\"⩾\\\":\\\"\\u2A7E\\\",\\\"⩾\\\":\\\"\\u2A7E\\\",\\\"⪩\\\":\\\"\\u2AA9\\\",\\\"⪀\\\":\\\"\\u2A80\\\",\\\"⪂\\\":\\\"\\u2A82\\\",\\\"⪄\\\":\\\"\\u2A84\\\",\\\"⋛︀\\\":\\\"\\u22DB\\uFE00\\\",\\\"⪔\\\":\\\"\\u2A94\\\",\\\"𝔤\\\":\\\"\\uD835\\uDD24\\\",\\\"≫\\\":\\\"\\u226B\\\",\\\"⋙\\\":\\\"\\u22D9\\\",\\\"ℷ\\\":\\\"\\u2137\\\",\\\"ѓ\\\":\\\"\\u0453\\\",\\\"≷\\\":\\\"\\u2277\\\",\\\"⪒\\\":\\\"\\u2A92\\\",\\\"⪥\\\":\\\"\\u2AA5\\\",\\\"⪤\\\":\\\"\\u2AA4\\\",\\\"≩\\\":\\\"\\u2269\\\",\\\"⪊\\\":\\\"\\u2A8A\\\",\\\"⪊\\\":\\\"\\u2A8A\\\",\\\"⪈\\\":\\\"\\u2A88\\\",\\\"⪈\\\":\\\"\\u2A88\\\",\\\"≩\\\":\\\"\\u2269\\\",\\\"⋧\\\":\\\"\\u22E7\\\",\\\"𝕘\\\":\\\"\\uD835\\uDD58\\\",\\\"`\\\":\\\"`\\\",\\\"ℊ\\\":\\\"\\u210A\\\",\\\"≳\\\":\\\"\\u2273\\\",\\\"⪎\\\":\\\"\\u2A8E\\\",\\\"⪐\\\":\\\"\\u2A90\\\",\\\">\\\":\\\">\\\",\\\">\\\":\\\">\\\",\\\"⪧\\\":\\\"\\u2AA7\\\",\\\"⩺\\\":\\\"\\u2A7A\\\",\\\"⋗\\\":\\\"\\u22D7\\\",\\\"⦕\\\":\\\"\\u2995\\\",\\\"⩼\\\":\\\"\\u2A7C\\\",\\\"⪆\\\":\\\"\\u2A86\\\",\\\"⥸\\\":\\\"\\u2978\\\",\\\"⋗\\\":\\\"\\u22D7\\\",\\\"⋛\\\":\\\"\\u22DB\\\",\\\"⪌\\\":\\\"\\u2A8C\\\",\\\"≷\\\":\\\"\\u2277\\\",\\\"≳\\\":\\\"\\u2273\\\",\\\"≩︀\\\":\\\"\\u2269\\uFE00\\\",\\\"≩︀\\\":\\\"\\u2269\\uFE00\\\",\\\"⇔\\\":\\\"\\u21D4\\\",\\\" \\\":\\\"\\u200A\\\",\\\"½\\\":\\\"\\xBD\\\",\\\"ℋ\\\":\\\"\\u210B\\\",\\\"ъ\\\":\\\"\\u044A\\\",\\\"↔\\\":\\\"\\u2194\\\",\\\"⥈\\\":\\\"\\u2948\\\",\\\"↭\\\":\\\"\\u21AD\\\",\\\"ℏ\\\":\\\"\\u210F\\\",\\\"ĥ\\\":\\\"\\u0125\\\",\\\"♥\\\":\\\"\\u2665\\\",\\\"♥\\\":\\\"\\u2665\\\",\\\"…\\\":\\\"\\u2026\\\",\\\"⊹\\\":\\\"\\u22B9\\\",\\\"𝔥\\\":\\\"\\uD835\\uDD25\\\",\\\"⤥\\\":\\\"\\u2925\\\",\\\"⤦\\\":\\\"\\u2926\\\",\\\"⇿\\\":\\\"\\u21FF\\\",\\\"∻\\\":\\\"\\u223B\\\",\\\"↩\\\":\\\"\\u21A9\\\",\\\"↪\\\":\\\"\\u21AA\\\",\\\"𝕙\\\":\\\"\\uD835\\uDD59\\\",\\\"―\\\":\\\"\\u2015\\\",\\\"𝒽\\\":\\\"\\uD835\\uDCBD\\\",\\\"ℏ\\\":\\\"\\u210F\\\",\\\"ħ\\\":\\\"\\u0127\\\",\\\"⁃\\\":\\\"\\u2043\\\",\\\"‐\\\":\\\"\\u2010\\\",\\\"í\\\":\\\"\\xED\\\",\\\"í\\\":\\\"\\xED\\\",\\\"⁣\\\":\\\"\\u2063\\\",\\\"î\\\":\\\"\\xEE\\\",\\\"î\\\":\\\"\\xEE\\\",\\\"и\\\":\\\"\\u0438\\\",\\\"е\\\":\\\"\\u0435\\\",\\\"¡\\\":\\\"\\xA1\\\",\\\"¡\\\":\\\"\\xA1\\\",\\\"⇔\\\":\\\"\\u21D4\\\",\\\"𝔦\\\":\\\"\\uD835\\uDD26\\\",\\\"ì\\\":\\\"\\xEC\\\",\\\"ì\\\":\\\"\\xEC\\\",\\\"ⅈ\\\":\\\"\\u2148\\\",\\\"⨌\\\":\\\"\\u2A0C\\\",\\\"∭\\\":\\\"\\u222D\\\",\\\"⧜\\\":\\\"\\u29DC\\\",\\\"℩\\\":\\\"\\u2129\\\",\\\"ij\\\":\\\"\\u0133\\\",\\\"ī\\\":\\\"\\u012B\\\",\\\"ℑ\\\":\\\"\\u2111\\\",\\\"ℐ\\\":\\\"\\u2110\\\",\\\"ℑ\\\":\\\"\\u2111\\\",\\\"ı\\\":\\\"\\u0131\\\",\\\"⊷\\\":\\\"\\u22B7\\\",\\\"Ƶ\\\":\\\"\\u01B5\\\",\\\"∈\\\":\\\"\\u2208\\\",\\\"℅\\\":\\\"\\u2105\\\",\\\"∞\\\":\\\"\\u221E\\\",\\\"⧝\\\":\\\"\\u29DD\\\",\\\"ı\\\":\\\"\\u0131\\\",\\\"∫\\\":\\\"\\u222B\\\",\\\"⊺\\\":\\\"\\u22BA\\\",\\\"ℤ\\\":\\\"\\u2124\\\",\\\"⊺\\\":\\\"\\u22BA\\\",\\\"⨗\\\":\\\"\\u2A17\\\",\\\"⨼\\\":\\\"\\u2A3C\\\",\\\"ё\\\":\\\"\\u0451\\\",\\\"į\\\":\\\"\\u012F\\\",\\\"𝕚\\\":\\\"\\uD835\\uDD5A\\\",\\\"ι\\\":\\\"\\u03B9\\\",\\\"⨼\\\":\\\"\\u2A3C\\\",\\\"¿\\\":\\\"\\xBF\\\",\\\"¿\\\":\\\"\\xBF\\\",\\\"𝒾\\\":\\\"\\uD835\\uDCBE\\\",\\\"∈\\\":\\\"\\u2208\\\",\\\"⋹\\\":\\\"\\u22F9\\\",\\\"⋵\\\":\\\"\\u22F5\\\",\\\"⋴\\\":\\\"\\u22F4\\\",\\\"⋳\\\":\\\"\\u22F3\\\",\\\"∈\\\":\\\"\\u2208\\\",\\\"⁢\\\":\\\"\\u2062\\\",\\\"ĩ\\\":\\\"\\u0129\\\",\\\"і\\\":\\\"\\u0456\\\",\\\"ï\\\":\\\"\\xEF\\\",\\\"ï\\\":\\\"\\xEF\\\",\\\"ĵ\\\":\\\"\\u0135\\\",\\\"й\\\":\\\"\\u0439\\\",\\\"𝔧\\\":\\\"\\uD835\\uDD27\\\",\\\"ȷ\\\":\\\"\\u0237\\\",\\\"𝕛\\\":\\\"\\uD835\\uDD5B\\\",\\\"𝒿\\\":\\\"\\uD835\\uDCBF\\\",\\\"ј\\\":\\\"\\u0458\\\",\\\"є\\\":\\\"\\u0454\\\",\\\"κ\\\":\\\"\\u03BA\\\",\\\"ϰ\\\":\\\"\\u03F0\\\",\\\"ķ\\\":\\\"\\u0137\\\",\\\"к\\\":\\\"\\u043A\\\",\\\"𝔨\\\":\\\"\\uD835\\uDD28\\\",\\\"ĸ\\\":\\\"\\u0138\\\",\\\"х\\\":\\\"\\u0445\\\",\\\"ќ\\\":\\\"\\u045C\\\",\\\"𝕜\\\":\\\"\\uD835\\uDD5C\\\",\\\"𝓀\\\":\\\"\\uD835\\uDCC0\\\",\\\"⇚\\\":\\\"\\u21DA\\\",\\\"⇐\\\":\\\"\\u21D0\\\",\\\"⤛\\\":\\\"\\u291B\\\",\\\"⤎\\\":\\\"\\u290E\\\",\\\"≦\\\":\\\"\\u2266\\\",\\\"⪋\\\":\\\"\\u2A8B\\\",\\\"⥢\\\":\\\"\\u2962\\\",\\\"ĺ\\\":\\\"\\u013A\\\",\\\"⦴\\\":\\\"\\u29B4\\\",\\\"ℒ\\\":\\\"\\u2112\\\",\\\"λ\\\":\\\"\\u03BB\\\",\\\"⟨\\\":\\\"\\u27E8\\\",\\\"⦑\\\":\\\"\\u2991\\\",\\\"⟨\\\":\\\"\\u27E8\\\",\\\"⪅\\\":\\\"\\u2A85\\\",\\\"«\\\":\\\"\\xAB\\\",\\\"«\\\":\\\"\\xAB\\\",\\\"←\\\":\\\"\\u2190\\\",\\\"⇤\\\":\\\"\\u21E4\\\",\\\"⤟\\\":\\\"\\u291F\\\",\\\"⤝\\\":\\\"\\u291D\\\",\\\"↩\\\":\\\"\\u21A9\\\",\\\"↫\\\":\\\"\\u21AB\\\",\\\"⤹\\\":\\\"\\u2939\\\",\\\"⥳\\\":\\\"\\u2973\\\",\\\"↢\\\":\\\"\\u21A2\\\",\\\"⪫\\\":\\\"\\u2AAB\\\",\\\"⤙\\\":\\\"\\u2919\\\",\\\"⪭\\\":\\\"\\u2AAD\\\",\\\"⪭︀\\\":\\\"\\u2AAD\\uFE00\\\",\\\"⤌\\\":\\\"\\u290C\\\",\\\"❲\\\":\\\"\\u2772\\\",\\\"{\\\":\\\"{\\\",\\\"[\\\":\\\"[\\\",\\\"⦋\\\":\\\"\\u298B\\\",\\\"⦏\\\":\\\"\\u298F\\\",\\\"⦍\\\":\\\"\\u298D\\\",\\\"ľ\\\":\\\"\\u013E\\\",\\\"ļ\\\":\\\"\\u013C\\\",\\\"⌈\\\":\\\"\\u2308\\\",\\\"{\\\":\\\"{\\\",\\\"л\\\":\\\"\\u043B\\\",\\\"⤶\\\":\\\"\\u2936\\\",\\\"“\\\":\\\"\\u201C\\\",\\\"„\\\":\\\"\\u201E\\\",\\\"⥧\\\":\\\"\\u2967\\\",\\\"⥋\\\":\\\"\\u294B\\\",\\\"↲\\\":\\\"\\u21B2\\\",\\\"≤\\\":\\\"\\u2264\\\",\\\"←\\\":\\\"\\u2190\\\",\\\"↢\\\":\\\"\\u21A2\\\",\\\"↽\\\":\\\"\\u21BD\\\",\\\"↼\\\":\\\"\\u21BC\\\",\\\"⇇\\\":\\\"\\u21C7\\\",\\\"↔\\\":\\\"\\u2194\\\",\\\"⇆\\\":\\\"\\u21C6\\\",\\\"⇋\\\":\\\"\\u21CB\\\",\\\"↭\\\":\\\"\\u21AD\\\",\\\"⋋\\\":\\\"\\u22CB\\\",\\\"⋚\\\":\\\"\\u22DA\\\",\\\"≤\\\":\\\"\\u2264\\\",\\\"≦\\\":\\\"\\u2266\\\",\\\"⩽\\\":\\\"\\u2A7D\\\",\\\"⩽\\\":\\\"\\u2A7D\\\",\\\"⪨\\\":\\\"\\u2AA8\\\",\\\"⩿\\\":\\\"\\u2A7F\\\",\\\"⪁\\\":\\\"\\u2A81\\\",\\\"⪃\\\":\\\"\\u2A83\\\",\\\"⋚︀\\\":\\\"\\u22DA\\uFE00\\\",\\\"⪓\\\":\\\"\\u2A93\\\",\\\"⪅\\\":\\\"\\u2A85\\\",\\\"⋖\\\":\\\"\\u22D6\\\",\\\"⋚\\\":\\\"\\u22DA\\\",\\\"⪋\\\":\\\"\\u2A8B\\\",\\\"≶\\\":\\\"\\u2276\\\",\\\"≲\\\":\\\"\\u2272\\\",\\\"⥼\\\":\\\"\\u297C\\\",\\\"⌊\\\":\\\"\\u230A\\\",\\\"𝔩\\\":\\\"\\uD835\\uDD29\\\",\\\"≶\\\":\\\"\\u2276\\\",\\\"⪑\\\":\\\"\\u2A91\\\",\\\"↽\\\":\\\"\\u21BD\\\",\\\"↼\\\":\\\"\\u21BC\\\",\\\"⥪\\\":\\\"\\u296A\\\",\\\"▄\\\":\\\"\\u2584\\\",\\\"љ\\\":\\\"\\u0459\\\",\\\"≪\\\":\\\"\\u226A\\\",\\\"⇇\\\":\\\"\\u21C7\\\",\\\"⌞\\\":\\\"\\u231E\\\",\\\"⥫\\\":\\\"\\u296B\\\",\\\"◺\\\":\\\"\\u25FA\\\",\\\"ŀ\\\":\\\"\\u0140\\\",\\\"⎰\\\":\\\"\\u23B0\\\",\\\"⎰\\\":\\\"\\u23B0\\\",\\\"≨\\\":\\\"\\u2268\\\",\\\"⪉\\\":\\\"\\u2A89\\\",\\\"⪉\\\":\\\"\\u2A89\\\",\\\"⪇\\\":\\\"\\u2A87\\\",\\\"⪇\\\":\\\"\\u2A87\\\",\\\"≨\\\":\\\"\\u2268\\\",\\\"⋦\\\":\\\"\\u22E6\\\",\\\"⟬\\\":\\\"\\u27EC\\\",\\\"⇽\\\":\\\"\\u21FD\\\",\\\"⟦\\\":\\\"\\u27E6\\\",\\\"⟵\\\":\\\"\\u27F5\\\",\\\"⟷\\\":\\\"\\u27F7\\\",\\\"⟼\\\":\\\"\\u27FC\\\",\\\"⟶\\\":\\\"\\u27F6\\\",\\\"↫\\\":\\\"\\u21AB\\\",\\\"↬\\\":\\\"\\u21AC\\\",\\\"⦅\\\":\\\"\\u2985\\\",\\\"𝕝\\\":\\\"\\uD835\\uDD5D\\\",\\\"⨭\\\":\\\"\\u2A2D\\\",\\\"⨴\\\":\\\"\\u2A34\\\",\\\"∗\\\":\\\"\\u2217\\\",\\\"_\\\":\\\"_\\\",\\\"◊\\\":\\\"\\u25CA\\\",\\\"◊\\\":\\\"\\u25CA\\\",\\\"⧫\\\":\\\"\\u29EB\\\",\\\"(\\\":\\\"(\\\",\\\"⦓\\\":\\\"\\u2993\\\",\\\"⇆\\\":\\\"\\u21C6\\\",\\\"⌟\\\":\\\"\\u231F\\\",\\\"⇋\\\":\\\"\\u21CB\\\",\\\"⥭\\\":\\\"\\u296D\\\",\\\"‎\\\":\\\"\\u200E\\\",\\\"⊿\\\":\\\"\\u22BF\\\",\\\"‹\\\":\\\"\\u2039\\\",\\\"𝓁\\\":\\\"\\uD835\\uDCC1\\\",\\\"↰\\\":\\\"\\u21B0\\\",\\\"≲\\\":\\\"\\u2272\\\",\\\"⪍\\\":\\\"\\u2A8D\\\",\\\"⪏\\\":\\\"\\u2A8F\\\",\\\"[\\\":\\\"[\\\",\\\"‘\\\":\\\"\\u2018\\\",\\\"‚\\\":\\\"\\u201A\\\",\\\"ł\\\":\\\"\\u0142\\\",\\\"<\\\":\\\"<\\\",\\\"<\\\":\\\"<\\\",\\\"⪦\\\":\\\"\\u2AA6\\\",\\\"⩹\\\":\\\"\\u2A79\\\",\\\"⋖\\\":\\\"\\u22D6\\\",\\\"⋋\\\":\\\"\\u22CB\\\",\\\"⋉\\\":\\\"\\u22C9\\\",\\\"⥶\\\":\\\"\\u2976\\\",\\\"⩻\\\":\\\"\\u2A7B\\\",\\\"⦖\\\":\\\"\\u2996\\\",\\\"◃\\\":\\\"\\u25C3\\\",\\\"⊴\\\":\\\"\\u22B4\\\",\\\"◂\\\":\\\"\\u25C2\\\",\\\"⥊\\\":\\\"\\u294A\\\",\\\"⥦\\\":\\\"\\u2966\\\",\\\"≨︀\\\":\\\"\\u2268\\uFE00\\\",\\\"≨︀\\\":\\\"\\u2268\\uFE00\\\",\\\"∺\\\":\\\"\\u223A\\\",\\\"¯\\\":\\\"\\xAF\\\",\\\"¯\\\":\\\"\\xAF\\\",\\\"♂\\\":\\\"\\u2642\\\",\\\"✠\\\":\\\"\\u2720\\\",\\\"✠\\\":\\\"\\u2720\\\",\\\"↦\\\":\\\"\\u21A6\\\",\\\"↦\\\":\\\"\\u21A6\\\",\\\"↧\\\":\\\"\\u21A7\\\",\\\"↤\\\":\\\"\\u21A4\\\",\\\"↥\\\":\\\"\\u21A5\\\",\\\"▮\\\":\\\"\\u25AE\\\",\\\"⨩\\\":\\\"\\u2A29\\\",\\\"м\\\":\\\"\\u043C\\\",\\\"—\\\":\\\"\\u2014\\\",\\\"∡\\\":\\\"\\u2221\\\",\\\"𝔪\\\":\\\"\\uD835\\uDD2A\\\",\\\"℧\\\":\\\"\\u2127\\\",\\\"µ\\\":\\\"\\xB5\\\",\\\"µ\\\":\\\"\\xB5\\\",\\\"∣\\\":\\\"\\u2223\\\",\\\"*\\\":\\\"*\\\",\\\"⫰\\\":\\\"\\u2AF0\\\",\\\"·\\\":\\\"\\xB7\\\",\\\"·\\\":\\\"\\xB7\\\",\\\"−\\\":\\\"\\u2212\\\",\\\"⊟\\\":\\\"\\u229F\\\",\\\"∸\\\":\\\"\\u2238\\\",\\\"⨪\\\":\\\"\\u2A2A\\\",\\\"⫛\\\":\\\"\\u2ADB\\\",\\\"…\\\":\\\"\\u2026\\\",\\\"∓\\\":\\\"\\u2213\\\",\\\"⊧\\\":\\\"\\u22A7\\\",\\\"𝕞\\\":\\\"\\uD835\\uDD5E\\\",\\\"∓\\\":\\\"\\u2213\\\",\\\"𝓂\\\":\\\"\\uD835\\uDCC2\\\",\\\"∾\\\":\\\"\\u223E\\\",\\\"μ\\\":\\\"\\u03BC\\\",\\\"⊸\\\":\\\"\\u22B8\\\",\\\"⊸\\\":\\\"\\u22B8\\\",\\\"⋙̸\\\":\\\"\\u22D9\\u0338\\\",\\\"≫⃒\\\":\\\"\\u226B\\u20D2\\\",\\\"≫̸\\\":\\\"\\u226B\\u0338\\\",\\\"⇍\\\":\\\"\\u21CD\\\",\\\"⇎\\\":\\\"\\u21CE\\\",\\\"⋘̸\\\":\\\"\\u22D8\\u0338\\\",\\\"≪⃒\\\":\\\"\\u226A\\u20D2\\\",\\\"≪̸\\\":\\\"\\u226A\\u0338\\\",\\\"⇏\\\":\\\"\\u21CF\\\",\\\"⊯\\\":\\\"\\u22AF\\\",\\\"⊮\\\":\\\"\\u22AE\\\",\\\"∇\\\":\\\"\\u2207\\\",\\\"ń\\\":\\\"\\u0144\\\",\\\"∠⃒\\\":\\\"\\u2220\\u20D2\\\",\\\"≉\\\":\\\"\\u2249\\\",\\\"⩰̸\\\":\\\"\\u2A70\\u0338\\\",\\\"≋̸\\\":\\\"\\u224B\\u0338\\\",\\\"ʼn\\\":\\\"\\u0149\\\",\\\"≉\\\":\\\"\\u2249\\\",\\\"♮\\\":\\\"\\u266E\\\",\\\"♮\\\":\\\"\\u266E\\\",\\\"ℕ\\\":\\\"\\u2115\\\",\\\" \\\":\\\"\\xA0\\\",\\\" \\\":\\\"\\xA0\\\",\\\"≎̸\\\":\\\"\\u224E\\u0338\\\",\\\"≏̸\\\":\\\"\\u224F\\u0338\\\",\\\"⩃\\\":\\\"\\u2A43\\\",\\\"ň\\\":\\\"\\u0148\\\",\\\"ņ\\\":\\\"\\u0146\\\",\\\"≇\\\":\\\"\\u2247\\\",\\\"⩭̸\\\":\\\"\\u2A6D\\u0338\\\",\\\"⩂\\\":\\\"\\u2A42\\\",\\\"н\\\":\\\"\\u043D\\\",\\\"–\\\":\\\"\\u2013\\\",\\\"≠\\\":\\\"\\u2260\\\",\\\"⇗\\\":\\\"\\u21D7\\\",\\\"⤤\\\":\\\"\\u2924\\\",\\\"↗\\\":\\\"\\u2197\\\",\\\"↗\\\":\\\"\\u2197\\\",\\\"≐̸\\\":\\\"\\u2250\\u0338\\\",\\\"≢\\\":\\\"\\u2262\\\",\\\"⤨\\\":\\\"\\u2928\\\",\\\"≂̸\\\":\\\"\\u2242\\u0338\\\",\\\"∄\\\":\\\"\\u2204\\\",\\\"∄\\\":\\\"\\u2204\\\",\\\"𝔫\\\":\\\"\\uD835\\uDD2B\\\",\\\"≧̸\\\":\\\"\\u2267\\u0338\\\",\\\"≱\\\":\\\"\\u2271\\\",\\\"≱\\\":\\\"\\u2271\\\",\\\"≧̸\\\":\\\"\\u2267\\u0338\\\",\\\"⩾̸\\\":\\\"\\u2A7E\\u0338\\\",\\\"⩾̸\\\":\\\"\\u2A7E\\u0338\\\",\\\"≵\\\":\\\"\\u2275\\\",\\\"≯\\\":\\\"\\u226F\\\",\\\"≯\\\":\\\"\\u226F\\\",\\\"⇎\\\":\\\"\\u21CE\\\",\\\"↮\\\":\\\"\\u21AE\\\",\\\"⫲\\\":\\\"\\u2AF2\\\",\\\"∋\\\":\\\"\\u220B\\\",\\\"⋼\\\":\\\"\\u22FC\\\",\\\"⋺\\\":\\\"\\u22FA\\\",\\\"∋\\\":\\\"\\u220B\\\",\\\"њ\\\":\\\"\\u045A\\\",\\\"⇍\\\":\\\"\\u21CD\\\",\\\"≦̸\\\":\\\"\\u2266\\u0338\\\",\\\"↚\\\":\\\"\\u219A\\\",\\\"‥\\\":\\\"\\u2025\\\",\\\"≰\\\":\\\"\\u2270\\\",\\\"↚\\\":\\\"\\u219A\\\",\\\"↮\\\":\\\"\\u21AE\\\",\\\"≰\\\":\\\"\\u2270\\\",\\\"≦̸\\\":\\\"\\u2266\\u0338\\\",\\\"⩽̸\\\":\\\"\\u2A7D\\u0338\\\",\\\"⩽̸\\\":\\\"\\u2A7D\\u0338\\\",\\\"≮\\\":\\\"\\u226E\\\",\\\"≴\\\":\\\"\\u2274\\\",\\\"≮\\\":\\\"\\u226E\\\",\\\"⋪\\\":\\\"\\u22EA\\\",\\\"⋬\\\":\\\"\\u22EC\\\",\\\"∤\\\":\\\"\\u2224\\\",\\\"𝕟\\\":\\\"\\uD835\\uDD5F\\\",\\\"¬\\\":\\\"\\xAC\\\",\\\"¬\\\":\\\"\\xAC\\\",\\\"∉\\\":\\\"\\u2209\\\",\\\"⋹̸\\\":\\\"\\u22F9\\u0338\\\",\\\"⋵̸\\\":\\\"\\u22F5\\u0338\\\",\\\"∉\\\":\\\"\\u2209\\\",\\\"⋷\\\":\\\"\\u22F7\\\",\\\"⋶\\\":\\\"\\u22F6\\\",\\\"∌\\\":\\\"\\u220C\\\",\\\"∌\\\":\\\"\\u220C\\\",\\\"⋾\\\":\\\"\\u22FE\\\",\\\"⋽\\\":\\\"\\u22FD\\\",\\\"∦\\\":\\\"\\u2226\\\",\\\"∦\\\":\\\"\\u2226\\\",\\\"⫽⃥\\\":\\\"\\u2AFD\\u20E5\\\",\\\"∂̸\\\":\\\"\\u2202\\u0338\\\",\\\"⨔\\\":\\\"\\u2A14\\\",\\\"⊀\\\":\\\"\\u2280\\\",\\\"⋠\\\":\\\"\\u22E0\\\",\\\"⪯̸\\\":\\\"\\u2AAF\\u0338\\\",\\\"⊀\\\":\\\"\\u2280\\\",\\\"⪯̸\\\":\\\"\\u2AAF\\u0338\\\",\\\"⇏\\\":\\\"\\u21CF\\\",\\\"↛\\\":\\\"\\u219B\\\",\\\"⤳̸\\\":\\\"\\u2933\\u0338\\\",\\\"↝̸\\\":\\\"\\u219D\\u0338\\\",\\\"↛\\\":\\\"\\u219B\\\",\\\"⋫\\\":\\\"\\u22EB\\\",\\\"⋭\\\":\\\"\\u22ED\\\",\\\"⊁\\\":\\\"\\u2281\\\",\\\"⋡\\\":\\\"\\u22E1\\\",\\\"⪰̸\\\":\\\"\\u2AB0\\u0338\\\",\\\"𝓃\\\":\\\"\\uD835\\uDCC3\\\",\\\"∤\\\":\\\"\\u2224\\\",\\\"∦\\\":\\\"\\u2226\\\",\\\"≁\\\":\\\"\\u2241\\\",\\\"≄\\\":\\\"\\u2244\\\",\\\"≄\\\":\\\"\\u2244\\\",\\\"∤\\\":\\\"\\u2224\\\",\\\"∦\\\":\\\"\\u2226\\\",\\\"⋢\\\":\\\"\\u22E2\\\",\\\"⋣\\\":\\\"\\u22E3\\\",\\\"⊄\\\":\\\"\\u2284\\\",\\\"⫅̸\\\":\\\"\\u2AC5\\u0338\\\",\\\"⊈\\\":\\\"\\u2288\\\",\\\"⊂⃒\\\":\\\"\\u2282\\u20D2\\\",\\\"⊈\\\":\\\"\\u2288\\\",\\\"⫅̸\\\":\\\"\\u2AC5\\u0338\\\",\\\"⊁\\\":\\\"\\u2281\\\",\\\"⪰̸\\\":\\\"\\u2AB0\\u0338\\\",\\\"⊅\\\":\\\"\\u2285\\\",\\\"⫆̸\\\":\\\"\\u2AC6\\u0338\\\",\\\"⊉\\\":\\\"\\u2289\\\",\\\"⊃⃒\\\":\\\"\\u2283\\u20D2\\\",\\\"⊉\\\":\\\"\\u2289\\\",\\\"⫆̸\\\":\\\"\\u2AC6\\u0338\\\",\\\"≹\\\":\\\"\\u2279\\\",\\\"ñ\\\":\\\"\\xF1\\\",\\\"ñ\\\":\\\"\\xF1\\\",\\\"≸\\\":\\\"\\u2278\\\",\\\"⋪\\\":\\\"\\u22EA\\\",\\\"⋬\\\":\\\"\\u22EC\\\",\\\"⋫\\\":\\\"\\u22EB\\\",\\\"⋭\\\":\\\"\\u22ED\\\",\\\"ν\\\":\\\"\\u03BD\\\",\\\"#\\\":\\\"#\\\",\\\"№\\\":\\\"\\u2116\\\",\\\" \\\":\\\"\\u2007\\\",\\\"⊭\\\":\\\"\\u22AD\\\",\\\"⤄\\\":\\\"\\u2904\\\",\\\"≍⃒\\\":\\\"\\u224D\\u20D2\\\",\\\"⊬\\\":\\\"\\u22AC\\\",\\\"≥⃒\\\":\\\"\\u2265\\u20D2\\\",\\\">⃒\\\":\\\">\\u20D2\\\",\\\"⧞\\\":\\\"\\u29DE\\\",\\\"⤂\\\":\\\"\\u2902\\\",\\\"≤⃒\\\":\\\"\\u2264\\u20D2\\\",\\\"<⃒\\\":\\\"<\\u20D2\\\",\\\"⊴⃒\\\":\\\"\\u22B4\\u20D2\\\",\\\"⤃\\\":\\\"\\u2903\\\",\\\"⊵⃒\\\":\\\"\\u22B5\\u20D2\\\",\\\"∼⃒\\\":\\\"\\u223C\\u20D2\\\",\\\"⇖\\\":\\\"\\u21D6\\\",\\\"⤣\\\":\\\"\\u2923\\\",\\\"↖\\\":\\\"\\u2196\\\",\\\"↖\\\":\\\"\\u2196\\\",\\\"⤧\\\":\\\"\\u2927\\\",\\\"Ⓢ\\\":\\\"\\u24C8\\\",\\\"ó\\\":\\\"\\xF3\\\",\\\"ó\\\":\\\"\\xF3\\\",\\\"⊛\\\":\\\"\\u229B\\\",\\\"⊚\\\":\\\"\\u229A\\\",\\\"ô\\\":\\\"\\xF4\\\",\\\"ô\\\":\\\"\\xF4\\\",\\\"о\\\":\\\"\\u043E\\\",\\\"⊝\\\":\\\"\\u229D\\\",\\\"ő\\\":\\\"\\u0151\\\",\\\"⨸\\\":\\\"\\u2A38\\\",\\\"⊙\\\":\\\"\\u2299\\\",\\\"⦼\\\":\\\"\\u29BC\\\",\\\"œ\\\":\\\"\\u0153\\\",\\\"⦿\\\":\\\"\\u29BF\\\",\\\"𝔬\\\":\\\"\\uD835\\uDD2C\\\",\\\"˛\\\":\\\"\\u02DB\\\",\\\"ò\\\":\\\"\\xF2\\\",\\\"ò\\\":\\\"\\xF2\\\",\\\"⧁\\\":\\\"\\u29C1\\\",\\\"⦵\\\":\\\"\\u29B5\\\",\\\"Ω\\\":\\\"\\u03A9\\\",\\\"∮\\\":\\\"\\u222E\\\",\\\"↺\\\":\\\"\\u21BA\\\",\\\"⦾\\\":\\\"\\u29BE\\\",\\\"⦻\\\":\\\"\\u29BB\\\",\\\"‾\\\":\\\"\\u203E\\\",\\\"⧀\\\":\\\"\\u29C0\\\",\\\"ō\\\":\\\"\\u014D\\\",\\\"ω\\\":\\\"\\u03C9\\\",\\\"ο\\\":\\\"\\u03BF\\\",\\\"⦶\\\":\\\"\\u29B6\\\",\\\"⊖\\\":\\\"\\u2296\\\",\\\"𝕠\\\":\\\"\\uD835\\uDD60\\\",\\\"⦷\\\":\\\"\\u29B7\\\",\\\"⦹\\\":\\\"\\u29B9\\\",\\\"⊕\\\":\\\"\\u2295\\\",\\\"∨\\\":\\\"\\u2228\\\",\\\"↻\\\":\\\"\\u21BB\\\",\\\"⩝\\\":\\\"\\u2A5D\\\",\\\"ℴ\\\":\\\"\\u2134\\\",\\\"ℴ\\\":\\\"\\u2134\\\",\\\"ª\\\":\\\"\\xAA\\\",\\\"ª\\\":\\\"\\xAA\\\",\\\"º\\\":\\\"\\xBA\\\",\\\"º\\\":\\\"\\xBA\\\",\\\"⊶\\\":\\\"\\u22B6\\\",\\\"⩖\\\":\\\"\\u2A56\\\",\\\"⩗\\\":\\\"\\u2A57\\\",\\\"⩛\\\":\\\"\\u2A5B\\\",\\\"ℴ\\\":\\\"\\u2134\\\",\\\"ø\\\":\\\"\\xF8\\\",\\\"ø\\\":\\\"\\xF8\\\",\\\"⊘\\\":\\\"\\u2298\\\",\\\"õ\\\":\\\"\\xF5\\\",\\\"õ\\\":\\\"\\xF5\\\",\\\"⊗\\\":\\\"\\u2297\\\",\\\"⨶\\\":\\\"\\u2A36\\\",\\\"ö\\\":\\\"\\xF6\\\",\\\"ö\\\":\\\"\\xF6\\\",\\\"⌽\\\":\\\"\\u233D\\\",\\\"∥\\\":\\\"\\u2225\\\",\\\"¶\\\":\\\"\\xB6\\\",\\\"¶\\\":\\\"\\xB6\\\",\\\"∥\\\":\\\"\\u2225\\\",\\\"⫳\\\":\\\"\\u2AF3\\\",\\\"⫽\\\":\\\"\\u2AFD\\\",\\\"∂\\\":\\\"\\u2202\\\",\\\"п\\\":\\\"\\u043F\\\",\\\"%\\\":\\\"%\\\",\\\".\\\":\\\".\\\",\\\"‰\\\":\\\"\\u2030\\\",\\\"⊥\\\":\\\"\\u22A5\\\",\\\"‱\\\":\\\"\\u2031\\\",\\\"𝔭\\\":\\\"\\uD835\\uDD2D\\\",\\\"φ\\\":\\\"\\u03C6\\\",\\\"ϕ\\\":\\\"\\u03D5\\\",\\\"ℳ\\\":\\\"\\u2133\\\",\\\"☎\\\":\\\"\\u260E\\\",\\\"π\\\":\\\"\\u03C0\\\",\\\"⋔\\\":\\\"\\u22D4\\\",\\\"ϖ\\\":\\\"\\u03D6\\\",\\\"ℏ\\\":\\\"\\u210F\\\",\\\"ℎ\\\":\\\"\\u210E\\\",\\\"ℏ\\\":\\\"\\u210F\\\",\\\"+\\\":\\\"+\\\",\\\"⨣\\\":\\\"\\u2A23\\\",\\\"⊞\\\":\\\"\\u229E\\\",\\\"⨢\\\":\\\"\\u2A22\\\",\\\"∔\\\":\\\"\\u2214\\\",\\\"⨥\\\":\\\"\\u2A25\\\",\\\"⩲\\\":\\\"\\u2A72\\\",\\\"±\\\":\\\"\\xB1\\\",\\\"±\\\":\\\"\\xB1\\\",\\\"⨦\\\":\\\"\\u2A26\\\",\\\"⨧\\\":\\\"\\u2A27\\\",\\\"±\\\":\\\"\\xB1\\\",\\\"⨕\\\":\\\"\\u2A15\\\",\\\"𝕡\\\":\\\"\\uD835\\uDD61\\\",\\\"£\\\":\\\"\\xA3\\\",\\\"£\\\":\\\"\\xA3\\\",\\\"≺\\\":\\\"\\u227A\\\",\\\"⪳\\\":\\\"\\u2AB3\\\",\\\"⪷\\\":\\\"\\u2AB7\\\",\\\"≼\\\":\\\"\\u227C\\\",\\\"⪯\\\":\\\"\\u2AAF\\\",\\\"≺\\\":\\\"\\u227A\\\",\\\"⪷\\\":\\\"\\u2AB7\\\",\\\"≼\\\":\\\"\\u227C\\\",\\\"⪯\\\":\\\"\\u2AAF\\\",\\\"⪹\\\":\\\"\\u2AB9\\\",\\\"⪵\\\":\\\"\\u2AB5\\\",\\\"⋨\\\":\\\"\\u22E8\\\",\\\"≾\\\":\\\"\\u227E\\\",\\\"′\\\":\\\"\\u2032\\\",\\\"ℙ\\\":\\\"\\u2119\\\",\\\"⪵\\\":\\\"\\u2AB5\\\",\\\"⪹\\\":\\\"\\u2AB9\\\",\\\"⋨\\\":\\\"\\u22E8\\\",\\\"∏\\\":\\\"\\u220F\\\",\\\"⌮\\\":\\\"\\u232E\\\",\\\"⌒\\\":\\\"\\u2312\\\",\\\"⌓\\\":\\\"\\u2313\\\",\\\"∝\\\":\\\"\\u221D\\\",\\\"∝\\\":\\\"\\u221D\\\",\\\"≾\\\":\\\"\\u227E\\\",\\\"⊰\\\":\\\"\\u22B0\\\",\\\"𝓅\\\":\\\"\\uD835\\uDCC5\\\",\\\"ψ\\\":\\\"\\u03C8\\\",\\\" \\\":\\\"\\u2008\\\",\\\"𝔮\\\":\\\"\\uD835\\uDD2E\\\",\\\"⨌\\\":\\\"\\u2A0C\\\",\\\"𝕢\\\":\\\"\\uD835\\uDD62\\\",\\\"⁗\\\":\\\"\\u2057\\\",\\\"𝓆\\\":\\\"\\uD835\\uDCC6\\\",\\\"ℍ\\\":\\\"\\u210D\\\",\\\"⨖\\\":\\\"\\u2A16\\\",\\\"?\\\":\\\"?\\\",\\\"≟\\\":\\\"\\u225F\\\",\\\""\\\":'\\\"',\\\""\\\":'\\\"',\\\"⇛\\\":\\\"\\u21DB\\\",\\\"⇒\\\":\\\"\\u21D2\\\",\\\"⤜\\\":\\\"\\u291C\\\",\\\"⤏\\\":\\\"\\u290F\\\",\\\"⥤\\\":\\\"\\u2964\\\",\\\"∽̱\\\":\\\"\\u223D\\u0331\\\",\\\"ŕ\\\":\\\"\\u0155\\\",\\\"√\\\":\\\"\\u221A\\\",\\\"⦳\\\":\\\"\\u29B3\\\",\\\"⟩\\\":\\\"\\u27E9\\\",\\\"⦒\\\":\\\"\\u2992\\\",\\\"⦥\\\":\\\"\\u29A5\\\",\\\"⟩\\\":\\\"\\u27E9\\\",\\\"»\\\":\\\"\\xBB\\\",\\\"»\\\":\\\"\\xBB\\\",\\\"→\\\":\\\"\\u2192\\\",\\\"⥵\\\":\\\"\\u2975\\\",\\\"⇥\\\":\\\"\\u21E5\\\",\\\"⤠\\\":\\\"\\u2920\\\",\\\"⤳\\\":\\\"\\u2933\\\",\\\"⤞\\\":\\\"\\u291E\\\",\\\"↪\\\":\\\"\\u21AA\\\",\\\"↬\\\":\\\"\\u21AC\\\",\\\"⥅\\\":\\\"\\u2945\\\",\\\"⥴\\\":\\\"\\u2974\\\",\\\"↣\\\":\\\"\\u21A3\\\",\\\"↝\\\":\\\"\\u219D\\\",\\\"⤚\\\":\\\"\\u291A\\\",\\\"∶\\\":\\\"\\u2236\\\",\\\"ℚ\\\":\\\"\\u211A\\\",\\\"⤍\\\":\\\"\\u290D\\\",\\\"❳\\\":\\\"\\u2773\\\",\\\"}\\\":\\\"}\\\",\\\"]\\\":\\\"]\\\",\\\"⦌\\\":\\\"\\u298C\\\",\\\"⦎\\\":\\\"\\u298E\\\",\\\"⦐\\\":\\\"\\u2990\\\",\\\"ř\\\":\\\"\\u0159\\\",\\\"ŗ\\\":\\\"\\u0157\\\",\\\"⌉\\\":\\\"\\u2309\\\",\\\"}\\\":\\\"}\\\",\\\"р\\\":\\\"\\u0440\\\",\\\"⤷\\\":\\\"\\u2937\\\",\\\"⥩\\\":\\\"\\u2969\\\",\\\"”\\\":\\\"\\u201D\\\",\\\"”\\\":\\\"\\u201D\\\",\\\"↳\\\":\\\"\\u21B3\\\",\\\"ℜ\\\":\\\"\\u211C\\\",\\\"ℛ\\\":\\\"\\u211B\\\",\\\"ℜ\\\":\\\"\\u211C\\\",\\\"ℝ\\\":\\\"\\u211D\\\",\\\"▭\\\":\\\"\\u25AD\\\",\\\"®\\\":\\\"\\xAE\\\",\\\"®\\\":\\\"\\xAE\\\",\\\"⥽\\\":\\\"\\u297D\\\",\\\"⌋\\\":\\\"\\u230B\\\",\\\"𝔯\\\":\\\"\\uD835\\uDD2F\\\",\\\"⇁\\\":\\\"\\u21C1\\\",\\\"⇀\\\":\\\"\\u21C0\\\",\\\"⥬\\\":\\\"\\u296C\\\",\\\"ρ\\\":\\\"\\u03C1\\\",\\\"ϱ\\\":\\\"\\u03F1\\\",\\\"→\\\":\\\"\\u2192\\\",\\\"↣\\\":\\\"\\u21A3\\\",\\\"⇁\\\":\\\"\\u21C1\\\",\\\"⇀\\\":\\\"\\u21C0\\\",\\\"⇄\\\":\\\"\\u21C4\\\",\\\"⇌\\\":\\\"\\u21CC\\\",\\\"⇉\\\":\\\"\\u21C9\\\",\\\"↝\\\":\\\"\\u219D\\\",\\\"⋌\\\":\\\"\\u22CC\\\",\\\"˚\\\":\\\"\\u02DA\\\",\\\"≓\\\":\\\"\\u2253\\\",\\\"⇄\\\":\\\"\\u21C4\\\",\\\"⇌\\\":\\\"\\u21CC\\\",\\\"‏\\\":\\\"\\u200F\\\",\\\"⎱\\\":\\\"\\u23B1\\\",\\\"⎱\\\":\\\"\\u23B1\\\",\\\"⫮\\\":\\\"\\u2AEE\\\",\\\"⟭\\\":\\\"\\u27ED\\\",\\\"⇾\\\":\\\"\\u21FE\\\",\\\"⟧\\\":\\\"\\u27E7\\\",\\\"⦆\\\":\\\"\\u2986\\\",\\\"𝕣\\\":\\\"\\uD835\\uDD63\\\",\\\"⨮\\\":\\\"\\u2A2E\\\",\\\"⨵\\\":\\\"\\u2A35\\\",\\\")\\\":\\\")\\\",\\\"⦔\\\":\\\"\\u2994\\\",\\\"⨒\\\":\\\"\\u2A12\\\",\\\"⇉\\\":\\\"\\u21C9\\\",\\\"›\\\":\\\"\\u203A\\\",\\\"𝓇\\\":\\\"\\uD835\\uDCC7\\\",\\\"↱\\\":\\\"\\u21B1\\\",\\\"]\\\":\\\"]\\\",\\\"’\\\":\\\"\\u2019\\\",\\\"’\\\":\\\"\\u2019\\\",\\\"⋌\\\":\\\"\\u22CC\\\",\\\"⋊\\\":\\\"\\u22CA\\\",\\\"▹\\\":\\\"\\u25B9\\\",\\\"⊵\\\":\\\"\\u22B5\\\",\\\"▸\\\":\\\"\\u25B8\\\",\\\"⧎\\\":\\\"\\u29CE\\\",\\\"⥨\\\":\\\"\\u2968\\\",\\\"℞\\\":\\\"\\u211E\\\",\\\"ś\\\":\\\"\\u015B\\\",\\\"‚\\\":\\\"\\u201A\\\",\\\"≻\\\":\\\"\\u227B\\\",\\\"⪴\\\":\\\"\\u2AB4\\\",\\\"⪸\\\":\\\"\\u2AB8\\\",\\\"š\\\":\\\"\\u0161\\\",\\\"≽\\\":\\\"\\u227D\\\",\\\"⪰\\\":\\\"\\u2AB0\\\",\\\"ş\\\":\\\"\\u015F\\\",\\\"ŝ\\\":\\\"\\u015D\\\",\\\"⪶\\\":\\\"\\u2AB6\\\",\\\"⪺\\\":\\\"\\u2ABA\\\",\\\"⋩\\\":\\\"\\u22E9\\\",\\\"⨓\\\":\\\"\\u2A13\\\",\\\"≿\\\":\\\"\\u227F\\\",\\\"с\\\":\\\"\\u0441\\\",\\\"⋅\\\":\\\"\\u22C5\\\",\\\"⊡\\\":\\\"\\u22A1\\\",\\\"⩦\\\":\\\"\\u2A66\\\",\\\"⇘\\\":\\\"\\u21D8\\\",\\\"⤥\\\":\\\"\\u2925\\\",\\\"↘\\\":\\\"\\u2198\\\",\\\"↘\\\":\\\"\\u2198\\\",\\\"§\\\":\\\"\\xA7\\\",\\\"§\\\":\\\"\\xA7\\\",\\\";\\\":\\\";\\\",\\\"⤩\\\":\\\"\\u2929\\\",\\\"∖\\\":\\\"\\u2216\\\",\\\"∖\\\":\\\"\\u2216\\\",\\\"✶\\\":\\\"\\u2736\\\",\\\"𝔰\\\":\\\"\\uD835\\uDD30\\\",\\\"⌢\\\":\\\"\\u2322\\\",\\\"♯\\\":\\\"\\u266F\\\",\\\"щ\\\":\\\"\\u0449\\\",\\\"ш\\\":\\\"\\u0448\\\",\\\"∣\\\":\\\"\\u2223\\\",\\\"∥\\\":\\\"\\u2225\\\",\\\"­\\\":\\\"\\xAD\\\",\\\"­\\\":\\\"\\xAD\\\",\\\"σ\\\":\\\"\\u03C3\\\",\\\"ς\\\":\\\"\\u03C2\\\",\\\"ς\\\":\\\"\\u03C2\\\",\\\"∼\\\":\\\"\\u223C\\\",\\\"⩪\\\":\\\"\\u2A6A\\\",\\\"≃\\\":\\\"\\u2243\\\",\\\"≃\\\":\\\"\\u2243\\\",\\\"⪞\\\":\\\"\\u2A9E\\\",\\\"⪠\\\":\\\"\\u2AA0\\\",\\\"⪝\\\":\\\"\\u2A9D\\\",\\\"⪟\\\":\\\"\\u2A9F\\\",\\\"≆\\\":\\\"\\u2246\\\",\\\"⨤\\\":\\\"\\u2A24\\\",\\\"⥲\\\":\\\"\\u2972\\\",\\\"←\\\":\\\"\\u2190\\\",\\\"∖\\\":\\\"\\u2216\\\",\\\"⨳\\\":\\\"\\u2A33\\\",\\\"⧤\\\":\\\"\\u29E4\\\",\\\"∣\\\":\\\"\\u2223\\\",\\\"⌣\\\":\\\"\\u2323\\\",\\\"⪪\\\":\\\"\\u2AAA\\\",\\\"⪬\\\":\\\"\\u2AAC\\\",\\\"⪬︀\\\":\\\"\\u2AAC\\uFE00\\\",\\\"ь\\\":\\\"\\u044C\\\",\\\"/\\\":\\\"/\\\",\\\"⧄\\\":\\\"\\u29C4\\\",\\\"⌿\\\":\\\"\\u233F\\\",\\\"𝕤\\\":\\\"\\uD835\\uDD64\\\",\\\"♠\\\":\\\"\\u2660\\\",\\\"♠\\\":\\\"\\u2660\\\",\\\"∥\\\":\\\"\\u2225\\\",\\\"⊓\\\":\\\"\\u2293\\\",\\\"⊓︀\\\":\\\"\\u2293\\uFE00\\\",\\\"⊔\\\":\\\"\\u2294\\\",\\\"⊔︀\\\":\\\"\\u2294\\uFE00\\\",\\\"⊏\\\":\\\"\\u228F\\\",\\\"⊑\\\":\\\"\\u2291\\\",\\\"⊏\\\":\\\"\\u228F\\\",\\\"⊑\\\":\\\"\\u2291\\\",\\\"⊐\\\":\\\"\\u2290\\\",\\\"⊒\\\":\\\"\\u2292\\\",\\\"⊐\\\":\\\"\\u2290\\\",\\\"⊒\\\":\\\"\\u2292\\\",\\\"□\\\":\\\"\\u25A1\\\",\\\"□\\\":\\\"\\u25A1\\\",\\\"▪\\\":\\\"\\u25AA\\\",\\\"▪\\\":\\\"\\u25AA\\\",\\\"→\\\":\\\"\\u2192\\\",\\\"𝓈\\\":\\\"\\uD835\\uDCC8\\\",\\\"∖\\\":\\\"\\u2216\\\",\\\"⌣\\\":\\\"\\u2323\\\",\\\"⋆\\\":\\\"\\u22C6\\\",\\\"☆\\\":\\\"\\u2606\\\",\\\"★\\\":\\\"\\u2605\\\",\\\"ϵ\\\":\\\"\\u03F5\\\",\\\"ϕ\\\":\\\"\\u03D5\\\",\\\"¯\\\":\\\"\\xAF\\\",\\\"⊂\\\":\\\"\\u2282\\\",\\\"⫅\\\":\\\"\\u2AC5\\\",\\\"⪽\\\":\\\"\\u2ABD\\\",\\\"⊆\\\":\\\"\\u2286\\\",\\\"⫃\\\":\\\"\\u2AC3\\\",\\\"⫁\\\":\\\"\\u2AC1\\\",\\\"⫋\\\":\\\"\\u2ACB\\\",\\\"⊊\\\":\\\"\\u228A\\\",\\\"⪿\\\":\\\"\\u2ABF\\\",\\\"⥹\\\":\\\"\\u2979\\\",\\\"⊂\\\":\\\"\\u2282\\\",\\\"⊆\\\":\\\"\\u2286\\\",\\\"⫅\\\":\\\"\\u2AC5\\\",\\\"⊊\\\":\\\"\\u228A\\\",\\\"⫋\\\":\\\"\\u2ACB\\\",\\\"⫇\\\":\\\"\\u2AC7\\\",\\\"⫕\\\":\\\"\\u2AD5\\\",\\\"⫓\\\":\\\"\\u2AD3\\\",\\\"≻\\\":\\\"\\u227B\\\",\\\"⪸\\\":\\\"\\u2AB8\\\",\\\"≽\\\":\\\"\\u227D\\\",\\\"⪰\\\":\\\"\\u2AB0\\\",\\\"⪺\\\":\\\"\\u2ABA\\\",\\\"⪶\\\":\\\"\\u2AB6\\\",\\\"⋩\\\":\\\"\\u22E9\\\",\\\"≿\\\":\\\"\\u227F\\\",\\\"∑\\\":\\\"\\u2211\\\",\\\"♪\\\":\\\"\\u266A\\\",\\\"¹\\\":\\\"\\xB9\\\",\\\"¹\\\":\\\"\\xB9\\\",\\\"²\\\":\\\"\\xB2\\\",\\\"²\\\":\\\"\\xB2\\\",\\\"³\\\":\\\"\\xB3\\\",\\\"³\\\":\\\"\\xB3\\\",\\\"⊃\\\":\\\"\\u2283\\\",\\\"⫆\\\":\\\"\\u2AC6\\\",\\\"⪾\\\":\\\"\\u2ABE\\\",\\\"⫘\\\":\\\"\\u2AD8\\\",\\\"⊇\\\":\\\"\\u2287\\\",\\\"⫄\\\":\\\"\\u2AC4\\\",\\\"⟉\\\":\\\"\\u27C9\\\",\\\"⫗\\\":\\\"\\u2AD7\\\",\\\"⥻\\\":\\\"\\u297B\\\",\\\"⫂\\\":\\\"\\u2AC2\\\",\\\"⫌\\\":\\\"\\u2ACC\\\",\\\"⊋\\\":\\\"\\u228B\\\",\\\"⫀\\\":\\\"\\u2AC0\\\",\\\"⊃\\\":\\\"\\u2283\\\",\\\"⊇\\\":\\\"\\u2287\\\",\\\"⫆\\\":\\\"\\u2AC6\\\",\\\"⊋\\\":\\\"\\u228B\\\",\\\"⫌\\\":\\\"\\u2ACC\\\",\\\"⫈\\\":\\\"\\u2AC8\\\",\\\"⫔\\\":\\\"\\u2AD4\\\",\\\"⫖\\\":\\\"\\u2AD6\\\",\\\"⇙\\\":\\\"\\u21D9\\\",\\\"⤦\\\":\\\"\\u2926\\\",\\\"↙\\\":\\\"\\u2199\\\",\\\"↙\\\":\\\"\\u2199\\\",\\\"⤪\\\":\\\"\\u292A\\\",\\\"ß\\\":\\\"\\xDF\\\",\\\"ß\\\":\\\"\\xDF\\\",\\\"⌖\\\":\\\"\\u2316\\\",\\\"τ\\\":\\\"\\u03C4\\\",\\\"⎴\\\":\\\"\\u23B4\\\",\\\"ť\\\":\\\"\\u0165\\\",\\\"ţ\\\":\\\"\\u0163\\\",\\\"т\\\":\\\"\\u0442\\\",\\\"⃛\\\":\\\"\\u20DB\\\",\\\"⌕\\\":\\\"\\u2315\\\",\\\"𝔱\\\":\\\"\\uD835\\uDD31\\\",\\\"∴\\\":\\\"\\u2234\\\",\\\"∴\\\":\\\"\\u2234\\\",\\\"θ\\\":\\\"\\u03B8\\\",\\\"ϑ\\\":\\\"\\u03D1\\\",\\\"ϑ\\\":\\\"\\u03D1\\\",\\\"≈\\\":\\\"\\u2248\\\",\\\"∼\\\":\\\"\\u223C\\\",\\\" \\\":\\\"\\u2009\\\",\\\"≈\\\":\\\"\\u2248\\\",\\\"∼\\\":\\\"\\u223C\\\",\\\"þ\\\":\\\"\\xFE\\\",\\\"þ\\\":\\\"\\xFE\\\",\\\"˜\\\":\\\"\\u02DC\\\",\\\"×\\\":\\\"\\xD7\\\",\\\"×\\\":\\\"\\xD7\\\",\\\"⊠\\\":\\\"\\u22A0\\\",\\\"⨱\\\":\\\"\\u2A31\\\",\\\"⨰\\\":\\\"\\u2A30\\\",\\\"∭\\\":\\\"\\u222D\\\",\\\"⤨\\\":\\\"\\u2928\\\",\\\"⊤\\\":\\\"\\u22A4\\\",\\\"⌶\\\":\\\"\\u2336\\\",\\\"⫱\\\":\\\"\\u2AF1\\\",\\\"𝕥\\\":\\\"\\uD835\\uDD65\\\",\\\"⫚\\\":\\\"\\u2ADA\\\",\\\"⤩\\\":\\\"\\u2929\\\",\\\"‴\\\":\\\"\\u2034\\\",\\\"™\\\":\\\"\\u2122\\\",\\\"▵\\\":\\\"\\u25B5\\\",\\\"▿\\\":\\\"\\u25BF\\\",\\\"◃\\\":\\\"\\u25C3\\\",\\\"⊴\\\":\\\"\\u22B4\\\",\\\"≜\\\":\\\"\\u225C\\\",\\\"▹\\\":\\\"\\u25B9\\\",\\\"⊵\\\":\\\"\\u22B5\\\",\\\"◬\\\":\\\"\\u25EC\\\",\\\"≜\\\":\\\"\\u225C\\\",\\\"⨺\\\":\\\"\\u2A3A\\\",\\\"⨹\\\":\\\"\\u2A39\\\",\\\"⧍\\\":\\\"\\u29CD\\\",\\\"⨻\\\":\\\"\\u2A3B\\\",\\\"⏢\\\":\\\"\\u23E2\\\",\\\"𝓉\\\":\\\"\\uD835\\uDCC9\\\",\\\"ц\\\":\\\"\\u0446\\\",\\\"ћ\\\":\\\"\\u045B\\\",\\\"ŧ\\\":\\\"\\u0167\\\",\\\"≬\\\":\\\"\\u226C\\\",\\\"↞\\\":\\\"\\u219E\\\",\\\"↠\\\":\\\"\\u21A0\\\",\\\"⇑\\\":\\\"\\u21D1\\\",\\\"⥣\\\":\\\"\\u2963\\\",\\\"ú\\\":\\\"\\xFA\\\",\\\"ú\\\":\\\"\\xFA\\\",\\\"↑\\\":\\\"\\u2191\\\",\\\"ў\\\":\\\"\\u045E\\\",\\\"ŭ\\\":\\\"\\u016D\\\",\\\"û\\\":\\\"\\xFB\\\",\\\"û\\\":\\\"\\xFB\\\",\\\"у\\\":\\\"\\u0443\\\",\\\"⇅\\\":\\\"\\u21C5\\\",\\\"ű\\\":\\\"\\u0171\\\",\\\"⥮\\\":\\\"\\u296E\\\",\\\"⥾\\\":\\\"\\u297E\\\",\\\"𝔲\\\":\\\"\\uD835\\uDD32\\\",\\\"ù\\\":\\\"\\xF9\\\",\\\"ù\\\":\\\"\\xF9\\\",\\\"↿\\\":\\\"\\u21BF\\\",\\\"↾\\\":\\\"\\u21BE\\\",\\\"▀\\\":\\\"\\u2580\\\",\\\"⌜\\\":\\\"\\u231C\\\",\\\"⌜\\\":\\\"\\u231C\\\",\\\"⌏\\\":\\\"\\u230F\\\",\\\"◸\\\":\\\"\\u25F8\\\",\\\"ū\\\":\\\"\\u016B\\\",\\\"¨\\\":\\\"\\xA8\\\",\\\"¨\\\":\\\"\\xA8\\\",\\\"ų\\\":\\\"\\u0173\\\",\\\"𝕦\\\":\\\"\\uD835\\uDD66\\\",\\\"↑\\\":\\\"\\u2191\\\",\\\"↕\\\":\\\"\\u2195\\\",\\\"↿\\\":\\\"\\u21BF\\\",\\\"↾\\\":\\\"\\u21BE\\\",\\\"⊎\\\":\\\"\\u228E\\\",\\\"υ\\\":\\\"\\u03C5\\\",\\\"ϒ\\\":\\\"\\u03D2\\\",\\\"υ\\\":\\\"\\u03C5\\\",\\\"⇈\\\":\\\"\\u21C8\\\",\\\"⌝\\\":\\\"\\u231D\\\",\\\"⌝\\\":\\\"\\u231D\\\",\\\"⌎\\\":\\\"\\u230E\\\",\\\"ů\\\":\\\"\\u016F\\\",\\\"◹\\\":\\\"\\u25F9\\\",\\\"𝓊\\\":\\\"\\uD835\\uDCCA\\\",\\\"⋰\\\":\\\"\\u22F0\\\",\\\"ũ\\\":\\\"\\u0169\\\",\\\"▵\\\":\\\"\\u25B5\\\",\\\"▴\\\":\\\"\\u25B4\\\",\\\"⇈\\\":\\\"\\u21C8\\\",\\\"ü\\\":\\\"\\xFC\\\",\\\"ü\\\":\\\"\\xFC\\\",\\\"⦧\\\":\\\"\\u29A7\\\",\\\"⇕\\\":\\\"\\u21D5\\\",\\\"⫨\\\":\\\"\\u2AE8\\\",\\\"⫩\\\":\\\"\\u2AE9\\\",\\\"⊨\\\":\\\"\\u22A8\\\",\\\"⦜\\\":\\\"\\u299C\\\",\\\"ϵ\\\":\\\"\\u03F5\\\",\\\"ϰ\\\":\\\"\\u03F0\\\",\\\"∅\\\":\\\"\\u2205\\\",\\\"ϕ\\\":\\\"\\u03D5\\\",\\\"ϖ\\\":\\\"\\u03D6\\\",\\\"∝\\\":\\\"\\u221D\\\",\\\"↕\\\":\\\"\\u2195\\\",\\\"ϱ\\\":\\\"\\u03F1\\\",\\\"ς\\\":\\\"\\u03C2\\\",\\\"⊊︀\\\":\\\"\\u228A\\uFE00\\\",\\\"⫋︀\\\":\\\"\\u2ACB\\uFE00\\\",\\\"⊋︀\\\":\\\"\\u228B\\uFE00\\\",\\\"⫌︀\\\":\\\"\\u2ACC\\uFE00\\\",\\\"ϑ\\\":\\\"\\u03D1\\\",\\\"⊲\\\":\\\"\\u22B2\\\",\\\"⊳\\\":\\\"\\u22B3\\\",\\\"в\\\":\\\"\\u0432\\\",\\\"⊢\\\":\\\"\\u22A2\\\",\\\"∨\\\":\\\"\\u2228\\\",\\\"⊻\\\":\\\"\\u22BB\\\",\\\"≚\\\":\\\"\\u225A\\\",\\\"⋮\\\":\\\"\\u22EE\\\",\\\"|\\\":\\\"|\\\",\\\"|\\\":\\\"|\\\",\\\"𝔳\\\":\\\"\\uD835\\uDD33\\\",\\\"⊲\\\":\\\"\\u22B2\\\",\\\"⊂⃒\\\":\\\"\\u2282\\u20D2\\\",\\\"⊃⃒\\\":\\\"\\u2283\\u20D2\\\",\\\"𝕧\\\":\\\"\\uD835\\uDD67\\\",\\\"∝\\\":\\\"\\u221D\\\",\\\"⊳\\\":\\\"\\u22B3\\\",\\\"𝓋\\\":\\\"\\uD835\\uDCCB\\\",\\\"⫋︀\\\":\\\"\\u2ACB\\uFE00\\\",\\\"⊊︀\\\":\\\"\\u228A\\uFE00\\\",\\\"⫌︀\\\":\\\"\\u2ACC\\uFE00\\\",\\\"⊋︀\\\":\\\"\\u228B\\uFE00\\\",\\\"⦚\\\":\\\"\\u299A\\\",\\\"ŵ\\\":\\\"\\u0175\\\",\\\"⩟\\\":\\\"\\u2A5F\\\",\\\"∧\\\":\\\"\\u2227\\\",\\\"≙\\\":\\\"\\u2259\\\",\\\"℘\\\":\\\"\\u2118\\\",\\\"𝔴\\\":\\\"\\uD835\\uDD34\\\",\\\"𝕨\\\":\\\"\\uD835\\uDD68\\\",\\\"℘\\\":\\\"\\u2118\\\",\\\"≀\\\":\\\"\\u2240\\\",\\\"≀\\\":\\\"\\u2240\\\",\\\"𝓌\\\":\\\"\\uD835\\uDCCC\\\",\\\"⋂\\\":\\\"\\u22C2\\\",\\\"◯\\\":\\\"\\u25EF\\\",\\\"⋃\\\":\\\"\\u22C3\\\",\\\"▽\\\":\\\"\\u25BD\\\",\\\"𝔵\\\":\\\"\\uD835\\uDD35\\\",\\\"⟺\\\":\\\"\\u27FA\\\",\\\"⟷\\\":\\\"\\u27F7\\\",\\\"ξ\\\":\\\"\\u03BE\\\",\\\"⟸\\\":\\\"\\u27F8\\\",\\\"⟵\\\":\\\"\\u27F5\\\",\\\"⟼\\\":\\\"\\u27FC\\\",\\\"⋻\\\":\\\"\\u22FB\\\",\\\"⨀\\\":\\\"\\u2A00\\\",\\\"𝕩\\\":\\\"\\uD835\\uDD69\\\",\\\"⨁\\\":\\\"\\u2A01\\\",\\\"⨂\\\":\\\"\\u2A02\\\",\\\"⟹\\\":\\\"\\u27F9\\\",\\\"⟶\\\":\\\"\\u27F6\\\",\\\"𝓍\\\":\\\"\\uD835\\uDCCD\\\",\\\"⨆\\\":\\\"\\u2A06\\\",\\\"⨄\\\":\\\"\\u2A04\\\",\\\"△\\\":\\\"\\u25B3\\\",\\\"⋁\\\":\\\"\\u22C1\\\",\\\"⋀\\\":\\\"\\u22C0\\\",\\\"ý\\\":\\\"\\xFD\\\",\\\"ý\\\":\\\"\\xFD\\\",\\\"я\\\":\\\"\\u044F\\\",\\\"ŷ\\\":\\\"\\u0177\\\",\\\"ы\\\":\\\"\\u044B\\\",\\\"¥\\\":\\\"\\xA5\\\",\\\"¥\\\":\\\"\\xA5\\\",\\\"𝔶\\\":\\\"\\uD835\\uDD36\\\",\\\"ї\\\":\\\"\\u0457\\\",\\\"𝕪\\\":\\\"\\uD835\\uDD6A\\\",\\\"𝓎\\\":\\\"\\uD835\\uDCCE\\\",\\\"ю\\\":\\\"\\u044E\\\",\\\"ÿ\\\":\\\"\\xFF\\\",\\\"ÿ\\\":\\\"\\xFF\\\",\\\"ź\\\":\\\"\\u017A\\\",\\\"ž\\\":\\\"\\u017E\\\",\\\"з\\\":\\\"\\u0437\\\",\\\"ż\\\":\\\"\\u017C\\\",\\\"ℨ\\\":\\\"\\u2128\\\",\\\"ζ\\\":\\\"\\u03B6\\\",\\\"𝔷\\\":\\\"\\uD835\\uDD37\\\",\\\"ж\\\":\\\"\\u0436\\\",\\\"⇝\\\":\\\"\\u21DD\\\",\\\"𝕫\\\":\\\"\\uD835\\uDD6B\\\",\\\"𝓏\\\":\\\"\\uD835\\uDCCF\\\",\\\"‍\\\":\\\"\\u200D\\\",\\\"‌\\\":\\\"\\u200C\\\"},characters:{\\xC6:\\\"Æ\\\",\\\"&\\\":\\\"&\\\",\\xC1:\\\"Á\\\",\\u0102:\\\"Ă\\\",\\xC2:\\\"Â\\\",\\u0410:\\\"А\\\",\\uD835\\uDD04:\\\"𝔄\\\",\\xC0:\\\"À\\\",\\u0391:\\\"Α\\\",\\u0100:\\\"Ā\\\",\\\"\\u2A53\\\":\\\"⩓\\\",\\u0104:\\\"Ą\\\",\\uD835\\uDD38:\\\"𝔸\\\",\\\"\\u2061\\\":\\\"⁡\\\",\\xC5:\\\"Å\\\",\\uD835\\uDC9C:\\\"𝒜\\\",\\\"\\u2254\\\":\\\"≔\\\",\\xC3:\\\"Ã\\\",\\xC4:\\\"Ä\\\",\\\"\\u2216\\\":\\\"∖\\\",\\\"\\u2AE7\\\":\\\"⫧\\\",\\\"\\u2306\\\":\\\"⌆\\\",\\u0411:\\\"Б\\\",\\\"\\u2235\\\":\\\"∵\\\",\\u212C:\\\"ℬ\\\",\\u0392:\\\"Β\\\",\\uD835\\uDD05:\\\"𝔅\\\",\\uD835\\uDD39:\\\"𝔹\\\",\\\"\\u02D8\\\":\\\"˘\\\",\\\"\\u224E\\\":\\\"≎\\\",\\u0427:\\\"Ч\\\",\\\"\\xA9\\\":\\\"©\\\",\\u0106:\\\"Ć\\\",\\\"\\u22D2\\\":\\\"⋒\\\",\\u2145:\\\"ⅅ\\\",\\u212D:\\\"ℭ\\\",\\u010C:\\\"Č\\\",\\xC7:\\\"Ç\\\",\\u0108:\\\"Ĉ\\\",\\\"\\u2230\\\":\\\"∰\\\",\\u010A:\\\"Ċ\\\",\\\"\\xB8\\\":\\\"¸\\\",\\\"\\xB7\\\":\\\"·\\\",\\u03A7:\\\"Χ\\\",\\\"\\u2299\\\":\\\"⊙\\\",\\\"\\u2296\\\":\\\"⊖\\\",\\\"\\u2295\\\":\\\"⊕\\\",\\\"\\u2297\\\":\\\"⊗\\\",\\\"\\u2232\\\":\\\"∲\\\",\\\"\\u201D\\\":\\\"”\\\",\\\"\\u2019\\\":\\\"’\\\",\\\"\\u2237\\\":\\\"∷\\\",\\\"\\u2A74\\\":\\\"⩴\\\",\\\"\\u2261\\\":\\\"≡\\\",\\\"\\u222F\\\":\\\"∯\\\",\\\"\\u222E\\\":\\\"∮\\\",\\u2102:\\\"ℂ\\\",\\\"\\u2210\\\":\\\"∐\\\",\\\"\\u2233\\\":\\\"∳\\\",\\\"\\u2A2F\\\":\\\"⨯\\\",\\uD835\\uDC9E:\\\"𝒞\\\",\\\"\\u22D3\\\":\\\"⋓\\\",\\\"\\u224D\\\":\\\"≍\\\",\\\"\\u2911\\\":\\\"⤑\\\",\\u0402:\\\"Ђ\\\",\\u0405:\\\"Ѕ\\\",\\u040F:\\\"Џ\\\",\\\"\\u2021\\\":\\\"‡\\\",\\\"\\u21A1\\\":\\\"↡\\\",\\\"\\u2AE4\\\":\\\"⫤\\\",\\u010E:\\\"Ď\\\",\\u0414:\\\"Д\\\",\\\"\\u2207\\\":\\\"∇\\\",\\u0394:\\\"Δ\\\",\\uD835\\uDD07:\\\"𝔇\\\",\\\"\\xB4\\\":\\\"´\\\",\\\"\\u02D9\\\":\\\"˙\\\",\\\"\\u02DD\\\":\\\"˝\\\",\\\"`\\\":\\\"`\\\",\\\"\\u02DC\\\":\\\"˜\\\",\\\"\\u22C4\\\":\\\"⋄\\\",\\u2146:\\\"ⅆ\\\",\\uD835\\uDD3B:\\\"𝔻\\\",\\\"\\xA8\\\":\\\"¨\\\",\\\"\\u20DC\\\":\\\"⃜\\\",\\\"\\u2250\\\":\\\"≐\\\",\\\"\\u21D3\\\":\\\"⇓\\\",\\\"\\u21D0\\\":\\\"⇐\\\",\\\"\\u21D4\\\":\\\"⇔\\\",\\\"\\u27F8\\\":\\\"⟸\\\",\\\"\\u27FA\\\":\\\"⟺\\\",\\\"\\u27F9\\\":\\\"⟹\\\",\\\"\\u21D2\\\":\\\"⇒\\\",\\\"\\u22A8\\\":\\\"⊨\\\",\\\"\\u21D1\\\":\\\"⇑\\\",\\\"\\u21D5\\\":\\\"⇕\\\",\\\"\\u2225\\\":\\\"∥\\\",\\\"\\u2193\\\":\\\"↓\\\",\\\"\\u2913\\\":\\\"⤓\\\",\\\"\\u21F5\\\":\\\"⇵\\\",\\\"\\u0311\\\":\\\"̑\\\",\\\"\\u2950\\\":\\\"⥐\\\",\\\"\\u295E\\\":\\\"⥞\\\",\\\"\\u21BD\\\":\\\"↽\\\",\\\"\\u2956\\\":\\\"⥖\\\",\\\"\\u295F\\\":\\\"⥟\\\",\\\"\\u21C1\\\":\\\"⇁\\\",\\\"\\u2957\\\":\\\"⥗\\\",\\\"\\u22A4\\\":\\\"⊤\\\",\\\"\\u21A7\\\":\\\"↧\\\",\\uD835\\uDC9F:\\\"𝒟\\\",\\u0110:\\\"Đ\\\",\\u014A:\\\"Ŋ\\\",\\xD0:\\\"Ð\\\",\\xC9:\\\"É\\\",\\u011A:\\\"Ě\\\",\\xCA:\\\"Ê\\\",\\u042D:\\\"Э\\\",\\u0116:\\\"Ė\\\",\\uD835\\uDD08:\\\"𝔈\\\",\\xC8:\\\"È\\\",\\\"\\u2208\\\":\\\"∈\\\",\\u0112:\\\"Ē\\\",\\\"\\u25FB\\\":\\\"◻\\\",\\\"\\u25AB\\\":\\\"▫\\\",\\u0118:\\\"Ę\\\",\\uD835\\uDD3C:\\\"𝔼\\\",\\u0395:\\\"Ε\\\",\\\"\\u2A75\\\":\\\"⩵\\\",\\\"\\u2242\\\":\\\"≂\\\",\\\"\\u21CC\\\":\\\"⇌\\\",\\u2130:\\\"ℰ\\\",\\\"\\u2A73\\\":\\\"⩳\\\",\\u0397:\\\"Η\\\",\\xCB:\\\"Ë\\\",\\\"\\u2203\\\":\\\"∃\\\",\\u2147:\\\"ⅇ\\\",\\u0424:\\\"Ф\\\",\\uD835\\uDD09:\\\"𝔉\\\",\\\"\\u25FC\\\":\\\"◼\\\",\\\"\\u25AA\\\":\\\"▪\\\",\\uD835\\uDD3D:\\\"𝔽\\\",\\\"\\u2200\\\":\\\"∀\\\",\\u2131:\\\"ℱ\\\",\\u0403:\\\"Ѓ\\\",\\\">\\\":\\\">\\\",\\u0393:\\\"Γ\\\",\\u03DC:\\\"Ϝ\\\",\\u011E:\\\"Ğ\\\",\\u0122:\\\"Ģ\\\",\\u011C:\\\"Ĝ\\\",\\u0413:\\\"Г\\\",\\u0120:\\\"Ġ\\\",\\uD835\\uDD0A:\\\"𝔊\\\",\\\"\\u22D9\\\":\\\"⋙\\\",\\uD835\\uDD3E:\\\"𝔾\\\",\\\"\\u2265\\\":\\\"≥\\\",\\\"\\u22DB\\\":\\\"⋛\\\",\\\"\\u2267\\\":\\\"≧\\\",\\\"\\u2AA2\\\":\\\"⪢\\\",\\\"\\u2277\\\":\\\"≷\\\",\\\"\\u2A7E\\\":\\\"⩾\\\",\\\"\\u2273\\\":\\\"≳\\\",\\uD835\\uDCA2:\\\"𝒢\\\",\\\"\\u226B\\\":\\\"≫\\\",\\u042A:\\\"Ъ\\\",\\u02C7:\\\"ˇ\\\",\\\"^\\\":\\\"^\\\",\\u0124:\\\"Ĥ\\\",\\u210C:\\\"ℌ\\\",\\u210B:\\\"ℋ\\\",\\u210D:\\\"ℍ\\\",\\\"\\u2500\\\":\\\"─\\\",\\u0126:\\\"Ħ\\\",\\\"\\u224F\\\":\\\"≏\\\",\\u0415:\\\"Е\\\",\\u0132:\\\"IJ\\\",\\u0401:\\\"Ё\\\",\\xCD:\\\"Í\\\",\\xCE:\\\"Î\\\",\\u0418:\\\"И\\\",\\u0130:\\\"İ\\\",\\u2111:\\\"ℑ\\\",\\xCC:\\\"Ì\\\",\\u012A:\\\"Ī\\\",\\u2148:\\\"ⅈ\\\",\\\"\\u222C\\\":\\\"∬\\\",\\\"\\u222B\\\":\\\"∫\\\",\\\"\\u22C2\\\":\\\"⋂\\\",\\\"\\u2063\\\":\\\"⁣\\\",\\\"\\u2062\\\":\\\"⁢\\\",\\u012E:\\\"Į\\\",\\uD835\\uDD40:\\\"𝕀\\\",\\u0399:\\\"Ι\\\",\\u2110:\\\"ℐ\\\",\\u0128:\\\"Ĩ\\\",\\u0406:\\\"І\\\",\\xCF:\\\"Ï\\\",\\u0134:\\\"Ĵ\\\",\\u0419:\\\"Й\\\",\\uD835\\uDD0D:\\\"𝔍\\\",\\uD835\\uDD41:\\\"𝕁\\\",\\uD835\\uDCA5:\\\"𝒥\\\",\\u0408:\\\"Ј\\\",\\u0404:\\\"Є\\\",\\u0425:\\\"Х\\\",\\u040C:\\\"Ќ\\\",\\u039A:\\\"Κ\\\",\\u0136:\\\"Ķ\\\",\\u041A:\\\"К\\\",\\uD835\\uDD0E:\\\"𝔎\\\",\\uD835\\uDD42:\\\"𝕂\\\",\\uD835\\uDCA6:\\\"𝒦\\\",\\u0409:\\\"Љ\\\",\\\"<\\\":\\\"<\\\",\\u0139:\\\"Ĺ\\\",\\u039B:\\\"Λ\\\",\\\"\\u27EA\\\":\\\"⟪\\\",\\u2112:\\\"ℒ\\\",\\\"\\u219E\\\":\\\"↞\\\",\\u013D:\\\"Ľ\\\",\\u013B:\\\"Ļ\\\",\\u041B:\\\"Л\\\",\\\"\\u27E8\\\":\\\"⟨\\\",\\\"\\u2190\\\":\\\"←\\\",\\\"\\u21E4\\\":\\\"⇤\\\",\\\"\\u21C6\\\":\\\"⇆\\\",\\\"\\u2308\\\":\\\"⌈\\\",\\\"\\u27E6\\\":\\\"⟦\\\",\\\"\\u2961\\\":\\\"⥡\\\",\\\"\\u21C3\\\":\\\"⇃\\\",\\\"\\u2959\\\":\\\"⥙\\\",\\\"\\u230A\\\":\\\"⌊\\\",\\\"\\u2194\\\":\\\"↔\\\",\\\"\\u294E\\\":\\\"⥎\\\",\\\"\\u22A3\\\":\\\"⊣\\\",\\\"\\u21A4\\\":\\\"↤\\\",\\\"\\u295A\\\":\\\"⥚\\\",\\\"\\u22B2\\\":\\\"⊲\\\",\\\"\\u29CF\\\":\\\"⧏\\\",\\\"\\u22B4\\\":\\\"⊴\\\",\\\"\\u2951\\\":\\\"⥑\\\",\\\"\\u2960\\\":\\\"⥠\\\",\\\"\\u21BF\\\":\\\"↿\\\",\\\"\\u2958\\\":\\\"⥘\\\",\\\"\\u21BC\\\":\\\"↼\\\",\\\"\\u2952\\\":\\\"⥒\\\",\\\"\\u22DA\\\":\\\"⋚\\\",\\\"\\u2266\\\":\\\"≦\\\",\\\"\\u2276\\\":\\\"≶\\\",\\\"\\u2AA1\\\":\\\"⪡\\\",\\\"\\u2A7D\\\":\\\"⩽\\\",\\\"\\u2272\\\":\\\"≲\\\",\\uD835\\uDD0F:\\\"𝔏\\\",\\\"\\u22D8\\\":\\\"⋘\\\",\\\"\\u21DA\\\":\\\"⇚\\\",\\u013F:\\\"Ŀ\\\",\\\"\\u27F5\\\":\\\"⟵\\\",\\\"\\u27F7\\\":\\\"⟷\\\",\\\"\\u27F6\\\":\\\"⟶\\\",\\uD835\\uDD43:\\\"𝕃\\\",\\\"\\u2199\\\":\\\"↙\\\",\\\"\\u2198\\\":\\\"↘\\\",\\\"\\u21B0\\\":\\\"↰\\\",\\u0141:\\\"Ł\\\",\\\"\\u226A\\\":\\\"≪\\\",\\\"\\u2905\\\":\\\"⤅\\\",\\u041C:\\\"М\\\",\\\"\\u205F\\\":\\\" \\\",\\u2133:\\\"ℳ\\\",\\uD835\\uDD10:\\\"𝔐\\\",\\\"\\u2213\\\":\\\"∓\\\",\\uD835\\uDD44:\\\"𝕄\\\",\\u039C:\\\"Μ\\\",\\u040A:\\\"Њ\\\",\\u0143:\\\"Ń\\\",\\u0147:\\\"Ň\\\",\\u0145:\\\"Ņ\\\",\\u041D:\\\"Н\\\",\\\"\\u200B\\\":\\\"​\\\",\\\"\\\\n\\\":\\\"
\\\",\\uD835\\uDD11:\\\"𝔑\\\",\\\"\\u2060\\\":\\\"⁠\\\",\\\"\\xA0\\\":\\\" \\\",\\u2115:\\\"ℕ\\\",\\\"\\u2AEC\\\":\\\"⫬\\\",\\\"\\u2262\\\":\\\"≢\\\",\\\"\\u226D\\\":\\\"≭\\\",\\\"\\u2226\\\":\\\"∦\\\",\\\"\\u2209\\\":\\\"∉\\\",\\\"\\u2260\\\":\\\"≠\\\",\\\"\\u2242\\u0338\\\":\\\"≂̸\\\",\\\"\\u2204\\\":\\\"∄\\\",\\\"\\u226F\\\":\\\"≯\\\",\\\"\\u2271\\\":\\\"≱\\\",\\\"\\u2267\\u0338\\\":\\\"≧̸\\\",\\\"\\u226B\\u0338\\\":\\\"≫̸\\\",\\\"\\u2279\\\":\\\"≹\\\",\\\"\\u2A7E\\u0338\\\":\\\"⩾̸\\\",\\\"\\u2275\\\":\\\"≵\\\",\\\"\\u224E\\u0338\\\":\\\"≎̸\\\",\\\"\\u224F\\u0338\\\":\\\"≏̸\\\",\\\"\\u22EA\\\":\\\"⋪\\\",\\\"\\u29CF\\u0338\\\":\\\"⧏̸\\\",\\\"\\u22EC\\\":\\\"⋬\\\",\\\"\\u226E\\\":\\\"≮\\\",\\\"\\u2270\\\":\\\"≰\\\",\\\"\\u2278\\\":\\\"≸\\\",\\\"\\u226A\\u0338\\\":\\\"≪̸\\\",\\\"\\u2A7D\\u0338\\\":\\\"⩽̸\\\",\\\"\\u2274\\\":\\\"≴\\\",\\\"\\u2AA2\\u0338\\\":\\\"⪢̸\\\",\\\"\\u2AA1\\u0338\\\":\\\"⪡̸\\\",\\\"\\u2280\\\":\\\"⊀\\\",\\\"\\u2AAF\\u0338\\\":\\\"⪯̸\\\",\\\"\\u22E0\\\":\\\"⋠\\\",\\\"\\u220C\\\":\\\"∌\\\",\\\"\\u22EB\\\":\\\"⋫\\\",\\\"\\u29D0\\u0338\\\":\\\"⧐̸\\\",\\\"\\u22ED\\\":\\\"⋭\\\",\\\"\\u228F\\u0338\\\":\\\"⊏̸\\\",\\\"\\u22E2\\\":\\\"⋢\\\",\\\"\\u2290\\u0338\\\":\\\"⊐̸\\\",\\\"\\u22E3\\\":\\\"⋣\\\",\\\"\\u2282\\u20D2\\\":\\\"⊂⃒\\\",\\\"\\u2288\\\":\\\"⊈\\\",\\\"\\u2281\\\":\\\"⊁\\\",\\\"\\u2AB0\\u0338\\\":\\\"⪰̸\\\",\\\"\\u22E1\\\":\\\"⋡\\\",\\\"\\u227F\\u0338\\\":\\\"≿̸\\\",\\\"\\u2283\\u20D2\\\":\\\"⊃⃒\\\",\\\"\\u2289\\\":\\\"⊉\\\",\\\"\\u2241\\\":\\\"≁\\\",\\\"\\u2244\\\":\\\"≄\\\",\\\"\\u2247\\\":\\\"≇\\\",\\\"\\u2249\\\":\\\"≉\\\",\\\"\\u2224\\\":\\\"∤\\\",\\uD835\\uDCA9:\\\"𝒩\\\",\\xD1:\\\"Ñ\\\",\\u039D:\\\"Ν\\\",\\u0152:\\\"Œ\\\",\\xD3:\\\"Ó\\\",\\xD4:\\\"Ô\\\",\\u041E:\\\"О\\\",\\u0150:\\\"Ő\\\",\\uD835\\uDD12:\\\"𝔒\\\",\\xD2:\\\"Ò\\\",\\u014C:\\\"Ō\\\",\\u03A9:\\\"Ω\\\",\\u039F:\\\"Ο\\\",\\uD835\\uDD46:\\\"𝕆\\\",\\\"\\u201C\\\":\\\"“\\\",\\\"\\u2018\\\":\\\"‘\\\",\\\"\\u2A54\\\":\\\"⩔\\\",\\uD835\\uDCAA:\\\"𝒪\\\",\\xD8:\\\"Ø\\\",\\xD5:\\\"Õ\\\",\\\"\\u2A37\\\":\\\"⨷\\\",\\xD6:\\\"Ö\\\",\\\"\\u203E\\\":\\\"‾\\\",\\\"\\u23DE\\\":\\\"⏞\\\",\\\"\\u23B4\\\":\\\"⎴\\\",\\\"\\u23DC\\\":\\\"⏜\\\",\\\"\\u2202\\\":\\\"∂\\\",\\u041F:\\\"П\\\",\\uD835\\uDD13:\\\"𝔓\\\",\\u03A6:\\\"Φ\\\",\\u03A0:\\\"Π\\\",\\\"\\xB1\\\":\\\"±\\\",\\u2119:\\\"ℙ\\\",\\\"\\u2ABB\\\":\\\"⪻\\\",\\\"\\u227A\\\":\\\"≺\\\",\\\"\\u2AAF\\\":\\\"⪯\\\",\\\"\\u227C\\\":\\\"≼\\\",\\\"\\u227E\\\":\\\"≾\\\",\\\"\\u2033\\\":\\\"″\\\",\\\"\\u220F\\\":\\\"∏\\\",\\\"\\u221D\\\":\\\"∝\\\",\\uD835\\uDCAB:\\\"𝒫\\\",\\u03A8:\\\"Ψ\\\",'\\\"':\\\""\\\",\\uD835\\uDD14:\\\"𝔔\\\",\\u211A:\\\"ℚ\\\",\\uD835\\uDCAC:\\\"𝒬\\\",\\\"\\u2910\\\":\\\"⤐\\\",\\\"\\xAE\\\":\\\"®\\\",\\u0154:\\\"Ŕ\\\",\\\"\\u27EB\\\":\\\"⟫\\\",\\\"\\u21A0\\\":\\\"↠\\\",\\\"\\u2916\\\":\\\"⤖\\\",\\u0158:\\\"Ř\\\",\\u0156:\\\"Ŗ\\\",\\u0420:\\\"Р\\\",\\u211C:\\\"ℜ\\\",\\\"\\u220B\\\":\\\"∋\\\",\\\"\\u21CB\\\":\\\"⇋\\\",\\\"\\u296F\\\":\\\"⥯\\\",\\u03A1:\\\"Ρ\\\",\\\"\\u27E9\\\":\\\"⟩\\\",\\\"\\u2192\\\":\\\"→\\\",\\\"\\u21E5\\\":\\\"⇥\\\",\\\"\\u21C4\\\":\\\"⇄\\\",\\\"\\u2309\\\":\\\"⌉\\\",\\\"\\u27E7\\\":\\\"⟧\\\",\\\"\\u295D\\\":\\\"⥝\\\",\\\"\\u21C2\\\":\\\"⇂\\\",\\\"\\u2955\\\":\\\"⥕\\\",\\\"\\u230B\\\":\\\"⌋\\\",\\\"\\u22A2\\\":\\\"⊢\\\",\\\"\\u21A6\\\":\\\"↦\\\",\\\"\\u295B\\\":\\\"⥛\\\",\\\"\\u22B3\\\":\\\"⊳\\\",\\\"\\u29D0\\\":\\\"⧐\\\",\\\"\\u22B5\\\":\\\"⊵\\\",\\\"\\u294F\\\":\\\"⥏\\\",\\\"\\u295C\\\":\\\"⥜\\\",\\\"\\u21BE\\\":\\\"↾\\\",\\\"\\u2954\\\":\\\"⥔\\\",\\\"\\u21C0\\\":\\\"⇀\\\",\\\"\\u2953\\\":\\\"⥓\\\",\\u211D:\\\"ℝ\\\",\\\"\\u2970\\\":\\\"⥰\\\",\\\"\\u21DB\\\":\\\"⇛\\\",\\u211B:\\\"ℛ\\\",\\\"\\u21B1\\\":\\\"↱\\\",\\\"\\u29F4\\\":\\\"⧴\\\",\\u0429:\\\"Щ\\\",\\u0428:\\\"Ш\\\",\\u042C:\\\"Ь\\\",\\u015A:\\\"Ś\\\",\\\"\\u2ABC\\\":\\\"⪼\\\",\\u0160:\\\"Š\\\",\\u015E:\\\"Ş\\\",\\u015C:\\\"Ŝ\\\",\\u0421:\\\"С\\\",\\uD835\\uDD16:\\\"𝔖\\\",\\\"\\u2191\\\":\\\"↑\\\",\\u03A3:\\\"Σ\\\",\\\"\\u2218\\\":\\\"∘\\\",\\uD835\\uDD4A:\\\"𝕊\\\",\\\"\\u221A\\\":\\\"√\\\",\\\"\\u25A1\\\":\\\"□\\\",\\\"\\u2293\\\":\\\"⊓\\\",\\\"\\u228F\\\":\\\"⊏\\\",\\\"\\u2291\\\":\\\"⊑\\\",\\\"\\u2290\\\":\\\"⊐\\\",\\\"\\u2292\\\":\\\"⊒\\\",\\\"\\u2294\\\":\\\"⊔\\\",\\uD835\\uDCAE:\\\"𝒮\\\",\\\"\\u22C6\\\":\\\"⋆\\\",\\\"\\u22D0\\\":\\\"⋐\\\",\\\"\\u2286\\\":\\\"⊆\\\",\\\"\\u227B\\\":\\\"≻\\\",\\\"\\u2AB0\\\":\\\"⪰\\\",\\\"\\u227D\\\":\\\"≽\\\",\\\"\\u227F\\\":\\\"≿\\\",\\\"\\u2211\\\":\\\"∑\\\",\\\"\\u22D1\\\":\\\"⋑\\\",\\\"\\u2283\\\":\\\"⊃\\\",\\\"\\u2287\\\":\\\"⊇\\\",\\xDE:\\\"Þ\\\",\\\"\\u2122\\\":\\\"™\\\",\\u040B:\\\"Ћ\\\",\\u0426:\\\"Ц\\\",\\\"\\\\t\\\":\\\"	\\\",\\u03A4:\\\"Τ\\\",\\u0164:\\\"Ť\\\",\\u0162:\\\"Ţ\\\",\\u0422:\\\"Т\\\",\\uD835\\uDD17:\\\"𝔗\\\",\\\"\\u2234\\\":\\\"∴\\\",\\u0398:\\\"Θ\\\",\\\"\\u205F\\u200A\\\":\\\"  \\\",\\\"\\u2009\\\":\\\" \\\",\\\"\\u223C\\\":\\\"∼\\\",\\\"\\u2243\\\":\\\"≃\\\",\\\"\\u2245\\\":\\\"≅\\\",\\\"\\u2248\\\":\\\"≈\\\",\\uD835\\uDD4B:\\\"𝕋\\\",\\\"\\u20DB\\\":\\\"⃛\\\",\\uD835\\uDCAF:\\\"𝒯\\\",\\u0166:\\\"Ŧ\\\",\\xDA:\\\"Ú\\\",\\\"\\u219F\\\":\\\"↟\\\",\\\"\\u2949\\\":\\\"⥉\\\",\\u040E:\\\"Ў\\\",\\u016C:\\\"Ŭ\\\",\\xDB:\\\"Û\\\",\\u0423:\\\"У\\\",\\u0170:\\\"Ű\\\",\\uD835\\uDD18:\\\"𝔘\\\",\\xD9:\\\"Ù\\\",\\u016A:\\\"Ū\\\",_:\\\"_\\\",\\\"\\u23DF\\\":\\\"⏟\\\",\\\"\\u23B5\\\":\\\"⎵\\\",\\\"\\u23DD\\\":\\\"⏝\\\",\\\"\\u22C3\\\":\\\"⋃\\\",\\\"\\u228E\\\":\\\"⊎\\\",\\u0172:\\\"Ų\\\",\\uD835\\uDD4C:\\\"𝕌\\\",\\\"\\u2912\\\":\\\"⤒\\\",\\\"\\u21C5\\\":\\\"⇅\\\",\\\"\\u2195\\\":\\\"↕\\\",\\\"\\u296E\\\":\\\"⥮\\\",\\\"\\u22A5\\\":\\\"⊥\\\",\\\"\\u21A5\\\":\\\"↥\\\",\\\"\\u2196\\\":\\\"↖\\\",\\\"\\u2197\\\":\\\"↗\\\",\\u03D2:\\\"ϒ\\\",\\u03A5:\\\"Υ\\\",\\u016E:\\\"Ů\\\",\\uD835\\uDCB0:\\\"𝒰\\\",\\u0168:\\\"Ũ\\\",\\xDC:\\\"Ü\\\",\\\"\\u22AB\\\":\\\"⊫\\\",\\\"\\u2AEB\\\":\\\"⫫\\\",\\u0412:\\\"В\\\",\\\"\\u22A9\\\":\\\"⊩\\\",\\\"\\u2AE6\\\":\\\"⫦\\\",\\\"\\u22C1\\\":\\\"⋁\\\",\\\"\\u2016\\\":\\\"‖\\\",\\\"\\u2223\\\":\\\"∣\\\",\\\"|\\\":\\\"|\\\",\\\"\\u2758\\\":\\\"❘\\\",\\\"\\u2240\\\":\\\"≀\\\",\\\"\\u200A\\\":\\\" \\\",\\uD835\\uDD19:\\\"𝔙\\\",\\uD835\\uDD4D:\\\"𝕍\\\",\\uD835\\uDCB1:\\\"𝒱\\\",\\\"\\u22AA\\\":\\\"⊪\\\",\\u0174:\\\"Ŵ\\\",\\\"\\u22C0\\\":\\\"⋀\\\",\\uD835\\uDD1A:\\\"𝔚\\\",\\uD835\\uDD4E:\\\"𝕎\\\",\\uD835\\uDCB2:\\\"𝒲\\\",\\uD835\\uDD1B:\\\"𝔛\\\",\\u039E:\\\"Ξ\\\",\\uD835\\uDD4F:\\\"𝕏\\\",\\uD835\\uDCB3:\\\"𝒳\\\",\\u042F:\\\"Я\\\",\\u0407:\\\"Ї\\\",\\u042E:\\\"Ю\\\",\\xDD:\\\"Ý\\\",\\u0176:\\\"Ŷ\\\",\\u042B:\\\"Ы\\\",\\uD835\\uDD1C:\\\"𝔜\\\",\\uD835\\uDD50:\\\"𝕐\\\",\\uD835\\uDCB4:\\\"𝒴\\\",\\u0178:\\\"Ÿ\\\",\\u0416:\\\"Ж\\\",\\u0179:\\\"Ź\\\",\\u017D:\\\"Ž\\\",\\u0417:\\\"З\\\",\\u017B:\\\"Ż\\\",\\u0396:\\\"Ζ\\\",\\u2128:\\\"ℨ\\\",\\u2124:\\\"ℤ\\\",\\uD835\\uDCB5:\\\"𝒵\\\",\\xE1:\\\"á\\\",\\u0103:\\\"ă\\\",\\\"\\u223E\\\":\\\"∾\\\",\\\"\\u223E\\u0333\\\":\\\"∾̳\\\",\\\"\\u223F\\\":\\\"∿\\\",\\xE2:\\\"â\\\",\\u0430:\\\"а\\\",\\xE6:\\\"æ\\\",\\uD835\\uDD1E:\\\"𝔞\\\",\\xE0:\\\"à\\\",\\u2135:\\\"ℵ\\\",\\u03B1:\\\"α\\\",\\u0101:\\\"ā\\\",\\\"\\u2A3F\\\":\\\"⨿\\\",\\\"\\u2227\\\":\\\"∧\\\",\\\"\\u2A55\\\":\\\"⩕\\\",\\\"\\u2A5C\\\":\\\"⩜\\\",\\\"\\u2A58\\\":\\\"⩘\\\",\\\"\\u2A5A\\\":\\\"⩚\\\",\\\"\\u2220\\\":\\\"∠\\\",\\\"\\u29A4\\\":\\\"⦤\\\",\\\"\\u2221\\\":\\\"∡\\\",\\\"\\u29A8\\\":\\\"⦨\\\",\\\"\\u29A9\\\":\\\"⦩\\\",\\\"\\u29AA\\\":\\\"⦪\\\",\\\"\\u29AB\\\":\\\"⦫\\\",\\\"\\u29AC\\\":\\\"⦬\\\",\\\"\\u29AD\\\":\\\"⦭\\\",\\\"\\u29AE\\\":\\\"⦮\\\",\\\"\\u29AF\\\":\\\"⦯\\\",\\\"\\u221F\\\":\\\"∟\\\",\\\"\\u22BE\\\":\\\"⊾\\\",\\\"\\u299D\\\":\\\"⦝\\\",\\\"\\u2222\\\":\\\"∢\\\",\\\"\\u237C\\\":\\\"⍼\\\",\\u0105:\\\"ą\\\",\\uD835\\uDD52:\\\"𝕒\\\",\\\"\\u2A70\\\":\\\"⩰\\\",\\\"\\u2A6F\\\":\\\"⩯\\\",\\\"\\u224A\\\":\\\"≊\\\",\\\"\\u224B\\\":\\\"≋\\\",\\\"'\\\":\\\"'\\\",\\xE5:\\\"å\\\",\\uD835\\uDCB6:\\\"𝒶\\\",\\\"*\\\":\\\"*\\\",\\xE3:\\\"ã\\\",\\xE4:\\\"ä\\\",\\\"\\u2A11\\\":\\\"⨑\\\",\\\"\\u2AED\\\":\\\"⫭\\\",\\\"\\u224C\\\":\\\"≌\\\",\\\"\\u03F6\\\":\\\"϶\\\",\\\"\\u2035\\\":\\\"‵\\\",\\\"\\u223D\\\":\\\"∽\\\",\\\"\\u22CD\\\":\\\"⋍\\\",\\\"\\u22BD\\\":\\\"⊽\\\",\\\"\\u2305\\\":\\\"⌅\\\",\\\"\\u23B6\\\":\\\"⎶\\\",\\u0431:\\\"б\\\",\\\"\\u201E\\\":\\\"„\\\",\\\"\\u29B0\\\":\\\"⦰\\\",\\u03B2:\\\"β\\\",\\u2136:\\\"ℶ\\\",\\\"\\u226C\\\":\\\"≬\\\",\\uD835\\uDD1F:\\\"𝔟\\\",\\\"\\u25EF\\\":\\\"◯\\\",\\\"\\u2A00\\\":\\\"⨀\\\",\\\"\\u2A01\\\":\\\"⨁\\\",\\\"\\u2A02\\\":\\\"⨂\\\",\\\"\\u2A06\\\":\\\"⨆\\\",\\\"\\u2605\\\":\\\"★\\\",\\\"\\u25BD\\\":\\\"▽\\\",\\\"\\u25B3\\\":\\\"△\\\",\\\"\\u2A04\\\":\\\"⨄\\\",\\\"\\u290D\\\":\\\"⤍\\\",\\\"\\u29EB\\\":\\\"⧫\\\",\\\"\\u25B4\\\":\\\"▴\\\",\\\"\\u25BE\\\":\\\"▾\\\",\\\"\\u25C2\\\":\\\"◂\\\",\\\"\\u25B8\\\":\\\"▸\\\",\\\"\\u2423\\\":\\\"␣\\\",\\\"\\u2592\\\":\\\"▒\\\",\\\"\\u2591\\\":\\\"░\\\",\\\"\\u2593\\\":\\\"▓\\\",\\\"\\u2588\\\":\\\"█\\\",\\\"=\\u20E5\\\":\\\"=⃥\\\",\\\"\\u2261\\u20E5\\\":\\\"≡⃥\\\",\\\"\\u2310\\\":\\\"⌐\\\",\\uD835\\uDD53:\\\"𝕓\\\",\\\"\\u22C8\\\":\\\"⋈\\\",\\\"\\u2557\\\":\\\"╗\\\",\\\"\\u2554\\\":\\\"╔\\\",\\\"\\u2556\\\":\\\"╖\\\",\\\"\\u2553\\\":\\\"╓\\\",\\\"\\u2550\\\":\\\"═\\\",\\\"\\u2566\\\":\\\"╦\\\",\\\"\\u2569\\\":\\\"╩\\\",\\\"\\u2564\\\":\\\"╤\\\",\\\"\\u2567\\\":\\\"╧\\\",\\\"\\u255D\\\":\\\"╝\\\",\\\"\\u255A\\\":\\\"╚\\\",\\\"\\u255C\\\":\\\"╜\\\",\\\"\\u2559\\\":\\\"╙\\\",\\\"\\u2551\\\":\\\"║\\\",\\\"\\u256C\\\":\\\"╬\\\",\\\"\\u2563\\\":\\\"╣\\\",\\\"\\u2560\\\":\\\"╠\\\",\\\"\\u256B\\\":\\\"╫\\\",\\\"\\u2562\\\":\\\"╢\\\",\\\"\\u255F\\\":\\\"╟\\\",\\\"\\u29C9\\\":\\\"⧉\\\",\\\"\\u2555\\\":\\\"╕\\\",\\\"\\u2552\\\":\\\"╒\\\",\\\"\\u2510\\\":\\\"┐\\\",\\\"\\u250C\\\":\\\"┌\\\",\\\"\\u2565\\\":\\\"╥\\\",\\\"\\u2568\\\":\\\"╨\\\",\\\"\\u252C\\\":\\\"┬\\\",\\\"\\u2534\\\":\\\"┴\\\",\\\"\\u229F\\\":\\\"⊟\\\",\\\"\\u229E\\\":\\\"⊞\\\",\\\"\\u22A0\\\":\\\"⊠\\\",\\\"\\u255B\\\":\\\"╛\\\",\\\"\\u2558\\\":\\\"╘\\\",\\\"\\u2518\\\":\\\"┘\\\",\\\"\\u2514\\\":\\\"└\\\",\\\"\\u2502\\\":\\\"│\\\",\\\"\\u256A\\\":\\\"╪\\\",\\\"\\u2561\\\":\\\"╡\\\",\\\"\\u255E\\\":\\\"╞\\\",\\\"\\u253C\\\":\\\"┼\\\",\\\"\\u2524\\\":\\\"┤\\\",\\\"\\u251C\\\":\\\"├\\\",\\\"\\xA6\\\":\\\"¦\\\",\\uD835\\uDCB7:\\\"𝒷\\\",\\\"\\u204F\\\":\\\"⁏\\\",\\\"\\\\\\\\\\\":\\\"\\\\",\\\"\\u29C5\\\":\\\"⧅\\\",\\\"\\u27C8\\\":\\\"⟈\\\",\\\"\\u2022\\\":\\\"•\\\",\\\"\\u2AAE\\\":\\\"⪮\\\",\\u0107:\\\"ć\\\",\\\"\\u2229\\\":\\\"∩\\\",\\\"\\u2A44\\\":\\\"⩄\\\",\\\"\\u2A49\\\":\\\"⩉\\\",\\\"\\u2A4B\\\":\\\"⩋\\\",\\\"\\u2A47\\\":\\\"⩇\\\",\\\"\\u2A40\\\":\\\"⩀\\\",\\\"\\u2229\\uFE00\\\":\\\"∩︀\\\",\\\"\\u2041\\\":\\\"⁁\\\",\\\"\\u2A4D\\\":\\\"⩍\\\",\\u010D:\\\"č\\\",\\xE7:\\\"ç\\\",\\u0109:\\\"ĉ\\\",\\\"\\u2A4C\\\":\\\"⩌\\\",\\\"\\u2A50\\\":\\\"⩐\\\",\\u010B:\\\"ċ\\\",\\\"\\u29B2\\\":\\\"⦲\\\",\\\"\\xA2\\\":\\\"¢\\\",\\uD835\\uDD20:\\\"𝔠\\\",\\u0447:\\\"ч\\\",\\\"\\u2713\\\":\\\"✓\\\",\\u03C7:\\\"χ\\\",\\\"\\u25CB\\\":\\\"○\\\",\\\"\\u29C3\\\":\\\"⧃\\\",\\u02C6:\\\"ˆ\\\",\\\"\\u2257\\\":\\\"≗\\\",\\\"\\u21BA\\\":\\\"↺\\\",\\\"\\u21BB\\\":\\\"↻\\\",\\\"\\u24C8\\\":\\\"Ⓢ\\\",\\\"\\u229B\\\":\\\"⊛\\\",\\\"\\u229A\\\":\\\"⊚\\\",\\\"\\u229D\\\":\\\"⊝\\\",\\\"\\u2A10\\\":\\\"⨐\\\",\\\"\\u2AEF\\\":\\\"⫯\\\",\\\"\\u29C2\\\":\\\"⧂\\\",\\\"\\u2663\\\":\\\"♣\\\",\\\":\\\":\\\":\\\",\\\",\\\":\\\",\\\",\\\"@\\\":\\\"@\\\",\\\"\\u2201\\\":\\\"∁\\\",\\\"\\u2A6D\\\":\\\"⩭\\\",\\uD835\\uDD54:\\\"𝕔\\\",\\\"\\u2117\\\":\\\"℗\\\",\\\"\\u21B5\\\":\\\"↵\\\",\\\"\\u2717\\\":\\\"✗\\\",\\uD835\\uDCB8:\\\"𝒸\\\",\\\"\\u2ACF\\\":\\\"⫏\\\",\\\"\\u2AD1\\\":\\\"⫑\\\",\\\"\\u2AD0\\\":\\\"⫐\\\",\\\"\\u2AD2\\\":\\\"⫒\\\",\\\"\\u22EF\\\":\\\"⋯\\\",\\\"\\u2938\\\":\\\"⤸\\\",\\\"\\u2935\\\":\\\"⤵\\\",\\\"\\u22DE\\\":\\\"⋞\\\",\\\"\\u22DF\\\":\\\"⋟\\\",\\\"\\u21B6\\\":\\\"↶\\\",\\\"\\u293D\\\":\\\"⤽\\\",\\\"\\u222A\\\":\\\"∪\\\",\\\"\\u2A48\\\":\\\"⩈\\\",\\\"\\u2A46\\\":\\\"⩆\\\",\\\"\\u2A4A\\\":\\\"⩊\\\",\\\"\\u228D\\\":\\\"⊍\\\",\\\"\\u2A45\\\":\\\"⩅\\\",\\\"\\u222A\\uFE00\\\":\\\"∪︀\\\",\\\"\\u21B7\\\":\\\"↷\\\",\\\"\\u293C\\\":\\\"⤼\\\",\\\"\\u22CE\\\":\\\"⋎\\\",\\\"\\u22CF\\\":\\\"⋏\\\",\\\"\\xA4\\\":\\\"¤\\\",\\\"\\u2231\\\":\\\"∱\\\",\\\"\\u232D\\\":\\\"⌭\\\",\\\"\\u2965\\\":\\\"⥥\\\",\\\"\\u2020\\\":\\\"†\\\",\\u2138:\\\"ℸ\\\",\\\"\\u2010\\\":\\\"‐\\\",\\\"\\u290F\\\":\\\"⤏\\\",\\u010F:\\\"ď\\\",\\u0434:\\\"д\\\",\\\"\\u21CA\\\":\\\"⇊\\\",\\\"\\u2A77\\\":\\\"⩷\\\",\\\"\\xB0\\\":\\\"°\\\",\\u03B4:\\\"δ\\\",\\\"\\u29B1\\\":\\\"⦱\\\",\\\"\\u297F\\\":\\\"⥿\\\",\\uD835\\uDD21:\\\"𝔡\\\",\\\"\\u2666\\\":\\\"♦\\\",\\u03DD:\\\"ϝ\\\",\\\"\\u22F2\\\":\\\"⋲\\\",\\\"\\xF7\\\":\\\"÷\\\",\\\"\\u22C7\\\":\\\"⋇\\\",\\u0452:\\\"ђ\\\",\\\"\\u231E\\\":\\\"⌞\\\",\\\"\\u230D\\\":\\\"⌍\\\",$:\\\"$\\\",\\uD835\\uDD55:\\\"𝕕\\\",\\\"\\u2251\\\":\\\"≑\\\",\\\"\\u2238\\\":\\\"∸\\\",\\\"\\u2214\\\":\\\"∔\\\",\\\"\\u22A1\\\":\\\"⊡\\\",\\\"\\u231F\\\":\\\"⌟\\\",\\\"\\u230C\\\":\\\"⌌\\\",\\uD835\\uDCB9:\\\"𝒹\\\",\\u0455:\\\"ѕ\\\",\\\"\\u29F6\\\":\\\"⧶\\\",\\u0111:\\\"đ\\\",\\\"\\u22F1\\\":\\\"⋱\\\",\\\"\\u25BF\\\":\\\"▿\\\",\\\"\\u29A6\\\":\\\"⦦\\\",\\u045F:\\\"џ\\\",\\\"\\u27FF\\\":\\\"⟿\\\",\\xE9:\\\"é\\\",\\\"\\u2A6E\\\":\\\"⩮\\\",\\u011B:\\\"ě\\\",\\\"\\u2256\\\":\\\"≖\\\",\\xEA:\\\"ê\\\",\\\"\\u2255\\\":\\\"≕\\\",\\u044D:\\\"э\\\",\\u0117:\\\"ė\\\",\\\"\\u2252\\\":\\\"≒\\\",\\uD835\\uDD22:\\\"𝔢\\\",\\\"\\u2A9A\\\":\\\"⪚\\\",\\xE8:\\\"è\\\",\\\"\\u2A96\\\":\\\"⪖\\\",\\\"\\u2A98\\\":\\\"⪘\\\",\\\"\\u2A99\\\":\\\"⪙\\\",\\\"\\u23E7\\\":\\\"⏧\\\",\\u2113:\\\"ℓ\\\",\\\"\\u2A95\\\":\\\"⪕\\\",\\\"\\u2A97\\\":\\\"⪗\\\",\\u0113:\\\"ē\\\",\\\"\\u2205\\\":\\\"∅\\\",\\\"\\u2004\\\":\\\" \\\",\\\"\\u2005\\\":\\\" \\\",\\\"\\u2003\\\":\\\" \\\",\\u014B:\\\"ŋ\\\",\\\"\\u2002\\\":\\\" \\\",\\u0119:\\\"ę\\\",\\uD835\\uDD56:\\\"𝕖\\\",\\\"\\u22D5\\\":\\\"⋕\\\",\\\"\\u29E3\\\":\\\"⧣\\\",\\\"\\u2A71\\\":\\\"⩱\\\",\\u03B5:\\\"ε\\\",\\u03F5:\\\"ϵ\\\",\\\"=\\\":\\\"=\\\",\\\"\\u225F\\\":\\\"≟\\\",\\\"\\u2A78\\\":\\\"⩸\\\",\\\"\\u29E5\\\":\\\"⧥\\\",\\\"\\u2253\\\":\\\"≓\\\",\\\"\\u2971\\\":\\\"⥱\\\",\\u212F:\\\"ℯ\\\",\\u03B7:\\\"η\\\",\\xF0:\\\"ð\\\",\\xEB:\\\"ë\\\",\\\"\\u20AC\\\":\\\"€\\\",\\\"!\\\":\\\"!\\\",\\u0444:\\\"ф\\\",\\\"\\u2640\\\":\\\"♀\\\",\\uFB03:\\\"ffi\\\",\\uFB00:\\\"ff\\\",\\uFB04:\\\"ffl\\\",\\uD835\\uDD23:\\\"𝔣\\\",\\uFB01:\\\"fi\\\",fj:\\\"fj\\\",\\\"\\u266D\\\":\\\"♭\\\",\\uFB02:\\\"fl\\\",\\\"\\u25B1\\\":\\\"▱\\\",\\u0192:\\\"ƒ\\\",\\uD835\\uDD57:\\\"𝕗\\\",\\\"\\u22D4\\\":\\\"⋔\\\",\\\"\\u2AD9\\\":\\\"⫙\\\",\\\"\\u2A0D\\\":\\\"⨍\\\",\\\"\\xBD\\\":\\\"½\\\",\\\"\\u2153\\\":\\\"⅓\\\",\\\"\\xBC\\\":\\\"¼\\\",\\\"\\u2155\\\":\\\"⅕\\\",\\\"\\u2159\\\":\\\"⅙\\\",\\\"\\u215B\\\":\\\"⅛\\\",\\\"\\u2154\\\":\\\"⅔\\\",\\\"\\u2156\\\":\\\"⅖\\\",\\\"\\xBE\\\":\\\"¾\\\",\\\"\\u2157\\\":\\\"⅗\\\",\\\"\\u215C\\\":\\\"⅜\\\",\\\"\\u2158\\\":\\\"⅘\\\",\\\"\\u215A\\\":\\\"⅚\\\",\\\"\\u215D\\\":\\\"⅝\\\",\\\"\\u215E\\\":\\\"⅞\\\",\\\"\\u2044\\\":\\\"⁄\\\",\\\"\\u2322\\\":\\\"⌢\\\",\\uD835\\uDCBB:\\\"𝒻\\\",\\\"\\u2A8C\\\":\\\"⪌\\\",\\u01F5:\\\"ǵ\\\",\\u03B3:\\\"γ\\\",\\\"\\u2A86\\\":\\\"⪆\\\",\\u011F:\\\"ğ\\\",\\u011D:\\\"ĝ\\\",\\u0433:\\\"г\\\",\\u0121:\\\"ġ\\\",\\\"\\u2AA9\\\":\\\"⪩\\\",\\\"\\u2A80\\\":\\\"⪀\\\",\\\"\\u2A82\\\":\\\"⪂\\\",\\\"\\u2A84\\\":\\\"⪄\\\",\\\"\\u22DB\\uFE00\\\":\\\"⋛︀\\\",\\\"\\u2A94\\\":\\\"⪔\\\",\\uD835\\uDD24:\\\"𝔤\\\",\\u2137:\\\"ℷ\\\",\\u0453:\\\"ѓ\\\",\\\"\\u2A92\\\":\\\"⪒\\\",\\\"\\u2AA5\\\":\\\"⪥\\\",\\\"\\u2AA4\\\":\\\"⪤\\\",\\\"\\u2269\\\":\\\"≩\\\",\\\"\\u2A8A\\\":\\\"⪊\\\",\\\"\\u2A88\\\":\\\"⪈\\\",\\\"\\u22E7\\\":\\\"⋧\\\",\\uD835\\uDD58:\\\"𝕘\\\",\\u210A:\\\"ℊ\\\",\\\"\\u2A8E\\\":\\\"⪎\\\",\\\"\\u2A90\\\":\\\"⪐\\\",\\\"\\u2AA7\\\":\\\"⪧\\\",\\\"\\u2A7A\\\":\\\"⩺\\\",\\\"\\u22D7\\\":\\\"⋗\\\",\\\"\\u2995\\\":\\\"⦕\\\",\\\"\\u2A7C\\\":\\\"⩼\\\",\\\"\\u2978\\\":\\\"⥸\\\",\\\"\\u2269\\uFE00\\\":\\\"≩︀\\\",\\u044A:\\\"ъ\\\",\\\"\\u2948\\\":\\\"⥈\\\",\\\"\\u21AD\\\":\\\"↭\\\",\\u210F:\\\"ℏ\\\",\\u0125:\\\"ĥ\\\",\\\"\\u2665\\\":\\\"♥\\\",\\\"\\u2026\\\":\\\"…\\\",\\\"\\u22B9\\\":\\\"⊹\\\",\\uD835\\uDD25:\\\"𝔥\\\",\\\"\\u2925\\\":\\\"⤥\\\",\\\"\\u2926\\\":\\\"⤦\\\",\\\"\\u21FF\\\":\\\"⇿\\\",\\\"\\u223B\\\":\\\"∻\\\",\\\"\\u21A9\\\":\\\"↩\\\",\\\"\\u21AA\\\":\\\"↪\\\",\\uD835\\uDD59:\\\"𝕙\\\",\\\"\\u2015\\\":\\\"―\\\",\\uD835\\uDCBD:\\\"𝒽\\\",\\u0127:\\\"ħ\\\",\\\"\\u2043\\\":\\\"⁃\\\",\\xED:\\\"í\\\",\\xEE:\\\"î\\\",\\u0438:\\\"и\\\",\\u0435:\\\"е\\\",\\\"\\xA1\\\":\\\"¡\\\",\\uD835\\uDD26:\\\"𝔦\\\",\\xEC:\\\"ì\\\",\\\"\\u2A0C\\\":\\\"⨌\\\",\\\"\\u222D\\\":\\\"∭\\\",\\\"\\u29DC\\\":\\\"⧜\\\",\\\"\\u2129\\\":\\\"℩\\\",\\u0133:\\\"ij\\\",\\u012B:\\\"ī\\\",\\u0131:\\\"ı\\\",\\\"\\u22B7\\\":\\\"⊷\\\",\\u01B5:\\\"Ƶ\\\",\\\"\\u2105\\\":\\\"℅\\\",\\\"\\u221E\\\":\\\"∞\\\",\\\"\\u29DD\\\":\\\"⧝\\\",\\\"\\u22BA\\\":\\\"⊺\\\",\\\"\\u2A17\\\":\\\"⨗\\\",\\\"\\u2A3C\\\":\\\"⨼\\\",\\u0451:\\\"ё\\\",\\u012F:\\\"į\\\",\\uD835\\uDD5A:\\\"𝕚\\\",\\u03B9:\\\"ι\\\",\\\"\\xBF\\\":\\\"¿\\\",\\uD835\\uDCBE:\\\"𝒾\\\",\\\"\\u22F9\\\":\\\"⋹\\\",\\\"\\u22F5\\\":\\\"⋵\\\",\\\"\\u22F4\\\":\\\"⋴\\\",\\\"\\u22F3\\\":\\\"⋳\\\",\\u0129:\\\"ĩ\\\",\\u0456:\\\"і\\\",\\xEF:\\\"ï\\\",\\u0135:\\\"ĵ\\\",\\u0439:\\\"й\\\",\\uD835\\uDD27:\\\"𝔧\\\",\\u0237:\\\"ȷ\\\",\\uD835\\uDD5B:\\\"𝕛\\\",\\uD835\\uDCBF:\\\"𝒿\\\",\\u0458:\\\"ј\\\",\\u0454:\\\"є\\\",\\u03BA:\\\"κ\\\",\\u03F0:\\\"ϰ\\\",\\u0137:\\\"ķ\\\",\\u043A:\\\"к\\\",\\uD835\\uDD28:\\\"𝔨\\\",\\u0138:\\\"ĸ\\\",\\u0445:\\\"х\\\",\\u045C:\\\"ќ\\\",\\uD835\\uDD5C:\\\"𝕜\\\",\\uD835\\uDCC0:\\\"𝓀\\\",\\\"\\u291B\\\":\\\"⤛\\\",\\\"\\u290E\\\":\\\"⤎\\\",\\\"\\u2A8B\\\":\\\"⪋\\\",\\\"\\u2962\\\":\\\"⥢\\\",\\u013A:\\\"ĺ\\\",\\\"\\u29B4\\\":\\\"⦴\\\",\\u03BB:\\\"λ\\\",\\\"\\u2991\\\":\\\"⦑\\\",\\\"\\u2A85\\\":\\\"⪅\\\",\\\"\\xAB\\\":\\\"«\\\",\\\"\\u291F\\\":\\\"⤟\\\",\\\"\\u291D\\\":\\\"⤝\\\",\\\"\\u21AB\\\":\\\"↫\\\",\\\"\\u2939\\\":\\\"⤹\\\",\\\"\\u2973\\\":\\\"⥳\\\",\\\"\\u21A2\\\":\\\"↢\\\",\\\"\\u2AAB\\\":\\\"⪫\\\",\\\"\\u2919\\\":\\\"⤙\\\",\\\"\\u2AAD\\\":\\\"⪭\\\",\\\"\\u2AAD\\uFE00\\\":\\\"⪭︀\\\",\\\"\\u290C\\\":\\\"⤌\\\",\\\"\\u2772\\\":\\\"❲\\\",\\\"{\\\":\\\"{\\\",\\\"[\\\":\\\"[\\\",\\\"\\u298B\\\":\\\"⦋\\\",\\\"\\u298F\\\":\\\"⦏\\\",\\\"\\u298D\\\":\\\"⦍\\\",\\u013E:\\\"ľ\\\",\\u013C:\\\"ļ\\\",\\u043B:\\\"л\\\",\\\"\\u2936\\\":\\\"⤶\\\",\\\"\\u2967\\\":\\\"⥧\\\",\\\"\\u294B\\\":\\\"⥋\\\",\\\"\\u21B2\\\":\\\"↲\\\",\\\"\\u2264\\\":\\\"≤\\\",\\\"\\u21C7\\\":\\\"⇇\\\",\\\"\\u22CB\\\":\\\"⋋\\\",\\\"\\u2AA8\\\":\\\"⪨\\\",\\\"\\u2A7F\\\":\\\"⩿\\\",\\\"\\u2A81\\\":\\\"⪁\\\",\\\"\\u2A83\\\":\\\"⪃\\\",\\\"\\u22DA\\uFE00\\\":\\\"⋚︀\\\",\\\"\\u2A93\\\":\\\"⪓\\\",\\\"\\u22D6\\\":\\\"⋖\\\",\\\"\\u297C\\\":\\\"⥼\\\",\\uD835\\uDD29:\\\"𝔩\\\",\\\"\\u2A91\\\":\\\"⪑\\\",\\\"\\u296A\\\":\\\"⥪\\\",\\\"\\u2584\\\":\\\"▄\\\",\\u0459:\\\"љ\\\",\\\"\\u296B\\\":\\\"⥫\\\",\\\"\\u25FA\\\":\\\"◺\\\",\\u0140:\\\"ŀ\\\",\\\"\\u23B0\\\":\\\"⎰\\\",\\\"\\u2268\\\":\\\"≨\\\",\\\"\\u2A89\\\":\\\"⪉\\\",\\\"\\u2A87\\\":\\\"⪇\\\",\\\"\\u22E6\\\":\\\"⋦\\\",\\\"\\u27EC\\\":\\\"⟬\\\",\\\"\\u21FD\\\":\\\"⇽\\\",\\\"\\u27FC\\\":\\\"⟼\\\",\\\"\\u21AC\\\":\\\"↬\\\",\\\"\\u2985\\\":\\\"⦅\\\",\\uD835\\uDD5D:\\\"𝕝\\\",\\\"\\u2A2D\\\":\\\"⨭\\\",\\\"\\u2A34\\\":\\\"⨴\\\",\\\"\\u2217\\\":\\\"∗\\\",\\\"\\u25CA\\\":\\\"◊\\\",\\\"(\\\":\\\"(\\\",\\\"\\u2993\\\":\\\"⦓\\\",\\\"\\u296D\\\":\\\"⥭\\\",\\\"\\u200E\\\":\\\"‎\\\",\\\"\\u22BF\\\":\\\"⊿\\\",\\\"\\u2039\\\":\\\"‹\\\",\\uD835\\uDCC1:\\\"𝓁\\\",\\\"\\u2A8D\\\":\\\"⪍\\\",\\\"\\u2A8F\\\":\\\"⪏\\\",\\\"\\u201A\\\":\\\"‚\\\",\\u0142:\\\"ł\\\",\\\"\\u2AA6\\\":\\\"⪦\\\",\\\"\\u2A79\\\":\\\"⩹\\\",\\\"\\u22C9\\\":\\\"⋉\\\",\\\"\\u2976\\\":\\\"⥶\\\",\\\"\\u2A7B\\\":\\\"⩻\\\",\\\"\\u2996\\\":\\\"⦖\\\",\\\"\\u25C3\\\":\\\"◃\\\",\\\"\\u294A\\\":\\\"⥊\\\",\\\"\\u2966\\\":\\\"⥦\\\",\\\"\\u2268\\uFE00\\\":\\\"≨︀\\\",\\\"\\u223A\\\":\\\"∺\\\",\\\"\\xAF\\\":\\\"¯\\\",\\\"\\u2642\\\":\\\"♂\\\",\\\"\\u2720\\\":\\\"✠\\\",\\\"\\u25AE\\\":\\\"▮\\\",\\\"\\u2A29\\\":\\\"⨩\\\",\\u043C:\\\"м\\\",\\\"\\u2014\\\":\\\"—\\\",\\uD835\\uDD2A:\\\"𝔪\\\",\\\"\\u2127\\\":\\\"℧\\\",\\xB5:\\\"µ\\\",\\\"\\u2AF0\\\":\\\"⫰\\\",\\\"\\u2212\\\":\\\"−\\\",\\\"\\u2A2A\\\":\\\"⨪\\\",\\\"\\u2ADB\\\":\\\"⫛\\\",\\\"\\u22A7\\\":\\\"⊧\\\",\\uD835\\uDD5E:\\\"𝕞\\\",\\uD835\\uDCC2:\\\"𝓂\\\",\\u03BC:\\\"μ\\\",\\\"\\u22B8\\\":\\\"⊸\\\",\\\"\\u22D9\\u0338\\\":\\\"⋙̸\\\",\\\"\\u226B\\u20D2\\\":\\\"≫⃒\\\",\\\"\\u21CD\\\":\\\"⇍\\\",\\\"\\u21CE\\\":\\\"⇎\\\",\\\"\\u22D8\\u0338\\\":\\\"⋘̸\\\",\\\"\\u226A\\u20D2\\\":\\\"≪⃒\\\",\\\"\\u21CF\\\":\\\"⇏\\\",\\\"\\u22AF\\\":\\\"⊯\\\",\\\"\\u22AE\\\":\\\"⊮\\\",\\u0144:\\\"ń\\\",\\\"\\u2220\\u20D2\\\":\\\"∠⃒\\\",\\\"\\u2A70\\u0338\\\":\\\"⩰̸\\\",\\\"\\u224B\\u0338\\\":\\\"≋̸\\\",\\u0149:\\\"ʼn\\\",\\\"\\u266E\\\":\\\"♮\\\",\\\"\\u2A43\\\":\\\"⩃\\\",\\u0148:\\\"ň\\\",\\u0146:\\\"ņ\\\",\\\"\\u2A6D\\u0338\\\":\\\"⩭̸\\\",\\\"\\u2A42\\\":\\\"⩂\\\",\\u043D:\\\"н\\\",\\\"\\u2013\\\":\\\"–\\\",\\\"\\u21D7\\\":\\\"⇗\\\",\\\"\\u2924\\\":\\\"⤤\\\",\\\"\\u2250\\u0338\\\":\\\"≐̸\\\",\\\"\\u2928\\\":\\\"⤨\\\",\\uD835\\uDD2B:\\\"𝔫\\\",\\\"\\u21AE\\\":\\\"↮\\\",\\\"\\u2AF2\\\":\\\"⫲\\\",\\\"\\u22FC\\\":\\\"⋼\\\",\\\"\\u22FA\\\":\\\"⋺\\\",\\u045A:\\\"њ\\\",\\\"\\u2266\\u0338\\\":\\\"≦̸\\\",\\\"\\u219A\\\":\\\"↚\\\",\\\"\\u2025\\\":\\\"‥\\\",\\uD835\\uDD5F:\\\"𝕟\\\",\\\"\\xAC\\\":\\\"¬\\\",\\\"\\u22F9\\u0338\\\":\\\"⋹̸\\\",\\\"\\u22F5\\u0338\\\":\\\"⋵̸\\\",\\\"\\u22F7\\\":\\\"⋷\\\",\\\"\\u22F6\\\":\\\"⋶\\\",\\\"\\u22FE\\\":\\\"⋾\\\",\\\"\\u22FD\\\":\\\"⋽\\\",\\\"\\u2AFD\\u20E5\\\":\\\"⫽⃥\\\",\\\"\\u2202\\u0338\\\":\\\"∂̸\\\",\\\"\\u2A14\\\":\\\"⨔\\\",\\\"\\u219B\\\":\\\"↛\\\",\\\"\\u2933\\u0338\\\":\\\"⤳̸\\\",\\\"\\u219D\\u0338\\\":\\\"↝̸\\\",\\uD835\\uDCC3:\\\"𝓃\\\",\\\"\\u2284\\\":\\\"⊄\\\",\\\"\\u2AC5\\u0338\\\":\\\"⫅̸\\\",\\\"\\u2285\\\":\\\"⊅\\\",\\\"\\u2AC6\\u0338\\\":\\\"⫆̸\\\",\\xF1:\\\"ñ\\\",\\u03BD:\\\"ν\\\",\\\"#\\\":\\\"#\\\",\\\"\\u2116\\\":\\\"№\\\",\\\"\\u2007\\\":\\\" \\\",\\\"\\u22AD\\\":\\\"⊭\\\",\\\"\\u2904\\\":\\\"⤄\\\",\\\"\\u224D\\u20D2\\\":\\\"≍⃒\\\",\\\"\\u22AC\\\":\\\"⊬\\\",\\\"\\u2265\\u20D2\\\":\\\"≥⃒\\\",\\\">\\u20D2\\\":\\\">⃒\\\",\\\"\\u29DE\\\":\\\"⧞\\\",\\\"\\u2902\\\":\\\"⤂\\\",\\\"\\u2264\\u20D2\\\":\\\"≤⃒\\\",\\\"<\\u20D2\\\":\\\"<⃒\\\",\\\"\\u22B4\\u20D2\\\":\\\"⊴⃒\\\",\\\"\\u2903\\\":\\\"⤃\\\",\\\"\\u22B5\\u20D2\\\":\\\"⊵⃒\\\",\\\"\\u223C\\u20D2\\\":\\\"∼⃒\\\",\\\"\\u21D6\\\":\\\"⇖\\\",\\\"\\u2923\\\":\\\"⤣\\\",\\\"\\u2927\\\":\\\"⤧\\\",\\xF3:\\\"ó\\\",\\xF4:\\\"ô\\\",\\u043E:\\\"о\\\",\\u0151:\\\"ő\\\",\\\"\\u2A38\\\":\\\"⨸\\\",\\\"\\u29BC\\\":\\\"⦼\\\",\\u0153:\\\"œ\\\",\\\"\\u29BF\\\":\\\"⦿\\\",\\uD835\\uDD2C:\\\"𝔬\\\",\\\"\\u02DB\\\":\\\"˛\\\",\\xF2:\\\"ò\\\",\\\"\\u29C1\\\":\\\"⧁\\\",\\\"\\u29B5\\\":\\\"⦵\\\",\\\"\\u29BE\\\":\\\"⦾\\\",\\\"\\u29BB\\\":\\\"⦻\\\",\\\"\\u29C0\\\":\\\"⧀\\\",\\u014D:\\\"ō\\\",\\u03C9:\\\"ω\\\",\\u03BF:\\\"ο\\\",\\\"\\u29B6\\\":\\\"⦶\\\",\\uD835\\uDD60:\\\"𝕠\\\",\\\"\\u29B7\\\":\\\"⦷\\\",\\\"\\u29B9\\\":\\\"⦹\\\",\\\"\\u2228\\\":\\\"∨\\\",\\\"\\u2A5D\\\":\\\"⩝\\\",\\u2134:\\\"ℴ\\\",\\xAA:\\\"ª\\\",\\xBA:\\\"º\\\",\\\"\\u22B6\\\":\\\"⊶\\\",\\\"\\u2A56\\\":\\\"⩖\\\",\\\"\\u2A57\\\":\\\"⩗\\\",\\\"\\u2A5B\\\":\\\"⩛\\\",\\xF8:\\\"ø\\\",\\\"\\u2298\\\":\\\"⊘\\\",\\xF5:\\\"õ\\\",\\\"\\u2A36\\\":\\\"⨶\\\",\\xF6:\\\"ö\\\",\\\"\\u233D\\\":\\\"⌽\\\",\\\"\\xB6\\\":\\\"¶\\\",\\\"\\u2AF3\\\":\\\"⫳\\\",\\\"\\u2AFD\\\":\\\"⫽\\\",\\u043F:\\\"п\\\",\\\"%\\\":\\\"%\\\",\\\".\\\":\\\".\\\",\\\"\\u2030\\\":\\\"‰\\\",\\\"\\u2031\\\":\\\"‱\\\",\\uD835\\uDD2D:\\\"𝔭\\\",\\u03C6:\\\"φ\\\",\\u03D5:\\\"ϕ\\\",\\\"\\u260E\\\":\\\"☎\\\",\\u03C0:\\\"π\\\",\\u03D6:\\\"ϖ\\\",\\u210E:\\\"ℎ\\\",\\\"+\\\":\\\"+\\\",\\\"\\u2A23\\\":\\\"⨣\\\",\\\"\\u2A22\\\":\\\"⨢\\\",\\\"\\u2A25\\\":\\\"⨥\\\",\\\"\\u2A72\\\":\\\"⩲\\\",\\\"\\u2A26\\\":\\\"⨦\\\",\\\"\\u2A27\\\":\\\"⨧\\\",\\\"\\u2A15\\\":\\\"⨕\\\",\\uD835\\uDD61:\\\"𝕡\\\",\\\"\\xA3\\\":\\\"£\\\",\\\"\\u2AB3\\\":\\\"⪳\\\",\\\"\\u2AB7\\\":\\\"⪷\\\",\\\"\\u2AB9\\\":\\\"⪹\\\",\\\"\\u2AB5\\\":\\\"⪵\\\",\\\"\\u22E8\\\":\\\"⋨\\\",\\\"\\u2032\\\":\\\"′\\\",\\\"\\u232E\\\":\\\"⌮\\\",\\\"\\u2312\\\":\\\"⌒\\\",\\\"\\u2313\\\":\\\"⌓\\\",\\\"\\u22B0\\\":\\\"⊰\\\",\\uD835\\uDCC5:\\\"𝓅\\\",\\u03C8:\\\"ψ\\\",\\\"\\u2008\\\":\\\" \\\",\\uD835\\uDD2E:\\\"𝔮\\\",\\uD835\\uDD62:\\\"𝕢\\\",\\\"\\u2057\\\":\\\"⁗\\\",\\uD835\\uDCC6:\\\"𝓆\\\",\\\"\\u2A16\\\":\\\"⨖\\\",\\\"?\\\":\\\"?\\\",\\\"\\u291C\\\":\\\"⤜\\\",\\\"\\u2964\\\":\\\"⥤\\\",\\\"\\u223D\\u0331\\\":\\\"∽̱\\\",\\u0155:\\\"ŕ\\\",\\\"\\u29B3\\\":\\\"⦳\\\",\\\"\\u2992\\\":\\\"⦒\\\",\\\"\\u29A5\\\":\\\"⦥\\\",\\\"\\xBB\\\":\\\"»\\\",\\\"\\u2975\\\":\\\"⥵\\\",\\\"\\u2920\\\":\\\"⤠\\\",\\\"\\u2933\\\":\\\"⤳\\\",\\\"\\u291E\\\":\\\"⤞\\\",\\\"\\u2945\\\":\\\"⥅\\\",\\\"\\u2974\\\":\\\"⥴\\\",\\\"\\u21A3\\\":\\\"↣\\\",\\\"\\u219D\\\":\\\"↝\\\",\\\"\\u291A\\\":\\\"⤚\\\",\\\"\\u2236\\\":\\\"∶\\\",\\\"\\u2773\\\":\\\"❳\\\",\\\"}\\\":\\\"}\\\",\\\"]\\\":\\\"]\\\",\\\"\\u298C\\\":\\\"⦌\\\",\\\"\\u298E\\\":\\\"⦎\\\",\\\"\\u2990\\\":\\\"⦐\\\",\\u0159:\\\"ř\\\",\\u0157:\\\"ŗ\\\",\\u0440:\\\"р\\\",\\\"\\u2937\\\":\\\"⤷\\\",\\\"\\u2969\\\":\\\"⥩\\\",\\\"\\u21B3\\\":\\\"↳\\\",\\\"\\u25AD\\\":\\\"▭\\\",\\\"\\u297D\\\":\\\"⥽\\\",\\uD835\\uDD2F:\\\"𝔯\\\",\\\"\\u296C\\\":\\\"⥬\\\",\\u03C1:\\\"ρ\\\",\\u03F1:\\\"ϱ\\\",\\\"\\u21C9\\\":\\\"⇉\\\",\\\"\\u22CC\\\":\\\"⋌\\\",\\\"\\u02DA\\\":\\\"˚\\\",\\\"\\u200F\\\":\\\"‏\\\",\\\"\\u23B1\\\":\\\"⎱\\\",\\\"\\u2AEE\\\":\\\"⫮\\\",\\\"\\u27ED\\\":\\\"⟭\\\",\\\"\\u21FE\\\":\\\"⇾\\\",\\\"\\u2986\\\":\\\"⦆\\\",\\uD835\\uDD63:\\\"𝕣\\\",\\\"\\u2A2E\\\":\\\"⨮\\\",\\\"\\u2A35\\\":\\\"⨵\\\",\\\")\\\":\\\")\\\",\\\"\\u2994\\\":\\\"⦔\\\",\\\"\\u2A12\\\":\\\"⨒\\\",\\\"\\u203A\\\":\\\"›\\\",\\uD835\\uDCC7:\\\"𝓇\\\",\\\"\\u22CA\\\":\\\"⋊\\\",\\\"\\u25B9\\\":\\\"▹\\\",\\\"\\u29CE\\\":\\\"⧎\\\",\\\"\\u2968\\\":\\\"⥨\\\",\\\"\\u211E\\\":\\\"℞\\\",\\u015B:\\\"ś\\\",\\\"\\u2AB4\\\":\\\"⪴\\\",\\\"\\u2AB8\\\":\\\"⪸\\\",\\u0161:\\\"š\\\",\\u015F:\\\"ş\\\",\\u015D:\\\"ŝ\\\",\\\"\\u2AB6\\\":\\\"⪶\\\",\\\"\\u2ABA\\\":\\\"⪺\\\",\\\"\\u22E9\\\":\\\"⋩\\\",\\\"\\u2A13\\\":\\\"⨓\\\",\\u0441:\\\"с\\\",\\\"\\u22C5\\\":\\\"⋅\\\",\\\"\\u2A66\\\":\\\"⩦\\\",\\\"\\u21D8\\\":\\\"⇘\\\",\\\"\\xA7\\\":\\\"§\\\",\\\";\\\":\\\";\\\",\\\"\\u2929\\\":\\\"⤩\\\",\\\"\\u2736\\\":\\\"✶\\\",\\uD835\\uDD30:\\\"𝔰\\\",\\\"\\u266F\\\":\\\"♯\\\",\\u0449:\\\"щ\\\",\\u0448:\\\"ш\\\",\\\"\\xAD\\\":\\\"­\\\",\\u03C3:\\\"σ\\\",\\u03C2:\\\"ς\\\",\\\"\\u2A6A\\\":\\\"⩪\\\",\\\"\\u2A9E\\\":\\\"⪞\\\",\\\"\\u2AA0\\\":\\\"⪠\\\",\\\"\\u2A9D\\\":\\\"⪝\\\",\\\"\\u2A9F\\\":\\\"⪟\\\",\\\"\\u2246\\\":\\\"≆\\\",\\\"\\u2A24\\\":\\\"⨤\\\",\\\"\\u2972\\\":\\\"⥲\\\",\\\"\\u2A33\\\":\\\"⨳\\\",\\\"\\u29E4\\\":\\\"⧤\\\",\\\"\\u2323\\\":\\\"⌣\\\",\\\"\\u2AAA\\\":\\\"⪪\\\",\\\"\\u2AAC\\\":\\\"⪬\\\",\\\"\\u2AAC\\uFE00\\\":\\\"⪬︀\\\",\\u044C:\\\"ь\\\",\\\"/\\\":\\\"/\\\",\\\"\\u29C4\\\":\\\"⧄\\\",\\\"\\u233F\\\":\\\"⌿\\\",\\uD835\\uDD64:\\\"𝕤\\\",\\\"\\u2660\\\":\\\"♠\\\",\\\"\\u2293\\uFE00\\\":\\\"⊓︀\\\",\\\"\\u2294\\uFE00\\\":\\\"⊔︀\\\",\\uD835\\uDCC8:\\\"𝓈\\\",\\\"\\u2606\\\":\\\"☆\\\",\\\"\\u2282\\\":\\\"⊂\\\",\\\"\\u2AC5\\\":\\\"⫅\\\",\\\"\\u2ABD\\\":\\\"⪽\\\",\\\"\\u2AC3\\\":\\\"⫃\\\",\\\"\\u2AC1\\\":\\\"⫁\\\",\\\"\\u2ACB\\\":\\\"⫋\\\",\\\"\\u228A\\\":\\\"⊊\\\",\\\"\\u2ABF\\\":\\\"⪿\\\",\\\"\\u2979\\\":\\\"⥹\\\",\\\"\\u2AC7\\\":\\\"⫇\\\",\\\"\\u2AD5\\\":\\\"⫕\\\",\\\"\\u2AD3\\\":\\\"⫓\\\",\\\"\\u266A\\\":\\\"♪\\\",\\\"\\xB9\\\":\\\"¹\\\",\\\"\\xB2\\\":\\\"²\\\",\\\"\\xB3\\\":\\\"³\\\",\\\"\\u2AC6\\\":\\\"⫆\\\",\\\"\\u2ABE\\\":\\\"⪾\\\",\\\"\\u2AD8\\\":\\\"⫘\\\",\\\"\\u2AC4\\\":\\\"⫄\\\",\\\"\\u27C9\\\":\\\"⟉\\\",\\\"\\u2AD7\\\":\\\"⫗\\\",\\\"\\u297B\\\":\\\"⥻\\\",\\\"\\u2AC2\\\":\\\"⫂\\\",\\\"\\u2ACC\\\":\\\"⫌\\\",\\\"\\u228B\\\":\\\"⊋\\\",\\\"\\u2AC0\\\":\\\"⫀\\\",\\\"\\u2AC8\\\":\\\"⫈\\\",\\\"\\u2AD4\\\":\\\"⫔\\\",\\\"\\u2AD6\\\":\\\"⫖\\\",\\\"\\u21D9\\\":\\\"⇙\\\",\\\"\\u292A\\\":\\\"⤪\\\",\\xDF:\\\"ß\\\",\\\"\\u2316\\\":\\\"⌖\\\",\\u03C4:\\\"τ\\\",\\u0165:\\\"ť\\\",\\u0163:\\\"ţ\\\",\\u0442:\\\"т\\\",\\\"\\u2315\\\":\\\"⌕\\\",\\uD835\\uDD31:\\\"𝔱\\\",\\u03B8:\\\"θ\\\",\\u03D1:\\\"ϑ\\\",\\xFE:\\\"þ\\\",\\\"\\xD7\\\":\\\"×\\\",\\\"\\u2A31\\\":\\\"⨱\\\",\\\"\\u2A30\\\":\\\"⨰\\\",\\\"\\u2336\\\":\\\"⌶\\\",\\\"\\u2AF1\\\":\\\"⫱\\\",\\uD835\\uDD65:\\\"𝕥\\\",\\\"\\u2ADA\\\":\\\"⫚\\\",\\\"\\u2034\\\":\\\"‴\\\",\\\"\\u25B5\\\":\\\"▵\\\",\\\"\\u225C\\\":\\\"≜\\\",\\\"\\u25EC\\\":\\\"◬\\\",\\\"\\u2A3A\\\":\\\"⨺\\\",\\\"\\u2A39\\\":\\\"⨹\\\",\\\"\\u29CD\\\":\\\"⧍\\\",\\\"\\u2A3B\\\":\\\"⨻\\\",\\\"\\u23E2\\\":\\\"⏢\\\",\\uD835\\uDCC9:\\\"𝓉\\\",\\u0446:\\\"ц\\\",\\u045B:\\\"ћ\\\",\\u0167:\\\"ŧ\\\",\\\"\\u2963\\\":\\\"⥣\\\",\\xFA:\\\"ú\\\",\\u045E:\\\"ў\\\",\\u016D:\\\"ŭ\\\",\\xFB:\\\"û\\\",\\u0443:\\\"у\\\",\\u0171:\\\"ű\\\",\\\"\\u297E\\\":\\\"⥾\\\",\\uD835\\uDD32:\\\"𝔲\\\",\\xF9:\\\"ù\\\",\\\"\\u2580\\\":\\\"▀\\\",\\\"\\u231C\\\":\\\"⌜\\\",\\\"\\u230F\\\":\\\"⌏\\\",\\\"\\u25F8\\\":\\\"◸\\\",\\u016B:\\\"ū\\\",\\u0173:\\\"ų\\\",\\uD835\\uDD66:\\\"𝕦\\\",\\u03C5:\\\"υ\\\",\\\"\\u21C8\\\":\\\"⇈\\\",\\\"\\u231D\\\":\\\"⌝\\\",\\\"\\u230E\\\":\\\"⌎\\\",\\u016F:\\\"ů\\\",\\\"\\u25F9\\\":\\\"◹\\\",\\uD835\\uDCCA:\\\"𝓊\\\",\\\"\\u22F0\\\":\\\"⋰\\\",\\u0169:\\\"ũ\\\",\\xFC:\\\"ü\\\",\\\"\\u29A7\\\":\\\"⦧\\\",\\\"\\u2AE8\\\":\\\"⫨\\\",\\\"\\u2AE9\\\":\\\"⫩\\\",\\\"\\u299C\\\":\\\"⦜\\\",\\\"\\u228A\\uFE00\\\":\\\"⊊︀\\\",\\\"\\u2ACB\\uFE00\\\":\\\"⫋︀\\\",\\\"\\u228B\\uFE00\\\":\\\"⊋︀\\\",\\\"\\u2ACC\\uFE00\\\":\\\"⫌︀\\\",\\u0432:\\\"в\\\",\\\"\\u22BB\\\":\\\"⊻\\\",\\\"\\u225A\\\":\\\"≚\\\",\\\"\\u22EE\\\":\\\"⋮\\\",\\uD835\\uDD33:\\\"𝔳\\\",\\uD835\\uDD67:\\\"𝕧\\\",\\uD835\\uDCCB:\\\"𝓋\\\",\\\"\\u299A\\\":\\\"⦚\\\",\\u0175:\\\"ŵ\\\",\\\"\\u2A5F\\\":\\\"⩟\\\",\\\"\\u2259\\\":\\\"≙\\\",\\u2118:\\\"℘\\\",\\uD835\\uDD34:\\\"𝔴\\\",\\uD835\\uDD68:\\\"𝕨\\\",\\uD835\\uDCCC:\\\"𝓌\\\",\\uD835\\uDD35:\\\"𝔵\\\",\\u03BE:\\\"ξ\\\",\\\"\\u22FB\\\":\\\"⋻\\\",\\uD835\\uDD69:\\\"𝕩\\\",\\uD835\\uDCCD:\\\"𝓍\\\",\\xFD:\\\"ý\\\",\\u044F:\\\"я\\\",\\u0177:\\\"ŷ\\\",\\u044B:\\\"ы\\\",\\\"\\xA5\\\":\\\"¥\\\",\\uD835\\uDD36:\\\"𝔶\\\",\\u0457:\\\"ї\\\",\\uD835\\uDD6A:\\\"𝕪\\\",\\uD835\\uDCCE:\\\"𝓎\\\",\\u044E:\\\"ю\\\",\\xFF:\\\"ÿ\\\",\\u017A:\\\"ź\\\",\\u017E:\\\"ž\\\",\\u0437:\\\"з\\\",\\u017C:\\\"ż\\\",\\u03B6:\\\"ζ\\\",\\uD835\\uDD37:\\\"𝔷\\\",\\u0436:\\\"ж\\\",\\\"\\u21DD\\\":\\\"⇝\\\",\\uD835\\uDD6B:\\\"𝕫\\\",\\uD835\\uDCCF:\\\"𝓏\\\",\\\"\\u200D\\\":\\\"‍\\\",\\\"\\u200C\\\":\\\"‌\\\"}}}},2920:(e,t)=>{\\\"use strict\\\";Object.defineProperty(t,\\\"__esModule\\\",{value:!0}),t.numericUnicodeMap={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376}},7630:(e,t)=>{\\\"use strict\\\";Object.defineProperty(t,\\\"__esModule\\\",{value:!0}),t.fromCodePoint=String.fromCodePoint||function(e){return String.fromCharCode(Math.floor((e-65536)/1024)+55296,(e-65536)%1024+56320)},t.getCodePoint=String.prototype.codePointAt?function(e,t){return e.codePointAt(t)}:function(e,t){return 1024*(e.charCodeAt(t)-55296)+e.charCodeAt(t+1)-56320+65536},t.highSurrogateFrom=55296,t.highSurrogateTo=56319},690:(e,t)=>{Object.defineProperty(t,\\\"__esModule\\\",{value:!0}),t.default=/((['\\\"])(?:(?!\\\\2|\\\\\\\\).|\\\\\\\\(?:\\\\r\\\\n|[\\\\s\\\\S]))*(\\\\2)?|`(?:[^`\\\\\\\\$]|\\\\\\\\[\\\\s\\\\S]|\\\\$(?!\\\\{)|\\\\$\\\\{(?:[^{}]|\\\\{[^}]*\\\\}?)*\\\\}?)*(`)?)|(\\\\/\\\\/.*)|(\\\\/\\\\*(?:[^*]|\\\\*(?!\\\\/))*(\\\\*\\\\/)?)|(\\\\/(?!\\\\*)(?:\\\\[(?:(?![\\\\]\\\\\\\\]).|\\\\\\\\.)*\\\\]|(?![\\\\/\\\\]\\\\\\\\]).|\\\\\\\\.)+\\\\/(?:(?!\\\\s*(?:\\\\b|[\\\\u0080-\\\\uFFFF$\\\\\\\\'\\\"~({]|[+\\\\-!](?!=)|\\\\.?\\\\d))|[gmiyus]{1,6}\\\\b(?![\\\\u0080-\\\\uFFFF$\\\\\\\\]|\\\\s*(?:[+\\\\-*%&|^<>!=?({]|\\\\/(?![\\\\/*])))))|(0[xX][\\\\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\\\\d*\\\\.\\\\d+|\\\\d+\\\\.?)(?:[eE][+-]?\\\\d+)?)|((?!\\\\d)(?:(?!\\\\s)[$\\\\w\\\\u0080-\\\\uFFFF]|\\\\\\\\u[\\\\da-fA-F]{4}|\\\\\\\\u\\\\{[\\\\da-fA-F]+\\\\})+)|(--|\\\\+\\\\+|&&|\\\\|\\\\||=>|\\\\.{3}|(?:[+\\\\-\\\\/%&|^]|\\\\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\\\\](){}])|(\\\\s+)|(^$|[\\\\s\\\\S])/g,t.matchToToken=function(e){var t={type:\\\"invalid\\\",value:e[0],closed:void 0};return e[1]?(t.type=\\\"string\\\",t.closed=!(!e[3]&&!e[4])):e[5]?t.type=\\\"comment\\\":e[6]?(t.type=\\\"comment\\\",t.closed=!!e[7]):e[8]?t.type=\\\"regex\\\":e[9]?t.type=\\\"number\\\":e[10]?t.type=\\\"name\\\":e[11]?t.type=\\\"punctuator\\\":e[12]&&(t.type=\\\"whitespace\\\"),t}},9934:e=>{\\\"use strict\\\";var t=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;function o(e){if(null===e||void 0===e)throw new TypeError(\\\"Object.assign cannot be called with null or undefined\\\");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String(\\\"abc\\\");if(e[5]=\\\"de\\\",\\\"5\\\"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t[\\\"_\\\"+String.fromCharCode(r)]=r;if(\\\"0123456789\\\"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(\\\"\\\"))return!1;var n={};return\\\"abcdefghijklmnopqrst\\\".split(\\\"\\\").forEach((function(e){n[e]=e})),\\\"abcdefghijklmnopqrst\\\"===Object.keys(Object.assign({},n)).join(\\\"\\\")}catch(e){return!1}}()?Object.assign:function(e,a){for(var i,l,u=o(e),s=1;s<arguments.length;s++){for(var c in i=Object(arguments[s]))r.call(i,c)&&(u[c]=i[c]);if(t){l=t(i);for(var f=0;f<l.length;f++)n.call(i,l[f])&&(u[l[f]]=i[l[f]])}}return u}},3495:function(e){(function(){var t,r,n,o,a,i;\\\"undefined\\\"!==typeof performance&&null!==performance&&performance.now?e.exports=function(){return performance.now()}:\\\"undefined\\\"!==typeof process&&null!==process&&process.hrtime?(e.exports=function(){return(t()-a)/1e6},r=process.hrtime,o=(t=function(){var e;return 1e9*(e=r())[0]+e[1]})(),i=1e9*process.uptime(),a=o-i):Date.now?(e.exports=function(){return Date.now()-n},n=Date.now()):(e.exports=function(){return(new Date).getTime()-n},n=(new Date).getTime())}).call(this)},2009:(e,t,r)=>{\\\"use strict\\\";var n=r(2457);function o(){}var a=null,i={};function l(e){if(\\\"object\\\"!==typeof this)throw new TypeError(\\\"Promises must be constructed via new\\\");if(\\\"function\\\"!==typeof e)throw new TypeError(\\\"Promise constructor's argument is not a function\\\");this._U=0,this._V=0,this._W=null,this._X=null,e!==o&&p(e,this)}function u(e,t){for(;3===e._V;)e=e._W;if(l._Y&&l._Y(e),0===e._V)return 0===e._U?(e._U=1,void(e._X=t)):1===e._U?(e._U=2,void(e._X=[e._X,t])):void e._X.push(t);!function(e,t){n((function(){var r=1===e._V?t.onFulfilled:t.onRejected;if(null!==r){var n=function(e,t){try{return e(t)}catch(e){return a=e,i}}(r,e._W);n===i?c(t.promise,a):s(t.promise,n)}else 1===e._V?s(t.promise,e._W):c(t.promise,e._W)}))}(e,t)}function s(e,t){if(t===e)return c(e,new TypeError(\\\"A promise cannot be resolved with itself.\\\"));if(t&&(\\\"object\\\"===typeof t||\\\"function\\\"===typeof t)){var r=function(e){try{return e.then}catch(e){return a=e,i}}(t);if(r===i)return c(e,a);if(r===e.then&&t instanceof l)return e._V=3,e._W=t,void f(e);if(\\\"function\\\"===typeof r)return void p(r.bind(t),e)}e._V=1,e._W=t,f(e)}function c(e,t){e._V=2,e._W=t,l._Z&&l._Z(e,t),f(e)}function f(e){if(1===e._U&&(u(e,e._X),e._X=null),2===e._U){for(var t=0;t<e._X.length;t++)u(e,e._X[t]);e._X=null}}function d(e,t,r){this.onFulfilled=\\\"function\\\"===typeof e?e:null,this.onRejected=\\\"function\\\"===typeof t?t:null,this.promise=r}function p(e,t){var r=!1,n=function(e,t,r){try{e(t,r)}catch(e){return a=e,i}}(e,(function(e){r||(r=!0,s(t,e))}),(function(e){r||(r=!0,c(t,e))}));r||n!==i||(r=!0,c(t,a))}e.exports=l,l._Y=null,l._Z=null,l._0=o,l.prototype.then=function(e,t){if(this.constructor!==l)return function(e,t,r){return new e.constructor((function(n,a){var i=new l(o);i.then(n,a),u(e,new d(t,r,i))}))}(this,e,t);var r=new l(o);return u(this,new d(e,t,r)),r}},83:(e,t,r)=>{\\\"use strict\\\";var n=r(2009);e.exports=n;var o=c(!0),a=c(!1),i=c(null),l=c(void 0),u=c(0),s=c(\\\"\\\");function c(e){var t=new n(n._0);return t._V=1,t._W=e,t}n.resolve=function(e){if(e instanceof n)return e;if(null===e)return i;if(void 0===e)return l;if(!0===e)return o;if(!1===e)return a;if(0===e)return u;if(\\\"\\\"===e)return s;if(\\\"object\\\"===typeof e||\\\"function\\\"===typeof e)try{var t=e.then;if(\\\"function\\\"===typeof t)return new n(t.bind(e))}catch(e){return new n((function(t,r){r(e)}))}return c(e)};var f=function(e){return\\\"function\\\"===typeof Array.from?(f=Array.from,Array.from(e)):(f=function(e){return Array.prototype.slice.call(e)},Array.prototype.slice.call(e))};n.all=function(e){var t=f(e);return new n((function(e,r){if(0===t.length)return e([]);var o=t.length;function a(i,l){if(l&&(\\\"object\\\"===typeof l||\\\"function\\\"===typeof l)){if(l instanceof n&&l.then===n.prototype.then){for(;3===l._V;)l=l._W;return 1===l._V?a(i,l._W):(2===l._V&&r(l._W),void l.then((function(e){a(i,e)}),r))}var u=l.then;if(\\\"function\\\"===typeof u)return void new n(u.bind(l)).then((function(e){a(i,e)}),r)}t[i]=l,0===--o&&e(t)}for(var i=0;i<t.length;i++)a(i,t[i])}))},n.reject=function(e){return new n((function(t,r){r(e)}))},n.race=function(e){return new n((function(t,r){f(e).forEach((function(e){n.resolve(e).then(t,r)}))}))},n.prototype.catch=function(e){return this.then(null,e)}},7247:(e,t,r)=>{\\\"use strict\\\";var n=r(2009),o=[ReferenceError,TypeError,RangeError],a=!1;function i(){a=!1,n._Y=null,n._Z=null}function l(e,t){return t.some((function(t){return e instanceof t}))}t.disable=i,t.enable=function(e){e=e||{},a&&i();a=!0;var t=0,r=0,u={};function s(t){(e.allRejections||l(u[t].error,e.whitelist||o))&&(u[t].displayId=r++,e.onUnhandled?(u[t].logged=!0,e.onUnhandled(u[t].displayId,u[t].error)):(u[t].logged=!0,function(e,t){console.warn(\\\"Possible Unhandled Promise Rejection (id: \\\"+e+\\\"):\\\"),((t&&(t.stack||t))+\\\"\\\").split(\\\"\\\\n\\\").forEach((function(e){console.warn(\\\" \\\"+e)}))}(u[t].displayId,u[t].error)))}n._Y=function(t){2===t._V&&u[t._1]&&(u[t._1].logged?function(t){u[t].logged&&(e.onHandled?e.onHandled(u[t].displayId,u[t].error):u[t].onUnhandled||(console.warn(\\\"Promise Rejection Handled (id: \\\"+u[t].displayId+\\\"):\\\"),console.warn(' This means you can ignore any previous messages of the form \\\"Possible Unhandled Promise Rejection\\\" with id '+u[t].displayId+\\\".\\\")))}(t._1):clearTimeout(u[t._1].timeout),delete u[t._1])},n._Z=function(e,r){0===e._U&&(e._1=t++,u[e._1]={displayId:null,error:r,timeout:setTimeout(s.bind(null,e._1),l(r,o)?100:2e3),logged:!1})}}},6597:(e,t,r)=>{for(var n=r(3495),o=\\\"undefined\\\"===typeof window?r.g:window,a=[\\\"moz\\\",\\\"webkit\\\"],i=\\\"AnimationFrame\\\",l=o[\\\"request\\\"+i],u=o[\\\"cancel\\\"+i]||o[\\\"cancelRequest\\\"+i],s=0;!l&&s<a.length;s++)l=o[a[s]+\\\"Request\\\"+i],u=o[a[s]+\\\"Cancel\\\"+i]||o[a[s]+\\\"CancelRequest\\\"+i];if(!l||!u){var c=0,f=0,d=[];l=function(e){if(0===d.length){var t=n(),r=Math.max(0,16.666666666666668-(t-c));c=r+t,setTimeout((function(){var e=d.slice(0);d.length=0;for(var t=0;t<e.length;t++)if(!e[t].cancelled)try{e[t].callback(c)}catch(e){setTimeout((function(){throw e}),0)}}),Math.round(r))}return d.push({handle:++f,callback:e,cancelled:!1}),f},u=function(e){for(var t=0;t<d.length;t++)d[t].handle===e&&(d[t].cancelled=!0)}}e.exports=function(e){return l.call(o,e)},e.exports.cancel=function(){u.apply(o,arguments)},e.exports.polyfill=function(e){e||(e=o),e.requestAnimationFrame=l,e.cancelAnimationFrame=u}},2015:(e,t,r)=>{\\\"use strict\\\";var n=r(6346),o=r(9934),a=r(7425);function i(e){for(var t=\\\"https://reactjs.org/docs/error-decoder.html?invariant=\\\"+e,r=1;r<arguments.length;r++)t+=\\\"&args[]=\\\"+encodeURIComponent(arguments[r]);return\\\"Minified React error #\\\"+e+\\\"; visit \\\"+t+\\\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\\\"}if(!n)throw Error(i(227));var l=new Set,u={};function s(e,t){c(e,t),c(e+\\\"Capture\\\",t)}function c(e,t){for(u[e]=t,e=0;e<t.length;e++)l.add(t[e])}var f=!(\\\"undefined\\\"===typeof window||\\\"undefined\\\"===typeof window.document||\\\"undefined\\\"===typeof window.document.createElement),d=/^[:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD][:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$/,p=Object.prototype.hasOwnProperty,h={},g={};function m(e,t,r,n,o,a,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=n,this.attributeNamespace=o,this.mustUseProperty=r,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=i}var v={};\\\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\\\".split(\\\" \\\").forEach((function(e){v[e]=new m(e,0,!1,e,null,!1,!1)})),[[\\\"acceptCharset\\\",\\\"accept-charset\\\"],[\\\"className\\\",\\\"class\\\"],[\\\"htmlFor\\\",\\\"for\\\"],[\\\"httpEquiv\\\",\\\"http-equiv\\\"]].forEach((function(e){var t=e[0];v[t]=new m(t,1,!1,e[1],null,!1,!1)})),[\\\"contentEditable\\\",\\\"draggable\\\",\\\"spellCheck\\\",\\\"value\\\"].forEach((function(e){v[e]=new m(e,2,!1,e.toLowerCase(),null,!1,!1)})),[\\\"autoReverse\\\",\\\"externalResourcesRequired\\\",\\\"focusable\\\",\\\"preserveAlpha\\\"].forEach((function(e){v[e]=new m(e,2,!1,e,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(e){v[e]=new m(e,3,!1,e.toLowerCase(),null,!1,!1)})),[\\\"checked\\\",\\\"multiple\\\",\\\"muted\\\",\\\"selected\\\"].forEach((function(e){v[e]=new m(e,3,!0,e,null,!1,!1)})),[\\\"capture\\\",\\\"download\\\"].forEach((function(e){v[e]=new m(e,4,!1,e,null,!1,!1)})),[\\\"cols\\\",\\\"rows\\\",\\\"size\\\",\\\"span\\\"].forEach((function(e){v[e]=new m(e,6,!1,e,null,!1,!1)})),[\\\"rowSpan\\\",\\\"start\\\"].forEach((function(e){v[e]=new m(e,5,!1,e.toLowerCase(),null,!1,!1)}));var y=/[\\\\-:]([a-z])/g;function b(e){return e[1].toUpperCase()}function w(e,t,r,n){var o=v.hasOwnProperty(t)?v[t]:null;(null!==o?0===o.type:!n&&(2<t.length&&(\\\"o\\\"===t[0]||\\\"O\\\"===t[0])&&(\\\"n\\\"===t[1]||\\\"N\\\"===t[1])))||(function(e,t,r,n){if(null===t||\\\"undefined\\\"===typeof t||function(e,t,r,n){if(null!==r&&0===r.type)return!1;switch(typeof t){case\\\"function\\\":case\\\"symbol\\\":return!0;case\\\"boolean\\\":return!n&&(null!==r?!r.acceptsBooleans:\\\"data-\\\"!==(e=e.toLowerCase().slice(0,5))&&\\\"aria-\\\"!==e);default:return!1}}(e,t,r,n))return!0;if(n)return!1;if(null!==r)switch(r.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,r,o,n)&&(r=null),n||null===o?function(e){return!!p.call(g,e)||!p.call(h,e)&&(d.test(e)?g[e]=!0:(h[e]=!0,!1))}(t)&&(null===r?e.removeAttribute(t):e.setAttribute(t,\\\"\\\"+r)):o.mustUseProperty?e[o.propertyName]=null===r?3!==o.type&&\\\"\\\":r:(t=o.attributeName,n=o.attributeNamespace,null===r?e.removeAttribute(t):(r=3===(o=o.type)||4===o&&!0===r?\\\"\\\":\\\"\\\"+r,n?e.setAttributeNS(n,t,r):e.setAttribute(t,r))))}\\\"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(e){var t=e.replace(y,b);v[t]=new m(t,1,!1,e,null,!1,!1)})),\\\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\\\".split(\\\" \\\").forEach((function(e){var t=e.replace(y,b);v[t]=new m(t,1,!1,e,\\\"http://www.w3.org/1999/xlink\\\",!1,!1)})),[\\\"xml:base\\\",\\\"xml:lang\\\",\\\"xml:space\\\"].forEach((function(e){var t=e.replace(y,b);v[t]=new m(t,1,!1,e,\\\"http://www.w3.org/XML/1998/namespace\\\",!1,!1)})),[\\\"tabIndex\\\",\\\"crossOrigin\\\"].forEach((function(e){v[e]=new m(e,1,!1,e.toLowerCase(),null,!1,!1)})),v.xlinkHref=new m(\\\"xlinkHref\\\",1,!1,\\\"xlink:href\\\",\\\"http://www.w3.org/1999/xlink\\\",!0,!1),[\\\"src\\\",\\\"href\\\",\\\"action\\\",\\\"formAction\\\"].forEach((function(e){v[e]=new m(e,1,!1,e.toLowerCase(),null,!0,!0)}));var x=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,k=60103,E=60106,S=60107,T=60108,_=60114,C=60109,O=60110,P=60112,R=60113,A=60120,q=60115,L=60116,N=60121,D=60128,I=60129,j=60130,M=60131;if(\\\"function\\\"===typeof Symbol&&Symbol.for){var F=Symbol.for;k=F(\\\"react.element\\\"),E=F(\\\"react.portal\\\"),S=F(\\\"react.fragment\\\"),T=F(\\\"react.strict_mode\\\"),_=F(\\\"react.profiler\\\"),C=F(\\\"react.provider\\\"),O=F(\\\"react.context\\\"),P=F(\\\"react.forward_ref\\\"),R=F(\\\"react.suspense\\\"),A=F(\\\"react.suspense_list\\\"),q=F(\\\"react.memo\\\"),L=F(\\\"react.lazy\\\"),N=F(\\\"react.block\\\"),F(\\\"react.scope\\\"),D=F(\\\"react.opaque.id\\\"),I=F(\\\"react.debug_trace_mode\\\"),j=F(\\\"react.offscreen\\\"),M=F(\\\"react.legacy_hidden\\\")}var z,U=\\\"function\\\"===typeof Symbol&&Symbol.iterator;function B(e){return null===e||\\\"object\\\"!==typeof e?null:\\\"function\\\"===typeof(e=U&&e[U]||e[\\\"@@iterator\\\"])?e:null}function V(e){if(void 0===z)try{throw Error()}catch(e){var t=e.stack.trim().match(/\\\\n( *(at )?)/);z=t&&t[1]||\\\"\\\"}return\\\"\\\\n\\\"+z+e}var H=!1;function W(e,t){if(!e||H)return\\\"\\\";H=!0;var r=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,\\\"props\\\",{set:function(){throw Error()}}),\\\"object\\\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var n=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){n=e}e.call(t.prototype)}else{try{throw Error()}catch(e){n=e}e()}}catch(e){if(e&&n&&\\\"string\\\"===typeof e.stack){for(var o=e.stack.split(\\\"\\\\n\\\"),a=n.stack.split(\\\"\\\\n\\\"),i=o.length-1,l=a.length-1;1<=i&&0<=l&&o[i]!==a[l];)l--;for(;1<=i&&0<=l;i--,l--)if(o[i]!==a[l]){if(1!==i||1!==l)do{if(i--,0>--l||o[i]!==a[l])return\\\"\\\\n\\\"+o[i].replace(\\\" at new \\\",\\\" at \\\")}while(1<=i&&0<=l);break}}}finally{H=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:\\\"\\\")?V(e):\\\"\\\"}function G(e){switch(e.tag){case 5:return V(e.type);case 16:return V(\\\"Lazy\\\");case 13:return V(\\\"Suspense\\\");case 19:return V(\\\"SuspenseList\\\");case 0:case 2:case 15:return e=W(e.type,!1);case 11:return e=W(e.type.render,!1);case 22:return e=W(e.type._render,!1);case 1:return e=W(e.type,!0);default:return\\\"\\\"}}function $(e){if(null==e)return null;if(\\\"function\\\"===typeof e)return e.displayName||e.name||null;if(\\\"string\\\"===typeof e)return e;switch(e){case S:return\\\"Fragment\\\";case E:return\\\"Portal\\\";case _:return\\\"Profiler\\\";case T:return\\\"StrictMode\\\";case R:return\\\"Suspense\\\";case A:return\\\"SuspenseList\\\"}if(\\\"object\\\"===typeof e)switch(e.$$typeof){case O:return(e.displayName||\\\"Context\\\")+\\\".Consumer\\\";case C:return(e._context.displayName||\\\"Context\\\")+\\\".Provider\\\";case P:var t=e.render;return t=t.displayName||t.name||\\\"\\\",e.displayName||(\\\"\\\"!==t?\\\"ForwardRef(\\\"+t+\\\")\\\":\\\"ForwardRef\\\");case q:return $(e.type);case N:return $(e._render);case L:t=e._payload,e=e._init;try{return $(e(t))}catch(e){}}return null}function Q(e){switch(typeof e){case\\\"boolean\\\":case\\\"number\\\":case\\\"object\\\":case\\\"string\\\":case\\\"undefined\\\":return e;default:return\\\"\\\"}}function Y(e){var t=e.type;return(e=e.nodeName)&&\\\"input\\\"===e.toLowerCase()&&(\\\"checkbox\\\"===t||\\\"radio\\\"===t)}function K(e){e._valueTracker||(e._valueTracker=function(e){var t=Y(e)?\\\"checked\\\":\\\"value\\\",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),n=\\\"\\\"+e[t];if(!e.hasOwnProperty(t)&&\\\"undefined\\\"!==typeof r&&\\\"function\\\"===typeof r.get&&\\\"function\\\"===typeof r.set){var o=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(e){n=\\\"\\\"+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=\\\"\\\"+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function X(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),n=\\\"\\\";return e&&(n=Y(e)?e.checked?\\\"true\\\":\\\"false\\\":e.value),(e=n)!==r&&(t.setValue(e),!0)}function J(e){if(\\\"undefined\\\"===typeof(e=e||(\\\"undefined\\\"!==typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Z(e,t){var r=t.checked;return o({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=r?r:e._wrapperState.initialChecked})}function ee(e,t){var r=null==t.defaultValue?\\\"\\\":t.defaultValue,n=null!=t.checked?t.checked:t.defaultChecked;r=Q(null!=t.value?t.value:r),e._wrapperState={initialChecked:n,initialValue:r,controlled:\\\"checkbox\\\"===t.type||\\\"radio\\\"===t.type?null!=t.checked:null!=t.value}}function te(e,t){null!=(t=t.checked)&&w(e,\\\"checked\\\",t,!1)}function re(e,t){te(e,t);var r=Q(t.value),n=t.type;if(null!=r)\\\"number\\\"===n?(0===r&&\\\"\\\"===e.value||e.value!=r)&&(e.value=\\\"\\\"+r):e.value!==\\\"\\\"+r&&(e.value=\\\"\\\"+r);else if(\\\"submit\\\"===n||\\\"reset\\\"===n)return void e.removeAttribute(\\\"value\\\");t.hasOwnProperty(\\\"value\\\")?oe(e,t.type,r):t.hasOwnProperty(\\\"defaultValue\\\")&&oe(e,t.type,Q(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function ne(e,t,r){if(t.hasOwnProperty(\\\"value\\\")||t.hasOwnProperty(\\\"defaultValue\\\")){var n=t.type;if(!(\\\"submit\\\"!==n&&\\\"reset\\\"!==n||void 0!==t.value&&null!==t.value))return;t=\\\"\\\"+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}\\\"\\\"!==(r=e.name)&&(e.name=\\\"\\\"),e.defaultChecked=!!e._wrapperState.initialChecked,\\\"\\\"!==r&&(e.name=r)}function oe(e,t,r){\\\"number\\\"===t&&J(e.ownerDocument)===e||(null==r?e.defaultValue=\\\"\\\"+e._wrapperState.initialValue:e.defaultValue!==\\\"\\\"+r&&(e.defaultValue=\\\"\\\"+r))}function ae(e,t){return e=o({children:void 0},t),(t=function(e){var t=\\\"\\\";return n.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(t.children))&&(e.children=t),e}function ie(e,t,r,n){if(e=e.options,t){t={};for(var o=0;o<r.length;o++)t[\\\"$\\\"+r[o]]=!0;for(r=0;r<e.length;r++)o=t.hasOwnProperty(\\\"$\\\"+e[r].value),e[r].selected!==o&&(e[r].selected=o),o&&n&&(e[r].defaultSelected=!0)}else{for(r=\\\"\\\"+Q(r),t=null,o=0;o<e.length;o++){if(e[o].value===r)return e[o].selected=!0,void(n&&(e[o].defaultSelected=!0));null!==t||e[o].disabled||(t=e[o])}null!==t&&(t.selected=!0)}}function le(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(i(91));return o({},t,{value:void 0,defaultValue:void 0,children:\\\"\\\"+e._wrapperState.initialValue})}function ue(e,t){var r=t.value;if(null==r){if(r=t.children,t=t.defaultValue,null!=r){if(null!=t)throw Error(i(92));if(Array.isArray(r)){if(!(1>=r.length))throw Error(i(93));r=r[0]}t=r}null==t&&(t=\\\"\\\"),r=t}e._wrapperState={initialValue:Q(r)}}function se(e,t){var r=Q(t.value),n=Q(t.defaultValue);null!=r&&((r=\\\"\\\"+r)!==e.value&&(e.value=r),null==t.defaultValue&&e.defaultValue!==r&&(e.defaultValue=r)),null!=n&&(e.defaultValue=\\\"\\\"+n)}function ce(e){var t=e.textContent;t===e._wrapperState.initialValue&&\\\"\\\"!==t&&null!==t&&(e.value=t)}var fe=\\\"http://www.w3.org/1999/xhtml\\\",de=\\\"http://www.w3.org/2000/svg\\\";function pe(e){switch(e){case\\\"svg\\\":return\\\"http://www.w3.org/2000/svg\\\";case\\\"math\\\":return\\\"http://www.w3.org/1998/Math/MathML\\\";default:return\\\"http://www.w3.org/1999/xhtml\\\"}}function he(e,t){return null==e||\\\"http://www.w3.org/1999/xhtml\\\"===e?pe(t):\\\"http://www.w3.org/2000/svg\\\"===e&&\\\"foreignObject\\\"===t?\\\"http://www.w3.org/1999/xhtml\\\":e}var ge,me,ve=(me=function(e,t){if(e.namespaceURI!==de||\\\"innerHTML\\\"in e)e.innerHTML=t;else{for((ge=ge||document.createElement(\\\"div\\\")).innerHTML=\\\"<svg>\\\"+t.valueOf().toString()+\\\"</svg>\\\",t=ge.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},\\\"undefined\\\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,r,n){MSApp.execUnsafeLocalFunction((function(){return me(e,t)}))}:me);function ye(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&3===r.nodeType)return void(r.nodeValue=t)}e.textContent=t}var be={animationIterationCount:!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,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},we=[\\\"Webkit\\\",\\\"ms\\\",\\\"Moz\\\",\\\"O\\\"];function xe(e,t,r){return null==t||\\\"boolean\\\"===typeof t||\\\"\\\"===t?\\\"\\\":r||\\\"number\\\"!==typeof t||0===t||be.hasOwnProperty(e)&&be[e]?(\\\"\\\"+t).trim():t+\\\"px\\\"}function ke(e,t){for(var r in e=e.style,t)if(t.hasOwnProperty(r)){var n=0===r.indexOf(\\\"--\\\"),o=xe(r,t[r],n);\\\"float\\\"===r&&(r=\\\"cssFloat\\\"),n?e.setProperty(r,o):e[r]=o}}Object.keys(be).forEach((function(e){we.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),be[t]=be[e]}))}));var Ee=o({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});function Se(e,t){if(t){if(Ee[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(i(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(i(60));if(\\\"object\\\"!==typeof t.dangerouslySetInnerHTML||!(\\\"__html\\\"in t.dangerouslySetInnerHTML))throw Error(i(61))}if(null!=t.style&&\\\"object\\\"!==typeof t.style)throw Error(i(62))}}function Te(e,t){if(-1===e.indexOf(\\\"-\\\"))return\\\"string\\\"===typeof t.is;switch(e){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}}function _e(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var Ce=null,Oe=null,Pe=null;function Re(e){if(e=no(e)){if(\\\"function\\\"!==typeof Ce)throw Error(i(280));var t=e.stateNode;t&&(t=ao(t),Ce(e.stateNode,e.type,t))}}function Ae(e){Oe?Pe?Pe.push(e):Pe=[e]:Oe=e}function qe(){if(Oe){var e=Oe,t=Pe;if(Pe=Oe=null,Re(e),t)for(e=0;e<t.length;e++)Re(t[e])}}function Le(e,t){return e(t)}function Ne(e,t,r,n,o){return e(t,r,n,o)}function De(){}var Ie=Le,je=!1,Me=!1;function Fe(){null===Oe&&null===Pe||(De(),qe())}function ze(e,t){var r=e.stateNode;if(null===r)return null;var n=ao(r);if(null===n)return null;r=n[t];e:switch(t){case\\\"onClick\\\":case\\\"onClickCapture\\\":case\\\"onDoubleClick\\\":case\\\"onDoubleClickCapture\\\":case\\\"onMouseDown\\\":case\\\"onMouseDownCapture\\\":case\\\"onMouseMove\\\":case\\\"onMouseMoveCapture\\\":case\\\"onMouseUp\\\":case\\\"onMouseUpCapture\\\":case\\\"onMouseEnter\\\":(n=!n.disabled)||(n=!(\\\"button\\\"===(e=e.type)||\\\"input\\\"===e||\\\"select\\\"===e||\\\"textarea\\\"===e)),e=!n;break e;default:e=!1}if(e)return null;if(r&&\\\"function\\\"!==typeof r)throw Error(i(231,t,typeof r));return r}var Ue=!1;if(f)try{var Be={};Object.defineProperty(Be,\\\"passive\\\",{get:function(){Ue=!0}}),window.addEventListener(\\\"test\\\",Be,Be),window.removeEventListener(\\\"test\\\",Be,Be)}catch(me){Ue=!1}function Ve(e,t,r,n,o,a,i,l,u){var s=Array.prototype.slice.call(arguments,3);try{t.apply(r,s)}catch(e){this.onError(e)}}var He=!1,We=null,Ge=!1,$e=null,Qe={onError:function(e){He=!0,We=e}};function Ye(e,t,r,n,o,a,i,l,u){He=!1,We=null,Ve.apply(Qe,arguments)}function Ke(e){var t=e,r=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!==(1026&(t=e).flags)&&(r=t.return),e=t.return}while(e)}return 3===t.tag?r:null}function Xe(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function Je(e){if(Ke(e)!==e)throw Error(i(188))}function Ze(e){if(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ke(e)))throw Error(i(188));return t!==e?null:e}for(var r=e,n=t;;){var o=r.return;if(null===o)break;var a=o.alternate;if(null===a){if(null!==(n=o.return)){r=n;continue}break}if(o.child===a.child){for(a=o.child;a;){if(a===r)return Je(o),e;if(a===n)return Je(o),t;a=a.sibling}throw Error(i(188))}if(r.return!==n.return)r=o,n=a;else{for(var l=!1,u=o.child;u;){if(u===r){l=!0,r=o,n=a;break}if(u===n){l=!0,n=o,r=a;break}u=u.sibling}if(!l){for(u=a.child;u;){if(u===r){l=!0,r=a,n=o;break}if(u===n){l=!0,n=a,r=o;break}u=u.sibling}if(!l)throw Error(i(189))}}if(r.alternate!==n)throw Error(i(190))}if(3!==r.tag)throw Error(i(188));return r.stateNode.current===r?e:t}(e),!e)return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}function et(e,t){for(var r=e.alternate;null!==t;){if(t===e||t===r)return!0;t=t.return}return!1}var tt,rt,nt,ot,at=!1,it=[],lt=null,ut=null,st=null,ct=new Map,ft=new Map,dt=[],pt=\\\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\\\".split(\\\" \\\");function ht(e,t,r,n,o){return{blockedOn:e,domEventName:t,eventSystemFlags:16|r,nativeEvent:o,targetContainers:[n]}}function gt(e,t){switch(e){case\\\"focusin\\\":case\\\"focusout\\\":lt=null;break;case\\\"dragenter\\\":case\\\"dragleave\\\":ut=null;break;case\\\"mouseover\\\":case\\\"mouseout\\\":st=null;break;case\\\"pointerover\\\":case\\\"pointerout\\\":ct.delete(t.pointerId);break;case\\\"gotpointercapture\\\":case\\\"lostpointercapture\\\":ft.delete(t.pointerId)}}function mt(e,t,r,n,o,a){return null===e||e.nativeEvent!==a?(e=ht(t,r,n,o,a),null!==t&&(null!==(t=no(t))&&rt(t)),e):(e.eventSystemFlags|=n,t=e.targetContainers,null!==o&&-1===t.indexOf(o)&&t.push(o),e)}function vt(e){var t=ro(e.target);if(null!==t){var r=Ke(t);if(null!==r)if(13===(t=r.tag)){if(null!==(t=Xe(r)))return e.blockedOn=t,void ot(e.lanePriority,(function(){a.unstable_runWithPriority(e.priority,(function(){nt(r)}))}))}else if(3===t&&r.stateNode.hydrate)return void(e.blockedOn=3===r.tag?r.stateNode.containerInfo:null)}e.blockedOn=null}function yt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var r=Zt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==r)return null!==(t=no(r))&&rt(t),e.blockedOn=r,!1;t.shift()}return!0}function bt(e,t,r){yt(e)&&r.delete(t)}function wt(){for(at=!1;0<it.length;){var e=it[0];if(null!==e.blockedOn){null!==(e=no(e.blockedOn))&&tt(e);break}for(var t=e.targetContainers;0<t.length;){var r=Zt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==r){e.blockedOn=r;break}t.shift()}null===e.blockedOn&&it.shift()}null!==lt&&yt(lt)&&(lt=null),null!==ut&&yt(ut)&&(ut=null),null!==st&&yt(st)&&(st=null),ct.forEach(bt),ft.forEach(bt)}function xt(e,t){e.blockedOn===t&&(e.blockedOn=null,at||(at=!0,a.unstable_scheduleCallback(a.unstable_NormalPriority,wt)))}function kt(e){function t(t){return xt(t,e)}if(0<it.length){xt(it[0],e);for(var r=1;r<it.length;r++){var n=it[r];n.blockedOn===e&&(n.blockedOn=null)}}for(null!==lt&&xt(lt,e),null!==ut&&xt(ut,e),null!==st&&xt(st,e),ct.forEach(t),ft.forEach(t),r=0;r<dt.length;r++)(n=dt[r]).blockedOn===e&&(n.blockedOn=null);for(;0<dt.length&&null===(r=dt[0]).blockedOn;)vt(r),null===r.blockedOn&&dt.shift()}function Et(e,t){var r={};return r[e.toLowerCase()]=t.toLowerCase(),r[\\\"Webkit\\\"+e]=\\\"webkit\\\"+t,r[\\\"Moz\\\"+e]=\\\"moz\\\"+t,r}var St={animationend:Et(\\\"Animation\\\",\\\"AnimationEnd\\\"),animationiteration:Et(\\\"Animation\\\",\\\"AnimationIteration\\\"),animationstart:Et(\\\"Animation\\\",\\\"AnimationStart\\\"),transitionend:Et(\\\"Transition\\\",\\\"TransitionEnd\\\")},Tt={},_t={};function Ct(e){if(Tt[e])return Tt[e];if(!St[e])return e;var t,r=St[e];for(t in r)if(r.hasOwnProperty(t)&&t in _t)return Tt[e]=r[t];return e}f&&(_t=document.createElement(\\\"div\\\").style,\\\"AnimationEvent\\\"in window||(delete St.animationend.animation,delete St.animationiteration.animation,delete St.animationstart.animation),\\\"TransitionEvent\\\"in window||delete St.transitionend.transition);var Ot=Ct(\\\"animationend\\\"),Pt=Ct(\\\"animationiteration\\\"),Rt=Ct(\\\"animationstart\\\"),At=Ct(\\\"transitionend\\\"),qt=new Map,Lt=new Map,Nt=[\\\"abort\\\",\\\"abort\\\",Ot,\\\"animationEnd\\\",Pt,\\\"animationIteration\\\",Rt,\\\"animationStart\\\",\\\"canplay\\\",\\\"canPlay\\\",\\\"canplaythrough\\\",\\\"canPlayThrough\\\",\\\"durationchange\\\",\\\"durationChange\\\",\\\"emptied\\\",\\\"emptied\\\",\\\"encrypted\\\",\\\"encrypted\\\",\\\"ended\\\",\\\"ended\\\",\\\"error\\\",\\\"error\\\",\\\"gotpointercapture\\\",\\\"gotPointerCapture\\\",\\\"load\\\",\\\"load\\\",\\\"loadeddata\\\",\\\"loadedData\\\",\\\"loadedmetadata\\\",\\\"loadedMetadata\\\",\\\"loadstart\\\",\\\"loadStart\\\",\\\"lostpointercapture\\\",\\\"lostPointerCapture\\\",\\\"playing\\\",\\\"playing\\\",\\\"progress\\\",\\\"progress\\\",\\\"seeking\\\",\\\"seeking\\\",\\\"stalled\\\",\\\"stalled\\\",\\\"suspend\\\",\\\"suspend\\\",\\\"timeupdate\\\",\\\"timeUpdate\\\",At,\\\"transitionEnd\\\",\\\"waiting\\\",\\\"waiting\\\"];function Dt(e,t){for(var r=0;r<e.length;r+=2){var n=e[r],o=e[r+1];o=\\\"on\\\"+(o[0].toUpperCase()+o.slice(1)),Lt.set(n,t),qt.set(n,o),s(o,[n])}}(0,a.unstable_now)();var It=8;function jt(e){if(0!==(1&e))return It=15,1;if(0!==(2&e))return It=14,2;if(0!==(4&e))return It=13,4;var t=24&e;return 0!==t?(It=12,t):0!==(32&e)?(It=11,32):0!==(t=192&e)?(It=10,t):0!==(256&e)?(It=9,256):0!==(t=3584&e)?(It=8,t):0!==(4096&e)?(It=7,4096):0!==(t=4186112&e)?(It=6,t):0!==(t=62914560&e)?(It=5,t):67108864&e?(It=4,67108864):0!==(134217728&e)?(It=3,134217728):0!==(t=805306368&e)?(It=2,t):0!==(1073741824&e)?(It=1,1073741824):(It=8,e)}function Mt(e,t){var r=e.pendingLanes;if(0===r)return It=0;var n=0,o=0,a=e.expiredLanes,i=e.suspendedLanes,l=e.pingedLanes;if(0!==a)n=a,o=It=15;else if(0!==(a=134217727&r)){var u=a&~i;0!==u?(n=jt(u),o=It):0!==(l&=a)&&(n=jt(l),o=It)}else 0!==(a=r&~i)?(n=jt(a),o=It):0!==l&&(n=jt(l),o=It);if(0===n)return 0;if(n=r&((0>(n=31-Ht(n))?0:1<<n)<<1)-1,0!==t&&t!==n&&0===(t&i)){if(jt(t),o<=It)return t;It=o}if(0!==(t=e.entangledLanes))for(e=e.entanglements,t&=n;0<t;)o=1<<(r=31-Ht(t)),n|=e[r],t&=~o;return n}function Ft(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function zt(e,t){switch(e){case 15:return 1;case 14:return 2;case 12:return 0===(e=Ut(24&~t))?zt(10,t):e;case 10:return 0===(e=Ut(192&~t))?zt(8,t):e;case 8:return 0===(e=Ut(3584&~t))&&(0===(e=Ut(4186112&~t))&&(e=512)),e;case 2:return 0===(t=Ut(805306368&~t))&&(t=268435456),t}throw Error(i(358,e))}function Ut(e){return e&-e}function Bt(e){for(var t=[],r=0;31>r;r++)t.push(e);return t}function Vt(e,t,r){e.pendingLanes|=t;var n=t-1;e.suspendedLanes&=n,e.pingedLanes&=n,(e=e.eventTimes)[t=31-Ht(t)]=r}var Ht=Math.clz32?Math.clz32:function(e){return 0===e?32:31-(Wt(e)/Gt|0)|0},Wt=Math.log,Gt=Math.LN2;var $t=a.unstable_UserBlockingPriority,Qt=a.unstable_runWithPriority,Yt=!0;function Kt(e,t,r,n){je||De();var o=Jt,a=je;je=!0;try{Ne(o,e,t,r,n)}finally{(je=a)||Fe()}}function Xt(e,t,r,n){Qt($t,Jt.bind(null,e,t,r,n))}function Jt(e,t,r,n){var o;if(Yt)if((o=0===(4&t))&&0<it.length&&-1<pt.indexOf(e))e=ht(null,e,t,r,n),it.push(e);else{var a=Zt(e,t,r,n);if(null===a)o&>(e,n);else{if(o){if(-1<pt.indexOf(e))return e=ht(a,e,t,r,n),void it.push(e);if(function(e,t,r,n,o){switch(t){case\\\"focusin\\\":return lt=mt(lt,e,t,r,n,o),!0;case\\\"dragenter\\\":return ut=mt(ut,e,t,r,n,o),!0;case\\\"mouseover\\\":return st=mt(st,e,t,r,n,o),!0;case\\\"pointerover\\\":var a=o.pointerId;return ct.set(a,mt(ct.get(a)||null,e,t,r,n,o)),!0;case\\\"gotpointercapture\\\":return a=o.pointerId,ft.set(a,mt(ft.get(a)||null,e,t,r,n,o)),!0}return!1}(a,e,t,r,n))return;gt(e,n)}Dn(e,t,n,null,r)}}}function Zt(e,t,r,n){var o=_e(n);if(null!==(o=ro(o))){var a=Ke(o);if(null===a)o=null;else{var i=a.tag;if(13===i){if(null!==(o=Xe(a)))return o;o=null}else if(3===i){if(a.stateNode.hydrate)return 3===a.tag?a.stateNode.containerInfo:null;o=null}else a!==o&&(o=null)}}return Dn(e,t,n,o,r),null}var er=null,tr=null,rr=null;function nr(){if(rr)return rr;var e,t,r=tr,n=r.length,o=\\\"value\\\"in er?er.value:er.textContent,a=o.length;for(e=0;e<n&&r[e]===o[e];e++);var i=n-e;for(t=1;t<=i&&r[n-t]===o[a-t];t++);return rr=o.slice(e,1<t?1-t:void 0)}function or(e){var t=e.keyCode;return\\\"charCode\\\"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function ar(){return!0}function ir(){return!1}function lr(e){function t(t,r,n,o,a){for(var i in this._reactName=t,this._targetInst=n,this.type=r,this.nativeEvent=o,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(o):o[i]);return this.isDefaultPrevented=(null!=o.defaultPrevented?o.defaultPrevented:!1===o.returnValue)?ar:ir,this.isPropagationStopped=ir,this}return o(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():\\\"unknown\\\"!==typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=ar)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():\\\"unknown\\\"!==typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=ar)},persist:function(){},isPersistent:ar}),t}var ur,sr,cr,fr={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},dr=lr(fr),pr=o({},fr,{view:0,detail:0}),hr=lr(pr),gr=o({},pr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Cr,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return\\\"movementX\\\"in e?e.movementX:(e!==cr&&(cr&&\\\"mousemove\\\"===e.type?(ur=e.screenX-cr.screenX,sr=e.screenY-cr.screenY):sr=ur=0,cr=e),ur)},movementY:function(e){return\\\"movementY\\\"in e?e.movementY:sr}}),mr=lr(gr),vr=lr(o({},gr,{dataTransfer:0})),yr=lr(o({},pr,{relatedTarget:0})),br=lr(o({},fr,{animationName:0,elapsedTime:0,pseudoElement:0})),wr=o({},fr,{clipboardData:function(e){return\\\"clipboardData\\\"in e?e.clipboardData:window.clipboardData}}),xr=lr(wr),kr=lr(o({},fr,{data:0})),Er={Esc:\\\"Escape\\\",Spacebar:\\\" \\\",Left:\\\"ArrowLeft\\\",Up:\\\"ArrowUp\\\",Right:\\\"ArrowRight\\\",Down:\\\"ArrowDown\\\",Del:\\\"Delete\\\",Win:\\\"OS\\\",Menu:\\\"ContextMenu\\\",Apps:\\\"ContextMenu\\\",Scroll:\\\"ScrollLock\\\",MozPrintableKey:\\\"Unidentified\\\"},Sr={8:\\\"Backspace\\\",9:\\\"Tab\\\",12:\\\"Clear\\\",13:\\\"Enter\\\",16:\\\"Shift\\\",17:\\\"Control\\\",18:\\\"Alt\\\",19:\\\"Pause\\\",20:\\\"CapsLock\\\",27:\\\"Escape\\\",32:\\\" \\\",33:\\\"PageUp\\\",34:\\\"PageDown\\\",35:\\\"End\\\",36:\\\"Home\\\",37:\\\"ArrowLeft\\\",38:\\\"ArrowUp\\\",39:\\\"ArrowRight\\\",40:\\\"ArrowDown\\\",45:\\\"Insert\\\",46:\\\"Delete\\\",112:\\\"F1\\\",113:\\\"F2\\\",114:\\\"F3\\\",115:\\\"F4\\\",116:\\\"F5\\\",117:\\\"F6\\\",118:\\\"F7\\\",119:\\\"F8\\\",120:\\\"F9\\\",121:\\\"F10\\\",122:\\\"F11\\\",123:\\\"F12\\\",144:\\\"NumLock\\\",145:\\\"ScrollLock\\\",224:\\\"Meta\\\"},Tr={Alt:\\\"altKey\\\",Control:\\\"ctrlKey\\\",Meta:\\\"metaKey\\\",Shift:\\\"shiftKey\\\"};function _r(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Tr[e])&&!!t[e]}function Cr(){return _r}var Or=o({},pr,{key:function(e){if(e.key){var t=Er[e.key]||e.key;if(\\\"Unidentified\\\"!==t)return t}return\\\"keypress\\\"===e.type?13===(e=or(e))?\\\"Enter\\\":String.fromCharCode(e):\\\"keydown\\\"===e.type||\\\"keyup\\\"===e.type?Sr[e.keyCode]||\\\"Unidentified\\\":\\\"\\\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Cr,charCode:function(e){return\\\"keypress\\\"===e.type?or(e):0},keyCode:function(e){return\\\"keydown\\\"===e.type||\\\"keyup\\\"===e.type?e.keyCode:0},which:function(e){return\\\"keypress\\\"===e.type?or(e):\\\"keydown\\\"===e.type||\\\"keyup\\\"===e.type?e.keyCode:0}}),Pr=lr(Or),Rr=lr(o({},gr,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Ar=lr(o({},pr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Cr})),qr=lr(o({},fr,{propertyName:0,elapsedTime:0,pseudoElement:0})),Lr=o({},gr,{deltaX:function(e){return\\\"deltaX\\\"in e?e.deltaX:\\\"wheelDeltaX\\\"in e?-e.wheelDeltaX:0},deltaY:function(e){return\\\"deltaY\\\"in e?e.deltaY:\\\"wheelDeltaY\\\"in e?-e.wheelDeltaY:\\\"wheelDelta\\\"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Nr=lr(Lr),Dr=[9,13,27,32],Ir=f&&\\\"CompositionEvent\\\"in window,jr=null;f&&\\\"documentMode\\\"in document&&(jr=document.documentMode);var Mr=f&&\\\"TextEvent\\\"in window&&!jr,Fr=f&&(!Ir||jr&&8<jr&&11>=jr),zr=String.fromCharCode(32),Ur=!1;function Br(e,t){switch(e){case\\\"keyup\\\":return-1!==Dr.indexOf(t.keyCode);case\\\"keydown\\\":return 229!==t.keyCode;case\\\"keypress\\\":case\\\"mousedown\\\":case\\\"focusout\\\":return!0;default:return!1}}function Vr(e){return\\\"object\\\"===typeof(e=e.detail)&&\\\"data\\\"in e?e.data:null}var Hr=!1;var Wr={color:!0,date:!0,datetime:!0,\\\"datetime-local\\\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Gr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return\\\"input\\\"===t?!!Wr[e.type]:\\\"textarea\\\"===t}function $r(e,t,r,n){Ae(n),0<(t=jn(t,\\\"onChange\\\")).length&&(r=new dr(\\\"onChange\\\",\\\"change\\\",null,r,n),e.push({event:r,listeners:t}))}var Qr=null,Yr=null;function Kr(e){Pn(e,0)}function Xr(e){if(X(oo(e)))return e}function Jr(e,t){if(\\\"change\\\"===e)return t}var Zr=!1;if(f){var en;if(f){var tn=\\\"oninput\\\"in document;if(!tn){var rn=document.createElement(\\\"div\\\");rn.setAttribute(\\\"oninput\\\",\\\"return;\\\"),tn=\\\"function\\\"===typeof rn.oninput}en=tn}else en=!1;Zr=en&&(!document.documentMode||9<document.documentMode)}function nn(){Qr&&(Qr.detachEvent(\\\"onpropertychange\\\",on),Yr=Qr=null)}function on(e){if(\\\"value\\\"===e.propertyName&&Xr(Yr)){var t=[];if($r(t,Yr,e,_e(e)),e=Kr,je)e(t);else{je=!0;try{Le(e,t)}finally{je=!1,Fe()}}}}function an(e,t,r){\\\"focusin\\\"===e?(nn(),Yr=r,(Qr=t).attachEvent(\\\"onpropertychange\\\",on)):\\\"focusout\\\"===e&&nn()}function ln(e){if(\\\"selectionchange\\\"===e||\\\"keyup\\\"===e||\\\"keydown\\\"===e)return Xr(Yr)}function un(e,t){if(\\\"click\\\"===e)return Xr(t)}function sn(e,t){if(\\\"input\\\"===e||\\\"change\\\"===e)return Xr(t)}var cn=\\\"function\\\"===typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e===1/t)||e!==e&&t!==t},fn=Object.prototype.hasOwnProperty;function dn(e,t){if(cn(e,t))return!0;if(\\\"object\\\"!==typeof e||null===e||\\\"object\\\"!==typeof t||null===t)return!1;var r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(n=0;n<r.length;n++)if(!fn.call(t,r[n])||!cn(e[r[n]],t[r[n]]))return!1;return!0}function pn(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function hn(e,t){var r,n=pn(e);for(e=0;n;){if(3===n.nodeType){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=pn(n)}}function gn(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?gn(e,t.parentNode):\\\"contains\\\"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function mn(){for(var e=window,t=J();t instanceof e.HTMLIFrameElement;){try{var r=\\\"string\\\"===typeof t.contentWindow.location.href}catch(e){r=!1}if(!r)break;t=J((e=t.contentWindow).document)}return t}function vn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(\\\"input\\\"===t&&(\\\"text\\\"===e.type||\\\"search\\\"===e.type||\\\"tel\\\"===e.type||\\\"url\\\"===e.type||\\\"password\\\"===e.type)||\\\"textarea\\\"===t||\\\"true\\\"===e.contentEditable)}var yn=f&&\\\"documentMode\\\"in document&&11>=document.documentMode,bn=null,wn=null,xn=null,kn=!1;function En(e,t,r){var n=r.window===r?r.document:9===r.nodeType?r:r.ownerDocument;kn||null==bn||bn!==J(n)||(\\\"selectionStart\\\"in(n=bn)&&vn(n)?n={start:n.selectionStart,end:n.selectionEnd}:n={anchorNode:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset},xn&&dn(xn,n)||(xn=n,0<(n=jn(wn,\\\"onSelect\\\")).length&&(t=new dr(\\\"onSelect\\\",\\\"select\\\",null,t,r),e.push({event:t,listeners:n}),t.target=bn)))}Dt(\\\"cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange\\\".split(\\\" \\\"),0),Dt(\\\"drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel\\\".split(\\\" \\\"),1),Dt(Nt,2);for(var Sn=\\\"change selectionchange textInput compositionstart compositionend compositionupdate\\\".split(\\\" \\\"),Tn=0;Tn<Sn.length;Tn++)Lt.set(Sn[Tn],0);c(\\\"onMouseEnter\\\",[\\\"mouseout\\\",\\\"mouseover\\\"]),c(\\\"onMouseLeave\\\",[\\\"mouseout\\\",\\\"mouseover\\\"]),c(\\\"onPointerEnter\\\",[\\\"pointerout\\\",\\\"pointerover\\\"]),c(\\\"onPointerLeave\\\",[\\\"pointerout\\\",\\\"pointerover\\\"]),s(\\\"onChange\\\",\\\"change click focusin focusout input keydown keyup selectionchange\\\".split(\\\" \\\")),s(\\\"onSelect\\\",\\\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\\\".split(\\\" \\\")),s(\\\"onBeforeInput\\\",[\\\"compositionend\\\",\\\"keypress\\\",\\\"textInput\\\",\\\"paste\\\"]),s(\\\"onCompositionEnd\\\",\\\"compositionend focusout keydown keypress keyup mousedown\\\".split(\\\" \\\")),s(\\\"onCompositionStart\\\",\\\"compositionstart focusout keydown keypress keyup mousedown\\\".split(\\\" \\\")),s(\\\"onCompositionUpdate\\\",\\\"compositionupdate focusout keydown keypress keyup mousedown\\\".split(\\\" \\\"));var _n=\\\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\\\".split(\\\" \\\"),Cn=new Set(\\\"cancel close invalid load scroll toggle\\\".split(\\\" \\\").concat(_n));function On(e,t,r){var n=e.type||\\\"unknown-event\\\";e.currentTarget=r,function(e,t,r,n,o,a,l,u,s){if(Ye.apply(this,arguments),He){if(!He)throw Error(i(198));var c=We;He=!1,We=null,Ge||(Ge=!0,$e=c)}}(n,t,void 0,e),e.currentTarget=null}function Pn(e,t){t=0!==(4&t);for(var r=0;r<e.length;r++){var n=e[r],o=n.event;n=n.listeners;e:{var a=void 0;if(t)for(var i=n.length-1;0<=i;i--){var l=n[i],u=l.instance,s=l.currentTarget;if(l=l.listener,u!==a&&o.isPropagationStopped())break e;On(o,l,s),a=u}else for(i=0;i<n.length;i++){if(u=(l=n[i]).instance,s=l.currentTarget,l=l.listener,u!==a&&o.isPropagationStopped())break e;On(o,l,s),a=u}}}if(Ge)throw e=$e,Ge=!1,$e=null,e}function Rn(e,t){var r=io(t),n=e+\\\"__bubble\\\";r.has(n)||(Nn(t,e,2,!1),r.add(n))}var An=\\\"_reactListening\\\"+Math.random().toString(36).slice(2);function qn(e){e[An]||(e[An]=!0,l.forEach((function(t){Cn.has(t)||Ln(t,!1,e,null),Ln(t,!0,e,null)})))}function Ln(e,t,r,n){var o=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,a=r;if(\\\"selectionchange\\\"===e&&9!==r.nodeType&&(a=r.ownerDocument),null!==n&&!t&&Cn.has(e)){if(\\\"scroll\\\"!==e)return;o|=2,a=n}var i=io(a),l=e+\\\"__\\\"+(t?\\\"capture\\\":\\\"bubble\\\");i.has(l)||(t&&(o|=4),Nn(a,e,o,t),i.add(l))}function Nn(e,t,r,n){var o=Lt.get(t);switch(void 0===o?2:o){case 0:o=Kt;break;case 1:o=Xt;break;default:o=Jt}r=o.bind(null,t,r,e),o=void 0,!Ue||\\\"touchstart\\\"!==t&&\\\"touchmove\\\"!==t&&\\\"wheel\\\"!==t||(o=!0),n?void 0!==o?e.addEventListener(t,r,{capture:!0,passive:o}):e.addEventListener(t,r,!0):void 0!==o?e.addEventListener(t,r,{passive:o}):e.addEventListener(t,r,!1)}function Dn(e,t,r,n,o){var a=n;if(0===(1&t)&&0===(2&t)&&null!==n)e:for(;;){if(null===n)return;var i=n.tag;if(3===i||4===i){var l=n.stateNode.containerInfo;if(l===o||8===l.nodeType&&l.parentNode===o)break;if(4===i)for(i=n.return;null!==i;){var u=i.tag;if((3===u||4===u)&&((u=i.stateNode.containerInfo)===o||8===u.nodeType&&u.parentNode===o))return;i=i.return}for(;null!==l;){if(null===(i=ro(l)))return;if(5===(u=i.tag)||6===u){n=a=i;continue e}l=l.parentNode}}n=n.return}!function(e,t,r){if(Me)return e(t,r);Me=!0;try{Ie(e,t,r)}finally{Me=!1,Fe()}}((function(){var n=a,o=_e(r),i=[];e:{var l=qt.get(e);if(void 0!==l){var u=dr,s=e;switch(e){case\\\"keypress\\\":if(0===or(r))break e;case\\\"keydown\\\":case\\\"keyup\\\":u=Pr;break;case\\\"focusin\\\":s=\\\"focus\\\",u=yr;break;case\\\"focusout\\\":s=\\\"blur\\\",u=yr;break;case\\\"beforeblur\\\":case\\\"afterblur\\\":u=yr;break;case\\\"click\\\":if(2===r.button)break e;case\\\"auxclick\\\":case\\\"dblclick\\\":case\\\"mousedown\\\":case\\\"mousemove\\\":case\\\"mouseup\\\":case\\\"mouseout\\\":case\\\"mouseover\\\":case\\\"contextmenu\\\":u=mr;break;case\\\"drag\\\":case\\\"dragend\\\":case\\\"dragenter\\\":case\\\"dragexit\\\":case\\\"dragleave\\\":case\\\"dragover\\\":case\\\"dragstart\\\":case\\\"drop\\\":u=vr;break;case\\\"touchcancel\\\":case\\\"touchend\\\":case\\\"touchmove\\\":case\\\"touchstart\\\":u=Ar;break;case Ot:case Pt:case Rt:u=br;break;case At:u=qr;break;case\\\"scroll\\\":u=hr;break;case\\\"wheel\\\":u=Nr;break;case\\\"copy\\\":case\\\"cut\\\":case\\\"paste\\\":u=xr;break;case\\\"gotpointercapture\\\":case\\\"lostpointercapture\\\":case\\\"pointercancel\\\":case\\\"pointerdown\\\":case\\\"pointermove\\\":case\\\"pointerout\\\":case\\\"pointerover\\\":case\\\"pointerup\\\":u=Rr}var c=0!==(4&t),f=!c&&\\\"scroll\\\"===e,d=c?null!==l?l+\\\"Capture\\\":null:l;c=[];for(var p,h=n;null!==h;){var g=(p=h).stateNode;if(5===p.tag&&null!==g&&(p=g,null!==d&&(null!=(g=ze(h,d))&&c.push(In(h,g,p)))),f)break;h=h.return}0<c.length&&(l=new u(l,s,null,r,o),i.push({event:l,listeners:c}))}}if(0===(7&t)){if(u=\\\"mouseout\\\"===e||\\\"pointerout\\\"===e,(!(l=\\\"mouseover\\\"===e||\\\"pointerover\\\"===e)||0!==(16&t)||!(s=r.relatedTarget||r.fromElement)||!ro(s)&&!s[eo])&&(u||l)&&(l=o.window===o?o:(l=o.ownerDocument)?l.defaultView||l.parentWindow:window,u?(u=n,null!==(s=(s=r.relatedTarget||r.toElement)?ro(s):null)&&(s!==(f=Ke(s))||5!==s.tag&&6!==s.tag)&&(s=null)):(u=null,s=n),u!==s)){if(c=mr,g=\\\"onMouseLeave\\\",d=\\\"onMouseEnter\\\",h=\\\"mouse\\\",\\\"pointerout\\\"!==e&&\\\"pointerover\\\"!==e||(c=Rr,g=\\\"onPointerLeave\\\",d=\\\"onPointerEnter\\\",h=\\\"pointer\\\"),f=null==u?l:oo(u),p=null==s?l:oo(s),(l=new c(g,h+\\\"leave\\\",u,r,o)).target=f,l.relatedTarget=p,g=null,ro(o)===n&&((c=new c(d,h+\\\"enter\\\",s,r,o)).target=p,c.relatedTarget=f,g=c),f=g,u&&s)e:{for(d=s,h=0,p=c=u;p;p=Mn(p))h++;for(p=0,g=d;g;g=Mn(g))p++;for(;0<h-p;)c=Mn(c),h--;for(;0<p-h;)d=Mn(d),p--;for(;h--;){if(c===d||null!==d&&c===d.alternate)break e;c=Mn(c),d=Mn(d)}c=null}else c=null;null!==u&&Fn(i,l,u,c,!1),null!==s&&null!==f&&Fn(i,f,s,c,!0)}if(\\\"select\\\"===(u=(l=n?oo(n):window).nodeName&&l.nodeName.toLowerCase())||\\\"input\\\"===u&&\\\"file\\\"===l.type)var m=Jr;else if(Gr(l))if(Zr)m=sn;else{m=ln;var v=an}else(u=l.nodeName)&&\\\"input\\\"===u.toLowerCase()&&(\\\"checkbox\\\"===l.type||\\\"radio\\\"===l.type)&&(m=un);switch(m&&(m=m(e,n))?$r(i,m,r,o):(v&&v(e,l,n),\\\"focusout\\\"===e&&(v=l._wrapperState)&&v.controlled&&\\\"number\\\"===l.type&&oe(l,\\\"number\\\",l.value)),v=n?oo(n):window,e){case\\\"focusin\\\":(Gr(v)||\\\"true\\\"===v.contentEditable)&&(bn=v,wn=n,xn=null);break;case\\\"focusout\\\":xn=wn=bn=null;break;case\\\"mousedown\\\":kn=!0;break;case\\\"contextmenu\\\":case\\\"mouseup\\\":case\\\"dragend\\\":kn=!1,En(i,r,o);break;case\\\"selectionchange\\\":if(yn)break;case\\\"keydown\\\":case\\\"keyup\\\":En(i,r,o)}var y;if(Ir)e:{switch(e){case\\\"compositionstart\\\":var b=\\\"onCompositionStart\\\";break e;case\\\"compositionend\\\":b=\\\"onCompositionEnd\\\";break e;case\\\"compositionupdate\\\":b=\\\"onCompositionUpdate\\\";break e}b=void 0}else Hr?Br(e,r)&&(b=\\\"onCompositionEnd\\\"):\\\"keydown\\\"===e&&229===r.keyCode&&(b=\\\"onCompositionStart\\\");b&&(Fr&&\\\"ko\\\"!==r.locale&&(Hr||\\\"onCompositionStart\\\"!==b?\\\"onCompositionEnd\\\"===b&&Hr&&(y=nr()):(tr=\\\"value\\\"in(er=o)?er.value:er.textContent,Hr=!0)),0<(v=jn(n,b)).length&&(b=new kr(b,e,null,r,o),i.push({event:b,listeners:v}),y?b.data=y:null!==(y=Vr(r))&&(b.data=y))),(y=Mr?function(e,t){switch(e){case\\\"compositionend\\\":return Vr(t);case\\\"keypress\\\":return 32!==t.which?null:(Ur=!0,zr);case\\\"textInput\\\":return(e=t.data)===zr&&Ur?null:e;default:return null}}(e,r):function(e,t){if(Hr)return\\\"compositionend\\\"===e||!Ir&&Br(e,t)?(e=nr(),rr=tr=er=null,Hr=!1,e):null;switch(e){case\\\"paste\\\":default:return null;case\\\"keypress\\\":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case\\\"compositionend\\\":return Fr&&\\\"ko\\\"!==t.locale?null:t.data}}(e,r))&&(0<(n=jn(n,\\\"onBeforeInput\\\")).length&&(o=new kr(\\\"onBeforeInput\\\",\\\"beforeinput\\\",null,r,o),i.push({event:o,listeners:n}),o.data=y))}Pn(i,t)}))}function In(e,t,r){return{instance:e,listener:t,currentTarget:r}}function jn(e,t){for(var r=t+\\\"Capture\\\",n=[];null!==e;){var o=e,a=o.stateNode;5===o.tag&&null!==a&&(o=a,null!=(a=ze(e,r))&&n.unshift(In(e,a,o)),null!=(a=ze(e,t))&&n.push(In(e,a,o))),e=e.return}return n}function Mn(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Fn(e,t,r,n,o){for(var a=t._reactName,i=[];null!==r&&r!==n;){var l=r,u=l.alternate,s=l.stateNode;if(null!==u&&u===n)break;5===l.tag&&null!==s&&(l=s,o?null!=(u=ze(r,a))&&i.unshift(In(r,u,l)):o||null!=(u=ze(r,a))&&i.push(In(r,u,l))),r=r.return}0!==i.length&&e.push({event:t,listeners:i})}function zn(){}var Un=null,Bn=null;function Vn(e,t){switch(e){case\\\"button\\\":case\\\"input\\\":case\\\"select\\\":case\\\"textarea\\\":return!!t.autoFocus}return!1}function Hn(e,t){return\\\"textarea\\\"===e||\\\"option\\\"===e||\\\"noscript\\\"===e||\\\"string\\\"===typeof t.children||\\\"number\\\"===typeof t.children||\\\"object\\\"===typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var Wn=\\\"function\\\"===typeof setTimeout?setTimeout:void 0,Gn=\\\"function\\\"===typeof clearTimeout?clearTimeout:void 0;function $n(e){1===e.nodeType?e.textContent=\\\"\\\":9===e.nodeType&&(null!=(e=e.body)&&(e.textContent=\\\"\\\"))}function Qn(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function Yn(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var r=e.data;if(\\\"$\\\"===r||\\\"$!\\\"===r||\\\"$?\\\"===r){if(0===t)return e;t--}else\\\"/$\\\"===r&&t++}e=e.previousSibling}return null}var Kn=0;var Xn=Math.random().toString(36).slice(2),Jn=\\\"__reactFiber$\\\"+Xn,Zn=\\\"__reactProps$\\\"+Xn,eo=\\\"__reactContainer$\\\"+Xn,to=\\\"__reactEvents$\\\"+Xn;function ro(e){var t=e[Jn];if(t)return t;for(var r=e.parentNode;r;){if(t=r[eo]||r[Jn]){if(r=t.alternate,null!==t.child||null!==r&&null!==r.child)for(e=Yn(e);null!==e;){if(r=e[Jn])return r;e=Yn(e)}return t}r=(e=r).parentNode}return null}function no(e){return!(e=e[Jn]||e[eo])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function oo(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(i(33))}function ao(e){return e[Zn]||null}function io(e){var t=e[to];return void 0===t&&(t=e[to]=new Set),t}var lo=[],uo=-1;function so(e){return{current:e}}function co(e){0>uo||(e.current=lo[uo],lo[uo]=null,uo--)}function fo(e,t){uo++,lo[uo]=e.current,e.current=t}var po={},ho=so(po),go=so(!1),mo=po;function vo(e,t){var r=e.type.contextTypes;if(!r)return po;var n=e.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===t)return n.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in r)a[o]=t[o];return n&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function yo(e){return null!==(e=e.childContextTypes)&&void 0!==e}function bo(){co(go),co(ho)}function wo(e,t,r){if(ho.current!==po)throw Error(i(168));fo(ho,t),fo(go,r)}function xo(e,t,r){var n=e.stateNode;if(e=t.childContextTypes,\\\"function\\\"!==typeof n.getChildContext)return r;for(var a in n=n.getChildContext())if(!(a in e))throw Error(i(108,$(t)||\\\"Unknown\\\",a));return o({},r,n)}function ko(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||po,mo=ho.current,fo(ho,e),fo(go,go.current),!0}function Eo(e,t,r){var n=e.stateNode;if(!n)throw Error(i(169));r?(e=xo(e,t,mo),n.__reactInternalMemoizedMergedChildContext=e,co(go),co(ho),fo(ho,e)):co(go),fo(go,r)}var So=null,To=null,_o=a.unstable_runWithPriority,Co=a.unstable_scheduleCallback,Oo=a.unstable_cancelCallback,Po=a.unstable_shouldYield,Ro=a.unstable_requestPaint,Ao=a.unstable_now,qo=a.unstable_getCurrentPriorityLevel,Lo=a.unstable_ImmediatePriority,No=a.unstable_UserBlockingPriority,Do=a.unstable_NormalPriority,Io=a.unstable_LowPriority,jo=a.unstable_IdlePriority,Mo={},Fo=void 0!==Ro?Ro:function(){},zo=null,Uo=null,Bo=!1,Vo=Ao(),Ho=1e4>Vo?Ao:function(){return Ao()-Vo};function Wo(){switch(qo()){case Lo:return 99;case No:return 98;case Do:return 97;case Io:return 96;case jo:return 95;default:throw Error(i(332))}}function Go(e){switch(e){case 99:return Lo;case 98:return No;case 97:return Do;case 96:return Io;case 95:return jo;default:throw Error(i(332))}}function $o(e,t){return e=Go(e),_o(e,t)}function Qo(e,t,r){return e=Go(e),Co(e,t,r)}function Yo(){if(null!==Uo){var e=Uo;Uo=null,Oo(e)}Ko()}function Ko(){if(!Bo&&null!==zo){Bo=!0;var e=0;try{var t=zo;$o(99,(function(){for(;e<t.length;e++){var r=t[e];do{r=r(!0)}while(null!==r)}})),zo=null}catch(t){throw null!==zo&&(zo=zo.slice(e+1)),Co(Lo,Yo),t}finally{Bo=!1}}}var Xo=x.ReactCurrentBatchConfig;function Jo(e,t){if(e&&e.defaultProps){for(var r in t=o({},t),e=e.defaultProps)void 0===t[r]&&(t[r]=e[r]);return t}return t}var Zo=so(null),ea=null,ta=null,ra=null;function na(){ra=ta=ea=null}function oa(e){var t=Zo.current;co(Zo),e.type._context._currentValue=t}function aa(e,t){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)===t){if(null===r||(r.childLanes&t)===t)break;r.childLanes|=t}else e.childLanes|=t,null!==r&&(r.childLanes|=t);e=e.return}}function ia(e,t){ea=e,ra=ta=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!==(e.lanes&t)&&(ji=!0),e.firstContext=null)}function la(e,t){if(ra!==e&&!1!==t&&0!==t)if(\\\"number\\\"===typeof t&&1073741823!==t||(ra=e,t=1073741823),t={context:e,observedBits:t,next:null},null===ta){if(null===ea)throw Error(i(308));ta=t,ea.dependencies={lanes:0,firstContext:t,responders:null}}else ta=ta.next=t;return e._currentValue}var ua=!1;function sa(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}function ca(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function fa(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function da(e,t){if(null!==(e=e.updateQueue)){var r=(e=e.shared).pending;null===r?t.next=t:(t.next=r.next,r.next=t),e.pending=t}}function pa(e,t){var r=e.updateQueue,n=e.alternate;if(null!==n&&r===(n=n.updateQueue)){var o=null,a=null;if(null!==(r=r.firstBaseUpdate)){do{var i={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};null===a?o=a=i:a=a.next=i,r=r.next}while(null!==r);null===a?o=a=t:a=a.next=t}else o=a=t;return r={baseState:n.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:n.shared,effects:n.effects},void(e.updateQueue=r)}null===(e=r.lastBaseUpdate)?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}function ha(e,t,r,n){var a=e.updateQueue;ua=!1;var i=a.firstBaseUpdate,l=a.lastBaseUpdate,u=a.shared.pending;if(null!==u){a.shared.pending=null;var s=u,c=s.next;s.next=null,null===l?i=c:l.next=c,l=s;var f=e.alternate;if(null!==f){var d=(f=f.updateQueue).lastBaseUpdate;d!==l&&(null===d?f.firstBaseUpdate=c:d.next=c,f.lastBaseUpdate=s)}}if(null!==i){for(d=a.baseState,l=0,f=c=s=null;;){u=i.lane;var p=i.eventTime;if((n&u)===u){null!==f&&(f=f.next={eventTime:p,lane:0,tag:i.tag,payload:i.payload,callback:i.callback,next:null});e:{var h=e,g=i;switch(u=t,p=r,g.tag){case 1:if(\\\"function\\\"===typeof(h=g.payload)){d=h.call(p,d,u);break e}d=h;break e;case 3:h.flags=-4097&h.flags|64;case 0:if(null===(u=\\\"function\\\"===typeof(h=g.payload)?h.call(p,d,u):h)||void 0===u)break e;d=o({},d,u);break e;case 2:ua=!0}}null!==i.callback&&(e.flags|=32,null===(u=a.effects)?a.effects=[i]:u.push(i))}else p={eventTime:p,lane:u,tag:i.tag,payload:i.payload,callback:i.callback,next:null},null===f?(c=f=p,s=d):f=f.next=p,l|=u;if(null===(i=i.next)){if(null===(u=a.shared.pending))break;i=u.next,u.next=null,a.lastBaseUpdate=u,a.shared.pending=null}}null===f&&(s=d),a.baseState=s,a.firstBaseUpdate=c,a.lastBaseUpdate=f,Ul|=l,e.lanes=l,e.memoizedState=d}}function ga(e,t,r){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var n=e[t],o=n.callback;if(null!==o){if(n.callback=null,n=r,\\\"function\\\"!==typeof o)throw Error(i(191,o));o.call(n)}}}var ma=(new n.Component).refs;function va(e,t,r,n){r=null===(r=r(n,t=e.memoizedState))||void 0===r?t:o({},t,r),e.memoizedState=r,0===e.lanes&&(e.updateQueue.baseState=r)}var ya={isMounted:function(e){return!!(e=e._reactInternals)&&Ke(e)===e},enqueueSetState:function(e,t,r){e=e._reactInternals;var n=du(),o=pu(e),a=fa(n,o);a.payload=t,void 0!==r&&null!==r&&(a.callback=r),da(e,a),hu(e,o,n)},enqueueReplaceState:function(e,t,r){e=e._reactInternals;var n=du(),o=pu(e),a=fa(n,o);a.tag=1,a.payload=t,void 0!==r&&null!==r&&(a.callback=r),da(e,a),hu(e,o,n)},enqueueForceUpdate:function(e,t){e=e._reactInternals;var r=du(),n=pu(e),o=fa(r,n);o.tag=2,void 0!==t&&null!==t&&(o.callback=t),da(e,o),hu(e,n,r)}};function ba(e,t,r,n,o,a,i){return\\\"function\\\"===typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(n,a,i):!t.prototype||!t.prototype.isPureReactComponent||(!dn(r,n)||!dn(o,a))}function wa(e,t,r){var n=!1,o=po,a=t.contextType;return\\\"object\\\"===typeof a&&null!==a?a=la(a):(o=yo(t)?mo:ho.current,a=(n=null!==(n=t.contextTypes)&&void 0!==n)?vo(e,o):po),t=new t(r,a),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=ya,e.stateNode=t,t._reactInternals=e,n&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=a),t}function xa(e,t,r,n){e=t.state,\\\"function\\\"===typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(r,n),\\\"function\\\"===typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(r,n),t.state!==e&&ya.enqueueReplaceState(t,t.state,null)}function ka(e,t,r,n){var o=e.stateNode;o.props=r,o.state=e.memoizedState,o.refs=ma,sa(e);var a=t.contextType;\\\"object\\\"===typeof a&&null!==a?o.context=la(a):(a=yo(t)?mo:ho.current,o.context=vo(e,a)),ha(e,r,o,n),o.state=e.memoizedState,\\\"function\\\"===typeof(a=t.getDerivedStateFromProps)&&(va(e,t,a,r),o.state=e.memoizedState),\\\"function\\\"===typeof t.getDerivedStateFromProps||\\\"function\\\"===typeof o.getSnapshotBeforeUpdate||\\\"function\\\"!==typeof o.UNSAFE_componentWillMount&&\\\"function\\\"!==typeof o.componentWillMount||(t=o.state,\\\"function\\\"===typeof o.componentWillMount&&o.componentWillMount(),\\\"function\\\"===typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount(),t!==o.state&&ya.enqueueReplaceState(o,o.state,null),ha(e,r,o,n),o.state=e.memoizedState),\\\"function\\\"===typeof o.componentDidMount&&(e.flags|=4)}var Ea=Array.isArray;function Sa(e,t,r){if(null!==(e=r.ref)&&\\\"function\\\"!==typeof e&&\\\"object\\\"!==typeof e){if(r._owner){if(r=r._owner){if(1!==r.tag)throw Error(i(309));var n=r.stateNode}if(!n)throw Error(i(147,e));var o=\\\"\\\"+e;return null!==t&&null!==t.ref&&\\\"function\\\"===typeof t.ref&&t.ref._stringRef===o?t.ref:(t=function(e){var t=n.refs;t===ma&&(t=n.refs={}),null===e?delete t[o]:t[o]=e},t._stringRef=o,t)}if(\\\"string\\\"!==typeof e)throw Error(i(284));if(!r._owner)throw Error(i(290,e))}return e}function Ta(e,t){if(\\\"textarea\\\"!==e.type)throw Error(i(31,\\\"[object Object]\\\"===Object.prototype.toString.call(t)?\\\"object with keys {\\\"+Object.keys(t).join(\\\", \\\")+\\\"}\\\":t))}function _a(e){function t(t,r){if(e){var n=t.lastEffect;null!==n?(n.nextEffect=r,t.lastEffect=r):t.firstEffect=t.lastEffect=r,r.nextEffect=null,r.flags=8}}function r(r,n){if(!e)return null;for(;null!==n;)t(r,n),n=n.sibling;return null}function n(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function o(e,t){return(e=Gu(e,t)).index=0,e.sibling=null,e}function a(t,r,n){return t.index=n,e?null!==(n=t.alternate)?(n=n.index)<r?(t.flags=2,r):n:(t.flags=2,r):r}function l(t){return e&&null===t.alternate&&(t.flags=2),t}function u(e,t,r,n){return null===t||6!==t.tag?((t=Ku(r,e.mode,n)).return=e,t):((t=o(t,r)).return=e,t)}function s(e,t,r,n){return null!==t&&t.elementType===r.type?((n=o(t,r.props)).ref=Sa(e,t,r),n.return=e,n):((n=$u(r.type,r.key,r.props,null,e.mode,n)).ref=Sa(e,t,r),n.return=e,n)}function c(e,t,r,n){return null===t||4!==t.tag||t.stateNode.containerInfo!==r.containerInfo||t.stateNode.implementation!==r.implementation?((t=Xu(r,e.mode,n)).return=e,t):((t=o(t,r.children||[])).return=e,t)}function f(e,t,r,n,a){return null===t||7!==t.tag?((t=Qu(r,e.mode,n,a)).return=e,t):((t=o(t,r)).return=e,t)}function d(e,t,r){if(\\\"string\\\"===typeof t||\\\"number\\\"===typeof t)return(t=Ku(\\\"\\\"+t,e.mode,r)).return=e,t;if(\\\"object\\\"===typeof t&&null!==t){switch(t.$$typeof){case k:return(r=$u(t.type,t.key,t.props,null,e.mode,r)).ref=Sa(e,null,t),r.return=e,r;case E:return(t=Xu(t,e.mode,r)).return=e,t}if(Ea(t)||B(t))return(t=Qu(t,e.mode,r,null)).return=e,t;Ta(e,t)}return null}function p(e,t,r,n){var o=null!==t?t.key:null;if(\\\"string\\\"===typeof r||\\\"number\\\"===typeof r)return null!==o?null:u(e,t,\\\"\\\"+r,n);if(\\\"object\\\"===typeof r&&null!==r){switch(r.$$typeof){case k:return r.key===o?r.type===S?f(e,t,r.props.children,n,o):s(e,t,r,n):null;case E:return r.key===o?c(e,t,r,n):null}if(Ea(r)||B(r))return null!==o?null:f(e,t,r,n,null);Ta(e,r)}return null}function h(e,t,r,n,o){if(\\\"string\\\"===typeof n||\\\"number\\\"===typeof n)return u(t,e=e.get(r)||null,\\\"\\\"+n,o);if(\\\"object\\\"===typeof n&&null!==n){switch(n.$$typeof){case k:return e=e.get(null===n.key?r:n.key)||null,n.type===S?f(t,e,n.props.children,o,n.key):s(t,e,n,o);case E:return c(t,e=e.get(null===n.key?r:n.key)||null,n,o)}if(Ea(n)||B(n))return f(t,e=e.get(r)||null,n,o,null);Ta(t,n)}return null}function g(o,i,l,u){for(var s=null,c=null,f=i,g=i=0,m=null;null!==f&&g<l.length;g++){f.index>g?(m=f,f=null):m=f.sibling;var v=p(o,f,l[g],u);if(null===v){null===f&&(f=m);break}e&&f&&null===v.alternate&&t(o,f),i=a(v,i,g),null===c?s=v:c.sibling=v,c=v,f=m}if(g===l.length)return r(o,f),s;if(null===f){for(;g<l.length;g++)null!==(f=d(o,l[g],u))&&(i=a(f,i,g),null===c?s=f:c.sibling=f,c=f);return s}for(f=n(o,f);g<l.length;g++)null!==(m=h(f,o,g,l[g],u))&&(e&&null!==m.alternate&&f.delete(null===m.key?g:m.key),i=a(m,i,g),null===c?s=m:c.sibling=m,c=m);return e&&f.forEach((function(e){return t(o,e)})),s}function m(o,l,u,s){var c=B(u);if(\\\"function\\\"!==typeof c)throw Error(i(150));if(null==(u=c.call(u)))throw Error(i(151));for(var f=c=null,g=l,m=l=0,v=null,y=u.next();null!==g&&!y.done;m++,y=u.next()){g.index>m?(v=g,g=null):v=g.sibling;var b=p(o,g,y.value,s);if(null===b){null===g&&(g=v);break}e&&g&&null===b.alternate&&t(o,g),l=a(b,l,m),null===f?c=b:f.sibling=b,f=b,g=v}if(y.done)return r(o,g),c;if(null===g){for(;!y.done;m++,y=u.next())null!==(y=d(o,y.value,s))&&(l=a(y,l,m),null===f?c=y:f.sibling=y,f=y);return c}for(g=n(o,g);!y.done;m++,y=u.next())null!==(y=h(g,o,m,y.value,s))&&(e&&null!==y.alternate&&g.delete(null===y.key?m:y.key),l=a(y,l,m),null===f?c=y:f.sibling=y,f=y);return e&&g.forEach((function(e){return t(o,e)})),c}return function(e,n,a,u){var s=\\\"object\\\"===typeof a&&null!==a&&a.type===S&&null===a.key;s&&(a=a.props.children);var c=\\\"object\\\"===typeof a&&null!==a;if(c)switch(a.$$typeof){case k:e:{for(c=a.key,s=n;null!==s;){if(s.key===c){if(7===s.tag){if(a.type===S){r(e,s.sibling),(n=o(s,a.props.children)).return=e,e=n;break e}}else if(s.elementType===a.type){r(e,s.sibling),(n=o(s,a.props)).ref=Sa(e,s,a),n.return=e,e=n;break e}r(e,s);break}t(e,s),s=s.sibling}a.type===S?((n=Qu(a.props.children,e.mode,u,a.key)).return=e,e=n):((u=$u(a.type,a.key,a.props,null,e.mode,u)).ref=Sa(e,n,a),u.return=e,e=u)}return l(e);case E:e:{for(s=a.key;null!==n;){if(n.key===s){if(4===n.tag&&n.stateNode.containerInfo===a.containerInfo&&n.stateNode.implementation===a.implementation){r(e,n.sibling),(n=o(n,a.children||[])).return=e,e=n;break e}r(e,n);break}t(e,n),n=n.sibling}(n=Xu(a,e.mode,u)).return=e,e=n}return l(e)}if(\\\"string\\\"===typeof a||\\\"number\\\"===typeof a)return a=\\\"\\\"+a,null!==n&&6===n.tag?(r(e,n.sibling),(n=o(n,a)).return=e,e=n):(r(e,n),(n=Ku(a,e.mode,u)).return=e,e=n),l(e);if(Ea(a))return g(e,n,a,u);if(B(a))return m(e,n,a,u);if(c&&Ta(e,a),\\\"undefined\\\"===typeof a&&!s)switch(e.tag){case 1:case 22:case 0:case 11:case 15:throw Error(i(152,$(e.type)||\\\"Component\\\"))}return r(e,n)}}var Ca=_a(!0),Oa=_a(!1),Pa={},Ra=so(Pa),Aa=so(Pa),qa=so(Pa);function La(e){if(e===Pa)throw Error(i(174));return e}function Na(e,t){switch(fo(qa,t),fo(Aa,e),fo(Ra,Pa),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:he(null,\\\"\\\");break;default:t=he(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}co(Ra),fo(Ra,t)}function Da(){co(Ra),co(Aa),co(qa)}function Ia(e){La(qa.current);var t=La(Ra.current),r=he(t,e.type);t!==r&&(fo(Aa,e),fo(Ra,r))}function ja(e){Aa.current===e&&(co(Ra),co(Aa))}var Ma=so(0);function Fa(e){for(var t=e;null!==t;){if(13===t.tag){var r=t.memoizedState;if(null!==r&&(null===(r=r.dehydrated)||\\\"$?\\\"===r.data||\\\"$!\\\"===r.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!==(64&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var za=null,Ua=null,Ba=!1;function Va(e,t){var r=Hu(5,null,null,0);r.elementType=\\\"DELETED\\\",r.type=\\\"DELETED\\\",r.stateNode=t,r.return=e,r.flags=8,null!==e.lastEffect?(e.lastEffect.nextEffect=r,e.lastEffect=r):e.firstEffect=e.lastEffect=r}function Ha(e,t){switch(e.tag){case 5:var r=e.type;return null!==(t=1!==t.nodeType||r.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=\\\"\\\"===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);default:return!1}}function Wa(e){if(Ba){var t=Ua;if(t){var r=t;if(!Ha(e,t)){if(!(t=Qn(r.nextSibling))||!Ha(e,t))return e.flags=-1025&e.flags|2,Ba=!1,void(za=e);Va(za,r)}za=e,Ua=Qn(t.firstChild)}else e.flags=-1025&e.flags|2,Ba=!1,za=e}}function Ga(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;za=e}function $a(e){if(e!==za)return!1;if(!Ba)return Ga(e),Ba=!0,!1;var t=e.type;if(5!==e.tag||\\\"head\\\"!==t&&\\\"body\\\"!==t&&!Hn(t,e.memoizedProps))for(t=Ua;t;)Va(e,t),t=Qn(t.nextSibling);if(Ga(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(i(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var r=e.data;if(\\\"/$\\\"===r){if(0===t){Ua=Qn(e.nextSibling);break e}t--}else\\\"$\\\"!==r&&\\\"$!\\\"!==r&&\\\"$?\\\"!==r||t++}e=e.nextSibling}Ua=null}}else Ua=za?Qn(e.stateNode.nextSibling):null;return!0}function Qa(){Ua=za=null,Ba=!1}var Ya=[];function Ka(){for(var e=0;e<Ya.length;e++)Ya[e]._workInProgressVersionPrimary=null;Ya.length=0}var Xa=x.ReactCurrentDispatcher,Ja=x.ReactCurrentBatchConfig,Za=0,ei=null,ti=null,ri=null,ni=!1,oi=!1;function ai(){throw Error(i(321))}function ii(e,t){if(null===t)return!1;for(var r=0;r<t.length&&r<e.length;r++)if(!cn(e[r],t[r]))return!1;return!0}function li(e,t,r,n,o,a){if(Za=a,ei=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Xa.current=null===e||null===e.memoizedState?Li:Ni,e=r(n,o),oi){a=0;do{if(oi=!1,!(25>a))throw Error(i(301));a+=1,ri=ti=null,t.updateQueue=null,Xa.current=Di,e=r(n,o)}while(oi)}if(Xa.current=qi,t=null!==ti&&null!==ti.next,Za=0,ri=ti=ei=null,ni=!1,t)throw Error(i(300));return e}function ui(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===ri?ei.memoizedState=ri=e:ri=ri.next=e,ri}function si(){if(null===ti){var e=ei.alternate;e=null!==e?e.memoizedState:null}else e=ti.next;var t=null===ri?ei.memoizedState:ri.next;if(null!==t)ri=t,ti=e;else{if(null===e)throw Error(i(310));e={memoizedState:(ti=e).memoizedState,baseState:ti.baseState,baseQueue:ti.baseQueue,queue:ti.queue,next:null},null===ri?ei.memoizedState=ri=e:ri=ri.next=e}return ri}function ci(e,t){return\\\"function\\\"===typeof t?t(e):t}function fi(e){var t=si(),r=t.queue;if(null===r)throw Error(i(311));r.lastRenderedReducer=e;var n=ti,o=n.baseQueue,a=r.pending;if(null!==a){if(null!==o){var l=o.next;o.next=a.next,a.next=l}n.baseQueue=o=a,r.pending=null}if(null!==o){o=o.next,n=n.baseState;var u=l=a=null,s=o;do{var c=s.lane;if((Za&c)===c)null!==u&&(u=u.next={lane:0,action:s.action,eagerReducer:s.eagerReducer,eagerState:s.eagerState,next:null}),n=s.eagerReducer===e?s.eagerState:e(n,s.action);else{var f={lane:c,action:s.action,eagerReducer:s.eagerReducer,eagerState:s.eagerState,next:null};null===u?(l=u=f,a=n):u=u.next=f,ei.lanes|=c,Ul|=c}s=s.next}while(null!==s&&s!==o);null===u?a=n:u.next=l,cn(n,t.memoizedState)||(ji=!0),t.memoizedState=n,t.baseState=a,t.baseQueue=u,r.lastRenderedState=n}return[t.memoizedState,r.dispatch]}function di(e){var t=si(),r=t.queue;if(null===r)throw Error(i(311));r.lastRenderedReducer=e;var n=r.dispatch,o=r.pending,a=t.memoizedState;if(null!==o){r.pending=null;var l=o=o.next;do{a=e(a,l.action),l=l.next}while(l!==o);cn(a,t.memoizedState)||(ji=!0),t.memoizedState=a,null===t.baseQueue&&(t.baseState=a),r.lastRenderedState=a}return[a,n]}function pi(e,t,r){var n=t._getVersion;n=n(t._source);var o=t._workInProgressVersionPrimary;if(null!==o?e=o===n:(e=e.mutableReadLanes,(e=(Za&e)===e)&&(t._workInProgressVersionPrimary=n,Ya.push(t))),e)return r(t._source);throw Ya.push(t),Error(i(350))}function hi(e,t,r,n){var o=Ll;if(null===o)throw Error(i(349));var a=t._getVersion,l=a(t._source),u=Xa.current,s=u.useState((function(){return pi(o,t,r)})),c=s[1],f=s[0];s=ri;var d=e.memoizedState,p=d.refs,h=p.getSnapshot,g=d.source;d=d.subscribe;var m=ei;return e.memoizedState={refs:p,source:t,subscribe:n},u.useEffect((function(){p.getSnapshot=r,p.setSnapshot=c;var e=a(t._source);if(!cn(l,e)){e=r(t._source),cn(f,e)||(c(e),e=pu(m),o.mutableReadLanes|=e&o.pendingLanes),e=o.mutableReadLanes,o.entangledLanes|=e;for(var n=o.entanglements,i=e;0<i;){var u=31-Ht(i),s=1<<u;n[u]|=e,i&=~s}}}),[r,t,n]),u.useEffect((function(){return n(t._source,(function(){var e=p.getSnapshot,r=p.setSnapshot;try{r(e(t._source));var n=pu(m);o.mutableReadLanes|=n&o.pendingLanes}catch(e){r((function(){throw e}))}}))}),[t,n]),cn(h,r)&&cn(g,t)&&cn(d,n)||((e={pending:null,dispatch:null,lastRenderedReducer:ci,lastRenderedState:f}).dispatch=c=Ai.bind(null,ei,e),s.queue=e,s.baseQueue=null,f=pi(o,t,r),s.memoizedState=s.baseState=f),f}function gi(e,t,r){return hi(si(),e,t,r)}function mi(e){var t=ui();return\\\"function\\\"===typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={pending:null,dispatch:null,lastRenderedReducer:ci,lastRenderedState:e}).dispatch=Ai.bind(null,ei,e),[t.memoizedState,e]}function vi(e,t,r,n){return e={tag:e,create:t,destroy:r,deps:n,next:null},null===(t=ei.updateQueue)?(t={lastEffect:null},ei.updateQueue=t,t.lastEffect=e.next=e):null===(r=t.lastEffect)?t.lastEffect=e.next=e:(n=r.next,r.next=e,e.next=n,t.lastEffect=e),e}function yi(e){return e={current:e},ui().memoizedState=e}function bi(){return si().memoizedState}function wi(e,t,r,n){var o=ui();ei.flags|=e,o.memoizedState=vi(1|t,r,void 0,void 0===n?null:n)}function xi(e,t,r,n){var o=si();n=void 0===n?null:n;var a=void 0;if(null!==ti){var i=ti.memoizedState;if(a=i.destroy,null!==n&&ii(n,i.deps))return void vi(t,r,a,n)}ei.flags|=e,o.memoizedState=vi(1|t,r,a,n)}function ki(e,t){return wi(516,4,e,t)}function Ei(e,t){return xi(516,4,e,t)}function Si(e,t){return xi(4,2,e,t)}function Ti(e,t){return\\\"function\\\"===typeof t?(e=e(),t(e),function(){t(null)}):null!==t&&void 0!==t?(e=e(),t.current=e,function(){t.current=null}):void 0}function _i(e,t,r){return r=null!==r&&void 0!==r?r.concat([e]):null,xi(4,2,Ti.bind(null,t,e),r)}function Ci(){}function Oi(e,t){var r=si();t=void 0===t?null:t;var n=r.memoizedState;return null!==n&&null!==t&&ii(t,n[1])?n[0]:(r.memoizedState=[e,t],e)}function Pi(e,t){var r=si();t=void 0===t?null:t;var n=r.memoizedState;return null!==n&&null!==t&&ii(t,n[1])?n[0]:(e=e(),r.memoizedState=[e,t],e)}function Ri(e,t){var r=Wo();$o(98>r?98:r,(function(){e(!0)})),$o(97<r?97:r,(function(){var r=Ja.transition;Ja.transition=1;try{e(!1),t()}finally{Ja.transition=r}}))}function Ai(e,t,r){var n=du(),o=pu(e),a={lane:o,action:r,eagerReducer:null,eagerState:null,next:null},i=t.pending;if(null===i?a.next=a:(a.next=i.next,i.next=a),t.pending=a,i=e.alternate,e===ei||null!==i&&i===ei)oi=ni=!0;else{if(0===e.lanes&&(null===i||0===i.lanes)&&null!==(i=t.lastRenderedReducer))try{var l=t.lastRenderedState,u=i(l,r);if(a.eagerReducer=i,a.eagerState=u,cn(u,l))return}catch(e){}hu(e,o,n)}}var qi={readContext:la,useCallback:ai,useContext:ai,useEffect:ai,useImperativeHandle:ai,useLayoutEffect:ai,useMemo:ai,useReducer:ai,useRef:ai,useState:ai,useDebugValue:ai,useDeferredValue:ai,useTransition:ai,useMutableSource:ai,useOpaqueIdentifier:ai,unstable_isNewReconciler:!1},Li={readContext:la,useCallback:function(e,t){return ui().memoizedState=[e,void 0===t?null:t],e},useContext:la,useEffect:ki,useImperativeHandle:function(e,t,r){return r=null!==r&&void 0!==r?r.concat([e]):null,wi(4,2,Ti.bind(null,t,e),r)},useLayoutEffect:function(e,t){return wi(4,2,e,t)},useMemo:function(e,t){var r=ui();return t=void 0===t?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var n=ui();return t=void 0!==r?r(t):t,n.memoizedState=n.baseState=t,e=(e=n.queue={pending:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=Ai.bind(null,ei,e),[n.memoizedState,e]},useRef:yi,useState:mi,useDebugValue:Ci,useDeferredValue:function(e){var t=mi(e),r=t[0],n=t[1];return ki((function(){var t=Ja.transition;Ja.transition=1;try{n(e)}finally{Ja.transition=t}}),[e]),r},useTransition:function(){var e=mi(!1),t=e[0];return yi(e=Ri.bind(null,e[1])),[e,t]},useMutableSource:function(e,t,r){var n=ui();return n.memoizedState={refs:{getSnapshot:t,setSnapshot:null},source:e,subscribe:r},hi(n,e,t,r)},useOpaqueIdentifier:function(){if(Ba){var e=!1,t=function(e){return{$$typeof:D,toString:e,valueOf:e}}((function(){throw e||(e=!0,r(\\\"r:\\\"+(Kn++).toString(36))),Error(i(355))})),r=mi(t)[1];return 0===(2&ei.mode)&&(ei.flags|=516,vi(5,(function(){r(\\\"r:\\\"+(Kn++).toString(36))}),void 0,null)),t}return mi(t=\\\"r:\\\"+(Kn++).toString(36)),t},unstable_isNewReconciler:!1},Ni={readContext:la,useCallback:Oi,useContext:la,useEffect:Ei,useImperativeHandle:_i,useLayoutEffect:Si,useMemo:Pi,useReducer:fi,useRef:bi,useState:function(){return fi(ci)},useDebugValue:Ci,useDeferredValue:function(e){var t=fi(ci),r=t[0],n=t[1];return Ei((function(){var t=Ja.transition;Ja.transition=1;try{n(e)}finally{Ja.transition=t}}),[e]),r},useTransition:function(){var e=fi(ci)[0];return[bi().current,e]},useMutableSource:gi,useOpaqueIdentifier:function(){return fi(ci)[0]},unstable_isNewReconciler:!1},Di={readContext:la,useCallback:Oi,useContext:la,useEffect:Ei,useImperativeHandle:_i,useLayoutEffect:Si,useMemo:Pi,useReducer:di,useRef:bi,useState:function(){return di(ci)},useDebugValue:Ci,useDeferredValue:function(e){var t=di(ci),r=t[0],n=t[1];return Ei((function(){var t=Ja.transition;Ja.transition=1;try{n(e)}finally{Ja.transition=t}}),[e]),r},useTransition:function(){var e=di(ci)[0];return[bi().current,e]},useMutableSource:gi,useOpaqueIdentifier:function(){return di(ci)[0]},unstable_isNewReconciler:!1},Ii=x.ReactCurrentOwner,ji=!1;function Mi(e,t,r,n){t.child=null===e?Oa(t,null,r,n):Ca(t,e.child,r,n)}function Fi(e,t,r,n,o){r=r.render;var a=t.ref;return ia(t,o),n=li(e,t,r,n,a,o),null===e||ji?(t.flags|=1,Mi(e,t,n,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~o,al(e,t,o))}function zi(e,t,r,n,o,a){if(null===e){var i=r.type;return\\\"function\\\"!==typeof i||Wu(i)||void 0!==i.defaultProps||null!==r.compare||void 0!==r.defaultProps?((e=$u(r.type,null,n,t,t.mode,a)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=i,Ui(e,t,i,n,o,a))}return i=e.child,0===(o&a)&&(o=i.memoizedProps,(r=null!==(r=r.compare)?r:dn)(o,n)&&e.ref===t.ref)?al(e,t,a):(t.flags|=1,(e=Gu(i,n)).ref=t.ref,e.return=t,t.child=e)}function Ui(e,t,r,n,o,a){if(null!==e&&dn(e.memoizedProps,n)&&e.ref===t.ref){if(ji=!1,0===(a&o))return t.lanes=e.lanes,al(e,t,a);0!==(16384&e.flags)&&(ji=!0)}return Hi(e,t,r,n,a)}function Bi(e,t,r){var n=t.pendingProps,o=n.children,a=null!==e?e.memoizedState:null;if(\\\"hidden\\\"===n.mode||\\\"unstable-defer-without-hiding\\\"===n.mode)if(0===(4&t.mode))t.memoizedState={baseLanes:0},ku(t,r);else{if(0===(1073741824&r))return e=null!==a?a.baseLanes|r:r,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e},ku(t,e),null;t.memoizedState={baseLanes:0},ku(t,null!==a?a.baseLanes:r)}else null!==a?(n=a.baseLanes|r,t.memoizedState=null):n=r,ku(t,n);return Mi(e,t,o,r),t.child}function Vi(e,t){var r=t.ref;(null===e&&null!==r||null!==e&&e.ref!==r)&&(t.flags|=128)}function Hi(e,t,r,n,o){var a=yo(r)?mo:ho.current;return a=vo(t,a),ia(t,o),r=li(e,t,r,n,a,o),null===e||ji?(t.flags|=1,Mi(e,t,r,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~o,al(e,t,o))}function Wi(e,t,r,n,o){if(yo(r)){var a=!0;ko(t)}else a=!1;if(ia(t,o),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),wa(t,r,n),ka(t,r,n,o),n=!0;else if(null===e){var i=t.stateNode,l=t.memoizedProps;i.props=l;var u=i.context,s=r.contextType;\\\"object\\\"===typeof s&&null!==s?s=la(s):s=vo(t,s=yo(r)?mo:ho.current);var c=r.getDerivedStateFromProps,f=\\\"function\\\"===typeof c||\\\"function\\\"===typeof i.getSnapshotBeforeUpdate;f||\\\"function\\\"!==typeof i.UNSAFE_componentWillReceiveProps&&\\\"function\\\"!==typeof i.componentWillReceiveProps||(l!==n||u!==s)&&xa(t,i,n,s),ua=!1;var d=t.memoizedState;i.state=d,ha(t,n,i,o),u=t.memoizedState,l!==n||d!==u||go.current||ua?(\\\"function\\\"===typeof c&&(va(t,r,c,n),u=t.memoizedState),(l=ua||ba(t,r,l,n,d,u,s))?(f||\\\"function\\\"!==typeof i.UNSAFE_componentWillMount&&\\\"function\\\"!==typeof i.componentWillMount||(\\\"function\\\"===typeof i.componentWillMount&&i.componentWillMount(),\\\"function\\\"===typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),\\\"function\\\"===typeof i.componentDidMount&&(t.flags|=4)):(\\\"function\\\"===typeof i.componentDidMount&&(t.flags|=4),t.memoizedProps=n,t.memoizedState=u),i.props=n,i.state=u,i.context=s,n=l):(\\\"function\\\"===typeof i.componentDidMount&&(t.flags|=4),n=!1)}else{i=t.stateNode,ca(e,t),l=t.memoizedProps,s=t.type===t.elementType?l:Jo(t.type,l),i.props=s,f=t.pendingProps,d=i.context,\\\"object\\\"===typeof(u=r.contextType)&&null!==u?u=la(u):u=vo(t,u=yo(r)?mo:ho.current);var p=r.getDerivedStateFromProps;(c=\\\"function\\\"===typeof p||\\\"function\\\"===typeof i.getSnapshotBeforeUpdate)||\\\"function\\\"!==typeof i.UNSAFE_componentWillReceiveProps&&\\\"function\\\"!==typeof i.componentWillReceiveProps||(l!==f||d!==u)&&xa(t,i,n,u),ua=!1,d=t.memoizedState,i.state=d,ha(t,n,i,o);var h=t.memoizedState;l!==f||d!==h||go.current||ua?(\\\"function\\\"===typeof p&&(va(t,r,p,n),h=t.memoizedState),(s=ua||ba(t,r,s,n,d,h,u))?(c||\\\"function\\\"!==typeof i.UNSAFE_componentWillUpdate&&\\\"function\\\"!==typeof i.componentWillUpdate||(\\\"function\\\"===typeof i.componentWillUpdate&&i.componentWillUpdate(n,h,u),\\\"function\\\"===typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(n,h,u)),\\\"function\\\"===typeof i.componentDidUpdate&&(t.flags|=4),\\\"function\\\"===typeof i.getSnapshotBeforeUpdate&&(t.flags|=256)):(\\\"function\\\"!==typeof i.componentDidUpdate||l===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),\\\"function\\\"!==typeof i.getSnapshotBeforeUpdate||l===e.memoizedProps&&d===e.memoizedState||(t.flags|=256),t.memoizedProps=n,t.memoizedState=h),i.props=n,i.state=h,i.context=u,n=s):(\\\"function\\\"!==typeof i.componentDidUpdate||l===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),\\\"function\\\"!==typeof i.getSnapshotBeforeUpdate||l===e.memoizedProps&&d===e.memoizedState||(t.flags|=256),n=!1)}return Gi(e,t,r,n,a,o)}function Gi(e,t,r,n,o,a){Vi(e,t);var i=0!==(64&t.flags);if(!n&&!i)return o&&Eo(t,r,!1),al(e,t,a);n=t.stateNode,Ii.current=t;var l=i&&\\\"function\\\"!==typeof r.getDerivedStateFromError?null:n.render();return t.flags|=1,null!==e&&i?(t.child=Ca(t,e.child,null,a),t.child=Ca(t,null,l,a)):Mi(e,t,l,a),t.memoizedState=n.state,o&&Eo(t,r,!0),t.child}function $i(e){var t=e.stateNode;t.pendingContext?wo(0,t.pendingContext,t.pendingContext!==t.context):t.context&&wo(0,t.context,!1),Na(e,t.containerInfo)}var Qi,Yi,Ki,Xi={dehydrated:null,retryLane:0};function Ji(e,t,r){var n,o=t.pendingProps,a=Ma.current,i=!1;return(n=0!==(64&t.flags))||(n=(null===e||null!==e.memoizedState)&&0!==(2&a)),n?(i=!0,t.flags&=-65):null!==e&&null===e.memoizedState||void 0===o.fallback||!0===o.unstable_avoidThisFallback||(a|=1),fo(Ma,1&a),null===e?(void 0!==o.fallback&&Wa(t),e=o.children,a=o.fallback,i?(e=Zi(t,e,a,r),t.child.memoizedState={baseLanes:r},t.memoizedState=Xi,e):\\\"number\\\"===typeof o.unstable_expectedLoadTime?(e=Zi(t,e,a,r),t.child.memoizedState={baseLanes:r},t.memoizedState=Xi,t.lanes=33554432,e):((r=Yu({mode:\\\"visible\\\",children:e},t.mode,r,null)).return=t,t.child=r)):(e.memoizedState,i?(o=tl(e,t,o.children,o.fallback,r),i=t.child,a=e.child.memoizedState,i.memoizedState=null===a?{baseLanes:r}:{baseLanes:a.baseLanes|r},i.childLanes=e.childLanes&~r,t.memoizedState=Xi,o):(r=el(e,t,o.children,r),t.memoizedState=null,r))}function Zi(e,t,r,n){var o=e.mode,a=e.child;return t={mode:\\\"hidden\\\",children:t},0===(2&o)&&null!==a?(a.childLanes=0,a.pendingProps=t):a=Yu(t,o,0,null),r=Qu(r,o,n,null),a.return=e,r.return=e,a.sibling=r,e.child=a,r}function el(e,t,r,n){var o=e.child;return e=o.sibling,r=Gu(o,{mode:\\\"visible\\\",children:r}),0===(2&t.mode)&&(r.lanes=n),r.return=t,r.sibling=null,null!==e&&(e.nextEffect=null,e.flags=8,t.firstEffect=t.lastEffect=e),t.child=r}function tl(e,t,r,n,o){var a=t.mode,i=e.child;e=i.sibling;var l={mode:\\\"hidden\\\",children:r};return 0===(2&a)&&t.child!==i?((r=t.child).childLanes=0,r.pendingProps=l,null!==(i=r.lastEffect)?(t.firstEffect=r.firstEffect,t.lastEffect=i,i.nextEffect=null):t.firstEffect=t.lastEffect=null):r=Gu(i,l),null!==e?n=Gu(e,n):(n=Qu(n,a,o,null)).flags|=2,n.return=t,r.return=t,r.sibling=n,t.child=r,n}function rl(e,t){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),aa(e.return,t)}function nl(e,t,r,n,o,a){var i=e.memoizedState;null===i?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:n,tail:r,tailMode:o,lastEffect:a}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=n,i.tail=r,i.tailMode=o,i.lastEffect=a)}function ol(e,t,r){var n=t.pendingProps,o=n.revealOrder,a=n.tail;if(Mi(e,t,n.children,r),0!==(2&(n=Ma.current)))n=1&n|2,t.flags|=64;else{if(null!==e&&0!==(64&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&rl(e,r);else if(19===e.tag)rl(e,r);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}n&=1}if(fo(Ma,n),0===(2&t.mode))t.memoizedState=null;else switch(o){case\\\"forwards\\\":for(r=t.child,o=null;null!==r;)null!==(e=r.alternate)&&null===Fa(e)&&(o=r),r=r.sibling;null===(r=o)?(o=t.child,t.child=null):(o=r.sibling,r.sibling=null),nl(t,!1,o,r,a,t.lastEffect);break;case\\\"backwards\\\":for(r=null,o=t.child,t.child=null;null!==o;){if(null!==(e=o.alternate)&&null===Fa(e)){t.child=o;break}e=o.sibling,o.sibling=r,r=o,o=e}nl(t,!0,r,null,a,t.lastEffect);break;case\\\"together\\\":nl(t,!1,null,null,void 0,t.lastEffect);break;default:t.memoizedState=null}return t.child}function al(e,t,r){if(null!==e&&(t.dependencies=e.dependencies),Ul|=t.lanes,0!==(r&t.childLanes)){if(null!==e&&t.child!==e.child)throw Error(i(153));if(null!==t.child){for(r=Gu(e=t.child,e.pendingProps),t.child=r,r.return=t;null!==e.sibling;)e=e.sibling,(r=r.sibling=Gu(e,e.pendingProps)).return=t;r.sibling=null}return t.child}return null}function il(e,t){if(!Ba)switch(e.tailMode){case\\\"hidden\\\":t=e.tail;for(var r=null;null!==t;)null!==t.alternate&&(r=t),t=t.sibling;null===r?e.tail=null:r.sibling=null;break;case\\\"collapsed\\\":r=e.tail;for(var n=null;null!==r;)null!==r.alternate&&(n=r),r=r.sibling;null===n?t||null===e.tail?e.tail=null:e.tail.sibling=null:n.sibling=null}}function ll(e,t,r){var n=t.pendingProps;switch(t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:case 17:return yo(t.type)&&bo(),null;case 3:return Da(),co(go),co(ho),Ka(),(n=t.stateNode).pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),null!==e&&null!==e.child||($a(t)?t.flags|=4:n.hydrate||(t.flags|=256)),null;case 5:ja(t);var a=La(qa.current);if(r=t.type,null!==e&&null!=t.stateNode)Yi(e,t,r,n),e.ref!==t.ref&&(t.flags|=128);else{if(!n){if(null===t.stateNode)throw Error(i(166));return null}if(e=La(Ra.current),$a(t)){n=t.stateNode,r=t.type;var l=t.memoizedProps;switch(n[Jn]=t,n[Zn]=l,r){case\\\"dialog\\\":Rn(\\\"cancel\\\",n),Rn(\\\"close\\\",n);break;case\\\"iframe\\\":case\\\"object\\\":case\\\"embed\\\":Rn(\\\"load\\\",n);break;case\\\"video\\\":case\\\"audio\\\":for(e=0;e<_n.length;e++)Rn(_n[e],n);break;case\\\"source\\\":Rn(\\\"error\\\",n);break;case\\\"img\\\":case\\\"image\\\":case\\\"link\\\":Rn(\\\"error\\\",n),Rn(\\\"load\\\",n);break;case\\\"details\\\":Rn(\\\"toggle\\\",n);break;case\\\"input\\\":ee(n,l),Rn(\\\"invalid\\\",n);break;case\\\"select\\\":n._wrapperState={wasMultiple:!!l.multiple},Rn(\\\"invalid\\\",n);break;case\\\"textarea\\\":ue(n,l),Rn(\\\"invalid\\\",n)}for(var s in Se(r,l),e=null,l)l.hasOwnProperty(s)&&(a=l[s],\\\"children\\\"===s?\\\"string\\\"===typeof a?n.textContent!==a&&(e=[\\\"children\\\",a]):\\\"number\\\"===typeof a&&n.textContent!==\\\"\\\"+a&&(e=[\\\"children\\\",\\\"\\\"+a]):u.hasOwnProperty(s)&&null!=a&&\\\"onScroll\\\"===s&&Rn(\\\"scroll\\\",n));switch(r){case\\\"input\\\":K(n),ne(n,l,!0);break;case\\\"textarea\\\":K(n),ce(n);break;case\\\"select\\\":case\\\"option\\\":break;default:\\\"function\\\"===typeof l.onClick&&(n.onclick=zn)}n=e,t.updateQueue=n,null!==n&&(t.flags|=4)}else{switch(s=9===a.nodeType?a:a.ownerDocument,e===fe&&(e=pe(r)),e===fe?\\\"script\\\"===r?((e=s.createElement(\\\"div\\\")).innerHTML=\\\"<script><\\\\/script>\\\",e=e.removeChild(e.firstChild)):\\\"string\\\"===typeof n.is?e=s.createElement(r,{is:n.is}):(e=s.createElement(r),\\\"select\\\"===r&&(s=e,n.multiple?s.multiple=!0:n.size&&(s.size=n.size))):e=s.createElementNS(e,r),e[Jn]=t,e[Zn]=n,Qi(e,t),t.stateNode=e,s=Te(r,n),r){case\\\"dialog\\\":Rn(\\\"cancel\\\",e),Rn(\\\"close\\\",e),a=n;break;case\\\"iframe\\\":case\\\"object\\\":case\\\"embed\\\":Rn(\\\"load\\\",e),a=n;break;case\\\"video\\\":case\\\"audio\\\":for(a=0;a<_n.length;a++)Rn(_n[a],e);a=n;break;case\\\"source\\\":Rn(\\\"error\\\",e),a=n;break;case\\\"img\\\":case\\\"image\\\":case\\\"link\\\":Rn(\\\"error\\\",e),Rn(\\\"load\\\",e),a=n;break;case\\\"details\\\":Rn(\\\"toggle\\\",e),a=n;break;case\\\"input\\\":ee(e,n),a=Z(e,n),Rn(\\\"invalid\\\",e);break;case\\\"option\\\":a=ae(e,n);break;case\\\"select\\\":e._wrapperState={wasMultiple:!!n.multiple},a=o({},n,{value:void 0}),Rn(\\\"invalid\\\",e);break;case\\\"textarea\\\":ue(e,n),a=le(e,n),Rn(\\\"invalid\\\",e);break;default:a=n}Se(r,a);var c=a;for(l in c)if(c.hasOwnProperty(l)){var f=c[l];\\\"style\\\"===l?ke(e,f):\\\"dangerouslySetInnerHTML\\\"===l?null!=(f=f?f.__html:void 0)&&ve(e,f):\\\"children\\\"===l?\\\"string\\\"===typeof f?(\\\"textarea\\\"!==r||\\\"\\\"!==f)&&ye(e,f):\\\"number\\\"===typeof f&&ye(e,\\\"\\\"+f):\\\"suppressContentEditableWarning\\\"!==l&&\\\"suppressHydrationWarning\\\"!==l&&\\\"autoFocus\\\"!==l&&(u.hasOwnProperty(l)?null!=f&&\\\"onScroll\\\"===l&&Rn(\\\"scroll\\\",e):null!=f&&w(e,l,f,s))}switch(r){case\\\"input\\\":K(e),ne(e,n,!1);break;case\\\"textarea\\\":K(e),ce(e);break;case\\\"option\\\":null!=n.value&&e.setAttribute(\\\"value\\\",\\\"\\\"+Q(n.value));break;case\\\"select\\\":e.multiple=!!n.multiple,null!=(l=n.value)?ie(e,!!n.multiple,l,!1):null!=n.defaultValue&&ie(e,!!n.multiple,n.defaultValue,!0);break;default:\\\"function\\\"===typeof a.onClick&&(e.onclick=zn)}Vn(r,n)&&(t.flags|=4)}null!==t.ref&&(t.flags|=128)}return null;case 6:if(e&&null!=t.stateNode)Ki(0,t,e.memoizedProps,n);else{if(\\\"string\\\"!==typeof n&&null===t.stateNode)throw Error(i(166));r=La(qa.current),La(Ra.current),$a(t)?(n=t.stateNode,r=t.memoizedProps,n[Jn]=t,n.nodeValue!==r&&(t.flags|=4)):((n=(9===r.nodeType?r:r.ownerDocument).createTextNode(n))[Jn]=t,t.stateNode=n)}return null;case 13:return co(Ma),n=t.memoizedState,0!==(64&t.flags)?(t.lanes=r,t):(n=null!==n,r=!1,null===e?void 0!==t.memoizedProps.fallback&&$a(t):r=null!==e.memoizedState,n&&!r&&0!==(2&t.mode)&&(null===e&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!==(1&Ma.current)?0===Ml&&(Ml=3):(0!==Ml&&3!==Ml||(Ml=4),null===Ll||0===(134217727&Ul)&&0===(134217727&Bl)||yu(Ll,Dl))),(n||r)&&(t.flags|=4),null);case 4:return Da(),null===e&&qn(t.stateNode.containerInfo),null;case 10:return oa(t),null;case 19:if(co(Ma),null===(n=t.memoizedState))return null;if(l=0!==(64&t.flags),null===(s=n.rendering))if(l)il(n,!1);else{if(0!==Ml||null!==e&&0!==(64&e.flags))for(e=t.child;null!==e;){if(null!==(s=Fa(e))){for(t.flags|=64,il(n,!1),null!==(l=s.updateQueue)&&(t.updateQueue=l,t.flags|=4),null===n.lastEffect&&(t.firstEffect=null),t.lastEffect=n.lastEffect,n=r,r=t.child;null!==r;)e=n,(l=r).flags&=2,l.nextEffect=null,l.firstEffect=null,l.lastEffect=null,null===(s=l.alternate)?(l.childLanes=0,l.lanes=e,l.child=null,l.memoizedProps=null,l.memoizedState=null,l.updateQueue=null,l.dependencies=null,l.stateNode=null):(l.childLanes=s.childLanes,l.lanes=s.lanes,l.child=s.child,l.memoizedProps=s.memoizedProps,l.memoizedState=s.memoizedState,l.updateQueue=s.updateQueue,l.type=s.type,e=s.dependencies,l.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),r=r.sibling;return fo(Ma,1&Ma.current|2),t.child}e=e.sibling}null!==n.tail&&Ho()>Gl&&(t.flags|=64,l=!0,il(n,!1),t.lanes=33554432)}else{if(!l)if(null!==(e=Fa(s))){if(t.flags|=64,l=!0,null!==(r=e.updateQueue)&&(t.updateQueue=r,t.flags|=4),il(n,!0),null===n.tail&&\\\"hidden\\\"===n.tailMode&&!s.alternate&&!Ba)return null!==(t=t.lastEffect=n.lastEffect)&&(t.nextEffect=null),null}else 2*Ho()-n.renderingStartTime>Gl&&1073741824!==r&&(t.flags|=64,l=!0,il(n,!1),t.lanes=33554432);n.isBackwards?(s.sibling=t.child,t.child=s):(null!==(r=n.last)?r.sibling=s:t.child=s,n.last=s)}return null!==n.tail?(r=n.tail,n.rendering=r,n.tail=r.sibling,n.lastEffect=t.lastEffect,n.renderingStartTime=Ho(),r.sibling=null,t=Ma.current,fo(Ma,l?1&t|2:1&t),r):null;case 23:case 24:return Eu(),null!==e&&null!==e.memoizedState!==(null!==t.memoizedState)&&\\\"unstable-defer-without-hiding\\\"!==n.mode&&(t.flags|=4),null}throw Error(i(156,t.tag))}function ul(e){switch(e.tag){case 1:yo(e.type)&&bo();var t=e.flags;return 4096&t?(e.flags=-4097&t|64,e):null;case 3:if(Da(),co(go),co(ho),Ka(),0!==(64&(t=e.flags)))throw Error(i(285));return e.flags=-4097&t|64,e;case 5:return ja(e),null;case 13:return co(Ma),4096&(t=e.flags)?(e.flags=-4097&t|64,e):null;case 19:return co(Ma),null;case 4:return Da(),null;case 10:return oa(e),null;case 23:case 24:return Eu(),null;default:return null}}function sl(e,t){try{var r=\\\"\\\",n=t;do{r+=G(n),n=n.return}while(n);var o=r}catch(e){o=\\\"\\\\nError generating stack: \\\"+e.message+\\\"\\\\n\\\"+e.stack}return{value:e,source:t,stack:o}}function cl(e,t){try{console.error(t.value)}catch(e){setTimeout((function(){throw e}))}}Qi=function(e,t){for(var r=t.child;null!==r;){if(5===r.tag||6===r.tag)e.appendChild(r.stateNode);else if(4!==r.tag&&null!==r.child){r.child.return=r,r=r.child;continue}if(r===t)break;for(;null===r.sibling;){if(null===r.return||r.return===t)return;r=r.return}r.sibling.return=r.return,r=r.sibling}},Yi=function(e,t,r,n){var a=e.memoizedProps;if(a!==n){e=t.stateNode,La(Ra.current);var i,l=null;switch(r){case\\\"input\\\":a=Z(e,a),n=Z(e,n),l=[];break;case\\\"option\\\":a=ae(e,a),n=ae(e,n),l=[];break;case\\\"select\\\":a=o({},a,{value:void 0}),n=o({},n,{value:void 0}),l=[];break;case\\\"textarea\\\":a=le(e,a),n=le(e,n),l=[];break;default:\\\"function\\\"!==typeof a.onClick&&\\\"function\\\"===typeof n.onClick&&(e.onclick=zn)}for(f in Se(r,n),r=null,a)if(!n.hasOwnProperty(f)&&a.hasOwnProperty(f)&&null!=a[f])if(\\\"style\\\"===f){var s=a[f];for(i in s)s.hasOwnProperty(i)&&(r||(r={}),r[i]=\\\"\\\")}else\\\"dangerouslySetInnerHTML\\\"!==f&&\\\"children\\\"!==f&&\\\"suppressContentEditableWarning\\\"!==f&&\\\"suppressHydrationWarning\\\"!==f&&\\\"autoFocus\\\"!==f&&(u.hasOwnProperty(f)?l||(l=[]):(l=l||[]).push(f,null));for(f in n){var c=n[f];if(s=null!=a?a[f]:void 0,n.hasOwnProperty(f)&&c!==s&&(null!=c||null!=s))if(\\\"style\\\"===f)if(s){for(i in s)!s.hasOwnProperty(i)||c&&c.hasOwnProperty(i)||(r||(r={}),r[i]=\\\"\\\");for(i in c)c.hasOwnProperty(i)&&s[i]!==c[i]&&(r||(r={}),r[i]=c[i])}else r||(l||(l=[]),l.push(f,r)),r=c;else\\\"dangerouslySetInnerHTML\\\"===f?(c=c?c.__html:void 0,s=s?s.__html:void 0,null!=c&&s!==c&&(l=l||[]).push(f,c)):\\\"children\\\"===f?\\\"string\\\"!==typeof c&&\\\"number\\\"!==typeof c||(l=l||[]).push(f,\\\"\\\"+c):\\\"suppressContentEditableWarning\\\"!==f&&\\\"suppressHydrationWarning\\\"!==f&&(u.hasOwnProperty(f)?(null!=c&&\\\"onScroll\\\"===f&&Rn(\\\"scroll\\\",e),l||s===c||(l=[])):\\\"object\\\"===typeof c&&null!==c&&c.$$typeof===D?c.toString():(l=l||[]).push(f,c))}r&&(l=l||[]).push(\\\"style\\\",r);var f=l;(t.updateQueue=f)&&(t.flags|=4)}},Ki=function(e,t,r,n){r!==n&&(t.flags|=4)};var fl=\\\"function\\\"===typeof WeakMap?WeakMap:Map;function dl(e,t,r){(r=fa(-1,r)).tag=3,r.payload={element:null};var n=t.value;return r.callback=function(){Kl||(Kl=!0,Xl=n),cl(0,t)},r}function pl(e,t,r){(r=fa(-1,r)).tag=3;var n=e.type.getDerivedStateFromError;if(\\\"function\\\"===typeof n){var o=t.value;r.payload=function(){return cl(0,t),n(o)}}var a=e.stateNode;return null!==a&&\\\"function\\\"===typeof a.componentDidCatch&&(r.callback=function(){\\\"function\\\"!==typeof n&&(null===Jl?Jl=new Set([this]):Jl.add(this),cl(0,t));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:\\\"\\\"})}),r}var hl=\\\"function\\\"===typeof WeakSet?WeakSet:Set;function gl(e){var t=e.ref;if(null!==t)if(\\\"function\\\"===typeof t)try{t(null)}catch(t){zu(e,t)}else t.current=null}function ml(e,t){switch(t.tag){case 0:case 11:case 15:case 22:case 5:case 6:case 4:case 17:return;case 1:if(256&t.flags&&null!==e){var r=e.memoizedProps,n=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?r:Jo(t.type,r),n),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:return void(256&t.flags&&$n(t.stateNode.containerInfo))}throw Error(i(163))}function vl(e,t,r){switch(r.tag){case 0:case 11:case 15:case 22:if(null!==(t=null!==(t=r.updateQueue)?t.lastEffect:null)){e=t=t.next;do{if(3===(3&e.tag)){var n=e.create;e.destroy=n()}e=e.next}while(e!==t)}if(null!==(t=null!==(t=r.updateQueue)?t.lastEffect:null)){e=t=t.next;do{var o=e;n=o.next,0!==(4&(o=o.tag))&&0!==(1&o)&&(ju(r,e),Iu(r,e)),e=n}while(e!==t)}return;case 1:return e=r.stateNode,4&r.flags&&(null===t?e.componentDidMount():(n=r.elementType===r.type?t.memoizedProps:Jo(r.type,t.memoizedProps),e.componentDidUpdate(n,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate))),void(null!==(t=r.updateQueue)&&ga(r,t,e));case 3:if(null!==(t=r.updateQueue)){if(e=null,null!==r.child)switch(r.child.tag){case 5:case 1:e=r.child.stateNode}ga(r,t,e)}return;case 5:return e=r.stateNode,void(null===t&&4&r.flags&&Vn(r.type,r.memoizedProps)&&e.focus());case 6:case 4:case 12:case 19:case 17:case 20:case 21:case 23:case 24:return;case 13:return void(null===r.memoizedState&&(r=r.alternate,null!==r&&(r=r.memoizedState,null!==r&&(r=r.dehydrated,null!==r&&kt(r)))))}throw Error(i(163))}function yl(e,t){for(var r=e;;){if(5===r.tag){var n=r.stateNode;if(t)\\\"function\\\"===typeof(n=n.style).setProperty?n.setProperty(\\\"display\\\",\\\"none\\\",\\\"important\\\"):n.display=\\\"none\\\";else{n=r.stateNode;var o=r.memoizedProps.style;o=void 0!==o&&null!==o&&o.hasOwnProperty(\\\"display\\\")?o.display:null,n.style.display=xe(\\\"display\\\",o)}}else if(6===r.tag)r.stateNode.nodeValue=t?\\\"\\\":r.memoizedProps;else if((23!==r.tag&&24!==r.tag||null===r.memoizedState||r===e)&&null!==r.child){r.child.return=r,r=r.child;continue}if(r===e)break;for(;null===r.sibling;){if(null===r.return||r.return===e)return;r=r.return}r.sibling.return=r.return,r=r.sibling}}function bl(e,t){if(To&&\\\"function\\\"===typeof To.onCommitFiberUnmount)try{To.onCommitFiberUnmount(So,t)}catch(e){}switch(t.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var r=e=e.next;do{var n=r,o=n.destroy;if(n=n.tag,void 0!==o)if(0!==(4&n))ju(t,r);else{n=t;try{o()}catch(e){zu(n,e)}}r=r.next}while(r!==e)}break;case 1:if(gl(t),\\\"function\\\"===typeof(e=t.stateNode).componentWillUnmount)try{e.props=t.memoizedProps,e.state=t.memoizedState,e.componentWillUnmount()}catch(e){zu(t,e)}break;case 5:gl(t);break;case 4:Tl(e,t)}}function wl(e){e.alternate=null,e.child=null,e.dependencies=null,e.firstEffect=null,e.lastEffect=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.return=null,e.updateQueue=null}function xl(e){return 5===e.tag||3===e.tag||4===e.tag}function kl(e){e:{for(var t=e.return;null!==t;){if(xl(t))break e;t=t.return}throw Error(i(160))}var r=t;switch(t=r.stateNode,r.tag){case 5:var n=!1;break;case 3:case 4:t=t.containerInfo,n=!0;break;default:throw Error(i(161))}16&r.flags&&(ye(t,\\\"\\\"),r.flags&=-17);e:t:for(r=e;;){for(;null===r.sibling;){if(null===r.return||xl(r.return)){r=null;break e}r=r.return}for(r.sibling.return=r.return,r=r.sibling;5!==r.tag&&6!==r.tag&&18!==r.tag;){if(2&r.flags)continue t;if(null===r.child||4===r.tag)continue t;r.child.return=r,r=r.child}if(!(2&r.flags)){r=r.stateNode;break e}}n?El(e,r,t):Sl(e,r,t)}function El(e,t,r){var n=e.tag,o=5===n||6===n;if(o)e=o?e.stateNode:e.stateNode.instance,t?8===r.nodeType?r.parentNode.insertBefore(e,t):r.insertBefore(e,t):(8===r.nodeType?(t=r.parentNode).insertBefore(e,r):(t=r).appendChild(e),null!==(r=r._reactRootContainer)&&void 0!==r||null!==t.onclick||(t.onclick=zn));else if(4!==n&&null!==(e=e.child))for(El(e,t,r),e=e.sibling;null!==e;)El(e,t,r),e=e.sibling}function Sl(e,t,r){var n=e.tag,o=5===n||6===n;if(o)e=o?e.stateNode:e.stateNode.instance,t?r.insertBefore(e,t):r.appendChild(e);else if(4!==n&&null!==(e=e.child))for(Sl(e,t,r),e=e.sibling;null!==e;)Sl(e,t,r),e=e.sibling}function Tl(e,t){for(var r,n,o=t,a=!1;;){if(!a){a=o.return;e:for(;;){if(null===a)throw Error(i(160));switch(r=a.stateNode,a.tag){case 5:n=!1;break e;case 3:case 4:r=r.containerInfo,n=!0;break e}a=a.return}a=!0}if(5===o.tag||6===o.tag){e:for(var l=e,u=o,s=u;;)if(bl(l,s),null!==s.child&&4!==s.tag)s.child.return=s,s=s.child;else{if(s===u)break e;for(;null===s.sibling;){if(null===s.return||s.return===u)break e;s=s.return}s.sibling.return=s.return,s=s.sibling}n?(l=r,u=o.stateNode,8===l.nodeType?l.parentNode.removeChild(u):l.removeChild(u)):r.removeChild(o.stateNode)}else if(4===o.tag){if(null!==o.child){r=o.stateNode.containerInfo,n=!0,o.child.return=o,o=o.child;continue}}else if(bl(e,o),null!==o.child){o.child.return=o,o=o.child;continue}if(o===t)break;for(;null===o.sibling;){if(null===o.return||o.return===t)return;4===(o=o.return).tag&&(a=!1)}o.sibling.return=o.return,o=o.sibling}}function _l(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var n=r=r.next;do{3===(3&n.tag)&&(e=n.destroy,n.destroy=void 0,void 0!==e&&e()),n=n.next}while(n!==r)}return;case 1:case 12:case 17:return;case 5:if(null!=(r=t.stateNode)){n=t.memoizedProps;var o=null!==e?e.memoizedProps:n;e=t.type;var a=t.updateQueue;if(t.updateQueue=null,null!==a){for(r[Zn]=n,\\\"input\\\"===e&&\\\"radio\\\"===n.type&&null!=n.name&&te(r,n),Te(e,o),t=Te(e,n),o=0;o<a.length;o+=2){var l=a[o],u=a[o+1];\\\"style\\\"===l?ke(r,u):\\\"dangerouslySetInnerHTML\\\"===l?ve(r,u):\\\"children\\\"===l?ye(r,u):w(r,l,u,t)}switch(e){case\\\"input\\\":re(r,n);break;case\\\"textarea\\\":se(r,n);break;case\\\"select\\\":e=r._wrapperState.wasMultiple,r._wrapperState.wasMultiple=!!n.multiple,null!=(a=n.value)?ie(r,!!n.multiple,a,!1):e!==!!n.multiple&&(null!=n.defaultValue?ie(r,!!n.multiple,n.defaultValue,!0):ie(r,!!n.multiple,n.multiple?[]:\\\"\\\",!1))}}}return;case 6:if(null===t.stateNode)throw Error(i(162));return void(t.stateNode.nodeValue=t.memoizedProps);case 3:return void((r=t.stateNode).hydrate&&(r.hydrate=!1,kt(r.containerInfo)));case 13:return null!==t.memoizedState&&(Wl=Ho(),yl(t.child,!0)),void Cl(t);case 19:return void Cl(t);case 23:case 24:return void yl(t,null!==t.memoizedState)}throw Error(i(163))}function Cl(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var r=e.stateNode;null===r&&(r=e.stateNode=new hl),t.forEach((function(t){var n=Bu.bind(null,e,t);r.has(t)||(r.add(t),t.then(n,n))}))}}function Ol(e,t){return null!==e&&(null===(e=e.memoizedState)||null!==e.dehydrated)&&(null!==(t=t.memoizedState)&&null===t.dehydrated)}var Pl=Math.ceil,Rl=x.ReactCurrentDispatcher,Al=x.ReactCurrentOwner,ql=0,Ll=null,Nl=null,Dl=0,Il=0,jl=so(0),Ml=0,Fl=null,zl=0,Ul=0,Bl=0,Vl=0,Hl=null,Wl=0,Gl=1/0;function $l(){Gl=Ho()+500}var Ql,Yl=null,Kl=!1,Xl=null,Jl=null,Zl=!1,eu=null,tu=90,ru=[],nu=[],ou=null,au=0,iu=null,lu=-1,uu=0,su=0,cu=null,fu=!1;function du(){return 0!==(48&ql)?Ho():-1!==lu?lu:lu=Ho()}function pu(e){if(0===(2&(e=e.mode)))return 1;if(0===(4&e))return 99===Wo()?1:2;if(0===uu&&(uu=zl),0!==Xo.transition){0!==su&&(su=null!==Hl?Hl.pendingLanes:0),e=uu;var t=4186112&~su;return 0===(t&=-t)&&(0===(t=(e=4186112&~e)&-e)&&(t=8192)),t}return e=Wo(),0!==(4&ql)&&98===e?e=zt(12,uu):e=zt(e=function(e){switch(e){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}(e),uu),e}function hu(e,t,r){if(50<au)throw au=0,iu=null,Error(i(185));if(null===(e=gu(e,t)))return null;Vt(e,t,r),e===Ll&&(Bl|=t,4===Ml&&yu(e,Dl));var n=Wo();1===t?0!==(8&ql)&&0===(48&ql)?bu(e):(mu(e,r),0===ql&&($l(),Yo())):(0===(4&ql)||98!==n&&99!==n||(null===ou?ou=new Set([e]):ou.add(e)),mu(e,r)),Hl=e}function gu(e,t){e.lanes|=t;var r=e.alternate;for(null!==r&&(r.lanes|=t),r=e,e=e.return;null!==e;)e.childLanes|=t,null!==(r=e.alternate)&&(r.childLanes|=t),r=e,e=e.return;return 3===r.tag?r.stateNode:null}function mu(e,t){for(var r=e.callbackNode,n=e.suspendedLanes,o=e.pingedLanes,a=e.expirationTimes,l=e.pendingLanes;0<l;){var u=31-Ht(l),s=1<<u,c=a[u];if(-1===c){if(0===(s&n)||0!==(s&o)){c=t,jt(s);var f=It;a[u]=10<=f?c+250:6<=f?c+5e3:-1}}else c<=t&&(e.expiredLanes|=s);l&=~s}if(n=Mt(e,e===Ll?Dl:0),t=It,0===n)null!==r&&(r!==Mo&&Oo(r),e.callbackNode=null,e.callbackPriority=0);else{if(null!==r){if(e.callbackPriority===t)return;r!==Mo&&Oo(r)}15===t?(r=bu.bind(null,e),null===zo?(zo=[r],Uo=Co(Lo,Ko)):zo.push(r),r=Mo):14===t?r=Qo(99,bu.bind(null,e)):(r=function(e){switch(e){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(i(358,e))}}(t),r=Qo(r,vu.bind(null,e))),e.callbackPriority=t,e.callbackNode=r}}function vu(e){if(lu=-1,su=uu=0,0!==(48&ql))throw Error(i(327));var t=e.callbackNode;if(Du()&&e.callbackNode!==t)return null;var r=Mt(e,e===Ll?Dl:0);if(0===r)return null;var n=r,o=ql;ql|=16;var a=_u();for(Ll===e&&Dl===n||($l(),Su(e,n));;)try{Pu();break}catch(t){Tu(e,t)}if(na(),Rl.current=a,ql=o,null!==Nl?n=0:(Ll=null,Dl=0,n=Ml),0!==(zl&Bl))Su(e,0);else if(0!==n){if(2===n&&(ql|=64,e.hydrate&&(e.hydrate=!1,$n(e.containerInfo)),0!==(r=Ft(e))&&(n=Cu(e,r))),1===n)throw t=Fl,Su(e,0),yu(e,r),mu(e,Ho()),t;switch(e.finishedWork=e.current.alternate,e.finishedLanes=r,n){case 0:case 1:throw Error(i(345));case 2:case 5:qu(e);break;case 3:if(yu(e,r),(62914560&r)===r&&10<(n=Wl+500-Ho())){if(0!==Mt(e,0))break;if(((o=e.suspendedLanes)&r)!==r){du(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=Wn(qu.bind(null,e),n);break}qu(e);break;case 4:if(yu(e,r),(4186112&r)===r)break;for(n=e.eventTimes,o=-1;0<r;){var l=31-Ht(r);a=1<<l,(l=n[l])>o&&(o=l),r&=~a}if(r=o,10<(r=(120>(r=Ho()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Pl(r/1960))-r)){e.timeoutHandle=Wn(qu.bind(null,e),r);break}qu(e);break;default:throw Error(i(329))}}return mu(e,Ho()),e.callbackNode===t?vu.bind(null,e):null}function yu(e,t){for(t&=~Vl,t&=~Bl,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var r=31-Ht(t),n=1<<r;e[r]=-1,t&=~n}}function bu(e){if(0!==(48&ql))throw Error(i(327));if(Du(),e===Ll&&0!==(e.expiredLanes&Dl)){var t=Dl,r=Cu(e,t);0!==(zl&Bl)&&(r=Cu(e,t=Mt(e,t)))}else r=Cu(e,t=Mt(e,0));if(0!==e.tag&&2===r&&(ql|=64,e.hydrate&&(e.hydrate=!1,$n(e.containerInfo)),0!==(t=Ft(e))&&(r=Cu(e,t))),1===r)throw r=Fl,Su(e,0),yu(e,t),mu(e,Ho()),r;return e.finishedWork=e.current.alternate,e.finishedLanes=t,qu(e),mu(e,Ho()),null}function wu(e,t){var r=ql;ql|=1;try{return e(t)}finally{0===(ql=r)&&($l(),Yo())}}function xu(e,t){var r=ql;ql&=-2,ql|=8;try{return e(t)}finally{0===(ql=r)&&($l(),Yo())}}function ku(e,t){fo(jl,Il),Il|=t,zl|=t}function Eu(){Il=jl.current,co(jl)}function Su(e,t){e.finishedWork=null,e.finishedLanes=0;var r=e.timeoutHandle;if(-1!==r&&(e.timeoutHandle=-1,Gn(r)),null!==Nl)for(r=Nl.return;null!==r;){var n=r;switch(n.tag){case 1:null!==(n=n.type.childContextTypes)&&void 0!==n&&bo();break;case 3:Da(),co(go),co(ho),Ka();break;case 5:ja(n);break;case 4:Da();break;case 13:case 19:co(Ma);break;case 10:oa(n);break;case 23:case 24:Eu()}r=r.return}Ll=e,Nl=Gu(e.current,null),Dl=Il=zl=t,Ml=0,Fl=null,Vl=Bl=Ul=0}function Tu(e,t){for(;;){var r=Nl;try{if(na(),Xa.current=qi,ni){for(var n=ei.memoizedState;null!==n;){var o=n.queue;null!==o&&(o.pending=null),n=n.next}ni=!1}if(Za=0,ri=ti=ei=null,oi=!1,Al.current=null,null===r||null===r.return){Ml=1,Fl=t,Nl=null;break}e:{var a=e,i=r.return,l=r,u=t;if(t=Dl,l.flags|=2048,l.firstEffect=l.lastEffect=null,null!==u&&\\\"object\\\"===typeof u&&\\\"function\\\"===typeof u.then){var s=u;if(0===(2&l.mode)){var c=l.alternate;c?(l.updateQueue=c.updateQueue,l.memoizedState=c.memoizedState,l.lanes=c.lanes):(l.updateQueue=null,l.memoizedState=null)}var f=0!==(1&Ma.current),d=i;do{var p;if(p=13===d.tag){var h=d.memoizedState;if(null!==h)p=null!==h.dehydrated;else{var g=d.memoizedProps;p=void 0!==g.fallback&&(!0!==g.unstable_avoidThisFallback||!f)}}if(p){var m=d.updateQueue;if(null===m){var v=new Set;v.add(s),d.updateQueue=v}else m.add(s);if(0===(2&d.mode)){if(d.flags|=64,l.flags|=16384,l.flags&=-2981,1===l.tag)if(null===l.alternate)l.tag=17;else{var y=fa(-1,1);y.tag=2,da(l,y)}l.lanes|=1;break e}u=void 0,l=t;var b=a.pingCache;if(null===b?(b=a.pingCache=new fl,u=new Set,b.set(s,u)):void 0===(u=b.get(s))&&(u=new Set,b.set(s,u)),!u.has(l)){u.add(l);var w=Uu.bind(null,a,s,l);s.then(w,w)}d.flags|=4096,d.lanes=t;break e}d=d.return}while(null!==d);u=Error(($(l.type)||\\\"A React component\\\")+\\\" suspended while rendering, but no fallback UI was specified.\\\\n\\\\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.\\\")}5!==Ml&&(Ml=2),u=sl(u,l),d=i;do{switch(d.tag){case 3:a=u,d.flags|=4096,t&=-t,d.lanes|=t,pa(d,dl(0,a,t));break e;case 1:a=u;var x=d.type,k=d.stateNode;if(0===(64&d.flags)&&(\\\"function\\\"===typeof x.getDerivedStateFromError||null!==k&&\\\"function\\\"===typeof k.componentDidCatch&&(null===Jl||!Jl.has(k)))){d.flags|=4096,t&=-t,d.lanes|=t,pa(d,pl(d,a,t));break e}}d=d.return}while(null!==d)}Au(r)}catch(e){t=e,Nl===r&&null!==r&&(Nl=r=r.return);continue}break}}function _u(){var e=Rl.current;return Rl.current=qi,null===e?qi:e}function Cu(e,t){var r=ql;ql|=16;var n=_u();for(Ll===e&&Dl===t||Su(e,t);;)try{Ou();break}catch(t){Tu(e,t)}if(na(),ql=r,Rl.current=n,null!==Nl)throw Error(i(261));return Ll=null,Dl=0,Ml}function Ou(){for(;null!==Nl;)Ru(Nl)}function Pu(){for(;null!==Nl&&!Po();)Ru(Nl)}function Ru(e){var t=Ql(e.alternate,e,Il);e.memoizedProps=e.pendingProps,null===t?Au(e):Nl=t,Al.current=null}function Au(e){var t=e;do{var r=t.alternate;if(e=t.return,0===(2048&t.flags)){if(null!==(r=ll(r,t,Il)))return void(Nl=r);if(24!==(r=t).tag&&23!==r.tag||null===r.memoizedState||0!==(1073741824&Il)||0===(4&r.mode)){for(var n=0,o=r.child;null!==o;)n|=o.lanes|o.childLanes,o=o.sibling;r.childLanes=n}null!==e&&0===(2048&e.flags)&&(null===e.firstEffect&&(e.firstEffect=t.firstEffect),null!==t.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=t.firstEffect),e.lastEffect=t.lastEffect),1<t.flags&&(null!==e.lastEffect?e.lastEffect.nextEffect=t:e.firstEffect=t,e.lastEffect=t))}else{if(null!==(r=ul(t)))return r.flags&=2047,void(Nl=r);null!==e&&(e.firstEffect=e.lastEffect=null,e.flags|=2048)}if(null!==(t=t.sibling))return void(Nl=t);Nl=t=e}while(null!==t);0===Ml&&(Ml=5)}function qu(e){var t=Wo();return $o(99,Lu.bind(null,e,t)),null}function Lu(e,t){do{Du()}while(null!==eu);if(0!==(48&ql))throw Error(i(327));var r=e.finishedWork;if(null===r)return null;if(e.finishedWork=null,e.finishedLanes=0,r===e.current)throw Error(i(177));e.callbackNode=null;var n=r.lanes|r.childLanes,o=n,a=e.pendingLanes&~o;e.pendingLanes=o,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=o,e.mutableReadLanes&=o,e.entangledLanes&=o,o=e.entanglements;for(var l=e.eventTimes,u=e.expirationTimes;0<a;){var s=31-Ht(a),c=1<<s;o[s]=0,l[s]=-1,u[s]=-1,a&=~c}if(null!==ou&&0===(24&n)&&ou.has(e)&&ou.delete(e),e===Ll&&(Nl=Ll=null,Dl=0),1<r.flags?null!==r.lastEffect?(r.lastEffect.nextEffect=r,n=r.firstEffect):n=r:n=r.firstEffect,null!==n){if(o=ql,ql|=32,Al.current=null,Un=Yt,vn(l=mn())){if(\\\"selectionStart\\\"in l)u={start:l.selectionStart,end:l.selectionEnd};else e:if(u=(u=l.ownerDocument)&&u.defaultView||window,(c=u.getSelection&&u.getSelection())&&0!==c.rangeCount){u=c.anchorNode,a=c.anchorOffset,s=c.focusNode,c=c.focusOffset;try{u.nodeType,s.nodeType}catch(e){u=null;break e}var f=0,d=-1,p=-1,h=0,g=0,m=l,v=null;t:for(;;){for(var y;m!==u||0!==a&&3!==m.nodeType||(d=f+a),m!==s||0!==c&&3!==m.nodeType||(p=f+c),3===m.nodeType&&(f+=m.nodeValue.length),null!==(y=m.firstChild);)v=m,m=y;for(;;){if(m===l)break t;if(v===u&&++h===a&&(d=f),v===s&&++g===c&&(p=f),null!==(y=m.nextSibling))break;v=(m=v).parentNode}m=y}u=-1===d||-1===p?null:{start:d,end:p}}else u=null;u=u||{start:0,end:0}}else u=null;Bn={focusedElem:l,selectionRange:u},Yt=!1,cu=null,fu=!1,Yl=n;do{try{Nu()}catch(e){if(null===Yl)throw Error(i(330));zu(Yl,e),Yl=Yl.nextEffect}}while(null!==Yl);cu=null,Yl=n;do{try{for(l=e;null!==Yl;){var b=Yl.flags;if(16&b&&ye(Yl.stateNode,\\\"\\\"),128&b){var w=Yl.alternate;if(null!==w){var x=w.ref;null!==x&&(\\\"function\\\"===typeof x?x(null):x.current=null)}}switch(1038&b){case 2:kl(Yl),Yl.flags&=-3;break;case 6:kl(Yl),Yl.flags&=-3,_l(Yl.alternate,Yl);break;case 1024:Yl.flags&=-1025;break;case 1028:Yl.flags&=-1025,_l(Yl.alternate,Yl);break;case 4:_l(Yl.alternate,Yl);break;case 8:Tl(l,u=Yl);var k=u.alternate;wl(u),null!==k&&wl(k)}Yl=Yl.nextEffect}}catch(e){if(null===Yl)throw Error(i(330));zu(Yl,e),Yl=Yl.nextEffect}}while(null!==Yl);if(x=Bn,w=mn(),b=x.focusedElem,l=x.selectionRange,w!==b&&b&&b.ownerDocument&&gn(b.ownerDocument.documentElement,b)){null!==l&&vn(b)&&(w=l.start,void 0===(x=l.end)&&(x=w),\\\"selectionStart\\\"in b?(b.selectionStart=w,b.selectionEnd=Math.min(x,b.value.length)):(x=(w=b.ownerDocument||document)&&w.defaultView||window).getSelection&&(x=x.getSelection(),u=b.textContent.length,k=Math.min(l.start,u),l=void 0===l.end?k:Math.min(l.end,u),!x.extend&&k>l&&(u=l,l=k,k=u),u=hn(b,k),a=hn(b,l),u&&a&&(1!==x.rangeCount||x.anchorNode!==u.node||x.anchorOffset!==u.offset||x.focusNode!==a.node||x.focusOffset!==a.offset)&&((w=w.createRange()).setStart(u.node,u.offset),x.removeAllRanges(),k>l?(x.addRange(w),x.extend(a.node,a.offset)):(w.setEnd(a.node,a.offset),x.addRange(w))))),w=[];for(x=b;x=x.parentNode;)1===x.nodeType&&w.push({element:x,left:x.scrollLeft,top:x.scrollTop});for(\\\"function\\\"===typeof b.focus&&b.focus(),b=0;b<w.length;b++)(x=w[b]).element.scrollLeft=x.left,x.element.scrollTop=x.top}Yt=!!Un,Bn=Un=null,e.current=r,Yl=n;do{try{for(b=e;null!==Yl;){var E=Yl.flags;if(36&E&&vl(b,Yl.alternate,Yl),128&E){w=void 0;var S=Yl.ref;if(null!==S){var T=Yl.stateNode;Yl.tag,w=T,\\\"function\\\"===typeof S?S(w):S.current=w}}Yl=Yl.nextEffect}}catch(e){if(null===Yl)throw Error(i(330));zu(Yl,e),Yl=Yl.nextEffect}}while(null!==Yl);Yl=null,Fo(),ql=o}else e.current=r;if(Zl)Zl=!1,eu=e,tu=t;else for(Yl=n;null!==Yl;)t=Yl.nextEffect,Yl.nextEffect=null,8&Yl.flags&&((E=Yl).sibling=null,E.stateNode=null),Yl=t;if(0===(n=e.pendingLanes)&&(Jl=null),1===n?e===iu?au++:(au=0,iu=e):au=0,r=r.stateNode,To&&\\\"function\\\"===typeof To.onCommitFiberRoot)try{To.onCommitFiberRoot(So,r,void 0,64===(64&r.current.flags))}catch(e){}if(mu(e,Ho()),Kl)throw Kl=!1,e=Xl,Xl=null,e;return 0!==(8&ql)||Yo(),null}function Nu(){for(;null!==Yl;){var e=Yl.alternate;fu||null===cu||(0!==(8&Yl.flags)?et(Yl,cu)&&(fu=!0):13===Yl.tag&&Ol(e,Yl)&&et(Yl,cu)&&(fu=!0));var t=Yl.flags;0!==(256&t)&&ml(e,Yl),0===(512&t)||Zl||(Zl=!0,Qo(97,(function(){return Du(),null}))),Yl=Yl.nextEffect}}function Du(){if(90!==tu){var e=97<tu?97:tu;return tu=90,$o(e,Mu)}return!1}function Iu(e,t){ru.push(t,e),Zl||(Zl=!0,Qo(97,(function(){return Du(),null})))}function ju(e,t){nu.push(t,e),Zl||(Zl=!0,Qo(97,(function(){return Du(),null})))}function Mu(){if(null===eu)return!1;var e=eu;if(eu=null,0!==(48&ql))throw Error(i(331));var t=ql;ql|=32;var r=nu;nu=[];for(var n=0;n<r.length;n+=2){var o=r[n],a=r[n+1],l=o.destroy;if(o.destroy=void 0,\\\"function\\\"===typeof l)try{l()}catch(e){if(null===a)throw Error(i(330));zu(a,e)}}for(r=ru,ru=[],n=0;n<r.length;n+=2){o=r[n],a=r[n+1];try{var u=o.create;o.destroy=u()}catch(e){if(null===a)throw Error(i(330));zu(a,e)}}for(u=e.current.firstEffect;null!==u;)e=u.nextEffect,u.nextEffect=null,8&u.flags&&(u.sibling=null,u.stateNode=null),u=e;return ql=t,Yo(),!0}function Fu(e,t,r){da(e,t=dl(0,t=sl(r,t),1)),t=du(),null!==(e=gu(e,1))&&(Vt(e,1,t),mu(e,t))}function zu(e,t){if(3===e.tag)Fu(e,e,t);else for(var r=e.return;null!==r;){if(3===r.tag){Fu(r,e,t);break}if(1===r.tag){var n=r.stateNode;if(\\\"function\\\"===typeof r.type.getDerivedStateFromError||\\\"function\\\"===typeof n.componentDidCatch&&(null===Jl||!Jl.has(n))){var o=pl(r,e=sl(t,e),1);if(da(r,o),o=du(),null!==(r=gu(r,1)))Vt(r,1,o),mu(r,o);else if(\\\"function\\\"===typeof n.componentDidCatch&&(null===Jl||!Jl.has(n)))try{n.componentDidCatch(t,e)}catch(e){}break}}r=r.return}}function Uu(e,t,r){var n=e.pingCache;null!==n&&n.delete(t),t=du(),e.pingedLanes|=e.suspendedLanes&r,Ll===e&&(Dl&r)===r&&(4===Ml||3===Ml&&(62914560&Dl)===Dl&&500>Ho()-Wl?Su(e,0):Vl|=r),mu(e,t)}function Bu(e,t){var r=e.stateNode;null!==r&&r.delete(t),0===(t=0)&&(0===(2&(t=e.mode))?t=1:0===(4&t)?t=99===Wo()?1:2:(0===uu&&(uu=zl),0===(t=Ut(62914560&~uu))&&(t=4194304))),r=du(),null!==(e=gu(e,t))&&(Vt(e,t,r),mu(e,r))}function Vu(e,t,r,n){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.flags=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childLanes=this.lanes=0,this.alternate=null}function Hu(e,t,r,n){return new Vu(e,t,r,n)}function Wu(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Gu(e,t){var r=e.alternate;return null===r?((r=Hu(e.tag,t,e.key,e.mode)).elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.type=e.type,r.flags=0,r.nextEffect=null,r.firstEffect=null,r.lastEffect=null),r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,t=e.dependencies,r.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function $u(e,t,r,n,o,a){var l=2;if(n=e,\\\"function\\\"===typeof e)Wu(e)&&(l=1);else if(\\\"string\\\"===typeof e)l=5;else e:switch(e){case S:return Qu(r.children,o,a,t);case I:l=8,o|=16;break;case T:l=8,o|=1;break;case _:return(e=Hu(12,r,t,8|o)).elementType=_,e.type=_,e.lanes=a,e;case R:return(e=Hu(13,r,t,o)).type=R,e.elementType=R,e.lanes=a,e;case A:return(e=Hu(19,r,t,o)).elementType=A,e.lanes=a,e;case j:return Yu(r,o,a,t);case M:return(e=Hu(24,r,t,o)).elementType=M,e.lanes=a,e;default:if(\\\"object\\\"===typeof e&&null!==e)switch(e.$$typeof){case C:l=10;break e;case O:l=9;break e;case P:l=11;break e;case q:l=14;break e;case L:l=16,n=null;break e;case N:l=22;break e}throw Error(i(130,null==e?e:typeof e,\\\"\\\"))}return(t=Hu(l,r,t,o)).elementType=e,t.type=n,t.lanes=a,t}function Qu(e,t,r,n){return(e=Hu(7,e,n,t)).lanes=r,e}function Yu(e,t,r,n){return(e=Hu(23,e,n,t)).elementType=j,e.lanes=r,e}function Ku(e,t,r){return(e=Hu(6,e,null,t)).lanes=r,e}function Xu(e,t,r){return(t=Hu(4,null!==e.children?e.children:[],e.key,t)).lanes=r,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Ju(e,t,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=r,this.callbackNode=null,this.callbackPriority=0,this.eventTimes=Bt(0),this.expirationTimes=Bt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Bt(0),this.mutableSourceEagerHydrationData=null}function Zu(e,t,r){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:E,key:null==n?null:\\\"\\\"+n,children:e,containerInfo:t,implementation:r}}function es(e,t,r,n){var o=t.current,a=du(),l=pu(o);e:if(r){t:{if(Ke(r=r._reactInternals)!==r||1!==r.tag)throw Error(i(170));var u=r;do{switch(u.tag){case 3:u=u.stateNode.context;break t;case 1:if(yo(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break t}}u=u.return}while(null!==u);throw Error(i(171))}if(1===r.tag){var s=r.type;if(yo(s)){r=xo(r,s,u);break e}}r=u}else r=po;return null===t.context?t.context=r:t.pendingContext=r,(t=fa(a,l)).payload={element:e},null!==(n=void 0===n?null:n)&&(t.callback=n),da(o,t),hu(o,l,a),l}function ts(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function rs(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var r=e.retryLane;e.retryLane=0!==r&&r<t?r:t}}function ns(e,t){rs(e,t),(e=e.alternate)&&rs(e,t)}function os(e,t,r){var n=null!=r&&null!=r.hydrationOptions&&r.hydrationOptions.mutableSources||null;if(r=new Ju(e,t,null!=r&&!0===r.hydrate),t=Hu(3,null,null,2===t?7:1===t?3:0),r.current=t,t.stateNode=r,sa(t),e[eo]=r.current,qn(8===e.nodeType?e.parentNode:e),n)for(e=0;e<n.length;e++){var o=(t=n[e])._getVersion;o=o(t._source),null==r.mutableSourceEagerHydrationData?r.mutableSourceEagerHydrationData=[t,o]:r.mutableSourceEagerHydrationData.push(t,o)}this._internalRoot=r}function as(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||\\\" react-mount-point-unstable \\\"!==e.nodeValue))}function is(e,t,r,n,o){var a=r._reactRootContainer;if(a){var i=a._internalRoot;if(\\\"function\\\"===typeof o){var l=o;o=function(){var e=ts(i);l.call(e)}}es(t,i,e,o)}else{if(a=r._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute(\\\"data-reactroot\\\"))),!t)for(var r;r=e.lastChild;)e.removeChild(r);return new os(e,0,t?{hydrate:!0}:void 0)}(r,n),i=a._internalRoot,\\\"function\\\"===typeof o){var u=o;o=function(){var e=ts(i);u.call(e)}}xu((function(){es(t,i,e,o)}))}return ts(i)}function ls(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!as(t))throw Error(i(200));return Zu(e,t,null,r)}Ql=function(e,t,r){var n=t.lanes;if(null!==e)if(e.memoizedProps!==t.pendingProps||go.current)ji=!0;else{if(0===(r&n)){switch(ji=!1,t.tag){case 3:$i(t),Qa();break;case 5:Ia(t);break;case 1:yo(t.type)&&ko(t);break;case 4:Na(t,t.stateNode.containerInfo);break;case 10:n=t.memoizedProps.value;var o=t.type._context;fo(Zo,o._currentValue),o._currentValue=n;break;case 13:if(null!==t.memoizedState)return 0!==(r&t.child.childLanes)?Ji(e,t,r):(fo(Ma,1&Ma.current),null!==(t=al(e,t,r))?t.sibling:null);fo(Ma,1&Ma.current);break;case 19:if(n=0!==(r&t.childLanes),0!==(64&e.flags)){if(n)return ol(e,t,r);t.flags|=64}if(null!==(o=t.memoizedState)&&(o.rendering=null,o.tail=null,o.lastEffect=null),fo(Ma,Ma.current),n)break;return null;case 23:case 24:return t.lanes=0,Bi(e,t,r)}return al(e,t,r)}ji=0!==(16384&e.flags)}else ji=!1;switch(t.lanes=0,t.tag){case 2:if(n=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,o=vo(t,ho.current),ia(t,r),o=li(null,t,n,e,o,r),t.flags|=1,\\\"object\\\"===typeof o&&null!==o&&\\\"function\\\"===typeof o.render&&void 0===o.$$typeof){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,yo(n)){var a=!0;ko(t)}else a=!1;t.memoizedState=null!==o.state&&void 0!==o.state?o.state:null,sa(t);var l=n.getDerivedStateFromProps;\\\"function\\\"===typeof l&&va(t,n,l,e),o.updater=ya,t.stateNode=o,o._reactInternals=t,ka(t,n,e,r),t=Gi(null,t,n,!0,a,r)}else t.tag=0,Mi(null,t,o,r),t=t.child;return t;case 16:o=t.elementType;e:{switch(null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,o=(a=o._init)(o._payload),t.type=o,a=t.tag=function(e){if(\\\"function\\\"===typeof e)return Wu(e)?1:0;if(void 0!==e&&null!==e){if((e=e.$$typeof)===P)return 11;if(e===q)return 14}return 2}(o),e=Jo(o,e),a){case 0:t=Hi(null,t,o,e,r);break e;case 1:t=Wi(null,t,o,e,r);break e;case 11:t=Fi(null,t,o,e,r);break e;case 14:t=zi(null,t,o,Jo(o.type,e),n,r);break e}throw Error(i(306,o,\\\"\\\"))}return t;case 0:return n=t.type,o=t.pendingProps,Hi(e,t,n,o=t.elementType===n?o:Jo(n,o),r);case 1:return n=t.type,o=t.pendingProps,Wi(e,t,n,o=t.elementType===n?o:Jo(n,o),r);case 3:if($i(t),n=t.updateQueue,null===e||null===n)throw Error(i(282));if(n=t.pendingProps,o=null!==(o=t.memoizedState)?o.element:null,ca(e,t),ha(t,n,null,r),(n=t.memoizedState.element)===o)Qa(),t=al(e,t,r);else{if((a=(o=t.stateNode).hydrate)&&(Ua=Qn(t.stateNode.containerInfo.firstChild),za=t,a=Ba=!0),a){if(null!=(e=o.mutableSourceEagerHydrationData))for(o=0;o<e.length;o+=2)(a=e[o])._workInProgressVersionPrimary=e[o+1],Ya.push(a);for(r=Oa(t,null,n,r),t.child=r;r;)r.flags=-3&r.flags|1024,r=r.sibling}else Mi(e,t,n,r),Qa();t=t.child}return t;case 5:return Ia(t),null===e&&Wa(t),n=t.type,o=t.pendingProps,a=null!==e?e.memoizedProps:null,l=o.children,Hn(n,o)?l=null:null!==a&&Hn(n,a)&&(t.flags|=16),Vi(e,t),Mi(e,t,l,r),t.child;case 6:return null===e&&Wa(t),null;case 13:return Ji(e,t,r);case 4:return Na(t,t.stateNode.containerInfo),n=t.pendingProps,null===e?t.child=Ca(t,null,n,r):Mi(e,t,n,r),t.child;case 11:return n=t.type,o=t.pendingProps,Fi(e,t,n,o=t.elementType===n?o:Jo(n,o),r);case 7:return Mi(e,t,t.pendingProps,r),t.child;case 8:case 12:return Mi(e,t,t.pendingProps.children,r),t.child;case 10:e:{n=t.type._context,o=t.pendingProps,l=t.memoizedProps,a=o.value;var u=t.type._context;if(fo(Zo,u._currentValue),u._currentValue=a,null!==l)if(u=l.value,0===(a=cn(u,a)?0:0|(\\\"function\\\"===typeof n._calculateChangedBits?n._calculateChangedBits(u,a):1073741823))){if(l.children===o.children&&!go.current){t=al(e,t,r);break e}}else for(null!==(u=t.child)&&(u.return=t);null!==u;){var s=u.dependencies;if(null!==s){l=u.child;for(var c=s.firstContext;null!==c;){if(c.context===n&&0!==(c.observedBits&a)){1===u.tag&&((c=fa(-1,r&-r)).tag=2,da(u,c)),u.lanes|=r,null!==(c=u.alternate)&&(c.lanes|=r),aa(u.return,r),s.lanes|=r;break}c=c.next}}else l=10===u.tag&&u.type===t.type?null:u.child;if(null!==l)l.return=u;else for(l=u;null!==l;){if(l===t){l=null;break}if(null!==(u=l.sibling)){u.return=l.return,l=u;break}l=l.return}u=l}Mi(e,t,o.children,r),t=t.child}return t;case 9:return o=t.type,n=(a=t.pendingProps).children,ia(t,r),n=n(o=la(o,a.unstable_observedBits)),t.flags|=1,Mi(e,t,n,r),t.child;case 14:return a=Jo(o=t.type,t.pendingProps),zi(e,t,o,a=Jo(o.type,a),n,r);case 15:return Ui(e,t,t.type,t.pendingProps,n,r);case 17:return n=t.type,o=t.pendingProps,o=t.elementType===n?o:Jo(n,o),null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),t.tag=1,yo(n)?(e=!0,ko(t)):e=!1,ia(t,r),wa(t,n,o),ka(t,n,o,r),Gi(null,t,n,!0,e,r);case 19:return ol(e,t,r);case 23:case 24:return Bi(e,t,r)}throw Error(i(156,t.tag))},os.prototype.render=function(e){es(e,this._internalRoot,null,null)},os.prototype.unmount=function(){var e=this._internalRoot,t=e.containerInfo;es(null,e,null,(function(){t[eo]=null}))},tt=function(e){13===e.tag&&(hu(e,4,du()),ns(e,4))},rt=function(e){13===e.tag&&(hu(e,67108864,du()),ns(e,67108864))},nt=function(e){if(13===e.tag){var t=du(),r=pu(e);hu(e,r,t),ns(e,r)}},ot=function(e,t){return t()},Ce=function(e,t,r){switch(t){case\\\"input\\\":if(re(e,r),t=r.name,\\\"radio\\\"===r.type&&null!=t){for(r=e;r.parentNode;)r=r.parentNode;for(r=r.querySelectorAll(\\\"input[name=\\\"+JSON.stringify(\\\"\\\"+t)+'][type=\\\"radio\\\"]'),t=0;t<r.length;t++){var n=r[t];if(n!==e&&n.form===e.form){var o=ao(n);if(!o)throw Error(i(90));X(n),re(n,o)}}}break;case\\\"textarea\\\":se(e,r);break;case\\\"select\\\":null!=(t=r.value)&&ie(e,!!r.multiple,t,!1)}},Le=wu,Ne=function(e,t,r,n,o){var a=ql;ql|=4;try{return $o(98,e.bind(null,t,r,n,o))}finally{0===(ql=a)&&($l(),Yo())}},De=function(){0===(49&ql)&&(function(){if(null!==ou){var e=ou;ou=null,e.forEach((function(e){e.expiredLanes|=24&e.pendingLanes,mu(e,Ho())}))}Yo()}(),Du())},Ie=function(e,t){var r=ql;ql|=2;try{return e(t)}finally{0===(ql=r)&&($l(),Yo())}};var us={Events:[no,oo,ao,Ae,qe,Du,{current:!1}]},ss={findFiberByHostInstance:ro,bundleType:0,version:\\\"17.0.2\\\",rendererPackageName:\\\"react-dom\\\"},cs={bundleType:ss.bundleType,version:ss.version,rendererPackageName:ss.rendererPackageName,rendererConfig:ss.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:x.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ze(e))?null:e.stateNode},findFiberByHostInstance:ss.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if(\\\"undefined\\\"!==typeof{}){var fs={};if(!fs.isDisabled&&fs.supportsFiber)try{So=fs.inject(cs),To=fs}catch(me){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=us,t.createPortal=ls,t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if(\\\"function\\\"===typeof e.render)throw Error(i(188));throw Error(i(268,Object.keys(e)))}return e=null===(e=Ze(t))?null:e.stateNode},t.flushSync=function(e,t){var r=ql;if(0!==(48&r))return e(t);ql|=1;try{if(e)return $o(99,e.bind(null,t))}finally{ql=r,Yo()}},t.hydrate=function(e,t,r){if(!as(t))throw Error(i(200));return is(null,e,t,!0,r)},t.render=function(e,t,r){if(!as(t))throw Error(i(200));return is(null,e,t,!1,r)},t.unmountComponentAtNode=function(e){if(!as(e))throw Error(i(40));return!!e._reactRootContainer&&(xu((function(){is(null,null,e,!1,(function(){e._reactRootContainer=null,e[eo]=null}))})),!0)},t.unstable_batchedUpdates=wu,t.unstable_createPortal=function(e,t){return ls(e,t,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)},t.unstable_renderSubtreeIntoContainer=function(e,t,r,n){if(!as(r))throw Error(i(200));if(null==e||void 0===e._reactInternals)throw Error(i(38));return is(e,t,r,!1,n)},t.version=\\\"17.0.2\\\"},2171:(e,t,r)=>{\\\"use strict\\\";!function e(){if(\\\"undefined\\\"!==typeof{}&&\\\"function\\\"===typeof{}.checkDCE)try{({}).checkDCE(e)}catch(e){console.error(e)}}(),e.exports=r(2015)},5931:(e,t,r)=>{\\\"use strict\\\";var n=r(9934),o=60103,a=60106;t.Fragment=60107,t.StrictMode=60108,t.Profiler=60114;var i=60109,l=60110,u=60112;t.Suspense=60113;var s=60115,c=60116;if(\\\"function\\\"===typeof Symbol&&Symbol.for){var f=Symbol.for;o=f(\\\"react.element\\\"),a=f(\\\"react.portal\\\"),t.Fragment=f(\\\"react.fragment\\\"),t.StrictMode=f(\\\"react.strict_mode\\\"),t.Profiler=f(\\\"react.profiler\\\"),i=f(\\\"react.provider\\\"),l=f(\\\"react.context\\\"),u=f(\\\"react.forward_ref\\\"),t.Suspense=f(\\\"react.suspense\\\"),s=f(\\\"react.memo\\\"),c=f(\\\"react.lazy\\\")}var d=\\\"function\\\"===typeof Symbol&&Symbol.iterator;function p(e){for(var t=\\\"https://reactjs.org/docs/error-decoder.html?invariant=\\\"+e,r=1;r<arguments.length;r++)t+=\\\"&args[]=\\\"+encodeURIComponent(arguments[r]);return\\\"Minified React error #\\\"+e+\\\"; visit \\\"+t+\\\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\\\"}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g={};function m(e,t,r){this.props=e,this.context=t,this.refs=g,this.updater=r||h}function v(){}function y(e,t,r){this.props=e,this.context=t,this.refs=g,this.updater=r||h}m.prototype.isReactComponent={},m.prototype.setState=function(e,t){if(\\\"object\\\"!==typeof e&&\\\"function\\\"!==typeof e&&null!=e)throw Error(p(85));this.updater.enqueueSetState(this,e,t,\\\"setState\\\")},m.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,\\\"forceUpdate\\\")},v.prototype=m.prototype;var b=y.prototype=new v;b.constructor=y,n(b,m.prototype),b.isPureReactComponent=!0;var w={current:null},x=Object.prototype.hasOwnProperty,k={key:!0,ref:!0,__self:!0,__source:!0};function E(e,t,r){var n,a={},i=null,l=null;if(null!=t)for(n in void 0!==t.ref&&(l=t.ref),void 0!==t.key&&(i=\\\"\\\"+t.key),t)x.call(t,n)&&!k.hasOwnProperty(n)&&(a[n]=t[n]);var u=arguments.length-2;if(1===u)a.children=r;else if(1<u){for(var s=Array(u),c=0;c<u;c++)s[c]=arguments[c+2];a.children=s}if(e&&e.defaultProps)for(n in u=e.defaultProps)void 0===a[n]&&(a[n]=u[n]);return{$$typeof:o,type:e,key:i,ref:l,props:a,_owner:w.current}}function S(e){return\\\"object\\\"===typeof e&&null!==e&&e.$$typeof===o}var T=/\\\\/+/g;function _(e,t){return\\\"object\\\"===typeof e&&null!==e&&null!=e.key?function(e){var t={\\\"=\\\":\\\"=0\\\",\\\":\\\":\\\"=2\\\"};return\\\"$\\\"+e.replace(/[=:]/g,(function(e){return t[e]}))}(\\\"\\\"+e.key):t.toString(36)}function C(e,t,r,n,i){var l=typeof e;\\\"undefined\\\"!==l&&\\\"boolean\\\"!==l||(e=null);var u=!1;if(null===e)u=!0;else switch(l){case\\\"string\\\":case\\\"number\\\":u=!0;break;case\\\"object\\\":switch(e.$$typeof){case o:case a:u=!0}}if(u)return i=i(u=e),e=\\\"\\\"===n?\\\".\\\"+_(u,0):n,Array.isArray(i)?(r=\\\"\\\",null!=e&&(r=e.replace(T,\\\"$&/\\\")+\\\"/\\\"),C(i,t,r,\\\"\\\",(function(e){return e}))):null!=i&&(S(i)&&(i=function(e,t){return{$$typeof:o,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(i,r+(!i.key||u&&u.key===i.key?\\\"\\\":(\\\"\\\"+i.key).replace(T,\\\"$&/\\\")+\\\"/\\\")+e)),t.push(i)),1;if(u=0,n=\\\"\\\"===n?\\\".\\\":n+\\\":\\\",Array.isArray(e))for(var s=0;s<e.length;s++){var c=n+_(l=e[s],s);u+=C(l,t,r,c,i)}else if(c=function(e){return null===e||\\\"object\\\"!==typeof e?null:\\\"function\\\"===typeof(e=d&&e[d]||e[\\\"@@iterator\\\"])?e:null}(e),\\\"function\\\"===typeof c)for(e=c.call(e),s=0;!(l=e.next()).done;)u+=C(l=l.value,t,r,c=n+_(l,s++),i);else if(\\\"object\\\"===l)throw t=\\\"\\\"+e,Error(p(31,\\\"[object Object]\\\"===t?\\\"object with keys {\\\"+Object.keys(e).join(\\\", \\\")+\\\"}\\\":t));return u}function O(e,t,r){if(null==e)return e;var n=[],o=0;return C(e,n,\\\"\\\",\\\"\\\",(function(e){return t.call(r,e,o++)})),n}function P(e){if(-1===e._status){var t=e._result;t=t(),e._status=0,e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}if(1===e._status)return e._result;throw e._result}var R={current:null};function A(){var e=R.current;if(null===e)throw Error(p(321));return e}var q={ReactCurrentDispatcher:R,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:w,IsSomeRendererActing:{current:!1},assign:n};t.Children={map:O,forEach:function(e,t,r){O(e,(function(){t.apply(this,arguments)}),r)},count:function(e){var t=0;return O(e,(function(){t++})),t},toArray:function(e){return O(e,(function(e){return e}))||[]},only:function(e){if(!S(e))throw Error(p(143));return e}},t.Component=m,t.PureComponent=y,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=q,t.cloneElement=function(e,t,r){if(null===e||void 0===e)throw Error(p(267,e));var a=n({},e.props),i=e.key,l=e.ref,u=e._owner;if(null!=t){if(void 0!==t.ref&&(l=t.ref,u=w.current),void 0!==t.key&&(i=\\\"\\\"+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(c in t)x.call(t,c)&&!k.hasOwnProperty(c)&&(a[c]=void 0===t[c]&&void 0!==s?s[c]:t[c])}var c=arguments.length-2;if(1===c)a.children=r;else if(1<c){s=Array(c);for(var f=0;f<c;f++)s[f]=arguments[f+2];a.children=s}return{$$typeof:o,type:e.type,key:i,ref:l,props:a,_owner:u}},t.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:l,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:i,_context:e},e.Consumer=e},t.createElement=E,t.createFactory=function(e){var t=E.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:u,render:e}},t.isValidElement=S,t.lazy=function(e){return{$$typeof:c,_payload:{_status:-1,_result:e},_init:P}},t.memo=function(e,t){return{$$typeof:s,type:e,compare:void 0===t?null:t}},t.useCallback=function(e,t){return A().useCallback(e,t)},t.useContext=function(e,t){return A().useContext(e,t)},t.useDebugValue=function(){},t.useEffect=function(e,t){return A().useEffect(e,t)},t.useImperativeHandle=function(e,t,r){return A().useImperativeHandle(e,t,r)},t.useLayoutEffect=function(e,t){return A().useLayoutEffect(e,t)},t.useMemo=function(e,t){return A().useMemo(e,t)},t.useReducer=function(e,t,r){return A().useReducer(e,t,r)},t.useRef=function(e){return A().useRef(e)},t.useState=function(e){return A().useState(e)},t.version=\\\"17.0.2\\\"},6346:(e,t,r)=>{\\\"use strict\\\";e.exports=r(5931)},2205:e=>{var t=function(e){\\\"use strict\\\";var t,r=Object.prototype,n=r.hasOwnProperty,o=\\\"function\\\"===typeof Symbol?Symbol:{},a=o.iterator||\\\"@@iterator\\\",i=o.asyncIterator||\\\"@@asyncIterator\\\",l=o.toStringTag||\\\"@@toStringTag\\\";function u(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},\\\"\\\")}catch(e){u=function(e,t,r){return e[t]=r}}function s(e,t,r,n){var o=t&&t.prototype instanceof m?t:m,a=Object.create(o.prototype),i=new O(n||[]);return a._invoke=function(e,t,r){var n=f;return function(o,a){if(n===p)throw new Error(\\\"Generator is already running\\\");if(n===h){if(\\\"throw\\\"===o)throw a;return R()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var l=T(i,r);if(l){if(l===g)continue;return l}}if(\\\"next\\\"===r.method)r.sent=r._sent=r.arg;else if(\\\"throw\\\"===r.method){if(n===f)throw n=h,r.arg;r.dispatchException(r.arg)}else\\\"return\\\"===r.method&&r.abrupt(\\\"return\\\",r.arg);n=p;var u=c(e,t,r);if(\\\"normal\\\"===u.type){if(n=r.done?h:d,u.arg===g)continue;return{value:u.arg,done:r.done}}\\\"throw\\\"===u.type&&(n=h,r.method=\\\"throw\\\",r.arg=u.arg)}}}(e,r,i),a}function c(e,t,r){try{return{type:\\\"normal\\\",arg:e.call(t,r)}}catch(e){return{type:\\\"throw\\\",arg:e}}}e.wrap=s;var f=\\\"suspendedStart\\\",d=\\\"suspendedYield\\\",p=\\\"executing\\\",h=\\\"completed\\\",g={};function m(){}function v(){}function y(){}var b={};u(b,a,(function(){return this}));var w=Object.getPrototypeOf,x=w&&w(w(P([])));x&&x!==r&&n.call(x,a)&&(b=x);var k=y.prototype=m.prototype=Object.create(b);function E(e){[\\\"next\\\",\\\"throw\\\",\\\"return\\\"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function S(e,t){function r(o,a,i,l){var u=c(e[o],e,a);if(\\\"throw\\\"!==u.type){var s=u.arg,f=s.value;return f&&\\\"object\\\"===typeof f&&n.call(f,\\\"__await\\\")?t.resolve(f.__await).then((function(e){r(\\\"next\\\",e,i,l)}),(function(e){r(\\\"throw\\\",e,i,l)})):t.resolve(f).then((function(e){s.value=e,i(s)}),(function(e){return r(\\\"throw\\\",e,i,l)}))}l(u.arg)}var o;this._invoke=function(e,n){function a(){return new t((function(t,o){r(e,n,t,o)}))}return o=o?o.then(a,a):a()}}function T(e,r){var n=e.iterator[r.method];if(n===t){if(r.delegate=null,\\\"throw\\\"===r.method){if(e.iterator.return&&(r.method=\\\"return\\\",r.arg=t,T(e,r),\\\"throw\\\"===r.method))return g;r.method=\\\"throw\\\",r.arg=new TypeError(\\\"The iterator does not provide a 'throw' method\\\")}return g}var o=c(n,e.iterator,r.arg);if(\\\"throw\\\"===o.type)return r.method=\\\"throw\\\",r.arg=o.arg,r.delegate=null,g;var a=o.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,\\\"return\\\"!==r.method&&(r.method=\\\"next\\\",r.arg=t),r.delegate=null,g):a:(r.method=\\\"throw\\\",r.arg=new TypeError(\\\"iterator result is not an object\\\"),r.delegate=null,g)}function _(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type=\\\"normal\\\",delete t.arg,e.completion=t}function O(e){this.tryEntries=[{tryLoc:\\\"root\\\"}],e.forEach(_,this),this.reset(!0)}function P(e){if(e){var r=e[a];if(r)return r.call(e);if(\\\"function\\\"===typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function r(){for(;++o<e.length;)if(n.call(e,o))return r.value=e[o],r.done=!1,r;return r.value=t,r.done=!0,r};return i.next=i}}return{next:R}}function R(){return{value:t,done:!0}}return v.prototype=y,u(k,\\\"constructor\\\",y),u(y,\\\"constructor\\\",v),v.displayName=u(y,l,\\\"GeneratorFunction\\\"),e.isGeneratorFunction=function(e){var t=\\\"function\\\"===typeof e&&e.constructor;return!!t&&(t===v||\\\"GeneratorFunction\\\"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,y):(e.__proto__=y,u(e,l,\\\"GeneratorFunction\\\")),e.prototype=Object.create(k),e},e.awrap=function(e){return{__await:e}},E(S.prototype),u(S.prototype,i,(function(){return this})),e.AsyncIterator=S,e.async=function(t,r,n,o,a){void 0===a&&(a=Promise);var i=new S(s(t,r,n,o),a);return e.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},E(k),u(k,l,\\\"Generator\\\"),u(k,a,(function(){return this})),u(k,\\\"toString\\\",(function(){return\\\"[object Generator]\\\"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=P,O.prototype={constructor:O,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method=\\\"next\\\",this.arg=t,this.tryEntries.forEach(C),!e)for(var r in this)\\\"t\\\"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if(\\\"throw\\\"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function o(n,o){return l.type=\\\"throw\\\",l.arg=e,r.next=n,o&&(r.method=\\\"next\\\",r.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],l=i.completion;if(\\\"root\\\"===i.tryLoc)return o(\\\"end\\\");if(i.tryLoc<=this.prev){var u=n.call(i,\\\"catchLoc\\\"),s=n.call(i,\\\"finallyLoc\\\");if(u&&s){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!s)throw new Error(\\\"try statement without catch or finally\\\");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,\\\"finallyLoc\\\")&&this.prev<o.finallyLoc){var a=o;break}}a&&(\\\"break\\\"===e||\\\"continue\\\"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method=\\\"next\\\",this.next=a.finallyLoc,g):this.complete(i)},complete:function(e,t){if(\\\"throw\\\"===e.type)throw e.arg;return\\\"break\\\"===e.type||\\\"continue\\\"===e.type?this.next=e.arg:\\\"return\\\"===e.type?(this.rval=this.arg=e.arg,this.method=\\\"return\\\",this.next=\\\"end\\\"):\\\"normal\\\"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),C(r),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if(\\\"throw\\\"===n.type){var o=n.arg;C(r)}return o}}throw new Error(\\\"illegal catch attempt\\\")},delegateYield:function(e,r,n){return this.delegate={iterator:P(e),resultName:r,nextLoc:n},\\\"next\\\"===this.method&&(this.arg=t),g}},e}(e.exports);try{regeneratorRuntime=t}catch(e){\\\"object\\\"===typeof globalThis?globalThis.regeneratorRuntime=t:Function(\\\"r\\\",\\\"regeneratorRuntime = r\\\")(t)}},8142:(e,t)=>{\\\"use strict\\\";var r,n,o,a;if(\\\"object\\\"===typeof performance&&\\\"function\\\"===typeof performance.now){var i=performance;t.unstable_now=function(){return i.now()}}else{var l=Date,u=l.now();t.unstable_now=function(){return l.now()-u}}if(\\\"undefined\\\"===typeof window||\\\"function\\\"!==typeof MessageChannel){var s=null,c=null,f=function e(){if(null!==s)try{var r=t.unstable_now();s(!0,r),s=null}catch(t){throw setTimeout(e,0),t}};r=function(e){null!==s?setTimeout(r,0,e):(s=e,setTimeout(f,0))},n=function(e,t){c=setTimeout(e,t)},o=function(){clearTimeout(c)},t.unstable_shouldYield=function(){return!1},a=t.unstable_forceFrameRate=function(){}}else{var d=window.setTimeout,p=window.clearTimeout;if(\\\"undefined\\\"!==typeof console){var h=window.cancelAnimationFrame;\\\"function\\\"!==typeof window.requestAnimationFrame&&console.error(\\\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\\\"),\\\"function\\\"!==typeof h&&console.error(\\\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\\\")}var g=!1,m=null,v=-1,y=5,b=0;t.unstable_shouldYield=function(){return t.unstable_now()>=b},a=function(){},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error(\\\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\\\"):y=0<e?Math.floor(1e3/e):5};var w=new MessageChannel,x=w.port2;w.port1.onmessage=function(){if(null!==m){var e=t.unstable_now();b=e+y;try{m(!0,e)?x.postMessage(null):(g=!1,m=null)}catch(e){throw x.postMessage(null),e}}else g=!1},r=function(e){m=e,g||(g=!0,x.postMessage(null))},n=function(e,r){v=d((function(){e(t.unstable_now())}),r)},o=function(){p(v),v=-1}}function k(e,t){var r=e.length;e.push(t);e:for(;;){var n=r-1>>>1,o=e[n];if(!(void 0!==o&&0<T(o,t)))break e;e[n]=t,e[r]=o,r=n}}function E(e){return void 0===(e=e[0])?null:e}function S(e){var t=e[0];if(void 0!==t){var r=e.pop();if(r!==t){e[0]=r;e:for(var n=0,o=e.length;n<o;){var a=2*(n+1)-1,i=e[a],l=a+1,u=e[l];if(void 0!==i&&0>T(i,r))void 0!==u&&0>T(u,i)?(e[n]=u,e[l]=r,n=l):(e[n]=i,e[a]=r,n=a);else{if(!(void 0!==u&&0>T(u,r)))break e;e[n]=u,e[l]=r,n=l}}}return t}return null}function T(e,t){var r=e.sortIndex-t.sortIndex;return 0!==r?r:e.id-t.id}var _=[],C=[],O=1,P=null,R=3,A=!1,q=!1,L=!1;function N(e){for(var t=E(C);null!==t;){if(null===t.callback)S(C);else{if(!(t.startTime<=e))break;S(C),t.sortIndex=t.expirationTime,k(_,t)}t=E(C)}}function D(e){if(L=!1,N(e),!q)if(null!==E(_))q=!0,r(I);else{var t=E(C);null!==t&&n(D,t.startTime-e)}}function I(e,r){q=!1,L&&(L=!1,o()),A=!0;var a=R;try{for(N(r),P=E(_);null!==P&&(!(P.expirationTime>r)||e&&!t.unstable_shouldYield());){var i=P.callback;if(\\\"function\\\"===typeof i){P.callback=null,R=P.priorityLevel;var l=i(P.expirationTime<=r);r=t.unstable_now(),\\\"function\\\"===typeof l?P.callback=l:P===E(_)&&S(_),N(r)}else S(_);P=E(_)}if(null!==P)var u=!0;else{var s=E(C);null!==s&&n(D,s.startTime-r),u=!1}return u}finally{P=null,R=a,A=!1}}var j=a;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){q||A||(q=!0,r(I))},t.unstable_getCurrentPriorityLevel=function(){return R},t.unstable_getFirstCallbackNode=function(){return E(_)},t.unstable_next=function(e){switch(R){case 1:case 2:case 3:var t=3;break;default:t=R}var r=R;R=t;try{return e()}finally{R=r}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=j,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var r=R;R=e;try{return t()}finally{R=r}},t.unstable_scheduleCallback=function(e,a,i){var l=t.unstable_now();switch(\\\"object\\\"===typeof i&&null!==i?i=\\\"number\\\"===typeof(i=i.delay)&&0<i?l+i:l:i=l,e){case 1:var u=-1;break;case 2:u=250;break;case 5:u=1073741823;break;case 4:u=1e4;break;default:u=5e3}return e={id:O++,callback:a,priorityLevel:e,startTime:i,expirationTime:u=i+u,sortIndex:-1},i>l?(e.sortIndex=i,k(C,e),null===E(_)&&e===E(C)&&(L?o():L=!0,n(D,i-l))):(e.sortIndex=u,k(_,e),q||A||(q=!0,r(I))),e},t.unstable_wrapCallback=function(e){var t=R;return function(){var r=R;R=t;try{return e.apply(this,arguments)}finally{R=r}}}},7425:(e,t,r)=>{\\\"use strict\\\";e.exports=r(8142)},9853:(e,t,r)=>{\\\"use strict\\\";r.r(t),r.d(t,{Headers:()=>h,Request:()=>x,Response:()=>E,DOMException:()=>T,fetch:()=>_});var n=\\\"undefined\\\"!==typeof globalThis&&globalThis||\\\"undefined\\\"!==typeof self&&self||\\\"undefined\\\"!==typeof n&&n,o=\\\"URLSearchParams\\\"in n,a=\\\"Symbol\\\"in n&&\\\"iterator\\\"in Symbol,i=\\\"FileReader\\\"in n&&\\\"Blob\\\"in n&&function(){try{return new Blob,!0}catch(e){return!1}}(),l=\\\"FormData\\\"in n,u=\\\"ArrayBuffer\\\"in n;if(u)var s=[\\\"[object Int8Array]\\\",\\\"[object Uint8Array]\\\",\\\"[object Uint8ClampedArray]\\\",\\\"[object Int16Array]\\\",\\\"[object Uint16Array]\\\",\\\"[object Int32Array]\\\",\\\"[object Uint32Array]\\\",\\\"[object Float32Array]\\\",\\\"[object Float64Array]\\\"],c=ArrayBuffer.isView||function(e){return e&&s.indexOf(Object.prototype.toString.call(e))>-1};function f(e){if(\\\"string\\\"!==typeof e&&(e=String(e)),/[^a-z0-9\\\\-#$%&'*+.^_`|~!]/i.test(e)||\\\"\\\"===e)throw new TypeError('Invalid character in header field name: \\\"'+e+'\\\"');return e.toLowerCase()}function d(e){return\\\"string\\\"!==typeof e&&(e=String(e)),e}function p(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return a&&(t[Symbol.iterator]=function(){return t}),t}function h(e){this.map={},e instanceof h?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function g(e){if(e.bodyUsed)return Promise.reject(new TypeError(\\\"Already read\\\"));e.bodyUsed=!0}function m(e){return new Promise((function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}}))}function v(e){var t=new FileReader,r=m(t);return t.readAsArrayBuffer(e),r}function y(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function b(){return this.bodyUsed=!1,this._initBody=function(e){var t;this.bodyUsed=this.bodyUsed,this._bodyInit=e,e?\\\"string\\\"===typeof e?this._bodyText=e:i&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:l&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:o&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():u&&i&&((t=e)&&DataView.prototype.isPrototypeOf(t))?(this._bodyArrayBuffer=y(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):u&&(ArrayBuffer.prototype.isPrototypeOf(e)||c(e))?this._bodyArrayBuffer=y(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText=\\\"\\\",this.headers.get(\\\"content-type\\\")||(\\\"string\\\"===typeof e?this.headers.set(\\\"content-type\\\",\\\"text/plain;charset=UTF-8\\\"):this._bodyBlob&&this._bodyBlob.type?this.headers.set(\\\"content-type\\\",this._bodyBlob.type):o&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set(\\\"content-type\\\",\\\"application/x-www-form-urlencoded;charset=UTF-8\\\"))},i&&(this.blob=function(){var e=g(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error(\\\"could not read FormData body as blob\\\");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){if(this._bodyArrayBuffer){var e=g(this);return e||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}return this.blob().then(v)}),this.text=function(){var e,t,r,n=g(this);if(n)return n;if(this._bodyBlob)return e=this._bodyBlob,t=new FileReader,r=m(t),t.readAsText(e),r;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=new Array(t.length),n=0;n<t.length;n++)r[n]=String.fromCharCode(t[n]);return r.join(\\\"\\\")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error(\\\"could not read FormData body as text\\\");return Promise.resolve(this._bodyText)},l&&(this.formData=function(){return this.text().then(k)}),this.json=function(){return this.text().then(JSON.parse)},this}h.prototype.append=function(e,t){e=f(e),t=d(t);var r=this.map[e];this.map[e]=r?r+\\\", \\\"+t:t},h.prototype.delete=function(e){delete this.map[f(e)]},h.prototype.get=function(e){return e=f(e),this.has(e)?this.map[e]:null},h.prototype.has=function(e){return this.map.hasOwnProperty(f(e))},h.prototype.set=function(e,t){this.map[f(e)]=d(t)},h.prototype.forEach=function(e,t){for(var r in this.map)this.map.hasOwnProperty(r)&&e.call(t,this.map[r],r,this)},h.prototype.keys=function(){var e=[];return this.forEach((function(t,r){e.push(r)})),p(e)},h.prototype.values=function(){var e=[];return this.forEach((function(t){e.push(t)})),p(e)},h.prototype.entries=function(){var e=[];return this.forEach((function(t,r){e.push([r,t])})),p(e)},a&&(h.prototype[Symbol.iterator]=h.prototype.entries);var w=[\\\"DELETE\\\",\\\"GET\\\",\\\"HEAD\\\",\\\"OPTIONS\\\",\\\"POST\\\",\\\"PUT\\\"];function x(e,t){if(!(this instanceof x))throw new TypeError('Please use the \\\"new\\\" operator, this DOM object constructor cannot be called as a function.');var r,n,o=(t=t||{}).body;if(e instanceof x){if(e.bodyUsed)throw new TypeError(\\\"Already read\\\");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new h(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,o||null==e._bodyInit||(o=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||\\\"same-origin\\\",!t.headers&&this.headers||(this.headers=new h(t.headers)),this.method=(r=t.method||this.method||\\\"GET\\\",n=r.toUpperCase(),w.indexOf(n)>-1?n:r),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,(\\\"GET\\\"===this.method||\\\"HEAD\\\"===this.method)&&o)throw new TypeError(\\\"Body not allowed for GET or HEAD requests\\\");if(this._initBody(o),(\\\"GET\\\"===this.method||\\\"HEAD\\\"===this.method)&&(\\\"no-store\\\"===t.cache||\\\"no-cache\\\"===t.cache)){var a=/([?&])_=[^&]*/;if(a.test(this.url))this.url=this.url.replace(a,\\\"$1_=\\\"+(new Date).getTime());else{this.url+=(/\\\\?/.test(this.url)?\\\"&\\\":\\\"?\\\")+\\\"_=\\\"+(new Date).getTime()}}}function k(e){var t=new FormData;return e.trim().split(\\\"&\\\").forEach((function(e){if(e){var r=e.split(\\\"=\\\"),n=r.shift().replace(/\\\\+/g,\\\" \\\"),o=r.join(\\\"=\\\").replace(/\\\\+/g,\\\" \\\");t.append(decodeURIComponent(n),decodeURIComponent(o))}})),t}function E(e,t){if(!(this instanceof E))throw new TypeError('Please use the \\\"new\\\" operator, this DOM object constructor cannot be called as a function.');t||(t={}),this.type=\\\"default\\\",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText=void 0===t.statusText?\\\"\\\":\\\"\\\"+t.statusText,this.headers=new h(t.headers),this.url=t.url||\\\"\\\",this._initBody(e)}x.prototype.clone=function(){return new x(this,{body:this._bodyInit})},b.call(x.prototype),b.call(E.prototype),E.prototype.clone=function(){return new E(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new h(this.headers),url:this.url})},E.error=function(){var e=new E(null,{status:0,statusText:\\\"\\\"});return e.type=\\\"error\\\",e};var S=[301,302,303,307,308];E.redirect=function(e,t){if(-1===S.indexOf(t))throw new RangeError(\\\"Invalid status code\\\");return new E(null,{status:t,headers:{location:e}})};var T=n.DOMException;try{new T}catch(e){(T=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack}).prototype=Object.create(Error.prototype),T.prototype.constructor=T}function _(e,t){return new Promise((function(r,o){var a=new x(e,t);if(a.signal&&a.signal.aborted)return o(new T(\\\"Aborted\\\",\\\"AbortError\\\"));var l=new XMLHttpRequest;function s(){l.abort()}l.onload=function(){var e,t,n={status:l.status,statusText:l.statusText,headers:(e=l.getAllResponseHeaders()||\\\"\\\",t=new h,e.replace(/\\\\r?\\\\n[\\\\t ]+/g,\\\" \\\").split(\\\"\\\\r\\\").map((function(e){return 0===e.indexOf(\\\"\\\\n\\\")?e.substr(1,e.length):e})).forEach((function(e){var r=e.split(\\\":\\\"),n=r.shift().trim();if(n){var o=r.join(\\\":\\\").trim();t.append(n,o)}})),t)};n.url=\\\"responseURL\\\"in l?l.responseURL:n.headers.get(\\\"X-Request-URL\\\");var o=\\\"response\\\"in l?l.response:l.responseText;setTimeout((function(){r(new E(o,n))}),0)},l.onerror=function(){setTimeout((function(){o(new TypeError(\\\"Network request failed\\\"))}),0)},l.ontimeout=function(){setTimeout((function(){o(new TypeError(\\\"Network request failed\\\"))}),0)},l.onabort=function(){setTimeout((function(){o(new T(\\\"Aborted\\\",\\\"AbortError\\\"))}),0)},l.open(a.method,function(e){try{return\\\"\\\"===e&&n.location.href?n.location.href:e}catch(t){return e}}(a.url),!0),\\\"include\\\"===a.credentials?l.withCredentials=!0:\\\"omit\\\"===a.credentials&&(l.withCredentials=!1),\\\"responseType\\\"in l&&(i?l.responseType=\\\"blob\\\":u&&a.headers.get(\\\"Content-Type\\\")&&-1!==a.headers.get(\\\"Content-Type\\\").indexOf(\\\"application/octet-stream\\\")&&(l.responseType=\\\"arraybuffer\\\")),!t||\\\"object\\\"!==typeof t.headers||t.headers instanceof h?a.headers.forEach((function(e,t){l.setRequestHeader(t,e)})):Object.getOwnPropertyNames(t.headers).forEach((function(e){l.setRequestHeader(e,d(t.headers[e]))})),a.signal&&(a.signal.addEventListener(\\\"abort\\\",s),l.onreadystatechange=function(){4===l.readyState&&a.signal.removeEventListener(\\\"abort\\\",s)}),l.send(\\\"undefined\\\"===typeof a._bodyInit?null:a._bodyInit)}))}_.polyfill=!0,n.fetch||(n.fetch=_,n.Headers=h,n.Request=x,n.Response=E)},8950:(e,t,r)=>{\\\"use strict\\\";r(1522),r(5998),r(4658),r(4711),r(7105),r(1034),r(9227),r(9385),r(9764),r(3264),r(1257),r(6435),r(681),r(7313),r(5185),r(100),r(1168),r(3782),r(8458),r(620),r(7987),r(8151),r(7925),r(8955),\\\"undefined\\\"===typeof Promise&&(r(7247).enable(),self.Promise=r(83)),\\\"undefined\\\"!==typeof window&&r(9853),Object.assign=r(9934)},4037:(e,t,r)=>{\\\"use strict\\\";r(4801),r(1537),r(3782),r(8955),r(3035),r(2481),r(673),r(4756),r(5837),r(471),r(6692),r(5853),r(7415),r(4837),r(4285),r(9932),r(5843),r(1080),r(7074),r(7992),r(6443),r(8151),r(3763),r(1061),r(1675),r(3860),r(8088),r(7041),r(3922),r(156),r(8946),r(9492),r(1402),r(9787),r(6024),r(2681),r(2632),r(1463),r(5691),r(7705),r(5154),r(8950),r(6597).polyfill()}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={id:n,loaded:!1,exports:{}};return e[n].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if(\\\"object\\\"===typeof globalThis)return globalThis;try{return this||new Function(\\\"return this\\\")()}catch(e){if(\\\"object\\\"===typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{\\\"undefined\\\"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\\"Module\\\"}),Object.defineProperty(e,\\\"__esModule\\\",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var n={};(()=>{\\\"use strict\\\";r.d(n,{N:()=>he});r(4037);var e=r(6346),t=r(2171),o=function(e){return{position:\\\"relative\\\",display:\\\"inline-flex\\\",flexDirection:\\\"column\\\",height:\\\"100%\\\",width:\\\"1024px\\\",maxWidth:\\\"100%\\\",overflowX:\\\"hidden\\\",overflowY:\\\"auto\\\",padding:\\\"0.5rem\\\",boxSizing:\\\"border-box\\\",textAlign:\\\"left\\\",fontFamily:\\\"Consolas, Menlo, monospace\\\",fontSize:\\\"11px\\\",whiteSpace:\\\"pre-wrap\\\",wordBreak:\\\"break-word\\\",lineHeight:1.5,color:e.color}},a=null;const i=function(t){var r=(0,e.useContext)(he),n=t.shortcutHandler;return(0,e.useEffect)((function(){var e=function(e){n&&n(e.key)};return window.addEventListener(\\\"keydown\\\",e),a&&a.addEventListener(\\\"keydown\\\",e),function(){window.removeEventListener(\\\"keydown\\\",e),a&&a.removeEventListener(\\\"keydown\\\",e)}}),[n]),e.createElement(\\\"div\\\",{style:o(r),ref:function(e){if(e){var t=e.ownerDocument;a=t.defaultView}}},t.children)};var l=function(e){return{fontFamily:\\\"sans-serif\\\",color:e.footer,marginTop:\\\"0.5rem\\\",flex:\\\"0 0 auto\\\"}};const u=function(t){var r=(0,e.useContext)(he);return e.createElement(\\\"div\\\",{style:l(r)},t.line1,e.createElement(\\\"br\\\",null),t.line2)};var s=function(e){return{fontSize:\\\"2em\\\",fontFamily:\\\"sans-serif\\\",color:e.headerColor,whiteSpace:\\\"pre-wrap\\\",margin:\\\"0 2rem 0.75rem 0\\\",flex:\\\"0 0 auto\\\",maxHeight:\\\"50%\\\",overflow:\\\"auto\\\"}};const c=function(t){var r=(0,e.useContext)(he);return e.createElement(\\\"div\\\",{style:s(r)},t.headerText)};function f(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function p(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?d(Object(r),!0).forEach((function(t){f(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var h={position:\\\"relative\\\",display:\\\"block\\\",padding:\\\"0.5em\\\",marginTop:\\\"0.5em\\\",marginBottom:\\\"0.5em\\\",overflowX:\\\"auto\\\",whiteSpace:\\\"pre-wrap\\\",borderRadius:\\\"0.25rem\\\"},g={fontFamily:\\\"Consolas, Menlo, monospace\\\"};const m=function(t){var r=t.main,n=t.codeHTML,o=(0,e.useContext)(he),a=p(p({},h),{},{backgroundColor:o.primaryPreBackground,color:o.primaryPreColor}),i=p(p({},h),{},{backgroundColor:o.secondaryPreBackground,color:o.secondaryPreColor}),l=r?a:i,u={__html:n};return e.createElement(\\\"pre\\\",{style:l},e.createElement(\\\"code\\\",{style:g,dangerouslySetInnerHTML:u}))};var v=r(2434),y=r.n(v),b=r(3624),w=function(e){return{reset:[e.base05,\\\"transparent\\\"],black:e.base05,red:e.base08,green:e.base0B,yellow:e.base08,blue:e.base0C,magenta:e.base0C,cyan:e.base0E,gray:e.base03,lightgrey:e.base01,darkgrey:e.base03}},x={\\\"ansi-bright-black\\\":\\\"black\\\",\\\"ansi-bright-yellow\\\":\\\"yellow\\\",\\\"ansi-yellow\\\":\\\"yellow\\\",\\\"ansi-bright-green\\\":\\\"green\\\",\\\"ansi-green\\\":\\\"green\\\",\\\"ansi-bright-cyan\\\":\\\"cyan\\\",\\\"ansi-cyan\\\":\\\"cyan\\\",\\\"ansi-bright-red\\\":\\\"red\\\",\\\"ansi-red\\\":\\\"red\\\",\\\"ansi-bright-magenta\\\":\\\"magenta\\\",\\\"ansi-magenta\\\":\\\"magenta\\\",\\\"ansi-white\\\":\\\"darkgrey\\\"};const k=function(e,t){for(var r=(new(y())).ansiToJson((0,b.encode)(e),{use_classes:!0}),n=\\\"\\\",o=!1,a=0;a<r.length;++a)for(var i=r[a],l=i.content,u=i.fg,s=l.split(\\\"\\\\n\\\"),c=0;c<s.length;++c){o||(n+='<span data-ansi-line=\\\"true\\\">',o=!0);var f=s[c].replace(\\\"\\\\r\\\",\\\"\\\"),d=w(t)[x[u]];null!=d?n+='<span style=\\\"color: '+d+';\\\">'+f+\\\"</span>\\\":(null!=u&&console.log(\\\"Missing color mapping: \\\",u),n+=\\\"<span>\\\"+f+\\\"</span>\\\"),c<s.length-1&&(n+=\\\"</span>\\\",o=!1,n+=\\\"<br/>\\\")}return o&&(n+=\\\"</span>\\\",o=!1),n};var E=/^\\\\.(\\\\/[^/\\\\n ]+)+\\\\.[^/\\\\n ]+$/,S=[/^.*\\\\((\\\\d+):(\\\\d+)\\\\)$/,/^Line (\\\\d+):.+$/];const T=function(e){for(var t=e.split(\\\"\\\\n\\\"),r=\\\"\\\",n=0,o=0,a=0;a<t.length;a++){var i=y().ansiToText(t[a]).trim();if(i){!r&&i.match(E)&&(r=i);for(var l=0;l<S.length;){var u=i.match(S[l]);if(u){n=parseInt(u[1],10),o=parseInt(u[2],10)+1||1;break}l++}if(r&&n)break}}return r&&n?{fileName:r,lineNumber:n,colNumber:o}:null};var _={cursor:\\\"pointer\\\"};const C=function(t){var r=(0,e.useContext)(he),n=t.error,o=t.editorHandler,a=T(n),l=null!==a&&null!==o;return e.createElement(i,null,e.createElement(c,{headerText:\\\"Failed to compile\\\"}),e.createElement(\\\"div\\\",{onClick:l&&a?function(){return o(a)}:null,style:l?_:null},e.createElement(m,{main:!0,codeHTML:k(n,r)})),e.createElement(u,{line1:\\\"This error occurred during the build time and cannot be dismissed.\\\"}))};function O(e,t){if(!(e instanceof t))throw new TypeError(\\\"Cannot call a class as a function\\\")}function P(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\\\"value\\\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function R(e,t,r){return t&&P(e.prototype,t),r&&P(e,r),e}function A(e,t){return A=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},A(e,t)}function q(e,t){if(\\\"function\\\"!==typeof t&&null!==t)throw new TypeError(\\\"Super expression must either be null or a function\\\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&A(e,t)}function L(e){return L=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},L(e)}function N(e){return N=\\\"function\\\"===typeof Symbol&&\\\"symbol\\\"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\\\"function\\\"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\\\"symbol\\\":typeof e},N(e)}function D(e,t){if(t&&(\\\"object\\\"===N(t)||\\\"function\\\"===typeof t))return t;if(void 0!==t)throw new TypeError(\\\"Derived constructors may only return object or undefined\\\");return function(e){if(void 0===e)throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\");return e}(e)}function I(e){var t=function(){if(\\\"undefined\\\"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\\\"function\\\"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=L(e);if(t){var o=L(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return D(this,r)}}var j=function(e){return{color:e.closeColor,lineHeight:\\\"1rem\\\",fontSize:\\\"1.5rem\\\",padding:\\\"1rem\\\",cursor:\\\"pointer\\\",position:\\\"absolute\\\",right:0,top:0}};const M=function(t){var r=t.close,n=(0,e.useContext)(he);return e.createElement(\\\"span\\\",{title:\\\"Click or press Escape to dismiss.\\\",onClick:r,style:j(n)},\\\"\\xD7\\\")};var F={marginBottom:\\\"0.5rem\\\"},z={marginRight:\\\"1em\\\"},U={border:\\\"none\\\",borderRadius:\\\"4px\\\",padding:\\\"3px 6px\\\",cursor:\\\"pointer\\\"},B=function(e){return p(p({},U),{},{backgroundColor:e.navBackground,color:e.navArrow,borderTopRightRadius:\\\"0px\\\",borderBottomRightRadius:\\\"0px\\\",marginRight:\\\"1px\\\"})},V=function(e){return p(p({},U),{},{backgroundColor:e.navBackground,color:e.navArrow,borderTopLeftRadius:\\\"0px\\\",borderBottomLeftRadius:\\\"0px\\\"})};const H=function(t){var r=(0,e.useContext)(he),n=t.currentError,o=t.totalErrors,a=t.previous,i=t.next;return e.createElement(\\\"div\\\",{style:F},e.createElement(\\\"span\\\",{style:z},e.createElement(\\\"button\\\",{onClick:a,style:B(r)},\\\"\\u2190\\\"),e.createElement(\\\"button\\\",{onClick:i,style:V(r)},\\\"\\u2192\\\")),\\\"\\\".concat(n,\\\" of \\\").concat(o,\\\" errors on the page\\\"))};function W(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function G(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:\\\"undefined\\\"!==typeof Symbol&&e[Symbol.iterator]||e[\\\"@@iterator\\\"];if(null!=r){var n,o,a=[],i=!0,l=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(a.push(n.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==r.return||r.return()}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if(\\\"string\\\"===typeof e)return W(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return\\\"Object\\\"===r&&e.constructor&&(r=e.constructor.name),\\\"Map\\\"===r||\\\"Set\\\"===r?Array.from(e):\\\"Arguments\\\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?W(e,t):void 0}}(e,t)||function(){throw new TypeError(\\\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\\\")}()}function $(e,t){for(;null!=t&&\\\"br\\\"!==t.tagName.toLowerCase();)t=t.nextElementSibling;null!=t&&e.removeChild(t)}var Q=r(8641);const Y=function(t){var r=(0,e.useContext)(he),n=t.lines,o=t.lineNum,a=t.columnNum,i=t.contextSize,l=t.main,u=[],s=1/0;n.forEach((function(e){var t=e.content,r=t.match(/^\\\\s*/);\\\"\\\"!==t&&(s=r&&r[0]?Math.min(s,r[0].length):0)})),n.forEach((function(e){var t=e.content,r=e.lineNumber;isFinite(s)&&(t=t.substring(s)),u[r-1]=t}));var c=(0,Q.rf)(u.join(\\\"\\\\n\\\"),{start:{line:o,column:null==a?0:a-(isFinite(s)?s:0)}},{forceColor:!0,linesAbove:i,linesBelow:i}),f=k(c,r),d=document.createElement(\\\"code\\\");d.innerHTML=f,function(e){for(var t=e.childNodes,r=0;r<t.length;++r){var n=t[r];if(\\\"span\\\"===n.tagName.toLowerCase()){var o=n.innerText;null!=o&&\\\"|^\\\"===o.replace(/\\\\s/g,\\\"\\\")&&(n.style.position=\\\"absolute\\\",$(e,n))}}}(d);var p=d.childNodes;e:for(var h=0;h<p.length;++h)for(var g=p[h].childNodes,v=0;v<g.length;++v){var y=g[v].innerText;if(null!=y&&-1!==y.indexOf(\\\" \\\"+o+\\\" |\\\"))break e}return e.createElement(m,{main:l,codeHTML:d.innerHTML})};function K(e,t,r,n,o,a,i){var l;if(!i&&e&&\\\"number\\\"===typeof t){var u=/^[/|\\\\\\\\].*?[/|\\\\\\\\]((src|node_modules)[/|\\\\\\\\].*)/.exec(e);l=u&&u[1]?u[1]:e,l+=\\\":\\\"+t,r&&(l+=\\\":\\\"+r)}else n&&\\\"number\\\"===typeof o?(l=n+\\\":\\\"+o,a&&(l+=\\\":\\\"+a)):l=\\\"unknown\\\";return l.replace(\\\"webpack://\\\",\\\".\\\")}var X=function(e){return{textDecoration:\\\"none\\\",color:e.anchorColor,cursor:\\\"pointer\\\"}},J=function(e){return{marginBottom:\\\"1.5em\\\",color:e.toggleColor,cursor:\\\"pointer\\\",border:\\\"none\\\",display:\\\"block\\\",width:\\\"100%\\\",textAlign:\\\"left\\\",background:e.toggleBackground,fontFamily:\\\"Consolas, Menlo, monospace\\\",fontSize:\\\"1em\\\",padding:\\\"0px\\\",lineHeight:\\\"1.5\\\"}};const Z=function(t){var r=(0,e.useContext)(he),n=G((0,e.useState)(!1),2),o=n[0],a=n[1],i=function(){var e=t.frame,r=e._originalFileName,n=e._originalLineNumber;return r?-1!==r.trim().indexOf(\\\" \\\")?null:{fileName:r,lineNumber:n||1}:null},l=function(){var e=i();e&&t.editorHandler(e)},u=t.frame,s=t.contextSize,c=t.critical,f=t.showCode,d=u.fileName,p=u.lineNumber,h=u.columnNumber,g=u._scriptCode,m=u._originalFileName,v=u._originalLineNumber,y=u._originalColumnNumber,b=u._originalScriptCode,w=u.getFunctionName(),x=K(m,v,y,d,p,h,o),k=null;f&&(o&&g&&0!==g.length&&null!=p?k={lines:g,lineNum:p,columnNum:h,contextSize:s,main:c}:!o&&b&&0!==b.length&&null!=v&&(k={lines:b,lineNum:v,columnNum:y,contextSize:s,main:c}));var E=null!==i()&&null!==t.editorHandler;return e.createElement(\\\"div\\\",null,e.createElement(\\\"div\\\",null,w),e.createElement(\\\"div\\\",{style:{fontSize:\\\"0.9em\\\",marginBottom:\\\"0.9em\\\"}},e.createElement(\\\"span\\\",{style:E?X(r):null,onClick:E?l:null,onKeyDown:E?function(e){\\\"Enter\\\"===e.key&&l()}:null,tabIndex:E?\\\"0\\\":null},x)),k&&e.createElement(\\\"span\\\",null,e.createElement(\\\"span\\\",{onClick:E?l:null,style:E?{cursor:\\\"pointer\\\"}:null},e.createElement(Y,k)),e.createElement(\\\"button\\\",{style:J(r),onClick:function(){a(!o)}},\\\"View \\\"+(o?\\\"source\\\":\\\"compiled\\\"))))};var ee={cursor:\\\"pointer\\\",border:\\\"none\\\",display:\\\"block\\\",width:\\\"100%\\\",textAlign:\\\"left\\\",fontFamily:\\\"Consolas, Menlo, monospace\\\",fontSize:\\\"1em\\\",padding:\\\"0px\\\",lineHeight:\\\"1.5\\\"},te=function(e){return p(p({},ee),{},{color:e.color,background:e.background,marginBottom:\\\"1.5em\\\"})},re=function(e){return p(p({},ee),{},{color:e.color,background:e.background,marginBottom:\\\"0.6em\\\"})};const ne=function(t){var r=(0,e.useContext)(he),n=G((0,e.useState)(!0),2),o=n[0],a=n[1],i=function(){a(!o)},l=t.children.length;return e.createElement(\\\"div\\\",null,e.createElement(\\\"button\\\",{onClick:i,style:o?te(r):re(r)},(o?\\\"\\u25B6\\\":\\\"\\u25BC\\\")+\\\" \\\".concat(l,\\\" stack frames were \\\")+(o?\\\"collapsed.\\\":\\\"expanded.\\\")),e.createElement(\\\"div\\\",{style:{display:o?\\\"none\\\":\\\"block\\\"}},t.children,e.createElement(\\\"button\\\",{onClick:i,style:re(r)},\\\"\\u25B2 \\\".concat(l,\\\" stack frames were expanded.\\\"))))};function oe(e){switch(e){case\\\"EvalError\\\":case\\\"InternalError\\\":case\\\"RangeError\\\":case\\\"ReferenceError\\\":case\\\"SyntaxError\\\":case\\\"TypeError\\\":case\\\"URIError\\\":return!0;default:return!1}}var ae={fontSize:\\\"1em\\\",flex:\\\"0 1 auto\\\",minHeight:\\\"0px\\\",overflow:\\\"auto\\\"};const ie=function(t){q(n,t);var r=I(n);function n(){return O(this,n),r.apply(this,arguments)}return R(n,[{key:\\\"renderFrames\\\",value:function(){var t=this.props,r=t.stackFrames,n=t.errorName,o=t.contextSize,a=t.editorHandler,i=[],l=!1,u=[],s=0;return r.forEach((function(t,c){var f=t.fileName,d=function(e,t){return null==e||\\\"\\\"===e||-1!==e.indexOf(\\\"/~/\\\")||-1!==e.indexOf(\\\"/node_modules/\\\")||-1!==e.trim().indexOf(\\\" \\\")||null==t||\\\"\\\"===t}(t._originalFileName,f),p=!oe(n),h=d&&(p||l);d||(l=!0);var g=e.createElement(Z,{key:\\\"frame-\\\"+c,frame:t,contextSize:o,critical:0===c,showCode:!h,editorHandler:a}),m=c===r.length-1;h&&u.push(g),h&&!m||(1===u.length?i.push(u[0]):u.length>1&&(s++,i.push(e.createElement(ne,{key:\\\"bundle-\\\"+s},u))),u=[]),h||i.push(g)})),i}},{key:\\\"render\\\",value:function(){return e.createElement(\\\"div\\\",{style:ae},this.renderFrames())}}]),n}(e.Component);var le={display:\\\"flex\\\",flexDirection:\\\"column\\\"};const ue=function(t){var r=t.errorRecord,n=t.editorHandler,o=r.error,a=r.unhandledRejection,i=r.contextSize,l=r.stackFrames,u=a?\\\"Unhandled Rejection (\\\"+o.name+\\\")\\\":o.name,s=o.message,f=s.match(/^\\\\w*:/)||!u?s:u+\\\": \\\"+s;return f=f.replace(/^Invariant Violation:\\\\s*/,\\\"\\\").replace(/^Warning:\\\\s*/,\\\"\\\").replace(\\\" Check the render method\\\",\\\"\\\\n\\\\nCheck the render method\\\").replace(\\\" Check your code at\\\",\\\"\\\\n\\\\nCheck your code at\\\"),e.createElement(\\\"div\\\",{style:le},e.createElement(c,{headerText:f}),e.createElement(ie,{stackFrames:l,errorName:u,contextSize:i,editorHandler:n}))};const se=function(t){q(n,t);var r=I(n);function n(){var e;O(this,n);for(var t=arguments.length,o=new Array(t),a=0;a<t;a++)o[a]=arguments[a];return(e=r.call.apply(r,[this].concat(o))).state={currentIndex:0},e.previous=function(){e.setState((function(e,t){return{currentIndex:e.currentIndex>0?e.currentIndex-1:t.errorRecords.length-1}}))},e.next=function(){e.setState((function(e,t){return{currentIndex:e.currentIndex<t.errorRecords.length-1?e.currentIndex+1:0}}))},e.shortcutHandler=function(t){\\\"Escape\\\"===t?e.props.close():\\\"ArrowLeft\\\"===t?e.previous():\\\"ArrowRight\\\"===t&&e.next()},e}return R(n,[{key:\\\"render\\\",value:function(){var t=this.props,r=t.errorRecords,n=t.close,o=r.length;return e.createElement(i,{shortcutHandler:this.shortcutHandler},e.createElement(M,{close:n}),o>1&&e.createElement(H,{currentError:this.state.currentIndex+1,totalErrors:o,previous:this.previous,next:this.next}),e.createElement(ue,{errorRecord:r[this.state.currentIndex],editorHandler:this.props.editorHandler}),e.createElement(u,{line1:\\\"This screen is visible only in development. It will not appear if the app crashes in production.\\\",line2:\\\"Open your browser\\u2019s developer console to further inspect this error. Click the 'X' or hit ESC to dismiss this message.\\\"}))}}]),n}(e.PureComponent);var ce={background:\\\"white\\\",color:\\\"black\\\",headerColor:\\\"#ce1126\\\",primaryPreBackground:\\\"rgba(206, 17, 38, 0.05)\\\",primaryPreColor:\\\"inherit\\\",secondaryPreBackground:\\\"rgba(251, 245, 180, 0.3)\\\",secondaryPreColor:\\\"inherit\\\",footer:\\\"#878e91\\\",anchorColor:\\\"#878e91\\\",toggleBackground:\\\"transparent\\\",toggleColor:\\\"#878e91\\\",closeColor:\\\"#293238\\\",navBackground:\\\"rgba(206, 17, 38, 0.05)\\\",navArrow:\\\"#ce1126\\\",base01:\\\"#f5f5f5\\\",base03:\\\"#6e6e6e\\\",base05:\\\"#333333\\\",base08:\\\"#881280\\\",base0B:\\\"#1155cc\\\",base0C:\\\"#994500\\\",base0E:\\\"#c80000\\\"},fe={background:\\\"#353535\\\",color:\\\"white\\\",headerColor:\\\"#e83b46\\\",primaryPreBackground:\\\"rgba(206, 17, 38, 0.1)\\\",primaryPreColor:\\\"#fccfcf\\\",secondaryPreBackground:\\\"rgba(251, 245, 180, 0.1)\\\",secondaryPreColor:\\\"#fbf5b4\\\",footer:\\\"#878e91\\\",anchorColor:\\\"#878e91\\\",toggleBackground:\\\"transparent\\\",toggleColor:\\\"#878e91\\\",closeColor:\\\"#ffffff\\\",navBackground:\\\"rgba(206, 17, 38, 0.2)\\\",navArrow:\\\"#ce1126\\\",base01:\\\"#282a2e\\\",base03:\\\"#969896\\\",base05:\\\"#c5c8c6\\\",base08:\\\"#cc6666\\\",base0B:\\\"#b5bd68\\\",base0C:\\\"#8abeb7\\\",base0E:\\\"#b294bb\\\"};var de=null,pe=window.matchMedia&&window.matchMedia(\\\"(prefers-color-scheme: dark)\\\").matches?fe:ce,he=(0,e.createContext)();window.updateContent=function(r){var n,o,a,i,l,u=(o=(n=r).currentBuildError,a=n.currentRuntimeErrorRecords,i=n.dismissRuntimeErrors,l=n.editorHandler,o?e.createElement(he.Provider,{value:pe},e.createElement(C,{error:o,editorHandler:l})):a.length>0?e.createElement(he.Provider,{value:pe},e.createElement(se,{errorRecords:a,close:i,editorHandler:l})):null);return null===u?(t.unmountComponentAtNode(de),!1):(t.render(u,de),!0)},document.body.style.margin=\\\"0\\\",document.body.style[\\\"max-width\\\"]=\\\"100vw\\\",function(e,t){for(var r in e.setAttribute(\\\"style\\\",\\\"\\\"),t)t.hasOwnProperty(r)&&(e.style[r]=t[r])}(de=document.createElement(\\\"div\\\"),function(e){return{width:\\\"100%\\\",height:\\\"100%\\\",\\\"box-sizing\\\":\\\"border-box\\\",\\\"text-align\\\":\\\"center\\\",\\\"background-color\\\":e.background}}(pe)),document.body.appendChild(de),window.parent.__REACT_ERROR_OVERLAY_GLOBAL_HOOK__.iframeReady()})()})();\", t.body.appendChild(r);\n }\n }, window.document.body.appendChild(e);\n }\n }\n\n function we() {\n if (!se) throw new Error(\"Expected options to be injected.\");\n if (!ne) throw new Error(\"Iframe has not been created yet.\");\n ne.contentWindow.updateContent({\n currentBuildError: le,\n currentRuntimeErrorRecords: ue,\n dismissRuntimeErrors: ve,\n editorHandler: ie\n }) || (window.document.body.removeChild(ne), ne = null, ae = !1);\n }\n\n window.__REACT_ERROR_OVERLAY_GLOBAL_HOOK__ = window.__REACT_ERROR_OVERLAY_GLOBAL_HOOK__ || {}, window.__REACT_ERROR_OVERLAY_GLOBAL_HOOK__.iframeReady = function () {\n ae = !0, oe = !1, we();\n }, \"production\" === process.env.NODE_ENV && console.warn(\"react-error-overlay is not meant for use in production. You should ensure it is not included in your build to reduce bundle size.\");\n }(), n;\n }();\n});","map":{"version":3,"sources":["C:/Users/user/AppData/Roaming/npm/node_modules/expo-cli/node_modules/react-error-overlay/lib/index.js"],"names":["e","t","exports","module","define","amd","ReactErrorOverlay","self","r","Object","prototype","n","hasOwnProperty","o","Symbol","a","iterator","i","asyncIterator","l","toStringTag","u","defineProperty","value","enumerable","configurable","writable","s","m","create","T","_invoke","f","p","Error","h","L","method","arg","delegate","_","g","sent","_sent","dispatchException","abrupt","c","type","done","d","call","wrap","v","y","b","w","getPrototypeOf","x","R","E","k","forEach","S","resolve","__await","then","return","TypeError","resultName","next","nextLoc","C","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","O","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","AsyncIterator","async","Promise","keys","reverse","pop","values","prev","charAt","slice","stop","rval","complete","finish","catch","delegateYield","regeneratorRuntime","globalThis","Function","Wo","Array","isArray","all","map","isFulfilled","isRejected","reason","Map","_array","_set","fromArray","add","size","getOwnPropertyNames","toSetString","has","set","indexOf","get","at","toArray","I","encode","decode","charCodeAt","rest","split","Math","floor","LEAST_UPPER_BOUND","GREATEST_LOWER_BOUND","search","_sorted","_last","generatedLine","generatedColumn","unsortedForEach","compareByGeneratedPositionsInflated","sort","H","round","random","U","JSON","parse","replace","sections","getArg","_version","String","normalize","isAbsolute","relative","_names","_sources","sourceRoot","sourcesContent","_mappings","file","source","originalLine","originalColumn","line","column","_sections","url","generatedOffset","consumer","fromSourceMap","__generatedMappings","_parseMappings","__originalMappings","_charIsMappingSeparator","GENERATED_ORDER","ORIGINAL_ORDER","eachMapping","_generatedMappings","_originalMappings","join","allGeneratedPositionsFor","_findMapping","compareByOriginalPositions","lastColumn","SourceMapConsumer","_sourceRoot","_generateSourcesContent","_file","compareByGeneratedPositionsDeflated","computeColumnSpans","lastGeneratedColumn","originalPositionFor","hasContentsOfAllSources","some","sourceContentFor","urlParse","scheme","path","generatedPositionFor","sources","bias","every","_skipValidation","_sourcesContents","generated","original","addMapping","setSourceContent","_validateMapping","applySourceMap","stringify","_serializeMappings","toJSON","version","names","mappings","toString","children","sourceContents","fromStringWithSourceMap","substr","splice","prepend","unshift","walk","replaceRight","walkSourceContents","fromSetString","toStringWithSourceMap","code","arguments","match","auth","host","port","urlGenerate","lastIndexOf","__esModule","default","dismissBuildError","he","dismissRuntimeErrors","ve","reportBuildError","de","reportRuntimeError","pe","setEditorHandler","fe","startReportingRuntimeErrors","ge","stopReportingRuntimeErrors","ye","error","bind","addEventListener","removeEventListener","stackTraceLimit","console","reactStack","reactStackEnd","setTimeout","apply","filter","fileName","lineNumber","abs","concat","message","stack","Reflect","construct","sham","Proxy","Boolean","valueOf","from","test","key","content","highlight","functionName","columnNumber","_originalFunctionName","_originalFileName","_originalLineNumber","_originalColumnNumber","_scriptCode","_originalScriptCode","getFunctionName","getSource","A","exec","Number","P","N","q","trim","M","D","j","F","z","__source_map","B","reject","V","substring","window","atob","fetch","json","G","max","min","Y","W","$","encodeURIComponent","text","fileSource","getOriginalPosition","Q","J","K","X","Z","contents","uri","getSources","token","seps","sep","penalties","sign","getGeneratedPosition","ee","__unmap_source","te","unhandledRejection","contextSize","stackFrames","log","re","position","top","left","width","height","border","ne","oe","ae","ie","le","ue","se","ce","be","me","launchEditorEndpoint","warn","filename","onError","we","document","createElement","setAttribute","style","onload","contentDocument","body","contentWindow","innerHTML","appendChild","updateContent","currentBuildError","currentRuntimeErrorRecords","editorHandler","removeChild","__REACT_ERROR_OVERLAY_GLOBAL_HOOK__","iframeReady","process","env","NODE_ENV"],"mappings":"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","sourcesContent":["!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.ReactErrorOverlay=t():e.ReactErrorOverlay=t()}(self,(function(){return(()=>{var e={162:(e,t,r)=>{e.exports=r(47)},47:e=>{var t=function(e){\"use strict\";var t,r=Object.prototype,n=r.hasOwnProperty,o=\"function\"==typeof Symbol?Symbol:{},a=o.iterator||\"@@iterator\",i=o.asyncIterator||\"@@asyncIterator\",l=o.toStringTag||\"@@toStringTag\";function u(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},\"\")}catch(e){u=function(e,t,r){return e[t]=r}}function s(e,t,r,n){var o=t&&t.prototype instanceof m?t:m,a=Object.create(o.prototype),i=new T(n||[]);return a._invoke=function(e,t,r){var n=f;return function(o,a){if(n===p)throw new Error(\"Generator is already running\");if(n===h){if(\"throw\"===o)throw a;return L()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var l=_(i,r);if(l){if(l===g)continue;return l}}if(\"next\"===r.method)r.sent=r._sent=r.arg;else if(\"throw\"===r.method){if(n===f)throw n=h,r.arg;r.dispatchException(r.arg)}else\"return\"===r.method&&r.abrupt(\"return\",r.arg);n=p;var u=c(e,t,r);if(\"normal\"===u.type){if(n=r.done?h:d,u.arg===g)continue;return{value:u.arg,done:r.done}}\"throw\"===u.type&&(n=h,r.method=\"throw\",r.arg=u.arg)}}}(e,r,i),a}function c(e,t,r){try{return{type:\"normal\",arg:e.call(t,r)}}catch(e){return{type:\"throw\",arg:e}}}e.wrap=s;var f=\"suspendedStart\",d=\"suspendedYield\",p=\"executing\",h=\"completed\",g={};function m(){}function v(){}function y(){}var b={};u(b,a,(function(){return this}));var w=Object.getPrototypeOf,x=w&&w(w(R([])));x&&x!==r&&n.call(x,a)&&(b=x);var E=y.prototype=m.prototype=Object.create(b);function k(e){[\"next\",\"throw\",\"return\"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function S(e,t){function r(o,a,i,l){var u=c(e[o],e,a);if(\"throw\"!==u.type){var s=u.arg,f=s.value;return f&&\"object\"==typeof f&&n.call(f,\"__await\")?t.resolve(f.__await).then((function(e){r(\"next\",e,i,l)}),(function(e){r(\"throw\",e,i,l)})):t.resolve(f).then((function(e){s.value=e,i(s)}),(function(e){return r(\"throw\",e,i,l)}))}l(u.arg)}var o;this._invoke=function(e,n){function a(){return new t((function(t,o){r(e,n,t,o)}))}return o=o?o.then(a,a):a()}}function _(e,r){var n=e.iterator[r.method];if(n===t){if(r.delegate=null,\"throw\"===r.method){if(e.iterator.return&&(r.method=\"return\",r.arg=t,_(e,r),\"throw\"===r.method))return g;r.method=\"throw\",r.arg=new TypeError(\"The iterator does not provide a 'throw' method\")}return g}var o=c(n,e.iterator,r.arg);if(\"throw\"===o.type)return r.method=\"throw\",r.arg=o.arg,r.delegate=null,g;var a=o.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,\"return\"!==r.method&&(r.method=\"next\",r.arg=t),r.delegate=null,g):a:(r.method=\"throw\",r.arg=new TypeError(\"iterator result is not an object\"),r.delegate=null,g)}function C(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function O(e){var t=e.completion||{};t.type=\"normal\",delete t.arg,e.completion=t}function T(e){this.tryEntries=[{tryLoc:\"root\"}],e.forEach(C,this),this.reset(!0)}function R(e){if(e){var r=e[a];if(r)return r.call(e);if(\"function\"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function r(){for(;++o<e.length;)if(n.call(e,o))return r.value=e[o],r.done=!1,r;return r.value=t,r.done=!0,r};return i.next=i}}return{next:L}}function L(){return{value:t,done:!0}}return v.prototype=y,u(E,\"constructor\",y),u(y,\"constructor\",v),v.displayName=u(y,l,\"GeneratorFunction\"),e.isGeneratorFunction=function(e){var t=\"function\"==typeof e&&e.constructor;return!!t&&(t===v||\"GeneratorFunction\"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,y):(e.__proto__=y,u(e,l,\"GeneratorFunction\")),e.prototype=Object.create(E),e},e.awrap=function(e){return{__await:e}},k(S.prototype),u(S.prototype,i,(function(){return this})),e.AsyncIterator=S,e.async=function(t,r,n,o,a){void 0===a&&(a=Promise);var i=new S(s(t,r,n,o),a);return e.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},k(E),u(E,l,\"Generator\"),u(E,a,(function(){return this})),u(E,\"toString\",(function(){return\"[object Generator]\"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=R,T.prototype={constructor:T,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=t,this.tryEntries.forEach(O),!e)for(var r in this)\"t\"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if(\"throw\"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function o(n,o){return l.type=\"throw\",l.arg=e,r.next=n,o&&(r.method=\"next\",r.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],l=i.completion;if(\"root\"===i.tryLoc)return o(\"end\");if(i.tryLoc<=this.prev){var u=n.call(i,\"catchLoc\"),s=n.call(i,\"finallyLoc\");if(u&&s){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!s)throw new Error(\"try statement without catch or finally\");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,\"finallyLoc\")&&this.prev<o.finallyLoc){var a=o;break}}a&&(\"break\"===e||\"continue\"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method=\"next\",this.next=a.finallyLoc,g):this.complete(i)},complete:function(e,t){if(\"throw\"===e.type)throw e.arg;return\"break\"===e.type||\"continue\"===e.type?this.next=e.arg:\"return\"===e.type?(this.rval=this.arg=e.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),O(r),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if(\"throw\"===n.type){var o=n.arg;O(r)}return o}}throw new Error(\"illegal catch attempt\")},delegateYield:function(e,r,n){return this.delegate={iterator:R(e),resultName:r,nextLoc:n},\"next\"===this.method&&(this.arg=t),g}},e}(e.exports);try{regeneratorRuntime=t}catch(e){\"object\"==typeof globalThis?globalThis.regeneratorRuntime=t:Function(\"r\",\"regeneratorRuntime = r\")(t)}},268:(e,t)=>{\"use strict\";t.Wo=function(e){return Array.isArray(e)||(e=[e]),Promise.all(e.map((function(e){return e.then((function(e){return{isFulfilled:!0,isRejected:!1,value:e}})).catch((function(e){return{isFulfilled:!1,isRejected:!0,reason:e}}))})))}},213:(e,t,r)=>{var n=r(728),o=Object.prototype.hasOwnProperty,a=\"undefined\"!=typeof Map;function i(){this._array=[],this._set=a?new Map:Object.create(null)}i.fromArray=function(e,t){for(var r=new i,n=0,o=e.length;n<o;n++)r.add(e[n],t);return r},i.prototype.size=function(){return a?this._set.size:Object.getOwnPropertyNames(this._set).length},i.prototype.add=function(e,t){var r=a?e:n.toSetString(e),i=a?this.has(e):o.call(this._set,r),l=this._array.length;i&&!t||this._array.push(e),i||(a?this._set.set(e,l):this._set[r]=l)},i.prototype.has=function(e){if(a)return this._set.has(e);var t=n.toSetString(e);return o.call(this._set,t)},i.prototype.indexOf=function(e){if(a){var t=this._set.get(e);if(t>=0)return t}else{var r=n.toSetString(e);if(o.call(this._set,r))return this._set[r]}throw new Error('\"'+e+'\" is not in the set.')},i.prototype.at=function(e){if(e>=0&&e<this._array.length)return this._array[e];throw new Error(\"No element indexed by \"+e)},i.prototype.toArray=function(){return this._array.slice()},t.I=i},400:(e,t,r)=>{var n=r(923);t.encode=function(e){var t,r=\"\",o=function(e){return e<0?1+(-e<<1):0+(e<<1)}(e);do{t=31&o,(o>>>=5)>0&&(t|=32),r+=n.encode(t)}while(o>0);return r},t.decode=function(e,t,r){var o,a,i,l,u=e.length,s=0,c=0;do{if(t>=u)throw new Error(\"Expected more digits in base 64 VLQ value.\");if(-1===(a=n.decode(e.charCodeAt(t++))))throw new Error(\"Invalid base64 digit: \"+e.charAt(t-1));o=!!(32&a),s+=(a&=31)<<c,c+=5}while(o);r.value=(l=(i=s)>>1,1==(1&i)?-l:l),r.rest=t}},923:(e,t)=>{var r=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".split(\"\");t.encode=function(e){if(0<=e&&e<r.length)return r[e];throw new TypeError(\"Must be between 0 and 63: \"+e)},t.decode=function(e){return 65<=e&&e<=90?e-65:97<=e&&e<=122?e-97+26:48<=e&&e<=57?e-48+52:43==e?62:47==e?63:-1}},216:(e,t)=>{function r(e,n,o,a,i,l){var u=Math.floor((n-e)/2)+e,s=i(o,a[u],!0);return 0===s?u:s>0?n-u>1?r(u,n,o,a,i,l):l==t.LEAST_UPPER_BOUND?n<a.length?n:-1:u:u-e>1?r(e,u,o,a,i,l):l==t.LEAST_UPPER_BOUND?u:e<0?-1:e}t.GREATEST_LOWER_BOUND=1,t.LEAST_UPPER_BOUND=2,t.search=function(e,n,o,a){if(0===n.length)return-1;var i=r(-1,n.length,e,n,o,a||t.GREATEST_LOWER_BOUND);if(i<0)return-1;for(;i-1>=0&&0===o(n[i],n[i-1],!0);)--i;return i}},188:(e,t,r)=>{var n=r(728);function o(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}o.prototype.unsortedForEach=function(e,t){this._array.forEach(e,t)},o.prototype.add=function(e){var t,r,o,a,i,l;r=e,o=(t=this._last).generatedLine,a=r.generatedLine,i=t.generatedColumn,l=r.generatedColumn,a>o||a==o&&l>=i||n.compareByGeneratedPositionsInflated(t,r)<=0?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},o.prototype.toArray=function(){return this._sorted||(this._array.sort(n.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},t.H=o},826:(e,t)=>{function r(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function n(e,t,o,a){if(o<a){var i=o-1;r(e,(c=o,f=a,Math.round(c+Math.random()*(f-c))),a);for(var l=e[a],u=o;u<a;u++)t(e[u],l)<=0&&r(e,i+=1,u);r(e,i+1,u);var s=i+1;n(e,t,o,s-1),n(e,t,s+1,a)}var c,f}t.U=function(e,t){n(e,t,0,e.length-1)}},771:(e,t,r)=>{var n=r(728),o=r(216),a=r(213).I,i=r(400),l=r(826).U;function u(e){var t=e;return\"string\"==typeof e&&(t=JSON.parse(e.replace(/^\\)\\]\\}'/,\"\"))),null!=t.sections?new f(t):new s(t)}function s(e){var t=e;\"string\"==typeof e&&(t=JSON.parse(e.replace(/^\\)\\]\\}'/,\"\")));var r=n.getArg(t,\"version\"),o=n.getArg(t,\"sources\"),i=n.getArg(t,\"names\",[]),l=n.getArg(t,\"sourceRoot\",null),u=n.getArg(t,\"sourcesContent\",null),s=n.getArg(t,\"mappings\"),c=n.getArg(t,\"file\",null);if(r!=this._version)throw new Error(\"Unsupported version: \"+r);o=o.map(String).map(n.normalize).map((function(e){return l&&n.isAbsolute(l)&&n.isAbsolute(e)?n.relative(l,e):e})),this._names=a.fromArray(i.map(String),!0),this._sources=a.fromArray(o,!0),this.sourceRoot=l,this.sourcesContent=u,this._mappings=s,this.file=c}function c(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function f(e){var t=e;\"string\"==typeof e&&(t=JSON.parse(e.replace(/^\\)\\]\\}'/,\"\")));var r=n.getArg(t,\"version\"),o=n.getArg(t,\"sections\");if(r!=this._version)throw new Error(\"Unsupported version: \"+r);this._sources=new a,this._names=new a;var i={line:-1,column:0};this._sections=o.map((function(e){if(e.url)throw new Error(\"Support for url field in sections not implemented.\");var t=n.getArg(e,\"offset\"),r=n.getArg(t,\"line\"),o=n.getArg(t,\"column\");if(r<i.line||r===i.line&&o<i.column)throw new Error(\"Section offsets must be ordered and non-overlapping.\");return i=t,{generatedOffset:{generatedLine:r+1,generatedColumn:o+1},consumer:new u(n.getArg(e,\"map\"))}}))}u.fromSourceMap=function(e){return s.fromSourceMap(e)},u.prototype._version=3,u.prototype.__generatedMappings=null,Object.defineProperty(u.prototype,\"_generatedMappings\",{get:function(){return this.__generatedMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__generatedMappings}}),u.prototype.__originalMappings=null,Object.defineProperty(u.prototype,\"_originalMappings\",{get:function(){return this.__originalMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__originalMappings}}),u.prototype._charIsMappingSeparator=function(e,t){var r=e.charAt(t);return\";\"===r||\",\"===r},u.prototype._parseMappings=function(e,t){throw new Error(\"Subclasses must implement _parseMappings\")},u.GENERATED_ORDER=1,u.ORIGINAL_ORDER=2,u.GREATEST_LOWER_BOUND=1,u.LEAST_UPPER_BOUND=2,u.prototype.eachMapping=function(e,t,r){var o,a=t||null;switch(r||u.GENERATED_ORDER){case u.GENERATED_ORDER:o=this._generatedMappings;break;case u.ORIGINAL_ORDER:o=this._originalMappings;break;default:throw new Error(\"Unknown order of iteration.\")}var i=this.sourceRoot;o.map((function(e){var t=null===e.source?null:this._sources.at(e.source);return null!=t&&null!=i&&(t=n.join(i,t)),{source:t,generatedLine:e.generatedLine,generatedColumn:e.generatedColumn,originalLine:e.originalLine,originalColumn:e.originalColumn,name:null===e.name?null:this._names.at(e.name)}}),this).forEach(e,a)},u.prototype.allGeneratedPositionsFor=function(e){var t=n.getArg(e,\"line\"),r={source:n.getArg(e,\"source\"),originalLine:t,originalColumn:n.getArg(e,\"column\",0)};if(null!=this.sourceRoot&&(r.source=n.relative(this.sourceRoot,r.source)),!this._sources.has(r.source))return[];r.source=this._sources.indexOf(r.source);var a=[],i=this._findMapping(r,this._originalMappings,\"originalLine\",\"originalColumn\",n.compareByOriginalPositions,o.LEAST_UPPER_BOUND);if(i>=0){var l=this._originalMappings[i];if(void 0===e.column)for(var u=l.originalLine;l&&l.originalLine===u;)a.push({line:n.getArg(l,\"generatedLine\",null),column:n.getArg(l,\"generatedColumn\",null),lastColumn:n.getArg(l,\"lastGeneratedColumn\",null)}),l=this._originalMappings[++i];else for(var s=l.originalColumn;l&&l.originalLine===t&&l.originalColumn==s;)a.push({line:n.getArg(l,\"generatedLine\",null),column:n.getArg(l,\"generatedColumn\",null),lastColumn:n.getArg(l,\"lastGeneratedColumn\",null)}),l=this._originalMappings[++i]}return a},t.SourceMapConsumer=u,s.prototype=Object.create(u.prototype),s.prototype.consumer=u,s.fromSourceMap=function(e){var t=Object.create(s.prototype),r=t._names=a.fromArray(e._names.toArray(),!0),o=t._sources=a.fromArray(e._sources.toArray(),!0);t.sourceRoot=e._sourceRoot,t.sourcesContent=e._generateSourcesContent(t._sources.toArray(),t.sourceRoot),t.file=e._file;for(var i=e._mappings.toArray().slice(),u=t.__generatedMappings=[],f=t.__originalMappings=[],d=0,p=i.length;d<p;d++){var h=i[d],g=new c;g.generatedLine=h.generatedLine,g.generatedColumn=h.generatedColumn,h.source&&(g.source=o.indexOf(h.source),g.originalLine=h.originalLine,g.originalColumn=h.originalColumn,h.name&&(g.name=r.indexOf(h.name)),f.push(g)),u.push(g)}return l(t.__originalMappings,n.compareByOriginalPositions),t},s.prototype._version=3,Object.defineProperty(s.prototype,\"sources\",{get:function(){return this._sources.toArray().map((function(e){return null!=this.sourceRoot?n.join(this.sourceRoot,e):e}),this)}}),s.prototype._parseMappings=function(e,t){for(var r,o,a,u,s,f=1,d=0,p=0,h=0,g=0,m=0,v=e.length,y=0,b={},w={},x=[],E=[];y<v;)if(\";\"===e.charAt(y))f++,y++,d=0;else if(\",\"===e.charAt(y))y++;else{for((r=new c).generatedLine=f,u=y;u<v&&!this._charIsMappingSeparator(e,u);u++);if(a=b[o=e.slice(y,u)])y+=o.length;else{for(a=[];y<u;)i.decode(e,y,w),s=w.value,y=w.rest,a.push(s);if(2===a.length)throw new Error(\"Found a source, but no line and column\");if(3===a.length)throw new Error(\"Found a source and line, but no column\");b[o]=a}r.generatedColumn=d+a[0],d=r.generatedColumn,a.length>1&&(r.source=g+a[1],g+=a[1],r.originalLine=p+a[2],p=r.originalLine,r.originalLine+=1,r.originalColumn=h+a[3],h=r.originalColumn,a.length>4&&(r.name=m+a[4],m+=a[4])),E.push(r),\"number\"==typeof r.originalLine&&x.push(r)}l(E,n.compareByGeneratedPositionsDeflated),this.__generatedMappings=E,l(x,n.compareByOriginalPositions),this.__originalMappings=x},s.prototype._findMapping=function(e,t,r,n,a,i){if(e[r]<=0)throw new TypeError(\"Line must be greater than or equal to 1, got \"+e[r]);if(e[n]<0)throw new TypeError(\"Column must be greater than or equal to 0, got \"+e[n]);return o.search(e,t,a,i)},s.prototype.computeColumnSpans=function(){for(var e=0;e<this._generatedMappings.length;++e){var t=this._generatedMappings[e];if(e+1<this._generatedMappings.length){var r=this._generatedMappings[e+1];if(t.generatedLine===r.generatedLine){t.lastGeneratedColumn=r.generatedColumn-1;continue}}t.lastGeneratedColumn=1/0}},s.prototype.originalPositionFor=function(e){var t={generatedLine:n.getArg(e,\"line\"),generatedColumn:n.getArg(e,\"column\")},r=this._findMapping(t,this._generatedMappings,\"generatedLine\",\"generatedColumn\",n.compareByGeneratedPositionsDeflated,n.getArg(e,\"bias\",u.GREATEST_LOWER_BOUND));if(r>=0){var o=this._generatedMappings[r];if(o.generatedLine===t.generatedLine){var a=n.getArg(o,\"source\",null);null!==a&&(a=this._sources.at(a),null!=this.sourceRoot&&(a=n.join(this.sourceRoot,a)));var i=n.getArg(o,\"name\",null);return null!==i&&(i=this._names.at(i)),{source:a,line:n.getArg(o,\"originalLine\",null),column:n.getArg(o,\"originalColumn\",null),name:i}}}return{source:null,line:null,column:null,name:null}},s.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return null==e}))},s.prototype.sourceContentFor=function(e,t){if(!this.sourcesContent)return null;if(null!=this.sourceRoot&&(e=n.relative(this.sourceRoot,e)),this._sources.has(e))return this.sourcesContent[this._sources.indexOf(e)];var r;if(null!=this.sourceRoot&&(r=n.urlParse(this.sourceRoot))){var o=e.replace(/^file:\\/\\//,\"\");if(\"file\"==r.scheme&&this._sources.has(o))return this.sourcesContent[this._sources.indexOf(o)];if((!r.path||\"/\"==r.path)&&this._sources.has(\"/\"+e))return this.sourcesContent[this._sources.indexOf(\"/\"+e)]}if(t)return null;throw new Error('\"'+e+'\" is not in the SourceMap.')},s.prototype.generatedPositionFor=function(e){var t=n.getArg(e,\"source\");if(null!=this.sourceRoot&&(t=n.relative(this.sourceRoot,t)),!this._sources.has(t))return{line:null,column:null,lastColumn:null};var r={source:t=this._sources.indexOf(t),originalLine:n.getArg(e,\"line\"),originalColumn:n.getArg(e,\"column\")},o=this._findMapping(r,this._originalMappings,\"originalLine\",\"originalColumn\",n.compareByOriginalPositions,n.getArg(e,\"bias\",u.GREATEST_LOWER_BOUND));if(o>=0){var a=this._originalMappings[o];if(a.source===r.source)return{line:n.getArg(a,\"generatedLine\",null),column:n.getArg(a,\"generatedColumn\",null),lastColumn:n.getArg(a,\"lastGeneratedColumn\",null)}}return{line:null,column:null,lastColumn:null}},f.prototype=Object.create(u.prototype),f.prototype.constructor=u,f.prototype._version=3,Object.defineProperty(f.prototype,\"sources\",{get:function(){for(var e=[],t=0;t<this._sections.length;t++)for(var r=0;r<this._sections[t].consumer.sources.length;r++)e.push(this._sections[t].consumer.sources[r]);return e}}),f.prototype.originalPositionFor=function(e){var t={generatedLine:n.getArg(e,\"line\"),generatedColumn:n.getArg(e,\"column\")},r=o.search(t,this._sections,(function(e,t){return e.generatedLine-t.generatedOffset.generatedLine||e.generatedColumn-t.generatedOffset.generatedColumn})),a=this._sections[r];return a?a.consumer.originalPositionFor({line:t.generatedLine-(a.generatedOffset.generatedLine-1),column:t.generatedColumn-(a.generatedOffset.generatedLine===t.generatedLine?a.generatedOffset.generatedColumn-1:0),bias:e.bias}):{source:null,line:null,column:null,name:null}},f.prototype.hasContentsOfAllSources=function(){return this._sections.every((function(e){return e.consumer.hasContentsOfAllSources()}))},f.prototype.sourceContentFor=function(e,t){for(var r=0;r<this._sections.length;r++){var n=this._sections[r].consumer.sourceContentFor(e,!0);if(n)return n}if(t)return null;throw new Error('\"'+e+'\" is not in the SourceMap.')},f.prototype.generatedPositionFor=function(e){for(var t=0;t<this._sections.length;t++){var r=this._sections[t];if(-1!==r.consumer.sources.indexOf(n.getArg(e,\"source\"))){var o=r.consumer.generatedPositionFor(e);if(o)return{line:o.line+(r.generatedOffset.generatedLine-1),column:o.column+(r.generatedOffset.generatedLine===o.line?r.generatedOffset.generatedColumn-1:0)}}}return{line:null,column:null}},f.prototype._parseMappings=function(e,t){this.__generatedMappings=[],this.__originalMappings=[];for(var r=0;r<this._sections.length;r++)for(var o=this._sections[r],a=o.consumer._generatedMappings,i=0;i<a.length;i++){var u=a[i],s=o.consumer._sources.at(u.source);null!==o.consumer.sourceRoot&&(s=n.join(o.consumer.sourceRoot,s)),this._sources.add(s),s=this._sources.indexOf(s);var c=o.consumer._names.at(u.name);this._names.add(c),c=this._names.indexOf(c);var f={source:s,generatedLine:u.generatedLine+(o.generatedOffset.generatedLine-1),generatedColumn:u.generatedColumn+(o.generatedOffset.generatedLine===u.generatedLine?o.generatedOffset.generatedColumn-1:0),originalLine:u.originalLine,originalColumn:u.originalColumn,name:c};this.__generatedMappings.push(f),\"number\"==typeof f.originalLine&&this.__originalMappings.push(f)}l(this.__generatedMappings,n.compareByGeneratedPositionsDeflated),l(this.__originalMappings,n.compareByOriginalPositions)}},433:(e,t,r)=>{var n=r(400),o=r(728),a=r(213).I,i=r(188).H;function l(e){e||(e={}),this._file=o.getArg(e,\"file\",null),this._sourceRoot=o.getArg(e,\"sourceRoot\",null),this._skipValidation=o.getArg(e,\"skipValidation\",!1),this._sources=new a,this._names=new a,this._mappings=new i,this._sourcesContents=null}l.prototype._version=3,l.fromSourceMap=function(e){var t=e.sourceRoot,r=new l({file:e.file,sourceRoot:t});return e.eachMapping((function(e){var n={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(n.source=e.source,null!=t&&(n.source=o.relative(t,n.source)),n.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(n.name=e.name)),r.addMapping(n)})),e.sources.forEach((function(t){var n=e.sourceContentFor(t);null!=n&&r.setSourceContent(t,n)})),r},l.prototype.addMapping=function(e){var t=o.getArg(e,\"generated\"),r=o.getArg(e,\"original\",null),n=o.getArg(e,\"source\",null),a=o.getArg(e,\"name\",null);this._skipValidation||this._validateMapping(t,r,n,a),null!=n&&(n=String(n),this._sources.has(n)||this._sources.add(n)),null!=a&&(a=String(a),this._names.has(a)||this._names.add(a)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=r&&r.line,originalColumn:null!=r&&r.column,source:n,name:a})},l.prototype.setSourceContent=function(e,t){var r=e;null!=this._sourceRoot&&(r=o.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[o.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[o.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},l.prototype.applySourceMap=function(e,t,r){var n=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\\'s \"file\" property. Both were omitted.');n=e.file}var i=this._sourceRoot;null!=i&&(n=o.relative(i,n));var l=new a,u=new a;this._mappings.unsortedForEach((function(t){if(t.source===n&&null!=t.originalLine){var a=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=a.source&&(t.source=a.source,null!=r&&(t.source=o.join(r,t.source)),null!=i&&(t.source=o.relative(i,t.source)),t.originalLine=a.line,t.originalColumn=a.column,null!=a.name&&(t.name=a.name))}var s=t.source;null==s||l.has(s)||l.add(s);var c=t.name;null==c||u.has(c)||u.add(c)}),this),this._sources=l,this._names=u,e.sources.forEach((function(t){var n=e.sourceContentFor(t);null!=n&&(null!=r&&(t=o.join(r,t)),null!=i&&(t=o.relative(i,t)),this.setSourceContent(t,n))}),this)},l.prototype._validateMapping=function(e,t,r,n){if(t&&\"number\"!=typeof t.line&&\"number\"!=typeof t.column)throw new Error(\"original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.\");if((!(e&&\"line\"in e&&\"column\"in e&&e.line>0&&e.column>=0)||t||r||n)&&!(e&&\"line\"in e&&\"column\"in e&&t&&\"line\"in t&&\"column\"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error(\"Invalid mapping: \"+JSON.stringify({generated:e,source:r,original:t,name:n}))},l.prototype._serializeMappings=function(){for(var e,t,r,a,i=0,l=1,u=0,s=0,c=0,f=0,d=\"\",p=this._mappings.toArray(),h=0,g=p.length;h<g;h++){if(e=\"\",(t=p[h]).generatedLine!==l)for(i=0;t.generatedLine!==l;)e+=\";\",l++;else if(h>0){if(!o.compareByGeneratedPositionsInflated(t,p[h-1]))continue;e+=\",\"}e+=n.encode(t.generatedColumn-i),i=t.generatedColumn,null!=t.source&&(a=this._sources.indexOf(t.source),e+=n.encode(a-f),f=a,e+=n.encode(t.originalLine-1-s),s=t.originalLine-1,e+=n.encode(t.originalColumn-u),u=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=n.encode(r-c),c=r)),d+=e}return d},l.prototype._generateSourcesContent=function(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=o.relative(t,e));var r=o.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)},l.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},l.prototype.toString=function(){return JSON.stringify(this.toJSON())},t.h=l},85:(e,t,r)=>{var n=r(433).h,o=r(728),a=/(\\r?\\n)/,i=\"$$$isSourceNode$$$\";function l(e,t,r,n,o){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==r?null:r,this.name=null==o?null:o,this[i]=!0,null!=n&&this.add(n)}l.fromStringWithSourceMap=function(e,t,r){var n=new l,i=e.split(a),u=0,s=function(){return e()+(e()||\"\");function e(){return u<i.length?i[u++]:void 0}},c=1,f=0,d=null;return t.eachMapping((function(e){if(null!==d){if(!(c<e.generatedLine)){var t=(r=i[u]).substr(0,e.generatedColumn-f);return i[u]=r.substr(e.generatedColumn-f),f=e.generatedColumn,p(d,t),void(d=e)}p(d,s()),c++,f=0}for(;c<e.generatedLine;)n.add(s()),c++;if(f<e.generatedColumn){var r=i[u];n.add(r.substr(0,e.generatedColumn)),i[u]=r.substr(e.generatedColumn),f=e.generatedColumn}d=e}),this),u<i.length&&(d&&p(d,s()),n.add(i.splice(u).join(\"\"))),t.sources.forEach((function(e){var a=t.sourceContentFor(e);null!=a&&(null!=r&&(e=o.join(r,e)),n.setSourceContent(e,a))})),n;function p(e,t){if(null===e||void 0===e.source)n.add(t);else{var a=r?o.join(r,e.source):e.source;n.add(new l(e.originalLine,e.originalColumn,a,t,e.name))}}},l.prototype.add=function(e){if(Array.isArray(e))e.forEach((function(e){this.add(e)}),this);else{if(!e[i]&&\"string\"!=typeof e)throw new TypeError(\"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \"+e);e&&this.children.push(e)}return this},l.prototype.prepend=function(e){if(Array.isArray(e))for(var t=e.length-1;t>=0;t--)this.prepend(e[t]);else{if(!e[i]&&\"string\"!=typeof e)throw new TypeError(\"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \"+e);this.children.unshift(e)}return this},l.prototype.walk=function(e){for(var t,r=0,n=this.children.length;r<n;r++)(t=this.children[r])[i]?t.walk(e):\"\"!==t&&e(t,{source:this.source,line:this.line,column:this.column,name:this.name})},l.prototype.join=function(e){var t,r,n=this.children.length;if(n>0){for(t=[],r=0;r<n-1;r++)t.push(this.children[r]),t.push(e);t.push(this.children[r]),this.children=t}return this},l.prototype.replaceRight=function(e,t){var r=this.children[this.children.length-1];return r[i]?r.replaceRight(e,t):\"string\"==typeof r?this.children[this.children.length-1]=r.replace(e,t):this.children.push(\"\".replace(e,t)),this},l.prototype.setSourceContent=function(e,t){this.sourceContents[o.toSetString(e)]=t},l.prototype.walkSourceContents=function(e){for(var t=0,r=this.children.length;t<r;t++)this.children[t][i]&&this.children[t].walkSourceContents(e);var n=Object.keys(this.sourceContents);for(t=0,r=n.length;t<r;t++)e(o.fromSetString(n[t]),this.sourceContents[n[t]])},l.prototype.toString=function(){var e=\"\";return this.walk((function(t){e+=t})),e},l.prototype.toStringWithSourceMap=function(e){var t={code:\"\",line:1,column:0},r=new n(e),o=!1,a=null,i=null,l=null,u=null;return this.walk((function(e,n){t.code+=e,null!==n.source&&null!==n.line&&null!==n.column?(a===n.source&&i===n.line&&l===n.column&&u===n.name||r.addMapping({source:n.source,original:{line:n.line,column:n.column},generated:{line:t.line,column:t.column},name:n.name}),a=n.source,i=n.line,l=n.column,u=n.name,o=!0):o&&(r.addMapping({generated:{line:t.line,column:t.column}}),a=null,o=!1);for(var s=0,c=e.length;s<c;s++)10===e.charCodeAt(s)?(t.line++,t.column=0,s+1===c?(a=null,o=!1):o&&r.addMapping({source:n.source,original:{line:n.line,column:n.column},generated:{line:t.line,column:t.column},name:n.name})):t.column++})),this.walkSourceContents((function(e,t){r.setSourceContent(e,t)})),{code:t.code,map:r}}},728:(e,t)=>{t.getArg=function(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('\"'+t+'\" is a required argument.')};var r=/^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.]*)(?::(\\d+))?(\\S*)$/,n=/^data:.+\\,.+$/;function o(e){var t=e.match(r);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function a(e){var t=\"\";return e.scheme&&(t+=e.scheme+\":\"),t+=\"//\",e.auth&&(t+=e.auth+\"@\"),e.host&&(t+=e.host),e.port&&(t+=\":\"+e.port),e.path&&(t+=e.path),t}function i(e){var r=e,n=o(e);if(n){if(!n.path)return e;r=n.path}for(var i,l=t.isAbsolute(r),u=r.split(/\\/+/),s=0,c=u.length-1;c>=0;c--)\".\"===(i=u[c])?u.splice(c,1):\"..\"===i?s++:s>0&&(\"\"===i?(u.splice(c+1,s),s=0):(u.splice(c,2),s--));return\"\"===(r=u.join(\"/\"))&&(r=l?\"/\":\".\"),n?(n.path=r,a(n)):r}t.urlParse=o,t.urlGenerate=a,t.normalize=i,t.join=function(e,t){\"\"===e&&(e=\".\"),\"\"===t&&(t=\".\");var r=o(t),l=o(e);if(l&&(e=l.path||\"/\"),r&&!r.scheme)return l&&(r.scheme=l.scheme),a(r);if(r||t.match(n))return t;if(l&&!l.host&&!l.path)return l.host=t,a(l);var u=\"/\"===t.charAt(0)?t:i(e.replace(/\\/+$/,\"\")+\"/\"+t);return l?(l.path=u,a(l)):u},t.isAbsolute=function(e){return\"/\"===e.charAt(0)||!!e.match(r)},t.relative=function(e,t){\"\"===e&&(e=\".\"),e=e.replace(/\\/$/,\"\");for(var r=0;0!==t.indexOf(e+\"/\");){var n=e.lastIndexOf(\"/\");if(n<0)return t;if((e=e.slice(0,n)).match(/^([^\\/]+:\\/)?\\/*$/))return t;++r}return Array(r+1).join(\"../\")+t.substr(e.length+1)};var l=!(\"__proto__\"in Object.create(null));function u(e){return e}function s(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function c(e,t){return e===t?0:e>t?1:-1}t.toSetString=l?u:function(e){return s(e)?\"$\"+e:e},t.fromSetString=l?u:function(e){return s(e)?e.slice(1):e},t.compareByOriginalPositions=function(e,t,r){var n=e.source-t.source;return 0!==n||0!=(n=e.originalLine-t.originalLine)||0!=(n=e.originalColumn-t.originalColumn)||r||0!=(n=e.generatedColumn-t.generatedColumn)||0!=(n=e.generatedLine-t.generatedLine)?n:e.name-t.name},t.compareByGeneratedPositionsDeflated=function(e,t,r){var n=e.generatedLine-t.generatedLine;return 0!==n||0!=(n=e.generatedColumn-t.generatedColumn)||r||0!=(n=e.source-t.source)||0!=(n=e.originalLine-t.originalLine)||0!=(n=e.originalColumn-t.originalColumn)?n:e.name-t.name},t.compareByGeneratedPositionsInflated=function(e,t){var r=e.generatedLine-t.generatedLine;return 0!==r||0!=(r=e.generatedColumn-t.generatedColumn)||0!==(r=c(e.source,t.source))||0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)?r:c(e.name,t.name)}},125:(e,t,r)=>{r(433).h,t.SourceMapConsumer=r(771).SourceMapConsumer,r(85)},538:()=>{}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var n={};return(()=>{\"use strict\";r.r(n),r.d(n,{dismissBuildError:()=>he,dismissRuntimeErrors:()=>ve,reportBuildError:()=>de,reportRuntimeError:()=>pe,setEditorHandler:()=>fe,startReportingRuntimeErrors:()=>ge,stopReportingRuntimeErrors:()=>ye});var e=null;function t(e,t){if(t.error){var r=t.error;r instanceof Error?e(r):e(new Error(r))}}function o(r,n){null===e&&(e=t.bind(void 0,n),r.addEventListener(\"error\",e))}function a(t){null!==e&&(t.removeEventListener(\"error\",e),e=null)}var i=null;function l(e,t){if(null==t||null==t.reason)return e(new Error(\"Unknown\"));var r=t.reason;return r instanceof Error?e(r):e(new Error(r))}function u(e,t){null===i&&(i=l.bind(void 0,t),e.addEventListener(\"unhandledrejection\",i))}function s(e){null!==i&&(e.removeEventListener(\"unhandledrejection\",i),i=null)}var c=!1,f=10;function d(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;if(!c)try{f=Error.stackTraceLimit,Error.stackTraceLimit=e,c=!0}catch(e){}}function p(){if(c)try{Error.stackTraceLimit=f,c=!1}catch(e){}}var h=[],g=function(){\"undefined\"!=typeof console&&(console.reactStack=function(e){return h.push(e)},console.reactStackEnd=function(e){return h.pop()})},m=function(){\"undefined\"!=typeof console&&(console.reactStack=void 0,console.reactStackEnd=void 0)},v=function(e,t){if(\"undefined\"!=typeof console){var r=console[e];\"function\"==typeof r&&(console[e]=function(){try{var e=arguments[0];\"string\"==typeof e&&h.length>0&&t(e,h[h.length-1])}catch(e){setTimeout((function(){throw e}))}return r.apply(this,arguments)})}};function y(e,t){for(var r,n,o=function(e){return e.split(\"\\n\").filter((function(e){return!e.match(/^\\s*in/)})).join(\"\\n\")}(e),a=\"\",i=0;i<t.length;++i){var l=t[i],u=l.fileName,s=l.lineNumber;if(null!=u&&null!=s&&!(u===r&&\"number\"==typeof s&&\"number\"==typeof n&&Math.abs(s-n)<3)){r=u,n=s;var c=t[i].name;a+=\"in \".concat(c=c||\"(anonymous function)\",\" (at \").concat(u,\":\").concat(s,\")\\n\")}}return{message:o,stack:a}}function b(e,t){return b=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},b(e,t)}function w(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function x(e,t,r){return x=w()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&b(o,r.prototype),o},x.apply(null,arguments)}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function k(e){return function(e){if(Array.isArray(e))return E(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(e){if(\"string\"==typeof e)return E(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===r&&e.constructor&&(r=e.constructor.name),\"Map\"===r||\"Set\"===r?Array.from(e):\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?E(e,t):void 0}}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function S(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function _(e,t,r){return t&&S(e.prototype,t),r&&S(e,r),e}function C(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var O=function e(t,r){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];C(this,e),this.lineNumber=t,this.content=r,this.highlight=n},T=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,l=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,u=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,s=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,c=arguments.length>9&&void 0!==arguments[9]?arguments[9]:null;C(this,e),t&&0===t.indexOf(\"Object.\")&&(t=t.slice(\"Object.\".length)),\"friendlySyntaxErrorLabel\"!==t&&\"exports.__esModule\"!==t&&\"<anonymous>\"!==t&&t||(t=null),this.functionName=t,this.fileName=r,this.lineNumber=n,this.columnNumber=o,this._originalFunctionName=i,this._originalFileName=l,this._originalLineNumber=u,this._originalColumnNumber=s,this._scriptCode=a,this._originalScriptCode=c}return _(e,[{key:\"getFunctionName\",value:function(){return this.functionName||\"(anonymous function)\"}},{key:\"getSource\",value:function(){var e=\"\";return null!=this.fileName&&(e+=this.fileName+\":\"),null!=this.lineNumber&&(e+=this.lineNumber+\":\"),null!=this.columnNumber&&(e+=this.columnNumber+\":\"),e.slice(0,-1)}},{key:\"toString\",value:function(){var e=this.getFunctionName(),t=this.getSource();return\"\".concat(e).concat(t?\" (\".concat(t,\")\"):\"\")}}]),e}();const R=T;var L=/\\(?(.+?)(?::(\\d+))?(?::(\\d+))?\\)?$/;function A(e){return L.exec(e).slice(1).map((function(e){var t=Number(e);return isNaN(t)?e:t}))}var P=/^\\s*(at|in)\\s.+(:\\d+)/,N=/(^|@)\\S+:\\d+|.+line\\s+\\d+\\s+>\\s+(eval|Function).+/;function q(e){return e.filter((function(e){return P.test(e)||N.test(e)})).map((function(e){if(N.test(e)){var t=!1;/ > (eval|Function)/.test(e)&&(e=e.replace(/ line (\\d+)(?: > eval line \\d+)* > (eval|Function):\\d+:\\d+/g,\":$1\"),t=!0);var r=e.split(/[@]/g),n=r.pop();return x(R,[r.join(\"@\")||(t?\"eval\":null)].concat(k(A(n))))}-1!==e.indexOf(\"(eval \")&&(e=e.replace(/(\\(eval at [^()]*)|(\\),.*$)/g,\"\")),-1!==e.indexOf(\"(at \")&&(e=e.replace(/\\(at /,\"(\"));var o=e.trim().split(/\\s+/g).slice(1),a=o.pop();return x(R,[o.join(\" \")||null].concat(k(A(a))))}))}function M(e){if(null==e)throw new Error(\"You cannot pass a null object.\");if(\"string\"==typeof e)return q(e.split(\"\\n\"));if(Array.isArray(e))return q(e);if(\"string\"==typeof e.stack)return q(e.stack.split(\"\\n\"));throw new Error(\"The error you provided does not contain a stack trace.\")}function D(e,t,r,n,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void r(e)}l.done?t(u):Promise.resolve(u).then(n,o)}function I(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){D(a,n,o,i,l,\"next\",e)}function l(e){D(a,n,o,i,l,\"throw\",e)}i(void 0)}))}}var j=r(162),F=r.n(j),z=r(125),U=function(){function e(t){C(this,e),this.__source_map=t}return _(e,[{key:\"getOriginalPosition\",value:function(e,t){var r=this.__source_map.originalPositionFor({line:e,column:t});return{line:r.line,column:r.column,source:r.source}}},{key:\"getGeneratedPosition\",value:function(e,t,r){var n=this.__source_map.generatedPositionFor({source:e,line:t,column:r});return{line:n.line,column:n.column}}},{key:\"getSource\",value:function(e){return this.__source_map.sourceContentFor(e)}},{key:\"getSources\",value:function(){return this.__source_map.sources}}]),e}();function B(e,t){for(var r=/\\/\\/[#@] ?sourceMappingURL=([^\\s'\"]+)\\s*$/gm,n=null;;){var o=r.exec(t);if(null==o)break;n=o}return n&&n[1]?Promise.resolve(n[1].toString()):Promise.reject(\"Cannot find a source map directive for \".concat(e,\".\"))}function H(e,t){return V.apply(this,arguments)}function V(){return(V=I(F().mark((function e(t,r){var n,o,a,i,l,u;return F().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,B(t,r);case 2:if(0!==(n=e.sent).indexOf(\"data:\")){e.next=14;break}if(o=/^data:application\\/json;([\\w=:\"-]+;)*base64,/,a=n.match(o)){e.next=8;break}throw new Error(\"Sorry, non-base64 inline source-map encoding is not supported.\");case 8:return n=n.substring(a[0].length),n=window.atob(n),n=JSON.parse(n),e.abrupt(\"return\",new U(new z.SourceMapConsumer(n)));case 14:return i=t.lastIndexOf(\"/\"),l=t.substring(0,i+1)+n,e.next=18,fetch(l).then((function(e){return e.json()}));case 18:return u=e.sent,e.abrupt(\"return\",new U(new z.SourceMapConsumer(u)));case 20:case\"end\":return e.stop()}}),e)})))).apply(this,arguments)}function G(e,t,r){\"string\"==typeof r&&(r=r.split(\"\\n\"));for(var n=[],o=Math.max(0,e-1-t);o<=Math.min(r.length-1,e-1+t);++o)n.push(new O(o+1,r[o],o===e-1));return n}var Y=r(268);function W(e){return $.apply(this,arguments)}function $(){return $=I(F().mark((function e(t){var r,n,o,a=arguments;return F().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=a.length>1&&void 0!==a[1]?a[1]:3,n={},o=[],t.forEach((function(e){var t=e.fileName;null!=t&&-1===o.indexOf(t)&&o.push(t)})),e.next=6,(0,Y.Wo)(o.map(function(){var e=I(F().mark((function e(t){var r,o,a;return F().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=0===t.indexOf(\"webpack-internal:\")?\"/__get-internal-source?fileName=\".concat(encodeURIComponent(t)):t,e.next=3,fetch(r).then((function(e){return e.text()}));case 3:return o=e.sent,e.next=6,H(t,o);case 6:a=e.sent,n[t]={fileSource:o,map:a};case 8:case\"end\":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 6:return e.abrupt(\"return\",t.map((function(e){var t=e.functionName,o=e.fileName,a=e.lineNumber,i=e.columnNumber,l=n[o]||{},u=l.map,s=l.fileSource;if(null==u||null==a)return e;var c=u.getOriginalPosition(a,i),f=c.source,d=c.line,p=c.column,h=null==f?[]:u.getSource(f);return new R(t,o,a,i,G(a,r,s),t,f,d,p,G(d,r,h))})));case 7:case\"end\":return e.stop()}}),e)}))),$.apply(this,arguments)}var Q=r(538),J=r.n(Q);function K(e,t){var r=-1,n=-1;do{++r,n=t.indexOf(e,n+1)}while(-1!==n);return r}function X(e,t){return Z.apply(this,arguments)}function Z(){return Z=I(F().mark((function e(t,r){var n,o,a,i,l=arguments;return F().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=l.length>2&&void 0!==l[2]?l[2]:3,o=\"object\"==typeof t?t.contents:null,a=\"object\"==typeof t?t.uri:t,null!=o){e.next=7;break}return e.next=6,fetch(a).then((function(e){return e.text()}));case 6:o=e.sent;case 7:return e.next=9,H(a,o);case 9:return i=e.sent,e.abrupt(\"return\",r.map((function(e){var t=e.functionName,r=e.lineNumber,l=e.columnNumber;if(null!=e._originalLineNumber)return e;var u=e.fileName;if(u&&(u=J().normalize(u.replace(/[\\\\]+/g,\"/\"))),null==u)return e;var s=u,c=i.getSources().map((function(e){return e.replace(/[\\\\]+/g,\"/\")})).filter((function(e){var t=(e=J().normalize(e)).lastIndexOf(s);return-1!==t&&t===e.length-s.length})).map((function(e){return{token:e,seps:K(J().sep,J().normalize(e)),penalties:K(\"node_modules\",e)+K(\"~\",e)}})).sort((function(e,t){var r=Math.sign(e.seps-t.seps);return 0!==r?r:Math.sign(e.penalties-t.penalties)}));if(c.length<1||null==r)return new R(null,null,null,null,null,t,s,r,l,null);var f=c[0].token,d=i.getGeneratedPosition(f,r,l),p=d.line,h=d.column,g=i.getSource(f);return new R(t,a,p,h||null,G(p,n,o||[]),t,s,r,l,G(r,n,g))})));case 11:case\"end\":return e.stop()}}),e)}))),Z.apply(this,arguments)}const ee=function(e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:3,r=M(e);return(e.__unmap_source?X(e.__unmap_source,r,t):W(r,t)).then((function(e){return 0===e.map((function(e){return e._originalFileName})).filter((function(e){return null!=e&&-1===e.indexOf(\"node_modules\")})).length?null:e.filter((function(e){var t=e.functionName;return null==t||-1===t.indexOf(\"__stack_frame_overlay_proxy_console__\")}))}))};var te=function(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];ee(t,r,3).then((function(n){null!=n&&e({error:t,unhandledRejection:r,contextSize:3,stackFrames:n})})).catch((function(e){console.log(\"Could not get the stack frames of error:\",e)}))}},re={position:\"fixed\",top:\"0\",left:\"0\",width:\"100%\",height:\"100%\",border:\"none\",\"z-index\":2147483647},ne=null,oe=!1,ae=!1,ie=null,le=null,ue=[],se=null,ce=null;function fe(e){ie=e,ne&&be()}function de(e){le=e,be()}function pe(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};se=t,te(me(t))(e)}function he(){le=null,be()}function ge(e){if(null!==ce)throw new Error(\"Already listening\");e.launchEditorEndpoint&&console.warn(\"Warning: `startReportingRuntimeErrors` doesn’t accept `launchEditorEndpoint` argument anymore. Use `listenToOpenInEditor` instead with your own implementation to open errors in editor \"),se=e,ce=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"/static/js/bundle.js\",r=te(e);return o(window,(function(e){return r(e,!1)})),u(window,(function(e){return r(e,!0)})),d(),g(),v(\"error\",(function(e,n){var o=y(e,n);r({message:o.message,stack:o.stack,__unmap_source:t},!1)})),function(){p(),s(window),a(window),m()}}(me(e),e.filename)}var me=function(e){return function(t){try{\"function\"==typeof e.onError&&e.onError.call(null)}finally{if(ue.some((function(e){return e.error===t.error})))return;ue=ue.concat([t]),be()}}};function ve(){ue=[],be()}function ye(){if(null===ce)throw new Error(\"Not currently listening\");se=null;try{ce()}finally{ce=null}}function be(){if(!oe)if(ae)we();else{oe=!0;var e=window.document.createElement(\"iframe\");!function(e,t){for(var r in e.setAttribute(\"style\",\"\"),t)t.hasOwnProperty(r)&&(e.style[r]=t[r])}(e,re),e.onload=function(){var t=e.contentDocument;if(null!=t&&null!=t.body){ne=e;var r=e.contentWindow.document.createElement(\"script\");r.type=\"text/javascript\",r.innerHTML='/*! For license information please see iframe-bundle.js.LICENSE.txt */\\n(()=>{var e={5270:e=>{e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n},e.exports.default=e.exports,e.exports.__esModule=!0},3041:(e,t,r)=>{var n=r(6487);e.exports=function(e,t){var r=\"undefined\"!==typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(!r){if(Array.isArray(e)||(r=n(e))||t&&e&&\"number\"===typeof e.length){r&&(e=r);var o=0,a=function(){};return{s:a,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:a}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var i,l=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return l=e.done,e},e:function(e){u=!0,i=e},f:function(){try{l||null==r.return||r.return()}finally{if(u)throw i}}}},e.exports.default=e.exports,e.exports.__esModule=!0},6487:(e,t,r)=>{var n=r(5270);e.exports=function(e,t){if(e){if(\"string\"===typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===r&&e.constructor&&(r=e.constructor.name),\"Map\"===r||\"Set\"===r?Array.from(e):\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}},e.exports.default=e.exports,e.exports.__esModule=!0},7162:(e,t,r)=>{e.exports=r(2205)},8641:(e,t,r)=>{\"use strict\";t.rf=u;var n=r(8048),o=!1;function a(e){return{gutter:e.grey,marker:e.red.bold,message:e.red.bold}}var i=/\\\\r\\\\n|[\\\\n\\\\r\\\\u2028\\\\u2029]/;function l(e,t,r){var n=Object.assign({column:0,line:-1},e.start),o=Object.assign({},n,e.end),a=r||{},i=a.linesAbove,l=void 0===i?2:i,u=a.linesBelow,s=void 0===u?3:u,c=n.line,f=n.column,d=o.line,p=o.column,h=Math.max(c-(l+1),0),g=Math.min(t.length,d+s);-1===c&&(h=0),-1===d&&(g=t.length);var m=d-c,v={};if(m)for(var y=0;y<=m;y++){var b=y+c;if(f)if(0===y){var w=t[b-1].length;v[b]=[f,w-f+1]}else if(y===m)v[b]=[0,p];else{var x=t[b-y].length;v[b]=[0,x]}else v[b]=!0}else v[c]=f===p?!f||[f,0]:[f,p-f];return{start:h,end:g,markerLines:v}}function u(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=(r.highlightCode||r.forceColor)&&(0,n.shouldHighlight)(r),u=(0,n.getChalk)(r),s=a(u),c=function(e,t){return o?e(t):t},f=e.split(i),d=l(t,f,r),p=d.start,h=d.end,g=d.markerLines,m=t.start&&\"number\"===typeof t.start.column,v=String(h).length,y=o?(0,n.default)(e,r):e,b=y.split(i,h).slice(p,h).map((function(e,t){var n=p+1+t,o=\" \".concat(n).slice(-v),a=\" \".concat(o,\" |\"),i=g[n],l=!g[n+1];if(i){var u=\"\";if(Array.isArray(i)){var f=e.slice(0,Math.max(i[0]-1,0)).replace(/[^\\\\t]/g,\" \"),d=i[1]||1;u=[\"\\\\n \",c(s.gutter,a.replace(/\\\\d/g,\" \")),\" \",f,c(s.marker,\"^\").repeat(d)].join(\"\"),l&&r.message&&(u+=\" \"+c(s.message,r.message))}return[c(s.marker,\">\"),c(s.gutter,a),e.length>0?\" \".concat(e):\"\",u].join(\"\")}return\" \".concat(c(s.gutter,a)).concat(e.length>0?\" \".concat(e):\"\")})).join(\"\\\\n\");return r.message&&!m&&(b=\"\".concat(\" \".repeat(v+1)).concat(r.message,\"\\\\n\").concat(b)),o?u.reset(b):b}},1714:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.isIdentifierStart=s,t.isIdentifierChar=c,t.isIdentifierName=function(e){for(var t=!0,r=0;r<e.length;r++){var n=e.charCodeAt(r);if(55296===(64512&n)&&r+1<e.length){var o=e.charCodeAt(++r);56320===(64512&o)&&(n=65536+((1023&n)<<10)+(1023&o))}if(t){if(t=!1,!s(n))return!1}else if(!c(n))return!1}return!t};var r=\"ªµºÀ-ÖØ-öø-ˈ-Ë‘Ë -ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ÒÒŠ-Ô¯Ô±-Õ–Õ™Õ -Öˆ×-תׯ-×²Ø -يٮٯٱ-Û“Û•Û¥Û¦Û®Û¯Ûº-Û¼Û¿ÜÜ’-ܯÝ-ޥޱߊ-ßªß´ßµßºà €-à •à šà ¤à ¨à¡€-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽà¥à¥˜-ॡॱ-ঀঅ-ঌà¦à¦à¦“-নপ-রলশ-হঽৎড়à§à§Ÿ-ৡৰৱৼਅ-ਊà¨à¨à¨“-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-àªàª-ઑઓ-નપ-રલળવ-હઽà«à« ૡૹଅ-ଌà¬à¬à¬“-ନପ-ରଲଳଵ-ହଽàœààŸ-à¡à±à®ƒà®…-ஊஎ-à®à®’-கஙசஜஞடணதந-பம-ஹà¯à°…-ఌఎ-à°à°’-నప-హఽౘ-ౚà±à± ౡಀಅ-ಌಎ-à²à²’-ನಪ-ಳವ-ಹಽà³à³žà³ ೡೱೲഄ-ഌഎ-à´à´’-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-à¶–à¶š-නඳ-රලව-à·†à¸-ะาำเ-ๆàºàº‚ຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿá-á•áš-áá¡á¥á¦á®-á°áµ-á‚ႎႠ-ჅჇáƒáƒ-ჺჼ-ቈቊ-á‰á‰-ቖቘቚ-á‰á‰ -ኈኊ-áŠáŠ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-áŒáŒ’-ጕጘ-ášáŽ€-áŽáŽ -áµá¸-á½á-ᙬᙯ-ᙿáš-áššáš -ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱá€-á‘á -á¬á®-á°áž€-ឳៗៜá -ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞá¥-á¥á¥°-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳá…-áŒá®ƒ-ᮠᮮᮯᮺ-ᯥᰀ-á°£á±-á±á±š-ᱽᲀ-ᲈá²-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-á¼á¼ -ὅὈ-á½á½-ὗὙὛá½á½Ÿ-ώᾀ-á¾´á¾¶-ᾼιῂ-ῄῆ-ῌá¿-á¿“á¿–-Ίῠ-Ῥῲ-á¿´á¿¶-ῼâ±â¿â‚-ₜℂℇℊ-ℓℕ℘-â„ℤΩℨK-ℹℼ-â„¿â……-â…‰â…Žâ… -ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧâ´â´°-ⵧⵯⶀ-â¶–â¶ -ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-â·Žâ·-â·–â·˜-ⷞ々-〇〡-〩〱-〵〸-〼ã-ã‚–ã‚›-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿã€-䶿一-ê’Œê“-ꓽꔀ-ꘌê˜-ꘟꘪꘫꙀ-ꙮꙿ-êšêš -ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟊêŸêŸ‘ꟓꟕ-ꟙꟲ-ê ê ƒ-ê …ê ‡-ê Šê Œ-ê ¢ê¡€-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ê¥†ê¥ -ꥼꦄ-ꦲê§ê§ -ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ê©‚ê©„-ê©‹ê© -ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ê«ê« -ꫪꫲ-ê«´ê¬-ꬆꬉ-ꬎꬑ-ê¬–ê¬ -ꬦꬨ-ꬮꬰ-êšêœ-ê©ê°-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-ï©ï©°-龎ff-stﬓ-ﬗï¬ï¬Ÿ-ﬨשׁ-זּטּ-לּמּï€ïïƒï„ï†-ﮱﯓ-ï´½ïµ-ï¶ï¶’-ﷇﷰ-ﷻﹰ-ï¹´ï¹¶-ﻼA-Zï½-zヲ-하-ᅦᅧ-ï¿ï¿’-ᅲᅳ-ᅵ\",n=\"‌â€Â·Ì€-ͯ·҃-Ò‡Ö‘-Ö½Ö¿×ׇׂׅׄØ-ØšÙ‹-٩ٰۖ-ۜ۟-Û¤Û§Û¨Ûª-ÛÛ°-۹ܑܰ-ÝŠÞ¦-ް߀-߉߫-ß³ß½à –-à ™à ›-à £à ¥-à §à ©-à à¡™-࡛࢘-࢟࣊-ࣣ࣡-ःऺ-़ा-à¥à¥‘-ॗॢॣ०-९à¦-ঃ়া-ৄেৈো-à§à§—ৢৣ০-৯৾à¨-ਃ਼ਾ-ੂੇੈੋ-à©à©‘੦-ੱੵàª-ઃ઼ા-ૅે-ૉો-à«à«¢à«£à«¦-૯ૺ-à«¿à¬-ଃ଼ା-à„à‡àˆà‹-àà•-à—à¢à£à¦-à¯à®‚ா-ூெ-ைொ-à¯à¯—௦-௯ఀ-ఄ఼ా-ౄె-ైొ-à±à±•ౖౢౣ౦-౯à²-ಃ಼ಾ-ೄೆ-ೈೊ-à³à³•ೖೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-àµàµ—ൢൣ൦-൯à¶-ඃ්à·-ුූෘ-à·Ÿà·¦-෯ෲෳัิ-ฺ็-๎à¹-๙ັິ-ຼ່-à»à»-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇à¾-ྗྙ-ྼ࿆ါ-ှá€-á‰á–-á™áž-á á¢-á¤á§-áá±-á´á‚‚-á‚á‚-á‚á-áŸá©-á±áœ’-᜕ᜲ-᜴á’á“á²á³áž´-៓áŸáŸ -áŸ©á ‹-á á -á ™á¢©á¤ -ᤫᤰ-᤻᥆-á¥á§-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉áª-᪙᪰-᪽ᪿ-ᫎᬀ-ᬄ᬴-á„á-á™á«-á³á®€-ᮂᮡ-á®á®°-᮹᯦-᯳ᰤ-á°·á±€-᱉á±-á±™á³-á³’á³”-᳨á³á³´á³·-᳹᷀-᷿‿â€â”âƒ-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-ã€¯ã‚™ã‚šê˜ -꘩꙯ꙴ-ê™½êšžêšŸê›°ê›±ê ‚ê †ê ‹ê £-ê §ê ¬ê¢€ê¢ê¢´-ꣅê£-ê£™ê£ -꣱ꣿ-꤉ꤦ-ê¤ê¥‡-꥓ꦀ-ꦃ꦳-ê§€ê§-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌê©ê©-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿ê«ê««-ꫯꫵ꫶ꯣ-ꯪ꯬ê¯ê¯°-꯹ﬞ︀-ï¸ï¸ -︯︳︴ï¹-ï¹ï¼-9_\",o=new RegExp(\"[\"+r+\"]\"),a=new RegExp(\"[\"+r+n+\"]\");r=n=null;var i=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2637,96,16,1070,4050,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,46,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,482,44,11,6,17,0,322,29,19,43,1269,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4152,8,221,3,5761,15,7472,3104,541,1507,4938],l=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,357,0,62,13,1495,6,110,6,6,9,4759,9,787719,239];function u(e,t){for(var r=65536,n=0,o=t.length;n<o;n+=2){if((r+=t[n])>e)return!1;if((r+=t[n+1])>=e)return!0}return!1}function s(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&o.test(String.fromCharCode(e)):u(e,i)))}function c(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&a.test(String.fromCharCode(e)):u(e,i)||u(e,l))))}},3012:(e,t,r)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),Object.defineProperty(t,\"isIdentifierName\",{enumerable:!0,get:function(){return n.isIdentifierName}}),Object.defineProperty(t,\"isIdentifierChar\",{enumerable:!0,get:function(){return n.isIdentifierChar}}),Object.defineProperty(t,\"isIdentifierStart\",{enumerable:!0,get:function(){return n.isIdentifierStart}}),Object.defineProperty(t,\"isReservedWord\",{enumerable:!0,get:function(){return o.isReservedWord}}),Object.defineProperty(t,\"isStrictBindOnlyReservedWord\",{enumerable:!0,get:function(){return o.isStrictBindOnlyReservedWord}}),Object.defineProperty(t,\"isStrictBindReservedWord\",{enumerable:!0,get:function(){return o.isStrictBindReservedWord}}),Object.defineProperty(t,\"isStrictReservedWord\",{enumerable:!0,get:function(){return o.isStrictReservedWord}}),Object.defineProperty(t,\"isKeyword\",{enumerable:!0,get:function(){return o.isKeyword}});var n=r(1714),o=r(2562)},2562:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.isReservedWord=l,t.isStrictReservedWord=u,t.isStrictBindOnlyReservedWord=s,t.isStrictBindReservedWord=function(e,t){return u(e,t)||s(e)},t.isKeyword=function(e){return o.has(e)};var r=[\"implements\",\"interface\",\"let\",\"package\",\"private\",\"protected\",\"public\",\"static\",\"yield\"],n=[\"eval\",\"arguments\"],o=new Set([\"break\",\"case\",\"catch\",\"continue\",\"debugger\",\"default\",\"do\",\"else\",\"finally\",\"for\",\"function\",\"if\",\"return\",\"switch\",\"throw\",\"try\",\"var\",\"const\",\"while\",\"with\",\"new\",\"this\",\"super\",\"class\",\"extends\",\"export\",\"import\",\"null\",\"true\",\"false\",\"in\",\"instanceof\",\"typeof\",\"void\",\"delete\"]),a=new Set(r),i=new Set(n);function l(e,t){return t&&\"await\"===e||\"enum\"===e}function u(e,t){return l(e,t)||a.has(e)}function s(e){return i.has(e)}},8048:(e,t,r)=>{\"use strict\";var n=r(3041).default,o=r(7162);Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(m(t)){var r=v(t),n=s(r);return g(n,e)}return e},t.getChalk=v,t.shouldHighlight=m;var a=r(690),i=r(3012),l=r(4043),u=new Set([\"as\",\"async\",\"from\",\"get\",\"of\",\"set\"]);function s(e){return{keyword:e.cyan,capitalized:e.yellow,jsxIdentifier:e.yellow,punctuator:e.yellow,number:e.magenta,string:e.green,regex:e.magenta,comment:e.grey,invalid:e.white.bgRed.bold}}var c,f=/\\\\r\\\\n|[\\\\n\\\\r\\\\u2028\\\\u2029]/,d=/^[()[\\\\]{}]$/,p=/^[a-z][\\\\w-]*$/i,h=function(e,t,r){if(\"name\"===e.type){if((0,i.isKeyword)(e.value)||(0,i.isStrictReservedWord)(e.value,!0)||u.has(e.value))return\"keyword\";if(p.test(e.value)&&(\"<\"===r[t-1]||\"</\"==r.substr(t-2,2)))return\"jsxIdentifier\";if(e.value[0]!==e.value[0].toLowerCase())return\"capitalized\"}return\"punctuator\"===e.type&&d.test(e.value)?\"bracket\":\"invalid\"!==e.type||\"@\"!==e.value&&\"#\"!==e.value?e.type:\"punctuator\"};function g(e,t){var r,o=\"\",a=n(c(t));try{var i=function(){var t=r.value,n=t.type,a=t.value,i=e[n];o+=i?a.split(f).map((function(e){return i(e)})).join(\"\\\\n\"):a};for(a.s();!(r=a.n()).done;)i()}catch(e){a.e(e)}finally{a.f()}return o}function m(e){return!!l.supportsColor||e.forceColor}function v(e){return e.forceColor?new l.constructor({enabled:!0,level:1}):l}c=o.mark((function e(t){var r,n;return o.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=a.default.exec(t))){e.next=6;break}return n=a.matchToToken(r),e.next=4,{type:h(n,r.index,t),value:n.value};case 4:e.next=0;break;case 6:case\"end\":return e.stop()}}),e)}))},2611:(e,t,r)=>{\"use strict\";e=r.nmd(e);var n=r(1444),o=function(e,t){return function(){var r=e.apply(n,arguments);return\"\u001b[\".concat(r+t,\"m\")}},a=function(e,t){return function(){var r=e.apply(n,arguments);return\"\u001b[\".concat(38+t,\";5;\").concat(r,\"m\")}},i=function(e,t){return function(){var r=e.apply(n,arguments);return\"\u001b[\".concat(38+t,\";2;\").concat(r[0],\";\").concat(r[1],\";\").concat(r[2],\"m\")}};Object.defineProperty(e,\"exports\",{enumerable:!0,get:function(){var e=new Map,t={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};t.color.grey=t.color.gray;for(var r=0,l=Object.keys(t);r<l.length;r++){for(var u=l[r],s=t[u],c=0,f=Object.keys(s);c<f.length;c++){var d=f[c],p=s[d];t[d]={open:\"\u001b[\".concat(p[0],\"m\"),close:\"\u001b[\".concat(p[1],\"m\")},s[d]=t[d],e.set(p[0],p[1])}Object.defineProperty(t,u,{value:s,enumerable:!1}),Object.defineProperty(t,\"codes\",{value:e,enumerable:!1})}var h=function(e){return e},g=function(e,t,r){return[e,t,r]};t.color.close=\"\u001b[39m\",t.bgColor.close=\"\u001b[49m\",t.color.ansi={ansi:o(h,0)},t.color.ansi256={ansi256:a(h,0)},t.color.ansi16m={rgb:i(g,0)},t.bgColor.ansi={ansi:o(h,10)},t.bgColor.ansi256={ansi256:a(h,10)},t.bgColor.ansi16m={rgb:i(g,10)};for(var m=0,v=Object.keys(n);m<v.length;m++){var y=v[m];if(\"object\"===typeof n[y]){var b=n[y];\"ansi16\"===y&&(y=\"ansi\"),\"ansi16\"in b&&(t.color.ansi[y]=o(b.ansi16,0),t.bgColor.ansi[y]=o(b.ansi16,10)),\"ansi256\"in b&&(t.color.ansi256[y]=a(b.ansi256,0),t.bgColor.ansi256[y]=a(b.ansi256,10)),\"rgb\"in b&&(t.color.ansi16m[y]=i(b.rgb,0),t.bgColor.ansi16m[y]=i(b.rgb,10))}}return t}})},4043:(e,t,r)=>{\"use strict\";var n=r(3041).default,o=r(2865),a=r(2611),i=r(5215).stdout,l=r(7093),u=\"win32\"===process.platform&&!({NODE_ENV:\"production\"}.TERM||\"\").toLowerCase().startsWith(\"xterm\"),s=[\"ansi\",\"ansi\",\"ansi256\",\"ansi16m\"],c=new Set([\"gray\"]),f=Object.create(null);function d(e,t){t=t||{};var r=i?i.level:0;e.level=void 0===t.level?r:t.level,e.enabled=\"enabled\"in t?t.enabled:e.level>0}function p(e){if(!this||!(this instanceof p)||this.template){var t={};return d(t,e),t.template=function(){var e=[].slice.call(arguments);return _.apply(null,[t.template].concat(e))},Object.setPrototypeOf(t,p.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=p,t.template}d(this,e)}u&&(a.blue.open=\"\u001b[94m\");for(var h=function(){var e=m[g];a[e].closeRe=new RegExp(o(a[e].close),\"g\"),f[e]={get:function(){var t=a[e];return S.call(this,this._styles?this._styles.concat(t):[t],this._empty,e)}}},g=0,m=Object.keys(a);g<m.length;g++)h();f.visible={get:function(){return S.call(this,this._styles||[],!0,\"visible\")}},a.color.closeRe=new RegExp(o(a.color.close),\"g\");for(var v=function(){var e=b[y];if(c.has(e))return\"continue\";f[e]={get:function(){var t=this.level;return function(){var r=a.color[s[t]][e].apply(null,arguments),n={open:r,close:a.color.close,closeRe:a.color.closeRe};return S.call(this,this._styles?this._styles.concat(n):[n],this._empty,e)}}}},y=0,b=Object.keys(a.color.ansi);y<b.length;y++)v();a.bgColor.closeRe=new RegExp(o(a.bgColor.close),\"g\");for(var w=function(){var e=k[x];if(c.has(e))return\"continue\";var t=\"bg\"+e[0].toUpperCase()+e.slice(1);f[t]={get:function(){var t=this.level;return function(){var r=a.bgColor[s[t]][e].apply(null,arguments),n={open:r,close:a.bgColor.close,closeRe:a.bgColor.closeRe};return S.call(this,this._styles?this._styles.concat(n):[n],this._empty,e)}}}},x=0,k=Object.keys(a.bgColor.ansi);x<k.length;x++)w();var E=Object.defineProperties((function(){}),f);function S(e,t,r){var n=function e(){return T.apply(e,arguments)};n._styles=e,n._empty=t;var o=this;return Object.defineProperty(n,\"level\",{enumerable:!0,get:function(){return o.level},set:function(e){o.level=e}}),Object.defineProperty(n,\"enabled\",{enumerable:!0,get:function(){return o.enabled},set:function(e){o.enabled=e}}),n.hasGrey=this.hasGrey||\"gray\"===r||\"grey\"===r,n.__proto__=E,n}function T(){var e=arguments,t=e.length,r=String(arguments[0]);if(0===t)return\"\";if(t>1)for(var o=1;o<t;o++)r+=\" \"+e[o];if(!this.enabled||this.level<=0||!r)return this._empty?\"\":r;var i=a.dim.open;u&&this.hasGrey&&(a.dim.open=\"\");var l,s=n(this._styles.slice().reverse());try{for(s.s();!(l=s.n()).done;){var c=l.value;r=(r=c.open+r.replace(c.closeRe,c.open)+c.close).replace(/\\\\r?\\\\n/g,\"\".concat(c.close,\"$&\").concat(c.open))}}catch(e){s.e(e)}finally{s.f()}return a.dim.open=i,r}function _(e,t){if(!Array.isArray(t))return[].slice.call(arguments,1).join(\" \");for(var r=[].slice.call(arguments,2),n=[t.raw[0]],o=1;o<t.length;o++)n.push(String(r[o-1]).replace(/[{}\\\\\\\\]/g,\"\\\\\\\\$&\")),n.push(String(t.raw[o]));return l(e,n.join(\"\"))}Object.defineProperties(p.prototype,f),e.exports=p(),e.exports.supportsColor=i,e.exports.default=e.exports},7093:(e,t,r)=>{\"use strict\";var n=r(3041).default,o=/(?:\\\\\\\\(u[a-f\\\\d]{4}|x[a-f\\\\d]{2}|.))|(?:\\\\{(~)?(\\\\w+(?:\\\\([^)]*\\\\))?(?:\\\\.\\\\w+(?:\\\\([^)]*\\\\))?)*)(?:[ \\\\t]|(?=\\\\r?\\\\n)))|(\\\\})|((?:.|[\\\\r\\\\n\\\\f])+?)/gi,a=/(?:^|\\\\.)(\\\\w+)(?:\\\\(([^)]*)\\\\))?/g,i=/^([\\'\"])((?:\\\\\\\\.|(?!\\\\1)[^\\\\\\\\])*)\\\\1$/,l=/\\\\\\\\(u[a-f\\\\d]{4}|x[a-f\\\\d]{2}|.)|([^\\\\\\\\])/gi,u=new Map([[\"n\",\"\\\\n\"],[\"r\",\"\\\\r\"],[\"t\",\"\\\\t\"],[\"b\",\"\\\\b\"],[\"f\",\"\\\\f\"],[\"v\",\"\\\\v\"],[\"0\",\"\\\\0\"],[\"\\\\\\\\\",\"\\\\\\\\\"],[\"e\",\"\u001b\"],[\"a\",\"\u0007\"]]);function s(e){return\"u\"===e[0]&&5===e.length||\"x\"===e[0]&&3===e.length?String.fromCharCode(parseInt(e.slice(1),16)):u.get(e)||e}function c(e,t){var r,o,a=[],u=t.trim().split(/\\\\s*,\\\\s*/g),c=n(u);try{for(c.s();!(o=c.n()).done;){var f=o.value;if(isNaN(f)){if(!(r=f.match(i)))throw new Error(\"Invalid Chalk template style argument: \".concat(f,\" (in style \\'\").concat(e,\"\\')\"));a.push(r[2].replace(l,(function(e,t,r){return t?s(t):r})))}else a.push(Number(f))}}catch(e){c.e(e)}finally{c.f()}return a}function f(e){a.lastIndex=0;for(var t,r=[];null!==(t=a.exec(e));){var n=t[1];if(t[2]){var o=c(n,t[2]);r.push([n].concat(o))}else r.push([n])}return r}function d(e,t){var r,o={},a=n(t);try{for(a.s();!(r=a.n()).done;){var i,l=r.value,u=n(l.styles);try{for(u.s();!(i=u.n()).done;){var s=i.value;o[s[0]]=l.inverse?null:s.slice(1)}}catch(e){u.e(e)}finally{u.f()}}}catch(e){a.e(e)}finally{a.f()}for(var c=e,f=0,d=Object.keys(o);f<d.length;f++){var p=d[f];if(Array.isArray(o[p])){if(!(p in c))throw new Error(\"Unknown Chalk style: \".concat(p));c=o[p].length>0?c[p].apply(c,o[p]):c[p]}}return c}e.exports=function(e,t){var r=[],n=[],a=[];if(t.replace(o,(function(t,o,i,l,u,c){if(o)a.push(s(o));else if(l){var p=a.join(\"\");a=[],n.push(0===r.length?p:d(e,r)(p)),r.push({inverse:i,styles:f(l)})}else if(u){if(0===r.length)throw new Error(\"Found extraneous } in Chalk template literal\");n.push(d(e,r)(a.join(\"\"))),a=[],r.pop()}else a.push(c)})),n.push(a.join(\"\")),r.length>0){var i=\"Chalk template literal is missing \".concat(r.length,\" closing bracket\").concat(1===r.length?\"\":\"s\",\" (`}`)\");throw new Error(i)}return n.join(\"\")}},4601:(e,t,r)=>{var n=r(509),o={};for(var a in n)n.hasOwnProperty(a)&&(o[n[a]]=a);var i=e.exports={rgb:{channels:3,labels:\"rgb\"},hsl:{channels:3,labels:\"hsl\"},hsv:{channels:3,labels:\"hsv\"},hwb:{channels:3,labels:\"hwb\"},cmyk:{channels:4,labels:\"cmyk\"},xyz:{channels:3,labels:\"xyz\"},lab:{channels:3,labels:\"lab\"},lch:{channels:3,labels:\"lch\"},hex:{channels:1,labels:[\"hex\"]},keyword:{channels:1,labels:[\"keyword\"]},ansi16:{channels:1,labels:[\"ansi16\"]},ansi256:{channels:1,labels:[\"ansi256\"]},hcg:{channels:3,labels:[\"h\",\"c\",\"g\"]},apple:{channels:3,labels:[\"r16\",\"g16\",\"b16\"]},gray:{channels:1,labels:[\"gray\"]}};for(var l in i)if(i.hasOwnProperty(l)){if(!(\"channels\"in i[l]))throw new Error(\"missing channels property: \"+l);if(!(\"labels\"in i[l]))throw new Error(\"missing channel labels property: \"+l);if(i[l].labels.length!==i[l].channels)throw new Error(\"channel and label counts mismatch: \"+l);var u=i[l].channels,s=i[l].labels;delete i[l].channels,delete i[l].labels,Object.defineProperty(i[l],\"channels\",{value:u}),Object.defineProperty(i[l],\"labels\",{value:s})}i.rgb.hsl=function(e){var t,r,n=e[0]/255,o=e[1]/255,a=e[2]/255,i=Math.min(n,o,a),l=Math.max(n,o,a),u=l-i;return l===i?t=0:n===l?t=(o-a)/u:o===l?t=2+(a-n)/u:a===l&&(t=4+(n-o)/u),(t=Math.min(60*t,360))<0&&(t+=360),r=(i+l)/2,[t,100*(l===i?0:r<=.5?u/(l+i):u/(2-l-i)),100*r]},i.rgb.hsv=function(e){var t,r,n,o,a,i=e[0]/255,l=e[1]/255,u=e[2]/255,s=Math.max(i,l,u),c=s-Math.min(i,l,u),f=function(e){return(s-e)/6/c+.5};return 0===c?o=a=0:(a=c/s,t=f(i),r=f(l),n=f(u),i===s?o=n-r:l===s?o=1/3+t-n:u===s&&(o=2/3+r-t),o<0?o+=1:o>1&&(o-=1)),[360*o,100*a,100*s]},i.rgb.hwb=function(e){var t=e[0],r=e[1],n=e[2];return[i.rgb.hsl(e)[0],100*(1/255*Math.min(t,Math.min(r,n))),100*(n=1-1/255*Math.max(t,Math.max(r,n)))]},i.rgb.cmyk=function(e){var t,r=e[0]/255,n=e[1]/255,o=e[2]/255;return[100*((1-r-(t=Math.min(1-r,1-n,1-o)))/(1-t)||0),100*((1-n-t)/(1-t)||0),100*((1-o-t)/(1-t)||0),100*t]},i.rgb.keyword=function(e){var t=o[e];if(t)return t;var r,a,i,l=1/0;for(var u in n)if(n.hasOwnProperty(u)){var s=n[u],c=(a=e,i=s,Math.pow(a[0]-i[0],2)+Math.pow(a[1]-i[1],2)+Math.pow(a[2]-i[2],2));c<l&&(l=c,r=u)}return r},i.keyword.rgb=function(e){return n[e]},i.rgb.xyz=function(e){var t=e[0]/255,r=e[1]/255,n=e[2]/255;return[100*(.4124*(t=t>.04045?Math.pow((t+.055)/1.055,2.4):t/12.92)+.3576*(r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92)+.1805*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)),100*(.2126*t+.7152*r+.0722*n),100*(.0193*t+.1192*r+.9505*n)]},i.rgb.lab=function(e){var t=i.rgb.xyz(e),r=t[0],n=t[1],o=t[2];return n/=100,o/=108.883,r=(r/=95.047)>.008856?Math.pow(r,1/3):7.787*r+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(r-n),200*(n-(o=o>.008856?Math.pow(o,1/3):7.787*o+16/116))]},i.hsl.rgb=function(e){var t,r,n,o,a,i=e[0]/360,l=e[1]/100,u=e[2]/100;if(0===l)return[a=255*u,a,a];t=2*u-(r=u<.5?u*(1+l):u+l-u*l),o=[0,0,0];for(var s=0;s<3;s++)(n=i+1/3*-(s-1))<0&&n++,n>1&&n--,a=6*n<1?t+6*(r-t)*n:2*n<1?r:3*n<2?t+(r-t)*(2/3-n)*6:t,o[s]=255*a;return o},i.hsl.hsv=function(e){var t=e[0],r=e[1]/100,n=e[2]/100,o=r,a=Math.max(n,.01);return r*=(n*=2)<=1?n:2-n,o*=a<=1?a:2-a,[t,100*(0===n?2*o/(a+o):2*r/(n+r)),100*((n+r)/2)]},i.hsv.rgb=function(e){var t=e[0]/60,r=e[1]/100,n=e[2]/100,o=Math.floor(t)%6,a=t-Math.floor(t),i=255*n*(1-r),l=255*n*(1-r*a),u=255*n*(1-r*(1-a));switch(n*=255,o){case 0:return[n,u,i];case 1:return[l,n,i];case 2:return[i,n,u];case 3:return[i,l,n];case 4:return[u,i,n];case 5:return[n,i,l]}},i.hsv.hsl=function(e){var t,r,n,o=e[0],a=e[1]/100,i=e[2]/100,l=Math.max(i,.01);return n=(2-a)*i,r=a*l,[o,100*(r=(r/=(t=(2-a)*l)<=1?t:2-t)||0),100*(n/=2)]},i.hwb.rgb=function(e){var t,r,n,o,a,i,l,u=e[0]/360,s=e[1]/100,c=e[2]/100,f=s+c;switch(f>1&&(s/=f,c/=f),n=6*u-(t=Math.floor(6*u)),0!==(1&t)&&(n=1-n),o=s+n*((r=1-c)-s),t){default:case 6:case 0:a=r,i=o,l=s;break;case 1:a=o,i=r,l=s;break;case 2:a=s,i=r,l=o;break;case 3:a=s,i=o,l=r;break;case 4:a=o,i=s,l=r;break;case 5:a=r,i=s,l=o}return[255*a,255*i,255*l]},i.cmyk.rgb=function(e){var t=e[0]/100,r=e[1]/100,n=e[2]/100,o=e[3]/100;return[255*(1-Math.min(1,t*(1-o)+o)),255*(1-Math.min(1,r*(1-o)+o)),255*(1-Math.min(1,n*(1-o)+o))]},i.xyz.rgb=function(e){var t,r,n,o=e[0]/100,a=e[1]/100,i=e[2]/100;return r=-.9689*o+1.8758*a+.0415*i,n=.0557*o+-.204*a+1.057*i,t=(t=3.2406*o+-1.5372*a+-.4986*i)>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t,r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:12.92*r,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:12.92*n,[255*(t=Math.min(Math.max(0,t),1)),255*(r=Math.min(Math.max(0,r),1)),255*(n=Math.min(Math.max(0,n),1))]},i.xyz.lab=function(e){var t=e[0],r=e[1],n=e[2];return r/=100,n/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116)-16,500*(t-r),200*(r-(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116))]},i.lab.xyz=function(e){var t,r,n,o=e[0];t=e[1]/500+(r=(o+16)/116),n=r-e[2]/200;var a=Math.pow(r,3),i=Math.pow(t,3),l=Math.pow(n,3);return r=a>.008856?a:(r-16/116)/7.787,t=i>.008856?i:(t-16/116)/7.787,n=l>.008856?l:(n-16/116)/7.787,[t*=95.047,r*=100,n*=108.883]},i.lab.lch=function(e){var t,r=e[0],n=e[1],o=e[2];return(t=360*Math.atan2(o,n)/2/Math.PI)<0&&(t+=360),[r,Math.sqrt(n*n+o*o),t]},i.lch.lab=function(e){var t,r=e[0],n=e[1];return t=e[2]/360*2*Math.PI,[r,n*Math.cos(t),n*Math.sin(t)]},i.rgb.ansi16=function(e){var t=e[0],r=e[1],n=e[2],o=1 in arguments?arguments[1]:i.rgb.hsv(e)[2];if(0===(o=Math.round(o/50)))return 30;var a=30+(Math.round(n/255)<<2|Math.round(r/255)<<1|Math.round(t/255));return 2===o&&(a+=60),a},i.hsv.ansi16=function(e){return i.rgb.ansi16(i.hsv.rgb(e),e[2])},i.rgb.ansi256=function(e){var t=e[0],r=e[1],n=e[2];return t===r&&r===n?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5)},i.ansi16.rgb=function(e){var t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),[t=t/10.5*255,t,t];var r=.5*(1+~~(e>50));return[(1&t)*r*255,(t>>1&1)*r*255,(t>>2&1)*r*255]},i.ansi256.rgb=function(e){if(e>=232){var t=10*(e-232)+8;return[t,t,t]}var r;return e-=16,[Math.floor(e/36)/5*255,Math.floor((r=e%36)/6)/5*255,r%6/5*255]},i.rgb.hex=function(e){var t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return\"000000\".substring(t.length)+t},i.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];var r=t[0];3===t[0].length&&(r=r.split(\"\").map((function(e){return e+e})).join(\"\"));var n=parseInt(r,16);return[n>>16&255,n>>8&255,255&n]},i.rgb.hcg=function(e){var t,r=e[0]/255,n=e[1]/255,o=e[2]/255,a=Math.max(Math.max(r,n),o),i=Math.min(Math.min(r,n),o),l=a-i;return t=l<=0?0:a===r?(n-o)/l%6:a===n?2+(o-r)/l:4+(r-n)/l+4,t/=6,[360*(t%=1),100*l,100*(l<1?i/(1-l):0)]},i.hsl.hcg=function(e){var t=e[1]/100,r=e[2]/100,n=1,o=0;return(n=r<.5?2*t*r:2*t*(1-r))<1&&(o=(r-.5*n)/(1-n)),[e[0],100*n,100*o]},i.hsv.hcg=function(e){var t=e[1]/100,r=e[2]/100,n=t*r,o=0;return n<1&&(o=(r-n)/(1-n)),[e[0],100*n,100*o]},i.hcg.rgb=function(e){var t=e[0]/360,r=e[1]/100,n=e[2]/100;if(0===r)return[255*n,255*n,255*n];var o,a=[0,0,0],i=t%1*6,l=i%1,u=1-l;switch(Math.floor(i)){case 0:a[0]=1,a[1]=l,a[2]=0;break;case 1:a[0]=u,a[1]=1,a[2]=0;break;case 2:a[0]=0,a[1]=1,a[2]=l;break;case 3:a[0]=0,a[1]=u,a[2]=1;break;case 4:a[0]=l,a[1]=0,a[2]=1;break;default:a[0]=1,a[1]=0,a[2]=u}return o=(1-r)*n,[255*(r*a[0]+o),255*(r*a[1]+o),255*(r*a[2]+o)]},i.hcg.hsv=function(e){var t=e[1]/100,r=t+e[2]/100*(1-t),n=0;return r>0&&(n=t/r),[e[0],100*n,100*r]},i.hcg.hsl=function(e){var t=e[1]/100,r=e[2]/100*(1-t)+.5*t,n=0;return r>0&&r<.5?n=t/(2*r):r>=.5&&r<1&&(n=t/(2*(1-r))),[e[0],100*n,100*r]},i.hcg.hwb=function(e){var t=e[1]/100,r=t+e[2]/100*(1-t);return[e[0],100*(r-t),100*(1-r)]},i.hwb.hcg=function(e){var t=e[1]/100,r=1-e[2]/100,n=r-t,o=0;return n<1&&(o=(r-n)/(1-n)),[e[0],100*n,100*o]},i.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},i.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},i.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},i.gray.hsl=i.gray.hsv=function(e){return[0,0,e[0]]},i.gray.hwb=function(e){return[0,100,e[0]]},i.gray.cmyk=function(e){return[0,0,0,e[0]]},i.gray.lab=function(e){return[e[0],0,0]},i.gray.hex=function(e){var t=255&Math.round(e[0]/100*255),r=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return\"000000\".substring(r.length)+r},i.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}},1444:(e,t,r)=>{var n=r(4601),o=r(1595),a={};Object.keys(n).forEach((function(e){a[e]={},Object.defineProperty(a[e],\"channels\",{value:n[e].channels}),Object.defineProperty(a[e],\"labels\",{value:n[e].labels});var t=o(e);Object.keys(t).forEach((function(r){var n=t[r];a[e][r]=function(e){var t=function(t){if(void 0===t||null===t)return t;arguments.length>1&&(t=Array.prototype.slice.call(arguments));var r=e(t);if(\"object\"===typeof r)for(var n=r.length,o=0;o<n;o++)r[o]=Math.round(r[o]);return r};return\"conversion\"in e&&(t.conversion=e.conversion),t}(n),a[e][r].raw=function(e){var t=function(t){return void 0===t||null===t?t:(arguments.length>1&&(t=Array.prototype.slice.call(arguments)),e(t))};return\"conversion\"in e&&(t.conversion=e.conversion),t}(n)}))})),e.exports=a},1595:(e,t,r)=>{var n=r(4601);function o(e){var t=function(){for(var e={},t=Object.keys(n),r=t.length,o=0;o<r;o++)e[t[o]]={distance:-1,parent:null};return e}(),r=[e];for(t[e].distance=0;r.length;)for(var o=r.pop(),a=Object.keys(n[o]),i=a.length,l=0;l<i;l++){var u=a[l],s=t[u];-1===s.distance&&(s.distance=t[o].distance+1,s.parent=o,r.unshift(u))}return t}function a(e,t){return function(r){return t(e(r))}}function i(e,t){for(var r=[t[e].parent,e],o=n[t[e].parent][e],i=t[e].parent;t[i].parent;)r.unshift(t[i].parent),o=a(n[t[i].parent][i],o),i=t[i].parent;return o.conversion=r,o}e.exports=function(e){for(var t=o(e),r={},n=Object.keys(t),a=n.length,l=0;l<a;l++){var u=n[l];null!==t[u].parent&&(r[u]=i(u,t))}return r}},509:e=>{\"use strict\";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},2865:e=>{\"use strict\";var t=/[|\\\\\\\\{}()[\\\\]^$+*?.]/g;e.exports=function(e){if(\"string\"!==typeof e)throw new TypeError(\"Expected a string\");return e.replace(t,\"\\\\\\\\$&\")}},5215:e=>{\"use strict\";e.exports={stdout:!1,stderr:!1}},2434:e=>{\"use strict\";var t=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();var r=[[{color:\"0, 0, 0\",class:\"ansi-black\"},{color:\"187, 0, 0\",class:\"ansi-red\"},{color:\"0, 187, 0\",class:\"ansi-green\"},{color:\"187, 187, 0\",class:\"ansi-yellow\"},{color:\"0, 0, 187\",class:\"ansi-blue\"},{color:\"187, 0, 187\",class:\"ansi-magenta\"},{color:\"0, 187, 187\",class:\"ansi-cyan\"},{color:\"255,255,255\",class:\"ansi-white\"}],[{color:\"85, 85, 85\",class:\"ansi-bright-black\"},{color:\"255, 85, 85\",class:\"ansi-bright-red\"},{color:\"0, 255, 0\",class:\"ansi-bright-green\"},{color:\"255, 255, 85\",class:\"ansi-bright-yellow\"},{color:\"85, 85, 255\",class:\"ansi-bright-blue\"},{color:\"255, 85, 255\",class:\"ansi-bright-magenta\"},{color:\"85, 255, 255\",class:\"ansi-bright-cyan\"},{color:\"255, 255, 255\",class:\"ansi-bright-white\"}]],n=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.fg=this.bg=this.fg_truecolor=this.bg_truecolor=null,this.bright=0,this.decorations=[]}return t(e,null,[{key:\"escapeForHtml\",value:function(t){return(new e).escapeForHtml(t)}},{key:\"linkify\",value:function(t){return(new e).linkify(t)}},{key:\"ansiToHtml\",value:function(t,r){return(new e).ansiToHtml(t,r)}},{key:\"ansiToJson\",value:function(t,r){return(new e).ansiToJson(t,r)}},{key:\"ansiToText\",value:function(t){return(new e).ansiToText(t)}}]),t(e,[{key:\"setupPalette\",value:function(){this.PALETTE_COLORS=[];for(var e=0;e<2;++e)for(var t=0;t<8;++t)this.PALETTE_COLORS.push(r[e][t].color);for(var n=[0,95,135,175,215,255],o=function(e,t,r){return n[e]+\", \"+n[t]+\", \"+n[r]},a=0;a<6;++a)for(var i=0;i<6;++i)for(var l=0;l<6;++l)this.PALETTE_COLORS.push(o(a,i,l));for(var u=8,s=0;s<24;++s,u+=10)this.PALETTE_COLORS.push(o(u,u,u))}},{key:\"escapeForHtml\",value:function(e){return e.replace(/[&<>]/gm,(function(e){return\"&\"==e?\"&\":\"<\"==e?\"<\":\">\"==e?\">\":\"\"}))}},{key:\"linkify\",value:function(e){return e.replace(/(https?:\\\\/\\\\/[^\\\\s]+)/gm,(function(e){return\\'<a href=\"\\'+e+\\'\">\\'+e+\"</a>\"}))}},{key:\"ansiToHtml\",value:function(e,t){return this.process(e,t,!0)}},{key:\"ansiToJson\",value:function(e,t){return(t=t||{}).json=!0,t.clearLine=!1,this.process(e,t,!0)}},{key:\"ansiToText\",value:function(e){return this.process(e,{},!1)}},{key:\"process\",value:function(e,t,r){var n=this,o=e.split(/\\\\033\\\\[/),a=o.shift();void 0!==t&&null!==t||(t={}),t.clearLine=/\\\\r/.test(e);var i=o.map((function(e){return n.processChunk(e,t,r)}));if(t&&t.json){var l=this.processChunkJson(\"\");return l.content=a,l.clearLine=t.clearLine,i.unshift(l),t.remove_empty&&(i=i.filter((function(e){return!e.isEmpty()}))),i}return i.unshift(a),i.join(\"\")}},{key:\"processChunkJson\",value:function(e,t,n){var o=(t=\"undefined\"==typeof t?{}:t).use_classes=\"undefined\"!=typeof t.use_classes&&t.use_classes,a=t.key=o?\"class\":\"color\",i={content:e,fg:null,bg:null,fg_truecolor:null,bg_truecolor:null,isInverted:!1,clearLine:t.clearLine,decoration:null,decorations:[],was_processed:!1,isEmpty:function(){return!i.content}},l=e.match(/^([!\\\\x3c-\\\\x3f]*)([\\\\d;]*)([\\\\x20-\\\\x2c]*[\\\\x40-\\\\x7e])([\\\\s\\\\S]*)/m);if(!l)return i;i.content=l[4];var u=l[2].split(\";\");if(\"\"!==l[1]||\"m\"!==l[3])return i;if(!n)return i;for(var s=this;u.length>0;){var c=u.shift(),f=parseInt(c);if(isNaN(f)||0===f)s.fg=s.bg=null,s.decorations=[];else if(1===f)s.decorations.push(\"bold\");else if(2===f)s.decorations.push(\"dim\");else if(3===f)s.decorations.push(\"italic\");else if(4===f)s.decorations.push(\"underline\");else if(5===f)s.decorations.push(\"blink\");else if(7===f)s.decorations.push(\"reverse\");else if(8===f)s.decorations.push(\"hidden\");else if(9===f)s.decorations.push(\"strikethrough\");else if(21===f)s.removeDecoration(\"bold\");else if(22===f)s.removeDecoration(\"bold\"),s.removeDecoration(\"dim\");else if(23===f)s.removeDecoration(\"italic\");else if(24===f)s.removeDecoration(\"underline\");else if(25===f)s.removeDecoration(\"blink\");else if(27===f)s.removeDecoration(\"reverse\");else if(28===f)s.removeDecoration(\"hidden\");else if(29===f)s.removeDecoration(\"strikethrough\");else if(39===f)s.fg=null;else if(49===f)s.bg=null;else if(f>=30&&f<38)s.fg=r[0][f%10][a];else if(f>=90&&f<98)s.fg=r[1][f%10][a];else if(f>=40&&f<48)s.bg=r[0][f%10][a];else if(f>=100&&f<108)s.bg=r[1][f%10][a];else if(38===f||48===f){var d=38===f;if(u.length>=1){var p=u.shift();if(\"5\"===p&&u.length>=1){var h=parseInt(u.shift());if(h>=0&&h<=255)if(o){var g=h>=16?\"ansi-palette-\"+h:r[h>7?1:0][h%8].class;d?s.fg=g:s.bg=g}else this.PALETTE_COLORS||s.setupPalette(),d?s.fg=this.PALETTE_COLORS[h]:s.bg=this.PALETTE_COLORS[h]}else if(\"2\"===p&&u.length>=3){var m=parseInt(u.shift()),v=parseInt(u.shift()),y=parseInt(u.shift());if(m>=0&&m<=255&&v>=0&&v<=255&&y>=0&&y<=255){var b=m+\", \"+v+\", \"+y;o?d?(s.fg=\"ansi-truecolor\",s.fg_truecolor=b):(s.bg=\"ansi-truecolor\",s.bg_truecolor=b):d?s.fg=b:s.bg=b}}}}}if(null===s.fg&&null===s.bg&&0===s.decorations.length)return i;return i.fg=s.fg,i.bg=s.bg,i.fg_truecolor=s.fg_truecolor,i.bg_truecolor=s.bg_truecolor,i.decorations=s.decorations,i.decoration=s.decorations.slice(-1).pop()||null,i.was_processed=!0,i}},{key:\"processChunk\",value:function(e,t,n){var o=this;t=t||{};var a=this.processChunkJson(e,t,n),i=t.use_classes;if(a.decorations=a.decorations.filter((function(e){if(\"reverse\"===e){a.fg||(a.fg=r[0][7][i?\"class\":\"color\"]),a.bg||(a.bg=r[0][0][i?\"class\":\"color\"]);var t=a.fg;a.fg=a.bg,a.bg=t;var n=a.fg_truecolor;return a.fg_truecolor=a.bg_truecolor,a.bg_truecolor=n,a.isInverted=!0,!1}return!0})),t.json)return a;if(a.isEmpty())return\"\";if(!a.was_processed)return a.content;var l=[],u=[],s=[],c={},f=function(e){var t=[],r=void 0;for(r in e)e.hasOwnProperty(r)&&t.push(\"data-\"+r+\\'=\"\\'+o.escapeForHtml(e[r])+\\'\"\\');return t.length>0?\" \"+t.join(\" \"):\"\"};return a.isInverted&&(c[\"ansi-is-inverted\"]=\"true\"),a.fg&&(i?(l.push(a.fg+\"-fg\"),null!==a.fg_truecolor&&(c[\"ansi-truecolor-fg\"]=a.fg_truecolor,a.fg_truecolor=null)):l.push(\"color:rgb(\"+a.fg+\")\")),a.bg&&(i?(l.push(a.bg+\"-bg\"),null!==a.bg_truecolor&&(c[\"ansi-truecolor-bg\"]=a.bg_truecolor,a.bg_truecolor=null)):l.push(\"background-color:rgb(\"+a.bg+\")\")),a.decorations.forEach((function(e){i?u.push(\"ansi-\"+e):\"bold\"===e?u.push(\"font-weight:bold\"):\"dim\"===e?u.push(\"opacity:0.5\"):\"italic\"===e?u.push(\"font-style:italic\"):\"hidden\"===e?u.push(\"visibility:hidden\"):\"strikethrough\"===e?s.push(\"line-through\"):s.push(e)})),s.length&&u.push(\"text-decoration:\"+s.join(\" \")),i?\\'<span class=\"\\'+l.concat(u).join(\" \")+\\'\"\\'+f(c)+\">\"+a.content+\"</span>\":\\'<span style=\"\\'+l.concat(u).join(\";\")+\\'\"\\'+f(c)+\">\"+a.content+\"</span>\"}},{key:\"removeDecoration\",value:function(e){var t=this.decorations.indexOf(e);t>=0&&this.decorations.splice(t,1)}}]),e}();e.exports=n},2457:(e,t,r)=>{\"use strict\";function n(e){a.length||(o(),!0),a[a.length]=e}e.exports=n;var o,a=[],i=0;function l(){for(;i<a.length;){var e=i;if(i+=1,a[e].call(),i>1024){for(var t=0,r=a.length-i;t<r;t++)a[t]=a[t+i];a.length-=i,i=0}}a.length=0,i=0,!1}var u,s,c,f=\"undefined\"!==typeof r.g?r.g:self,d=f.MutationObserver||f.WebKitMutationObserver;function p(e){return function(){var t=setTimeout(n,0),r=setInterval(n,50);function n(){clearTimeout(t),clearInterval(r),e()}}}\"function\"===typeof d?(u=1,s=new d(l),c=document.createTextNode(\"\"),s.observe(c,{characterData:!0}),o=function(){u=-u,c.data=u}):o=p(l),n.requestFlush=o,n.makeRequestCallFromTimer=p},6438:(e,t,r)=>{var n=r(4323),o=r(8936),a=r(7429),i=n.TypeError;e.exports=function(e){if(o(e))return e;throw i(a(e)+\" is not a function\")}},4887:(e,t,r)=>{var n=r(4323),o=r(1568),a=r(7429),i=n.TypeError;e.exports=function(e){if(o(e))return e;throw i(a(e)+\" is not a constructor\")}},4846:(e,t,r)=>{var n=r(4323),o=r(8936),a=n.String,i=n.TypeError;e.exports=function(e){if(\"object\"==typeof e||o(e))return e;throw i(\"Can\\'t set \"+a(e)+\" as a prototype\")}},149:(e,t,r)=>{var n=r(8036),o=r(5313),a=r(8734),i=n(\"unscopables\"),l=Array.prototype;void 0==l[i]&&a.f(l,i,{configurable:!0,value:o(null)}),e.exports=function(e){l[i][e]=!0}},2874:(e,t,r)=>{var n=r(4323),o=r(2038),a=n.TypeError;e.exports=function(e,t){if(o(t,e))return e;throw a(\"Incorrect invocation\")}},5561:(e,t,r)=>{var n=r(4323),o=r(1784),a=n.String,i=n.TypeError;e.exports=function(e){if(o(e))return e;throw i(a(e)+\" is not an object\")}},7826:(e,t,r)=>{var n=r(8244);e.exports=n((function(){if(\"function\"==typeof ArrayBuffer){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,\"a\",{value:8})}}))},8602:(e,t,r)=>{\"use strict\";var n=r(4323),o=r(2604),a=r(8011),i=r(4234),l=r(5554),u=r(5271),s=r(1568),c=r(1472),f=r(8212),d=r(7481),p=r(1913),h=n.Array;e.exports=function(e){var t=i(e),r=s(this),n=arguments.length,g=n>1?arguments[1]:void 0,m=void 0!==g;m&&(g=o(g,n>2?arguments[2]:void 0));var v,y,b,w,x,k,E=p(t),S=0;if(!E||this==h&&u(E))for(v=c(t),y=r?new this(v):h(v);v>S;S++)k=m?g(t[S],S):t[S],f(y,S,k);else for(x=(w=d(t,E)).next,y=r?new this:[];!(b=a(x,w)).done;S++)k=m?l(w,g,[b.value,S],!0):b.value,f(y,S,k);return y.length=S,y}},3336:(e,t,r)=>{var n=r(2653),o=r(921),a=r(1472),i=function(e){return function(t,r,i){var l,u=n(t),s=a(u),c=o(i,s);if(e&&r!=r){for(;s>c;)if((l=u[c++])!=l)return!0}else for(;s>c;c++)if((e||c in u)&&u[c]===r)return e||c||0;return!e&&-1}};e.exports={includes:i(!0),indexOf:i(!1)}},5241:(e,t,r)=>{var n=r(2604),o=r(4471),a=r(13),i=r(4234),l=r(1472),u=r(4264),s=o([].push),c=function(e){var t=1==e,r=2==e,o=3==e,c=4==e,f=6==e,d=7==e,p=5==e||f;return function(h,g,m,v){for(var y,b,w=i(h),x=a(w),k=n(g,m),E=l(x),S=0,T=v||u,_=t?T(h,E):r||d?T(h,0):void 0;E>S;S++)if((p||S in x)&&(b=k(y=x[S],S,w),e))if(t)_[S]=b;else if(b)switch(e){case 3:return!0;case 5:return y;case 6:return S;case 2:s(_,y)}else switch(e){case 4:return!1;case 7:s(_,y)}return f?-1:o||c?c:_}};e.exports={forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findIndex:c(6),filterReject:c(7)}},5460:(e,t,r)=>{var n=r(8244),o=r(8036),a=r(7790),i=o(\"species\");e.exports=function(e){return a>=51||!n((function(){var t=[];return(t.constructor={})[i]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},8942:(e,t,r)=>{var n=r(4323),o=r(921),a=r(1472),i=r(8212),l=n.Array,u=Math.max;e.exports=function(e,t,r){for(var n=a(e),s=o(t,n),c=o(void 0===r?n:r,n),f=l(u(c-s,0)),d=0;s<c;s++,d++)i(f,d,e[s]);return f.length=d,f}},3707:(e,t,r)=>{var n=r(4471);e.exports=n([].slice)},1431:(e,t,r)=>{var n=r(4323),o=r(8997),a=r(1568),i=r(1784),l=r(8036)(\"species\"),u=n.Array;e.exports=function(e){var t;return o(e)&&(t=e.constructor,(a(t)&&(t===u||o(t.prototype))||i(t)&&null===(t=t[l]))&&(t=void 0)),void 0===t?u:t}},4264:(e,t,r)=>{var n=r(1431);e.exports=function(e,t){return new(n(e))(0===t?0:t)}},5554:(e,t,r)=>{var n=r(5561),o=r(6907);e.exports=function(e,t,r,a){try{return a?t(n(r)[0],r[1]):t(r)}catch(t){o(e,\"throw\",t)}}},9274:(e,t,r)=>{var n=r(8036)(\"iterator\"),o=!1;try{var a=0,i={next:function(){return{done:!!a++}},return:function(){o=!0}};i[n]=function(){return this},Array.from(i,(function(){throw 2}))}catch(e){}e.exports=function(e,t){if(!t&&!o)return!1;var r=!1;try{var a={};a[n]=function(){return{next:function(){return{done:r=!0}}}},e(a)}catch(e){}return r}},2708:(e,t,r)=>{var n=r(4471),o=n({}.toString),a=n(\"\".slice);e.exports=function(e){return a(o(e),8,-1)}},782:(e,t,r)=>{var n=r(4323),o=r(7452),a=r(8936),i=r(2708),l=r(8036)(\"toStringTag\"),u=n.Object,s=\"Arguments\"==i(function(){return arguments}());e.exports=o?i:function(e){var t,r,n;return void 0===e?\"Undefined\":null===e?\"Null\":\"string\"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=u(e),l))?r:s?i(t):\"Object\"==(n=i(t))&&a(t.callee)?\"Arguments\":n}},8216:(e,t,r)=>{\"use strict\";var n=r(8011),o=r(6438),a=r(5561);e.exports=function(){for(var e=a(this),t=o(e.add),r=0,i=arguments.length;r<i;r++)n(t,e,arguments[r]);return e}},5424:(e,t,r)=>{\"use strict\";var n=r(8011),o=r(6438),a=r(5561);e.exports=function(){for(var e,t=a(this),r=o(t.delete),i=!0,l=0,u=arguments.length;l<u;l++)e=n(r,t,arguments[l]),i=i&&e;return!!i}},2858:(e,t,r)=>{\"use strict\";var n=r(2604),o=r(8011),a=r(6438),i=r(4887),l=r(7478),u=[].push;e.exports=function(e){var t,r,s,c,f=arguments.length,d=f>1?arguments[1]:void 0;return i(this),(t=void 0!==d)&&a(d),void 0==e?new this:(r=[],t?(s=0,c=n(d,f>2?arguments[2]:void 0),l(e,(function(e){o(u,r,c(e,s++))}))):l(e,u,{that:r}),new this(r))}},2256:(e,t,r)=>{\"use strict\";var n=r(3707);e.exports=function(){return new this(n(arguments))}},4674:(e,t,r)=>{\"use strict\";var n=r(8734).f,o=r(5313),a=r(4342),i=r(2604),l=r(2874),u=r(7478),s=r(5498),c=r(3208),f=r(6122),d=r(3289).fastKey,p=r(9523),h=p.set,g=p.getterFor;e.exports={getConstructor:function(e,t,r,s){var c=e((function(e,n){l(e,p),h(e,{type:t,index:o(null),first:void 0,last:void 0,size:0}),f||(e.size=0),void 0!=n&&u(n,e[s],{that:e,AS_ENTRIES:r})})),p=c.prototype,m=g(t),v=function(e,t,r){var n,o,a=m(e),i=y(e,t);return i?i.value=r:(a.last=i={index:o=d(t,!0),key:t,value:r,previous:n=a.last,next:void 0,removed:!1},a.first||(a.first=i),n&&(n.next=i),f?a.size++:e.size++,\"F\"!==o&&(a.index[o]=i)),e},y=function(e,t){var r,n=m(e),o=d(t);if(\"F\"!==o)return n.index[o];for(r=n.first;r;r=r.next)if(r.key==t)return r};return a(p,{clear:function(){for(var e=m(this),t=e.index,r=e.first;r;)r.removed=!0,r.previous&&(r.previous=r.previous.next=void 0),delete t[r.index],r=r.next;e.first=e.last=void 0,f?e.size=0:this.size=0},delete:function(e){var t=this,r=m(t),n=y(t,e);if(n){var o=n.next,a=n.previous;delete r.index[n.index],n.removed=!0,a&&(a.next=o),o&&(o.previous=a),r.first==n&&(r.first=o),r.last==n&&(r.last=a),f?r.size--:t.size--}return!!n},forEach:function(e){for(var t,r=m(this),n=i(e,arguments.length>1?arguments[1]:void 0);t=t?t.next:r.first;)for(n(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!y(this,e)}}),a(p,r?{get:function(e){var t=y(this,e);return t&&t.value},set:function(e,t){return v(this,0===e?0:e,t)}}:{add:function(e){return v(this,e=0===e?0:e,e)}}),f&&n(p,\"size\",{get:function(){return m(this).size}}),c},setStrong:function(e,t,r){var n=t+\" Iterator\",o=g(t),a=g(n);s(e,t,(function(e,t){h(this,{type:n,target:e,state:o(e),kind:t,last:void 0})}),(function(){for(var e=a(this),t=e.kind,r=e.last;r&&r.removed;)r=r.previous;return e.target&&(e.last=r=r?r.next:e.state.first)?\"keys\"==t?{value:r.key,done:!1}:\"values\"==t?{value:r.value,done:!1}:{value:[r.key,r.value],done:!1}:(e.target=void 0,{value:void 0,done:!0})}),r?\"entries\":\"values\",!r,!0),c(t)}}},7088:(e,t,r)=>{\"use strict\";var n=r(7443),o=r(4323),a=r(4471),i=r(5257),l=r(7842),u=r(3289),s=r(7478),c=r(2874),f=r(8936),d=r(1784),p=r(8244),h=r(9274),g=r(3107),m=r(849);e.exports=function(e,t,r){var v=-1!==e.indexOf(\"Map\"),y=-1!==e.indexOf(\"Weak\"),b=v?\"set\":\"add\",w=o[e],x=w&&w.prototype,k=w,E={},S=function(e){var t=a(x[e]);l(x,e,\"add\"==e?function(e){return t(this,0===e?0:e),this}:\"delete\"==e?function(e){return!(y&&!d(e))&&t(this,0===e?0:e)}:\"get\"==e?function(e){return y&&!d(e)?void 0:t(this,0===e?0:e)}:\"has\"==e?function(e){return!(y&&!d(e))&&t(this,0===e?0:e)}:function(e,r){return t(this,0===e?0:e,r),this})};if(i(e,!f(w)||!(y||x.forEach&&!p((function(){(new w).entries().next()})))))k=r.getConstructor(t,e,v,b),u.enable();else if(i(e,!0)){var T=new k,_=T[b](y?{}:-0,1)!=T,C=p((function(){T.has(1)})),O=h((function(e){new w(e)})),P=!y&&p((function(){for(var e=new w,t=5;t--;)e[b](t,t);return!e.has(-0)}));O||((k=t((function(e,t){c(e,x);var r=m(new w,e,k);return void 0!=t&&s(t,r[b],{that:r,AS_ENTRIES:v}),r}))).prototype=x,x.constructor=k),(C||P)&&(S(\"delete\"),S(\"has\"),v&&S(\"get\")),(P||_)&&S(b),y&&x.clear&&delete x.clear}return E[e]=k,n({global:!0,forced:k!=w},E),g(k,e),y||r.setStrong(k,e,v),k}},1881:(e,t,r)=>{var n=r(4554),o=r(4875),a=r(2850),i=r(8734);e.exports=function(e,t){for(var r=o(t),l=i.f,u=a.f,s=0;s<r.length;s++){var c=r[s];n(e,c)||l(e,c,u(t,c))}}},1681:(e,t,r)=>{var n=r(8244);e.exports=!n((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},2081:(e,t,r)=>{\"use strict\";var n=r(5847).IteratorPrototype,o=r(5313),a=r(1536),i=r(3107),l=r(4729),u=function(){return this};e.exports=function(e,t,r){var s=t+\" Iterator\";return e.prototype=o(n,{next:a(1,r)}),i(e,s,!1,!0),l[s]=u,e}},1193:(e,t,r)=>{var n=r(6122),o=r(8734),a=r(1536);e.exports=n?function(e,t,r){return o.f(e,t,a(1,r))}:function(e,t,r){return e[t]=r,e}},1536:e=>{e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},8212:(e,t,r)=>{\"use strict\";var n=r(4626),o=r(8734),a=r(1536);e.exports=function(e,t,r){var i=n(t);i in e?o.f(e,i,a(0,r)):e[i]=r}},5498:(e,t,r)=>{\"use strict\";var n=r(7443),o=r(8011),a=r(173),i=r(9489),l=r(8936),u=r(2081),s=r(5461),c=r(4599),f=r(3107),d=r(1193),p=r(7842),h=r(8036),g=r(4729),m=r(5847),v=i.PROPER,y=i.CONFIGURABLE,b=m.IteratorPrototype,w=m.BUGGY_SAFARI_ITERATORS,x=h(\"iterator\"),k=\"keys\",E=\"values\",S=\"entries\",T=function(){return this};e.exports=function(e,t,r,i,h,m,_){u(r,t,i);var C,O,P,R=function(e){if(e===h&&D)return D;if(!w&&e in L)return L[e];switch(e){case k:case E:case S:return function(){return new r(this,e)}}return function(){return new r(this)}},A=t+\" Iterator\",q=!1,L=e.prototype,N=L[x]||L[\"@@iterator\"]||h&&L[h],D=!w&&N||R(h),I=\"Array\"==t&&L.entries||N;if(I&&(C=s(I.call(new e)))!==Object.prototype&&C.next&&(a||s(C)===b||(c?c(C,b):l(C[x])||p(C,x,T)),f(C,A,!0,!0),a&&(g[A]=T)),v&&h==E&&N&&N.name!==E&&(!a&&y?d(L,\"name\",E):(q=!0,D=function(){return o(N,this)})),h)if(O={values:R(E),keys:m?D:R(k),entries:R(S)},_)for(P in O)(w||q||!(P in L))&&p(L,P,O[P]);else n({target:t,proto:!0,forced:w||q},O);return a&&!_||L[x]===D||p(L,x,D,{name:h}),g[t]=D,O}},3092:(e,t,r)=>{var n=r(4400),o=r(4554),a=r(2220),i=r(8734).f;e.exports=function(e){var t=n.Symbol||(n.Symbol={});o(t,e)||i(t,e,{value:a.f(e)})}},6122:(e,t,r)=>{var n=r(8244);e.exports=!n((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},7586:(e,t,r)=>{var n=r(4323),o=r(1784),a=n.document,i=o(a)&&o(a.createElement);e.exports=function(e){return i?a.createElement(e):{}}},4587:e=>{e.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},9017:(e,t,r)=>{var n=r(7586)(\"span\").classList,o=n&&n.constructor&&n.constructor.prototype;e.exports=o===Object.prototype?void 0:o},7438:(e,t,r)=>{var n=r(1850);e.exports=n(\"navigator\",\"userAgent\")||\"\"},7790:(e,t,r)=>{var n,o,a=r(4323),i=r(7438),l=a.process,u=a.Deno,s=l&&l.versions||u&&u.version,c=s&&s.v8;c&&(o=(n=c.split(\".\"))[0]>0&&n[0]<4?1:+(n[0]+n[1])),!o&&i&&(!(n=i.match(/Edge\\\\/(\\\\d+)/))||n[1]>=74)&&(n=i.match(/Chrome\\\\/(\\\\d+)/))&&(o=+n[1]),e.exports=o},3267:e=>{e.exports=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"]},7443:(e,t,r)=>{var n=r(4323),o=r(2850).f,a=r(1193),i=r(7842),l=r(361),u=r(1881),s=r(5257);e.exports=function(e,t){var r,c,f,d,p,h=e.target,g=e.global,m=e.stat;if(r=g?n:m?n[h]||l(h,{}):(n[h]||{}).prototype)for(c in t){if(d=t[c],f=e.noTargetGet?(p=o(r,c))&&p.value:r[c],!s(g?c:h+(m?\".\":\"#\")+c,e.forced)&&void 0!==f){if(typeof d==typeof f)continue;u(d,f)}(e.sham||f&&f.sham)&&a(d,\"sham\",!0),i(r,c,d,e)}}},8244:e=>{e.exports=function(e){try{return!!e()}catch(e){return!0}}},8614:(e,t,r)=>{var n=r(8244);e.exports=!n((function(){return Object.isExtensible(Object.preventExtensions({}))}))},9667:e=>{var t=Function.prototype,r=t.apply,n=t.bind,o=t.call;e.exports=\"object\"==typeof Reflect&&Reflect.apply||(n?o.bind(r):function(){return o.apply(r,arguments)})},2604:(e,t,r)=>{var n=r(4471),o=r(6438),a=n(n.bind);e.exports=function(e,t){return o(e),void 0===t?e:a?a(e,t):function(){return e.apply(t,arguments)}}},8011:e=>{var t=Function.prototype.call;e.exports=t.bind?t.bind(t):function(){return t.apply(t,arguments)}},9489:(e,t,r)=>{var n=r(6122),o=r(4554),a=Function.prototype,i=n&&Object.getOwnPropertyDescriptor,l=o(a,\"name\"),u=l&&\"something\"===function(){}.name,s=l&&(!n||n&&i(a,\"name\").configurable);e.exports={EXISTS:l,PROPER:u,CONFIGURABLE:s}},4471:e=>{var t=Function.prototype,r=t.bind,n=t.call,o=r&&r.bind(n);e.exports=r?function(e){return e&&o(n,e)}:function(e){return e&&function(){return n.apply(e,arguments)}}},1850:(e,t,r)=>{var n=r(4323),o=r(8936),a=function(e){return o(e)?e:void 0};e.exports=function(e,t){return arguments.length<2?a(n[e]):n[e]&&n[e][t]}},1913:(e,t,r)=>{var n=r(782),o=r(2339),a=r(4729),i=r(8036)(\"iterator\");e.exports=function(e){if(void 0!=e)return o(e,i)||o(e,\"@@iterator\")||a[n(e)]}},7481:(e,t,r)=>{var n=r(4323),o=r(8011),a=r(6438),i=r(5561),l=r(7429),u=r(1913),s=n.TypeError;e.exports=function(e,t){var r=arguments.length<2?u(e):t;if(a(r))return i(o(r,e));throw s(l(e)+\" is not iterable\")}},6611:(e,t,r)=>{var n=r(8011);e.exports=function(e){return n(Map.prototype.entries,e)}},2339:(e,t,r)=>{var n=r(6438);e.exports=function(e,t){var r=e[t];return null==r?void 0:n(r)}},2196:(e,t,r)=>{var n=r(8011);e.exports=function(e){return n(Set.prototype.values,e)}},4323:(e,t,r)=>{var n=function(e){return e&&e.Math==Math&&e};e.exports=n(\"object\"==typeof globalThis&&globalThis)||n(\"object\"==typeof window&&window)||n(\"object\"==typeof self&&self)||n(\"object\"==typeof r.g&&r.g)||function(){return this}()||Function(\"return this\")()},4554:(e,t,r)=>{var n=r(4471),o=r(4234),a=n({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,t){return a(o(e),t)}},2260:e=>{e.exports={}},5685:(e,t,r)=>{var n=r(1850);e.exports=n(\"document\",\"documentElement\")},9951:(e,t,r)=>{var n=r(6122),o=r(8244),a=r(7586);e.exports=!n&&!o((function(){return 7!=Object.defineProperty(a(\"div\"),\"a\",{get:function(){return 7}}).a}))},13:(e,t,r)=>{var n=r(4323),o=r(4471),a=r(8244),i=r(2708),l=n.Object,u=o(\"\".split);e.exports=a((function(){return!l(\"z\").propertyIsEnumerable(0)}))?function(e){return\"String\"==i(e)?u(e,\"\"):l(e)}:l},849:(e,t,r)=>{var n=r(8936),o=r(1784),a=r(4599);e.exports=function(e,t,r){var i,l;return a&&n(i=t.constructor)&&i!==r&&o(l=i.prototype)&&l!==r.prototype&&a(e,l),e}},3436:(e,t,r)=>{var n=r(4471),o=r(8936),a=r(4946),i=n(Function.toString);o(a.inspectSource)||(a.inspectSource=function(e){return i(e)}),e.exports=a.inspectSource},3289:(e,t,r)=>{var n=r(7443),o=r(4471),a=r(2260),i=r(1784),l=r(4554),u=r(8734).f,s=r(9043),c=r(5580),f=r(9114),d=r(4397),p=r(8614),h=!1,g=d(\"meta\"),m=0,v=function(e){u(e,g,{value:{objectID:\"O\"+m++,weakData:{}}})},y=e.exports={enable:function(){y.enable=function(){},h=!0;var e=s.f,t=o([].splice),r={};r[g]=1,e(r).length&&(s.f=function(r){for(var n=e(r),o=0,a=n.length;o<a;o++)if(n[o]===g){t(n,o,1);break}return n},n({target:\"Object\",stat:!0,forced:!0},{getOwnPropertyNames:c.f}))},fastKey:function(e,t){if(!i(e))return\"symbol\"==typeof e?e:(\"string\"==typeof e?\"S\":\"P\")+e;if(!l(e,g)){if(!f(e))return\"F\";if(!t)return\"E\";v(e)}return e[g].objectID},getWeakData:function(e,t){if(!l(e,g)){if(!f(e))return!0;if(!t)return!1;v(e)}return e[g].weakData},onFreeze:function(e){return p&&h&&f(e)&&!l(e,g)&&v(e),e}};a[g]=!0},9523:(e,t,r)=>{var n,o,a,i=r(751),l=r(4323),u=r(4471),s=r(1784),c=r(1193),f=r(4554),d=r(4946),p=r(5237),h=r(2260),g=\"Object already initialized\",m=l.TypeError,v=l.WeakMap;if(i||d.state){var y=d.state||(d.state=new v),b=u(y.get),w=u(y.has),x=u(y.set);n=function(e,t){if(w(y,e))throw new m(g);return t.facade=e,x(y,e,t),t},o=function(e){return b(y,e)||{}},a=function(e){return w(y,e)}}else{var k=p(\"state\");h[k]=!0,n=function(e,t){if(f(e,k))throw new m(g);return t.facade=e,c(e,k,t),t},o=function(e){return f(e,k)?e[k]:{}},a=function(e){return f(e,k)}}e.exports={set:n,get:o,has:a,enforce:function(e){return a(e)?o(e):n(e,{})},getterFor:function(e){return function(t){var r;if(!s(t)||(r=o(t)).type!==e)throw m(\"Incompatible receiver, \"+e+\" required\");return r}}}},5271:(e,t,r)=>{var n=r(8036),o=r(4729),a=n(\"iterator\"),i=Array.prototype;e.exports=function(e){return void 0!==e&&(o.Array===e||i[a]===e)}},8997:(e,t,r)=>{var n=r(2708);e.exports=Array.isArray||function(e){return\"Array\"==n(e)}},8936:e=>{e.exports=function(e){return\"function\"==typeof e}},1568:(e,t,r)=>{var n=r(4471),o=r(8244),a=r(8936),i=r(782),l=r(1850),u=r(3436),s=function(){},c=[],f=l(\"Reflect\",\"construct\"),d=/^\\\\s*(?:class|function)\\\\b/,p=n(d.exec),h=!d.exec(s),g=function(e){if(!a(e))return!1;try{return f(s,c,e),!0}catch(e){return!1}};e.exports=!f||o((function(){var e;return g(g.call)||!g(Object)||!g((function(){e=!0}))||e}))?function(e){if(!a(e))return!1;switch(i(e)){case\"AsyncFunction\":case\"GeneratorFunction\":case\"AsyncGeneratorFunction\":return!1}return h||!!p(d,u(e))}:g},5257:(e,t,r)=>{var n=r(8244),o=r(8936),a=/#|\\\\.prototype\\\\./,i=function(e,t){var r=u[l(e)];return r==c||r!=s&&(o(t)?n(t):!!t)},l=i.normalize=function(e){return String(e).replace(a,\".\").toLowerCase()},u=i.data={},s=i.NATIVE=\"N\",c=i.POLYFILL=\"P\";e.exports=i},1784:(e,t,r)=>{var n=r(8936);e.exports=function(e){return\"object\"==typeof e?null!==e:n(e)}},173:e=>{e.exports=!1},985:(e,t,r)=>{var n=r(4323),o=r(1850),a=r(8936),i=r(2038),l=r(6005),u=n.Object;e.exports=l?function(e){return\"symbol\"==typeof e}:function(e){var t=o(\"Symbol\");return a(t)&&i(t.prototype,u(e))}},7478:(e,t,r)=>{var n=r(4323),o=r(2604),a=r(8011),i=r(5561),l=r(7429),u=r(5271),s=r(1472),c=r(2038),f=r(7481),d=r(1913),p=r(6907),h=n.TypeError,g=function(e,t){this.stopped=e,this.result=t},m=g.prototype;e.exports=function(e,t,r){var n,v,y,b,w,x,k,E=r&&r.that,S=!(!r||!r.AS_ENTRIES),T=!(!r||!r.IS_ITERATOR),_=!(!r||!r.INTERRUPTED),C=o(t,E),O=function(e){return n&&p(n,\"normal\",e),new g(!0,e)},P=function(e){return S?(i(e),_?C(e[0],e[1],O):C(e[0],e[1])):_?C(e,O):C(e)};if(T)n=e;else{if(!(v=d(e)))throw h(l(e)+\" is not iterable\");if(u(v)){for(y=0,b=s(e);b>y;y++)if((w=P(e[y]))&&c(m,w))return w;return new g(!1)}n=f(e,v)}for(x=n.next;!(k=a(x,n)).done;){try{w=P(k.value)}catch(e){p(n,\"throw\",e)}if(\"object\"==typeof w&&w&&c(m,w))return w}return new g(!1)}},6907:(e,t,r)=>{var n=r(8011),o=r(5561),a=r(2339);e.exports=function(e,t,r){var i,l;o(e);try{if(!(i=a(e,\"return\"))){if(\"throw\"===t)throw r;return r}i=n(i,e)}catch(e){l=!0,i=e}if(\"throw\"===t)throw r;if(l)throw i;return o(i),r}},5847:(e,t,r)=>{\"use strict\";var n,o,a,i=r(8244),l=r(8936),u=r(5313),s=r(5461),c=r(7842),f=r(8036),d=r(173),p=f(\"iterator\"),h=!1;[].keys&&(\"next\"in(a=[].keys())?(o=s(s(a)))!==Object.prototype&&(n=o):h=!0),void 0==n||i((function(){var e={};return n[p].call(e)!==e}))?n={}:d&&(n=u(n)),l(n[p])||c(n,p,(function(){return this})),e.exports={IteratorPrototype:n,BUGGY_SAFARI_ITERATORS:h}},4729:e=>{e.exports={}},1472:(e,t,r)=>{var n=r(9631);e.exports=function(e){return n(e.length)}},5046:(e,t,r)=>{var n=r(7790),o=r(8244);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&n&&n<41}))},751:(e,t,r)=>{var n=r(4323),o=r(8936),a=r(3436),i=n.WeakMap;e.exports=o(i)&&/native code/.test(a(i))},5313:(e,t,r)=>{var n,o=r(5561),a=r(649),i=r(3267),l=r(2260),u=r(5685),s=r(7586),c=r(5237),f=c(\"IE_PROTO\"),d=function(){},p=function(e){return\"<script>\"+e+\"</\"+\"script>\"},h=function(e){e.write(p(\"\")),e.close();var t=e.parentWindow.Object;return e=null,t},g=function(){try{n=new ActiveXObject(\"htmlfile\")}catch(e){}var e,t;g=\"undefined\"!=typeof document?document.domain&&n?h(n):((t=s(\"iframe\")).style.display=\"none\",u.appendChild(t),t.src=String(\"javascript:\"),(e=t.contentWindow.document).open(),e.write(p(\"document.F=Object\")),e.close(),e.F):h(n);for(var r=i.length;r--;)delete g.prototype[i[r]];return g()};l[f]=!0,e.exports=Object.create||function(e,t){var r;return null!==e?(d.prototype=o(e),r=new d,d.prototype=null,r[f]=e):r=g(),void 0===t?r:a(r,t)}},649:(e,t,r)=>{var n=r(6122),o=r(8734),a=r(5561),i=r(2653),l=r(9246);e.exports=n?Object.defineProperties:function(e,t){a(e);for(var r,n=i(t),u=l(t),s=u.length,c=0;s>c;)o.f(e,r=u[c++],n[r]);return e}},8734:(e,t,r)=>{var n=r(4323),o=r(6122),a=r(9951),i=r(5561),l=r(4626),u=n.TypeError,s=Object.defineProperty;t.f=o?s:function(e,t,r){if(i(e),t=l(t),i(r),a)try{return s(e,t,r)}catch(e){}if(\"get\"in r||\"set\"in r)throw u(\"Accessors not supported\");return\"value\"in r&&(e[t]=r.value),e}},2850:(e,t,r)=>{var n=r(6122),o=r(8011),a=r(2589),i=r(1536),l=r(2653),u=r(4626),s=r(4554),c=r(9951),f=Object.getOwnPropertyDescriptor;t.f=n?f:function(e,t){if(e=l(e),t=u(t),c)try{return f(e,t)}catch(e){}if(s(e,t))return i(!o(a.f,e,t),e[t])}},5580:(e,t,r)=>{var n=r(2708),o=r(2653),a=r(9043).f,i=r(8942),l=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return l&&\"Window\"==n(e)?function(e){try{return a(e)}catch(e){return i(l)}}(e):a(o(e))}},9043:(e,t,r)=>{var n=r(8662),o=r(3267).concat(\"length\",\"prototype\");t.f=Object.getOwnPropertyNames||function(e){return n(e,o)}},229:(e,t)=>{t.f=Object.getOwnPropertySymbols},5461:(e,t,r)=>{var n=r(4323),o=r(4554),a=r(8936),i=r(4234),l=r(5237),u=r(1681),s=l(\"IE_PROTO\"),c=n.Object,f=c.prototype;e.exports=u?c.getPrototypeOf:function(e){var t=i(e);if(o(t,s))return t[s];var r=t.constructor;return a(r)&&t instanceof r?r.prototype:t instanceof c?f:null}},9114:(e,t,r)=>{var n=r(8244),o=r(1784),a=r(2708),i=r(7826),l=Object.isExtensible,u=n((function(){l(1)}));e.exports=u||i?function(e){return!!o(e)&&((!i||\"ArrayBuffer\"!=a(e))&&(!l||l(e)))}:l},2038:(e,t,r)=>{var n=r(4471);e.exports=n({}.isPrototypeOf)},8662:(e,t,r)=>{var n=r(4471),o=r(4554),a=r(2653),i=r(3336).indexOf,l=r(2260),u=n([].push);e.exports=function(e,t){var r,n=a(e),s=0,c=[];for(r in n)!o(l,r)&&o(n,r)&&u(c,r);for(;t.length>s;)o(n,r=t[s++])&&(~i(c,r)||u(c,r));return c}},9246:(e,t,r)=>{var n=r(8662),o=r(3267);e.exports=Object.keys||function(e){return n(e,o)}},2589:(e,t)=>{\"use strict\";var r={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor,o=n&&!r.call({1:2},1);t.f=o?function(e){var t=n(this,e);return!!t&&t.enumerable}:r},4599:(e,t,r)=>{var n=r(4471),o=r(5561),a=r(4846);e.exports=Object.setPrototypeOf||(\"__proto__\"in{}?function(){var e,t=!1,r={};try{(e=n(Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\").set))(r,[]),t=r instanceof Array}catch(e){}return function(r,n){return o(r),a(n),t?e(r,n):r.__proto__=n,r}}():void 0)},9974:(e,t,r)=>{\"use strict\";var n=r(7452),o=r(782);e.exports=n?{}.toString:function(){return\"[object \"+o(this)+\"]\"}},8306:(e,t,r)=>{var n=r(4323),o=r(8011),a=r(8936),i=r(1784),l=n.TypeError;e.exports=function(e,t){var r,n;if(\"string\"===t&&a(r=e.toString)&&!i(n=o(r,e)))return n;if(a(r=e.valueOf)&&!i(n=o(r,e)))return n;if(\"string\"!==t&&a(r=e.toString)&&!i(n=o(r,e)))return n;throw l(\"Can\\'t convert object to primitive value\")}},4875:(e,t,r)=>{var n=r(1850),o=r(4471),a=r(9043),i=r(229),l=r(5561),u=o([].concat);e.exports=n(\"Reflect\",\"ownKeys\")||function(e){var t=a.f(l(e)),r=i.f;return r?u(t,r(e)):t}},4400:(e,t,r)=>{var n=r(4323);e.exports=n},4342:(e,t,r)=>{var n=r(7842);e.exports=function(e,t,r){for(var o in t)n(e,o,t[o],r);return e}},7842:(e,t,r)=>{var n=r(4323),o=r(8936),a=r(4554),i=r(1193),l=r(361),u=r(3436),s=r(9523),c=r(9489).CONFIGURABLE,f=s.get,d=s.enforce,p=String(String).split(\"String\");(e.exports=function(e,t,r,u){var s,f=!!u&&!!u.unsafe,h=!!u&&!!u.enumerable,g=!!u&&!!u.noTargetGet,m=u&&void 0!==u.name?u.name:t;o(r)&&(\"Symbol(\"===String(m).slice(0,7)&&(m=\"[\"+String(m).replace(/^Symbol\\\\(([^)]*)\\\\)/,\"$1\")+\"]\"),(!a(r,\"name\")||c&&r.name!==m)&&i(r,\"name\",m),(s=d(r)).source||(s.source=p.join(\"string\"==typeof m?m:\"\"))),e!==n?(f?!g&&e[t]&&(h=!0):delete e[t],h?e[t]=r:i(e,t,r)):h?e[t]=r:l(t,r)})(Function.prototype,\"toString\",(function(){return o(this)&&f(this).source||u(this)}))},556:(e,t,r)=>{var n=r(4323).TypeError;e.exports=function(e){if(void 0==e)throw n(\"Can\\'t call method on \"+e);return e}},8787:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},361:(e,t,r)=>{var n=r(4323),o=Object.defineProperty;e.exports=function(e,t){try{o(n,e,{value:t,configurable:!0,writable:!0})}catch(r){n[e]=t}return t}},3208:(e,t,r)=>{\"use strict\";var n=r(1850),o=r(8734),a=r(8036),i=r(6122),l=a(\"species\");e.exports=function(e){var t=n(e),r=o.f;i&&t&&!t[l]&&r(t,l,{configurable:!0,get:function(){return this}})}},3107:(e,t,r)=>{var n=r(8734).f,o=r(4554),a=r(8036)(\"toStringTag\");e.exports=function(e,t,r){e&&!o(e=r?e:e.prototype,a)&&n(e,a,{configurable:!0,value:t})}},5237:(e,t,r)=>{var n=r(1033),o=r(4397),a=n(\"keys\");e.exports=function(e){return a[e]||(a[e]=o(e))}},4946:(e,t,r)=>{var n=r(4323),o=r(361),a=\"__core-js_shared__\",i=n[a]||o(a,{});e.exports=i},1033:(e,t,r)=>{var n=r(173),o=r(4946);(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})(\"versions\",[]).push({version:\"3.19.2\",mode:n?\"pure\":\"global\",copyright:\"© 2021 Denis Pushkarev (zloirock.ru)\"})},8272:(e,t,r)=>{var n=r(5561),o=r(4887),a=r(8036)(\"species\");e.exports=function(e,t){var r,i=n(e).constructor;return void 0===i||void 0==(r=n(i)[a])?t:o(r)}},8648:(e,t,r)=>{var n=r(4471),o=r(2927),a=r(2404),i=r(556),l=n(\"\".charAt),u=n(\"\".charCodeAt),s=n(\"\".slice),c=function(e){return function(t,r){var n,c,f=a(i(t)),d=o(r),p=f.length;return d<0||d>=p?e?\"\":void 0:(n=u(f,d))<55296||n>56319||d+1===p||(c=u(f,d+1))<56320||c>57343?e?l(f,d):n:e?s(f,d,d+2):c-56320+(n-55296<<10)+65536}};e.exports={codeAt:c(!1),charAt:c(!0)}},921:(e,t,r)=>{var n=r(2927),o=Math.max,a=Math.min;e.exports=function(e,t){var r=n(e);return r<0?o(r+t,0):a(r,t)}},2653:(e,t,r)=>{var n=r(13),o=r(556);e.exports=function(e){return n(o(e))}},2927:e=>{var t=Math.ceil,r=Math.floor;e.exports=function(e){var n=+e;return n!==n||0===n?0:(n>0?r:t)(n)}},9631:(e,t,r)=>{var n=r(2927),o=Math.min;e.exports=function(e){return e>0?o(n(e),9007199254740991):0}},4234:(e,t,r)=>{var n=r(4323),o=r(556),a=n.Object;e.exports=function(e){return a(o(e))}},1475:(e,t,r)=>{var n=r(4323),o=r(8011),a=r(1784),i=r(985),l=r(2339),u=r(8306),s=r(8036),c=n.TypeError,f=s(\"toPrimitive\");e.exports=function(e,t){if(!a(e)||i(e))return e;var r,n=l(e,f);if(n){if(void 0===t&&(t=\"default\"),r=o(n,e,t),!a(r)||i(r))return r;throw c(\"Can\\'t convert object to primitive value\")}return void 0===t&&(t=\"number\"),u(e,t)}},4626:(e,t,r)=>{var n=r(1475),o=r(985);e.exports=function(e){var t=n(e,\"string\");return o(t)?t:t+\"\"}},7452:(e,t,r)=>{var n={};n[r(8036)(\"toStringTag\")]=\"z\",e.exports=\"[object z]\"===String(n)},2404:(e,t,r)=>{var n=r(4323),o=r(782),a=n.String;e.exports=function(e){if(\"Symbol\"===o(e))throw TypeError(\"Cannot convert a Symbol value to a string\");return a(e)}},7429:(e,t,r)=>{var n=r(4323).String;e.exports=function(e){try{return n(e)}catch(e){return\"Object\"}}},4397:(e,t,r)=>{var n=r(4471),o=0,a=Math.random(),i=n(1..toString);e.exports=function(e){return\"Symbol(\"+(void 0===e?\"\":e)+\")_\"+i(++o+a,36)}},6005:(e,t,r)=>{var n=r(5046);e.exports=n&&!Symbol.sham&&\"symbol\"==typeof Symbol.iterator},2220:(e,t,r)=>{var n=r(8036);t.f=n},8036:(e,t,r)=>{var n=r(4323),o=r(1033),a=r(4554),i=r(4397),l=r(5046),u=r(6005),s=o(\"wks\"),c=n.Symbol,f=c&&c.for,d=u?c:c&&c.withoutSetter||i;e.exports=function(e){if(!a(s,e)||!l&&\"string\"!=typeof s[e]){var t=\"Symbol.\"+e;l&&a(c,e)?s[e]=c[e]:s[e]=u&&f?f(t):d(t)}return s[e]}},5185:(e,t,r)=>{\"use strict\";var n=r(7443),o=r(4323),a=r(8244),i=r(8997),l=r(1784),u=r(4234),s=r(1472),c=r(8212),f=r(4264),d=r(5460),p=r(8036),h=r(7790),g=p(\"isConcatSpreadable\"),m=9007199254740991,v=\"Maximum allowed index exceeded\",y=o.TypeError,b=h>=51||!a((function(){var e=[];return e[g]=!1,e.concat()[0]!==e})),w=d(\"concat\"),x=function(e){if(!l(e))return!1;var t=e[g];return void 0!==t?!!t:i(e)};n({target:\"Array\",proto:!0,forced:!b||!w},{concat:function(e){var t,r,n,o,a,i=u(this),l=f(i,0),d=0;for(t=-1,n=arguments.length;t<n;t++)if(x(a=-1===t?i:arguments[t])){if(d+(o=s(a))>m)throw y(v);for(r=0;r<o;r++,d++)r in a&&c(l,d,a[r])}else{if(d>=m)throw y(v);c(l,d++,a)}return l.length=d,l}})},7925:(e,t,r)=>{var n=r(7443),o=r(8602);n({target:\"Array\",stat:!0,forced:!r(9274)((function(e){Array.from(e)}))},{from:o})},4801:(e,t,r)=>{\"use strict\";var n=r(2653),o=r(149),a=r(4729),i=r(9523),l=r(5498),u=\"Array Iterator\",s=i.set,c=i.getterFor(u);e.exports=l(Array,\"Array\",(function(e,t){s(this,{type:u,target:n(e),index:0,kind:t})}),(function(){var e=c(this),t=e.target,r=e.kind,n=e.index++;return!t||n>=t.length?(e.target=void 0,{value:void 0,done:!0}):\"keys\"==r?{value:n,done:!1}:\"values\"==r?{value:t[n],done:!1}:{value:[n,t[n]],done:!1}}),\"values\"),a.Arguments=a.Array,o(\"keys\"),o(\"values\"),o(\"entries\")},100:(e,t,r)=>{var n=r(4323);r(3107)(n.JSON,\"JSON\",!0)},1537:(e,t,r)=>{\"use strict\";r(7088)(\"Map\",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),r(4674))},1168:(e,t,r)=>{r(3107)(Math,\"Math\",!0)},3782:(e,t,r)=>{var n=r(7452),o=r(7842),a=r(9974);n||o(Object.prototype,\"toString\",a,{unsafe:!0})},3763:(e,t,r)=>{\"use strict\";r(7088)(\"Set\",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),r(4674))},8955:(e,t,r)=>{\"use strict\";var n=r(8648).charAt,o=r(2404),a=r(9523),i=r(5498),l=\"String Iterator\",u=a.set,s=a.getterFor(l);i(String,\"String\",(function(e){u(this,{type:l,string:o(e),index:0})}),(function(){var e,t=s(this),r=t.string,o=t.index;return o>=r.length?{value:void 0,done:!0}:(e=n(r,o),t.index+=e.length,{value:e,done:!1})}))},4658:(e,t,r)=>{r(3092)(\"asyncIterator\")},5998:(e,t,r)=>{\"use strict\";var n=r(7443),o=r(6122),a=r(4323),i=r(4471),l=r(4554),u=r(8936),s=r(2038),c=r(2404),f=r(8734).f,d=r(1881),p=a.Symbol,h=p&&p.prototype;if(o&&u(p)&&(!(\"description\"in h)||void 0!==p().description)){var g={},m=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:c(arguments[0]),t=s(h,this)?new p(e):void 0===e?p():p(e);return\"\"===e&&(g[t]=!0),t};d(m,p),m.prototype=h,h.constructor=m;var v=\"Symbol(test)\"==String(p(\"test\")),y=i(h.toString),b=i(h.valueOf),w=/^Symbol\\\\((.*)\\\\)[^)]+$/,x=i(\"\".replace),k=i(\"\".slice);f(h,\"description\",{configurable:!0,get:function(){var e=b(this),t=y(e);if(l(g,e))return\"\";var r=v?k(t,7,-1):x(t,w,\"$1\");return\"\"===r?void 0:r}}),n({global:!0,forced:!0},{Symbol:m})}},4711:(e,t,r)=>{r(3092)(\"hasInstance\")},7105:(e,t,r)=>{r(3092)(\"isConcatSpreadable\")},1034:(e,t,r)=>{r(3092)(\"iterator\")},1522:(e,t,r)=>{\"use strict\";var n=r(7443),o=r(4323),a=r(1850),i=r(9667),l=r(8011),u=r(4471),s=r(173),c=r(6122),f=r(5046),d=r(8244),p=r(4554),h=r(8997),g=r(8936),m=r(1784),v=r(2038),y=r(985),b=r(5561),w=r(4234),x=r(2653),k=r(4626),E=r(2404),S=r(1536),T=r(5313),_=r(9246),C=r(9043),O=r(5580),P=r(229),R=r(2850),A=r(8734),q=r(2589),L=r(3707),N=r(7842),D=r(1033),I=r(5237),j=r(2260),M=r(4397),F=r(8036),z=r(2220),U=r(3092),B=r(3107),V=r(9523),H=r(5241).forEach,W=I(\"hidden\"),G=\"Symbol\",$=F(\"toPrimitive\"),Q=V.set,Y=V.getterFor(G),K=Object.prototype,X=o.Symbol,J=X&&X.prototype,Z=o.TypeError,ee=o.QObject,te=a(\"JSON\",\"stringify\"),re=R.f,ne=A.f,oe=O.f,ae=q.f,ie=u([].push),le=D(\"symbols\"),ue=D(\"op-symbols\"),se=D(\"string-to-symbol-registry\"),ce=D(\"symbol-to-string-registry\"),fe=D(\"wks\"),de=!ee||!ee.prototype||!ee.prototype.findChild,pe=c&&d((function(){return 7!=T(ne({},\"a\",{get:function(){return ne(this,\"a\",{value:7}).a}})).a}))?function(e,t,r){var n=re(K,t);n&&delete K[t],ne(e,t,r),n&&e!==K&&ne(K,t,n)}:ne,he=function(e,t){var r=le[e]=T(J);return Q(r,{type:G,tag:e,description:t}),c||(r.description=t),r},ge=function(e,t,r){e===K&&ge(ue,t,r),b(e);var n=k(t);return b(r),p(le,n)?(r.enumerable?(p(e,W)&&e[W][n]&&(e[W][n]=!1),r=T(r,{enumerable:S(0,!1)})):(p(e,W)||ne(e,W,S(1,{})),e[W][n]=!0),pe(e,n,r)):ne(e,n,r)},me=function(e,t){b(e);var r=x(t),n=_(r).concat(we(r));return H(n,(function(t){c&&!l(ve,r,t)||ge(e,t,r[t])})),e},ve=function(e){var t=k(e),r=l(ae,this,t);return!(this===K&&p(le,t)&&!p(ue,t))&&(!(r||!p(this,t)||!p(le,t)||p(this,W)&&this[W][t])||r)},ye=function(e,t){var r=x(e),n=k(t);if(r!==K||!p(le,n)||p(ue,n)){var o=re(r,n);return!o||!p(le,n)||p(r,W)&&r[W][n]||(o.enumerable=!0),o}},be=function(e){var t=oe(x(e)),r=[];return H(t,(function(e){p(le,e)||p(j,e)||ie(r,e)})),r},we=function(e){var t=e===K,r=oe(t?ue:x(e)),n=[];return H(r,(function(e){!p(le,e)||t&&!p(K,e)||ie(n,le[e])})),n};(f||(N(J=(X=function(){if(v(J,this))throw Z(\"Symbol is not a constructor\");var e=arguments.length&&void 0!==arguments[0]?E(arguments[0]):void 0,t=M(e),r=function e(r){this===K&&l(e,ue,r),p(this,W)&&p(this[W],t)&&(this[W][t]=!1),pe(this,t,S(1,r))};return c&&de&&pe(K,t,{configurable:!0,set:r}),he(t,e)}).prototype,\"toString\",(function(){return Y(this).tag})),N(X,\"withoutSetter\",(function(e){return he(M(e),e)})),q.f=ve,A.f=ge,R.f=ye,C.f=O.f=be,P.f=we,z.f=function(e){return he(F(e),e)},c&&(ne(J,\"description\",{configurable:!0,get:function(){return Y(this).description}}),s||N(K,\"propertyIsEnumerable\",ve,{unsafe:!0}))),n({global:!0,wrap:!0,forced:!f,sham:!f},{Symbol:X}),H(_(fe),(function(e){U(e)})),n({target:G,stat:!0,forced:!f},{for:function(e){var t=E(e);if(p(se,t))return se[t];var r=X(t);return se[t]=r,ce[r]=t,r},keyFor:function(e){if(!y(e))throw Z(e+\" is not a symbol\");if(p(ce,e))return ce[e]},useSetter:function(){de=!0},useSimple:function(){de=!1}}),n({target:\"Object\",stat:!0,forced:!f,sham:!c},{create:function(e,t){return void 0===t?T(e):me(T(e),t)},defineProperty:ge,defineProperties:me,getOwnPropertyDescriptor:ye}),n({target:\"Object\",stat:!0,forced:!f},{getOwnPropertyNames:be,getOwnPropertySymbols:we}),n({target:\"Object\",stat:!0,forced:d((function(){P.f(1)}))},{getOwnPropertySymbols:function(e){return P.f(w(e))}}),te)&&n({target:\"JSON\",stat:!0,forced:!f||d((function(){var e=X();return\"[null]\"!=te([e])||\"{}\"!=te({a:e})||\"{}\"!=te(Object(e))}))},{stringify:function(e,t,r){var n=L(arguments),o=t;if((m(t)||void 0!==e)&&!y(e))return h(t)||(t=function(e,t){if(g(o)&&(t=l(o,this,e,t)),!y(t))return t}),n[1]=t,i(te,null,n)}});if(!J[$]){var xe=J.valueOf;N(J,$,(function(e){return l(xe,this)}))}B(X,G),j[W]=!0},9227:(e,t,r)=>{r(3092)(\"match\")},9385:(e,t,r)=>{r(3092)(\"replace\")},9764:(e,t,r)=>{r(3092)(\"search\")},3264:(e,t,r)=>{r(3092)(\"species\")},1257:(e,t,r)=>{r(3092)(\"split\")},6435:(e,t,r)=>{r(3092)(\"toPrimitive\")},681:(e,t,r)=>{r(3092)(\"toStringTag\")},7313:(e,t,r)=>{r(3092)(\"unscopables\")},3035:(e,t,r)=>{\"use strict\";r(7443)({target:\"Map\",proto:!0,real:!0,forced:r(173)},{deleteAll:r(5424)})},2481:(e,t,r)=>{\"use strict\";var n=r(7443),o=r(173),a=r(5561),i=r(2604),l=r(6611),u=r(7478);n({target:\"Map\",proto:!0,real:!0,forced:o},{every:function(e){var t=a(this),r=l(t),n=i(e,arguments.length>1?arguments[1]:void 0);return!u(r,(function(e,r,o){if(!n(r,e,t))return o()}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}})},673:(e,t,r)=>{\"use strict\";var n=r(173),o=r(7443),a=r(1850),i=r(2604),l=r(8011),u=r(6438),s=r(5561),c=r(8272),f=r(6611),d=r(7478);o({target:\"Map\",proto:!0,real:!0,forced:n},{filter:function(e){var t=s(this),r=f(t),n=i(e,arguments.length>1?arguments[1]:void 0),o=new(c(t,a(\"Map\"))),p=u(o.set);return d(r,(function(e,r){n(r,e,t)&&l(p,o,e,r)}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),o}})},5837:(e,t,r)=>{\"use strict\";var n=r(7443),o=r(173),a=r(5561),i=r(2604),l=r(6611),u=r(7478);n({target:\"Map\",proto:!0,real:!0,forced:o},{findKey:function(e){var t=a(this),r=l(t),n=i(e,arguments.length>1?arguments[1]:void 0);return u(r,(function(e,r,o){if(n(r,e,t))return o(e)}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).result}})},4756:(e,t,r)=>{\"use strict\";var n=r(7443),o=r(173),a=r(5561),i=r(2604),l=r(6611),u=r(7478);n({target:\"Map\",proto:!0,real:!0,forced:o},{find:function(e){var t=a(this),r=l(t),n=i(e,arguments.length>1?arguments[1]:void 0);return u(r,(function(e,r,o){if(n(r,e,t))return o(r)}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).result}})},471:(e,t,r)=>{r(7443)({target:\"Map\",stat:!0},{from:r(2858)})},6692:(e,t,r)=>{\"use strict\";var n=r(7443),o=r(8011),a=r(4471),i=r(6438),l=r(7481),u=r(7478),s=a([].push);n({target:\"Map\",stat:!0},{groupBy:function(e,t){i(t);var r=l(e),n=new this,a=i(n.has),c=i(n.get),f=i(n.set);return u(r,(function(e){var r=t(e);o(a,n,r)?s(o(c,n,r),e):o(f,n,r,[e])}),{IS_ITERATOR:!0}),n}})},5853:(e,t,r)=>{\"use strict\";var n=r(173),o=r(7443),a=r(5561),i=r(6611),l=r(8787),u=r(7478);o({target:\"Map\",proto:!0,real:!0,forced:n},{includes:function(e){return u(i(a(this)),(function(t,r,n){if(l(r,e))return n()}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}})},7415:(e,t,r)=>{\"use strict\";var n=r(7443),o=r(8011),a=r(7478),i=r(6438);n({target:\"Map\",stat:!0},{keyBy:function(e,t){var r=new this;i(t);var n=i(r.set);return a(e,(function(e){o(n,r,t(e),e)})),r}})},4837:(e,t,r)=>{\"use strict\";var n=r(7443),o=r(173),a=r(5561),i=r(6611),l=r(7478);n({target:\"Map\",proto:!0,real:!0,forced:o},{keyOf:function(e){return l(i(a(this)),(function(t,r,n){if(r===e)return n(t)}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).result}})},4285:(e,t,r)=>{\"use strict\";var n=r(173),o=r(7443),a=r(1850),i=r(2604),l=r(8011),u=r(6438),s=r(5561),c=r(8272),f=r(6611),d=r(7478);o({target:\"Map\",proto:!0,real:!0,forced:n},{mapKeys:function(e){var t=s(this),r=f(t),n=i(e,arguments.length>1?arguments[1]:void 0),o=new(c(t,a(\"Map\"))),p=u(o.set);return d(r,(function(e,r){l(p,o,n(r,e,t),r)}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),o}})},9932:(e,t,r)=>{\"use strict\";var n=r(173),o=r(7443),a=r(1850),i=r(2604),l=r(8011),u=r(6438),s=r(5561),c=r(8272),f=r(6611),d=r(7478);o({target:\"Map\",proto:!0,real:!0,forced:n},{mapValues:function(e){var t=s(this),r=f(t),n=i(e,arguments.length>1?arguments[1]:void 0),o=new(c(t,a(\"Map\"))),p=u(o.set);return d(r,(function(e,r){l(p,o,e,n(r,e,t))}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),o}})},5843:(e,t,r)=>{\"use strict\";var n=r(7443),o=r(173),a=r(6438),i=r(5561),l=r(7478);n({target:\"Map\",proto:!0,real:!0,forced:o},{merge:function(e){for(var t=i(this),r=a(t.set),n=arguments.length,o=0;o<n;)l(arguments[o++],r,{that:t,AS_ENTRIES:!0});return t}})},1080:(e,t,r)=>{r(7443)({target:\"Map\",stat:!0},{of:r(2256)})},7074:(e,t,r)=>{\"use strict\";var n=r(7443),o=r(4323),a=r(173),i=r(5561),l=r(6438),u=r(6611),s=r(7478),c=o.TypeError;n({target:\"Map\",proto:!0,real:!0,forced:a},{reduce:function(e){var t=i(this),r=u(t),n=arguments.length<2,o=n?void 0:arguments[1];if(l(e),s(r,(function(r,a){n?(n=!1,o=a):o=e(o,a,r,t)}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),n)throw c(\"Reduce of empty map with no initial value\");return o}})},7992:(e,t,r)=>{\"use strict\";var n=r(7443),o=r(173),a=r(5561),i=r(2604),l=r(6611),u=r(7478);n({target:\"Map\",proto:!0,real:!0,forced:o},{some:function(e){var t=a(this),r=l(t),n=i(e,arguments.length>1?arguments[1]:void 0);return u(r,(function(e,r,o){if(n(r,e,t))return o()}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}})},6443:(e,t,r)=>{\"use strict\";var n=r(173),o=r(7443),a=r(4323),i=r(8011),l=r(5561),u=r(6438),s=a.TypeError;o({target:\"Map\",proto:!0,real:!0,forced:n},{update:function(e,t){var r=l(this),n=u(r.get),o=u(r.has),a=u(r.set),c=arguments.length;u(t);var f=i(o,r,e);if(!f&&c<3)throw s(\"Updating absent value\");var d=f?i(n,r,e):u(c>2?arguments[2]:void 0)(e,r);return i(a,r,e,t(d,e,r)),r}})},1061:(e,t,r)=>{\"use strict\";r(7443)({target:\"Set\",proto:!0,real:!0,forced:r(173)},{addAll:r(8216)})},1675:(e,t,r)=>{\"use strict\";r(7443)({target:\"Set\",proto:!0,real:!0,forced:r(173)},{deleteAll:r(5424)})},3860:(e,t,r)=>{\"use strict\";var n=r(173),o=r(7443),a=r(1850),i=r(8011),l=r(6438),u=r(5561),s=r(8272),c=r(7478);o({target:\"Set\",proto:!0,real:!0,forced:n},{difference:function(e){var t=u(this),r=new(s(t,a(\"Set\")))(t),n=l(r.delete);return c(e,(function(e){i(n,r,e)})),r}})},8088:(e,t,r)=>{\"use strict\";var n=r(7443),o=r(173),a=r(5561),i=r(2604),l=r(2196),u=r(7478);n({target:\"Set\",proto:!0,real:!0,forced:o},{every:function(e){var t=a(this),r=l(t),n=i(e,arguments.length>1?arguments[1]:void 0);return!u(r,(function(e,r){if(!n(e,e,t))return r()}),{IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}})},7041:(e,t,r)=>{\"use strict\";var n=r(173),o=r(7443),a=r(1850),i=r(8011),l=r(6438),u=r(5561),s=r(2604),c=r(8272),f=r(2196),d=r(7478);o({target:\"Set\",proto:!0,real:!0,forced:n},{filter:function(e){var t=u(this),r=f(t),n=s(e,arguments.length>1?arguments[1]:void 0),o=new(c(t,a(\"Set\"))),p=l(o.add);return d(r,(function(e){n(e,e,t)&&i(p,o,e)}),{IS_ITERATOR:!0}),o}})},3922:(e,t,r)=>{\"use strict\";var n=r(7443),o=r(173),a=r(5561),i=r(2604),l=r(2196),u=r(7478);n({target:\"Set\",proto:!0,real:!0,forced:o},{find:function(e){var t=a(this),r=l(t),n=i(e,arguments.length>1?arguments[1]:void 0);return u(r,(function(e,r){if(n(e,e,t))return r(e)}),{IS_ITERATOR:!0,INTERRUPTED:!0}).result}})},156:(e,t,r)=>{r(7443)({target:\"Set\",stat:!0},{from:r(2858)})},8946:(e,t,r)=>{\"use strict\";var n=r(173),o=r(7443),a=r(1850),i=r(8011),l=r(6438),u=r(5561),s=r(8272),c=r(7478);o({target:\"Set\",proto:!0,real:!0,forced:n},{intersection:function(e){var t=u(this),r=new(s(t,a(\"Set\"))),n=l(t.has),o=l(r.add);return c(e,(function(e){i(n,t,e)&&i(o,r,e)})),r}})},9492:(e,t,r)=>{\"use strict\";var n=r(173),o=r(7443),a=r(8011),i=r(6438),l=r(5561),u=r(7478);o({target:\"Set\",proto:!0,real:!0,forced:n},{isDisjointFrom:function(e){var t=l(this),r=i(t.has);return!u(e,(function(e,n){if(!0===a(r,t,e))return n()}),{INTERRUPTED:!0}).stopped}})},1402:(e,t,r)=>{\"use strict\";var n=r(173),o=r(7443),a=r(1850),i=r(8011),l=r(6438),u=r(8936),s=r(5561),c=r(7481),f=r(7478);o({target:\"Set\",proto:!0,real:!0,forced:n},{isSubsetOf:function(e){var t=c(this),r=s(e),n=r.has;return u(n)||(r=new(a(\"Set\"))(e),n=l(r.has)),!f(t,(function(e,t){if(!1===i(n,r,e))return t()}),{IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}})},9787:(e,t,r)=>{\"use strict\";var n=r(173),o=r(7443),a=r(8011),i=r(6438),l=r(5561),u=r(7478);o({target:\"Set\",proto:!0,real:!0,forced:n},{isSupersetOf:function(e){var t=l(this),r=i(t.has);return!u(e,(function(e,n){if(!1===a(r,t,e))return n()}),{INTERRUPTED:!0}).stopped}})},6024:(e,t,r)=>{\"use strict\";var n=r(173),o=r(7443),a=r(4471),i=r(5561),l=r(2404),u=r(2196),s=r(7478),c=a([].join),f=[].push;o({target:\"Set\",proto:!0,real:!0,forced:n},{join:function(e){var t=i(this),r=u(t),n=void 0===e?\",\":l(e),o=[];return s(r,f,{that:o,IS_ITERATOR:!0}),c(o,n)}})},2681:(e,t,r)=>{\"use strict\";var n=r(173),o=r(7443),a=r(1850),i=r(2604),l=r(8011),u=r(6438),s=r(5561),c=r(8272),f=r(2196),d=r(7478);o({target:\"Set\",proto:!0,real:!0,forced:n},{map:function(e){var t=s(this),r=f(t),n=i(e,arguments.length>1?arguments[1]:void 0),o=new(c(t,a(\"Set\"))),p=u(o.add);return d(r,(function(e){l(p,o,n(e,e,t))}),{IS_ITERATOR:!0}),o}})},2632:(e,t,r)=>{r(7443)({target:\"Set\",stat:!0},{of:r(2256)})},1463:(e,t,r)=>{\"use strict\";var n=r(7443),o=r(4323),a=r(173),i=r(6438),l=r(5561),u=r(2196),s=r(7478),c=o.TypeError;n({target:\"Set\",proto:!0,real:!0,forced:a},{reduce:function(e){var t=l(this),r=u(t),n=arguments.length<2,o=n?void 0:arguments[1];if(i(e),s(r,(function(r){n?(n=!1,o=r):o=e(o,r,r,t)}),{IS_ITERATOR:!0}),n)throw c(\"Reduce of empty set with no initial value\");return o}})},5691:(e,t,r)=>{\"use strict\";var n=r(7443),o=r(173),a=r(5561),i=r(2604),l=r(2196),u=r(7478);n({target:\"Set\",proto:!0,real:!0,forced:o},{some:function(e){var t=a(this),r=l(t),n=i(e,arguments.length>1?arguments[1]:void 0);return u(r,(function(e,r){if(n(e,e,t))return r()}),{IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}})},7705:(e,t,r)=>{\"use strict\";var n=r(173),o=r(7443),a=r(1850),i=r(8011),l=r(6438),u=r(5561),s=r(8272),c=r(7478);o({target:\"Set\",proto:!0,real:!0,forced:n},{symmetricDifference:function(e){var t=u(this),r=new(s(t,a(\"Set\")))(t),n=l(r.delete),o=l(r.add);return c(e,(function(e){i(n,r,e)||i(o,r,e)})),r}})},5154:(e,t,r)=>{\"use strict\";var n=r(7443),o=r(173),a=r(1850),i=r(6438),l=r(5561),u=r(8272),s=r(7478);n({target:\"Set\",proto:!0,real:!0,forced:o},{union:function(e){var t=l(this),r=new(u(t,a(\"Set\")))(t);return s(e,i(r.add),{that:r}),r}})},8458:(e,t,r)=>{r(3092)(\"dispose\")},620:(e,t,r)=>{r(3092)(\"observable\")},7987:(e,t,r)=>{r(3092)(\"patternMatch\")},8151:(e,t,r)=>{var n=r(4323),o=r(4587),a=r(9017),i=r(4801),l=r(1193),u=r(8036),s=u(\"iterator\"),c=u(\"toStringTag\"),f=i.values,d=function(e,t){if(e){if(e[s]!==f)try{l(e,s,f)}catch(t){e[s]=f}if(e[c]||l(e,c,t),o[t])for(var r in i)if(e[r]!==i[r])try{l(e,r,i[r])}catch(t){e[r]=i[r]}}};for(var p in o)d(n[p]&&n[p].prototype,p);d(a,\"DOMTokenList\")},3624:function(e,t,r){\"use strict\";var n=this&&this.__assign||function(){return n=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},n.apply(this,arguments)};Object.defineProperty(t,\"__esModule\",{value:!0});var o=r(7656),a=r(2920),i=r(7630),l=n(n({},o.namedReferences),{all:o.namedReferences.html5}),u={specialChars:/[<>\\'\"&]/g,nonAscii:/(?:[<>\\'\"&\\\\u0080-\\\\uD7FF\\\\uE000-\\\\uFFFF]|[\\\\uD800-\\\\uDBFF][\\\\uDC00-\\\\uDFFF]|[\\\\uD800-\\\\uDBFF](?![\\\\uDC00-\\\\uDFFF])|(?:[^\\\\uD800-\\\\uDBFF]|^)[\\\\uDC00-\\\\uDFFF])/g,nonAsciiPrintable:/(?:[<>\\'\"&\\\\x01-\\\\x08\\\\x11-\\\\x15\\\\x17-\\\\x1F\\\\x7f-\\\\uD7FF\\\\uE000-\\\\uFFFF]|[\\\\uD800-\\\\uDBFF][\\\\uDC00-\\\\uDFFF]|[\\\\uD800-\\\\uDBFF](?![\\\\uDC00-\\\\uDFFF])|(?:[^\\\\uD800-\\\\uDBFF]|^)[\\\\uDC00-\\\\uDFFF])/g,extensive:/(?:[\\\\x01-\\\\x0c\\\\x0e-\\\\x1f\\\\x21-\\\\x2c\\\\x2e-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\x7d\\\\x7f-\\\\uD7FF\\\\uE000-\\\\uFFFF]|[\\\\uD800-\\\\uDBFF][\\\\uDC00-\\\\uDFFF]|[\\\\uD800-\\\\uDBFF](?![\\\\uDC00-\\\\uDFFF])|(?:[^\\\\uD800-\\\\uDBFF]|^)[\\\\uDC00-\\\\uDFFF])/g},s={mode:\"specialChars\",level:\"all\",numeric:\"decimal\"};t.encode=function(e,t){var r=void 0===(c=(a=void 0===t?s:t).mode)?\"specialChars\":c,n=void 0===(h=a.numeric)?\"decimal\":h,o=a.level;if(!e)return\"\";var a,c,f=u[r],d=l[void 0===o?\"all\":o].characters,p=\"hexadecimal\"===n;if(f.lastIndex=0,a=f.exec(e)){c=\"\";var h=0;do{h!==a.index&&(c+=e.substring(h,a.index));var g=d[o=a[0]];if(!g){var m=o.length>1?i.getCodePoint(o,0):o.charCodeAt(0);g=(p?\"&#x\"+m.toString(16):\"&#\"+m)+\";\"}c+=g,h=a.index+o.length}while(a=f.exec(e));h!==e.length&&(c+=e.substring(h))}else c=e;return c};var c={scope:\"body\",level:\"all\"},f=/&(?:#\\\\d+|#[xX][\\\\da-fA-F]+|[0-9a-zA-Z]+);/g,d=/&(?:#\\\\d+|#[xX][\\\\da-fA-F]+|[0-9a-zA-Z]+)[;=]?/g,p={xml:{strict:f,attribute:d,body:o.bodyRegExps.xml},html4:{strict:f,attribute:d,body:o.bodyRegExps.html4},html5:{strict:f,attribute:d,body:o.bodyRegExps.html5}},h=n(n({},p),{all:p.html5}),g=String.fromCharCode,m=g(65533),v={level:\"all\"};t.decodeEntity=function(e,t){var r=void 0===(n=(void 0===t?v:t).level)?\"all\":n;if(!e)return\"\";var n=e,o=(e[e.length-1],l[r].entities[e]);if(o)n=o;else if(\"&\"===e[0]&&\"#\"===e[1]){var u=e[2],s=\"x\"==u||\"X\"==u?parseInt(e.substr(3),16):parseInt(e.substr(2));n=s>=1114111?m:s>65535?i.fromCodePoint(s):g(a.numericUnicodeMap[s]||s)}return n},t.decode=function(e,t){var r=void 0===t?c:t,n=r.level,o=void 0===n?\"all\":n,u=r.scope,s=void 0===u?\"xml\"===o?\"strict\":\"body\":u;if(!e)return\"\";var f=h[o][s],d=l[o].entities,p=\"attribute\"===s,v=\"strict\"===s;f.lastIndex=0;var y,b=f.exec(e);if(b){y=\"\";var w=0;do{w!==b.index&&(y+=e.substring(w,b.index));var x=b[0],k=x,E=x[x.length-1];if(p&&\"=\"===E)k=x;else if(v&&\";\"!==E)k=x;else{var S=d[x];if(S)k=S;else if(\"&\"===x[0]&&\"#\"===x[1]){var T=x[2],_=\"x\"==T||\"X\"==T?parseInt(x.substr(3),16):parseInt(x.substr(2));k=_>=1114111?m:_>65535?i.fromCodePoint(_):g(a.numericUnicodeMap[_]||_)}}y+=k,w=b.index+x.length}while(b=f.exec(e));w!==e.length&&(y+=e.substring(w))}else y=e;return y}},7656:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.bodyRegExps={xml:/&(?:#\\\\d+|#[xX][\\\\da-fA-F]+|[0-9a-zA-Z]+);?/g,html4:/&(?:nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|Atilde|Auml|Aring|AElig|Ccedil|Egrave|Eacute|Ecirc|Euml|Igrave|Iacute|Icirc|Iuml|ETH|Ntilde|Ograve|Oacute|Ocirc|Otilde|Ouml|times|Oslash|Ugrave|Uacute|Ucirc|Uuml|Yacute|THORN|szlig|agrave|aacute|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|quot|amp|lt|gt|#\\\\d+|#[xX][\\\\da-fA-F]+|[0-9a-zA-Z]+);?/g,html5:/&(?:AElig|AMP|Aacute|Acirc|Agrave|Aring|Atilde|Auml|COPY|Ccedil|ETH|Eacute|Ecirc|Egrave|Euml|GT|Iacute|Icirc|Igrave|Iuml|LT|Ntilde|Oacute|Ocirc|Ograve|Oslash|Otilde|Ouml|QUOT|REG|THORN|Uacute|Ucirc|Ugrave|Uuml|Yacute|aacute|acirc|acute|aelig|agrave|amp|aring|atilde|auml|brvbar|ccedil|cedil|cent|copy|curren|deg|divide|eacute|ecirc|egrave|eth|euml|frac12|frac14|frac34|gt|iacute|icirc|iexcl|igrave|iquest|iuml|laquo|lt|macr|micro|middot|nbsp|not|ntilde|oacute|ocirc|ograve|ordf|ordm|oslash|otilde|ouml|para|plusmn|pound|quot|raquo|reg|sect|shy|sup1|sup2|sup3|szlig|thorn|times|uacute|ucirc|ugrave|uml|uuml|yacute|yen|yuml|#\\\\d+|#[xX][\\\\da-fA-F]+|[0-9a-zA-Z]+);?/g},t.namedReferences={xml:{entities:{\"<\":\"<\",\">\":\">\",\""\":\\'\"\\',\"'\":\"\\'\",\"&\":\"&\"},characters:{\"<\":\"<\",\">\":\">\",\\'\"\\':\""\",\"\\'\":\"'\",\"&\":\"&\"}},html4:{entities:{\"'\":\"\\'\",\" \":\" \",\" \":\" \",\"¡\":\"¡\",\"¡\":\"¡\",\"¢\":\"¢\",\"¢\":\"¢\",\"£\":\"£\",\"£\":\"£\",\"¤\":\"¤\",\"¤\":\"¤\",\"¥\":\"Â¥\",\"¥\":\"Â¥\",\"¦\":\"¦\",\"¦\":\"¦\",\"§\":\"§\",\"§\":\"§\",\"¨\":\"¨\",\"¨\":\"¨\",\"©\":\"©\",\"©\":\"©\",\"ª\":\"ª\",\"ª\":\"ª\",\"«\":\"«\",\"«\":\"«\",\"¬\":\"¬\",\"¬\":\"¬\",\"­\":\"Â\",\"­\":\"Â\",\"®\":\"®\",\"®\":\"®\",\"¯\":\"¯\",\"¯\":\"¯\",\"°\":\"°\",\"°\":\"°\",\"±\":\"±\",\"±\":\"±\",\"²\":\"²\",\"²\":\"²\",\"³\":\"³\",\"³\":\"³\",\"´\":\"´\",\"´\":\"´\",\"µ\":\"µ\",\"µ\":\"µ\",\"¶\":\"¶\",\"¶\":\"¶\",\"·\":\"·\",\"·\":\"·\",\"¸\":\"¸\",\"¸\":\"¸\",\"¹\":\"¹\",\"¹\":\"¹\",\"º\":\"º\",\"º\":\"º\",\"»\":\"»\",\"»\":\"»\",\"¼\":\"¼\",\"¼\":\"¼\",\"½\":\"½\",\"½\":\"½\",\"¾\":\"¾\",\"¾\":\"¾\",\"¿\":\"¿\",\"¿\":\"¿\",\"À\":\"À\",\"À\":\"À\",\"Á\":\"Ã\",\"Á\":\"Ã\",\"Â\":\"Â\",\"Â\":\"Â\",\"Ã\":\"Ã\",\"Ã\":\"Ã\",\"Ä\":\"Ä\",\"Ä\":\"Ä\",\"Å\":\"Ã…\",\"Å\":\"Ã…\",\"Æ\":\"Æ\",\"Æ\":\"Æ\",\"Ç\":\"Ç\",\"Ç\":\"Ç\",\"È\":\"È\",\"È\":\"È\",\"É\":\"É\",\"É\":\"É\",\"Ê\":\"Ê\",\"Ê\":\"Ê\",\"Ë\":\"Ë\",\"Ë\":\"Ë\",\"Ì\":\"ÃŒ\",\"Ì\":\"ÃŒ\",\"Í\":\"Ã\",\"Í\":\"Ã\",\"Î\":\"ÃŽ\",\"Î\":\"ÃŽ\",\"Ï\":\"Ã\",\"Ï\":\"Ã\",\"Ð\":\"Ã\",\"Ð\":\"Ã\",\"Ñ\":\"Ñ\",\"Ñ\":\"Ñ\",\"Ò\":\"Ã’\",\"Ò\":\"Ã’\",\"Ó\":\"Ó\",\"Ó\":\"Ó\",\"Ô\":\"Ô\",\"Ô\":\"Ô\",\"Õ\":\"Õ\",\"Õ\":\"Õ\",\"Ö\":\"Ö\",\"Ö\":\"Ö\",\"×\":\"×\",\"×\":\"×\",\"Ø\":\"Ø\",\"Ø\":\"Ø\",\"Ù\":\"Ù\",\"Ù\":\"Ù\",\"Ú\":\"Ú\",\"Ú\":\"Ú\",\"Û\":\"Û\",\"Û\":\"Û\",\"Ü\":\"Ü\",\"Ü\":\"Ü\",\"Ý\":\"Ã\",\"Ý\":\"Ã\",\"Þ\":\"Þ\",\"Þ\":\"Þ\",\"ß\":\"ß\",\"ß\":\"ß\",\"à\":\"à \",\"à\":\"à \",\"á\":\"á\",\"á\":\"á\",\"â\":\"â\",\"â\":\"â\",\"ã\":\"ã\",\"ã\":\"ã\",\"ä\":\"ä\",\"ä\":\"ä\",\"å\":\"Ã¥\",\"å\":\"Ã¥\",\"æ\":\"æ\",\"æ\":\"æ\",\"ç\":\"ç\",\"ç\":\"ç\",\"è\":\"è\",\"è\":\"è\",\"é\":\"é\",\"é\":\"é\",\"ê\":\"ê\",\"ê\":\"ê\",\"ë\":\"ë\",\"ë\":\"ë\",\"ì\":\"ì\",\"ì\":\"ì\",\"í\":\"Ã\",\"í\":\"Ã\",\"î\":\"î\",\"î\":\"î\",\"ï\":\"ï\",\"ï\":\"ï\",\"ð\":\"ð\",\"ð\":\"ð\",\"ñ\":\"ñ\",\"ñ\":\"ñ\",\"ò\":\"ò\",\"ò\":\"ò\",\"ó\":\"ó\",\"ó\":\"ó\",\"ô\":\"ô\",\"ô\":\"ô\",\"õ\":\"õ\",\"õ\":\"õ\",\"ö\":\"ö\",\"ö\":\"ö\",\"÷\":\"÷\",\"÷\":\"÷\",\"ø\":\"ø\",\"ø\":\"ø\",\"ù\":\"ù\",\"ù\":\"ù\",\"ú\":\"ú\",\"ú\":\"ú\",\"û\":\"û\",\"û\":\"û\",\"ü\":\"ü\",\"ü\":\"ü\",\"ý\":\"ý\",\"ý\":\"ý\",\"þ\":\"þ\",\"þ\":\"þ\",\"ÿ\":\"ÿ\",\"ÿ\":\"ÿ\",\""\":\\'\"\\',\""\":\\'\"\\',\"&\":\"&\",\"&\":\"&\",\"<\":\"<\",\"<\":\"<\",\">\":\">\",\">\":\">\",\"Œ\":\"Å’\",\"œ\":\"Å“\",\"Š\":\"Å \",\"š\":\"Å¡\",\"Ÿ\":\"Ÿ\",\"ˆ\":\"ˆ\",\"˜\":\"Ëœ\",\" \":\" \",\" \":\" \",\" \":\" \",\"‌\":\"‌\",\"‍\":\"â€\",\"‎\":\"‎\",\"‏\":\"â€\",\"–\":\"–\",\"—\":\"—\",\"‘\":\"‘\",\"’\":\"’\",\"‚\":\"‚\",\"“\":\"“\",\"”\":\"â€\",\"„\":\"„\",\"†\":\"†\",\"‡\":\"‡\",\"‰\":\"‰\",\"‹\":\"‹\",\"›\":\"›\",\"€\":\"€\",\"ƒ\":\"Æ’\",\"Α\":\"Α\",\"Β\":\"Î’\",\"Γ\":\"Γ\",\"Δ\":\"Δ\",\"Ε\":\"Ε\",\"Ζ\":\"Ζ\",\"Η\":\"Η\",\"Θ\":\"Θ\",\"Ι\":\"Ι\",\"Κ\":\"Κ\",\"Λ\":\"Λ\",\"Μ\":\"Μ\",\"Ν\":\"Î\",\"Ξ\":\"Ξ\",\"Ο\":\"Ο\",\"Π\":\"Î \",\"Ρ\":\"Ρ\",\"Σ\":\"Σ\",\"Τ\":\"Τ\",\"Υ\":\"Î¥\",\"Φ\":\"Φ\",\"Χ\":\"Χ\",\"Ψ\":\"Ψ\",\"Ω\":\"Ω\",\"α\":\"α\",\"β\":\"β\",\"γ\":\"γ\",\"δ\":\"δ\",\"ε\":\"ε\",\"ζ\":\"ζ\",\"η\":\"η\",\"θ\":\"θ\",\"ι\":\"ι\",\"κ\":\"κ\",\"λ\":\"λ\",\"μ\":\"μ\",\"ν\":\"ν\",\"ξ\":\"ξ\",\"ο\":\"ο\",\"π\":\"Ï€\",\"ρ\":\"Ï\",\"ς\":\"Ï‚\",\"σ\":\"σ\",\"τ\":\"Ï„\",\"υ\":\"Ï…\",\"φ\":\"φ\",\"χ\":\"χ\",\"ψ\":\"ψ\",\"ω\":\"ω\",\"ϑ\":\"Ï‘\",\"ϒ\":\"Ï’\",\"ϖ\":\"Ï–\",\"•\":\"•\",\"…\":\"…\",\"′\":\"′\",\"″\":\"″\",\"‾\":\"‾\",\"⁄\":\"â„\",\"℘\":\"℘\",\"ℑ\":\"â„‘\",\"ℜ\":\"ℜ\",\"™\":\"â„¢\",\"ℵ\":\"ℵ\",\"←\":\"â†\",\"↑\":\"↑\",\"→\":\"→\",\"↓\":\"↓\",\"↔\":\"↔\",\"↵\":\"↵\",\"⇐\":\"â‡\",\"⇑\":\"⇑\",\"⇒\":\"⇒\",\"⇓\":\"⇓\",\"⇔\":\"⇔\",\"∀\":\"∀\",\"∂\":\"∂\",\"∃\":\"∃\",\"∅\":\"∅\",\"∇\":\"∇\",\"∈\":\"∈\",\"∉\":\"∉\",\"∋\":\"∋\",\"∏\":\"âˆ\",\"∑\":\"∑\",\"−\":\"−\",\"∗\":\"∗\",\"√\":\"√\",\"∝\":\"âˆ\",\"∞\":\"∞\",\"∠\":\"∠\",\"∧\":\"∧\",\"∨\":\"∨\",\"∩\":\"∩\",\"∪\":\"∪\",\"∫\":\"∫\",\"∴\":\"∴\",\"∼\":\"∼\",\"≅\":\"≅\",\"≈\":\"≈\",\"≠\":\"≠\",\"≡\":\"≡\",\"≤\":\"≤\",\"≥\":\"≥\",\"⊂\":\"⊂\",\"⊃\":\"⊃\",\"⊄\":\"⊄\",\"⊆\":\"⊆\",\"⊇\":\"⊇\",\"⊕\":\"⊕\",\"⊗\":\"⊗\",\"⊥\":\"⊥\",\"⋅\":\"â‹…\",\"⌈\":\"⌈\",\"⌉\":\"⌉\",\"⌊\":\"⌊\",\"⌋\":\"⌋\",\"⟨\":\"〈\",\"⟩\":\"〉\",\"◊\":\"â—Š\",\"♠\":\"â™ \",\"♣\":\"♣\",\"♥\":\"♥\",\"♦\":\"♦\"},characters:{\"\\'\":\"'\",\" \":\" \",\"¡\":\"¡\",\"¢\":\"¢\",\"£\":\"£\",\"¤\":\"¤\",\"Â¥\":\"¥\",\"¦\":\"¦\",\"§\":\"§\",\"¨\":\"¨\",\"©\":\"©\",ª:\"ª\",\"«\":\"«\",\"¬\":\"¬\",\"Â\":\"­\",\"®\":\"®\",\"¯\":\"¯\",\"°\":\"°\",\"±\":\"±\",\"²\":\"²\",\"³\":\"³\",\"´\":\"´\",µ:\"µ\",\"¶\":\"¶\",\"·\":\"·\",\"¸\":\"¸\",\"¹\":\"¹\",º:\"º\",\"»\":\"»\",\"¼\":\"¼\",\"½\":\"½\",\"¾\":\"¾\",\"¿\":\"¿\",À:\"À\",Ã:\"Á\",Â:\"Â\",Ã:\"Ã\",Ä:\"Ä\",Ã…:\"Å\",Æ:\"Æ\",Ç:\"Ç\",È:\"È\",É:\"É\",Ê:\"Ê\",Ë:\"Ë\",ÃŒ:\"Ì\",Ã:\"Í\",ÃŽ:\"Î\",Ã:\"Ï\",Ã:\"Ð\",Ñ:\"Ñ\",Ã’:\"Ò\",Ó:\"Ó\",Ô:\"Ô\",Õ:\"Õ\",Ö:\"Ö\",\"×\":\"×\",Ø:\"Ø\",Ù:\"Ù\",Ú:\"Ú\",Û:\"Û\",Ü:\"Ü\",Ã:\"Ý\",Þ:\"Þ\",ß:\"ß\",à :\"à\",á:\"á\",â:\"â\",ã:\"ã\",ä:\"ä\",Ã¥:\"å\",æ:\"æ\",ç:\"ç\",è:\"è\",é:\"é\",ê:\"ê\",ë:\"ë\",ì:\"ì\",Ã:\"í\",î:\"î\",ï:\"ï\",ð:\"ð\",ñ:\"ñ\",ò:\"ò\",ó:\"ó\",ô:\"ô\",õ:\"õ\",ö:\"ö\",\"÷\":\"÷\",ø:\"ø\",ù:\"ù\",ú:\"ú\",û:\"û\",ü:\"ü\",ý:\"ý\",þ:\"þ\",ÿ:\"ÿ\",\\'\"\\':\""\",\"&\":\"&\",\"<\":\"<\",\">\":\">\",Å’:\"Œ\",Å“:\"œ\",Å :\"Š\",Å¡:\"š\",Ÿ:\"Ÿ\",ˆ:\"ˆ\",\"Ëœ\":\"˜\",\" \":\" \",\" \":\" \",\" \":\" \",\"‌\":\"‌\",\"â€\":\"‍\",\"‎\":\"‎\",\"â€\":\"‏\",\"–\":\"–\",\"—\":\"—\",\"‘\":\"‘\",\"’\":\"’\",\"‚\":\"‚\",\"“\":\"“\",\"â€\":\"”\",\"„\":\"„\",\"†\":\"†\",\"‡\":\"‡\",\"‰\":\"‰\",\"‹\":\"‹\",\"›\":\"›\",\"€\":\"€\",Æ’:\"ƒ\",Α:\"Α\",Î’:\"Β\",Γ:\"Γ\",Δ:\"Δ\",Ε:\"Ε\",Ζ:\"Ζ\",Η:\"Η\",Θ:\"Θ\",Ι:\"Ι\",Κ:\"Κ\",Λ:\"Λ\",Μ:\"Μ\",Î:\"Ν\",Ξ:\"Ξ\",Ο:\"Ο\",Î :\"Π\",Ρ:\"Ρ\",Σ:\"Σ\",Τ:\"Τ\",Î¥:\"Υ\",Φ:\"Φ\",Χ:\"Χ\",Ψ:\"Ψ\",Ω:\"Ω\",α:\"α\",β:\"β\",γ:\"γ\",δ:\"δ\",ε:\"ε\",ζ:\"ζ\",η:\"η\",θ:\"θ\",ι:\"ι\",κ:\"κ\",λ:\"λ\",μ:\"μ\",ν:\"ν\",ξ:\"ξ\",ο:\"ο\",Ï€:\"π\",Ï:\"ρ\",Ï‚:\"ς\",σ:\"σ\",Ï„:\"τ\",Ï…:\"υ\",φ:\"φ\",χ:\"χ\",ψ:\"ψ\",ω:\"ω\",Ï‘:\"ϑ\",Ï’:\"ϒ\",Ï–:\"ϖ\",\"•\":\"•\",\"…\":\"…\",\"′\":\"′\",\"″\":\"″\",\"‾\":\"‾\",\"â„\":\"⁄\",℘:\"℘\",â„‘:\"ℑ\",ℜ:\"ℜ\",\"â„¢\":\"™\",ℵ:\"ℵ\",\"â†\":\"←\",\"↑\":\"↑\",\"→\":\"→\",\"↓\":\"↓\",\"↔\":\"↔\",\"↵\":\"↵\",\"â‡\":\"⇐\",\"⇑\":\"⇑\",\"⇒\":\"⇒\",\"⇓\":\"⇓\",\"⇔\":\"⇔\",\"∀\":\"∀\",\"∂\":\"∂\",\"∃\":\"∃\",\"∅\":\"∅\",\"∇\":\"∇\",\"∈\":\"∈\",\"∉\":\"∉\",\"∋\":\"∋\",\"âˆ\":\"∏\",\"∑\":\"∑\",\"−\":\"−\",\"∗\":\"∗\",\"√\":\"√\",\"âˆ\":\"∝\",\"∞\":\"∞\",\"∠\":\"∠\",\"∧\":\"∧\",\"∨\":\"∨\",\"∩\":\"∩\",\"∪\":\"∪\",\"∫\":\"∫\",\"∴\":\"∴\",\"∼\":\"∼\",\"≅\":\"≅\",\"≈\":\"≈\",\"≠\":\"≠\",\"≡\":\"≡\",\"≤\":\"≤\",\"≥\":\"≥\",\"⊂\":\"⊂\",\"⊃\":\"⊃\",\"⊄\":\"⊄\",\"⊆\":\"⊆\",\"⊇\":\"⊇\",\"⊕\":\"⊕\",\"⊗\":\"⊗\",\"⊥\":\"⊥\",\"â‹…\":\"⋅\",\"⌈\":\"⌈\",\"⌉\":\"⌉\",\"⌊\":\"⌊\",\"⌋\":\"⌋\",\"〈\":\"⟨\",\"〉\":\"⟩\",\"â—Š\":\"◊\",\"â™ \":\"♠\",\"♣\":\"♣\",\"♥\":\"♥\",\"♦\":\"♦\"}},html5:{entities:{\"Æ\":\"Æ\",\"Æ\":\"Æ\",\"&\":\"&\",\"&\":\"&\",\"Á\":\"Ã\",\"Á\":\"Ã\",\"Ă\":\"Ä‚\",\"Â\":\"Â\",\"Â\":\"Â\",\"А\":\"Ð\",\"𝔄\":\"ð”„\",\"À\":\"À\",\"À\":\"À\",\"Α\":\"Α\",\"Ā\":\"Ä€\",\"⩓\":\"â©“\",\"Ą\":\"Ä„\",\"𝔸\":\"ð”¸\",\"⁡\":\"â¡\",\"Å\":\"Ã…\",\"Å\":\"Ã…\",\"𝒜\":\"ð’œ\",\"≔\":\"≔\",\"Ã\":\"Ã\",\"Ã\":\"Ã\",\"Ä\":\"Ä\",\"Ä\":\"Ä\",\"∖\":\"∖\",\"⫧\":\"â«§\",\"⌆\":\"⌆\",\"Б\":\"Б\",\"∵\":\"∵\",\"ℬ\":\"ℬ\",\"Β\":\"Î’\",\"𝔅\":\"ð”…\",\"𝔹\":\"ð”¹\",\"˘\":\"˘\",\"ℬ\":\"ℬ\",\"≎\":\"≎\",\"Ч\":\"Ч\",\"©\":\"©\",\"©\":\"©\",\"Ć\":\"Ć\",\"⋒\":\"â‹’\",\"ⅅ\":\"â……\",\"ℭ\":\"â„\",\"Č\":\"ÄŒ\",\"Ç\":\"Ç\",\"Ç\":\"Ç\",\"Ĉ\":\"Ĉ\",\"∰\":\"∰\",\"Ċ\":\"ÄŠ\",\"¸\":\"¸\",\"·\":\"·\",\"ℭ\":\"â„\",\"Χ\":\"Χ\",\"⊙\":\"⊙\",\"⊖\":\"⊖\",\"⊕\":\"⊕\",\"⊗\":\"⊗\",\"∲\":\"∲\",\"”\":\"â€\",\"’\":\"’\",\"∷\":\"∷\",\"⩴\":\"â©´\",\"≡\":\"≡\",\"∯\":\"∯\",\"∮\":\"∮\",\"ℂ\":\"â„‚\",\"∐\":\"âˆ\",\"∳\":\"∳\",\"⨯\":\"⨯\",\"𝒞\":\"ð’ž\",\"⋓\":\"â‹“\",\"≍\":\"â‰\",\"ⅅ\":\"â……\",\"⤑\":\"⤑\",\"Ђ\":\"Ђ\",\"Ѕ\":\"Ð…\",\"Џ\":\"Ð\",\"‡\":\"‡\",\"↡\":\"↡\",\"⫤\":\"⫤\",\"Ď\":\"ÄŽ\",\"Д\":\"Д\",\"∇\":\"∇\",\"Δ\":\"Δ\",\"𝔇\":\"ð”‡\",\"´\":\"´\",\"˙\":\"Ë™\",\"˝\":\"Ë\",\"`\":\"`\",\"˜\":\"Ëœ\",\"⋄\":\"â‹„\",\"ⅆ\":\"â…†\",\"𝔻\":\"ð”»\",\"¨\":\"¨\",\"⃜\":\"⃜\",\"≐\":\"â‰\",\"∯\":\"∯\",\"¨\":\"¨\",\"⇓\":\"⇓\",\"⇐\":\"â‡\",\"⇔\":\"⇔\",\"⫤\":\"⫤\",\"⟸\":\"⟸\",\"⟺\":\"⟺\",\"⟹\":\"⟹\",\"⇒\":\"⇒\",\"⊨\":\"⊨\",\"⇑\":\"⇑\",\"⇕\":\"⇕\",\"∥\":\"∥\",\"↓\":\"↓\",\"⤓\":\"⤓\",\"⇵\":\"⇵\",\"̑\":\"Ì‘\",\"⥐\":\"â¥\",\"⥞\":\"⥞\",\"↽\":\"↽\",\"⥖\":\"⥖\",\"⥟\":\"⥟\",\"⇁\":\"â‡\",\"⥗\":\"⥗\",\"⊤\":\"⊤\",\"↧\":\"↧\",\"⇓\":\"⇓\",\"𝒟\":\"ð’Ÿ\",\"Đ\":\"Ä\",\"Ŋ\":\"ÅŠ\",\"Ð\":\"Ã\",\"Ð\":\"Ã\",\"É\":\"É\",\"É\":\"É\",\"Ě\":\"Äš\",\"Ê\":\"Ê\",\"Ê\":\"Ê\",\"Э\":\"Ð\",\"Ė\":\"Ä–\",\"𝔈\":\"ð”ˆ\",\"È\":\"È\",\"È\":\"È\",\"∈\":\"∈\",\"Ē\":\"Ä’\",\"◻\":\"â—»\",\"▫\":\"â–«\",\"Ę\":\"Ę\",\"𝔼\":\"ð”¼\",\"Ε\":\"Ε\",\"⩵\":\"⩵\",\"≂\":\"≂\",\"⇌\":\"⇌\",\"ℰ\":\"â„°\",\"⩳\":\"⩳\",\"Η\":\"Η\",\"Ë\":\"Ë\",\"Ë\":\"Ë\",\"∃\":\"∃\",\"ⅇ\":\"â…‡\",\"Ф\":\"Ф\",\"𝔉\":\"ð”‰\",\"◼\":\"â—¼\",\"▪\":\"â–ª\",\"𝔽\":\"ð”½\",\"∀\":\"∀\",\"ℱ\":\"ℱ\",\"ℱ\":\"ℱ\",\"Ѓ\":\"Ѓ\",\">\":\">\",\">\":\">\",\"Γ\":\"Γ\",\"Ϝ\":\"Ïœ\",\"Ğ\":\"Äž\",\"Ģ\":\"Ä¢\",\"Ĝ\":\"Äœ\",\"Г\":\"Г\",\"Ġ\":\"Ä \",\"𝔊\":\"ð”Š\",\"⋙\":\"â‹™\",\"𝔾\":\"ð”¾\",\"≥\":\"≥\",\"⋛\":\"â‹›\",\"≧\":\"≧\",\"⪢\":\"⪢\",\"≷\":\"≷\",\"⩾\":\"⩾\",\"≳\":\"≳\",\"𝒢\":\"ð’¢\",\"≫\":\"≫\",\"Ъ\":\"Ъ\",\"ˇ\":\"ˇ\",\"^\":\"^\",\"Ĥ\":\"Ĥ\",\"ℌ\":\"ℌ\",\"ℋ\":\"â„‹\",\"ℍ\":\"â„\",\"─\":\"─\",\"ℋ\":\"â„‹\",\"Ħ\":\"Ħ\",\"≎\":\"≎\",\"≏\":\"â‰\",\"Е\":\"Е\",\"IJ\":\"IJ\",\"Ё\":\"Ð\",\"Í\":\"Ã\",\"Í\":\"Ã\",\"Î\":\"ÃŽ\",\"Î\":\"ÃŽ\",\"И\":\"И\",\"İ\":\"İ\",\"ℑ\":\"â„‘\",\"Ì\":\"ÃŒ\",\"Ì\":\"ÃŒ\",\"ℑ\":\"â„‘\",\"Ī\":\"Ī\",\"ⅈ\":\"â…ˆ\",\"⇒\":\"⇒\",\"∬\":\"∬\",\"∫\":\"∫\",\"⋂\":\"â‹‚\",\"⁣\":\"â£\",\"⁢\":\"â¢\",\"Į\":\"Ä®\",\"𝕀\":\"ð•€\",\"Ι\":\"Ι\",\"ℐ\":\"â„\",\"Ĩ\":\"Ĩ\",\"І\":\"І\",\"Ï\":\"Ã\",\"Ï\":\"Ã\",\"Ĵ\":\"Ä´\",\"Й\":\"Й\",\"𝔍\":\"ð”\",\"𝕁\":\"ð•\",\"𝒥\":\"ð’¥\",\"Ј\":\"Ј\",\"Є\":\"Є\",\"Х\":\"Ð¥\",\"Ќ\":\"ÐŒ\",\"Κ\":\"Κ\",\"Ķ\":\"Ķ\",\"К\":\"К\",\"𝔎\":\"ð”Ž\",\"𝕂\":\"ð•‚\",\"𝒦\":\"ð’¦\",\"Љ\":\"Љ\",\"<\":\"<\",\"<\":\"<\",\"Ĺ\":\"Ĺ\",\"Λ\":\"Λ\",\"⟪\":\"⟪\",\"ℒ\":\"â„’\",\"↞\":\"↞\",\"Ľ\":\"Ľ\",\"Ļ\":\"Ä»\",\"Л\":\"Л\",\"⟨\":\"⟨\",\"←\":\"â†\",\"⇤\":\"⇤\",\"⇆\":\"⇆\",\"⌈\":\"⌈\",\"⟦\":\"⟦\",\"⥡\":\"⥡\",\"⇃\":\"⇃\",\"⥙\":\"⥙\",\"⌊\":\"⌊\",\"↔\":\"↔\",\"⥎\":\"⥎\",\"⊣\":\"⊣\",\"↤\":\"↤\",\"⥚\":\"⥚\",\"⊲\":\"⊲\",\"⧏\":\"â§\",\"⊴\":\"⊴\",\"⥑\":\"⥑\",\"⥠\":\"⥠\",\"↿\":\"↿\",\"⥘\":\"⥘\",\"↼\":\"↼\",\"⥒\":\"⥒\",\"⇐\":\"â‡\",\"⇔\":\"⇔\",\"⋚\":\"⋚\",\"≦\":\"≦\",\"≶\":\"≶\",\"⪡\":\"⪡\",\"⩽\":\"⩽\",\"≲\":\"≲\",\"𝔏\":\"ð”\",\"⋘\":\"⋘\",\"⇚\":\"⇚\",\"Ŀ\":\"Ä¿\",\"⟵\":\"⟵\",\"⟷\":\"⟷\",\"⟶\":\"⟶\",\"⟸\":\"⟸\",\"⟺\":\"⟺\",\"⟹\":\"⟹\",\"𝕃\":\"ð•ƒ\",\"↙\":\"↙\",\"↘\":\"↘\",\"ℒ\":\"â„’\",\"↰\":\"↰\",\"Ł\":\"Å\",\"≪\":\"≪\",\"⤅\":\"⤅\",\"М\":\"М\",\" \":\"âŸ\",\"ℳ\":\"ℳ\",\"𝔐\":\"ð”\",\"∓\":\"∓\",\"𝕄\":\"ð•„\",\"ℳ\":\"ℳ\",\"Μ\":\"Μ\",\"Њ\":\"Њ\",\"Ń\":\"Ń\",\"Ň\":\"Ň\",\"Ņ\":\"Å…\",\"Н\":\"Ð\",\"​\":\"​\",\"​\":\"​\",\"​\":\"​\",\"​\":\"​\",\"≫\":\"≫\",\"≪\":\"≪\",\"
\":\"\\\\n\",\"𝔑\":\"ð”‘\",\"⁠\":\"â \",\" \":\" \",\"ℕ\":\"â„•\",\"⫬\":\"⫬\",\"≢\":\"≢\",\"≭\":\"â‰\",\"∦\":\"∦\",\"∉\":\"∉\",\"≠\":\"≠\",\"≂̸\":\"≂̸\",\"∄\":\"∄\",\"≯\":\"≯\",\"≱\":\"≱\",\"≧̸\":\"≧̸\",\"≫̸\":\"≫̸\",\"≹\":\"≹\",\"⩾̸\":\"⩾̸\",\"≵\":\"≵\",\"≎̸\":\"≎̸\",\"≏̸\":\"â‰Ì¸\",\"⋪\":\"⋪\",\"⧏̸\":\"â§Ì¸\",\"⋬\":\"⋬\",\"≮\":\"≮\",\"≰\":\"≰\",\"≸\":\"≸\",\"≪̸\":\"≪̸\",\"⩽̸\":\"⩽̸\",\"≴\":\"≴\",\"⪢̸\":\"⪢̸\",\"⪡̸\":\"⪡̸\",\"⊀\":\"⊀\",\"⪯̸\":\"⪯̸\",\"⋠\":\"â‹ \",\"∌\":\"∌\",\"⋫\":\"â‹«\",\"⧐̸\":\"â§Ì¸\",\"⋭\":\"â‹\",\"⊏̸\":\"âŠÌ¸\",\"⋢\":\"â‹¢\",\"⊐̸\":\"âŠÌ¸\",\"⋣\":\"â‹£\",\"⊂⃒\":\"⊂⃒\",\"⊈\":\"⊈\",\"⊁\":\"âŠ\",\"⪰̸\":\"⪰̸\",\"⋡\":\"â‹¡\",\"≿̸\":\"≿̸\",\"⊃⃒\":\"⊃⃒\",\"⊉\":\"⊉\",\"≁\":\"â‰\",\"≄\":\"≄\",\"≇\":\"≇\",\"≉\":\"≉\",\"∤\":\"∤\",\"𝒩\":\"ð’©\",\"Ñ\":\"Ñ\",\"Ñ\":\"Ñ\",\"Ν\":\"Î\",\"Œ\":\"Å’\",\"Ó\":\"Ó\",\"Ó\":\"Ó\",\"Ô\":\"Ô\",\"Ô\":\"Ô\",\"О\":\"О\",\"Ő\":\"Å\",\"𝔒\":\"ð”’\",\"Ò\":\"Ã’\",\"Ò\":\"Ã’\",\"Ō\":\"ÅŒ\",\"Ω\":\"Ω\",\"Ο\":\"Ο\",\"𝕆\":\"ð•†\",\"“\":\"“\",\"‘\":\"‘\",\"⩔\":\"â©”\",\"𝒪\":\"ð’ª\",\"Ø\":\"Ø\",\"Ø\":\"Ø\",\"Õ\":\"Õ\",\"Õ\":\"Õ\",\"⨷\":\"⨷\",\"Ö\":\"Ö\",\"Ö\":\"Ö\",\"‾\":\"‾\",\"⏞\":\"âž\",\"⎴\":\"⎴\",\"⏜\":\"âœ\",\"∂\":\"∂\",\"П\":\"П\",\"𝔓\":\"ð”“\",\"Φ\":\"Φ\",\"Π\":\"Î \",\"±\":\"±\",\"ℌ\":\"ℌ\",\"ℙ\":\"â„™\",\"⪻\":\"⪻\",\"≺\":\"≺\",\"⪯\":\"⪯\",\"≼\":\"≼\",\"≾\":\"≾\",\"″\":\"″\",\"∏\":\"âˆ\",\"∷\":\"∷\",\"∝\":\"âˆ\",\"𝒫\":\"ð’«\",\"Ψ\":\"Ψ\",\""\":\\'\"\\',\""\":\\'\"\\',\"𝔔\":\"ð””\",\"ℚ\":\"ℚ\",\"𝒬\":\"ð’¬\",\"⤐\":\"â¤\",\"®\":\"®\",\"®\":\"®\",\"Ŕ\":\"Å”\",\"⟫\":\"⟫\",\"↠\":\"↠\",\"⤖\":\"⤖\",\"Ř\":\"Ř\",\"Ŗ\":\"Å–\",\"Р\":\"Ð \",\"ℜ\":\"ℜ\",\"∋\":\"∋\",\"⇋\":\"⇋\",\"⥯\":\"⥯\",\"ℜ\":\"ℜ\",\"Ρ\":\"Ρ\",\"⟩\":\"⟩\",\"→\":\"→\",\"⇥\":\"⇥\",\"⇄\":\"⇄\",\"⌉\":\"⌉\",\"⟧\":\"⟧\",\"⥝\":\"â¥\",\"⇂\":\"⇂\",\"⥕\":\"⥕\",\"⌋\":\"⌋\",\"⊢\":\"⊢\",\"↦\":\"↦\",\"⥛\":\"⥛\",\"⊳\":\"⊳\",\"⧐\":\"â§\",\"⊵\":\"⊵\",\"⥏\":\"â¥\",\"⥜\":\"⥜\",\"↾\":\"↾\",\"⥔\":\"⥔\",\"⇀\":\"⇀\",\"⥓\":\"⥓\",\"⇒\":\"⇒\",\"ℝ\":\"â„\",\"⥰\":\"⥰\",\"⇛\":\"⇛\",\"ℛ\":\"â„›\",\"↱\":\"↱\",\"⧴\":\"â§´\",\"Щ\":\"Щ\",\"Ш\":\"Ш\",\"Ь\":\"Ь\",\"Ś\":\"Åš\",\"⪼\":\"⪼\",\"Š\":\"Å \",\"Ş\":\"Åž\",\"Ŝ\":\"Åœ\",\"С\":\"С\",\"𝔖\":\"ð”–\",\"↓\":\"↓\",\"←\":\"â†\",\"→\":\"→\",\"↑\":\"↑\",\"Σ\":\"Σ\",\"∘\":\"∘\",\"𝕊\":\"ð•Š\",\"√\":\"√\",\"□\":\"â–¡\",\"⊓\":\"⊓\",\"⊏\":\"âŠ\",\"⊑\":\"⊑\",\"⊐\":\"âŠ\",\"⊒\":\"⊒\",\"⊔\":\"⊔\",\"𝒮\":\"ð’®\",\"⋆\":\"⋆\",\"⋐\":\"â‹\",\"⋐\":\"â‹\",\"⊆\":\"⊆\",\"≻\":\"≻\",\"⪰\":\"⪰\",\"≽\":\"≽\",\"≿\":\"≿\",\"∋\":\"∋\",\"∑\":\"∑\",\"⋑\":\"â‹‘\",\"⊃\":\"⊃\",\"⊇\":\"⊇\",\"⋑\":\"â‹‘\",\"Þ\":\"Þ\",\"Þ\":\"Þ\",\"™\":\"â„¢\",\"Ћ\":\"Ћ\",\"Ц\":\"Ц\",\"	\":\"\\\\t\",\"Τ\":\"Τ\",\"Ť\":\"Ť\",\"Ţ\":\"Å¢\",\"Т\":\"Т\",\"𝔗\":\"ð”—\",\"∴\":\"∴\",\"Θ\":\"Θ\",\"  \":\"âŸâ€Š\",\" \":\" \",\"∼\":\"∼\",\"≃\":\"≃\",\"≅\":\"≅\",\"≈\":\"≈\",\"𝕋\":\"ð•‹\",\"⃛\":\"⃛\",\"𝒯\":\"ð’¯\",\"Ŧ\":\"Ŧ\",\"Ú\":\"Ú\",\"Ú\":\"Ú\",\"↟\":\"↟\",\"⥉\":\"⥉\",\"Ў\":\"ÐŽ\",\"Ŭ\":\"Ŭ\",\"Û\":\"Û\",\"Û\":\"Û\",\"У\":\"У\",\"Ű\":\"Ű\",\"𝔘\":\"ð”˜\",\"Ù\":\"Ù\",\"Ù\":\"Ù\",\"Ū\":\"Ū\",\"_\":\"_\",\"⏟\":\"âŸ\",\"⎵\":\"⎵\",\"⏝\":\"â\",\"⋃\":\"⋃\",\"⊎\":\"⊎\",\"Ų\":\"Ų\",\"𝕌\":\"ð•Œ\",\"↑\":\"↑\",\"⤒\":\"⤒\",\"⇅\":\"⇅\",\"↕\":\"↕\",\"⥮\":\"⥮\",\"⊥\":\"⊥\",\"↥\":\"↥\",\"⇑\":\"⇑\",\"⇕\":\"⇕\",\"↖\":\"↖\",\"↗\":\"↗\",\"ϒ\":\"Ï’\",\"Υ\":\"Î¥\",\"Ů\":\"Å®\",\"𝒰\":\"ð’°\",\"Ũ\":\"Ũ\",\"Ü\":\"Ü\",\"Ü\":\"Ü\",\"⊫\":\"⊫\",\"⫫\":\"â««\",\"В\":\"Ð’\",\"⊩\":\"⊩\",\"⫦\":\"⫦\",\"⋁\":\"â‹\",\"‖\":\"‖\",\"‖\":\"‖\",\"∣\":\"∣\",\"|\":\"|\",\"❘\":\"â˜\",\"≀\":\"≀\",\" \":\" \",\"𝔙\":\"ð”™\",\"𝕍\":\"ð•\",\"𝒱\":\"ð’±\",\"⊪\":\"⊪\",\"Ŵ\":\"Å´\",\"⋀\":\"â‹€\",\"𝔚\":\"ð”š\",\"𝕎\":\"ð•Ž\",\"𝒲\":\"ð’²\",\"𝔛\":\"ð”›\",\"Ξ\":\"Ξ\",\"𝕏\":\"ð•\",\"𝒳\":\"ð’³\",\"Я\":\"Я\",\"Ї\":\"Ї\",\"Ю\":\"Ю\",\"Ý\":\"Ã\",\"Ý\":\"Ã\",\"Ŷ\":\"Ŷ\",\"Ы\":\"Ы\",\"𝔜\":\"ð”œ\",\"𝕐\":\"ð•\",\"𝒴\":\"ð’´\",\"Ÿ\":\"Ÿ\",\"Ж\":\"Ж\",\"Ź\":\"Ź\",\"Ž\":\"Ž\",\"З\":\"З\",\"Ż\":\"Å»\",\"​\":\"​\",\"Ζ\":\"Ζ\",\"ℨ\":\"ℨ\",\"ℤ\":\"ℤ\",\"𝒵\":\"ð’µ\",\"á\":\"á\",\"á\":\"á\",\"ă\":\"ă\",\"∾\":\"∾\",\"∾̳\":\"∾̳\",\"∿\":\"∿\",\"â\":\"â\",\"â\":\"â\",\"´\":\"´\",\"´\":\"´\",\"а\":\"а\",\"æ\":\"æ\",\"æ\":\"æ\",\"⁡\":\"â¡\",\"𝔞\":\"ð”ž\",\"à\":\"à \",\"à\":\"à \",\"ℵ\":\"ℵ\",\"ℵ\":\"ℵ\",\"α\":\"α\",\"ā\":\"Ä\",\"⨿\":\"⨿\",\"&\":\"&\",\"&\":\"&\",\"∧\":\"∧\",\"⩕\":\"â©•\",\"⩜\":\"⩜\",\"⩘\":\"⩘\",\"⩚\":\"⩚\",\"∠\":\"∠\",\"⦤\":\"⦤\",\"∠\":\"∠\",\"∡\":\"∡\",\"⦨\":\"⦨\",\"⦩\":\"⦩\",\"⦪\":\"⦪\",\"⦫\":\"⦫\",\"⦬\":\"⦬\",\"⦭\":\"â¦\",\"⦮\":\"⦮\",\"⦯\":\"⦯\",\"∟\":\"∟\",\"⊾\":\"⊾\",\"⦝\":\"â¦\",\"∢\":\"∢\",\"Å\":\"Ã…\",\"⍼\":\"â¼\",\"ą\":\"Ä…\",\"𝕒\":\"ð•’\",\"≈\":\"≈\",\"⩰\":\"â©°\",\"⩯\":\"⩯\",\"≊\":\"≊\",\"≋\":\"≋\",\"'\":\"\\'\",\"≈\":\"≈\",\"≊\":\"≊\",\"å\":\"Ã¥\",\"å\":\"Ã¥\",\"𝒶\":\"ð’¶\",\"*\":\"*\",\"≈\":\"≈\",\"≍\":\"â‰\",\"ã\":\"ã\",\"ã\":\"ã\",\"ä\":\"ä\",\"ä\":\"ä\",\"∳\":\"∳\",\"⨑\":\"⨑\",\"⫭\":\"â«\",\"≌\":\"≌\",\"϶\":\"϶\",\"‵\":\"‵\",\"∽\":\"∽\",\"⋍\":\"â‹\",\"⊽\":\"⊽\",\"⌅\":\"⌅\",\"⌅\":\"⌅\",\"⎵\":\"⎵\",\"⎶\":\"⎶\",\"≌\":\"≌\",\"б\":\"б\",\"„\":\"„\",\"∵\":\"∵\",\"∵\":\"∵\",\"⦰\":\"⦰\",\"϶\":\"϶\",\"ℬ\":\"ℬ\",\"β\":\"β\",\"ℶ\":\"â„¶\",\"≬\":\"≬\",\"𝔟\":\"ð”Ÿ\",\"⋂\":\"â‹‚\",\"◯\":\"â—¯\",\"⋃\":\"⋃\",\"⨀\":\"⨀\",\"⨁\":\"â¨\",\"⨂\":\"⨂\",\"⨆\":\"⨆\",\"★\":\"★\",\"▽\":\"â–½\",\"△\":\"â–³\",\"⨄\":\"⨄\",\"⋁\":\"â‹\",\"⋀\":\"â‹€\",\"⤍\":\"â¤\",\"⧫\":\"â§«\",\"▪\":\"â–ª\",\"▴\":\"â–´\",\"▾\":\"â–¾\",\"◂\":\"â—‚\",\"▸\":\"â–¸\",\"␣\":\"â£\",\"▒\":\"â–’\",\"░\":\"â–‘\",\"▓\":\"â–“\",\"█\":\"â–ˆ\",\"=⃥\":\"=⃥\",\"≡⃥\":\"≡⃥\",\"⌐\":\"âŒ\",\"𝕓\":\"ð•“\",\"⊥\":\"⊥\",\"⊥\":\"⊥\",\"⋈\":\"⋈\",\"╗\":\"â•—\",\"╔\":\"â•”\",\"╖\":\"â•–\",\"╓\":\"â•“\",\"═\":\"â•\",\"╦\":\"╦\",\"╩\":\"â•©\",\"╤\":\"╤\",\"╧\":\"â•§\",\"╝\":\"â•\",\"╚\":\"╚\",\"╜\":\"╜\",\"╙\":\"â•™\",\"║\":\"â•‘\",\"╬\":\"╬\",\"╣\":\"â•£\",\"╠\":\"â• \",\"╫\":\"â•«\",\"╢\":\"â•¢\",\"╟\":\"╟\",\"⧉\":\"⧉\",\"╕\":\"â••\",\"╒\":\"â•’\",\"┐\":\"â”\",\"┌\":\"┌\",\"─\":\"─\",\"╥\":\"â•¥\",\"╨\":\"╨\",\"┬\":\"┬\",\"┴\":\"â”´\",\"⊟\":\"⊟\",\"⊞\":\"⊞\",\"⊠\":\"⊠\",\"╛\":\"â•›\",\"╘\":\"╘\",\"┘\":\"┘\",\"└\":\"â””\",\"│\":\"│\",\"╪\":\"╪\",\"╡\":\"â•¡\",\"╞\":\"╞\",\"┼\":\"┼\",\"┤\":\"┤\",\"├\":\"├\",\"‵\":\"‵\",\"˘\":\"˘\",\"¦\":\"¦\",\"¦\":\"¦\",\"𝒷\":\"ð’·\",\"⁏\":\"â\",\"∽\":\"∽\",\"⋍\":\"â‹\",\"\\":\"\\\\\\\\\",\"⧅\":\"â§…\",\"⟈\":\"⟈\",\"•\":\"•\",\"•\":\"•\",\"≎\":\"≎\",\"⪮\":\"⪮\",\"≏\":\"â‰\",\"≏\":\"â‰\",\"ć\":\"ć\",\"∩\":\"∩\",\"⩄\":\"â©„\",\"⩉\":\"⩉\",\"⩋\":\"â©‹\",\"⩇\":\"⩇\",\"⩀\":\"â©€\",\"∩︀\":\"∩︀\",\"⁁\":\"â\",\"ˇ\":\"ˇ\",\"⩍\":\"â©\",\"č\":\"Ä\",\"ç\":\"ç\",\"ç\":\"ç\",\"ĉ\":\"ĉ\",\"⩌\":\"⩌\",\"⩐\":\"â©\",\"ċ\":\"Ä‹\",\"¸\":\"¸\",\"¸\":\"¸\",\"⦲\":\"⦲\",\"¢\":\"¢\",\"¢\":\"¢\",\"·\":\"·\",\"𝔠\":\"ð” \",\"ч\":\"ч\",\"✓\":\"✓\",\"✓\":\"✓\",\"χ\":\"χ\",\"○\":\"â—‹\",\"⧃\":\"⧃\",\"ˆ\":\"ˆ\",\"≗\":\"≗\",\"↺\":\"↺\",\"↻\":\"↻\",\"®\":\"®\",\"Ⓢ\":\"Ⓢ\",\"⊛\":\"⊛\",\"⊚\":\"⊚\",\"⊝\":\"âŠ\",\"≗\":\"≗\",\"⨐\":\"â¨\",\"⫯\":\"⫯\",\"⧂\":\"â§‚\",\"♣\":\"♣\",\"♣\":\"♣\",\":\":\":\",\"≔\":\"≔\",\"≔\":\"≔\",\",\":\",\",\"@\":\"@\",\"∁\":\"âˆ\",\"∘\":\"∘\",\"∁\":\"âˆ\",\"ℂ\":\"â„‚\",\"≅\":\"≅\",\"⩭\":\"â©\",\"∮\":\"∮\",\"𝕔\":\"ð•”\",\"∐\":\"âˆ\",\"©\":\"©\",\"©\":\"©\",\"℗\":\"â„—\",\"↵\":\"↵\",\"✗\":\"✗\",\"𝒸\":\"ð’¸\",\"⫏\":\"â«\",\"⫑\":\"â«‘\",\"⫐\":\"â«\",\"⫒\":\"â«’\",\"⋯\":\"⋯\",\"⤸\":\"⤸\",\"⤵\":\"⤵\",\"⋞\":\"⋞\",\"⋟\":\"⋟\",\"↶\":\"↶\",\"⤽\":\"⤽\",\"∪\":\"∪\",\"⩈\":\"⩈\",\"⩆\":\"⩆\",\"⩊\":\"⩊\",\"⊍\":\"âŠ\",\"⩅\":\"â©…\",\"∪︀\":\"∪︀\",\"↷\":\"↷\",\"⤼\":\"⤼\",\"⋞\":\"⋞\",\"⋟\":\"⋟\",\"⋎\":\"⋎\",\"⋏\":\"â‹\",\"¤\":\"¤\",\"¤\":\"¤\",\"↶\":\"↶\",\"↷\":\"↷\",\"⋎\":\"⋎\",\"⋏\":\"â‹\",\"∲\":\"∲\",\"∱\":\"∱\",\"⌭\":\"âŒ\",\"⇓\":\"⇓\",\"⥥\":\"⥥\",\"†\":\"†\",\"ℸ\":\"ℸ\",\"↓\":\"↓\",\"‐\":\"â€\",\"⊣\":\"⊣\",\"⤏\":\"â¤\",\"˝\":\"Ë\",\"ď\":\"Ä\",\"д\":\"д\",\"ⅆ\":\"â…†\",\"‡\":\"‡\",\"⇊\":\"⇊\",\"⩷\":\"â©·\",\"°\":\"°\",\"°\":\"°\",\"δ\":\"δ\",\"⦱\":\"⦱\",\"⥿\":\"⥿\",\"𝔡\":\"ð”¡\",\"⇃\":\"⇃\",\"⇂\":\"⇂\",\"⋄\":\"â‹„\",\"⋄\":\"â‹„\",\"♦\":\"♦\",\"♦\":\"♦\",\"¨\":\"¨\",\"ϝ\":\"Ï\",\"⋲\":\"⋲\",\"÷\":\"÷\",\"÷\":\"÷\",\"÷\":\"÷\",\"⋇\":\"⋇\",\"⋇\":\"⋇\",\"ђ\":\"Ñ’\",\"⌞\":\"⌞\",\"⌍\":\"âŒ\",\"$\":\"$\",\"𝕕\":\"ð••\",\"˙\":\"Ë™\",\"≐\":\"â‰\",\"≑\":\"≑\",\"∸\":\"∸\",\"∔\":\"∔\",\"⊡\":\"⊡\",\"⌆\":\"⌆\",\"↓\":\"↓\",\"⇊\":\"⇊\",\"⇃\":\"⇃\",\"⇂\":\"⇂\",\"⤐\":\"â¤\",\"⌟\":\"⌟\",\"⌌\":\"⌌\",\"𝒹\":\"ð’¹\",\"ѕ\":\"Ñ•\",\"⧶\":\"â§¶\",\"đ\":\"Ä‘\",\"⋱\":\"⋱\",\"▿\":\"â–¿\",\"▾\":\"â–¾\",\"⇵\":\"⇵\",\"⥯\":\"⥯\",\"⦦\":\"⦦\",\"џ\":\"ÑŸ\",\"⟿\":\"⟿\",\"⩷\":\"â©·\",\"≑\":\"≑\",\"é\":\"é\",\"é\":\"é\",\"⩮\":\"â©®\",\"ě\":\"Ä›\",\"≖\":\"≖\",\"ê\":\"ê\",\"ê\":\"ê\",\"≕\":\"≕\",\"э\":\"Ñ\",\"ė\":\"Ä—\",\"ⅇ\":\"â…‡\",\"≒\":\"≒\",\"𝔢\":\"ð”¢\",\"⪚\":\"⪚\",\"è\":\"è\",\"è\":\"è\",\"⪖\":\"⪖\",\"⪘\":\"⪘\",\"⪙\":\"⪙\",\"⏧\":\"â§\",\"ℓ\":\"â„“\",\"⪕\":\"⪕\",\"⪗\":\"⪗\",\"ē\":\"Ä“\",\"∅\":\"∅\",\"∅\":\"∅\",\"∅\":\"∅\",\" \":\" \",\" \":\" \",\" \":\" \",\"ŋ\":\"Å‹\",\" \":\" \",\"ę\":\"Ä™\",\"𝕖\":\"ð•–\",\"⋕\":\"â‹•\",\"⧣\":\"â§£\",\"⩱\":\"⩱\",\"ε\":\"ε\",\"ε\":\"ε\",\"ϵ\":\"ϵ\",\"≖\":\"≖\",\"≕\":\"≕\",\"≂\":\"≂\",\"⪖\":\"⪖\",\"⪕\":\"⪕\",\"=\":\"=\",\"≟\":\"≟\",\"≡\":\"≡\",\"⩸\":\"⩸\",\"⧥\":\"â§¥\",\"≓\":\"≓\",\"⥱\":\"⥱\",\"ℯ\":\"ℯ\",\"≐\":\"â‰\",\"≂\":\"≂\",\"η\":\"η\",\"ð\":\"ð\",\"ð\":\"ð\",\"ë\":\"ë\",\"ë\":\"ë\",\"€\":\"€\",\"!\":\"!\",\"∃\":\"∃\",\"ℰ\":\"â„°\",\"ⅇ\":\"â…‡\",\"≒\":\"≒\",\"ф\":\"Ñ„\",\"♀\":\"♀\",\"ffi\":\"ffi\",\"ff\":\"ff\",\"ffl\":\"ffl\",\"𝔣\":\"ð”£\",\"fi\":\"ï¬\",\"fj\":\"fj\",\"♭\":\"â™\",\"fl\":\"fl\",\"▱\":\"â–±\",\"ƒ\":\"Æ’\",\"𝕗\":\"ð•—\",\"∀\":\"∀\",\"⋔\":\"â‹”\",\"⫙\":\"â«™\",\"⨍\":\"â¨\",\"½\":\"½\",\"½\":\"½\",\"⅓\":\"â…“\",\"¼\":\"¼\",\"¼\":\"¼\",\"⅕\":\"â…•\",\"⅙\":\"â…™\",\"⅛\":\"â…›\",\"⅔\":\"â…”\",\"⅖\":\"â…–\",\"¾\":\"¾\",\"¾\":\"¾\",\"⅗\":\"â…—\",\"⅜\":\"â…œ\",\"⅘\":\"â…˜\",\"⅚\":\"â…š\",\"⅝\":\"â…\",\"⅞\":\"â…ž\",\"⁄\":\"â„\",\"⌢\":\"⌢\",\"𝒻\":\"ð’»\",\"≧\":\"≧\",\"⪌\":\"⪌\",\"ǵ\":\"ǵ\",\"γ\":\"γ\",\"ϝ\":\"Ï\",\"⪆\":\"⪆\",\"ğ\":\"ÄŸ\",\"ĝ\":\"Ä\",\"г\":\"г\",\"ġ\":\"Ä¡\",\"≥\":\"≥\",\"⋛\":\"â‹›\",\"≥\":\"≥\",\"≧\":\"≧\",\"⩾\":\"⩾\",\"⩾\":\"⩾\",\"⪩\":\"⪩\",\"⪀\":\"⪀\",\"⪂\":\"⪂\",\"⪄\":\"⪄\",\"⋛︀\":\"⋛︀\",\"⪔\":\"⪔\",\"𝔤\":\"ð”¤\",\"≫\":\"≫\",\"⋙\":\"â‹™\",\"ℷ\":\"â„·\",\"ѓ\":\"Ñ“\",\"≷\":\"≷\",\"⪒\":\"⪒\",\"⪥\":\"⪥\",\"⪤\":\"⪤\",\"≩\":\"≩\",\"⪊\":\"⪊\",\"⪊\":\"⪊\",\"⪈\":\"⪈\",\"⪈\":\"⪈\",\"≩\":\"≩\",\"⋧\":\"â‹§\",\"𝕘\":\"ð•˜\",\"`\":\"`\",\"ℊ\":\"ℊ\",\"≳\":\"≳\",\"⪎\":\"⪎\",\"⪐\":\"âª\",\">\":\">\",\">\":\">\",\"⪧\":\"⪧\",\"⩺\":\"⩺\",\"⋗\":\"â‹—\",\"⦕\":\"⦕\",\"⩼\":\"⩼\",\"⪆\":\"⪆\",\"⥸\":\"⥸\",\"⋗\":\"â‹—\",\"⋛\":\"â‹›\",\"⪌\":\"⪌\",\"≷\":\"≷\",\"≳\":\"≳\",\"≩︀\":\"≩︀\",\"≩︀\":\"≩︀\",\"⇔\":\"⇔\",\" \":\" \",\"½\":\"½\",\"ℋ\":\"â„‹\",\"ъ\":\"ÑŠ\",\"↔\":\"↔\",\"⥈\":\"⥈\",\"↭\":\"â†\",\"ℏ\":\"â„\",\"ĥ\":\"Ä¥\",\"♥\":\"♥\",\"♥\":\"♥\",\"…\":\"…\",\"⊹\":\"⊹\",\"𝔥\":\"ð”¥\",\"⤥\":\"⤥\",\"⤦\":\"⤦\",\"⇿\":\"⇿\",\"∻\":\"∻\",\"↩\":\"↩\",\"↪\":\"↪\",\"𝕙\":\"ð•™\",\"―\":\"―\",\"𝒽\":\"ð’½\",\"ℏ\":\"â„\",\"ħ\":\"ħ\",\"⁃\":\"âƒ\",\"‐\":\"â€\",\"í\":\"Ã\",\"í\":\"Ã\",\"⁣\":\"â£\",\"î\":\"î\",\"î\":\"î\",\"и\":\"и\",\"е\":\"е\",\"¡\":\"¡\",\"¡\":\"¡\",\"⇔\":\"⇔\",\"𝔦\":\"ð”¦\",\"ì\":\"ì\",\"ì\":\"ì\",\"ⅈ\":\"â…ˆ\",\"⨌\":\"⨌\",\"∭\":\"âˆ\",\"⧜\":\"â§œ\",\"℩\":\"â„©\",\"ij\":\"ij\",\"ī\":\"Ä«\",\"ℑ\":\"â„‘\",\"ℐ\":\"â„\",\"ℑ\":\"â„‘\",\"ı\":\"ı\",\"⊷\":\"⊷\",\"Ƶ\":\"Ƶ\",\"∈\":\"∈\",\"℅\":\"â„…\",\"∞\":\"∞\",\"⧝\":\"â§\",\"ı\":\"ı\",\"∫\":\"∫\",\"⊺\":\"⊺\",\"ℤ\":\"ℤ\",\"⊺\":\"⊺\",\"⨗\":\"⨗\",\"⨼\":\"⨼\",\"ё\":\"Ñ‘\",\"į\":\"į\",\"𝕚\":\"ð•š\",\"ι\":\"ι\",\"⨼\":\"⨼\",\"¿\":\"¿\",\"¿\":\"¿\",\"𝒾\":\"ð’¾\",\"∈\":\"∈\",\"⋹\":\"⋹\",\"⋵\":\"⋵\",\"⋴\":\"â‹´\",\"⋳\":\"⋳\",\"∈\":\"∈\",\"⁢\":\"â¢\",\"ĩ\":\"Ä©\",\"і\":\"Ñ–\",\"ï\":\"ï\",\"ï\":\"ï\",\"ĵ\":\"ĵ\",\"й\":\"й\",\"𝔧\":\"ð”§\",\"ȷ\":\"È·\",\"𝕛\":\"ð•›\",\"𝒿\":\"ð’¿\",\"ј\":\"ј\",\"є\":\"Ñ”\",\"κ\":\"κ\",\"ϰ\":\"ϰ\",\"ķ\":\"Ä·\",\"к\":\"к\",\"𝔨\":\"ð”¨\",\"ĸ\":\"ĸ\",\"х\":\"Ñ…\",\"ќ\":\"Ñœ\",\"𝕜\":\"ð•œ\",\"𝓀\":\"ð“€\",\"⇚\":\"⇚\",\"⇐\":\"â‡\",\"⤛\":\"⤛\",\"⤎\":\"⤎\",\"≦\":\"≦\",\"⪋\":\"⪋\",\"⥢\":\"⥢\",\"ĺ\":\"ĺ\",\"⦴\":\"⦴\",\"ℒ\":\"â„’\",\"λ\":\"λ\",\"⟨\":\"⟨\",\"⦑\":\"⦑\",\"⟨\":\"⟨\",\"⪅\":\"⪅\",\"«\":\"«\",\"«\":\"«\",\"←\":\"â†\",\"⇤\":\"⇤\",\"⤟\":\"⤟\",\"⤝\":\"â¤\",\"↩\":\"↩\",\"↫\":\"↫\",\"⤹\":\"⤹\",\"⥳\":\"⥳\",\"↢\":\"↢\",\"⪫\":\"⪫\",\"⤙\":\"⤙\",\"⪭\":\"âª\",\"⪭︀\":\"âªï¸€\",\"⤌\":\"⤌\",\"❲\":\"â²\",\"{\":\"{\",\"[\":\"[\",\"⦋\":\"⦋\",\"⦏\":\"â¦\",\"⦍\":\"â¦\",\"ľ\":\"ľ\",\"ļ\":\"ļ\",\"⌈\":\"⌈\",\"{\":\"{\",\"л\":\"л\",\"⤶\":\"⤶\",\"“\":\"“\",\"„\":\"„\",\"⥧\":\"⥧\",\"⥋\":\"⥋\",\"↲\":\"↲\",\"≤\":\"≤\",\"←\":\"â†\",\"↢\":\"↢\",\"↽\":\"↽\",\"↼\":\"↼\",\"⇇\":\"⇇\",\"↔\":\"↔\",\"⇆\":\"⇆\",\"⇋\":\"⇋\",\"↭\":\"â†\",\"⋋\":\"â‹‹\",\"⋚\":\"⋚\",\"≤\":\"≤\",\"≦\":\"≦\",\"⩽\":\"⩽\",\"⩽\":\"⩽\",\"⪨\":\"⪨\",\"⩿\":\"â©¿\",\"⪁\":\"âª\",\"⪃\":\"⪃\",\"⋚︀\":\"⋚︀\",\"⪓\":\"⪓\",\"⪅\":\"⪅\",\"⋖\":\"â‹–\",\"⋚\":\"⋚\",\"⪋\":\"⪋\",\"≶\":\"≶\",\"≲\":\"≲\",\"⥼\":\"⥼\",\"⌊\":\"⌊\",\"𝔩\":\"ð”©\",\"≶\":\"≶\",\"⪑\":\"⪑\",\"↽\":\"↽\",\"↼\":\"↼\",\"⥪\":\"⥪\",\"▄\":\"â–„\",\"љ\":\"Ñ™\",\"≪\":\"≪\",\"⇇\":\"⇇\",\"⌞\":\"⌞\",\"⥫\":\"⥫\",\"◺\":\"â—º\",\"ŀ\":\"Å€\",\"⎰\":\"⎰\",\"⎰\":\"⎰\",\"≨\":\"≨\",\"⪉\":\"⪉\",\"⪉\":\"⪉\",\"⪇\":\"⪇\",\"⪇\":\"⪇\",\"≨\":\"≨\",\"⋦\":\"⋦\",\"⟬\":\"⟬\",\"⇽\":\"⇽\",\"⟦\":\"⟦\",\"⟵\":\"⟵\",\"⟷\":\"⟷\",\"⟼\":\"⟼\",\"⟶\":\"⟶\",\"↫\":\"↫\",\"↬\":\"↬\",\"⦅\":\"⦅\",\"𝕝\":\"ð•\",\"⨭\":\"â¨\",\"⨴\":\"⨴\",\"∗\":\"∗\",\"_\":\"_\",\"◊\":\"â—Š\",\"◊\":\"â—Š\",\"⧫\":\"â§«\",\"(\":\"(\",\"⦓\":\"⦓\",\"⇆\":\"⇆\",\"⌟\":\"⌟\",\"⇋\":\"⇋\",\"⥭\":\"â¥\",\"‎\":\"‎\",\"⊿\":\"⊿\",\"‹\":\"‹\",\"𝓁\":\"ð“\",\"↰\":\"↰\",\"≲\":\"≲\",\"⪍\":\"âª\",\"⪏\":\"âª\",\"[\":\"[\",\"‘\":\"‘\",\"‚\":\"‚\",\"ł\":\"Å‚\",\"<\":\"<\",\"<\":\"<\",\"⪦\":\"⪦\",\"⩹\":\"⩹\",\"⋖\":\"â‹–\",\"⋋\":\"â‹‹\",\"⋉\":\"⋉\",\"⥶\":\"⥶\",\"⩻\":\"â©»\",\"⦖\":\"⦖\",\"◃\":\"â—ƒ\",\"⊴\":\"⊴\",\"◂\":\"â—‚\",\"⥊\":\"⥊\",\"⥦\":\"⥦\",\"≨︀\":\"≨︀\",\"≨︀\":\"≨︀\",\"∺\":\"∺\",\"¯\":\"¯\",\"¯\":\"¯\",\"♂\":\"♂\",\"✠\":\"✠\",\"✠\":\"✠\",\"↦\":\"↦\",\"↦\":\"↦\",\"↧\":\"↧\",\"↤\":\"↤\",\"↥\":\"↥\",\"▮\":\"â–®\",\"⨩\":\"⨩\",\"м\":\"м\",\"—\":\"—\",\"∡\":\"∡\",\"𝔪\":\"ð”ª\",\"℧\":\"â„§\",\"µ\":\"µ\",\"µ\":\"µ\",\"∣\":\"∣\",\"*\":\"*\",\"⫰\":\"â«°\",\"·\":\"·\",\"·\":\"·\",\"−\":\"−\",\"⊟\":\"⊟\",\"∸\":\"∸\",\"⨪\":\"⨪\",\"⫛\":\"â«›\",\"…\":\"…\",\"∓\":\"∓\",\"⊧\":\"⊧\",\"𝕞\":\"ð•ž\",\"∓\":\"∓\",\"𝓂\":\"ð“‚\",\"∾\":\"∾\",\"μ\":\"μ\",\"⊸\":\"⊸\",\"⊸\":\"⊸\",\"⋙̸\":\"⋙̸\",\"≫⃒\":\"≫⃒\",\"≫̸\":\"≫̸\",\"⇍\":\"â‡\",\"⇎\":\"⇎\",\"⋘̸\":\"⋘̸\",\"≪⃒\":\"≪⃒\",\"≪̸\":\"≪̸\",\"⇏\":\"â‡\",\"⊯\":\"⊯\",\"⊮\":\"⊮\",\"∇\":\"∇\",\"ń\":\"Å„\",\"∠⃒\":\"∠⃒\",\"≉\":\"≉\",\"⩰̸\":\"⩰̸\",\"≋̸\":\"≋̸\",\"ʼn\":\"ʼn\",\"≉\":\"≉\",\"♮\":\"â™®\",\"♮\":\"â™®\",\"ℕ\":\"â„•\",\" \":\" \",\" \":\" \",\"≎̸\":\"≎̸\",\"≏̸\":\"â‰Ì¸\",\"⩃\":\"⩃\",\"ň\":\"ň\",\"ņ\":\"ņ\",\"≇\":\"≇\",\"⩭̸\":\"â©Ì¸\",\"⩂\":\"â©‚\",\"н\":\"н\",\"–\":\"–\",\"≠\":\"≠\",\"⇗\":\"⇗\",\"⤤\":\"⤤\",\"↗\":\"↗\",\"↗\":\"↗\",\"≐̸\":\"â‰Ì¸\",\"≢\":\"≢\",\"⤨\":\"⤨\",\"≂̸\":\"≂̸\",\"∄\":\"∄\",\"∄\":\"∄\",\"𝔫\":\"ð”«\",\"≧̸\":\"≧̸\",\"≱\":\"≱\",\"≱\":\"≱\",\"≧̸\":\"≧̸\",\"⩾̸\":\"⩾̸\",\"⩾̸\":\"⩾̸\",\"≵\":\"≵\",\"≯\":\"≯\",\"≯\":\"≯\",\"⇎\":\"⇎\",\"↮\":\"↮\",\"⫲\":\"⫲\",\"∋\":\"∋\",\"⋼\":\"⋼\",\"⋺\":\"⋺\",\"∋\":\"∋\",\"њ\":\"Ñš\",\"⇍\":\"â‡\",\"≦̸\":\"≦̸\",\"↚\":\"↚\",\"‥\":\"‥\",\"≰\":\"≰\",\"↚\":\"↚\",\"↮\":\"↮\",\"≰\":\"≰\",\"≦̸\":\"≦̸\",\"⩽̸\":\"⩽̸\",\"⩽̸\":\"⩽̸\",\"≮\":\"≮\",\"≴\":\"≴\",\"≮\":\"≮\",\"⋪\":\"⋪\",\"⋬\":\"⋬\",\"∤\":\"∤\",\"𝕟\":\"ð•Ÿ\",\"¬\":\"¬\",\"¬\":\"¬\",\"∉\":\"∉\",\"⋹̸\":\"⋹̸\",\"⋵̸\":\"⋵̸\",\"∉\":\"∉\",\"⋷\":\"â‹·\",\"⋶\":\"â‹¶\",\"∌\":\"∌\",\"∌\":\"∌\",\"⋾\":\"⋾\",\"⋽\":\"⋽\",\"∦\":\"∦\",\"∦\":\"∦\",\"⫽⃥\":\"⫽⃥\",\"∂̸\":\"∂̸\",\"⨔\":\"⨔\",\"⊀\":\"⊀\",\"⋠\":\"â‹ \",\"⪯̸\":\"⪯̸\",\"⊀\":\"⊀\",\"⪯̸\":\"⪯̸\",\"⇏\":\"â‡\",\"↛\":\"↛\",\"⤳̸\":\"⤳̸\",\"↝̸\":\"â†Ì¸\",\"↛\":\"↛\",\"⋫\":\"â‹«\",\"⋭\":\"â‹\",\"⊁\":\"âŠ\",\"⋡\":\"â‹¡\",\"⪰̸\":\"⪰̸\",\"𝓃\":\"ð“ƒ\",\"∤\":\"∤\",\"∦\":\"∦\",\"≁\":\"â‰\",\"≄\":\"≄\",\"≄\":\"≄\",\"∤\":\"∤\",\"∦\":\"∦\",\"⋢\":\"â‹¢\",\"⋣\":\"â‹£\",\"⊄\":\"⊄\",\"⫅̸\":\"⫅̸\",\"⊈\":\"⊈\",\"⊂⃒\":\"⊂⃒\",\"⊈\":\"⊈\",\"⫅̸\":\"⫅̸\",\"⊁\":\"âŠ\",\"⪰̸\":\"⪰̸\",\"⊅\":\"⊅\",\"⫆̸\":\"⫆̸\",\"⊉\":\"⊉\",\"⊃⃒\":\"⊃⃒\",\"⊉\":\"⊉\",\"⫆̸\":\"⫆̸\",\"≹\":\"≹\",\"ñ\":\"ñ\",\"ñ\":\"ñ\",\"≸\":\"≸\",\"⋪\":\"⋪\",\"⋬\":\"⋬\",\"⋫\":\"â‹«\",\"⋭\":\"â‹\",\"ν\":\"ν\",\"#\":\"#\",\"№\":\"â„–\",\" \":\" \",\"⊭\":\"âŠ\",\"⤄\":\"⤄\",\"≍⃒\":\"â‰âƒ’\",\"⊬\":\"⊬\",\"≥⃒\":\"≥⃒\",\">⃒\":\">⃒\",\"⧞\":\"â§ž\",\"⤂\":\"⤂\",\"≤⃒\":\"≤⃒\",\"<⃒\":\"<⃒\",\"⊴⃒\":\"⊴⃒\",\"⤃\":\"⤃\",\"⊵⃒\":\"⊵⃒\",\"∼⃒\":\"∼⃒\",\"⇖\":\"⇖\",\"⤣\":\"⤣\",\"↖\":\"↖\",\"↖\":\"↖\",\"⤧\":\"⤧\",\"Ⓢ\":\"Ⓢ\",\"ó\":\"ó\",\"ó\":\"ó\",\"⊛\":\"⊛\",\"⊚\":\"⊚\",\"ô\":\"ô\",\"ô\":\"ô\",\"о\":\"о\",\"⊝\":\"âŠ\",\"ő\":\"Å‘\",\"⨸\":\"⨸\",\"⊙\":\"⊙\",\"⦼\":\"⦼\",\"œ\":\"Å“\",\"⦿\":\"⦿\",\"𝔬\":\"ð”¬\",\"˛\":\"Ë›\",\"ò\":\"ò\",\"ò\":\"ò\",\"⧁\":\"â§\",\"⦵\":\"⦵\",\"Ω\":\"Ω\",\"∮\":\"∮\",\"↺\":\"↺\",\"⦾\":\"⦾\",\"⦻\":\"⦻\",\"‾\":\"‾\",\"⧀\":\"â§€\",\"ō\":\"Å\",\"ω\":\"ω\",\"ο\":\"ο\",\"⦶\":\"⦶\",\"⊖\":\"⊖\",\"𝕠\":\"ð• \",\"⦷\":\"⦷\",\"⦹\":\"⦹\",\"⊕\":\"⊕\",\"∨\":\"∨\",\"↻\":\"↻\",\"⩝\":\"â©\",\"ℴ\":\"â„´\",\"ℴ\":\"â„´\",\"ª\":\"ª\",\"ª\":\"ª\",\"º\":\"º\",\"º\":\"º\",\"⊶\":\"⊶\",\"⩖\":\"â©–\",\"⩗\":\"â©—\",\"⩛\":\"â©›\",\"ℴ\":\"â„´\",\"ø\":\"ø\",\"ø\":\"ø\",\"⊘\":\"⊘\",\"õ\":\"õ\",\"õ\":\"õ\",\"⊗\":\"⊗\",\"⨶\":\"⨶\",\"ö\":\"ö\",\"ö\":\"ö\",\"⌽\":\"⌽\",\"∥\":\"∥\",\"¶\":\"¶\",\"¶\":\"¶\",\"∥\":\"∥\",\"⫳\":\"⫳\",\"⫽\":\"⫽\",\"∂\":\"∂\",\"п\":\"п\",\"%\":\"%\",\".\":\".\",\"‰\":\"‰\",\"⊥\":\"⊥\",\"‱\":\"‱\",\"𝔭\":\"ð”\",\"φ\":\"φ\",\"ϕ\":\"Ï•\",\"ℳ\":\"ℳ\",\"☎\":\"☎\",\"π\":\"Ï€\",\"⋔\":\"â‹”\",\"ϖ\":\"Ï–\",\"ℏ\":\"â„\",\"ℎ\":\"ℎ\",\"ℏ\":\"â„\",\"+\":\"+\",\"⨣\":\"⨣\",\"⊞\":\"⊞\",\"⨢\":\"⨢\",\"∔\":\"∔\",\"⨥\":\"⨥\",\"⩲\":\"⩲\",\"±\":\"±\",\"±\":\"±\",\"⨦\":\"⨦\",\"⨧\":\"⨧\",\"±\":\"±\",\"⨕\":\"⨕\",\"𝕡\":\"ð•¡\",\"£\":\"£\",\"£\":\"£\",\"≺\":\"≺\",\"⪳\":\"⪳\",\"⪷\":\"⪷\",\"≼\":\"≼\",\"⪯\":\"⪯\",\"≺\":\"≺\",\"⪷\":\"⪷\",\"≼\":\"≼\",\"⪯\":\"⪯\",\"⪹\":\"⪹\",\"⪵\":\"⪵\",\"⋨\":\"⋨\",\"≾\":\"≾\",\"′\":\"′\",\"ℙ\":\"â„™\",\"⪵\":\"⪵\",\"⪹\":\"⪹\",\"⋨\":\"⋨\",\"∏\":\"âˆ\",\"⌮\":\"⌮\",\"⌒\":\"⌒\",\"⌓\":\"⌓\",\"∝\":\"âˆ\",\"∝\":\"âˆ\",\"≾\":\"≾\",\"⊰\":\"⊰\",\"𝓅\":\"ð“…\",\"ψ\":\"ψ\",\" \":\" \",\"𝔮\":\"ð”®\",\"⨌\":\"⨌\",\"𝕢\":\"ð•¢\",\"⁗\":\"â—\",\"𝓆\":\"ð“†\",\"ℍ\":\"â„\",\"⨖\":\"⨖\",\"?\":\"?\",\"≟\":\"≟\",\""\":\\'\"\\',\""\":\\'\"\\',\"⇛\":\"⇛\",\"⇒\":\"⇒\",\"⤜\":\"⤜\",\"⤏\":\"â¤\",\"⥤\":\"⥤\",\"∽̱\":\"∽̱\",\"ŕ\":\"Å•\",\"√\":\"√\",\"⦳\":\"⦳\",\"⟩\":\"⟩\",\"⦒\":\"⦒\",\"⦥\":\"⦥\",\"⟩\":\"⟩\",\"»\":\"»\",\"»\":\"»\",\"→\":\"→\",\"⥵\":\"⥵\",\"⇥\":\"⇥\",\"⤠\":\"⤠\",\"⤳\":\"⤳\",\"⤞\":\"⤞\",\"↪\":\"↪\",\"↬\":\"↬\",\"⥅\":\"⥅\",\"⥴\":\"⥴\",\"↣\":\"↣\",\"↝\":\"â†\",\"⤚\":\"⤚\",\"∶\":\"∶\",\"ℚ\":\"ℚ\",\"⤍\":\"â¤\",\"❳\":\"â³\",\"}\":\"}\",\"]\":\"]\",\"⦌\":\"⦌\",\"⦎\":\"⦎\",\"⦐\":\"â¦\",\"ř\":\"Å™\",\"ŗ\":\"Å—\",\"⌉\":\"⌉\",\"}\":\"}\",\"р\":\"Ñ€\",\"⤷\":\"⤷\",\"⥩\":\"⥩\",\"”\":\"â€\",\"”\":\"â€\",\"↳\":\"↳\",\"ℜ\":\"ℜ\",\"ℛ\":\"â„›\",\"ℜ\":\"ℜ\",\"ℝ\":\"â„\",\"▭\":\"â–\",\"®\":\"®\",\"®\":\"®\",\"⥽\":\"⥽\",\"⌋\":\"⌋\",\"𝔯\":\"ð”¯\",\"⇁\":\"â‡\",\"⇀\":\"⇀\",\"⥬\":\"⥬\",\"ρ\":\"Ï\",\"ϱ\":\"ϱ\",\"→\":\"→\",\"↣\":\"↣\",\"⇁\":\"â‡\",\"⇀\":\"⇀\",\"⇄\":\"⇄\",\"⇌\":\"⇌\",\"⇉\":\"⇉\",\"↝\":\"â†\",\"⋌\":\"⋌\",\"˚\":\"Ëš\",\"≓\":\"≓\",\"⇄\":\"⇄\",\"⇌\":\"⇌\",\"‏\":\"â€\",\"⎱\":\"⎱\",\"⎱\":\"⎱\",\"⫮\":\"â«®\",\"⟭\":\"âŸ\",\"⇾\":\"⇾\",\"⟧\":\"⟧\",\"⦆\":\"⦆\",\"𝕣\":\"ð•£\",\"⨮\":\"⨮\",\"⨵\":\"⨵\",\")\":\")\",\"⦔\":\"⦔\",\"⨒\":\"⨒\",\"⇉\":\"⇉\",\"›\":\"›\",\"𝓇\":\"ð“‡\",\"↱\":\"↱\",\"]\":\"]\",\"’\":\"’\",\"’\":\"’\",\"⋌\":\"⋌\",\"⋊\":\"⋊\",\"▹\":\"â–¹\",\"⊵\":\"⊵\",\"▸\":\"â–¸\",\"⧎\":\"â§Ž\",\"⥨\":\"⥨\",\"℞\":\"℞\",\"ś\":\"Å›\",\"‚\":\"‚\",\"≻\":\"≻\",\"⪴\":\"⪴\",\"⪸\":\"⪸\",\"š\":\"Å¡\",\"≽\":\"≽\",\"⪰\":\"⪰\",\"ş\":\"ÅŸ\",\"ŝ\":\"Å\",\"⪶\":\"⪶\",\"⪺\":\"⪺\",\"⋩\":\"â‹©\",\"⨓\":\"⨓\",\"≿\":\"≿\",\"с\":\"Ñ\",\"⋅\":\"â‹…\",\"⊡\":\"⊡\",\"⩦\":\"⩦\",\"⇘\":\"⇘\",\"⤥\":\"⤥\",\"↘\":\"↘\",\"↘\":\"↘\",\"§\":\"§\",\"§\":\"§\",\";\":\";\",\"⤩\":\"⤩\",\"∖\":\"∖\",\"∖\":\"∖\",\"✶\":\"✶\",\"𝔰\":\"ð”°\",\"⌢\":\"⌢\",\"♯\":\"♯\",\"щ\":\"щ\",\"ш\":\"ш\",\"∣\":\"∣\",\"∥\":\"∥\",\"­\":\"Â\",\"­\":\"Â\",\"σ\":\"σ\",\"ς\":\"Ï‚\",\"ς\":\"Ï‚\",\"∼\":\"∼\",\"⩪\":\"⩪\",\"≃\":\"≃\",\"≃\":\"≃\",\"⪞\":\"⪞\",\"⪠\":\"⪠\",\"⪝\":\"âª\",\"⪟\":\"⪟\",\"≆\":\"≆\",\"⨤\":\"⨤\",\"⥲\":\"⥲\",\"←\":\"â†\",\"∖\":\"∖\",\"⨳\":\"⨳\",\"⧤\":\"⧤\",\"∣\":\"∣\",\"⌣\":\"⌣\",\"⪪\":\"⪪\",\"⪬\":\"⪬\",\"⪬︀\":\"⪬︀\",\"ь\":\"ÑŒ\",\"/\":\"/\",\"⧄\":\"â§„\",\"⌿\":\"⌿\",\"𝕤\":\"ð•¤\",\"♠\":\"â™ \",\"♠\":\"â™ \",\"∥\":\"∥\",\"⊓\":\"⊓\",\"⊓︀\":\"⊓︀\",\"⊔\":\"⊔\",\"⊔︀\":\"⊔︀\",\"⊏\":\"âŠ\",\"⊑\":\"⊑\",\"⊏\":\"âŠ\",\"⊑\":\"⊑\",\"⊐\":\"âŠ\",\"⊒\":\"⊒\",\"⊐\":\"âŠ\",\"⊒\":\"⊒\",\"□\":\"â–¡\",\"□\":\"â–¡\",\"▪\":\"â–ª\",\"▪\":\"â–ª\",\"→\":\"→\",\"𝓈\":\"ð“ˆ\",\"∖\":\"∖\",\"⌣\":\"⌣\",\"⋆\":\"⋆\",\"☆\":\"☆\",\"★\":\"★\",\"ϵ\":\"ϵ\",\"ϕ\":\"Ï•\",\"¯\":\"¯\",\"⊂\":\"⊂\",\"⫅\":\"â«…\",\"⪽\":\"⪽\",\"⊆\":\"⊆\",\"⫃\":\"⫃\",\"⫁\":\"â«\",\"⫋\":\"â«‹\",\"⊊\":\"⊊\",\"⪿\":\"⪿\",\"⥹\":\"⥹\",\"⊂\":\"⊂\",\"⊆\":\"⊆\",\"⫅\":\"â«…\",\"⊊\":\"⊊\",\"⫋\":\"â«‹\",\"⫇\":\"⫇\",\"⫕\":\"â«•\",\"⫓\":\"â«“\",\"≻\":\"≻\",\"⪸\":\"⪸\",\"≽\":\"≽\",\"⪰\":\"⪰\",\"⪺\":\"⪺\",\"⪶\":\"⪶\",\"⋩\":\"â‹©\",\"≿\":\"≿\",\"∑\":\"∑\",\"♪\":\"♪\",\"¹\":\"¹\",\"¹\":\"¹\",\"²\":\"²\",\"²\":\"²\",\"³\":\"³\",\"³\":\"³\",\"⊃\":\"⊃\",\"⫆\":\"⫆\",\"⪾\":\"⪾\",\"⫘\":\"⫘\",\"⊇\":\"⊇\",\"⫄\":\"â«„\",\"⟉\":\"⟉\",\"⫗\":\"â«—\",\"⥻\":\"⥻\",\"⫂\":\"â«‚\",\"⫌\":\"⫌\",\"⊋\":\"⊋\",\"⫀\":\"â«€\",\"⊃\":\"⊃\",\"⊇\":\"⊇\",\"⫆\":\"⫆\",\"⊋\":\"⊋\",\"⫌\":\"⫌\",\"⫈\":\"⫈\",\"⫔\":\"â«”\",\"⫖\":\"â«–\",\"⇙\":\"⇙\",\"⤦\":\"⤦\",\"↙\":\"↙\",\"↙\":\"↙\",\"⤪\":\"⤪\",\"ß\":\"ß\",\"ß\":\"ß\",\"⌖\":\"⌖\",\"τ\":\"Ï„\",\"⎴\":\"⎴\",\"ť\":\"Å¥\",\"ţ\":\"Å£\",\"т\":\"Ñ‚\",\"⃛\":\"⃛\",\"⌕\":\"⌕\",\"𝔱\":\"ð”±\",\"∴\":\"∴\",\"∴\":\"∴\",\"θ\":\"θ\",\"ϑ\":\"Ï‘\",\"ϑ\":\"Ï‘\",\"≈\":\"≈\",\"∼\":\"∼\",\" \":\" \",\"≈\":\"≈\",\"∼\":\"∼\",\"þ\":\"þ\",\"þ\":\"þ\",\"˜\":\"Ëœ\",\"×\":\"×\",\"×\":\"×\",\"⊠\":\"⊠\",\"⨱\":\"⨱\",\"⨰\":\"⨰\",\"∭\":\"âˆ\",\"⤨\":\"⤨\",\"⊤\":\"⊤\",\"⌶\":\"⌶\",\"⫱\":\"⫱\",\"𝕥\":\"ð•¥\",\"⫚\":\"⫚\",\"⤩\":\"⤩\",\"‴\":\"‴\",\"™\":\"â„¢\",\"▵\":\"â–µ\",\"▿\":\"â–¿\",\"◃\":\"â—ƒ\",\"⊴\":\"⊴\",\"≜\":\"≜\",\"▹\":\"â–¹\",\"⊵\":\"⊵\",\"◬\":\"â—¬\",\"≜\":\"≜\",\"⨺\":\"⨺\",\"⨹\":\"⨹\",\"⧍\":\"â§\",\"⨻\":\"⨻\",\"⏢\":\"â¢\",\"𝓉\":\"ð“‰\",\"ц\":\"ц\",\"ћ\":\"Ñ›\",\"ŧ\":\"ŧ\",\"≬\":\"≬\",\"↞\":\"↞\",\"↠\":\"↠\",\"⇑\":\"⇑\",\"⥣\":\"⥣\",\"ú\":\"ú\",\"ú\":\"ú\",\"↑\":\"↑\",\"ў\":\"Ñž\",\"ŭ\":\"Å\",\"û\":\"û\",\"û\":\"û\",\"у\":\"у\",\"⇅\":\"⇅\",\"ű\":\"ű\",\"⥮\":\"⥮\",\"⥾\":\"⥾\",\"𝔲\":\"ð”²\",\"ù\":\"ù\",\"ù\":\"ù\",\"↿\":\"↿\",\"↾\":\"↾\",\"▀\":\"â–€\",\"⌜\":\"⌜\",\"⌜\":\"⌜\",\"⌏\":\"âŒ\",\"◸\":\"â—¸\",\"ū\":\"Å«\",\"¨\":\"¨\",\"¨\":\"¨\",\"ų\":\"ų\",\"𝕦\":\"ð•¦\",\"↑\":\"↑\",\"↕\":\"↕\",\"↿\":\"↿\",\"↾\":\"↾\",\"⊎\":\"⊎\",\"υ\":\"Ï…\",\"ϒ\":\"Ï’\",\"υ\":\"Ï…\",\"⇈\":\"⇈\",\"⌝\":\"âŒ\",\"⌝\":\"âŒ\",\"⌎\":\"⌎\",\"ů\":\"ů\",\"◹\":\"â—¹\",\"𝓊\":\"ð“Š\",\"⋰\":\"â‹°\",\"ũ\":\"Å©\",\"▵\":\"â–µ\",\"▴\":\"â–´\",\"⇈\":\"⇈\",\"ü\":\"ü\",\"ü\":\"ü\",\"⦧\":\"⦧\",\"⇕\":\"⇕\",\"⫨\":\"⫨\",\"⫩\":\"â«©\",\"⊨\":\"⊨\",\"⦜\":\"⦜\",\"ϵ\":\"ϵ\",\"ϰ\":\"ϰ\",\"∅\":\"∅\",\"ϕ\":\"Ï•\",\"ϖ\":\"Ï–\",\"∝\":\"âˆ\",\"↕\":\"↕\",\"ϱ\":\"ϱ\",\"ς\":\"Ï‚\",\"⊊︀\":\"⊊︀\",\"⫋︀\":\"⫋︀\",\"⊋︀\":\"⊋︀\",\"⫌︀\":\"⫌︀\",\"ϑ\":\"Ï‘\",\"⊲\":\"⊲\",\"⊳\":\"⊳\",\"в\":\"в\",\"⊢\":\"⊢\",\"∨\":\"∨\",\"⊻\":\"⊻\",\"≚\":\"≚\",\"⋮\":\"â‹®\",\"|\":\"|\",\"|\":\"|\",\"𝔳\":\"ð”³\",\"⊲\":\"⊲\",\"⊂⃒\":\"⊂⃒\",\"⊃⃒\":\"⊃⃒\",\"𝕧\":\"ð•§\",\"∝\":\"âˆ\",\"⊳\":\"⊳\",\"𝓋\":\"ð“‹\",\"⫋︀\":\"⫋︀\",\"⊊︀\":\"⊊︀\",\"⫌︀\":\"⫌︀\",\"⊋︀\":\"⊋︀\",\"⦚\":\"⦚\",\"ŵ\":\"ŵ\",\"⩟\":\"⩟\",\"∧\":\"∧\",\"≙\":\"≙\",\"℘\":\"℘\",\"𝔴\":\"ð”´\",\"𝕨\":\"ð•¨\",\"℘\":\"℘\",\"≀\":\"≀\",\"≀\":\"≀\",\"𝓌\":\"ð“Œ\",\"⋂\":\"â‹‚\",\"◯\":\"â—¯\",\"⋃\":\"⋃\",\"▽\":\"â–½\",\"𝔵\":\"ð”µ\",\"⟺\":\"⟺\",\"⟷\":\"⟷\",\"ξ\":\"ξ\",\"⟸\":\"⟸\",\"⟵\":\"⟵\",\"⟼\":\"⟼\",\"⋻\":\"â‹»\",\"⨀\":\"⨀\",\"𝕩\":\"ð•©\",\"⨁\":\"â¨\",\"⨂\":\"⨂\",\"⟹\":\"⟹\",\"⟶\":\"⟶\",\"𝓍\":\"ð“\",\"⨆\":\"⨆\",\"⨄\":\"⨄\",\"△\":\"â–³\",\"⋁\":\"â‹\",\"⋀\":\"â‹€\",\"ý\":\"ý\",\"ý\":\"ý\",\"я\":\"Ñ\",\"ŷ\":\"Å·\",\"ы\":\"Ñ‹\",\"¥\":\"Â¥\",\"¥\":\"Â¥\",\"𝔶\":\"ð”¶\",\"ї\":\"Ñ—\",\"𝕪\":\"ð•ª\",\"𝓎\":\"ð“Ž\",\"ю\":\"ÑŽ\",\"ÿ\":\"ÿ\",\"ÿ\":\"ÿ\",\"ź\":\"ź\",\"ž\":\"ž\",\"з\":\"з\",\"ż\":\"ż\",\"ℨ\":\"ℨ\",\"ζ\":\"ζ\",\"𝔷\":\"ð”·\",\"ж\":\"ж\",\"⇝\":\"â‡\",\"𝕫\":\"ð•«\",\"𝓏\":\"ð“\",\"‍\":\"â€\",\"‌\":\"‌\"},characters:{Æ:\"Æ\",\"&\":\"&\",Ã:\"Á\",Ä‚:\"Ă\",Â:\"Â\",Ð:\"А\",ð”„:\"𝔄\",À:\"À\",Α:\"Α\",Ä€:\"Ā\",\"â©“\":\"⩓\",Ä„:\"Ą\",ð”¸:\"𝔸\",\"â¡\":\"⁡\",Ã…:\"Å\",ð’œ:\"𝒜\",\"≔\":\"≔\",Ã:\"Ã\",Ä:\"Ä\",\"∖\":\"∖\",\"â«§\":\"⫧\",\"⌆\":\"⌆\",Б:\"Б\",\"∵\":\"∵\",ℬ:\"ℬ\",Î’:\"Β\",ð”…:\"𝔅\",ð”¹:\"𝔹\",\"˘\":\"˘\",\"≎\":\"≎\",Ч:\"Ч\",\"©\":\"©\",Ć:\"Ć\",\"â‹’\":\"⋒\",â……:\"ⅅ\",â„:\"ℭ\",ÄŒ:\"Č\",Ç:\"Ç\",Ĉ:\"Ĉ\",\"∰\":\"∰\",ÄŠ:\"Ċ\",\"¸\":\"¸\",\"·\":\"·\",Χ:\"Χ\",\"⊙\":\"⊙\",\"⊖\":\"⊖\",\"⊕\":\"⊕\",\"⊗\":\"⊗\",\"∲\":\"∲\",\"â€\":\"”\",\"’\":\"’\",\"∷\":\"∷\",\"â©´\":\"⩴\",\"≡\":\"≡\",\"∯\":\"∯\",\"∮\":\"∮\",â„‚:\"ℂ\",\"âˆ\":\"∐\",\"∳\":\"∳\",\"⨯\":\"⨯\",ð’ž:\"𝒞\",\"â‹“\":\"⋓\",\"â‰\":\"≍\",\"⤑\":\"⤑\",Ђ:\"Ђ\",Ð…:\"Ѕ\",Ð:\"Џ\",\"‡\":\"‡\",\"↡\":\"↡\",\"⫤\":\"⫤\",ÄŽ:\"Ď\",Д:\"Д\",\"∇\":\"∇\",Δ:\"Δ\",ð”‡:\"𝔇\",\"´\":\"´\",\"Ë™\":\"˙\",\"Ë\":\"˝\",\"`\":\"`\",\"Ëœ\":\"˜\",\"â‹„\":\"⋄\",â…†:\"ⅆ\",ð”»:\"𝔻\",\"¨\":\"¨\",\"⃜\":\"⃜\",\"â‰\":\"≐\",\"⇓\":\"⇓\",\"â‡\":\"⇐\",\"⇔\":\"⇔\",\"⟸\":\"⟸\",\"⟺\":\"⟺\",\"⟹\":\"⟹\",\"⇒\":\"⇒\",\"⊨\":\"⊨\",\"⇑\":\"⇑\",\"⇕\":\"⇕\",\"∥\":\"∥\",\"↓\":\"↓\",\"⤓\":\"⤓\",\"⇵\":\"⇵\",\"Ì‘\":\"̑\",\"â¥\":\"⥐\",\"⥞\":\"⥞\",\"↽\":\"↽\",\"⥖\":\"⥖\",\"⥟\":\"⥟\",\"â‡\":\"⇁\",\"⥗\":\"⥗\",\"⊤\":\"⊤\",\"↧\":\"↧\",ð’Ÿ:\"𝒟\",Ä:\"Đ\",ÅŠ:\"Ŋ\",Ã:\"Ð\",É:\"É\",Äš:\"Ě\",Ê:\"Ê\",Ð:\"Э\",Ä–:\"Ė\",ð”ˆ:\"𝔈\",È:\"È\",\"∈\":\"∈\",Ä’:\"Ē\",\"â—»\":\"◻\",\"â–«\":\"▫\",Ę:\"Ę\",ð”¼:\"𝔼\",Ε:\"Ε\",\"⩵\":\"⩵\",\"≂\":\"≂\",\"⇌\":\"⇌\",â„°:\"ℰ\",\"⩳\":\"⩳\",Η:\"Η\",Ë:\"Ë\",\"∃\":\"∃\",â…‡:\"ⅇ\",Ф:\"Ф\",ð”‰:\"𝔉\",\"â—¼\":\"◼\",\"â–ª\":\"▪\",ð”½:\"𝔽\",\"∀\":\"∀\",ℱ:\"ℱ\",Ѓ:\"Ѓ\",\">\":\">\",Γ:\"Γ\",Ïœ:\"Ϝ\",Äž:\"Ğ\",Ä¢:\"Ģ\",Äœ:\"Ĝ\",Г:\"Г\",Ä :\"Ġ\",ð”Š:\"𝔊\",\"â‹™\":\"⋙\",ð”¾:\"𝔾\",\"≥\":\"≥\",\"â‹›\":\"⋛\",\"≧\":\"≧\",\"⪢\":\"⪢\",\"≷\":\"≷\",\"⩾\":\"⩾\",\"≳\":\"≳\",ð’¢:\"𝒢\",\"≫\":\"≫\",Ъ:\"Ъ\",ˇ:\"ˇ\",\"^\":\"^\",Ĥ:\"Ĥ\",ℌ:\"ℌ\",â„‹:\"ℋ\",â„:\"ℍ\",\"─\":\"─\",Ħ:\"Ħ\",\"â‰\":\"≏\",Е:\"Е\",IJ:\"IJ\",Ð:\"Ё\",Ã:\"Í\",ÃŽ:\"Î\",И:\"И\",İ:\"İ\",â„‘:\"ℑ\",ÃŒ:\"Ì\",Ī:\"Ī\",â…ˆ:\"ⅈ\",\"∬\":\"∬\",\"∫\":\"∫\",\"â‹‚\":\"⋂\",\"â£\":\"⁣\",\"â¢\":\"⁢\",Ä®:\"Į\",ð•€:\"𝕀\",Ι:\"Ι\",â„:\"ℐ\",Ĩ:\"Ĩ\",І:\"І\",Ã:\"Ï\",Ä´:\"Ĵ\",Й:\"Й\",ð”:\"𝔍\",ð•:\"𝕁\",ð’¥:\"𝒥\",Ј:\"Ј\",Є:\"Є\",Ð¥:\"Х\",ÐŒ:\"Ќ\",Κ:\"Κ\",Ķ:\"Ķ\",К:\"К\",ð”Ž:\"𝔎\",ð•‚:\"𝕂\",ð’¦:\"𝒦\",Љ:\"Љ\",\"<\":\"<\",Ĺ:\"Ĺ\",Λ:\"Λ\",\"⟪\":\"⟪\",â„’:\"ℒ\",\"↞\":\"↞\",Ľ:\"Ľ\",Ä»:\"Ļ\",Л:\"Л\",\"⟨\":\"⟨\",\"â†\":\"←\",\"⇤\":\"⇤\",\"⇆\":\"⇆\",\"⌈\":\"⌈\",\"⟦\":\"⟦\",\"⥡\":\"⥡\",\"⇃\":\"⇃\",\"⥙\":\"⥙\",\"⌊\":\"⌊\",\"↔\":\"↔\",\"⥎\":\"⥎\",\"⊣\":\"⊣\",\"↤\":\"↤\",\"⥚\":\"⥚\",\"⊲\":\"⊲\",\"â§\":\"⧏\",\"⊴\":\"⊴\",\"⥑\":\"⥑\",\"⥠\":\"⥠\",\"↿\":\"↿\",\"⥘\":\"⥘\",\"↼\":\"↼\",\"⥒\":\"⥒\",\"⋚\":\"⋚\",\"≦\":\"≦\",\"≶\":\"≶\",\"⪡\":\"⪡\",\"⩽\":\"⩽\",\"≲\":\"≲\",ð”:\"𝔏\",\"⋘\":\"⋘\",\"⇚\":\"⇚\",Ä¿:\"Ŀ\",\"⟵\":\"⟵\",\"⟷\":\"⟷\",\"⟶\":\"⟶\",ð•ƒ:\"𝕃\",\"↙\":\"↙\",\"↘\":\"↘\",\"↰\":\"↰\",Å:\"Ł\",\"≪\":\"≪\",\"⤅\":\"⤅\",М:\"М\",\"âŸ\":\" \",ℳ:\"ℳ\",ð”:\"𝔐\",\"∓\":\"∓\",ð•„:\"𝕄\",Μ:\"Μ\",Њ:\"Њ\",Ń:\"Ń\",Ň:\"Ň\",Å…:\"Ņ\",Ð:\"Н\",\"​\":\"​\",\"\\\\n\":\"
\",ð”‘:\"𝔑\",\"â \":\"⁠\",\" \":\" \",â„•:\"ℕ\",\"⫬\":\"⫬\",\"≢\":\"≢\",\"â‰\":\"≭\",\"∦\":\"∦\",\"∉\":\"∉\",\"≠\":\"≠\",\"≂̸\":\"≂̸\",\"∄\":\"∄\",\"≯\":\"≯\",\"≱\":\"≱\",\"≧̸\":\"≧̸\",\"≫̸\":\"≫̸\",\"≹\":\"≹\",\"⩾̸\":\"⩾̸\",\"≵\":\"≵\",\"≎̸\":\"≎̸\",\"â‰Ì¸\":\"≏̸\",\"⋪\":\"⋪\",\"â§Ì¸\":\"⧏̸\",\"⋬\":\"⋬\",\"≮\":\"≮\",\"≰\":\"≰\",\"≸\":\"≸\",\"≪̸\":\"≪̸\",\"⩽̸\":\"⩽̸\",\"≴\":\"≴\",\"⪢̸\":\"⪢̸\",\"⪡̸\":\"⪡̸\",\"⊀\":\"⊀\",\"⪯̸\":\"⪯̸\",\"â‹ \":\"⋠\",\"∌\":\"∌\",\"â‹«\":\"⋫\",\"â§Ì¸\":\"⧐̸\",\"â‹\":\"⋭\",\"âŠÌ¸\":\"⊏̸\",\"â‹¢\":\"⋢\",\"âŠÌ¸\":\"⊐̸\",\"â‹£\":\"⋣\",\"⊂⃒\":\"⊂⃒\",\"⊈\":\"⊈\",\"âŠ\":\"⊁\",\"⪰̸\":\"⪰̸\",\"â‹¡\":\"⋡\",\"≿̸\":\"≿̸\",\"⊃⃒\":\"⊃⃒\",\"⊉\":\"⊉\",\"â‰\":\"≁\",\"≄\":\"≄\",\"≇\":\"≇\",\"≉\":\"≉\",\"∤\":\"∤\",ð’©:\"𝒩\",Ñ:\"Ñ\",Î:\"Ν\",Å’:\"Œ\",Ó:\"Ó\",Ô:\"Ô\",О:\"О\",Å:\"Ő\",ð”’:\"𝔒\",Ã’:\"Ò\",ÅŒ:\"Ō\",Ω:\"Ω\",Ο:\"Ο\",ð•†:\"𝕆\",\"“\":\"“\",\"‘\":\"‘\",\"â©”\":\"⩔\",ð’ª:\"𝒪\",Ø:\"Ø\",Õ:\"Õ\",\"⨷\":\"⨷\",Ö:\"Ö\",\"‾\":\"‾\",\"âž\":\"⏞\",\"⎴\":\"⎴\",\"âœ\":\"⏜\",\"∂\":\"∂\",П:\"П\",ð”“:\"𝔓\",Φ:\"Φ\",Î :\"Π\",\"±\":\"±\",â„™:\"ℙ\",\"⪻\":\"⪻\",\"≺\":\"≺\",\"⪯\":\"⪯\",\"≼\":\"≼\",\"≾\":\"≾\",\"″\":\"″\",\"âˆ\":\"∏\",\"âˆ\":\"∝\",ð’«:\"𝒫\",Ψ:\"Ψ\",\\'\"\\':\""\",ð””:\"𝔔\",ℚ:\"ℚ\",ð’¬:\"𝒬\",\"â¤\":\"⤐\",\"®\":\"®\",Å”:\"Ŕ\",\"⟫\":\"⟫\",\"↠\":\"↠\",\"⤖\":\"⤖\",Ř:\"Ř\",Å–:\"Ŗ\",Ð :\"Р\",ℜ:\"ℜ\",\"∋\":\"∋\",\"⇋\":\"⇋\",\"⥯\":\"⥯\",Ρ:\"Ρ\",\"⟩\":\"⟩\",\"→\":\"→\",\"⇥\":\"⇥\",\"⇄\":\"⇄\",\"⌉\":\"⌉\",\"⟧\":\"⟧\",\"â¥\":\"⥝\",\"⇂\":\"⇂\",\"⥕\":\"⥕\",\"⌋\":\"⌋\",\"⊢\":\"⊢\",\"↦\":\"↦\",\"⥛\":\"⥛\",\"⊳\":\"⊳\",\"â§\":\"⧐\",\"⊵\":\"⊵\",\"â¥\":\"⥏\",\"⥜\":\"⥜\",\"↾\":\"↾\",\"⥔\":\"⥔\",\"⇀\":\"⇀\",\"⥓\":\"⥓\",â„:\"ℝ\",\"⥰\":\"⥰\",\"⇛\":\"⇛\",â„›:\"ℛ\",\"↱\":\"↱\",\"â§´\":\"⧴\",Щ:\"Щ\",Ш:\"Ш\",Ь:\"Ь\",Åš:\"Ś\",\"⪼\":\"⪼\",Å :\"Š\",Åž:\"Ş\",Åœ:\"Ŝ\",С:\"С\",ð”–:\"𝔖\",\"↑\":\"↑\",Σ:\"Σ\",\"∘\":\"∘\",ð•Š:\"𝕊\",\"√\":\"√\",\"â–¡\":\"□\",\"⊓\":\"⊓\",\"âŠ\":\"⊏\",\"⊑\":\"⊑\",\"âŠ\":\"⊐\",\"⊒\":\"⊒\",\"⊔\":\"⊔\",ð’®:\"𝒮\",\"⋆\":\"⋆\",\"â‹\":\"⋐\",\"⊆\":\"⊆\",\"≻\":\"≻\",\"⪰\":\"⪰\",\"≽\":\"≽\",\"≿\":\"≿\",\"∑\":\"∑\",\"â‹‘\":\"⋑\",\"⊃\":\"⊃\",\"⊇\":\"⊇\",Þ:\"Þ\",\"â„¢\":\"™\",Ћ:\"Ћ\",Ц:\"Ц\",\"\\\\t\":\"	\",Τ:\"Τ\",Ť:\"Ť\",Å¢:\"Ţ\",Т:\"Т\",ð”—:\"𝔗\",\"∴\":\"∴\",Θ:\"Θ\",\"âŸâ€Š\":\"  \",\" \":\" \",\"∼\":\"∼\",\"≃\":\"≃\",\"≅\":\"≅\",\"≈\":\"≈\",ð•‹:\"𝕋\",\"⃛\":\"⃛\",ð’¯:\"𝒯\",Ŧ:\"Ŧ\",Ú:\"Ú\",\"↟\":\"↟\",\"⥉\":\"⥉\",ÐŽ:\"Ў\",Ŭ:\"Ŭ\",Û:\"Û\",У:\"У\",Ű:\"Ű\",ð”˜:\"𝔘\",Ù:\"Ù\",Ū:\"Ū\",_:\"_\",\"âŸ\":\"⏟\",\"⎵\":\"⎵\",\"â\":\"⏝\",\"⋃\":\"⋃\",\"⊎\":\"⊎\",Ų:\"Ų\",ð•Œ:\"𝕌\",\"⤒\":\"⤒\",\"⇅\":\"⇅\",\"↕\":\"↕\",\"⥮\":\"⥮\",\"⊥\":\"⊥\",\"↥\":\"↥\",\"↖\":\"↖\",\"↗\":\"↗\",Ï’:\"ϒ\",Î¥:\"Υ\",Å®:\"Ů\",ð’°:\"𝒰\",Ũ:\"Ũ\",Ü:\"Ü\",\"⊫\":\"⊫\",\"â««\":\"⫫\",Ð’:\"В\",\"⊩\":\"⊩\",\"⫦\":\"⫦\",\"â‹\":\"⋁\",\"‖\":\"‖\",\"∣\":\"∣\",\"|\":\"|\",\"â˜\":\"❘\",\"≀\":\"≀\",\" \":\" \",ð”™:\"𝔙\",ð•:\"𝕍\",ð’±:\"𝒱\",\"⊪\":\"⊪\",Å´:\"Ŵ\",\"â‹€\":\"⋀\",ð”š:\"𝔚\",ð•Ž:\"𝕎\",ð’²:\"𝒲\",ð”›:\"𝔛\",Ξ:\"Ξ\",ð•:\"𝕏\",ð’³:\"𝒳\",Я:\"Я\",Ї:\"Ї\",Ю:\"Ю\",Ã:\"Ý\",Ŷ:\"Ŷ\",Ы:\"Ы\",ð”œ:\"𝔜\",ð•:\"𝕐\",ð’´:\"𝒴\",Ÿ:\"Ÿ\",Ж:\"Ж\",Ź:\"Ź\",Ž:\"Ž\",З:\"З\",Å»:\"Ż\",Ζ:\"Ζ\",ℨ:\"ℨ\",ℤ:\"ℤ\",ð’µ:\"𝒵\",á:\"á\",ă:\"ă\",\"∾\":\"∾\",\"∾̳\":\"∾̳\",\"∿\":\"∿\",â:\"â\",а:\"а\",æ:\"æ\",ð”ž:\"𝔞\",à :\"à\",ℵ:\"ℵ\",α:\"α\",Ä:\"ā\",\"⨿\":\"⨿\",\"∧\":\"∧\",\"â©•\":\"⩕\",\"⩜\":\"⩜\",\"⩘\":\"⩘\",\"⩚\":\"⩚\",\"∠\":\"∠\",\"⦤\":\"⦤\",\"∡\":\"∡\",\"⦨\":\"⦨\",\"⦩\":\"⦩\",\"⦪\":\"⦪\",\"⦫\":\"⦫\",\"⦬\":\"⦬\",\"â¦\":\"⦭\",\"⦮\":\"⦮\",\"⦯\":\"⦯\",\"∟\":\"∟\",\"⊾\":\"⊾\",\"â¦\":\"⦝\",\"∢\":\"∢\",\"â¼\":\"⍼\",Ä…:\"ą\",ð•’:\"𝕒\",\"â©°\":\"⩰\",\"⩯\":\"⩯\",\"≊\":\"≊\",\"≋\":\"≋\",\"\\'\":\"'\",Ã¥:\"å\",ð’¶:\"𝒶\",\"*\":\"*\",ã:\"ã\",ä:\"ä\",\"⨑\":\"⨑\",\"â«\":\"⫭\",\"≌\":\"≌\",\"϶\":\"϶\",\"‵\":\"‵\",\"∽\":\"∽\",\"â‹\":\"⋍\",\"⊽\":\"⊽\",\"⌅\":\"⌅\",\"⎶\":\"⎶\",б:\"б\",\"„\":\"„\",\"⦰\":\"⦰\",β:\"β\",â„¶:\"ℶ\",\"≬\":\"≬\",ð”Ÿ:\"𝔟\",\"â—¯\":\"◯\",\"⨀\":\"⨀\",\"â¨\":\"⨁\",\"⨂\":\"⨂\",\"⨆\":\"⨆\",\"★\":\"★\",\"â–½\":\"▽\",\"â–³\":\"△\",\"⨄\":\"⨄\",\"â¤\":\"⤍\",\"â§«\":\"⧫\",\"â–´\":\"▴\",\"â–¾\":\"▾\",\"â—‚\":\"◂\",\"â–¸\":\"▸\",\"â£\":\"␣\",\"â–’\":\"▒\",\"â–‘\":\"░\",\"â–“\":\"▓\",\"â–ˆ\":\"█\",\"=⃥\":\"=⃥\",\"≡⃥\":\"≡⃥\",\"âŒ\":\"⌐\",ð•“:\"𝕓\",\"⋈\":\"⋈\",\"â•—\":\"╗\",\"â•”\":\"╔\",\"â•–\":\"╖\",\"â•“\":\"╓\",\"â•\":\"═\",\"╦\":\"╦\",\"â•©\":\"╩\",\"╤\":\"╤\",\"â•§\":\"╧\",\"â•\":\"╝\",\"╚\":\"╚\",\"╜\":\"╜\",\"â•™\":\"╙\",\"â•‘\":\"║\",\"╬\":\"╬\",\"â•£\":\"╣\",\"â• \":\"╠\",\"â•«\":\"╫\",\"â•¢\":\"╢\",\"╟\":\"╟\",\"⧉\":\"⧉\",\"â••\":\"╕\",\"â•’\":\"╒\",\"â”\":\"┐\",\"┌\":\"┌\",\"â•¥\":\"╥\",\"╨\":\"╨\",\"┬\":\"┬\",\"â”´\":\"┴\",\"⊟\":\"⊟\",\"⊞\":\"⊞\",\"⊠\":\"⊠\",\"â•›\":\"╛\",\"╘\":\"╘\",\"┘\":\"┘\",\"â””\":\"└\",\"│\":\"│\",\"╪\":\"╪\",\"â•¡\":\"╡\",\"╞\":\"╞\",\"┼\":\"┼\",\"┤\":\"┤\",\"├\":\"├\",\"¦\":\"¦\",ð’·:\"𝒷\",\"â\":\"⁏\",\"\\\\\\\\\":\"\\",\"â§…\":\"⧅\",\"⟈\":\"⟈\",\"•\":\"•\",\"⪮\":\"⪮\",ć:\"ć\",\"∩\":\"∩\",\"â©„\":\"⩄\",\"⩉\":\"⩉\",\"â©‹\":\"⩋\",\"⩇\":\"⩇\",\"â©€\":\"⩀\",\"∩︀\":\"∩︀\",\"â\":\"⁁\",\"â©\":\"⩍\",Ä:\"č\",ç:\"ç\",ĉ:\"ĉ\",\"⩌\":\"⩌\",\"â©\":\"⩐\",Ä‹:\"ċ\",\"⦲\":\"⦲\",\"¢\":\"¢\",ð” :\"𝔠\",ч:\"ч\",\"✓\":\"✓\",χ:\"χ\",\"â—‹\":\"○\",\"⧃\":\"⧃\",ˆ:\"ˆ\",\"≗\":\"≗\",\"↺\":\"↺\",\"↻\":\"↻\",\"Ⓢ\":\"Ⓢ\",\"⊛\":\"⊛\",\"⊚\":\"⊚\",\"âŠ\":\"⊝\",\"â¨\":\"⨐\",\"⫯\":\"⫯\",\"â§‚\":\"⧂\",\"♣\":\"♣\",\":\":\":\",\",\":\",\",\"@\":\"@\",\"âˆ\":\"∁\",\"â©\":\"⩭\",ð•”:\"𝕔\",\"â„—\":\"℗\",\"↵\":\"↵\",\"✗\":\"✗\",ð’¸:\"𝒸\",\"â«\":\"⫏\",\"â«‘\":\"⫑\",\"â«\":\"⫐\",\"â«’\":\"⫒\",\"⋯\":\"⋯\",\"⤸\":\"⤸\",\"⤵\":\"⤵\",\"⋞\":\"⋞\",\"⋟\":\"⋟\",\"↶\":\"↶\",\"⤽\":\"⤽\",\"∪\":\"∪\",\"⩈\":\"⩈\",\"⩆\":\"⩆\",\"⩊\":\"⩊\",\"âŠ\":\"⊍\",\"â©…\":\"⩅\",\"∪︀\":\"∪︀\",\"↷\":\"↷\",\"⤼\":\"⤼\",\"⋎\":\"⋎\",\"â‹\":\"⋏\",\"¤\":\"¤\",\"∱\":\"∱\",\"âŒ\":\"⌭\",\"⥥\":\"⥥\",\"†\":\"†\",ℸ:\"ℸ\",\"â€\":\"‐\",\"â¤\":\"⤏\",Ä:\"ď\",д:\"д\",\"⇊\":\"⇊\",\"â©·\":\"⩷\",\"°\":\"°\",δ:\"δ\",\"⦱\":\"⦱\",\"⥿\":\"⥿\",ð”¡:\"𝔡\",\"♦\":\"♦\",Ï:\"ϝ\",\"⋲\":\"⋲\",\"÷\":\"÷\",\"⋇\":\"⋇\",Ñ’:\"ђ\",\"⌞\":\"⌞\",\"âŒ\":\"⌍\",$:\"$\",ð••:\"𝕕\",\"≑\":\"≑\",\"∸\":\"∸\",\"∔\":\"∔\",\"⊡\":\"⊡\",\"⌟\":\"⌟\",\"⌌\":\"⌌\",ð’¹:\"𝒹\",Ñ•:\"ѕ\",\"â§¶\":\"⧶\",Ä‘:\"đ\",\"⋱\":\"⋱\",\"â–¿\":\"▿\",\"⦦\":\"⦦\",ÑŸ:\"џ\",\"⟿\":\"⟿\",é:\"é\",\"â©®\":\"⩮\",Ä›:\"ě\",\"≖\":\"≖\",ê:\"ê\",\"≕\":\"≕\",Ñ:\"э\",Ä—:\"ė\",\"≒\":\"≒\",ð”¢:\"𝔢\",\"⪚\":\"⪚\",è:\"è\",\"⪖\":\"⪖\",\"⪘\":\"⪘\",\"⪙\":\"⪙\",\"â§\":\"⏧\",â„“:\"ℓ\",\"⪕\":\"⪕\",\"⪗\":\"⪗\",Ä“:\"ē\",\"∅\":\"∅\",\" \":\" \",\" \":\" \",\" \":\" \",Å‹:\"ŋ\",\" \":\" \",Ä™:\"ę\",ð•–:\"𝕖\",\"â‹•\":\"⋕\",\"â§£\":\"⧣\",\"⩱\":\"⩱\",ε:\"ε\",ϵ:\"ϵ\",\"=\":\"=\",\"≟\":\"≟\",\"⩸\":\"⩸\",\"â§¥\":\"⧥\",\"≓\":\"≓\",\"⥱\":\"⥱\",ℯ:\"ℯ\",η:\"η\",ð:\"ð\",ë:\"ë\",\"€\":\"€\",\"!\":\"!\",Ñ„:\"ф\",\"♀\":\"♀\",ffi:\"ffi\",ff:\"ff\",ffl:\"ffl\",ð”£:\"𝔣\",ï¬:\"fi\",fj:\"fj\",\"â™\":\"♭\",fl:\"fl\",\"â–±\":\"▱\",Æ’:\"ƒ\",ð•—:\"𝕗\",\"â‹”\":\"⋔\",\"â«™\":\"⫙\",\"â¨\":\"⨍\",\"½\":\"½\",\"â…“\":\"⅓\",\"¼\":\"¼\",\"â…•\":\"⅕\",\"â…™\":\"⅙\",\"â…›\":\"⅛\",\"â…”\":\"⅔\",\"â…–\":\"⅖\",\"¾\":\"¾\",\"â…—\":\"⅗\",\"â…œ\":\"⅜\",\"â…˜\":\"⅘\",\"â…š\":\"⅚\",\"â…\":\"⅝\",\"â…ž\":\"⅞\",\"â„\":\"⁄\",\"⌢\":\"⌢\",ð’»:\"𝒻\",\"⪌\":\"⪌\",ǵ:\"ǵ\",γ:\"γ\",\"⪆\":\"⪆\",ÄŸ:\"ğ\",Ä:\"ĝ\",г:\"г\",Ä¡:\"ġ\",\"⪩\":\"⪩\",\"⪀\":\"⪀\",\"⪂\":\"⪂\",\"⪄\":\"⪄\",\"⋛︀\":\"⋛︀\",\"⪔\":\"⪔\",ð”¤:\"𝔤\",â„·:\"ℷ\",Ñ“:\"ѓ\",\"⪒\":\"⪒\",\"⪥\":\"⪥\",\"⪤\":\"⪤\",\"≩\":\"≩\",\"⪊\":\"⪊\",\"⪈\":\"⪈\",\"â‹§\":\"⋧\",ð•˜:\"𝕘\",ℊ:\"ℊ\",\"⪎\":\"⪎\",\"âª\":\"⪐\",\"⪧\":\"⪧\",\"⩺\":\"⩺\",\"â‹—\":\"⋗\",\"⦕\":\"⦕\",\"⩼\":\"⩼\",\"⥸\":\"⥸\",\"≩︀\":\"≩︀\",ÑŠ:\"ъ\",\"⥈\":\"⥈\",\"â†\":\"↭\",â„:\"ℏ\",Ä¥:\"ĥ\",\"♥\":\"♥\",\"…\":\"…\",\"⊹\":\"⊹\",ð”¥:\"𝔥\",\"⤥\":\"⤥\",\"⤦\":\"⤦\",\"⇿\":\"⇿\",\"∻\":\"∻\",\"↩\":\"↩\",\"↪\":\"↪\",ð•™:\"𝕙\",\"―\":\"―\",ð’½:\"𝒽\",ħ:\"ħ\",\"âƒ\":\"⁃\",Ã:\"í\",î:\"î\",и:\"и\",е:\"е\",\"¡\":\"¡\",ð”¦:\"𝔦\",ì:\"ì\",\"⨌\":\"⨌\",\"âˆ\":\"∭\",\"â§œ\":\"⧜\",\"â„©\":\"℩\",ij:\"ij\",Ä«:\"ī\",ı:\"ı\",\"⊷\":\"⊷\",Ƶ:\"Ƶ\",\"â„…\":\"℅\",\"∞\":\"∞\",\"â§\":\"⧝\",\"⊺\":\"⊺\",\"⨗\":\"⨗\",\"⨼\":\"⨼\",Ñ‘:\"ё\",į:\"į\",ð•š:\"𝕚\",ι:\"ι\",\"¿\":\"¿\",ð’¾:\"𝒾\",\"⋹\":\"⋹\",\"⋵\":\"⋵\",\"â‹´\":\"⋴\",\"⋳\":\"⋳\",Ä©:\"ĩ\",Ñ–:\"і\",ï:\"ï\",ĵ:\"ĵ\",й:\"й\",ð”§:\"𝔧\",È·:\"ȷ\",ð•›:\"𝕛\",ð’¿:\"𝒿\",ј:\"ј\",Ñ”:\"є\",κ:\"κ\",ϰ:\"ϰ\",Ä·:\"ķ\",к:\"к\",ð”¨:\"𝔨\",ĸ:\"ĸ\",Ñ…:\"х\",Ñœ:\"ќ\",ð•œ:\"𝕜\",ð“€:\"𝓀\",\"⤛\":\"⤛\",\"⤎\":\"⤎\",\"⪋\":\"⪋\",\"⥢\":\"⥢\",ĺ:\"ĺ\",\"⦴\":\"⦴\",λ:\"λ\",\"⦑\":\"⦑\",\"⪅\":\"⪅\",\"«\":\"«\",\"⤟\":\"⤟\",\"â¤\":\"⤝\",\"↫\":\"↫\",\"⤹\":\"⤹\",\"⥳\":\"⥳\",\"↢\":\"↢\",\"⪫\":\"⪫\",\"⤙\":\"⤙\",\"âª\":\"⪭\",\"âªï¸€\":\"⪭︀\",\"⤌\":\"⤌\",\"â²\":\"❲\",\"{\":\"{\",\"[\":\"[\",\"⦋\":\"⦋\",\"â¦\":\"⦏\",\"â¦\":\"⦍\",ľ:\"ľ\",ļ:\"ļ\",л:\"л\",\"⤶\":\"⤶\",\"⥧\":\"⥧\",\"⥋\":\"⥋\",\"↲\":\"↲\",\"≤\":\"≤\",\"⇇\":\"⇇\",\"â‹‹\":\"⋋\",\"⪨\":\"⪨\",\"â©¿\":\"⩿\",\"âª\":\"⪁\",\"⪃\":\"⪃\",\"⋚︀\":\"⋚︀\",\"⪓\":\"⪓\",\"â‹–\":\"⋖\",\"⥼\":\"⥼\",ð”©:\"𝔩\",\"⪑\":\"⪑\",\"⥪\":\"⥪\",\"â–„\":\"▄\",Ñ™:\"љ\",\"⥫\":\"⥫\",\"â—º\":\"◺\",Å€:\"ŀ\",\"⎰\":\"⎰\",\"≨\":\"≨\",\"⪉\":\"⪉\",\"⪇\":\"⪇\",\"⋦\":\"⋦\",\"⟬\":\"⟬\",\"⇽\":\"⇽\",\"⟼\":\"⟼\",\"↬\":\"↬\",\"⦅\":\"⦅\",ð•:\"𝕝\",\"â¨\":\"⨭\",\"⨴\":\"⨴\",\"∗\":\"∗\",\"â—Š\":\"◊\",\"(\":\"(\",\"⦓\":\"⦓\",\"â¥\":\"⥭\",\"‎\":\"‎\",\"⊿\":\"⊿\",\"‹\":\"‹\",ð“:\"𝓁\",\"âª\":\"⪍\",\"âª\":\"⪏\",\"‚\":\"‚\",Å‚:\"ł\",\"⪦\":\"⪦\",\"⩹\":\"⩹\",\"⋉\":\"⋉\",\"⥶\":\"⥶\",\"â©»\":\"⩻\",\"⦖\":\"⦖\",\"â—ƒ\":\"◃\",\"⥊\":\"⥊\",\"⥦\":\"⥦\",\"≨︀\":\"≨︀\",\"∺\":\"∺\",\"¯\":\"¯\",\"♂\":\"♂\",\"✠\":\"✠\",\"â–®\":\"▮\",\"⨩\":\"⨩\",м:\"м\",\"—\":\"—\",ð”ª:\"𝔪\",\"â„§\":\"℧\",µ:\"µ\",\"â«°\":\"⫰\",\"−\":\"−\",\"⨪\":\"⨪\",\"â«›\":\"⫛\",\"⊧\":\"⊧\",ð•ž:\"𝕞\",ð“‚:\"𝓂\",μ:\"μ\",\"⊸\":\"⊸\",\"⋙̸\":\"⋙̸\",\"≫⃒\":\"≫⃒\",\"â‡\":\"⇍\",\"⇎\":\"⇎\",\"⋘̸\":\"⋘̸\",\"≪⃒\":\"≪⃒\",\"â‡\":\"⇏\",\"⊯\":\"⊯\",\"⊮\":\"⊮\",Å„:\"ń\",\"∠⃒\":\"∠⃒\",\"⩰̸\":\"⩰̸\",\"≋̸\":\"≋̸\",ʼn:\"ʼn\",\"â™®\":\"♮\",\"⩃\":\"⩃\",ň:\"ň\",ņ:\"ņ\",\"â©Ì¸\":\"⩭̸\",\"â©‚\":\"⩂\",н:\"н\",\"–\":\"–\",\"⇗\":\"⇗\",\"⤤\":\"⤤\",\"â‰Ì¸\":\"≐̸\",\"⤨\":\"⤨\",ð”«:\"𝔫\",\"↮\":\"↮\",\"⫲\":\"⫲\",\"⋼\":\"⋼\",\"⋺\":\"⋺\",Ñš:\"њ\",\"≦̸\":\"≦̸\",\"↚\":\"↚\",\"‥\":\"‥\",ð•Ÿ:\"𝕟\",\"¬\":\"¬\",\"⋹̸\":\"⋹̸\",\"⋵̸\":\"⋵̸\",\"â‹·\":\"⋷\",\"â‹¶\":\"⋶\",\"⋾\":\"⋾\",\"⋽\":\"⋽\",\"⫽⃥\":\"⫽⃥\",\"∂̸\":\"∂̸\",\"⨔\":\"⨔\",\"↛\":\"↛\",\"⤳̸\":\"⤳̸\",\"â†Ì¸\":\"↝̸\",ð“ƒ:\"𝓃\",\"⊄\":\"⊄\",\"⫅̸\":\"⫅̸\",\"⊅\":\"⊅\",\"⫆̸\":\"⫆̸\",ñ:\"ñ\",ν:\"ν\",\"#\":\"#\",\"â„–\":\"№\",\" \":\" \",\"âŠ\":\"⊭\",\"⤄\":\"⤄\",\"â‰âƒ’\":\"≍⃒\",\"⊬\":\"⊬\",\"≥⃒\":\"≥⃒\",\">⃒\":\">⃒\",\"â§ž\":\"⧞\",\"⤂\":\"⤂\",\"≤⃒\":\"≤⃒\",\"<⃒\":\"<⃒\",\"⊴⃒\":\"⊴⃒\",\"⤃\":\"⤃\",\"⊵⃒\":\"⊵⃒\",\"∼⃒\":\"∼⃒\",\"⇖\":\"⇖\",\"⤣\":\"⤣\",\"⤧\":\"⤧\",ó:\"ó\",ô:\"ô\",о:\"о\",Å‘:\"ő\",\"⨸\":\"⨸\",\"⦼\":\"⦼\",Å“:\"œ\",\"⦿\":\"⦿\",ð”¬:\"𝔬\",\"Ë›\":\"˛\",ò:\"ò\",\"â§\":\"⧁\",\"⦵\":\"⦵\",\"⦾\":\"⦾\",\"⦻\":\"⦻\",\"â§€\":\"⧀\",Å:\"ō\",ω:\"ω\",ο:\"ο\",\"⦶\":\"⦶\",ð• :\"𝕠\",\"⦷\":\"⦷\",\"⦹\":\"⦹\",\"∨\":\"∨\",\"â©\":\"⩝\",â„´:\"ℴ\",ª:\"ª\",º:\"º\",\"⊶\":\"⊶\",\"â©–\":\"⩖\",\"â©—\":\"⩗\",\"â©›\":\"⩛\",ø:\"ø\",\"⊘\":\"⊘\",õ:\"õ\",\"⨶\":\"⨶\",ö:\"ö\",\"⌽\":\"⌽\",\"¶\":\"¶\",\"⫳\":\"⫳\",\"⫽\":\"⫽\",п:\"п\",\"%\":\"%\",\".\":\".\",\"‰\":\"‰\",\"‱\":\"‱\",ð”:\"𝔭\",φ:\"φ\",Ï•:\"ϕ\",\"☎\":\"☎\",Ï€:\"π\",Ï–:\"ϖ\",ℎ:\"ℎ\",\"+\":\"+\",\"⨣\":\"⨣\",\"⨢\":\"⨢\",\"⨥\":\"⨥\",\"⩲\":\"⩲\",\"⨦\":\"⨦\",\"⨧\":\"⨧\",\"⨕\":\"⨕\",ð•¡:\"𝕡\",\"£\":\"£\",\"⪳\":\"⪳\",\"⪷\":\"⪷\",\"⪹\":\"⪹\",\"⪵\":\"⪵\",\"⋨\":\"⋨\",\"′\":\"′\",\"⌮\":\"⌮\",\"⌒\":\"⌒\",\"⌓\":\"⌓\",\"⊰\":\"⊰\",ð“…:\"𝓅\",ψ:\"ψ\",\" \":\" \",ð”®:\"𝔮\",ð•¢:\"𝕢\",\"â—\":\"⁗\",ð“†:\"𝓆\",\"⨖\":\"⨖\",\"?\":\"?\",\"⤜\":\"⤜\",\"⥤\":\"⥤\",\"∽̱\":\"∽̱\",Å•:\"ŕ\",\"⦳\":\"⦳\",\"⦒\":\"⦒\",\"⦥\":\"⦥\",\"»\":\"»\",\"⥵\":\"⥵\",\"⤠\":\"⤠\",\"⤳\":\"⤳\",\"⤞\":\"⤞\",\"⥅\":\"⥅\",\"⥴\":\"⥴\",\"↣\":\"↣\",\"â†\":\"↝\",\"⤚\":\"⤚\",\"∶\":\"∶\",\"â³\":\"❳\",\"}\":\"}\",\"]\":\"]\",\"⦌\":\"⦌\",\"⦎\":\"⦎\",\"â¦\":\"⦐\",Å™:\"ř\",Å—:\"ŗ\",Ñ€:\"р\",\"⤷\":\"⤷\",\"⥩\":\"⥩\",\"↳\":\"↳\",\"â–\":\"▭\",\"⥽\":\"⥽\",ð”¯:\"𝔯\",\"⥬\":\"⥬\",Ï:\"ρ\",ϱ:\"ϱ\",\"⇉\":\"⇉\",\"⋌\":\"⋌\",\"Ëš\":\"˚\",\"â€\":\"‏\",\"⎱\":\"⎱\",\"â«®\":\"⫮\",\"âŸ\":\"⟭\",\"⇾\":\"⇾\",\"⦆\":\"⦆\",ð•£:\"𝕣\",\"⨮\":\"⨮\",\"⨵\":\"⨵\",\")\":\")\",\"⦔\":\"⦔\",\"⨒\":\"⨒\",\"›\":\"›\",ð“‡:\"𝓇\",\"⋊\":\"⋊\",\"â–¹\":\"▹\",\"â§Ž\":\"⧎\",\"⥨\":\"⥨\",\"℞\":\"℞\",Å›:\"ś\",\"⪴\":\"⪴\",\"⪸\":\"⪸\",Å¡:\"š\",ÅŸ:\"ş\",Å:\"ŝ\",\"⪶\":\"⪶\",\"⪺\":\"⪺\",\"â‹©\":\"⋩\",\"⨓\":\"⨓\",Ñ:\"с\",\"â‹…\":\"⋅\",\"⩦\":\"⩦\",\"⇘\":\"⇘\",\"§\":\"§\",\";\":\";\",\"⤩\":\"⤩\",\"✶\":\"✶\",ð”°:\"𝔰\",\"♯\":\"♯\",щ:\"щ\",ш:\"ш\",\"Â\":\"­\",σ:\"σ\",Ï‚:\"ς\",\"⩪\":\"⩪\",\"⪞\":\"⪞\",\"⪠\":\"⪠\",\"âª\":\"⪝\",\"⪟\":\"⪟\",\"≆\":\"≆\",\"⨤\":\"⨤\",\"⥲\":\"⥲\",\"⨳\":\"⨳\",\"⧤\":\"⧤\",\"⌣\":\"⌣\",\"⪪\":\"⪪\",\"⪬\":\"⪬\",\"⪬︀\":\"⪬︀\",ÑŒ:\"ь\",\"/\":\"/\",\"â§„\":\"⧄\",\"⌿\":\"⌿\",ð•¤:\"𝕤\",\"â™ \":\"♠\",\"⊓︀\":\"⊓︀\",\"⊔︀\":\"⊔︀\",ð“ˆ:\"𝓈\",\"☆\":\"☆\",\"⊂\":\"⊂\",\"â«…\":\"⫅\",\"⪽\":\"⪽\",\"⫃\":\"⫃\",\"â«\":\"⫁\",\"â«‹\":\"⫋\",\"⊊\":\"⊊\",\"⪿\":\"⪿\",\"⥹\":\"⥹\",\"⫇\":\"⫇\",\"â«•\":\"⫕\",\"â«“\":\"⫓\",\"♪\":\"♪\",\"¹\":\"¹\",\"²\":\"²\",\"³\":\"³\",\"⫆\":\"⫆\",\"⪾\":\"⪾\",\"⫘\":\"⫘\",\"â«„\":\"⫄\",\"⟉\":\"⟉\",\"â«—\":\"⫗\",\"⥻\":\"⥻\",\"â«‚\":\"⫂\",\"⫌\":\"⫌\",\"⊋\":\"⊋\",\"â«€\":\"⫀\",\"⫈\":\"⫈\",\"â«”\":\"⫔\",\"â«–\":\"⫖\",\"⇙\":\"⇙\",\"⤪\":\"⤪\",ß:\"ß\",\"⌖\":\"⌖\",Ï„:\"τ\",Å¥:\"ť\",Å£:\"ţ\",Ñ‚:\"т\",\"⌕\":\"⌕\",ð”±:\"𝔱\",θ:\"θ\",Ï‘:\"ϑ\",þ:\"þ\",\"×\":\"×\",\"⨱\":\"⨱\",\"⨰\":\"⨰\",\"⌶\":\"⌶\",\"⫱\":\"⫱\",ð•¥:\"𝕥\",\"⫚\":\"⫚\",\"‴\":\"‴\",\"â–µ\":\"▵\",\"≜\":\"≜\",\"â—¬\":\"◬\",\"⨺\":\"⨺\",\"⨹\":\"⨹\",\"â§\":\"⧍\",\"⨻\":\"⨻\",\"â¢\":\"⏢\",ð“‰:\"𝓉\",ц:\"ц\",Ñ›:\"ћ\",ŧ:\"ŧ\",\"⥣\":\"⥣\",ú:\"ú\",Ñž:\"ў\",Å:\"ŭ\",û:\"û\",у:\"у\",ű:\"ű\",\"⥾\":\"⥾\",ð”²:\"𝔲\",ù:\"ù\",\"â–€\":\"▀\",\"⌜\":\"⌜\",\"âŒ\":\"⌏\",\"â—¸\":\"◸\",Å«:\"ū\",ų:\"ų\",ð•¦:\"𝕦\",Ï…:\"υ\",\"⇈\":\"⇈\",\"âŒ\":\"⌝\",\"⌎\":\"⌎\",ů:\"ů\",\"â—¹\":\"◹\",ð“Š:\"𝓊\",\"â‹°\":\"⋰\",Å©:\"ũ\",ü:\"ü\",\"⦧\":\"⦧\",\"⫨\":\"⫨\",\"â«©\":\"⫩\",\"⦜\":\"⦜\",\"⊊︀\":\"⊊︀\",\"⫋︀\":\"⫋︀\",\"⊋︀\":\"⊋︀\",\"⫌︀\":\"⫌︀\",в:\"в\",\"⊻\":\"⊻\",\"≚\":\"≚\",\"â‹®\":\"⋮\",ð”³:\"𝔳\",ð•§:\"𝕧\",ð“‹:\"𝓋\",\"⦚\":\"⦚\",ŵ:\"ŵ\",\"⩟\":\"⩟\",\"≙\":\"≙\",℘:\"℘\",ð”´:\"𝔴\",ð•¨:\"𝕨\",ð“Œ:\"𝓌\",ð”µ:\"𝔵\",ξ:\"ξ\",\"â‹»\":\"⋻\",ð•©:\"𝕩\",ð“:\"𝓍\",ý:\"ý\",Ñ:\"я\",Å·:\"ŷ\",Ñ‹:\"ы\",\"Â¥\":\"¥\",ð”¶:\"𝔶\",Ñ—:\"ї\",ð•ª:\"𝕪\",ð“Ž:\"𝓎\",ÑŽ:\"ю\",ÿ:\"ÿ\",ź:\"ź\",ž:\"ž\",з:\"з\",ż:\"ż\",ζ:\"ζ\",ð”·:\"𝔷\",ж:\"ж\",\"â‡\":\"⇝\",ð•«:\"𝕫\",ð“:\"𝓏\",\"â€\":\"‍\",\"‌\":\"‌\"}}}},2920:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.numericUnicodeMap={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376}},7630:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.fromCodePoint=String.fromCodePoint||function(e){return String.fromCharCode(Math.floor((e-65536)/1024)+55296,(e-65536)%1024+56320)},t.getCodePoint=String.prototype.codePointAt?function(e,t){return e.codePointAt(t)}:function(e,t){return 1024*(e.charCodeAt(t)-55296)+e.charCodeAt(t+1)-56320+65536},t.highSurrogateFrom=55296,t.highSurrogateTo=56319},690:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=/(([\\'\"])(?:(?!\\\\2|\\\\\\\\).|\\\\\\\\(?:\\\\r\\\\n|[\\\\s\\\\S]))*(\\\\2)?|`(?:[^`\\\\\\\\$]|\\\\\\\\[\\\\s\\\\S]|\\\\$(?!\\\\{)|\\\\$\\\\{(?:[^{}]|\\\\{[^}]*\\\\}?)*\\\\}?)*(`)?)|(\\\\/\\\\/.*)|(\\\\/\\\\*(?:[^*]|\\\\*(?!\\\\/))*(\\\\*\\\\/)?)|(\\\\/(?!\\\\*)(?:\\\\[(?:(?![\\\\]\\\\\\\\]).|\\\\\\\\.)*\\\\]|(?![\\\\/\\\\]\\\\\\\\]).|\\\\\\\\.)+\\\\/(?:(?!\\\\s*(?:\\\\b|[\\\\u0080-\\\\uFFFF$\\\\\\\\\\'\"~({]|[+\\\\-!](?!=)|\\\\.?\\\\d))|[gmiyus]{1,6}\\\\b(?![\\\\u0080-\\\\uFFFF$\\\\\\\\]|\\\\s*(?:[+\\\\-*%&|^<>!=?({]|\\\\/(?![\\\\/*])))))|(0[xX][\\\\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\\\\d*\\\\.\\\\d+|\\\\d+\\\\.?)(?:[eE][+-]?\\\\d+)?)|((?!\\\\d)(?:(?!\\\\s)[$\\\\w\\\\u0080-\\\\uFFFF]|\\\\\\\\u[\\\\da-fA-F]{4}|\\\\\\\\u\\\\{[\\\\da-fA-F]+\\\\})+)|(--|\\\\+\\\\+|&&|\\\\|\\\\||=>|\\\\.{3}|(?:[+\\\\-\\\\/%&|^]|\\\\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\\\\](){}])|(\\\\s+)|(^$|[\\\\s\\\\S])/g,t.matchToToken=function(e){var t={type:\"invalid\",value:e[0],closed:void 0};return e[1]?(t.type=\"string\",t.closed=!(!e[3]&&!e[4])):e[5]?t.type=\"comment\":e[6]?(t.type=\"comment\",t.closed=!!e[7]):e[8]?t.type=\"regex\":e[9]?t.type=\"number\":e[10]?t.type=\"name\":e[11]?t.type=\"punctuator\":e[12]&&(t.type=\"whitespace\"),t}},9934:e=>{\"use strict\";var t=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;function o(e){if(null===e||void 0===e)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String(\"abc\");if(e[5]=\"de\",\"5\"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t[\"_\"+String.fromCharCode(r)]=r;if(\"0123456789\"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(\"\"))return!1;var n={};return\"abcdefghijklmnopqrst\".split(\"\").forEach((function(e){n[e]=e})),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},n)).join(\"\")}catch(e){return!1}}()?Object.assign:function(e,a){for(var i,l,u=o(e),s=1;s<arguments.length;s++){for(var c in i=Object(arguments[s]))r.call(i,c)&&(u[c]=i[c]);if(t){l=t(i);for(var f=0;f<l.length;f++)n.call(i,l[f])&&(u[l[f]]=i[l[f]])}}return u}},3495:function(e){(function(){var t,r,n,o,a,i;\"undefined\"!==typeof performance&&null!==performance&&performance.now?e.exports=function(){return performance.now()}:\"undefined\"!==typeof process&&null!==process&&process.hrtime?(e.exports=function(){return(t()-a)/1e6},r=process.hrtime,o=(t=function(){var e;return 1e9*(e=r())[0]+e[1]})(),i=1e9*process.uptime(),a=o-i):Date.now?(e.exports=function(){return Date.now()-n},n=Date.now()):(e.exports=function(){return(new Date).getTime()-n},n=(new Date).getTime())}).call(this)},2009:(e,t,r)=>{\"use strict\";var n=r(2457);function o(){}var a=null,i={};function l(e){if(\"object\"!==typeof this)throw new TypeError(\"Promises must be constructed via new\");if(\"function\"!==typeof e)throw new TypeError(\"Promise constructor\\'s argument is not a function\");this._U=0,this._V=0,this._W=null,this._X=null,e!==o&&p(e,this)}function u(e,t){for(;3===e._V;)e=e._W;if(l._Y&&l._Y(e),0===e._V)return 0===e._U?(e._U=1,void(e._X=t)):1===e._U?(e._U=2,void(e._X=[e._X,t])):void e._X.push(t);!function(e,t){n((function(){var r=1===e._V?t.onFulfilled:t.onRejected;if(null!==r){var n=function(e,t){try{return e(t)}catch(e){return a=e,i}}(r,e._W);n===i?c(t.promise,a):s(t.promise,n)}else 1===e._V?s(t.promise,e._W):c(t.promise,e._W)}))}(e,t)}function s(e,t){if(t===e)return c(e,new TypeError(\"A promise cannot be resolved with itself.\"));if(t&&(\"object\"===typeof t||\"function\"===typeof t)){var r=function(e){try{return e.then}catch(e){return a=e,i}}(t);if(r===i)return c(e,a);if(r===e.then&&t instanceof l)return e._V=3,e._W=t,void f(e);if(\"function\"===typeof r)return void p(r.bind(t),e)}e._V=1,e._W=t,f(e)}function c(e,t){e._V=2,e._W=t,l._Z&&l._Z(e,t),f(e)}function f(e){if(1===e._U&&(u(e,e._X),e._X=null),2===e._U){for(var t=0;t<e._X.length;t++)u(e,e._X[t]);e._X=null}}function d(e,t,r){this.onFulfilled=\"function\"===typeof e?e:null,this.onRejected=\"function\"===typeof t?t:null,this.promise=r}function p(e,t){var r=!1,n=function(e,t,r){try{e(t,r)}catch(e){return a=e,i}}(e,(function(e){r||(r=!0,s(t,e))}),(function(e){r||(r=!0,c(t,e))}));r||n!==i||(r=!0,c(t,a))}e.exports=l,l._Y=null,l._Z=null,l._0=o,l.prototype.then=function(e,t){if(this.constructor!==l)return function(e,t,r){return new e.constructor((function(n,a){var i=new l(o);i.then(n,a),u(e,new d(t,r,i))}))}(this,e,t);var r=new l(o);return u(this,new d(e,t,r)),r}},83:(e,t,r)=>{\"use strict\";var n=r(2009);e.exports=n;var o=c(!0),a=c(!1),i=c(null),l=c(void 0),u=c(0),s=c(\"\");function c(e){var t=new n(n._0);return t._V=1,t._W=e,t}n.resolve=function(e){if(e instanceof n)return e;if(null===e)return i;if(void 0===e)return l;if(!0===e)return o;if(!1===e)return a;if(0===e)return u;if(\"\"===e)return s;if(\"object\"===typeof e||\"function\"===typeof e)try{var t=e.then;if(\"function\"===typeof t)return new n(t.bind(e))}catch(e){return new n((function(t,r){r(e)}))}return c(e)};var f=function(e){return\"function\"===typeof Array.from?(f=Array.from,Array.from(e)):(f=function(e){return Array.prototype.slice.call(e)},Array.prototype.slice.call(e))};n.all=function(e){var t=f(e);return new n((function(e,r){if(0===t.length)return e([]);var o=t.length;function a(i,l){if(l&&(\"object\"===typeof l||\"function\"===typeof l)){if(l instanceof n&&l.then===n.prototype.then){for(;3===l._V;)l=l._W;return 1===l._V?a(i,l._W):(2===l._V&&r(l._W),void l.then((function(e){a(i,e)}),r))}var u=l.then;if(\"function\"===typeof u)return void new n(u.bind(l)).then((function(e){a(i,e)}),r)}t[i]=l,0===--o&&e(t)}for(var i=0;i<t.length;i++)a(i,t[i])}))},n.reject=function(e){return new n((function(t,r){r(e)}))},n.race=function(e){return new n((function(t,r){f(e).forEach((function(e){n.resolve(e).then(t,r)}))}))},n.prototype.catch=function(e){return this.then(null,e)}},7247:(e,t,r)=>{\"use strict\";var n=r(2009),o=[ReferenceError,TypeError,RangeError],a=!1;function i(){a=!1,n._Y=null,n._Z=null}function l(e,t){return t.some((function(t){return e instanceof t}))}t.disable=i,t.enable=function(e){e=e||{},a&&i();a=!0;var t=0,r=0,u={};function s(t){(e.allRejections||l(u[t].error,e.whitelist||o))&&(u[t].displayId=r++,e.onUnhandled?(u[t].logged=!0,e.onUnhandled(u[t].displayId,u[t].error)):(u[t].logged=!0,function(e,t){console.warn(\"Possible Unhandled Promise Rejection (id: \"+e+\"):\"),((t&&(t.stack||t))+\"\").split(\"\\\\n\").forEach((function(e){console.warn(\" \"+e)}))}(u[t].displayId,u[t].error)))}n._Y=function(t){2===t._V&&u[t._1]&&(u[t._1].logged?function(t){u[t].logged&&(e.onHandled?e.onHandled(u[t].displayId,u[t].error):u[t].onUnhandled||(console.warn(\"Promise Rejection Handled (id: \"+u[t].displayId+\"):\"),console.warn(\\' This means you can ignore any previous messages of the form \"Possible Unhandled Promise Rejection\" with id \\'+u[t].displayId+\".\")))}(t._1):clearTimeout(u[t._1].timeout),delete u[t._1])},n._Z=function(e,r){0===e._U&&(e._1=t++,u[e._1]={displayId:null,error:r,timeout:setTimeout(s.bind(null,e._1),l(r,o)?100:2e3),logged:!1})}}},6597:(e,t,r)=>{for(var n=r(3495),o=\"undefined\"===typeof window?r.g:window,a=[\"moz\",\"webkit\"],i=\"AnimationFrame\",l=o[\"request\"+i],u=o[\"cancel\"+i]||o[\"cancelRequest\"+i],s=0;!l&&s<a.length;s++)l=o[a[s]+\"Request\"+i],u=o[a[s]+\"Cancel\"+i]||o[a[s]+\"CancelRequest\"+i];if(!l||!u){var c=0,f=0,d=[];l=function(e){if(0===d.length){var t=n(),r=Math.max(0,16.666666666666668-(t-c));c=r+t,setTimeout((function(){var e=d.slice(0);d.length=0;for(var t=0;t<e.length;t++)if(!e[t].cancelled)try{e[t].callback(c)}catch(e){setTimeout((function(){throw e}),0)}}),Math.round(r))}return d.push({handle:++f,callback:e,cancelled:!1}),f},u=function(e){for(var t=0;t<d.length;t++)d[t].handle===e&&(d[t].cancelled=!0)}}e.exports=function(e){return l.call(o,e)},e.exports.cancel=function(){u.apply(o,arguments)},e.exports.polyfill=function(e){e||(e=o),e.requestAnimationFrame=l,e.cancelAnimationFrame=u}},2015:(e,t,r)=>{\"use strict\";var n=r(6346),o=r(9934),a=r(7425);function i(e){for(var t=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,r=1;r<arguments.length;r++)t+=\"&args[]=\"+encodeURIComponent(arguments[r]);return\"Minified React error #\"+e+\"; visit \"+t+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}if(!n)throw Error(i(227));var l=new Set,u={};function s(e,t){c(e,t),c(e+\"Capture\",t)}function c(e,t){for(u[e]=t,e=0;e<t.length;e++)l.add(t[e])}var f=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),d=/^[:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD][:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$/,p=Object.prototype.hasOwnProperty,h={},g={};function m(e,t,r,n,o,a,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=n,this.attributeNamespace=o,this.mustUseProperty=r,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=i}var v={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach((function(e){v[e]=new m(e,0,!1,e,null,!1,!1)})),[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach((function(e){var t=e[0];v[t]=new m(t,1,!1,e[1],null,!1,!1)})),[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach((function(e){v[e]=new m(e,2,!1,e.toLowerCase(),null,!1,!1)})),[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach((function(e){v[e]=new m(e,2,!1,e,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(e){v[e]=new m(e,3,!1,e.toLowerCase(),null,!1,!1)})),[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach((function(e){v[e]=new m(e,3,!0,e,null,!1,!1)})),[\"capture\",\"download\"].forEach((function(e){v[e]=new m(e,4,!1,e,null,!1,!1)})),[\"cols\",\"rows\",\"size\",\"span\"].forEach((function(e){v[e]=new m(e,6,!1,e,null,!1,!1)})),[\"rowSpan\",\"start\"].forEach((function(e){v[e]=new m(e,5,!1,e.toLowerCase(),null,!1,!1)}));var y=/[\\\\-:]([a-z])/g;function b(e){return e[1].toUpperCase()}function w(e,t,r,n){var o=v.hasOwnProperty(t)?v[t]:null;(null!==o?0===o.type:!n&&(2<t.length&&(\"o\"===t[0]||\"O\"===t[0])&&(\"n\"===t[1]||\"N\"===t[1])))||(function(e,t,r,n){if(null===t||\"undefined\"===typeof t||function(e,t,r,n){if(null!==r&&0===r.type)return!1;switch(typeof t){case\"function\":case\"symbol\":return!0;case\"boolean\":return!n&&(null!==r?!r.acceptsBooleans:\"data-\"!==(e=e.toLowerCase().slice(0,5))&&\"aria-\"!==e);default:return!1}}(e,t,r,n))return!0;if(n)return!1;if(null!==r)switch(r.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,r,o,n)&&(r=null),n||null===o?function(e){return!!p.call(g,e)||!p.call(h,e)&&(d.test(e)?g[e]=!0:(h[e]=!0,!1))}(t)&&(null===r?e.removeAttribute(t):e.setAttribute(t,\"\"+r)):o.mustUseProperty?e[o.propertyName]=null===r?3!==o.type&&\"\":r:(t=o.attributeName,n=o.attributeNamespace,null===r?e.removeAttribute(t):(r=3===(o=o.type)||4===o&&!0===r?\"\":\"\"+r,n?e.setAttributeNS(n,t,r):e.setAttribute(t,r))))}\"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(e){var t=e.replace(y,b);v[t]=new m(t,1,!1,e,null,!1,!1)})),\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach((function(e){var t=e.replace(y,b);v[t]=new m(t,1,!1,e,\"http://www.w3.org/1999/xlink\",!1,!1)})),[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach((function(e){var t=e.replace(y,b);v[t]=new m(t,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1,!1)})),[\"tabIndex\",\"crossOrigin\"].forEach((function(e){v[e]=new m(e,1,!1,e.toLowerCase(),null,!1,!1)})),v.xlinkHref=new m(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1),[\"src\",\"href\",\"action\",\"formAction\"].forEach((function(e){v[e]=new m(e,1,!1,e.toLowerCase(),null,!0,!0)}));var x=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,k=60103,E=60106,S=60107,T=60108,_=60114,C=60109,O=60110,P=60112,R=60113,A=60120,q=60115,L=60116,N=60121,D=60128,I=60129,j=60130,M=60131;if(\"function\"===typeof Symbol&&Symbol.for){var F=Symbol.for;k=F(\"react.element\"),E=F(\"react.portal\"),S=F(\"react.fragment\"),T=F(\"react.strict_mode\"),_=F(\"react.profiler\"),C=F(\"react.provider\"),O=F(\"react.context\"),P=F(\"react.forward_ref\"),R=F(\"react.suspense\"),A=F(\"react.suspense_list\"),q=F(\"react.memo\"),L=F(\"react.lazy\"),N=F(\"react.block\"),F(\"react.scope\"),D=F(\"react.opaque.id\"),I=F(\"react.debug_trace_mode\"),j=F(\"react.offscreen\"),M=F(\"react.legacy_hidden\")}var z,U=\"function\"===typeof Symbol&&Symbol.iterator;function B(e){return null===e||\"object\"!==typeof e?null:\"function\"===typeof(e=U&&e[U]||e[\"@@iterator\"])?e:null}function V(e){if(void 0===z)try{throw Error()}catch(e){var t=e.stack.trim().match(/\\\\n( *(at )?)/);z=t&&t[1]||\"\"}return\"\\\\n\"+z+e}var H=!1;function W(e,t){if(!e||H)return\"\";H=!0;var r=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,\"props\",{set:function(){throw Error()}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var n=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){n=e}e.call(t.prototype)}else{try{throw Error()}catch(e){n=e}e()}}catch(e){if(e&&n&&\"string\"===typeof e.stack){for(var o=e.stack.split(\"\\\\n\"),a=n.stack.split(\"\\\\n\"),i=o.length-1,l=a.length-1;1<=i&&0<=l&&o[i]!==a[l];)l--;for(;1<=i&&0<=l;i--,l--)if(o[i]!==a[l]){if(1!==i||1!==l)do{if(i--,0>--l||o[i]!==a[l])return\"\\\\n\"+o[i].replace(\" at new \",\" at \")}while(1<=i&&0<=l);break}}}finally{H=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:\"\")?V(e):\"\"}function G(e){switch(e.tag){case 5:return V(e.type);case 16:return V(\"Lazy\");case 13:return V(\"Suspense\");case 19:return V(\"SuspenseList\");case 0:case 2:case 15:return e=W(e.type,!1);case 11:return e=W(e.type.render,!1);case 22:return e=W(e.type._render,!1);case 1:return e=W(e.type,!0);default:return\"\"}}function $(e){if(null==e)return null;if(\"function\"===typeof e)return e.displayName||e.name||null;if(\"string\"===typeof e)return e;switch(e){case S:return\"Fragment\";case E:return\"Portal\";case _:return\"Profiler\";case T:return\"StrictMode\";case R:return\"Suspense\";case A:return\"SuspenseList\"}if(\"object\"===typeof e)switch(e.$$typeof){case O:return(e.displayName||\"Context\")+\".Consumer\";case C:return(e._context.displayName||\"Context\")+\".Provider\";case P:var t=e.render;return t=t.displayName||t.name||\"\",e.displayName||(\"\"!==t?\"ForwardRef(\"+t+\")\":\"ForwardRef\");case q:return $(e.type);case N:return $(e._render);case L:t=e._payload,e=e._init;try{return $(e(t))}catch(e){}}return null}function Q(e){switch(typeof e){case\"boolean\":case\"number\":case\"object\":case\"string\":case\"undefined\":return e;default:return\"\"}}function Y(e){var t=e.type;return(e=e.nodeName)&&\"input\"===e.toLowerCase()&&(\"checkbox\"===t||\"radio\"===t)}function K(e){e._valueTracker||(e._valueTracker=function(e){var t=Y(e)?\"checked\":\"value\",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),n=\"\"+e[t];if(!e.hasOwnProperty(t)&&\"undefined\"!==typeof r&&\"function\"===typeof r.get&&\"function\"===typeof r.set){var o=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(e){n=\"\"+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=\"\"+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function X(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),n=\"\";return e&&(n=Y(e)?e.checked?\"true\":\"false\":e.value),(e=n)!==r&&(t.setValue(e),!0)}function J(e){if(\"undefined\"===typeof(e=e||(\"undefined\"!==typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Z(e,t){var r=t.checked;return o({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=r?r:e._wrapperState.initialChecked})}function ee(e,t){var r=null==t.defaultValue?\"\":t.defaultValue,n=null!=t.checked?t.checked:t.defaultChecked;r=Q(null!=t.value?t.value:r),e._wrapperState={initialChecked:n,initialValue:r,controlled:\"checkbox\"===t.type||\"radio\"===t.type?null!=t.checked:null!=t.value}}function te(e,t){null!=(t=t.checked)&&w(e,\"checked\",t,!1)}function re(e,t){te(e,t);var r=Q(t.value),n=t.type;if(null!=r)\"number\"===n?(0===r&&\"\"===e.value||e.value!=r)&&(e.value=\"\"+r):e.value!==\"\"+r&&(e.value=\"\"+r);else if(\"submit\"===n||\"reset\"===n)return void e.removeAttribute(\"value\");t.hasOwnProperty(\"value\")?oe(e,t.type,r):t.hasOwnProperty(\"defaultValue\")&&oe(e,t.type,Q(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function ne(e,t,r){if(t.hasOwnProperty(\"value\")||t.hasOwnProperty(\"defaultValue\")){var n=t.type;if(!(\"submit\"!==n&&\"reset\"!==n||void 0!==t.value&&null!==t.value))return;t=\"\"+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}\"\"!==(r=e.name)&&(e.name=\"\"),e.defaultChecked=!!e._wrapperState.initialChecked,\"\"!==r&&(e.name=r)}function oe(e,t,r){\"number\"===t&&J(e.ownerDocument)===e||(null==r?e.defaultValue=\"\"+e._wrapperState.initialValue:e.defaultValue!==\"\"+r&&(e.defaultValue=\"\"+r))}function ae(e,t){return e=o({children:void 0},t),(t=function(e){var t=\"\";return n.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(t.children))&&(e.children=t),e}function ie(e,t,r,n){if(e=e.options,t){t={};for(var o=0;o<r.length;o++)t[\"$\"+r[o]]=!0;for(r=0;r<e.length;r++)o=t.hasOwnProperty(\"$\"+e[r].value),e[r].selected!==o&&(e[r].selected=o),o&&n&&(e[r].defaultSelected=!0)}else{for(r=\"\"+Q(r),t=null,o=0;o<e.length;o++){if(e[o].value===r)return e[o].selected=!0,void(n&&(e[o].defaultSelected=!0));null!==t||e[o].disabled||(t=e[o])}null!==t&&(t.selected=!0)}}function le(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(i(91));return o({},t,{value:void 0,defaultValue:void 0,children:\"\"+e._wrapperState.initialValue})}function ue(e,t){var r=t.value;if(null==r){if(r=t.children,t=t.defaultValue,null!=r){if(null!=t)throw Error(i(92));if(Array.isArray(r)){if(!(1>=r.length))throw Error(i(93));r=r[0]}t=r}null==t&&(t=\"\"),r=t}e._wrapperState={initialValue:Q(r)}}function se(e,t){var r=Q(t.value),n=Q(t.defaultValue);null!=r&&((r=\"\"+r)!==e.value&&(e.value=r),null==t.defaultValue&&e.defaultValue!==r&&(e.defaultValue=r)),null!=n&&(e.defaultValue=\"\"+n)}function ce(e){var t=e.textContent;t===e._wrapperState.initialValue&&\"\"!==t&&null!==t&&(e.value=t)}var fe=\"http://www.w3.org/1999/xhtml\",de=\"http://www.w3.org/2000/svg\";function pe(e){switch(e){case\"svg\":return\"http://www.w3.org/2000/svg\";case\"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function he(e,t){return null==e||\"http://www.w3.org/1999/xhtml\"===e?pe(t):\"http://www.w3.org/2000/svg\"===e&&\"foreignObject\"===t?\"http://www.w3.org/1999/xhtml\":e}var ge,me,ve=(me=function(e,t){if(e.namespaceURI!==de||\"innerHTML\"in e)e.innerHTML=t;else{for((ge=ge||document.createElement(\"div\")).innerHTML=\"<svg>\"+t.valueOf().toString()+\"</svg>\",t=ge.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,r,n){MSApp.execUnsafeLocalFunction((function(){return me(e,t)}))}:me);function ye(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&3===r.nodeType)return void(r.nodeValue=t)}e.textContent=t}var be={animationIterationCount:!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,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},we=[\"Webkit\",\"ms\",\"Moz\",\"O\"];function xe(e,t,r){return null==t||\"boolean\"===typeof t||\"\"===t?\"\":r||\"number\"!==typeof t||0===t||be.hasOwnProperty(e)&&be[e]?(\"\"+t).trim():t+\"px\"}function ke(e,t){for(var r in e=e.style,t)if(t.hasOwnProperty(r)){var n=0===r.indexOf(\"--\"),o=xe(r,t[r],n);\"float\"===r&&(r=\"cssFloat\"),n?e.setProperty(r,o):e[r]=o}}Object.keys(be).forEach((function(e){we.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),be[t]=be[e]}))}));var Ee=o({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});function Se(e,t){if(t){if(Ee[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(i(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(i(60));if(\"object\"!==typeof t.dangerouslySetInnerHTML||!(\"__html\"in t.dangerouslySetInnerHTML))throw Error(i(61))}if(null!=t.style&&\"object\"!==typeof t.style)throw Error(i(62))}}function Te(e,t){if(-1===e.indexOf(\"-\"))return\"string\"===typeof t.is;switch(e){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}}function _e(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var Ce=null,Oe=null,Pe=null;function Re(e){if(e=no(e)){if(\"function\"!==typeof Ce)throw Error(i(280));var t=e.stateNode;t&&(t=ao(t),Ce(e.stateNode,e.type,t))}}function Ae(e){Oe?Pe?Pe.push(e):Pe=[e]:Oe=e}function qe(){if(Oe){var e=Oe,t=Pe;if(Pe=Oe=null,Re(e),t)for(e=0;e<t.length;e++)Re(t[e])}}function Le(e,t){return e(t)}function Ne(e,t,r,n,o){return e(t,r,n,o)}function De(){}var Ie=Le,je=!1,Me=!1;function Fe(){null===Oe&&null===Pe||(De(),qe())}function ze(e,t){var r=e.stateNode;if(null===r)return null;var n=ao(r);if(null===n)return null;r=n[t];e:switch(t){case\"onClick\":case\"onClickCapture\":case\"onDoubleClick\":case\"onDoubleClickCapture\":case\"onMouseDown\":case\"onMouseDownCapture\":case\"onMouseMove\":case\"onMouseMoveCapture\":case\"onMouseUp\":case\"onMouseUpCapture\":case\"onMouseEnter\":(n=!n.disabled)||(n=!(\"button\"===(e=e.type)||\"input\"===e||\"select\"===e||\"textarea\"===e)),e=!n;break e;default:e=!1}if(e)return null;if(r&&\"function\"!==typeof r)throw Error(i(231,t,typeof r));return r}var Ue=!1;if(f)try{var Be={};Object.defineProperty(Be,\"passive\",{get:function(){Ue=!0}}),window.addEventListener(\"test\",Be,Be),window.removeEventListener(\"test\",Be,Be)}catch(me){Ue=!1}function Ve(e,t,r,n,o,a,i,l,u){var s=Array.prototype.slice.call(arguments,3);try{t.apply(r,s)}catch(e){this.onError(e)}}var He=!1,We=null,Ge=!1,$e=null,Qe={onError:function(e){He=!0,We=e}};function Ye(e,t,r,n,o,a,i,l,u){He=!1,We=null,Ve.apply(Qe,arguments)}function Ke(e){var t=e,r=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!==(1026&(t=e).flags)&&(r=t.return),e=t.return}while(e)}return 3===t.tag?r:null}function Xe(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function Je(e){if(Ke(e)!==e)throw Error(i(188))}function Ze(e){if(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ke(e)))throw Error(i(188));return t!==e?null:e}for(var r=e,n=t;;){var o=r.return;if(null===o)break;var a=o.alternate;if(null===a){if(null!==(n=o.return)){r=n;continue}break}if(o.child===a.child){for(a=o.child;a;){if(a===r)return Je(o),e;if(a===n)return Je(o),t;a=a.sibling}throw Error(i(188))}if(r.return!==n.return)r=o,n=a;else{for(var l=!1,u=o.child;u;){if(u===r){l=!0,r=o,n=a;break}if(u===n){l=!0,n=o,r=a;break}u=u.sibling}if(!l){for(u=a.child;u;){if(u===r){l=!0,r=a,n=o;break}if(u===n){l=!0,n=a,r=o;break}u=u.sibling}if(!l)throw Error(i(189))}}if(r.alternate!==n)throw Error(i(190))}if(3!==r.tag)throw Error(i(188));return r.stateNode.current===r?e:t}(e),!e)return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}function et(e,t){for(var r=e.alternate;null!==t;){if(t===e||t===r)return!0;t=t.return}return!1}var tt,rt,nt,ot,at=!1,it=[],lt=null,ut=null,st=null,ct=new Map,ft=new Map,dt=[],pt=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");function ht(e,t,r,n,o){return{blockedOn:e,domEventName:t,eventSystemFlags:16|r,nativeEvent:o,targetContainers:[n]}}function gt(e,t){switch(e){case\"focusin\":case\"focusout\":lt=null;break;case\"dragenter\":case\"dragleave\":ut=null;break;case\"mouseover\":case\"mouseout\":st=null;break;case\"pointerover\":case\"pointerout\":ct.delete(t.pointerId);break;case\"gotpointercapture\":case\"lostpointercapture\":ft.delete(t.pointerId)}}function mt(e,t,r,n,o,a){return null===e||e.nativeEvent!==a?(e=ht(t,r,n,o,a),null!==t&&(null!==(t=no(t))&&rt(t)),e):(e.eventSystemFlags|=n,t=e.targetContainers,null!==o&&-1===t.indexOf(o)&&t.push(o),e)}function vt(e){var t=ro(e.target);if(null!==t){var r=Ke(t);if(null!==r)if(13===(t=r.tag)){if(null!==(t=Xe(r)))return e.blockedOn=t,void ot(e.lanePriority,(function(){a.unstable_runWithPriority(e.priority,(function(){nt(r)}))}))}else if(3===t&&r.stateNode.hydrate)return void(e.blockedOn=3===r.tag?r.stateNode.containerInfo:null)}e.blockedOn=null}function yt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var r=Zt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==r)return null!==(t=no(r))&&rt(t),e.blockedOn=r,!1;t.shift()}return!0}function bt(e,t,r){yt(e)&&r.delete(t)}function wt(){for(at=!1;0<it.length;){var e=it[0];if(null!==e.blockedOn){null!==(e=no(e.blockedOn))&&tt(e);break}for(var t=e.targetContainers;0<t.length;){var r=Zt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==r){e.blockedOn=r;break}t.shift()}null===e.blockedOn&&it.shift()}null!==lt&&yt(lt)&&(lt=null),null!==ut&&yt(ut)&&(ut=null),null!==st&&yt(st)&&(st=null),ct.forEach(bt),ft.forEach(bt)}function xt(e,t){e.blockedOn===t&&(e.blockedOn=null,at||(at=!0,a.unstable_scheduleCallback(a.unstable_NormalPriority,wt)))}function kt(e){function t(t){return xt(t,e)}if(0<it.length){xt(it[0],e);for(var r=1;r<it.length;r++){var n=it[r];n.blockedOn===e&&(n.blockedOn=null)}}for(null!==lt&&xt(lt,e),null!==ut&&xt(ut,e),null!==st&&xt(st,e),ct.forEach(t),ft.forEach(t),r=0;r<dt.length;r++)(n=dt[r]).blockedOn===e&&(n.blockedOn=null);for(;0<dt.length&&null===(r=dt[0]).blockedOn;)vt(r),null===r.blockedOn&&dt.shift()}function Et(e,t){var r={};return r[e.toLowerCase()]=t.toLowerCase(),r[\"Webkit\"+e]=\"webkit\"+t,r[\"Moz\"+e]=\"moz\"+t,r}var St={animationend:Et(\"Animation\",\"AnimationEnd\"),animationiteration:Et(\"Animation\",\"AnimationIteration\"),animationstart:Et(\"Animation\",\"AnimationStart\"),transitionend:Et(\"Transition\",\"TransitionEnd\")},Tt={},_t={};function Ct(e){if(Tt[e])return Tt[e];if(!St[e])return e;var t,r=St[e];for(t in r)if(r.hasOwnProperty(t)&&t in _t)return Tt[e]=r[t];return e}f&&(_t=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete St.animationend.animation,delete St.animationiteration.animation,delete St.animationstart.animation),\"TransitionEvent\"in window||delete St.transitionend.transition);var Ot=Ct(\"animationend\"),Pt=Ct(\"animationiteration\"),Rt=Ct(\"animationstart\"),At=Ct(\"transitionend\"),qt=new Map,Lt=new Map,Nt=[\"abort\",\"abort\",Ot,\"animationEnd\",Pt,\"animationIteration\",Rt,\"animationStart\",\"canplay\",\"canPlay\",\"canplaythrough\",\"canPlayThrough\",\"durationchange\",\"durationChange\",\"emptied\",\"emptied\",\"encrypted\",\"encrypted\",\"ended\",\"ended\",\"error\",\"error\",\"gotpointercapture\",\"gotPointerCapture\",\"load\",\"load\",\"loadeddata\",\"loadedData\",\"loadedmetadata\",\"loadedMetadata\",\"loadstart\",\"loadStart\",\"lostpointercapture\",\"lostPointerCapture\",\"playing\",\"playing\",\"progress\",\"progress\",\"seeking\",\"seeking\",\"stalled\",\"stalled\",\"suspend\",\"suspend\",\"timeupdate\",\"timeUpdate\",At,\"transitionEnd\",\"waiting\",\"waiting\"];function Dt(e,t){for(var r=0;r<e.length;r+=2){var n=e[r],o=e[r+1];o=\"on\"+(o[0].toUpperCase()+o.slice(1)),Lt.set(n,t),qt.set(n,o),s(o,[n])}}(0,a.unstable_now)();var It=8;function jt(e){if(0!==(1&e))return It=15,1;if(0!==(2&e))return It=14,2;if(0!==(4&e))return It=13,4;var t=24&e;return 0!==t?(It=12,t):0!==(32&e)?(It=11,32):0!==(t=192&e)?(It=10,t):0!==(256&e)?(It=9,256):0!==(t=3584&e)?(It=8,t):0!==(4096&e)?(It=7,4096):0!==(t=4186112&e)?(It=6,t):0!==(t=62914560&e)?(It=5,t):67108864&e?(It=4,67108864):0!==(134217728&e)?(It=3,134217728):0!==(t=805306368&e)?(It=2,t):0!==(1073741824&e)?(It=1,1073741824):(It=8,e)}function Mt(e,t){var r=e.pendingLanes;if(0===r)return It=0;var n=0,o=0,a=e.expiredLanes,i=e.suspendedLanes,l=e.pingedLanes;if(0!==a)n=a,o=It=15;else if(0!==(a=134217727&r)){var u=a&~i;0!==u?(n=jt(u),o=It):0!==(l&=a)&&(n=jt(l),o=It)}else 0!==(a=r&~i)?(n=jt(a),o=It):0!==l&&(n=jt(l),o=It);if(0===n)return 0;if(n=r&((0>(n=31-Ht(n))?0:1<<n)<<1)-1,0!==t&&t!==n&&0===(t&i)){if(jt(t),o<=It)return t;It=o}if(0!==(t=e.entangledLanes))for(e=e.entanglements,t&=n;0<t;)o=1<<(r=31-Ht(t)),n|=e[r],t&=~o;return n}function Ft(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function zt(e,t){switch(e){case 15:return 1;case 14:return 2;case 12:return 0===(e=Ut(24&~t))?zt(10,t):e;case 10:return 0===(e=Ut(192&~t))?zt(8,t):e;case 8:return 0===(e=Ut(3584&~t))&&(0===(e=Ut(4186112&~t))&&(e=512)),e;case 2:return 0===(t=Ut(805306368&~t))&&(t=268435456),t}throw Error(i(358,e))}function Ut(e){return e&-e}function Bt(e){for(var t=[],r=0;31>r;r++)t.push(e);return t}function Vt(e,t,r){e.pendingLanes|=t;var n=t-1;e.suspendedLanes&=n,e.pingedLanes&=n,(e=e.eventTimes)[t=31-Ht(t)]=r}var Ht=Math.clz32?Math.clz32:function(e){return 0===e?32:31-(Wt(e)/Gt|0)|0},Wt=Math.log,Gt=Math.LN2;var $t=a.unstable_UserBlockingPriority,Qt=a.unstable_runWithPriority,Yt=!0;function Kt(e,t,r,n){je||De();var o=Jt,a=je;je=!0;try{Ne(o,e,t,r,n)}finally{(je=a)||Fe()}}function Xt(e,t,r,n){Qt($t,Jt.bind(null,e,t,r,n))}function Jt(e,t,r,n){var o;if(Yt)if((o=0===(4&t))&&0<it.length&&-1<pt.indexOf(e))e=ht(null,e,t,r,n),it.push(e);else{var a=Zt(e,t,r,n);if(null===a)o&>(e,n);else{if(o){if(-1<pt.indexOf(e))return e=ht(a,e,t,r,n),void it.push(e);if(function(e,t,r,n,o){switch(t){case\"focusin\":return lt=mt(lt,e,t,r,n,o),!0;case\"dragenter\":return ut=mt(ut,e,t,r,n,o),!0;case\"mouseover\":return st=mt(st,e,t,r,n,o),!0;case\"pointerover\":var a=o.pointerId;return ct.set(a,mt(ct.get(a)||null,e,t,r,n,o)),!0;case\"gotpointercapture\":return a=o.pointerId,ft.set(a,mt(ft.get(a)||null,e,t,r,n,o)),!0}return!1}(a,e,t,r,n))return;gt(e,n)}Dn(e,t,n,null,r)}}}function Zt(e,t,r,n){var o=_e(n);if(null!==(o=ro(o))){var a=Ke(o);if(null===a)o=null;else{var i=a.tag;if(13===i){if(null!==(o=Xe(a)))return o;o=null}else if(3===i){if(a.stateNode.hydrate)return 3===a.tag?a.stateNode.containerInfo:null;o=null}else a!==o&&(o=null)}}return Dn(e,t,n,o,r),null}var er=null,tr=null,rr=null;function nr(){if(rr)return rr;var e,t,r=tr,n=r.length,o=\"value\"in er?er.value:er.textContent,a=o.length;for(e=0;e<n&&r[e]===o[e];e++);var i=n-e;for(t=1;t<=i&&r[n-t]===o[a-t];t++);return rr=o.slice(e,1<t?1-t:void 0)}function or(e){var t=e.keyCode;return\"charCode\"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function ar(){return!0}function ir(){return!1}function lr(e){function t(t,r,n,o,a){for(var i in this._reactName=t,this._targetInst=n,this.type=r,this.nativeEvent=o,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(o):o[i]);return this.isDefaultPrevented=(null!=o.defaultPrevented?o.defaultPrevented:!1===o.returnValue)?ar:ir,this.isPropagationStopped=ir,this}return o(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():\"unknown\"!==typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=ar)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():\"unknown\"!==typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=ar)},persist:function(){},isPersistent:ar}),t}var ur,sr,cr,fr={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},dr=lr(fr),pr=o({},fr,{view:0,detail:0}),hr=lr(pr),gr=o({},pr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Cr,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return\"movementX\"in e?e.movementX:(e!==cr&&(cr&&\"mousemove\"===e.type?(ur=e.screenX-cr.screenX,sr=e.screenY-cr.screenY):sr=ur=0,cr=e),ur)},movementY:function(e){return\"movementY\"in e?e.movementY:sr}}),mr=lr(gr),vr=lr(o({},gr,{dataTransfer:0})),yr=lr(o({},pr,{relatedTarget:0})),br=lr(o({},fr,{animationName:0,elapsedTime:0,pseudoElement:0})),wr=o({},fr,{clipboardData:function(e){return\"clipboardData\"in e?e.clipboardData:window.clipboardData}}),xr=lr(wr),kr=lr(o({},fr,{data:0})),Er={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Sr={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Tr={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function _r(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Tr[e])&&!!t[e]}function Cr(){return _r}var Or=o({},pr,{key:function(e){if(e.key){var t=Er[e.key]||e.key;if(\"Unidentified\"!==t)return t}return\"keypress\"===e.type?13===(e=or(e))?\"Enter\":String.fromCharCode(e):\"keydown\"===e.type||\"keyup\"===e.type?Sr[e.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Cr,charCode:function(e){return\"keypress\"===e.type?or(e):0},keyCode:function(e){return\"keydown\"===e.type||\"keyup\"===e.type?e.keyCode:0},which:function(e){return\"keypress\"===e.type?or(e):\"keydown\"===e.type||\"keyup\"===e.type?e.keyCode:0}}),Pr=lr(Or),Rr=lr(o({},gr,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Ar=lr(o({},pr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Cr})),qr=lr(o({},fr,{propertyName:0,elapsedTime:0,pseudoElement:0})),Lr=o({},gr,{deltaX:function(e){return\"deltaX\"in e?e.deltaX:\"wheelDeltaX\"in e?-e.wheelDeltaX:0},deltaY:function(e){return\"deltaY\"in e?e.deltaY:\"wheelDeltaY\"in e?-e.wheelDeltaY:\"wheelDelta\"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Nr=lr(Lr),Dr=[9,13,27,32],Ir=f&&\"CompositionEvent\"in window,jr=null;f&&\"documentMode\"in document&&(jr=document.documentMode);var Mr=f&&\"TextEvent\"in window&&!jr,Fr=f&&(!Ir||jr&&8<jr&&11>=jr),zr=String.fromCharCode(32),Ur=!1;function Br(e,t){switch(e){case\"keyup\":return-1!==Dr.indexOf(t.keyCode);case\"keydown\":return 229!==t.keyCode;case\"keypress\":case\"mousedown\":case\"focusout\":return!0;default:return!1}}function Vr(e){return\"object\"===typeof(e=e.detail)&&\"data\"in e?e.data:null}var Hr=!1;var Wr={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Gr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return\"input\"===t?!!Wr[e.type]:\"textarea\"===t}function $r(e,t,r,n){Ae(n),0<(t=jn(t,\"onChange\")).length&&(r=new dr(\"onChange\",\"change\",null,r,n),e.push({event:r,listeners:t}))}var Qr=null,Yr=null;function Kr(e){Pn(e,0)}function Xr(e){if(X(oo(e)))return e}function Jr(e,t){if(\"change\"===e)return t}var Zr=!1;if(f){var en;if(f){var tn=\"oninput\"in document;if(!tn){var rn=document.createElement(\"div\");rn.setAttribute(\"oninput\",\"return;\"),tn=\"function\"===typeof rn.oninput}en=tn}else en=!1;Zr=en&&(!document.documentMode||9<document.documentMode)}function nn(){Qr&&(Qr.detachEvent(\"onpropertychange\",on),Yr=Qr=null)}function on(e){if(\"value\"===e.propertyName&&Xr(Yr)){var t=[];if($r(t,Yr,e,_e(e)),e=Kr,je)e(t);else{je=!0;try{Le(e,t)}finally{je=!1,Fe()}}}}function an(e,t,r){\"focusin\"===e?(nn(),Yr=r,(Qr=t).attachEvent(\"onpropertychange\",on)):\"focusout\"===e&&nn()}function ln(e){if(\"selectionchange\"===e||\"keyup\"===e||\"keydown\"===e)return Xr(Yr)}function un(e,t){if(\"click\"===e)return Xr(t)}function sn(e,t){if(\"input\"===e||\"change\"===e)return Xr(t)}var cn=\"function\"===typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e===1/t)||e!==e&&t!==t},fn=Object.prototype.hasOwnProperty;function dn(e,t){if(cn(e,t))return!0;if(\"object\"!==typeof e||null===e||\"object\"!==typeof t||null===t)return!1;var r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(n=0;n<r.length;n++)if(!fn.call(t,r[n])||!cn(e[r[n]],t[r[n]]))return!1;return!0}function pn(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function hn(e,t){var r,n=pn(e);for(e=0;n;){if(3===n.nodeType){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=pn(n)}}function gn(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?gn(e,t.parentNode):\"contains\"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function mn(){for(var e=window,t=J();t instanceof e.HTMLIFrameElement;){try{var r=\"string\"===typeof t.contentWindow.location.href}catch(e){r=!1}if(!r)break;t=J((e=t.contentWindow).document)}return t}function vn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(\"input\"===t&&(\"text\"===e.type||\"search\"===e.type||\"tel\"===e.type||\"url\"===e.type||\"password\"===e.type)||\"textarea\"===t||\"true\"===e.contentEditable)}var yn=f&&\"documentMode\"in document&&11>=document.documentMode,bn=null,wn=null,xn=null,kn=!1;function En(e,t,r){var n=r.window===r?r.document:9===r.nodeType?r:r.ownerDocument;kn||null==bn||bn!==J(n)||(\"selectionStart\"in(n=bn)&&vn(n)?n={start:n.selectionStart,end:n.selectionEnd}:n={anchorNode:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset},xn&&dn(xn,n)||(xn=n,0<(n=jn(wn,\"onSelect\")).length&&(t=new dr(\"onSelect\",\"select\",null,t,r),e.push({event:t,listeners:n}),t.target=bn)))}Dt(\"cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange\".split(\" \"),0),Dt(\"drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel\".split(\" \"),1),Dt(Nt,2);for(var Sn=\"change selectionchange textInput compositionstart compositionend compositionupdate\".split(\" \"),Tn=0;Tn<Sn.length;Tn++)Lt.set(Sn[Tn],0);c(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]),c(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]),c(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]),c(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]),s(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \")),s(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \")),s(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]),s(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \")),s(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \")),s(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var _n=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),Cn=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(_n));function On(e,t,r){var n=e.type||\"unknown-event\";e.currentTarget=r,function(e,t,r,n,o,a,l,u,s){if(Ye.apply(this,arguments),He){if(!He)throw Error(i(198));var c=We;He=!1,We=null,Ge||(Ge=!0,$e=c)}}(n,t,void 0,e),e.currentTarget=null}function Pn(e,t){t=0!==(4&t);for(var r=0;r<e.length;r++){var n=e[r],o=n.event;n=n.listeners;e:{var a=void 0;if(t)for(var i=n.length-1;0<=i;i--){var l=n[i],u=l.instance,s=l.currentTarget;if(l=l.listener,u!==a&&o.isPropagationStopped())break e;On(o,l,s),a=u}else for(i=0;i<n.length;i++){if(u=(l=n[i]).instance,s=l.currentTarget,l=l.listener,u!==a&&o.isPropagationStopped())break e;On(o,l,s),a=u}}}if(Ge)throw e=$e,Ge=!1,$e=null,e}function Rn(e,t){var r=io(t),n=e+\"__bubble\";r.has(n)||(Nn(t,e,2,!1),r.add(n))}var An=\"_reactListening\"+Math.random().toString(36).slice(2);function qn(e){e[An]||(e[An]=!0,l.forEach((function(t){Cn.has(t)||Ln(t,!1,e,null),Ln(t,!0,e,null)})))}function Ln(e,t,r,n){var o=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,a=r;if(\"selectionchange\"===e&&9!==r.nodeType&&(a=r.ownerDocument),null!==n&&!t&&Cn.has(e)){if(\"scroll\"!==e)return;o|=2,a=n}var i=io(a),l=e+\"__\"+(t?\"capture\":\"bubble\");i.has(l)||(t&&(o|=4),Nn(a,e,o,t),i.add(l))}function Nn(e,t,r,n){var o=Lt.get(t);switch(void 0===o?2:o){case 0:o=Kt;break;case 1:o=Xt;break;default:o=Jt}r=o.bind(null,t,r,e),o=void 0,!Ue||\"touchstart\"!==t&&\"touchmove\"!==t&&\"wheel\"!==t||(o=!0),n?void 0!==o?e.addEventListener(t,r,{capture:!0,passive:o}):e.addEventListener(t,r,!0):void 0!==o?e.addEventListener(t,r,{passive:o}):e.addEventListener(t,r,!1)}function Dn(e,t,r,n,o){var a=n;if(0===(1&t)&&0===(2&t)&&null!==n)e:for(;;){if(null===n)return;var i=n.tag;if(3===i||4===i){var l=n.stateNode.containerInfo;if(l===o||8===l.nodeType&&l.parentNode===o)break;if(4===i)for(i=n.return;null!==i;){var u=i.tag;if((3===u||4===u)&&((u=i.stateNode.containerInfo)===o||8===u.nodeType&&u.parentNode===o))return;i=i.return}for(;null!==l;){if(null===(i=ro(l)))return;if(5===(u=i.tag)||6===u){n=a=i;continue e}l=l.parentNode}}n=n.return}!function(e,t,r){if(Me)return e(t,r);Me=!0;try{Ie(e,t,r)}finally{Me=!1,Fe()}}((function(){var n=a,o=_e(r),i=[];e:{var l=qt.get(e);if(void 0!==l){var u=dr,s=e;switch(e){case\"keypress\":if(0===or(r))break e;case\"keydown\":case\"keyup\":u=Pr;break;case\"focusin\":s=\"focus\",u=yr;break;case\"focusout\":s=\"blur\",u=yr;break;case\"beforeblur\":case\"afterblur\":u=yr;break;case\"click\":if(2===r.button)break e;case\"auxclick\":case\"dblclick\":case\"mousedown\":case\"mousemove\":case\"mouseup\":case\"mouseout\":case\"mouseover\":case\"contextmenu\":u=mr;break;case\"drag\":case\"dragend\":case\"dragenter\":case\"dragexit\":case\"dragleave\":case\"dragover\":case\"dragstart\":case\"drop\":u=vr;break;case\"touchcancel\":case\"touchend\":case\"touchmove\":case\"touchstart\":u=Ar;break;case Ot:case Pt:case Rt:u=br;break;case At:u=qr;break;case\"scroll\":u=hr;break;case\"wheel\":u=Nr;break;case\"copy\":case\"cut\":case\"paste\":u=xr;break;case\"gotpointercapture\":case\"lostpointercapture\":case\"pointercancel\":case\"pointerdown\":case\"pointermove\":case\"pointerout\":case\"pointerover\":case\"pointerup\":u=Rr}var c=0!==(4&t),f=!c&&\"scroll\"===e,d=c?null!==l?l+\"Capture\":null:l;c=[];for(var p,h=n;null!==h;){var g=(p=h).stateNode;if(5===p.tag&&null!==g&&(p=g,null!==d&&(null!=(g=ze(h,d))&&c.push(In(h,g,p)))),f)break;h=h.return}0<c.length&&(l=new u(l,s,null,r,o),i.push({event:l,listeners:c}))}}if(0===(7&t)){if(u=\"mouseout\"===e||\"pointerout\"===e,(!(l=\"mouseover\"===e||\"pointerover\"===e)||0!==(16&t)||!(s=r.relatedTarget||r.fromElement)||!ro(s)&&!s[eo])&&(u||l)&&(l=o.window===o?o:(l=o.ownerDocument)?l.defaultView||l.parentWindow:window,u?(u=n,null!==(s=(s=r.relatedTarget||r.toElement)?ro(s):null)&&(s!==(f=Ke(s))||5!==s.tag&&6!==s.tag)&&(s=null)):(u=null,s=n),u!==s)){if(c=mr,g=\"onMouseLeave\",d=\"onMouseEnter\",h=\"mouse\",\"pointerout\"!==e&&\"pointerover\"!==e||(c=Rr,g=\"onPointerLeave\",d=\"onPointerEnter\",h=\"pointer\"),f=null==u?l:oo(u),p=null==s?l:oo(s),(l=new c(g,h+\"leave\",u,r,o)).target=f,l.relatedTarget=p,g=null,ro(o)===n&&((c=new c(d,h+\"enter\",s,r,o)).target=p,c.relatedTarget=f,g=c),f=g,u&&s)e:{for(d=s,h=0,p=c=u;p;p=Mn(p))h++;for(p=0,g=d;g;g=Mn(g))p++;for(;0<h-p;)c=Mn(c),h--;for(;0<p-h;)d=Mn(d),p--;for(;h--;){if(c===d||null!==d&&c===d.alternate)break e;c=Mn(c),d=Mn(d)}c=null}else c=null;null!==u&&Fn(i,l,u,c,!1),null!==s&&null!==f&&Fn(i,f,s,c,!0)}if(\"select\"===(u=(l=n?oo(n):window).nodeName&&l.nodeName.toLowerCase())||\"input\"===u&&\"file\"===l.type)var m=Jr;else if(Gr(l))if(Zr)m=sn;else{m=ln;var v=an}else(u=l.nodeName)&&\"input\"===u.toLowerCase()&&(\"checkbox\"===l.type||\"radio\"===l.type)&&(m=un);switch(m&&(m=m(e,n))?$r(i,m,r,o):(v&&v(e,l,n),\"focusout\"===e&&(v=l._wrapperState)&&v.controlled&&\"number\"===l.type&&oe(l,\"number\",l.value)),v=n?oo(n):window,e){case\"focusin\":(Gr(v)||\"true\"===v.contentEditable)&&(bn=v,wn=n,xn=null);break;case\"focusout\":xn=wn=bn=null;break;case\"mousedown\":kn=!0;break;case\"contextmenu\":case\"mouseup\":case\"dragend\":kn=!1,En(i,r,o);break;case\"selectionchange\":if(yn)break;case\"keydown\":case\"keyup\":En(i,r,o)}var y;if(Ir)e:{switch(e){case\"compositionstart\":var b=\"onCompositionStart\";break e;case\"compositionend\":b=\"onCompositionEnd\";break e;case\"compositionupdate\":b=\"onCompositionUpdate\";break e}b=void 0}else Hr?Br(e,r)&&(b=\"onCompositionEnd\"):\"keydown\"===e&&229===r.keyCode&&(b=\"onCompositionStart\");b&&(Fr&&\"ko\"!==r.locale&&(Hr||\"onCompositionStart\"!==b?\"onCompositionEnd\"===b&&Hr&&(y=nr()):(tr=\"value\"in(er=o)?er.value:er.textContent,Hr=!0)),0<(v=jn(n,b)).length&&(b=new kr(b,e,null,r,o),i.push({event:b,listeners:v}),y?b.data=y:null!==(y=Vr(r))&&(b.data=y))),(y=Mr?function(e,t){switch(e){case\"compositionend\":return Vr(t);case\"keypress\":return 32!==t.which?null:(Ur=!0,zr);case\"textInput\":return(e=t.data)===zr&&Ur?null:e;default:return null}}(e,r):function(e,t){if(Hr)return\"compositionend\"===e||!Ir&&Br(e,t)?(e=nr(),rr=tr=er=null,Hr=!1,e):null;switch(e){case\"paste\":default:return null;case\"keypress\":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case\"compositionend\":return Fr&&\"ko\"!==t.locale?null:t.data}}(e,r))&&(0<(n=jn(n,\"onBeforeInput\")).length&&(o=new kr(\"onBeforeInput\",\"beforeinput\",null,r,o),i.push({event:o,listeners:n}),o.data=y))}Pn(i,t)}))}function In(e,t,r){return{instance:e,listener:t,currentTarget:r}}function jn(e,t){for(var r=t+\"Capture\",n=[];null!==e;){var o=e,a=o.stateNode;5===o.tag&&null!==a&&(o=a,null!=(a=ze(e,r))&&n.unshift(In(e,a,o)),null!=(a=ze(e,t))&&n.push(In(e,a,o))),e=e.return}return n}function Mn(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Fn(e,t,r,n,o){for(var a=t._reactName,i=[];null!==r&&r!==n;){var l=r,u=l.alternate,s=l.stateNode;if(null!==u&&u===n)break;5===l.tag&&null!==s&&(l=s,o?null!=(u=ze(r,a))&&i.unshift(In(r,u,l)):o||null!=(u=ze(r,a))&&i.push(In(r,u,l))),r=r.return}0!==i.length&&e.push({event:t,listeners:i})}function zn(){}var Un=null,Bn=null;function Vn(e,t){switch(e){case\"button\":case\"input\":case\"select\":case\"textarea\":return!!t.autoFocus}return!1}function Hn(e,t){return\"textarea\"===e||\"option\"===e||\"noscript\"===e||\"string\"===typeof t.children||\"number\"===typeof t.children||\"object\"===typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var Wn=\"function\"===typeof setTimeout?setTimeout:void 0,Gn=\"function\"===typeof clearTimeout?clearTimeout:void 0;function $n(e){1===e.nodeType?e.textContent=\"\":9===e.nodeType&&(null!=(e=e.body)&&(e.textContent=\"\"))}function Qn(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function Yn(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var r=e.data;if(\"$\"===r||\"$!\"===r||\"$?\"===r){if(0===t)return e;t--}else\"/$\"===r&&t++}e=e.previousSibling}return null}var Kn=0;var Xn=Math.random().toString(36).slice(2),Jn=\"__reactFiber$\"+Xn,Zn=\"__reactProps$\"+Xn,eo=\"__reactContainer$\"+Xn,to=\"__reactEvents$\"+Xn;function ro(e){var t=e[Jn];if(t)return t;for(var r=e.parentNode;r;){if(t=r[eo]||r[Jn]){if(r=t.alternate,null!==t.child||null!==r&&null!==r.child)for(e=Yn(e);null!==e;){if(r=e[Jn])return r;e=Yn(e)}return t}r=(e=r).parentNode}return null}function no(e){return!(e=e[Jn]||e[eo])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function oo(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(i(33))}function ao(e){return e[Zn]||null}function io(e){var t=e[to];return void 0===t&&(t=e[to]=new Set),t}var lo=[],uo=-1;function so(e){return{current:e}}function co(e){0>uo||(e.current=lo[uo],lo[uo]=null,uo--)}function fo(e,t){uo++,lo[uo]=e.current,e.current=t}var po={},ho=so(po),go=so(!1),mo=po;function vo(e,t){var r=e.type.contextTypes;if(!r)return po;var n=e.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===t)return n.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in r)a[o]=t[o];return n&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function yo(e){return null!==(e=e.childContextTypes)&&void 0!==e}function bo(){co(go),co(ho)}function wo(e,t,r){if(ho.current!==po)throw Error(i(168));fo(ho,t),fo(go,r)}function xo(e,t,r){var n=e.stateNode;if(e=t.childContextTypes,\"function\"!==typeof n.getChildContext)return r;for(var a in n=n.getChildContext())if(!(a in e))throw Error(i(108,$(t)||\"Unknown\",a));return o({},r,n)}function ko(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||po,mo=ho.current,fo(ho,e),fo(go,go.current),!0}function Eo(e,t,r){var n=e.stateNode;if(!n)throw Error(i(169));r?(e=xo(e,t,mo),n.__reactInternalMemoizedMergedChildContext=e,co(go),co(ho),fo(ho,e)):co(go),fo(go,r)}var So=null,To=null,_o=a.unstable_runWithPriority,Co=a.unstable_scheduleCallback,Oo=a.unstable_cancelCallback,Po=a.unstable_shouldYield,Ro=a.unstable_requestPaint,Ao=a.unstable_now,qo=a.unstable_getCurrentPriorityLevel,Lo=a.unstable_ImmediatePriority,No=a.unstable_UserBlockingPriority,Do=a.unstable_NormalPriority,Io=a.unstable_LowPriority,jo=a.unstable_IdlePriority,Mo={},Fo=void 0!==Ro?Ro:function(){},zo=null,Uo=null,Bo=!1,Vo=Ao(),Ho=1e4>Vo?Ao:function(){return Ao()-Vo};function Wo(){switch(qo()){case Lo:return 99;case No:return 98;case Do:return 97;case Io:return 96;case jo:return 95;default:throw Error(i(332))}}function Go(e){switch(e){case 99:return Lo;case 98:return No;case 97:return Do;case 96:return Io;case 95:return jo;default:throw Error(i(332))}}function $o(e,t){return e=Go(e),_o(e,t)}function Qo(e,t,r){return e=Go(e),Co(e,t,r)}function Yo(){if(null!==Uo){var e=Uo;Uo=null,Oo(e)}Ko()}function Ko(){if(!Bo&&null!==zo){Bo=!0;var e=0;try{var t=zo;$o(99,(function(){for(;e<t.length;e++){var r=t[e];do{r=r(!0)}while(null!==r)}})),zo=null}catch(t){throw null!==zo&&(zo=zo.slice(e+1)),Co(Lo,Yo),t}finally{Bo=!1}}}var Xo=x.ReactCurrentBatchConfig;function Jo(e,t){if(e&&e.defaultProps){for(var r in t=o({},t),e=e.defaultProps)void 0===t[r]&&(t[r]=e[r]);return t}return t}var Zo=so(null),ea=null,ta=null,ra=null;function na(){ra=ta=ea=null}function oa(e){var t=Zo.current;co(Zo),e.type._context._currentValue=t}function aa(e,t){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)===t){if(null===r||(r.childLanes&t)===t)break;r.childLanes|=t}else e.childLanes|=t,null!==r&&(r.childLanes|=t);e=e.return}}function ia(e,t){ea=e,ra=ta=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!==(e.lanes&t)&&(ji=!0),e.firstContext=null)}function la(e,t){if(ra!==e&&!1!==t&&0!==t)if(\"number\"===typeof t&&1073741823!==t||(ra=e,t=1073741823),t={context:e,observedBits:t,next:null},null===ta){if(null===ea)throw Error(i(308));ta=t,ea.dependencies={lanes:0,firstContext:t,responders:null}}else ta=ta.next=t;return e._currentValue}var ua=!1;function sa(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}function ca(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function fa(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function da(e,t){if(null!==(e=e.updateQueue)){var r=(e=e.shared).pending;null===r?t.next=t:(t.next=r.next,r.next=t),e.pending=t}}function pa(e,t){var r=e.updateQueue,n=e.alternate;if(null!==n&&r===(n=n.updateQueue)){var o=null,a=null;if(null!==(r=r.firstBaseUpdate)){do{var i={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};null===a?o=a=i:a=a.next=i,r=r.next}while(null!==r);null===a?o=a=t:a=a.next=t}else o=a=t;return r={baseState:n.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:n.shared,effects:n.effects},void(e.updateQueue=r)}null===(e=r.lastBaseUpdate)?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}function ha(e,t,r,n){var a=e.updateQueue;ua=!1;var i=a.firstBaseUpdate,l=a.lastBaseUpdate,u=a.shared.pending;if(null!==u){a.shared.pending=null;var s=u,c=s.next;s.next=null,null===l?i=c:l.next=c,l=s;var f=e.alternate;if(null!==f){var d=(f=f.updateQueue).lastBaseUpdate;d!==l&&(null===d?f.firstBaseUpdate=c:d.next=c,f.lastBaseUpdate=s)}}if(null!==i){for(d=a.baseState,l=0,f=c=s=null;;){u=i.lane;var p=i.eventTime;if((n&u)===u){null!==f&&(f=f.next={eventTime:p,lane:0,tag:i.tag,payload:i.payload,callback:i.callback,next:null});e:{var h=e,g=i;switch(u=t,p=r,g.tag){case 1:if(\"function\"===typeof(h=g.payload)){d=h.call(p,d,u);break e}d=h;break e;case 3:h.flags=-4097&h.flags|64;case 0:if(null===(u=\"function\"===typeof(h=g.payload)?h.call(p,d,u):h)||void 0===u)break e;d=o({},d,u);break e;case 2:ua=!0}}null!==i.callback&&(e.flags|=32,null===(u=a.effects)?a.effects=[i]:u.push(i))}else p={eventTime:p,lane:u,tag:i.tag,payload:i.payload,callback:i.callback,next:null},null===f?(c=f=p,s=d):f=f.next=p,l|=u;if(null===(i=i.next)){if(null===(u=a.shared.pending))break;i=u.next,u.next=null,a.lastBaseUpdate=u,a.shared.pending=null}}null===f&&(s=d),a.baseState=s,a.firstBaseUpdate=c,a.lastBaseUpdate=f,Ul|=l,e.lanes=l,e.memoizedState=d}}function ga(e,t,r){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var n=e[t],o=n.callback;if(null!==o){if(n.callback=null,n=r,\"function\"!==typeof o)throw Error(i(191,o));o.call(n)}}}var ma=(new n.Component).refs;function va(e,t,r,n){r=null===(r=r(n,t=e.memoizedState))||void 0===r?t:o({},t,r),e.memoizedState=r,0===e.lanes&&(e.updateQueue.baseState=r)}var ya={isMounted:function(e){return!!(e=e._reactInternals)&&Ke(e)===e},enqueueSetState:function(e,t,r){e=e._reactInternals;var n=du(),o=pu(e),a=fa(n,o);a.payload=t,void 0!==r&&null!==r&&(a.callback=r),da(e,a),hu(e,o,n)},enqueueReplaceState:function(e,t,r){e=e._reactInternals;var n=du(),o=pu(e),a=fa(n,o);a.tag=1,a.payload=t,void 0!==r&&null!==r&&(a.callback=r),da(e,a),hu(e,o,n)},enqueueForceUpdate:function(e,t){e=e._reactInternals;var r=du(),n=pu(e),o=fa(r,n);o.tag=2,void 0!==t&&null!==t&&(o.callback=t),da(e,o),hu(e,n,r)}};function ba(e,t,r,n,o,a,i){return\"function\"===typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(n,a,i):!t.prototype||!t.prototype.isPureReactComponent||(!dn(r,n)||!dn(o,a))}function wa(e,t,r){var n=!1,o=po,a=t.contextType;return\"object\"===typeof a&&null!==a?a=la(a):(o=yo(t)?mo:ho.current,a=(n=null!==(n=t.contextTypes)&&void 0!==n)?vo(e,o):po),t=new t(r,a),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=ya,e.stateNode=t,t._reactInternals=e,n&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=a),t}function xa(e,t,r,n){e=t.state,\"function\"===typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(r,n),\"function\"===typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(r,n),t.state!==e&&ya.enqueueReplaceState(t,t.state,null)}function ka(e,t,r,n){var o=e.stateNode;o.props=r,o.state=e.memoizedState,o.refs=ma,sa(e);var a=t.contextType;\"object\"===typeof a&&null!==a?o.context=la(a):(a=yo(t)?mo:ho.current,o.context=vo(e,a)),ha(e,r,o,n),o.state=e.memoizedState,\"function\"===typeof(a=t.getDerivedStateFromProps)&&(va(e,t,a,r),o.state=e.memoizedState),\"function\"===typeof t.getDerivedStateFromProps||\"function\"===typeof o.getSnapshotBeforeUpdate||\"function\"!==typeof o.UNSAFE_componentWillMount&&\"function\"!==typeof o.componentWillMount||(t=o.state,\"function\"===typeof o.componentWillMount&&o.componentWillMount(),\"function\"===typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount(),t!==o.state&&ya.enqueueReplaceState(o,o.state,null),ha(e,r,o,n),o.state=e.memoizedState),\"function\"===typeof o.componentDidMount&&(e.flags|=4)}var Ea=Array.isArray;function Sa(e,t,r){if(null!==(e=r.ref)&&\"function\"!==typeof e&&\"object\"!==typeof e){if(r._owner){if(r=r._owner){if(1!==r.tag)throw Error(i(309));var n=r.stateNode}if(!n)throw Error(i(147,e));var o=\"\"+e;return null!==t&&null!==t.ref&&\"function\"===typeof t.ref&&t.ref._stringRef===o?t.ref:(t=function(e){var t=n.refs;t===ma&&(t=n.refs={}),null===e?delete t[o]:t[o]=e},t._stringRef=o,t)}if(\"string\"!==typeof e)throw Error(i(284));if(!r._owner)throw Error(i(290,e))}return e}function Ta(e,t){if(\"textarea\"!==e.type)throw Error(i(31,\"[object Object]\"===Object.prototype.toString.call(t)?\"object with keys {\"+Object.keys(t).join(\", \")+\"}\":t))}function _a(e){function t(t,r){if(e){var n=t.lastEffect;null!==n?(n.nextEffect=r,t.lastEffect=r):t.firstEffect=t.lastEffect=r,r.nextEffect=null,r.flags=8}}function r(r,n){if(!e)return null;for(;null!==n;)t(r,n),n=n.sibling;return null}function n(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function o(e,t){return(e=Gu(e,t)).index=0,e.sibling=null,e}function a(t,r,n){return t.index=n,e?null!==(n=t.alternate)?(n=n.index)<r?(t.flags=2,r):n:(t.flags=2,r):r}function l(t){return e&&null===t.alternate&&(t.flags=2),t}function u(e,t,r,n){return null===t||6!==t.tag?((t=Ku(r,e.mode,n)).return=e,t):((t=o(t,r)).return=e,t)}function s(e,t,r,n){return null!==t&&t.elementType===r.type?((n=o(t,r.props)).ref=Sa(e,t,r),n.return=e,n):((n=$u(r.type,r.key,r.props,null,e.mode,n)).ref=Sa(e,t,r),n.return=e,n)}function c(e,t,r,n){return null===t||4!==t.tag||t.stateNode.containerInfo!==r.containerInfo||t.stateNode.implementation!==r.implementation?((t=Xu(r,e.mode,n)).return=e,t):((t=o(t,r.children||[])).return=e,t)}function f(e,t,r,n,a){return null===t||7!==t.tag?((t=Qu(r,e.mode,n,a)).return=e,t):((t=o(t,r)).return=e,t)}function d(e,t,r){if(\"string\"===typeof t||\"number\"===typeof t)return(t=Ku(\"\"+t,e.mode,r)).return=e,t;if(\"object\"===typeof t&&null!==t){switch(t.$$typeof){case k:return(r=$u(t.type,t.key,t.props,null,e.mode,r)).ref=Sa(e,null,t),r.return=e,r;case E:return(t=Xu(t,e.mode,r)).return=e,t}if(Ea(t)||B(t))return(t=Qu(t,e.mode,r,null)).return=e,t;Ta(e,t)}return null}function p(e,t,r,n){var o=null!==t?t.key:null;if(\"string\"===typeof r||\"number\"===typeof r)return null!==o?null:u(e,t,\"\"+r,n);if(\"object\"===typeof r&&null!==r){switch(r.$$typeof){case k:return r.key===o?r.type===S?f(e,t,r.props.children,n,o):s(e,t,r,n):null;case E:return r.key===o?c(e,t,r,n):null}if(Ea(r)||B(r))return null!==o?null:f(e,t,r,n,null);Ta(e,r)}return null}function h(e,t,r,n,o){if(\"string\"===typeof n||\"number\"===typeof n)return u(t,e=e.get(r)||null,\"\"+n,o);if(\"object\"===typeof n&&null!==n){switch(n.$$typeof){case k:return e=e.get(null===n.key?r:n.key)||null,n.type===S?f(t,e,n.props.children,o,n.key):s(t,e,n,o);case E:return c(t,e=e.get(null===n.key?r:n.key)||null,n,o)}if(Ea(n)||B(n))return f(t,e=e.get(r)||null,n,o,null);Ta(t,n)}return null}function g(o,i,l,u){for(var s=null,c=null,f=i,g=i=0,m=null;null!==f&&g<l.length;g++){f.index>g?(m=f,f=null):m=f.sibling;var v=p(o,f,l[g],u);if(null===v){null===f&&(f=m);break}e&&f&&null===v.alternate&&t(o,f),i=a(v,i,g),null===c?s=v:c.sibling=v,c=v,f=m}if(g===l.length)return r(o,f),s;if(null===f){for(;g<l.length;g++)null!==(f=d(o,l[g],u))&&(i=a(f,i,g),null===c?s=f:c.sibling=f,c=f);return s}for(f=n(o,f);g<l.length;g++)null!==(m=h(f,o,g,l[g],u))&&(e&&null!==m.alternate&&f.delete(null===m.key?g:m.key),i=a(m,i,g),null===c?s=m:c.sibling=m,c=m);return e&&f.forEach((function(e){return t(o,e)})),s}function m(o,l,u,s){var c=B(u);if(\"function\"!==typeof c)throw Error(i(150));if(null==(u=c.call(u)))throw Error(i(151));for(var f=c=null,g=l,m=l=0,v=null,y=u.next();null!==g&&!y.done;m++,y=u.next()){g.index>m?(v=g,g=null):v=g.sibling;var b=p(o,g,y.value,s);if(null===b){null===g&&(g=v);break}e&&g&&null===b.alternate&&t(o,g),l=a(b,l,m),null===f?c=b:f.sibling=b,f=b,g=v}if(y.done)return r(o,g),c;if(null===g){for(;!y.done;m++,y=u.next())null!==(y=d(o,y.value,s))&&(l=a(y,l,m),null===f?c=y:f.sibling=y,f=y);return c}for(g=n(o,g);!y.done;m++,y=u.next())null!==(y=h(g,o,m,y.value,s))&&(e&&null!==y.alternate&&g.delete(null===y.key?m:y.key),l=a(y,l,m),null===f?c=y:f.sibling=y,f=y);return e&&g.forEach((function(e){return t(o,e)})),c}return function(e,n,a,u){var s=\"object\"===typeof a&&null!==a&&a.type===S&&null===a.key;s&&(a=a.props.children);var c=\"object\"===typeof a&&null!==a;if(c)switch(a.$$typeof){case k:e:{for(c=a.key,s=n;null!==s;){if(s.key===c){if(7===s.tag){if(a.type===S){r(e,s.sibling),(n=o(s,a.props.children)).return=e,e=n;break e}}else if(s.elementType===a.type){r(e,s.sibling),(n=o(s,a.props)).ref=Sa(e,s,a),n.return=e,e=n;break e}r(e,s);break}t(e,s),s=s.sibling}a.type===S?((n=Qu(a.props.children,e.mode,u,a.key)).return=e,e=n):((u=$u(a.type,a.key,a.props,null,e.mode,u)).ref=Sa(e,n,a),u.return=e,e=u)}return l(e);case E:e:{for(s=a.key;null!==n;){if(n.key===s){if(4===n.tag&&n.stateNode.containerInfo===a.containerInfo&&n.stateNode.implementation===a.implementation){r(e,n.sibling),(n=o(n,a.children||[])).return=e,e=n;break e}r(e,n);break}t(e,n),n=n.sibling}(n=Xu(a,e.mode,u)).return=e,e=n}return l(e)}if(\"string\"===typeof a||\"number\"===typeof a)return a=\"\"+a,null!==n&&6===n.tag?(r(e,n.sibling),(n=o(n,a)).return=e,e=n):(r(e,n),(n=Ku(a,e.mode,u)).return=e,e=n),l(e);if(Ea(a))return g(e,n,a,u);if(B(a))return m(e,n,a,u);if(c&&Ta(e,a),\"undefined\"===typeof a&&!s)switch(e.tag){case 1:case 22:case 0:case 11:case 15:throw Error(i(152,$(e.type)||\"Component\"))}return r(e,n)}}var Ca=_a(!0),Oa=_a(!1),Pa={},Ra=so(Pa),Aa=so(Pa),qa=so(Pa);function La(e){if(e===Pa)throw Error(i(174));return e}function Na(e,t){switch(fo(qa,t),fo(Aa,e),fo(Ra,Pa),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:he(null,\"\");break;default:t=he(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}co(Ra),fo(Ra,t)}function Da(){co(Ra),co(Aa),co(qa)}function Ia(e){La(qa.current);var t=La(Ra.current),r=he(t,e.type);t!==r&&(fo(Aa,e),fo(Ra,r))}function ja(e){Aa.current===e&&(co(Ra),co(Aa))}var Ma=so(0);function Fa(e){for(var t=e;null!==t;){if(13===t.tag){var r=t.memoizedState;if(null!==r&&(null===(r=r.dehydrated)||\"$?\"===r.data||\"$!\"===r.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!==(64&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var za=null,Ua=null,Ba=!1;function Va(e,t){var r=Hu(5,null,null,0);r.elementType=\"DELETED\",r.type=\"DELETED\",r.stateNode=t,r.return=e,r.flags=8,null!==e.lastEffect?(e.lastEffect.nextEffect=r,e.lastEffect=r):e.firstEffect=e.lastEffect=r}function Ha(e,t){switch(e.tag){case 5:var r=e.type;return null!==(t=1!==t.nodeType||r.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=\"\"===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);default:return!1}}function Wa(e){if(Ba){var t=Ua;if(t){var r=t;if(!Ha(e,t)){if(!(t=Qn(r.nextSibling))||!Ha(e,t))return e.flags=-1025&e.flags|2,Ba=!1,void(za=e);Va(za,r)}za=e,Ua=Qn(t.firstChild)}else e.flags=-1025&e.flags|2,Ba=!1,za=e}}function Ga(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;za=e}function $a(e){if(e!==za)return!1;if(!Ba)return Ga(e),Ba=!0,!1;var t=e.type;if(5!==e.tag||\"head\"!==t&&\"body\"!==t&&!Hn(t,e.memoizedProps))for(t=Ua;t;)Va(e,t),t=Qn(t.nextSibling);if(Ga(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(i(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var r=e.data;if(\"/$\"===r){if(0===t){Ua=Qn(e.nextSibling);break e}t--}else\"$\"!==r&&\"$!\"!==r&&\"$?\"!==r||t++}e=e.nextSibling}Ua=null}}else Ua=za?Qn(e.stateNode.nextSibling):null;return!0}function Qa(){Ua=za=null,Ba=!1}var Ya=[];function Ka(){for(var e=0;e<Ya.length;e++)Ya[e]._workInProgressVersionPrimary=null;Ya.length=0}var Xa=x.ReactCurrentDispatcher,Ja=x.ReactCurrentBatchConfig,Za=0,ei=null,ti=null,ri=null,ni=!1,oi=!1;function ai(){throw Error(i(321))}function ii(e,t){if(null===t)return!1;for(var r=0;r<t.length&&r<e.length;r++)if(!cn(e[r],t[r]))return!1;return!0}function li(e,t,r,n,o,a){if(Za=a,ei=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Xa.current=null===e||null===e.memoizedState?Li:Ni,e=r(n,o),oi){a=0;do{if(oi=!1,!(25>a))throw Error(i(301));a+=1,ri=ti=null,t.updateQueue=null,Xa.current=Di,e=r(n,o)}while(oi)}if(Xa.current=qi,t=null!==ti&&null!==ti.next,Za=0,ri=ti=ei=null,ni=!1,t)throw Error(i(300));return e}function ui(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===ri?ei.memoizedState=ri=e:ri=ri.next=e,ri}function si(){if(null===ti){var e=ei.alternate;e=null!==e?e.memoizedState:null}else e=ti.next;var t=null===ri?ei.memoizedState:ri.next;if(null!==t)ri=t,ti=e;else{if(null===e)throw Error(i(310));e={memoizedState:(ti=e).memoizedState,baseState:ti.baseState,baseQueue:ti.baseQueue,queue:ti.queue,next:null},null===ri?ei.memoizedState=ri=e:ri=ri.next=e}return ri}function ci(e,t){return\"function\"===typeof t?t(e):t}function fi(e){var t=si(),r=t.queue;if(null===r)throw Error(i(311));r.lastRenderedReducer=e;var n=ti,o=n.baseQueue,a=r.pending;if(null!==a){if(null!==o){var l=o.next;o.next=a.next,a.next=l}n.baseQueue=o=a,r.pending=null}if(null!==o){o=o.next,n=n.baseState;var u=l=a=null,s=o;do{var c=s.lane;if((Za&c)===c)null!==u&&(u=u.next={lane:0,action:s.action,eagerReducer:s.eagerReducer,eagerState:s.eagerState,next:null}),n=s.eagerReducer===e?s.eagerState:e(n,s.action);else{var f={lane:c,action:s.action,eagerReducer:s.eagerReducer,eagerState:s.eagerState,next:null};null===u?(l=u=f,a=n):u=u.next=f,ei.lanes|=c,Ul|=c}s=s.next}while(null!==s&&s!==o);null===u?a=n:u.next=l,cn(n,t.memoizedState)||(ji=!0),t.memoizedState=n,t.baseState=a,t.baseQueue=u,r.lastRenderedState=n}return[t.memoizedState,r.dispatch]}function di(e){var t=si(),r=t.queue;if(null===r)throw Error(i(311));r.lastRenderedReducer=e;var n=r.dispatch,o=r.pending,a=t.memoizedState;if(null!==o){r.pending=null;var l=o=o.next;do{a=e(a,l.action),l=l.next}while(l!==o);cn(a,t.memoizedState)||(ji=!0),t.memoizedState=a,null===t.baseQueue&&(t.baseState=a),r.lastRenderedState=a}return[a,n]}function pi(e,t,r){var n=t._getVersion;n=n(t._source);var o=t._workInProgressVersionPrimary;if(null!==o?e=o===n:(e=e.mutableReadLanes,(e=(Za&e)===e)&&(t._workInProgressVersionPrimary=n,Ya.push(t))),e)return r(t._source);throw Ya.push(t),Error(i(350))}function hi(e,t,r,n){var o=Ll;if(null===o)throw Error(i(349));var a=t._getVersion,l=a(t._source),u=Xa.current,s=u.useState((function(){return pi(o,t,r)})),c=s[1],f=s[0];s=ri;var d=e.memoizedState,p=d.refs,h=p.getSnapshot,g=d.source;d=d.subscribe;var m=ei;return e.memoizedState={refs:p,source:t,subscribe:n},u.useEffect((function(){p.getSnapshot=r,p.setSnapshot=c;var e=a(t._source);if(!cn(l,e)){e=r(t._source),cn(f,e)||(c(e),e=pu(m),o.mutableReadLanes|=e&o.pendingLanes),e=o.mutableReadLanes,o.entangledLanes|=e;for(var n=o.entanglements,i=e;0<i;){var u=31-Ht(i),s=1<<u;n[u]|=e,i&=~s}}}),[r,t,n]),u.useEffect((function(){return n(t._source,(function(){var e=p.getSnapshot,r=p.setSnapshot;try{r(e(t._source));var n=pu(m);o.mutableReadLanes|=n&o.pendingLanes}catch(e){r((function(){throw e}))}}))}),[t,n]),cn(h,r)&&cn(g,t)&&cn(d,n)||((e={pending:null,dispatch:null,lastRenderedReducer:ci,lastRenderedState:f}).dispatch=c=Ai.bind(null,ei,e),s.queue=e,s.baseQueue=null,f=pi(o,t,r),s.memoizedState=s.baseState=f),f}function gi(e,t,r){return hi(si(),e,t,r)}function mi(e){var t=ui();return\"function\"===typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={pending:null,dispatch:null,lastRenderedReducer:ci,lastRenderedState:e}).dispatch=Ai.bind(null,ei,e),[t.memoizedState,e]}function vi(e,t,r,n){return e={tag:e,create:t,destroy:r,deps:n,next:null},null===(t=ei.updateQueue)?(t={lastEffect:null},ei.updateQueue=t,t.lastEffect=e.next=e):null===(r=t.lastEffect)?t.lastEffect=e.next=e:(n=r.next,r.next=e,e.next=n,t.lastEffect=e),e}function yi(e){return e={current:e},ui().memoizedState=e}function bi(){return si().memoizedState}function wi(e,t,r,n){var o=ui();ei.flags|=e,o.memoizedState=vi(1|t,r,void 0,void 0===n?null:n)}function xi(e,t,r,n){var o=si();n=void 0===n?null:n;var a=void 0;if(null!==ti){var i=ti.memoizedState;if(a=i.destroy,null!==n&&ii(n,i.deps))return void vi(t,r,a,n)}ei.flags|=e,o.memoizedState=vi(1|t,r,a,n)}function ki(e,t){return wi(516,4,e,t)}function Ei(e,t){return xi(516,4,e,t)}function Si(e,t){return xi(4,2,e,t)}function Ti(e,t){return\"function\"===typeof t?(e=e(),t(e),function(){t(null)}):null!==t&&void 0!==t?(e=e(),t.current=e,function(){t.current=null}):void 0}function _i(e,t,r){return r=null!==r&&void 0!==r?r.concat([e]):null,xi(4,2,Ti.bind(null,t,e),r)}function Ci(){}function Oi(e,t){var r=si();t=void 0===t?null:t;var n=r.memoizedState;return null!==n&&null!==t&&ii(t,n[1])?n[0]:(r.memoizedState=[e,t],e)}function Pi(e,t){var r=si();t=void 0===t?null:t;var n=r.memoizedState;return null!==n&&null!==t&&ii(t,n[1])?n[0]:(e=e(),r.memoizedState=[e,t],e)}function Ri(e,t){var r=Wo();$o(98>r?98:r,(function(){e(!0)})),$o(97<r?97:r,(function(){var r=Ja.transition;Ja.transition=1;try{e(!1),t()}finally{Ja.transition=r}}))}function Ai(e,t,r){var n=du(),o=pu(e),a={lane:o,action:r,eagerReducer:null,eagerState:null,next:null},i=t.pending;if(null===i?a.next=a:(a.next=i.next,i.next=a),t.pending=a,i=e.alternate,e===ei||null!==i&&i===ei)oi=ni=!0;else{if(0===e.lanes&&(null===i||0===i.lanes)&&null!==(i=t.lastRenderedReducer))try{var l=t.lastRenderedState,u=i(l,r);if(a.eagerReducer=i,a.eagerState=u,cn(u,l))return}catch(e){}hu(e,o,n)}}var qi={readContext:la,useCallback:ai,useContext:ai,useEffect:ai,useImperativeHandle:ai,useLayoutEffect:ai,useMemo:ai,useReducer:ai,useRef:ai,useState:ai,useDebugValue:ai,useDeferredValue:ai,useTransition:ai,useMutableSource:ai,useOpaqueIdentifier:ai,unstable_isNewReconciler:!1},Li={readContext:la,useCallback:function(e,t){return ui().memoizedState=[e,void 0===t?null:t],e},useContext:la,useEffect:ki,useImperativeHandle:function(e,t,r){return r=null!==r&&void 0!==r?r.concat([e]):null,wi(4,2,Ti.bind(null,t,e),r)},useLayoutEffect:function(e,t){return wi(4,2,e,t)},useMemo:function(e,t){var r=ui();return t=void 0===t?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var n=ui();return t=void 0!==r?r(t):t,n.memoizedState=n.baseState=t,e=(e=n.queue={pending:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=Ai.bind(null,ei,e),[n.memoizedState,e]},useRef:yi,useState:mi,useDebugValue:Ci,useDeferredValue:function(e){var t=mi(e),r=t[0],n=t[1];return ki((function(){var t=Ja.transition;Ja.transition=1;try{n(e)}finally{Ja.transition=t}}),[e]),r},useTransition:function(){var e=mi(!1),t=e[0];return yi(e=Ri.bind(null,e[1])),[e,t]},useMutableSource:function(e,t,r){var n=ui();return n.memoizedState={refs:{getSnapshot:t,setSnapshot:null},source:e,subscribe:r},hi(n,e,t,r)},useOpaqueIdentifier:function(){if(Ba){var e=!1,t=function(e){return{$$typeof:D,toString:e,valueOf:e}}((function(){throw e||(e=!0,r(\"r:\"+(Kn++).toString(36))),Error(i(355))})),r=mi(t)[1];return 0===(2&ei.mode)&&(ei.flags|=516,vi(5,(function(){r(\"r:\"+(Kn++).toString(36))}),void 0,null)),t}return mi(t=\"r:\"+(Kn++).toString(36)),t},unstable_isNewReconciler:!1},Ni={readContext:la,useCallback:Oi,useContext:la,useEffect:Ei,useImperativeHandle:_i,useLayoutEffect:Si,useMemo:Pi,useReducer:fi,useRef:bi,useState:function(){return fi(ci)},useDebugValue:Ci,useDeferredValue:function(e){var t=fi(ci),r=t[0],n=t[1];return Ei((function(){var t=Ja.transition;Ja.transition=1;try{n(e)}finally{Ja.transition=t}}),[e]),r},useTransition:function(){var e=fi(ci)[0];return[bi().current,e]},useMutableSource:gi,useOpaqueIdentifier:function(){return fi(ci)[0]},unstable_isNewReconciler:!1},Di={readContext:la,useCallback:Oi,useContext:la,useEffect:Ei,useImperativeHandle:_i,useLayoutEffect:Si,useMemo:Pi,useReducer:di,useRef:bi,useState:function(){return di(ci)},useDebugValue:Ci,useDeferredValue:function(e){var t=di(ci),r=t[0],n=t[1];return Ei((function(){var t=Ja.transition;Ja.transition=1;try{n(e)}finally{Ja.transition=t}}),[e]),r},useTransition:function(){var e=di(ci)[0];return[bi().current,e]},useMutableSource:gi,useOpaqueIdentifier:function(){return di(ci)[0]},unstable_isNewReconciler:!1},Ii=x.ReactCurrentOwner,ji=!1;function Mi(e,t,r,n){t.child=null===e?Oa(t,null,r,n):Ca(t,e.child,r,n)}function Fi(e,t,r,n,o){r=r.render;var a=t.ref;return ia(t,o),n=li(e,t,r,n,a,o),null===e||ji?(t.flags|=1,Mi(e,t,n,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~o,al(e,t,o))}function zi(e,t,r,n,o,a){if(null===e){var i=r.type;return\"function\"!==typeof i||Wu(i)||void 0!==i.defaultProps||null!==r.compare||void 0!==r.defaultProps?((e=$u(r.type,null,n,t,t.mode,a)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=i,Ui(e,t,i,n,o,a))}return i=e.child,0===(o&a)&&(o=i.memoizedProps,(r=null!==(r=r.compare)?r:dn)(o,n)&&e.ref===t.ref)?al(e,t,a):(t.flags|=1,(e=Gu(i,n)).ref=t.ref,e.return=t,t.child=e)}function Ui(e,t,r,n,o,a){if(null!==e&&dn(e.memoizedProps,n)&&e.ref===t.ref){if(ji=!1,0===(a&o))return t.lanes=e.lanes,al(e,t,a);0!==(16384&e.flags)&&(ji=!0)}return Hi(e,t,r,n,a)}function Bi(e,t,r){var n=t.pendingProps,o=n.children,a=null!==e?e.memoizedState:null;if(\"hidden\"===n.mode||\"unstable-defer-without-hiding\"===n.mode)if(0===(4&t.mode))t.memoizedState={baseLanes:0},ku(t,r);else{if(0===(1073741824&r))return e=null!==a?a.baseLanes|r:r,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e},ku(t,e),null;t.memoizedState={baseLanes:0},ku(t,null!==a?a.baseLanes:r)}else null!==a?(n=a.baseLanes|r,t.memoizedState=null):n=r,ku(t,n);return Mi(e,t,o,r),t.child}function Vi(e,t){var r=t.ref;(null===e&&null!==r||null!==e&&e.ref!==r)&&(t.flags|=128)}function Hi(e,t,r,n,o){var a=yo(r)?mo:ho.current;return a=vo(t,a),ia(t,o),r=li(e,t,r,n,a,o),null===e||ji?(t.flags|=1,Mi(e,t,r,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~o,al(e,t,o))}function Wi(e,t,r,n,o){if(yo(r)){var a=!0;ko(t)}else a=!1;if(ia(t,o),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),wa(t,r,n),ka(t,r,n,o),n=!0;else if(null===e){var i=t.stateNode,l=t.memoizedProps;i.props=l;var u=i.context,s=r.contextType;\"object\"===typeof s&&null!==s?s=la(s):s=vo(t,s=yo(r)?mo:ho.current);var c=r.getDerivedStateFromProps,f=\"function\"===typeof c||\"function\"===typeof i.getSnapshotBeforeUpdate;f||\"function\"!==typeof i.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof i.componentWillReceiveProps||(l!==n||u!==s)&&xa(t,i,n,s),ua=!1;var d=t.memoizedState;i.state=d,ha(t,n,i,o),u=t.memoizedState,l!==n||d!==u||go.current||ua?(\"function\"===typeof c&&(va(t,r,c,n),u=t.memoizedState),(l=ua||ba(t,r,l,n,d,u,s))?(f||\"function\"!==typeof i.UNSAFE_componentWillMount&&\"function\"!==typeof i.componentWillMount||(\"function\"===typeof i.componentWillMount&&i.componentWillMount(),\"function\"===typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),\"function\"===typeof i.componentDidMount&&(t.flags|=4)):(\"function\"===typeof i.componentDidMount&&(t.flags|=4),t.memoizedProps=n,t.memoizedState=u),i.props=n,i.state=u,i.context=s,n=l):(\"function\"===typeof i.componentDidMount&&(t.flags|=4),n=!1)}else{i=t.stateNode,ca(e,t),l=t.memoizedProps,s=t.type===t.elementType?l:Jo(t.type,l),i.props=s,f=t.pendingProps,d=i.context,\"object\"===typeof(u=r.contextType)&&null!==u?u=la(u):u=vo(t,u=yo(r)?mo:ho.current);var p=r.getDerivedStateFromProps;(c=\"function\"===typeof p||\"function\"===typeof i.getSnapshotBeforeUpdate)||\"function\"!==typeof i.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof i.componentWillReceiveProps||(l!==f||d!==u)&&xa(t,i,n,u),ua=!1,d=t.memoizedState,i.state=d,ha(t,n,i,o);var h=t.memoizedState;l!==f||d!==h||go.current||ua?(\"function\"===typeof p&&(va(t,r,p,n),h=t.memoizedState),(s=ua||ba(t,r,s,n,d,h,u))?(c||\"function\"!==typeof i.UNSAFE_componentWillUpdate&&\"function\"!==typeof i.componentWillUpdate||(\"function\"===typeof i.componentWillUpdate&&i.componentWillUpdate(n,h,u),\"function\"===typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(n,h,u)),\"function\"===typeof i.componentDidUpdate&&(t.flags|=4),\"function\"===typeof i.getSnapshotBeforeUpdate&&(t.flags|=256)):(\"function\"!==typeof i.componentDidUpdate||l===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),\"function\"!==typeof i.getSnapshotBeforeUpdate||l===e.memoizedProps&&d===e.memoizedState||(t.flags|=256),t.memoizedProps=n,t.memoizedState=h),i.props=n,i.state=h,i.context=u,n=s):(\"function\"!==typeof i.componentDidUpdate||l===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),\"function\"!==typeof i.getSnapshotBeforeUpdate||l===e.memoizedProps&&d===e.memoizedState||(t.flags|=256),n=!1)}return Gi(e,t,r,n,a,o)}function Gi(e,t,r,n,o,a){Vi(e,t);var i=0!==(64&t.flags);if(!n&&!i)return o&&Eo(t,r,!1),al(e,t,a);n=t.stateNode,Ii.current=t;var l=i&&\"function\"!==typeof r.getDerivedStateFromError?null:n.render();return t.flags|=1,null!==e&&i?(t.child=Ca(t,e.child,null,a),t.child=Ca(t,null,l,a)):Mi(e,t,l,a),t.memoizedState=n.state,o&&Eo(t,r,!0),t.child}function $i(e){var t=e.stateNode;t.pendingContext?wo(0,t.pendingContext,t.pendingContext!==t.context):t.context&&wo(0,t.context,!1),Na(e,t.containerInfo)}var Qi,Yi,Ki,Xi={dehydrated:null,retryLane:0};function Ji(e,t,r){var n,o=t.pendingProps,a=Ma.current,i=!1;return(n=0!==(64&t.flags))||(n=(null===e||null!==e.memoizedState)&&0!==(2&a)),n?(i=!0,t.flags&=-65):null!==e&&null===e.memoizedState||void 0===o.fallback||!0===o.unstable_avoidThisFallback||(a|=1),fo(Ma,1&a),null===e?(void 0!==o.fallback&&Wa(t),e=o.children,a=o.fallback,i?(e=Zi(t,e,a,r),t.child.memoizedState={baseLanes:r},t.memoizedState=Xi,e):\"number\"===typeof o.unstable_expectedLoadTime?(e=Zi(t,e,a,r),t.child.memoizedState={baseLanes:r},t.memoizedState=Xi,t.lanes=33554432,e):((r=Yu({mode:\"visible\",children:e},t.mode,r,null)).return=t,t.child=r)):(e.memoizedState,i?(o=tl(e,t,o.children,o.fallback,r),i=t.child,a=e.child.memoizedState,i.memoizedState=null===a?{baseLanes:r}:{baseLanes:a.baseLanes|r},i.childLanes=e.childLanes&~r,t.memoizedState=Xi,o):(r=el(e,t,o.children,r),t.memoizedState=null,r))}function Zi(e,t,r,n){var o=e.mode,a=e.child;return t={mode:\"hidden\",children:t},0===(2&o)&&null!==a?(a.childLanes=0,a.pendingProps=t):a=Yu(t,o,0,null),r=Qu(r,o,n,null),a.return=e,r.return=e,a.sibling=r,e.child=a,r}function el(e,t,r,n){var o=e.child;return e=o.sibling,r=Gu(o,{mode:\"visible\",children:r}),0===(2&t.mode)&&(r.lanes=n),r.return=t,r.sibling=null,null!==e&&(e.nextEffect=null,e.flags=8,t.firstEffect=t.lastEffect=e),t.child=r}function tl(e,t,r,n,o){var a=t.mode,i=e.child;e=i.sibling;var l={mode:\"hidden\",children:r};return 0===(2&a)&&t.child!==i?((r=t.child).childLanes=0,r.pendingProps=l,null!==(i=r.lastEffect)?(t.firstEffect=r.firstEffect,t.lastEffect=i,i.nextEffect=null):t.firstEffect=t.lastEffect=null):r=Gu(i,l),null!==e?n=Gu(e,n):(n=Qu(n,a,o,null)).flags|=2,n.return=t,r.return=t,r.sibling=n,t.child=r,n}function rl(e,t){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),aa(e.return,t)}function nl(e,t,r,n,o,a){var i=e.memoizedState;null===i?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:n,tail:r,tailMode:o,lastEffect:a}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=n,i.tail=r,i.tailMode=o,i.lastEffect=a)}function ol(e,t,r){var n=t.pendingProps,o=n.revealOrder,a=n.tail;if(Mi(e,t,n.children,r),0!==(2&(n=Ma.current)))n=1&n|2,t.flags|=64;else{if(null!==e&&0!==(64&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&rl(e,r);else if(19===e.tag)rl(e,r);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}n&=1}if(fo(Ma,n),0===(2&t.mode))t.memoizedState=null;else switch(o){case\"forwards\":for(r=t.child,o=null;null!==r;)null!==(e=r.alternate)&&null===Fa(e)&&(o=r),r=r.sibling;null===(r=o)?(o=t.child,t.child=null):(o=r.sibling,r.sibling=null),nl(t,!1,o,r,a,t.lastEffect);break;case\"backwards\":for(r=null,o=t.child,t.child=null;null!==o;){if(null!==(e=o.alternate)&&null===Fa(e)){t.child=o;break}e=o.sibling,o.sibling=r,r=o,o=e}nl(t,!0,r,null,a,t.lastEffect);break;case\"together\":nl(t,!1,null,null,void 0,t.lastEffect);break;default:t.memoizedState=null}return t.child}function al(e,t,r){if(null!==e&&(t.dependencies=e.dependencies),Ul|=t.lanes,0!==(r&t.childLanes)){if(null!==e&&t.child!==e.child)throw Error(i(153));if(null!==t.child){for(r=Gu(e=t.child,e.pendingProps),t.child=r,r.return=t;null!==e.sibling;)e=e.sibling,(r=r.sibling=Gu(e,e.pendingProps)).return=t;r.sibling=null}return t.child}return null}function il(e,t){if(!Ba)switch(e.tailMode){case\"hidden\":t=e.tail;for(var r=null;null!==t;)null!==t.alternate&&(r=t),t=t.sibling;null===r?e.tail=null:r.sibling=null;break;case\"collapsed\":r=e.tail;for(var n=null;null!==r;)null!==r.alternate&&(n=r),r=r.sibling;null===n?t||null===e.tail?e.tail=null:e.tail.sibling=null:n.sibling=null}}function ll(e,t,r){var n=t.pendingProps;switch(t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:case 17:return yo(t.type)&&bo(),null;case 3:return Da(),co(go),co(ho),Ka(),(n=t.stateNode).pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),null!==e&&null!==e.child||($a(t)?t.flags|=4:n.hydrate||(t.flags|=256)),null;case 5:ja(t);var a=La(qa.current);if(r=t.type,null!==e&&null!=t.stateNode)Yi(e,t,r,n),e.ref!==t.ref&&(t.flags|=128);else{if(!n){if(null===t.stateNode)throw Error(i(166));return null}if(e=La(Ra.current),$a(t)){n=t.stateNode,r=t.type;var l=t.memoizedProps;switch(n[Jn]=t,n[Zn]=l,r){case\"dialog\":Rn(\"cancel\",n),Rn(\"close\",n);break;case\"iframe\":case\"object\":case\"embed\":Rn(\"load\",n);break;case\"video\":case\"audio\":for(e=0;e<_n.length;e++)Rn(_n[e],n);break;case\"source\":Rn(\"error\",n);break;case\"img\":case\"image\":case\"link\":Rn(\"error\",n),Rn(\"load\",n);break;case\"details\":Rn(\"toggle\",n);break;case\"input\":ee(n,l),Rn(\"invalid\",n);break;case\"select\":n._wrapperState={wasMultiple:!!l.multiple},Rn(\"invalid\",n);break;case\"textarea\":ue(n,l),Rn(\"invalid\",n)}for(var s in Se(r,l),e=null,l)l.hasOwnProperty(s)&&(a=l[s],\"children\"===s?\"string\"===typeof a?n.textContent!==a&&(e=[\"children\",a]):\"number\"===typeof a&&n.textContent!==\"\"+a&&(e=[\"children\",\"\"+a]):u.hasOwnProperty(s)&&null!=a&&\"onScroll\"===s&&Rn(\"scroll\",n));switch(r){case\"input\":K(n),ne(n,l,!0);break;case\"textarea\":K(n),ce(n);break;case\"select\":case\"option\":break;default:\"function\"===typeof l.onClick&&(n.onclick=zn)}n=e,t.updateQueue=n,null!==n&&(t.flags|=4)}else{switch(s=9===a.nodeType?a:a.ownerDocument,e===fe&&(e=pe(r)),e===fe?\"script\"===r?((e=s.createElement(\"div\")).innerHTML=\"<script><\\\\/script>\",e=e.removeChild(e.firstChild)):\"string\"===typeof n.is?e=s.createElement(r,{is:n.is}):(e=s.createElement(r),\"select\"===r&&(s=e,n.multiple?s.multiple=!0:n.size&&(s.size=n.size))):e=s.createElementNS(e,r),e[Jn]=t,e[Zn]=n,Qi(e,t),t.stateNode=e,s=Te(r,n),r){case\"dialog\":Rn(\"cancel\",e),Rn(\"close\",e),a=n;break;case\"iframe\":case\"object\":case\"embed\":Rn(\"load\",e),a=n;break;case\"video\":case\"audio\":for(a=0;a<_n.length;a++)Rn(_n[a],e);a=n;break;case\"source\":Rn(\"error\",e),a=n;break;case\"img\":case\"image\":case\"link\":Rn(\"error\",e),Rn(\"load\",e),a=n;break;case\"details\":Rn(\"toggle\",e),a=n;break;case\"input\":ee(e,n),a=Z(e,n),Rn(\"invalid\",e);break;case\"option\":a=ae(e,n);break;case\"select\":e._wrapperState={wasMultiple:!!n.multiple},a=o({},n,{value:void 0}),Rn(\"invalid\",e);break;case\"textarea\":ue(e,n),a=le(e,n),Rn(\"invalid\",e);break;default:a=n}Se(r,a);var c=a;for(l in c)if(c.hasOwnProperty(l)){var f=c[l];\"style\"===l?ke(e,f):\"dangerouslySetInnerHTML\"===l?null!=(f=f?f.__html:void 0)&&ve(e,f):\"children\"===l?\"string\"===typeof f?(\"textarea\"!==r||\"\"!==f)&&ye(e,f):\"number\"===typeof f&&ye(e,\"\"+f):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(u.hasOwnProperty(l)?null!=f&&\"onScroll\"===l&&Rn(\"scroll\",e):null!=f&&w(e,l,f,s))}switch(r){case\"input\":K(e),ne(e,n,!1);break;case\"textarea\":K(e),ce(e);break;case\"option\":null!=n.value&&e.setAttribute(\"value\",\"\"+Q(n.value));break;case\"select\":e.multiple=!!n.multiple,null!=(l=n.value)?ie(e,!!n.multiple,l,!1):null!=n.defaultValue&&ie(e,!!n.multiple,n.defaultValue,!0);break;default:\"function\"===typeof a.onClick&&(e.onclick=zn)}Vn(r,n)&&(t.flags|=4)}null!==t.ref&&(t.flags|=128)}return null;case 6:if(e&&null!=t.stateNode)Ki(0,t,e.memoizedProps,n);else{if(\"string\"!==typeof n&&null===t.stateNode)throw Error(i(166));r=La(qa.current),La(Ra.current),$a(t)?(n=t.stateNode,r=t.memoizedProps,n[Jn]=t,n.nodeValue!==r&&(t.flags|=4)):((n=(9===r.nodeType?r:r.ownerDocument).createTextNode(n))[Jn]=t,t.stateNode=n)}return null;case 13:return co(Ma),n=t.memoizedState,0!==(64&t.flags)?(t.lanes=r,t):(n=null!==n,r=!1,null===e?void 0!==t.memoizedProps.fallback&&$a(t):r=null!==e.memoizedState,n&&!r&&0!==(2&t.mode)&&(null===e&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!==(1&Ma.current)?0===Ml&&(Ml=3):(0!==Ml&&3!==Ml||(Ml=4),null===Ll||0===(134217727&Ul)&&0===(134217727&Bl)||yu(Ll,Dl))),(n||r)&&(t.flags|=4),null);case 4:return Da(),null===e&&qn(t.stateNode.containerInfo),null;case 10:return oa(t),null;case 19:if(co(Ma),null===(n=t.memoizedState))return null;if(l=0!==(64&t.flags),null===(s=n.rendering))if(l)il(n,!1);else{if(0!==Ml||null!==e&&0!==(64&e.flags))for(e=t.child;null!==e;){if(null!==(s=Fa(e))){for(t.flags|=64,il(n,!1),null!==(l=s.updateQueue)&&(t.updateQueue=l,t.flags|=4),null===n.lastEffect&&(t.firstEffect=null),t.lastEffect=n.lastEffect,n=r,r=t.child;null!==r;)e=n,(l=r).flags&=2,l.nextEffect=null,l.firstEffect=null,l.lastEffect=null,null===(s=l.alternate)?(l.childLanes=0,l.lanes=e,l.child=null,l.memoizedProps=null,l.memoizedState=null,l.updateQueue=null,l.dependencies=null,l.stateNode=null):(l.childLanes=s.childLanes,l.lanes=s.lanes,l.child=s.child,l.memoizedProps=s.memoizedProps,l.memoizedState=s.memoizedState,l.updateQueue=s.updateQueue,l.type=s.type,e=s.dependencies,l.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),r=r.sibling;return fo(Ma,1&Ma.current|2),t.child}e=e.sibling}null!==n.tail&&Ho()>Gl&&(t.flags|=64,l=!0,il(n,!1),t.lanes=33554432)}else{if(!l)if(null!==(e=Fa(s))){if(t.flags|=64,l=!0,null!==(r=e.updateQueue)&&(t.updateQueue=r,t.flags|=4),il(n,!0),null===n.tail&&\"hidden\"===n.tailMode&&!s.alternate&&!Ba)return null!==(t=t.lastEffect=n.lastEffect)&&(t.nextEffect=null),null}else 2*Ho()-n.renderingStartTime>Gl&&1073741824!==r&&(t.flags|=64,l=!0,il(n,!1),t.lanes=33554432);n.isBackwards?(s.sibling=t.child,t.child=s):(null!==(r=n.last)?r.sibling=s:t.child=s,n.last=s)}return null!==n.tail?(r=n.tail,n.rendering=r,n.tail=r.sibling,n.lastEffect=t.lastEffect,n.renderingStartTime=Ho(),r.sibling=null,t=Ma.current,fo(Ma,l?1&t|2:1&t),r):null;case 23:case 24:return Eu(),null!==e&&null!==e.memoizedState!==(null!==t.memoizedState)&&\"unstable-defer-without-hiding\"!==n.mode&&(t.flags|=4),null}throw Error(i(156,t.tag))}function ul(e){switch(e.tag){case 1:yo(e.type)&&bo();var t=e.flags;return 4096&t?(e.flags=-4097&t|64,e):null;case 3:if(Da(),co(go),co(ho),Ka(),0!==(64&(t=e.flags)))throw Error(i(285));return e.flags=-4097&t|64,e;case 5:return ja(e),null;case 13:return co(Ma),4096&(t=e.flags)?(e.flags=-4097&t|64,e):null;case 19:return co(Ma),null;case 4:return Da(),null;case 10:return oa(e),null;case 23:case 24:return Eu(),null;default:return null}}function sl(e,t){try{var r=\"\",n=t;do{r+=G(n),n=n.return}while(n);var o=r}catch(e){o=\"\\\\nError generating stack: \"+e.message+\"\\\\n\"+e.stack}return{value:e,source:t,stack:o}}function cl(e,t){try{console.error(t.value)}catch(e){setTimeout((function(){throw e}))}}Qi=function(e,t){for(var r=t.child;null!==r;){if(5===r.tag||6===r.tag)e.appendChild(r.stateNode);else if(4!==r.tag&&null!==r.child){r.child.return=r,r=r.child;continue}if(r===t)break;for(;null===r.sibling;){if(null===r.return||r.return===t)return;r=r.return}r.sibling.return=r.return,r=r.sibling}},Yi=function(e,t,r,n){var a=e.memoizedProps;if(a!==n){e=t.stateNode,La(Ra.current);var i,l=null;switch(r){case\"input\":a=Z(e,a),n=Z(e,n),l=[];break;case\"option\":a=ae(e,a),n=ae(e,n),l=[];break;case\"select\":a=o({},a,{value:void 0}),n=o({},n,{value:void 0}),l=[];break;case\"textarea\":a=le(e,a),n=le(e,n),l=[];break;default:\"function\"!==typeof a.onClick&&\"function\"===typeof n.onClick&&(e.onclick=zn)}for(f in Se(r,n),r=null,a)if(!n.hasOwnProperty(f)&&a.hasOwnProperty(f)&&null!=a[f])if(\"style\"===f){var s=a[f];for(i in s)s.hasOwnProperty(i)&&(r||(r={}),r[i]=\"\")}else\"dangerouslySetInnerHTML\"!==f&&\"children\"!==f&&\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(u.hasOwnProperty(f)?l||(l=[]):(l=l||[]).push(f,null));for(f in n){var c=n[f];if(s=null!=a?a[f]:void 0,n.hasOwnProperty(f)&&c!==s&&(null!=c||null!=s))if(\"style\"===f)if(s){for(i in s)!s.hasOwnProperty(i)||c&&c.hasOwnProperty(i)||(r||(r={}),r[i]=\"\");for(i in c)c.hasOwnProperty(i)&&s[i]!==c[i]&&(r||(r={}),r[i]=c[i])}else r||(l||(l=[]),l.push(f,r)),r=c;else\"dangerouslySetInnerHTML\"===f?(c=c?c.__html:void 0,s=s?s.__html:void 0,null!=c&&s!==c&&(l=l||[]).push(f,c)):\"children\"===f?\"string\"!==typeof c&&\"number\"!==typeof c||(l=l||[]).push(f,\"\"+c):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&(u.hasOwnProperty(f)?(null!=c&&\"onScroll\"===f&&Rn(\"scroll\",e),l||s===c||(l=[])):\"object\"===typeof c&&null!==c&&c.$$typeof===D?c.toString():(l=l||[]).push(f,c))}r&&(l=l||[]).push(\"style\",r);var f=l;(t.updateQueue=f)&&(t.flags|=4)}},Ki=function(e,t,r,n){r!==n&&(t.flags|=4)};var fl=\"function\"===typeof WeakMap?WeakMap:Map;function dl(e,t,r){(r=fa(-1,r)).tag=3,r.payload={element:null};var n=t.value;return r.callback=function(){Kl||(Kl=!0,Xl=n),cl(0,t)},r}function pl(e,t,r){(r=fa(-1,r)).tag=3;var n=e.type.getDerivedStateFromError;if(\"function\"===typeof n){var o=t.value;r.payload=function(){return cl(0,t),n(o)}}var a=e.stateNode;return null!==a&&\"function\"===typeof a.componentDidCatch&&(r.callback=function(){\"function\"!==typeof n&&(null===Jl?Jl=new Set([this]):Jl.add(this),cl(0,t));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:\"\"})}),r}var hl=\"function\"===typeof WeakSet?WeakSet:Set;function gl(e){var t=e.ref;if(null!==t)if(\"function\"===typeof t)try{t(null)}catch(t){zu(e,t)}else t.current=null}function ml(e,t){switch(t.tag){case 0:case 11:case 15:case 22:case 5:case 6:case 4:case 17:return;case 1:if(256&t.flags&&null!==e){var r=e.memoizedProps,n=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?r:Jo(t.type,r),n),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:return void(256&t.flags&&$n(t.stateNode.containerInfo))}throw Error(i(163))}function vl(e,t,r){switch(r.tag){case 0:case 11:case 15:case 22:if(null!==(t=null!==(t=r.updateQueue)?t.lastEffect:null)){e=t=t.next;do{if(3===(3&e.tag)){var n=e.create;e.destroy=n()}e=e.next}while(e!==t)}if(null!==(t=null!==(t=r.updateQueue)?t.lastEffect:null)){e=t=t.next;do{var o=e;n=o.next,0!==(4&(o=o.tag))&&0!==(1&o)&&(ju(r,e),Iu(r,e)),e=n}while(e!==t)}return;case 1:return e=r.stateNode,4&r.flags&&(null===t?e.componentDidMount():(n=r.elementType===r.type?t.memoizedProps:Jo(r.type,t.memoizedProps),e.componentDidUpdate(n,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate))),void(null!==(t=r.updateQueue)&&ga(r,t,e));case 3:if(null!==(t=r.updateQueue)){if(e=null,null!==r.child)switch(r.child.tag){case 5:case 1:e=r.child.stateNode}ga(r,t,e)}return;case 5:return e=r.stateNode,void(null===t&&4&r.flags&&Vn(r.type,r.memoizedProps)&&e.focus());case 6:case 4:case 12:case 19:case 17:case 20:case 21:case 23:case 24:return;case 13:return void(null===r.memoizedState&&(r=r.alternate,null!==r&&(r=r.memoizedState,null!==r&&(r=r.dehydrated,null!==r&&kt(r)))))}throw Error(i(163))}function yl(e,t){for(var r=e;;){if(5===r.tag){var n=r.stateNode;if(t)\"function\"===typeof(n=n.style).setProperty?n.setProperty(\"display\",\"none\",\"important\"):n.display=\"none\";else{n=r.stateNode;var o=r.memoizedProps.style;o=void 0!==o&&null!==o&&o.hasOwnProperty(\"display\")?o.display:null,n.style.display=xe(\"display\",o)}}else if(6===r.tag)r.stateNode.nodeValue=t?\"\":r.memoizedProps;else if((23!==r.tag&&24!==r.tag||null===r.memoizedState||r===e)&&null!==r.child){r.child.return=r,r=r.child;continue}if(r===e)break;for(;null===r.sibling;){if(null===r.return||r.return===e)return;r=r.return}r.sibling.return=r.return,r=r.sibling}}function bl(e,t){if(To&&\"function\"===typeof To.onCommitFiberUnmount)try{To.onCommitFiberUnmount(So,t)}catch(e){}switch(t.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var r=e=e.next;do{var n=r,o=n.destroy;if(n=n.tag,void 0!==o)if(0!==(4&n))ju(t,r);else{n=t;try{o()}catch(e){zu(n,e)}}r=r.next}while(r!==e)}break;case 1:if(gl(t),\"function\"===typeof(e=t.stateNode).componentWillUnmount)try{e.props=t.memoizedProps,e.state=t.memoizedState,e.componentWillUnmount()}catch(e){zu(t,e)}break;case 5:gl(t);break;case 4:Tl(e,t)}}function wl(e){e.alternate=null,e.child=null,e.dependencies=null,e.firstEffect=null,e.lastEffect=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.return=null,e.updateQueue=null}function xl(e){return 5===e.tag||3===e.tag||4===e.tag}function kl(e){e:{for(var t=e.return;null!==t;){if(xl(t))break e;t=t.return}throw Error(i(160))}var r=t;switch(t=r.stateNode,r.tag){case 5:var n=!1;break;case 3:case 4:t=t.containerInfo,n=!0;break;default:throw Error(i(161))}16&r.flags&&(ye(t,\"\"),r.flags&=-17);e:t:for(r=e;;){for(;null===r.sibling;){if(null===r.return||xl(r.return)){r=null;break e}r=r.return}for(r.sibling.return=r.return,r=r.sibling;5!==r.tag&&6!==r.tag&&18!==r.tag;){if(2&r.flags)continue t;if(null===r.child||4===r.tag)continue t;r.child.return=r,r=r.child}if(!(2&r.flags)){r=r.stateNode;break e}}n?El(e,r,t):Sl(e,r,t)}function El(e,t,r){var n=e.tag,o=5===n||6===n;if(o)e=o?e.stateNode:e.stateNode.instance,t?8===r.nodeType?r.parentNode.insertBefore(e,t):r.insertBefore(e,t):(8===r.nodeType?(t=r.parentNode).insertBefore(e,r):(t=r).appendChild(e),null!==(r=r._reactRootContainer)&&void 0!==r||null!==t.onclick||(t.onclick=zn));else if(4!==n&&null!==(e=e.child))for(El(e,t,r),e=e.sibling;null!==e;)El(e,t,r),e=e.sibling}function Sl(e,t,r){var n=e.tag,o=5===n||6===n;if(o)e=o?e.stateNode:e.stateNode.instance,t?r.insertBefore(e,t):r.appendChild(e);else if(4!==n&&null!==(e=e.child))for(Sl(e,t,r),e=e.sibling;null!==e;)Sl(e,t,r),e=e.sibling}function Tl(e,t){for(var r,n,o=t,a=!1;;){if(!a){a=o.return;e:for(;;){if(null===a)throw Error(i(160));switch(r=a.stateNode,a.tag){case 5:n=!1;break e;case 3:case 4:r=r.containerInfo,n=!0;break e}a=a.return}a=!0}if(5===o.tag||6===o.tag){e:for(var l=e,u=o,s=u;;)if(bl(l,s),null!==s.child&&4!==s.tag)s.child.return=s,s=s.child;else{if(s===u)break e;for(;null===s.sibling;){if(null===s.return||s.return===u)break e;s=s.return}s.sibling.return=s.return,s=s.sibling}n?(l=r,u=o.stateNode,8===l.nodeType?l.parentNode.removeChild(u):l.removeChild(u)):r.removeChild(o.stateNode)}else if(4===o.tag){if(null!==o.child){r=o.stateNode.containerInfo,n=!0,o.child.return=o,o=o.child;continue}}else if(bl(e,o),null!==o.child){o.child.return=o,o=o.child;continue}if(o===t)break;for(;null===o.sibling;){if(null===o.return||o.return===t)return;4===(o=o.return).tag&&(a=!1)}o.sibling.return=o.return,o=o.sibling}}function _l(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var n=r=r.next;do{3===(3&n.tag)&&(e=n.destroy,n.destroy=void 0,void 0!==e&&e()),n=n.next}while(n!==r)}return;case 1:case 12:case 17:return;case 5:if(null!=(r=t.stateNode)){n=t.memoizedProps;var o=null!==e?e.memoizedProps:n;e=t.type;var a=t.updateQueue;if(t.updateQueue=null,null!==a){for(r[Zn]=n,\"input\"===e&&\"radio\"===n.type&&null!=n.name&&te(r,n),Te(e,o),t=Te(e,n),o=0;o<a.length;o+=2){var l=a[o],u=a[o+1];\"style\"===l?ke(r,u):\"dangerouslySetInnerHTML\"===l?ve(r,u):\"children\"===l?ye(r,u):w(r,l,u,t)}switch(e){case\"input\":re(r,n);break;case\"textarea\":se(r,n);break;case\"select\":e=r._wrapperState.wasMultiple,r._wrapperState.wasMultiple=!!n.multiple,null!=(a=n.value)?ie(r,!!n.multiple,a,!1):e!==!!n.multiple&&(null!=n.defaultValue?ie(r,!!n.multiple,n.defaultValue,!0):ie(r,!!n.multiple,n.multiple?[]:\"\",!1))}}}return;case 6:if(null===t.stateNode)throw Error(i(162));return void(t.stateNode.nodeValue=t.memoizedProps);case 3:return void((r=t.stateNode).hydrate&&(r.hydrate=!1,kt(r.containerInfo)));case 13:return null!==t.memoizedState&&(Wl=Ho(),yl(t.child,!0)),void Cl(t);case 19:return void Cl(t);case 23:case 24:return void yl(t,null!==t.memoizedState)}throw Error(i(163))}function Cl(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var r=e.stateNode;null===r&&(r=e.stateNode=new hl),t.forEach((function(t){var n=Bu.bind(null,e,t);r.has(t)||(r.add(t),t.then(n,n))}))}}function Ol(e,t){return null!==e&&(null===(e=e.memoizedState)||null!==e.dehydrated)&&(null!==(t=t.memoizedState)&&null===t.dehydrated)}var Pl=Math.ceil,Rl=x.ReactCurrentDispatcher,Al=x.ReactCurrentOwner,ql=0,Ll=null,Nl=null,Dl=0,Il=0,jl=so(0),Ml=0,Fl=null,zl=0,Ul=0,Bl=0,Vl=0,Hl=null,Wl=0,Gl=1/0;function $l(){Gl=Ho()+500}var Ql,Yl=null,Kl=!1,Xl=null,Jl=null,Zl=!1,eu=null,tu=90,ru=[],nu=[],ou=null,au=0,iu=null,lu=-1,uu=0,su=0,cu=null,fu=!1;function du(){return 0!==(48&ql)?Ho():-1!==lu?lu:lu=Ho()}function pu(e){if(0===(2&(e=e.mode)))return 1;if(0===(4&e))return 99===Wo()?1:2;if(0===uu&&(uu=zl),0!==Xo.transition){0!==su&&(su=null!==Hl?Hl.pendingLanes:0),e=uu;var t=4186112&~su;return 0===(t&=-t)&&(0===(t=(e=4186112&~e)&-e)&&(t=8192)),t}return e=Wo(),0!==(4&ql)&&98===e?e=zt(12,uu):e=zt(e=function(e){switch(e){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}(e),uu),e}function hu(e,t,r){if(50<au)throw au=0,iu=null,Error(i(185));if(null===(e=gu(e,t)))return null;Vt(e,t,r),e===Ll&&(Bl|=t,4===Ml&&yu(e,Dl));var n=Wo();1===t?0!==(8&ql)&&0===(48&ql)?bu(e):(mu(e,r),0===ql&&($l(),Yo())):(0===(4&ql)||98!==n&&99!==n||(null===ou?ou=new Set([e]):ou.add(e)),mu(e,r)),Hl=e}function gu(e,t){e.lanes|=t;var r=e.alternate;for(null!==r&&(r.lanes|=t),r=e,e=e.return;null!==e;)e.childLanes|=t,null!==(r=e.alternate)&&(r.childLanes|=t),r=e,e=e.return;return 3===r.tag?r.stateNode:null}function mu(e,t){for(var r=e.callbackNode,n=e.suspendedLanes,o=e.pingedLanes,a=e.expirationTimes,l=e.pendingLanes;0<l;){var u=31-Ht(l),s=1<<u,c=a[u];if(-1===c){if(0===(s&n)||0!==(s&o)){c=t,jt(s);var f=It;a[u]=10<=f?c+250:6<=f?c+5e3:-1}}else c<=t&&(e.expiredLanes|=s);l&=~s}if(n=Mt(e,e===Ll?Dl:0),t=It,0===n)null!==r&&(r!==Mo&&Oo(r),e.callbackNode=null,e.callbackPriority=0);else{if(null!==r){if(e.callbackPriority===t)return;r!==Mo&&Oo(r)}15===t?(r=bu.bind(null,e),null===zo?(zo=[r],Uo=Co(Lo,Ko)):zo.push(r),r=Mo):14===t?r=Qo(99,bu.bind(null,e)):(r=function(e){switch(e){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(i(358,e))}}(t),r=Qo(r,vu.bind(null,e))),e.callbackPriority=t,e.callbackNode=r}}function vu(e){if(lu=-1,su=uu=0,0!==(48&ql))throw Error(i(327));var t=e.callbackNode;if(Du()&&e.callbackNode!==t)return null;var r=Mt(e,e===Ll?Dl:0);if(0===r)return null;var n=r,o=ql;ql|=16;var a=_u();for(Ll===e&&Dl===n||($l(),Su(e,n));;)try{Pu();break}catch(t){Tu(e,t)}if(na(),Rl.current=a,ql=o,null!==Nl?n=0:(Ll=null,Dl=0,n=Ml),0!==(zl&Bl))Su(e,0);else if(0!==n){if(2===n&&(ql|=64,e.hydrate&&(e.hydrate=!1,$n(e.containerInfo)),0!==(r=Ft(e))&&(n=Cu(e,r))),1===n)throw t=Fl,Su(e,0),yu(e,r),mu(e,Ho()),t;switch(e.finishedWork=e.current.alternate,e.finishedLanes=r,n){case 0:case 1:throw Error(i(345));case 2:case 5:qu(e);break;case 3:if(yu(e,r),(62914560&r)===r&&10<(n=Wl+500-Ho())){if(0!==Mt(e,0))break;if(((o=e.suspendedLanes)&r)!==r){du(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=Wn(qu.bind(null,e),n);break}qu(e);break;case 4:if(yu(e,r),(4186112&r)===r)break;for(n=e.eventTimes,o=-1;0<r;){var l=31-Ht(r);a=1<<l,(l=n[l])>o&&(o=l),r&=~a}if(r=o,10<(r=(120>(r=Ho()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Pl(r/1960))-r)){e.timeoutHandle=Wn(qu.bind(null,e),r);break}qu(e);break;default:throw Error(i(329))}}return mu(e,Ho()),e.callbackNode===t?vu.bind(null,e):null}function yu(e,t){for(t&=~Vl,t&=~Bl,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var r=31-Ht(t),n=1<<r;e[r]=-1,t&=~n}}function bu(e){if(0!==(48&ql))throw Error(i(327));if(Du(),e===Ll&&0!==(e.expiredLanes&Dl)){var t=Dl,r=Cu(e,t);0!==(zl&Bl)&&(r=Cu(e,t=Mt(e,t)))}else r=Cu(e,t=Mt(e,0));if(0!==e.tag&&2===r&&(ql|=64,e.hydrate&&(e.hydrate=!1,$n(e.containerInfo)),0!==(t=Ft(e))&&(r=Cu(e,t))),1===r)throw r=Fl,Su(e,0),yu(e,t),mu(e,Ho()),r;return e.finishedWork=e.current.alternate,e.finishedLanes=t,qu(e),mu(e,Ho()),null}function wu(e,t){var r=ql;ql|=1;try{return e(t)}finally{0===(ql=r)&&($l(),Yo())}}function xu(e,t){var r=ql;ql&=-2,ql|=8;try{return e(t)}finally{0===(ql=r)&&($l(),Yo())}}function ku(e,t){fo(jl,Il),Il|=t,zl|=t}function Eu(){Il=jl.current,co(jl)}function Su(e,t){e.finishedWork=null,e.finishedLanes=0;var r=e.timeoutHandle;if(-1!==r&&(e.timeoutHandle=-1,Gn(r)),null!==Nl)for(r=Nl.return;null!==r;){var n=r;switch(n.tag){case 1:null!==(n=n.type.childContextTypes)&&void 0!==n&&bo();break;case 3:Da(),co(go),co(ho),Ka();break;case 5:ja(n);break;case 4:Da();break;case 13:case 19:co(Ma);break;case 10:oa(n);break;case 23:case 24:Eu()}r=r.return}Ll=e,Nl=Gu(e.current,null),Dl=Il=zl=t,Ml=0,Fl=null,Vl=Bl=Ul=0}function Tu(e,t){for(;;){var r=Nl;try{if(na(),Xa.current=qi,ni){for(var n=ei.memoizedState;null!==n;){var o=n.queue;null!==o&&(o.pending=null),n=n.next}ni=!1}if(Za=0,ri=ti=ei=null,oi=!1,Al.current=null,null===r||null===r.return){Ml=1,Fl=t,Nl=null;break}e:{var a=e,i=r.return,l=r,u=t;if(t=Dl,l.flags|=2048,l.firstEffect=l.lastEffect=null,null!==u&&\"object\"===typeof u&&\"function\"===typeof u.then){var s=u;if(0===(2&l.mode)){var c=l.alternate;c?(l.updateQueue=c.updateQueue,l.memoizedState=c.memoizedState,l.lanes=c.lanes):(l.updateQueue=null,l.memoizedState=null)}var f=0!==(1&Ma.current),d=i;do{var p;if(p=13===d.tag){var h=d.memoizedState;if(null!==h)p=null!==h.dehydrated;else{var g=d.memoizedProps;p=void 0!==g.fallback&&(!0!==g.unstable_avoidThisFallback||!f)}}if(p){var m=d.updateQueue;if(null===m){var v=new Set;v.add(s),d.updateQueue=v}else m.add(s);if(0===(2&d.mode)){if(d.flags|=64,l.flags|=16384,l.flags&=-2981,1===l.tag)if(null===l.alternate)l.tag=17;else{var y=fa(-1,1);y.tag=2,da(l,y)}l.lanes|=1;break e}u=void 0,l=t;var b=a.pingCache;if(null===b?(b=a.pingCache=new fl,u=new Set,b.set(s,u)):void 0===(u=b.get(s))&&(u=new Set,b.set(s,u)),!u.has(l)){u.add(l);var w=Uu.bind(null,a,s,l);s.then(w,w)}d.flags|=4096,d.lanes=t;break e}d=d.return}while(null!==d);u=Error(($(l.type)||\"A React component\")+\" suspended while rendering, but no fallback UI was specified.\\\\n\\\\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==Ml&&(Ml=2),u=sl(u,l),d=i;do{switch(d.tag){case 3:a=u,d.flags|=4096,t&=-t,d.lanes|=t,pa(d,dl(0,a,t));break e;case 1:a=u;var x=d.type,k=d.stateNode;if(0===(64&d.flags)&&(\"function\"===typeof x.getDerivedStateFromError||null!==k&&\"function\"===typeof k.componentDidCatch&&(null===Jl||!Jl.has(k)))){d.flags|=4096,t&=-t,d.lanes|=t,pa(d,pl(d,a,t));break e}}d=d.return}while(null!==d)}Au(r)}catch(e){t=e,Nl===r&&null!==r&&(Nl=r=r.return);continue}break}}function _u(){var e=Rl.current;return Rl.current=qi,null===e?qi:e}function Cu(e,t){var r=ql;ql|=16;var n=_u();for(Ll===e&&Dl===t||Su(e,t);;)try{Ou();break}catch(t){Tu(e,t)}if(na(),ql=r,Rl.current=n,null!==Nl)throw Error(i(261));return Ll=null,Dl=0,Ml}function Ou(){for(;null!==Nl;)Ru(Nl)}function Pu(){for(;null!==Nl&&!Po();)Ru(Nl)}function Ru(e){var t=Ql(e.alternate,e,Il);e.memoizedProps=e.pendingProps,null===t?Au(e):Nl=t,Al.current=null}function Au(e){var t=e;do{var r=t.alternate;if(e=t.return,0===(2048&t.flags)){if(null!==(r=ll(r,t,Il)))return void(Nl=r);if(24!==(r=t).tag&&23!==r.tag||null===r.memoizedState||0!==(1073741824&Il)||0===(4&r.mode)){for(var n=0,o=r.child;null!==o;)n|=o.lanes|o.childLanes,o=o.sibling;r.childLanes=n}null!==e&&0===(2048&e.flags)&&(null===e.firstEffect&&(e.firstEffect=t.firstEffect),null!==t.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=t.firstEffect),e.lastEffect=t.lastEffect),1<t.flags&&(null!==e.lastEffect?e.lastEffect.nextEffect=t:e.firstEffect=t,e.lastEffect=t))}else{if(null!==(r=ul(t)))return r.flags&=2047,void(Nl=r);null!==e&&(e.firstEffect=e.lastEffect=null,e.flags|=2048)}if(null!==(t=t.sibling))return void(Nl=t);Nl=t=e}while(null!==t);0===Ml&&(Ml=5)}function qu(e){var t=Wo();return $o(99,Lu.bind(null,e,t)),null}function Lu(e,t){do{Du()}while(null!==eu);if(0!==(48&ql))throw Error(i(327));var r=e.finishedWork;if(null===r)return null;if(e.finishedWork=null,e.finishedLanes=0,r===e.current)throw Error(i(177));e.callbackNode=null;var n=r.lanes|r.childLanes,o=n,a=e.pendingLanes&~o;e.pendingLanes=o,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=o,e.mutableReadLanes&=o,e.entangledLanes&=o,o=e.entanglements;for(var l=e.eventTimes,u=e.expirationTimes;0<a;){var s=31-Ht(a),c=1<<s;o[s]=0,l[s]=-1,u[s]=-1,a&=~c}if(null!==ou&&0===(24&n)&&ou.has(e)&&ou.delete(e),e===Ll&&(Nl=Ll=null,Dl=0),1<r.flags?null!==r.lastEffect?(r.lastEffect.nextEffect=r,n=r.firstEffect):n=r:n=r.firstEffect,null!==n){if(o=ql,ql|=32,Al.current=null,Un=Yt,vn(l=mn())){if(\"selectionStart\"in l)u={start:l.selectionStart,end:l.selectionEnd};else e:if(u=(u=l.ownerDocument)&&u.defaultView||window,(c=u.getSelection&&u.getSelection())&&0!==c.rangeCount){u=c.anchorNode,a=c.anchorOffset,s=c.focusNode,c=c.focusOffset;try{u.nodeType,s.nodeType}catch(e){u=null;break e}var f=0,d=-1,p=-1,h=0,g=0,m=l,v=null;t:for(;;){for(var y;m!==u||0!==a&&3!==m.nodeType||(d=f+a),m!==s||0!==c&&3!==m.nodeType||(p=f+c),3===m.nodeType&&(f+=m.nodeValue.length),null!==(y=m.firstChild);)v=m,m=y;for(;;){if(m===l)break t;if(v===u&&++h===a&&(d=f),v===s&&++g===c&&(p=f),null!==(y=m.nextSibling))break;v=(m=v).parentNode}m=y}u=-1===d||-1===p?null:{start:d,end:p}}else u=null;u=u||{start:0,end:0}}else u=null;Bn={focusedElem:l,selectionRange:u},Yt=!1,cu=null,fu=!1,Yl=n;do{try{Nu()}catch(e){if(null===Yl)throw Error(i(330));zu(Yl,e),Yl=Yl.nextEffect}}while(null!==Yl);cu=null,Yl=n;do{try{for(l=e;null!==Yl;){var b=Yl.flags;if(16&b&&ye(Yl.stateNode,\"\"),128&b){var w=Yl.alternate;if(null!==w){var x=w.ref;null!==x&&(\"function\"===typeof x?x(null):x.current=null)}}switch(1038&b){case 2:kl(Yl),Yl.flags&=-3;break;case 6:kl(Yl),Yl.flags&=-3,_l(Yl.alternate,Yl);break;case 1024:Yl.flags&=-1025;break;case 1028:Yl.flags&=-1025,_l(Yl.alternate,Yl);break;case 4:_l(Yl.alternate,Yl);break;case 8:Tl(l,u=Yl);var k=u.alternate;wl(u),null!==k&&wl(k)}Yl=Yl.nextEffect}}catch(e){if(null===Yl)throw Error(i(330));zu(Yl,e),Yl=Yl.nextEffect}}while(null!==Yl);if(x=Bn,w=mn(),b=x.focusedElem,l=x.selectionRange,w!==b&&b&&b.ownerDocument&&gn(b.ownerDocument.documentElement,b)){null!==l&&vn(b)&&(w=l.start,void 0===(x=l.end)&&(x=w),\"selectionStart\"in b?(b.selectionStart=w,b.selectionEnd=Math.min(x,b.value.length)):(x=(w=b.ownerDocument||document)&&w.defaultView||window).getSelection&&(x=x.getSelection(),u=b.textContent.length,k=Math.min(l.start,u),l=void 0===l.end?k:Math.min(l.end,u),!x.extend&&k>l&&(u=l,l=k,k=u),u=hn(b,k),a=hn(b,l),u&&a&&(1!==x.rangeCount||x.anchorNode!==u.node||x.anchorOffset!==u.offset||x.focusNode!==a.node||x.focusOffset!==a.offset)&&((w=w.createRange()).setStart(u.node,u.offset),x.removeAllRanges(),k>l?(x.addRange(w),x.extend(a.node,a.offset)):(w.setEnd(a.node,a.offset),x.addRange(w))))),w=[];for(x=b;x=x.parentNode;)1===x.nodeType&&w.push({element:x,left:x.scrollLeft,top:x.scrollTop});for(\"function\"===typeof b.focus&&b.focus(),b=0;b<w.length;b++)(x=w[b]).element.scrollLeft=x.left,x.element.scrollTop=x.top}Yt=!!Un,Bn=Un=null,e.current=r,Yl=n;do{try{for(b=e;null!==Yl;){var E=Yl.flags;if(36&E&&vl(b,Yl.alternate,Yl),128&E){w=void 0;var S=Yl.ref;if(null!==S){var T=Yl.stateNode;Yl.tag,w=T,\"function\"===typeof S?S(w):S.current=w}}Yl=Yl.nextEffect}}catch(e){if(null===Yl)throw Error(i(330));zu(Yl,e),Yl=Yl.nextEffect}}while(null!==Yl);Yl=null,Fo(),ql=o}else e.current=r;if(Zl)Zl=!1,eu=e,tu=t;else for(Yl=n;null!==Yl;)t=Yl.nextEffect,Yl.nextEffect=null,8&Yl.flags&&((E=Yl).sibling=null,E.stateNode=null),Yl=t;if(0===(n=e.pendingLanes)&&(Jl=null),1===n?e===iu?au++:(au=0,iu=e):au=0,r=r.stateNode,To&&\"function\"===typeof To.onCommitFiberRoot)try{To.onCommitFiberRoot(So,r,void 0,64===(64&r.current.flags))}catch(e){}if(mu(e,Ho()),Kl)throw Kl=!1,e=Xl,Xl=null,e;return 0!==(8&ql)||Yo(),null}function Nu(){for(;null!==Yl;){var e=Yl.alternate;fu||null===cu||(0!==(8&Yl.flags)?et(Yl,cu)&&(fu=!0):13===Yl.tag&&Ol(e,Yl)&&et(Yl,cu)&&(fu=!0));var t=Yl.flags;0!==(256&t)&&ml(e,Yl),0===(512&t)||Zl||(Zl=!0,Qo(97,(function(){return Du(),null}))),Yl=Yl.nextEffect}}function Du(){if(90!==tu){var e=97<tu?97:tu;return tu=90,$o(e,Mu)}return!1}function Iu(e,t){ru.push(t,e),Zl||(Zl=!0,Qo(97,(function(){return Du(),null})))}function ju(e,t){nu.push(t,e),Zl||(Zl=!0,Qo(97,(function(){return Du(),null})))}function Mu(){if(null===eu)return!1;var e=eu;if(eu=null,0!==(48&ql))throw Error(i(331));var t=ql;ql|=32;var r=nu;nu=[];for(var n=0;n<r.length;n+=2){var o=r[n],a=r[n+1],l=o.destroy;if(o.destroy=void 0,\"function\"===typeof l)try{l()}catch(e){if(null===a)throw Error(i(330));zu(a,e)}}for(r=ru,ru=[],n=0;n<r.length;n+=2){o=r[n],a=r[n+1];try{var u=o.create;o.destroy=u()}catch(e){if(null===a)throw Error(i(330));zu(a,e)}}for(u=e.current.firstEffect;null!==u;)e=u.nextEffect,u.nextEffect=null,8&u.flags&&(u.sibling=null,u.stateNode=null),u=e;return ql=t,Yo(),!0}function Fu(e,t,r){da(e,t=dl(0,t=sl(r,t),1)),t=du(),null!==(e=gu(e,1))&&(Vt(e,1,t),mu(e,t))}function zu(e,t){if(3===e.tag)Fu(e,e,t);else for(var r=e.return;null!==r;){if(3===r.tag){Fu(r,e,t);break}if(1===r.tag){var n=r.stateNode;if(\"function\"===typeof r.type.getDerivedStateFromError||\"function\"===typeof n.componentDidCatch&&(null===Jl||!Jl.has(n))){var o=pl(r,e=sl(t,e),1);if(da(r,o),o=du(),null!==(r=gu(r,1)))Vt(r,1,o),mu(r,o);else if(\"function\"===typeof n.componentDidCatch&&(null===Jl||!Jl.has(n)))try{n.componentDidCatch(t,e)}catch(e){}break}}r=r.return}}function Uu(e,t,r){var n=e.pingCache;null!==n&&n.delete(t),t=du(),e.pingedLanes|=e.suspendedLanes&r,Ll===e&&(Dl&r)===r&&(4===Ml||3===Ml&&(62914560&Dl)===Dl&&500>Ho()-Wl?Su(e,0):Vl|=r),mu(e,t)}function Bu(e,t){var r=e.stateNode;null!==r&&r.delete(t),0===(t=0)&&(0===(2&(t=e.mode))?t=1:0===(4&t)?t=99===Wo()?1:2:(0===uu&&(uu=zl),0===(t=Ut(62914560&~uu))&&(t=4194304))),r=du(),null!==(e=gu(e,t))&&(Vt(e,t,r),mu(e,r))}function Vu(e,t,r,n){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.flags=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childLanes=this.lanes=0,this.alternate=null}function Hu(e,t,r,n){return new Vu(e,t,r,n)}function Wu(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Gu(e,t){var r=e.alternate;return null===r?((r=Hu(e.tag,t,e.key,e.mode)).elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.type=e.type,r.flags=0,r.nextEffect=null,r.firstEffect=null,r.lastEffect=null),r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,t=e.dependencies,r.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function $u(e,t,r,n,o,a){var l=2;if(n=e,\"function\"===typeof e)Wu(e)&&(l=1);else if(\"string\"===typeof e)l=5;else e:switch(e){case S:return Qu(r.children,o,a,t);case I:l=8,o|=16;break;case T:l=8,o|=1;break;case _:return(e=Hu(12,r,t,8|o)).elementType=_,e.type=_,e.lanes=a,e;case R:return(e=Hu(13,r,t,o)).type=R,e.elementType=R,e.lanes=a,e;case A:return(e=Hu(19,r,t,o)).elementType=A,e.lanes=a,e;case j:return Yu(r,o,a,t);case M:return(e=Hu(24,r,t,o)).elementType=M,e.lanes=a,e;default:if(\"object\"===typeof e&&null!==e)switch(e.$$typeof){case C:l=10;break e;case O:l=9;break e;case P:l=11;break e;case q:l=14;break e;case L:l=16,n=null;break e;case N:l=22;break e}throw Error(i(130,null==e?e:typeof e,\"\"))}return(t=Hu(l,r,t,o)).elementType=e,t.type=n,t.lanes=a,t}function Qu(e,t,r,n){return(e=Hu(7,e,n,t)).lanes=r,e}function Yu(e,t,r,n){return(e=Hu(23,e,n,t)).elementType=j,e.lanes=r,e}function Ku(e,t,r){return(e=Hu(6,e,null,t)).lanes=r,e}function Xu(e,t,r){return(t=Hu(4,null!==e.children?e.children:[],e.key,t)).lanes=r,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Ju(e,t,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=r,this.callbackNode=null,this.callbackPriority=0,this.eventTimes=Bt(0),this.expirationTimes=Bt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Bt(0),this.mutableSourceEagerHydrationData=null}function Zu(e,t,r){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:E,key:null==n?null:\"\"+n,children:e,containerInfo:t,implementation:r}}function es(e,t,r,n){var o=t.current,a=du(),l=pu(o);e:if(r){t:{if(Ke(r=r._reactInternals)!==r||1!==r.tag)throw Error(i(170));var u=r;do{switch(u.tag){case 3:u=u.stateNode.context;break t;case 1:if(yo(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break t}}u=u.return}while(null!==u);throw Error(i(171))}if(1===r.tag){var s=r.type;if(yo(s)){r=xo(r,s,u);break e}}r=u}else r=po;return null===t.context?t.context=r:t.pendingContext=r,(t=fa(a,l)).payload={element:e},null!==(n=void 0===n?null:n)&&(t.callback=n),da(o,t),hu(o,l,a),l}function ts(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function rs(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var r=e.retryLane;e.retryLane=0!==r&&r<t?r:t}}function ns(e,t){rs(e,t),(e=e.alternate)&&rs(e,t)}function os(e,t,r){var n=null!=r&&null!=r.hydrationOptions&&r.hydrationOptions.mutableSources||null;if(r=new Ju(e,t,null!=r&&!0===r.hydrate),t=Hu(3,null,null,2===t?7:1===t?3:0),r.current=t,t.stateNode=r,sa(t),e[eo]=r.current,qn(8===e.nodeType?e.parentNode:e),n)for(e=0;e<n.length;e++){var o=(t=n[e])._getVersion;o=o(t._source),null==r.mutableSourceEagerHydrationData?r.mutableSourceEagerHydrationData=[t,o]:r.mutableSourceEagerHydrationData.push(t,o)}this._internalRoot=r}function as(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||\" react-mount-point-unstable \"!==e.nodeValue))}function is(e,t,r,n,o){var a=r._reactRootContainer;if(a){var i=a._internalRoot;if(\"function\"===typeof o){var l=o;o=function(){var e=ts(i);l.call(e)}}es(t,i,e,o)}else{if(a=r._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute(\"data-reactroot\"))),!t)for(var r;r=e.lastChild;)e.removeChild(r);return new os(e,0,t?{hydrate:!0}:void 0)}(r,n),i=a._internalRoot,\"function\"===typeof o){var u=o;o=function(){var e=ts(i);u.call(e)}}xu((function(){es(t,i,e,o)}))}return ts(i)}function ls(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!as(t))throw Error(i(200));return Zu(e,t,null,r)}Ql=function(e,t,r){var n=t.lanes;if(null!==e)if(e.memoizedProps!==t.pendingProps||go.current)ji=!0;else{if(0===(r&n)){switch(ji=!1,t.tag){case 3:$i(t),Qa();break;case 5:Ia(t);break;case 1:yo(t.type)&&ko(t);break;case 4:Na(t,t.stateNode.containerInfo);break;case 10:n=t.memoizedProps.value;var o=t.type._context;fo(Zo,o._currentValue),o._currentValue=n;break;case 13:if(null!==t.memoizedState)return 0!==(r&t.child.childLanes)?Ji(e,t,r):(fo(Ma,1&Ma.current),null!==(t=al(e,t,r))?t.sibling:null);fo(Ma,1&Ma.current);break;case 19:if(n=0!==(r&t.childLanes),0!==(64&e.flags)){if(n)return ol(e,t,r);t.flags|=64}if(null!==(o=t.memoizedState)&&(o.rendering=null,o.tail=null,o.lastEffect=null),fo(Ma,Ma.current),n)break;return null;case 23:case 24:return t.lanes=0,Bi(e,t,r)}return al(e,t,r)}ji=0!==(16384&e.flags)}else ji=!1;switch(t.lanes=0,t.tag){case 2:if(n=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,o=vo(t,ho.current),ia(t,r),o=li(null,t,n,e,o,r),t.flags|=1,\"object\"===typeof o&&null!==o&&\"function\"===typeof o.render&&void 0===o.$$typeof){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,yo(n)){var a=!0;ko(t)}else a=!1;t.memoizedState=null!==o.state&&void 0!==o.state?o.state:null,sa(t);var l=n.getDerivedStateFromProps;\"function\"===typeof l&&va(t,n,l,e),o.updater=ya,t.stateNode=o,o._reactInternals=t,ka(t,n,e,r),t=Gi(null,t,n,!0,a,r)}else t.tag=0,Mi(null,t,o,r),t=t.child;return t;case 16:o=t.elementType;e:{switch(null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,o=(a=o._init)(o._payload),t.type=o,a=t.tag=function(e){if(\"function\"===typeof e)return Wu(e)?1:0;if(void 0!==e&&null!==e){if((e=e.$$typeof)===P)return 11;if(e===q)return 14}return 2}(o),e=Jo(o,e),a){case 0:t=Hi(null,t,o,e,r);break e;case 1:t=Wi(null,t,o,e,r);break e;case 11:t=Fi(null,t,o,e,r);break e;case 14:t=zi(null,t,o,Jo(o.type,e),n,r);break e}throw Error(i(306,o,\"\"))}return t;case 0:return n=t.type,o=t.pendingProps,Hi(e,t,n,o=t.elementType===n?o:Jo(n,o),r);case 1:return n=t.type,o=t.pendingProps,Wi(e,t,n,o=t.elementType===n?o:Jo(n,o),r);case 3:if($i(t),n=t.updateQueue,null===e||null===n)throw Error(i(282));if(n=t.pendingProps,o=null!==(o=t.memoizedState)?o.element:null,ca(e,t),ha(t,n,null,r),(n=t.memoizedState.element)===o)Qa(),t=al(e,t,r);else{if((a=(o=t.stateNode).hydrate)&&(Ua=Qn(t.stateNode.containerInfo.firstChild),za=t,a=Ba=!0),a){if(null!=(e=o.mutableSourceEagerHydrationData))for(o=0;o<e.length;o+=2)(a=e[o])._workInProgressVersionPrimary=e[o+1],Ya.push(a);for(r=Oa(t,null,n,r),t.child=r;r;)r.flags=-3&r.flags|1024,r=r.sibling}else Mi(e,t,n,r),Qa();t=t.child}return t;case 5:return Ia(t),null===e&&Wa(t),n=t.type,o=t.pendingProps,a=null!==e?e.memoizedProps:null,l=o.children,Hn(n,o)?l=null:null!==a&&Hn(n,a)&&(t.flags|=16),Vi(e,t),Mi(e,t,l,r),t.child;case 6:return null===e&&Wa(t),null;case 13:return Ji(e,t,r);case 4:return Na(t,t.stateNode.containerInfo),n=t.pendingProps,null===e?t.child=Ca(t,null,n,r):Mi(e,t,n,r),t.child;case 11:return n=t.type,o=t.pendingProps,Fi(e,t,n,o=t.elementType===n?o:Jo(n,o),r);case 7:return Mi(e,t,t.pendingProps,r),t.child;case 8:case 12:return Mi(e,t,t.pendingProps.children,r),t.child;case 10:e:{n=t.type._context,o=t.pendingProps,l=t.memoizedProps,a=o.value;var u=t.type._context;if(fo(Zo,u._currentValue),u._currentValue=a,null!==l)if(u=l.value,0===(a=cn(u,a)?0:0|(\"function\"===typeof n._calculateChangedBits?n._calculateChangedBits(u,a):1073741823))){if(l.children===o.children&&!go.current){t=al(e,t,r);break e}}else for(null!==(u=t.child)&&(u.return=t);null!==u;){var s=u.dependencies;if(null!==s){l=u.child;for(var c=s.firstContext;null!==c;){if(c.context===n&&0!==(c.observedBits&a)){1===u.tag&&((c=fa(-1,r&-r)).tag=2,da(u,c)),u.lanes|=r,null!==(c=u.alternate)&&(c.lanes|=r),aa(u.return,r),s.lanes|=r;break}c=c.next}}else l=10===u.tag&&u.type===t.type?null:u.child;if(null!==l)l.return=u;else for(l=u;null!==l;){if(l===t){l=null;break}if(null!==(u=l.sibling)){u.return=l.return,l=u;break}l=l.return}u=l}Mi(e,t,o.children,r),t=t.child}return t;case 9:return o=t.type,n=(a=t.pendingProps).children,ia(t,r),n=n(o=la(o,a.unstable_observedBits)),t.flags|=1,Mi(e,t,n,r),t.child;case 14:return a=Jo(o=t.type,t.pendingProps),zi(e,t,o,a=Jo(o.type,a),n,r);case 15:return Ui(e,t,t.type,t.pendingProps,n,r);case 17:return n=t.type,o=t.pendingProps,o=t.elementType===n?o:Jo(n,o),null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),t.tag=1,yo(n)?(e=!0,ko(t)):e=!1,ia(t,r),wa(t,n,o),ka(t,n,o,r),Gi(null,t,n,!0,e,r);case 19:return ol(e,t,r);case 23:case 24:return Bi(e,t,r)}throw Error(i(156,t.tag))},os.prototype.render=function(e){es(e,this._internalRoot,null,null)},os.prototype.unmount=function(){var e=this._internalRoot,t=e.containerInfo;es(null,e,null,(function(){t[eo]=null}))},tt=function(e){13===e.tag&&(hu(e,4,du()),ns(e,4))},rt=function(e){13===e.tag&&(hu(e,67108864,du()),ns(e,67108864))},nt=function(e){if(13===e.tag){var t=du(),r=pu(e);hu(e,r,t),ns(e,r)}},ot=function(e,t){return t()},Ce=function(e,t,r){switch(t){case\"input\":if(re(e,r),t=r.name,\"radio\"===r.type&&null!=t){for(r=e;r.parentNode;)r=r.parentNode;for(r=r.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+t)+\\'][type=\"radio\"]\\'),t=0;t<r.length;t++){var n=r[t];if(n!==e&&n.form===e.form){var o=ao(n);if(!o)throw Error(i(90));X(n),re(n,o)}}}break;case\"textarea\":se(e,r);break;case\"select\":null!=(t=r.value)&&ie(e,!!r.multiple,t,!1)}},Le=wu,Ne=function(e,t,r,n,o){var a=ql;ql|=4;try{return $o(98,e.bind(null,t,r,n,o))}finally{0===(ql=a)&&($l(),Yo())}},De=function(){0===(49&ql)&&(function(){if(null!==ou){var e=ou;ou=null,e.forEach((function(e){e.expiredLanes|=24&e.pendingLanes,mu(e,Ho())}))}Yo()}(),Du())},Ie=function(e,t){var r=ql;ql|=2;try{return e(t)}finally{0===(ql=r)&&($l(),Yo())}};var us={Events:[no,oo,ao,Ae,qe,Du,{current:!1}]},ss={findFiberByHostInstance:ro,bundleType:0,version:\"17.0.2\",rendererPackageName:\"react-dom\"},cs={bundleType:ss.bundleType,version:ss.version,rendererPackageName:ss.rendererPackageName,rendererConfig:ss.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:x.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ze(e))?null:e.stateNode},findFiberByHostInstance:ss.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if(\"undefined\"!==typeof{}){var fs={};if(!fs.isDisabled&&fs.supportsFiber)try{So=fs.inject(cs),To=fs}catch(me){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=us,t.createPortal=ls,t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if(\"function\"===typeof e.render)throw Error(i(188));throw Error(i(268,Object.keys(e)))}return e=null===(e=Ze(t))?null:e.stateNode},t.flushSync=function(e,t){var r=ql;if(0!==(48&r))return e(t);ql|=1;try{if(e)return $o(99,e.bind(null,t))}finally{ql=r,Yo()}},t.hydrate=function(e,t,r){if(!as(t))throw Error(i(200));return is(null,e,t,!0,r)},t.render=function(e,t,r){if(!as(t))throw Error(i(200));return is(null,e,t,!1,r)},t.unmountComponentAtNode=function(e){if(!as(e))throw Error(i(40));return!!e._reactRootContainer&&(xu((function(){is(null,null,e,!1,(function(){e._reactRootContainer=null,e[eo]=null}))})),!0)},t.unstable_batchedUpdates=wu,t.unstable_createPortal=function(e,t){return ls(e,t,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)},t.unstable_renderSubtreeIntoContainer=function(e,t,r,n){if(!as(r))throw Error(i(200));if(null==e||void 0===e._reactInternals)throw Error(i(38));return is(e,t,r,!1,n)},t.version=\"17.0.2\"},2171:(e,t,r)=>{\"use strict\";!function e(){if(\"undefined\"!==typeof{}&&\"function\"===typeof{}.checkDCE)try{({}).checkDCE(e)}catch(e){console.error(e)}}(),e.exports=r(2015)},5931:(e,t,r)=>{\"use strict\";var n=r(9934),o=60103,a=60106;t.Fragment=60107,t.StrictMode=60108,t.Profiler=60114;var i=60109,l=60110,u=60112;t.Suspense=60113;var s=60115,c=60116;if(\"function\"===typeof Symbol&&Symbol.for){var f=Symbol.for;o=f(\"react.element\"),a=f(\"react.portal\"),t.Fragment=f(\"react.fragment\"),t.StrictMode=f(\"react.strict_mode\"),t.Profiler=f(\"react.profiler\"),i=f(\"react.provider\"),l=f(\"react.context\"),u=f(\"react.forward_ref\"),t.Suspense=f(\"react.suspense\"),s=f(\"react.memo\"),c=f(\"react.lazy\")}var d=\"function\"===typeof Symbol&&Symbol.iterator;function p(e){for(var t=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,r=1;r<arguments.length;r++)t+=\"&args[]=\"+encodeURIComponent(arguments[r]);return\"Minified React error #\"+e+\"; visit \"+t+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g={};function m(e,t,r){this.props=e,this.context=t,this.refs=g,this.updater=r||h}function v(){}function y(e,t,r){this.props=e,this.context=t,this.refs=g,this.updater=r||h}m.prototype.isReactComponent={},m.prototype.setState=function(e,t){if(\"object\"!==typeof e&&\"function\"!==typeof e&&null!=e)throw Error(p(85));this.updater.enqueueSetState(this,e,t,\"setState\")},m.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,\"forceUpdate\")},v.prototype=m.prototype;var b=y.prototype=new v;b.constructor=y,n(b,m.prototype),b.isPureReactComponent=!0;var w={current:null},x=Object.prototype.hasOwnProperty,k={key:!0,ref:!0,__self:!0,__source:!0};function E(e,t,r){var n,a={},i=null,l=null;if(null!=t)for(n in void 0!==t.ref&&(l=t.ref),void 0!==t.key&&(i=\"\"+t.key),t)x.call(t,n)&&!k.hasOwnProperty(n)&&(a[n]=t[n]);var u=arguments.length-2;if(1===u)a.children=r;else if(1<u){for(var s=Array(u),c=0;c<u;c++)s[c]=arguments[c+2];a.children=s}if(e&&e.defaultProps)for(n in u=e.defaultProps)void 0===a[n]&&(a[n]=u[n]);return{$$typeof:o,type:e,key:i,ref:l,props:a,_owner:w.current}}function S(e){return\"object\"===typeof e&&null!==e&&e.$$typeof===o}var T=/\\\\/+/g;function _(e,t){return\"object\"===typeof e&&null!==e&&null!=e.key?function(e){var t={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+e.replace(/[=:]/g,(function(e){return t[e]}))}(\"\"+e.key):t.toString(36)}function C(e,t,r,n,i){var l=typeof e;\"undefined\"!==l&&\"boolean\"!==l||(e=null);var u=!1;if(null===e)u=!0;else switch(l){case\"string\":case\"number\":u=!0;break;case\"object\":switch(e.$$typeof){case o:case a:u=!0}}if(u)return i=i(u=e),e=\"\"===n?\".\"+_(u,0):n,Array.isArray(i)?(r=\"\",null!=e&&(r=e.replace(T,\"$&/\")+\"/\"),C(i,t,r,\"\",(function(e){return e}))):null!=i&&(S(i)&&(i=function(e,t){return{$$typeof:o,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(i,r+(!i.key||u&&u.key===i.key?\"\":(\"\"+i.key).replace(T,\"$&/\")+\"/\")+e)),t.push(i)),1;if(u=0,n=\"\"===n?\".\":n+\":\",Array.isArray(e))for(var s=0;s<e.length;s++){var c=n+_(l=e[s],s);u+=C(l,t,r,c,i)}else if(c=function(e){return null===e||\"object\"!==typeof e?null:\"function\"===typeof(e=d&&e[d]||e[\"@@iterator\"])?e:null}(e),\"function\"===typeof c)for(e=c.call(e),s=0;!(l=e.next()).done;)u+=C(l=l.value,t,r,c=n+_(l,s++),i);else if(\"object\"===l)throw t=\"\"+e,Error(p(31,\"[object Object]\"===t?\"object with keys {\"+Object.keys(e).join(\", \")+\"}\":t));return u}function O(e,t,r){if(null==e)return e;var n=[],o=0;return C(e,n,\"\",\"\",(function(e){return t.call(r,e,o++)})),n}function P(e){if(-1===e._status){var t=e._result;t=t(),e._status=0,e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}if(1===e._status)return e._result;throw e._result}var R={current:null};function A(){var e=R.current;if(null===e)throw Error(p(321));return e}var q={ReactCurrentDispatcher:R,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:w,IsSomeRendererActing:{current:!1},assign:n};t.Children={map:O,forEach:function(e,t,r){O(e,(function(){t.apply(this,arguments)}),r)},count:function(e){var t=0;return O(e,(function(){t++})),t},toArray:function(e){return O(e,(function(e){return e}))||[]},only:function(e){if(!S(e))throw Error(p(143));return e}},t.Component=m,t.PureComponent=y,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=q,t.cloneElement=function(e,t,r){if(null===e||void 0===e)throw Error(p(267,e));var a=n({},e.props),i=e.key,l=e.ref,u=e._owner;if(null!=t){if(void 0!==t.ref&&(l=t.ref,u=w.current),void 0!==t.key&&(i=\"\"+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(c in t)x.call(t,c)&&!k.hasOwnProperty(c)&&(a[c]=void 0===t[c]&&void 0!==s?s[c]:t[c])}var c=arguments.length-2;if(1===c)a.children=r;else if(1<c){s=Array(c);for(var f=0;f<c;f++)s[f]=arguments[f+2];a.children=s}return{$$typeof:o,type:e.type,key:i,ref:l,props:a,_owner:u}},t.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:l,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:i,_context:e},e.Consumer=e},t.createElement=E,t.createFactory=function(e){var t=E.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:u,render:e}},t.isValidElement=S,t.lazy=function(e){return{$$typeof:c,_payload:{_status:-1,_result:e},_init:P}},t.memo=function(e,t){return{$$typeof:s,type:e,compare:void 0===t?null:t}},t.useCallback=function(e,t){return A().useCallback(e,t)},t.useContext=function(e,t){return A().useContext(e,t)},t.useDebugValue=function(){},t.useEffect=function(e,t){return A().useEffect(e,t)},t.useImperativeHandle=function(e,t,r){return A().useImperativeHandle(e,t,r)},t.useLayoutEffect=function(e,t){return A().useLayoutEffect(e,t)},t.useMemo=function(e,t){return A().useMemo(e,t)},t.useReducer=function(e,t,r){return A().useReducer(e,t,r)},t.useRef=function(e){return A().useRef(e)},t.useState=function(e){return A().useState(e)},t.version=\"17.0.2\"},6346:(e,t,r)=>{\"use strict\";e.exports=r(5931)},2205:e=>{var t=function(e){\"use strict\";var t,r=Object.prototype,n=r.hasOwnProperty,o=\"function\"===typeof Symbol?Symbol:{},a=o.iterator||\"@@iterator\",i=o.asyncIterator||\"@@asyncIterator\",l=o.toStringTag||\"@@toStringTag\";function u(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},\"\")}catch(e){u=function(e,t,r){return e[t]=r}}function s(e,t,r,n){var o=t&&t.prototype instanceof m?t:m,a=Object.create(o.prototype),i=new O(n||[]);return a._invoke=function(e,t,r){var n=f;return function(o,a){if(n===p)throw new Error(\"Generator is already running\");if(n===h){if(\"throw\"===o)throw a;return R()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var l=T(i,r);if(l){if(l===g)continue;return l}}if(\"next\"===r.method)r.sent=r._sent=r.arg;else if(\"throw\"===r.method){if(n===f)throw n=h,r.arg;r.dispatchException(r.arg)}else\"return\"===r.method&&r.abrupt(\"return\",r.arg);n=p;var u=c(e,t,r);if(\"normal\"===u.type){if(n=r.done?h:d,u.arg===g)continue;return{value:u.arg,done:r.done}}\"throw\"===u.type&&(n=h,r.method=\"throw\",r.arg=u.arg)}}}(e,r,i),a}function c(e,t,r){try{return{type:\"normal\",arg:e.call(t,r)}}catch(e){return{type:\"throw\",arg:e}}}e.wrap=s;var f=\"suspendedStart\",d=\"suspendedYield\",p=\"executing\",h=\"completed\",g={};function m(){}function v(){}function y(){}var b={};u(b,a,(function(){return this}));var w=Object.getPrototypeOf,x=w&&w(w(P([])));x&&x!==r&&n.call(x,a)&&(b=x);var k=y.prototype=m.prototype=Object.create(b);function E(e){[\"next\",\"throw\",\"return\"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function S(e,t){function r(o,a,i,l){var u=c(e[o],e,a);if(\"throw\"!==u.type){var s=u.arg,f=s.value;return f&&\"object\"===typeof f&&n.call(f,\"__await\")?t.resolve(f.__await).then((function(e){r(\"next\",e,i,l)}),(function(e){r(\"throw\",e,i,l)})):t.resolve(f).then((function(e){s.value=e,i(s)}),(function(e){return r(\"throw\",e,i,l)}))}l(u.arg)}var o;this._invoke=function(e,n){function a(){return new t((function(t,o){r(e,n,t,o)}))}return o=o?o.then(a,a):a()}}function T(e,r){var n=e.iterator[r.method];if(n===t){if(r.delegate=null,\"throw\"===r.method){if(e.iterator.return&&(r.method=\"return\",r.arg=t,T(e,r),\"throw\"===r.method))return g;r.method=\"throw\",r.arg=new TypeError(\"The iterator does not provide a \\'throw\\' method\")}return g}var o=c(n,e.iterator,r.arg);if(\"throw\"===o.type)return r.method=\"throw\",r.arg=o.arg,r.delegate=null,g;var a=o.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,\"return\"!==r.method&&(r.method=\"next\",r.arg=t),r.delegate=null,g):a:(r.method=\"throw\",r.arg=new TypeError(\"iterator result is not an object\"),r.delegate=null,g)}function _(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type=\"normal\",delete t.arg,e.completion=t}function O(e){this.tryEntries=[{tryLoc:\"root\"}],e.forEach(_,this),this.reset(!0)}function P(e){if(e){var r=e[a];if(r)return r.call(e);if(\"function\"===typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function r(){for(;++o<e.length;)if(n.call(e,o))return r.value=e[o],r.done=!1,r;return r.value=t,r.done=!0,r};return i.next=i}}return{next:R}}function R(){return{value:t,done:!0}}return v.prototype=y,u(k,\"constructor\",y),u(y,\"constructor\",v),v.displayName=u(y,l,\"GeneratorFunction\"),e.isGeneratorFunction=function(e){var t=\"function\"===typeof e&&e.constructor;return!!t&&(t===v||\"GeneratorFunction\"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,y):(e.__proto__=y,u(e,l,\"GeneratorFunction\")),e.prototype=Object.create(k),e},e.awrap=function(e){return{__await:e}},E(S.prototype),u(S.prototype,i,(function(){return this})),e.AsyncIterator=S,e.async=function(t,r,n,o,a){void 0===a&&(a=Promise);var i=new S(s(t,r,n,o),a);return e.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},E(k),u(k,l,\"Generator\"),u(k,a,(function(){return this})),u(k,\"toString\",(function(){return\"[object Generator]\"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=P,O.prototype={constructor:O,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=t,this.tryEntries.forEach(C),!e)for(var r in this)\"t\"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if(\"throw\"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function o(n,o){return l.type=\"throw\",l.arg=e,r.next=n,o&&(r.method=\"next\",r.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],l=i.completion;if(\"root\"===i.tryLoc)return o(\"end\");if(i.tryLoc<=this.prev){var u=n.call(i,\"catchLoc\"),s=n.call(i,\"finallyLoc\");if(u&&s){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!s)throw new Error(\"try statement without catch or finally\");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,\"finallyLoc\")&&this.prev<o.finallyLoc){var a=o;break}}a&&(\"break\"===e||\"continue\"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method=\"next\",this.next=a.finallyLoc,g):this.complete(i)},complete:function(e,t){if(\"throw\"===e.type)throw e.arg;return\"break\"===e.type||\"continue\"===e.type?this.next=e.arg:\"return\"===e.type?(this.rval=this.arg=e.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),C(r),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if(\"throw\"===n.type){var o=n.arg;C(r)}return o}}throw new Error(\"illegal catch attempt\")},delegateYield:function(e,r,n){return this.delegate={iterator:P(e),resultName:r,nextLoc:n},\"next\"===this.method&&(this.arg=t),g}},e}(e.exports);try{regeneratorRuntime=t}catch(e){\"object\"===typeof globalThis?globalThis.regeneratorRuntime=t:Function(\"r\",\"regeneratorRuntime = r\")(t)}},8142:(e,t)=>{\"use strict\";var r,n,o,a;if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var i=performance;t.unstable_now=function(){return i.now()}}else{var l=Date,u=l.now();t.unstable_now=function(){return l.now()-u}}if(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var s=null,c=null,f=function e(){if(null!==s)try{var r=t.unstable_now();s(!0,r),s=null}catch(t){throw setTimeout(e,0),t}};r=function(e){null!==s?setTimeout(r,0,e):(s=e,setTimeout(f,0))},n=function(e,t){c=setTimeout(e,t)},o=function(){clearTimeout(c)},t.unstable_shouldYield=function(){return!1},a=t.unstable_forceFrameRate=function(){}}else{var d=window.setTimeout,p=window.clearTimeout;if(\"undefined\"!==typeof console){var h=window.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn\\'t support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\"),\"function\"!==typeof h&&console.error(\"This browser doesn\\'t support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\")}var g=!1,m=null,v=-1,y=5,b=0;t.unstable_shouldYield=function(){return t.unstable_now()>=b},a=function(){},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):y=0<e?Math.floor(1e3/e):5};var w=new MessageChannel,x=w.port2;w.port1.onmessage=function(){if(null!==m){var e=t.unstable_now();b=e+y;try{m(!0,e)?x.postMessage(null):(g=!1,m=null)}catch(e){throw x.postMessage(null),e}}else g=!1},r=function(e){m=e,g||(g=!0,x.postMessage(null))},n=function(e,r){v=d((function(){e(t.unstable_now())}),r)},o=function(){p(v),v=-1}}function k(e,t){var r=e.length;e.push(t);e:for(;;){var n=r-1>>>1,o=e[n];if(!(void 0!==o&&0<T(o,t)))break e;e[n]=t,e[r]=o,r=n}}function E(e){return void 0===(e=e[0])?null:e}function S(e){var t=e[0];if(void 0!==t){var r=e.pop();if(r!==t){e[0]=r;e:for(var n=0,o=e.length;n<o;){var a=2*(n+1)-1,i=e[a],l=a+1,u=e[l];if(void 0!==i&&0>T(i,r))void 0!==u&&0>T(u,i)?(e[n]=u,e[l]=r,n=l):(e[n]=i,e[a]=r,n=a);else{if(!(void 0!==u&&0>T(u,r)))break e;e[n]=u,e[l]=r,n=l}}}return t}return null}function T(e,t){var r=e.sortIndex-t.sortIndex;return 0!==r?r:e.id-t.id}var _=[],C=[],O=1,P=null,R=3,A=!1,q=!1,L=!1;function N(e){for(var t=E(C);null!==t;){if(null===t.callback)S(C);else{if(!(t.startTime<=e))break;S(C),t.sortIndex=t.expirationTime,k(_,t)}t=E(C)}}function D(e){if(L=!1,N(e),!q)if(null!==E(_))q=!0,r(I);else{var t=E(C);null!==t&&n(D,t.startTime-e)}}function I(e,r){q=!1,L&&(L=!1,o()),A=!0;var a=R;try{for(N(r),P=E(_);null!==P&&(!(P.expirationTime>r)||e&&!t.unstable_shouldYield());){var i=P.callback;if(\"function\"===typeof i){P.callback=null,R=P.priorityLevel;var l=i(P.expirationTime<=r);r=t.unstable_now(),\"function\"===typeof l?P.callback=l:P===E(_)&&S(_),N(r)}else S(_);P=E(_)}if(null!==P)var u=!0;else{var s=E(C);null!==s&&n(D,s.startTime-r),u=!1}return u}finally{P=null,R=a,A=!1}}var j=a;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){q||A||(q=!0,r(I))},t.unstable_getCurrentPriorityLevel=function(){return R},t.unstable_getFirstCallbackNode=function(){return E(_)},t.unstable_next=function(e){switch(R){case 1:case 2:case 3:var t=3;break;default:t=R}var r=R;R=t;try{return e()}finally{R=r}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=j,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var r=R;R=e;try{return t()}finally{R=r}},t.unstable_scheduleCallback=function(e,a,i){var l=t.unstable_now();switch(\"object\"===typeof i&&null!==i?i=\"number\"===typeof(i=i.delay)&&0<i?l+i:l:i=l,e){case 1:var u=-1;break;case 2:u=250;break;case 5:u=1073741823;break;case 4:u=1e4;break;default:u=5e3}return e={id:O++,callback:a,priorityLevel:e,startTime:i,expirationTime:u=i+u,sortIndex:-1},i>l?(e.sortIndex=i,k(C,e),null===E(_)&&e===E(C)&&(L?o():L=!0,n(D,i-l))):(e.sortIndex=u,k(_,e),q||A||(q=!0,r(I))),e},t.unstable_wrapCallback=function(e){var t=R;return function(){var r=R;R=t;try{return e.apply(this,arguments)}finally{R=r}}}},7425:(e,t,r)=>{\"use strict\";e.exports=r(8142)},9853:(e,t,r)=>{\"use strict\";r.r(t),r.d(t,{Headers:()=>h,Request:()=>x,Response:()=>E,DOMException:()=>T,fetch:()=>_});var n=\"undefined\"!==typeof globalThis&&globalThis||\"undefined\"!==typeof self&&self||\"undefined\"!==typeof n&&n,o=\"URLSearchParams\"in n,a=\"Symbol\"in n&&\"iterator\"in Symbol,i=\"FileReader\"in n&&\"Blob\"in n&&function(){try{return new Blob,!0}catch(e){return!1}}(),l=\"FormData\"in n,u=\"ArrayBuffer\"in n;if(u)var s=[\"[object Int8Array]\",\"[object Uint8Array]\",\"[object Uint8ClampedArray]\",\"[object Int16Array]\",\"[object Uint16Array]\",\"[object Int32Array]\",\"[object Uint32Array]\",\"[object Float32Array]\",\"[object Float64Array]\"],c=ArrayBuffer.isView||function(e){return e&&s.indexOf(Object.prototype.toString.call(e))>-1};function f(e){if(\"string\"!==typeof e&&(e=String(e)),/[^a-z0-9\\\\-#$%&\\'*+.^_`|~!]/i.test(e)||\"\"===e)throw new TypeError(\\'Invalid character in header field name: \"\\'+e+\\'\"\\');return e.toLowerCase()}function d(e){return\"string\"!==typeof e&&(e=String(e)),e}function p(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return a&&(t[Symbol.iterator]=function(){return t}),t}function h(e){this.map={},e instanceof h?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function g(e){if(e.bodyUsed)return Promise.reject(new TypeError(\"Already read\"));e.bodyUsed=!0}function m(e){return new Promise((function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}}))}function v(e){var t=new FileReader,r=m(t);return t.readAsArrayBuffer(e),r}function y(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function b(){return this.bodyUsed=!1,this._initBody=function(e){var t;this.bodyUsed=this.bodyUsed,this._bodyInit=e,e?\"string\"===typeof e?this._bodyText=e:i&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:l&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:o&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():u&&i&&((t=e)&&DataView.prototype.isPrototypeOf(t))?(this._bodyArrayBuffer=y(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):u&&(ArrayBuffer.prototype.isPrototypeOf(e)||c(e))?this._bodyArrayBuffer=y(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText=\"\",this.headers.get(\"content-type\")||(\"string\"===typeof e?this.headers.set(\"content-type\",\"text/plain;charset=UTF-8\"):this._bodyBlob&&this._bodyBlob.type?this.headers.set(\"content-type\",this._bodyBlob.type):o&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set(\"content-type\",\"application/x-www-form-urlencoded;charset=UTF-8\"))},i&&(this.blob=function(){var e=g(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error(\"could not read FormData body as blob\");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){if(this._bodyArrayBuffer){var e=g(this);return e||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}return this.blob().then(v)}),this.text=function(){var e,t,r,n=g(this);if(n)return n;if(this._bodyBlob)return e=this._bodyBlob,t=new FileReader,r=m(t),t.readAsText(e),r;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=new Array(t.length),n=0;n<t.length;n++)r[n]=String.fromCharCode(t[n]);return r.join(\"\")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error(\"could not read FormData body as text\");return Promise.resolve(this._bodyText)},l&&(this.formData=function(){return this.text().then(k)}),this.json=function(){return this.text().then(JSON.parse)},this}h.prototype.append=function(e,t){e=f(e),t=d(t);var r=this.map[e];this.map[e]=r?r+\", \"+t:t},h.prototype.delete=function(e){delete this.map[f(e)]},h.prototype.get=function(e){return e=f(e),this.has(e)?this.map[e]:null},h.prototype.has=function(e){return this.map.hasOwnProperty(f(e))},h.prototype.set=function(e,t){this.map[f(e)]=d(t)},h.prototype.forEach=function(e,t){for(var r in this.map)this.map.hasOwnProperty(r)&&e.call(t,this.map[r],r,this)},h.prototype.keys=function(){var e=[];return this.forEach((function(t,r){e.push(r)})),p(e)},h.prototype.values=function(){var e=[];return this.forEach((function(t){e.push(t)})),p(e)},h.prototype.entries=function(){var e=[];return this.forEach((function(t,r){e.push([r,t])})),p(e)},a&&(h.prototype[Symbol.iterator]=h.prototype.entries);var w=[\"DELETE\",\"GET\",\"HEAD\",\"OPTIONS\",\"POST\",\"PUT\"];function x(e,t){if(!(this instanceof x))throw new TypeError(\\'Please use the \"new\" operator, this DOM object constructor cannot be called as a function.\\');var r,n,o=(t=t||{}).body;if(e instanceof x){if(e.bodyUsed)throw new TypeError(\"Already read\");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new h(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,o||null==e._bodyInit||(o=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||\"same-origin\",!t.headers&&this.headers||(this.headers=new h(t.headers)),this.method=(r=t.method||this.method||\"GET\",n=r.toUpperCase(),w.indexOf(n)>-1?n:r),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,(\"GET\"===this.method||\"HEAD\"===this.method)&&o)throw new TypeError(\"Body not allowed for GET or HEAD requests\");if(this._initBody(o),(\"GET\"===this.method||\"HEAD\"===this.method)&&(\"no-store\"===t.cache||\"no-cache\"===t.cache)){var a=/([?&])_=[^&]*/;if(a.test(this.url))this.url=this.url.replace(a,\"$1_=\"+(new Date).getTime());else{this.url+=(/\\\\?/.test(this.url)?\"&\":\"?\")+\"_=\"+(new Date).getTime()}}}function k(e){var t=new FormData;return e.trim().split(\"&\").forEach((function(e){if(e){var r=e.split(\"=\"),n=r.shift().replace(/\\\\+/g,\" \"),o=r.join(\"=\").replace(/\\\\+/g,\" \");t.append(decodeURIComponent(n),decodeURIComponent(o))}})),t}function E(e,t){if(!(this instanceof E))throw new TypeError(\\'Please use the \"new\" operator, this DOM object constructor cannot be called as a function.\\');t||(t={}),this.type=\"default\",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText=void 0===t.statusText?\"\":\"\"+t.statusText,this.headers=new h(t.headers),this.url=t.url||\"\",this._initBody(e)}x.prototype.clone=function(){return new x(this,{body:this._bodyInit})},b.call(x.prototype),b.call(E.prototype),E.prototype.clone=function(){return new E(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new h(this.headers),url:this.url})},E.error=function(){var e=new E(null,{status:0,statusText:\"\"});return e.type=\"error\",e};var S=[301,302,303,307,308];E.redirect=function(e,t){if(-1===S.indexOf(t))throw new RangeError(\"Invalid status code\");return new E(null,{status:t,headers:{location:e}})};var T=n.DOMException;try{new T}catch(e){(T=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack}).prototype=Object.create(Error.prototype),T.prototype.constructor=T}function _(e,t){return new Promise((function(r,o){var a=new x(e,t);if(a.signal&&a.signal.aborted)return o(new T(\"Aborted\",\"AbortError\"));var l=new XMLHttpRequest;function s(){l.abort()}l.onload=function(){var e,t,n={status:l.status,statusText:l.statusText,headers:(e=l.getAllResponseHeaders()||\"\",t=new h,e.replace(/\\\\r?\\\\n[\\\\t ]+/g,\" \").split(\"\\\\r\").map((function(e){return 0===e.indexOf(\"\\\\n\")?e.substr(1,e.length):e})).forEach((function(e){var r=e.split(\":\"),n=r.shift().trim();if(n){var o=r.join(\":\").trim();t.append(n,o)}})),t)};n.url=\"responseURL\"in l?l.responseURL:n.headers.get(\"X-Request-URL\");var o=\"response\"in l?l.response:l.responseText;setTimeout((function(){r(new E(o,n))}),0)},l.onerror=function(){setTimeout((function(){o(new TypeError(\"Network request failed\"))}),0)},l.ontimeout=function(){setTimeout((function(){o(new TypeError(\"Network request failed\"))}),0)},l.onabort=function(){setTimeout((function(){o(new T(\"Aborted\",\"AbortError\"))}),0)},l.open(a.method,function(e){try{return\"\"===e&&n.location.href?n.location.href:e}catch(t){return e}}(a.url),!0),\"include\"===a.credentials?l.withCredentials=!0:\"omit\"===a.credentials&&(l.withCredentials=!1),\"responseType\"in l&&(i?l.responseType=\"blob\":u&&a.headers.get(\"Content-Type\")&&-1!==a.headers.get(\"Content-Type\").indexOf(\"application/octet-stream\")&&(l.responseType=\"arraybuffer\")),!t||\"object\"!==typeof t.headers||t.headers instanceof h?a.headers.forEach((function(e,t){l.setRequestHeader(t,e)})):Object.getOwnPropertyNames(t.headers).forEach((function(e){l.setRequestHeader(e,d(t.headers[e]))})),a.signal&&(a.signal.addEventListener(\"abort\",s),l.onreadystatechange=function(){4===l.readyState&&a.signal.removeEventListener(\"abort\",s)}),l.send(\"undefined\"===typeof a._bodyInit?null:a._bodyInit)}))}_.polyfill=!0,n.fetch||(n.fetch=_,n.Headers=h,n.Request=x,n.Response=E)},8950:(e,t,r)=>{\"use strict\";r(1522),r(5998),r(4658),r(4711),r(7105),r(1034),r(9227),r(9385),r(9764),r(3264),r(1257),r(6435),r(681),r(7313),r(5185),r(100),r(1168),r(3782),r(8458),r(620),r(7987),r(8151),r(7925),r(8955),\"undefined\"===typeof Promise&&(r(7247).enable(),self.Promise=r(83)),\"undefined\"!==typeof window&&r(9853),Object.assign=r(9934)},4037:(e,t,r)=>{\"use strict\";r(4801),r(1537),r(3782),r(8955),r(3035),r(2481),r(673),r(4756),r(5837),r(471),r(6692),r(5853),r(7415),r(4837),r(4285),r(9932),r(5843),r(1080),r(7074),r(7992),r(6443),r(8151),r(3763),r(1061),r(1675),r(3860),r(8088),r(7041),r(3922),r(156),r(8946),r(9492),r(1402),r(9787),r(6024),r(2681),r(2632),r(1463),r(5691),r(7705),r(5154),r(8950),r(6597).polyfill()}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={id:n,loaded:!1,exports:{}};return e[n].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if(\"object\"===typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(e){if(\"object\"===typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{\"undefined\"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var n={};(()=>{\"use strict\";r.d(n,{N:()=>he});r(4037);var e=r(6346),t=r(2171),o=function(e){return{position:\"relative\",display:\"inline-flex\",flexDirection:\"column\",height:\"100%\",width:\"1024px\",maxWidth:\"100%\",overflowX:\"hidden\",overflowY:\"auto\",padding:\"0.5rem\",boxSizing:\"border-box\",textAlign:\"left\",fontFamily:\"Consolas, Menlo, monospace\",fontSize:\"11px\",whiteSpace:\"pre-wrap\",wordBreak:\"break-word\",lineHeight:1.5,color:e.color}},a=null;const i=function(t){var r=(0,e.useContext)(he),n=t.shortcutHandler;return(0,e.useEffect)((function(){var e=function(e){n&&n(e.key)};return window.addEventListener(\"keydown\",e),a&&a.addEventListener(\"keydown\",e),function(){window.removeEventListener(\"keydown\",e),a&&a.removeEventListener(\"keydown\",e)}}),[n]),e.createElement(\"div\",{style:o(r),ref:function(e){if(e){var t=e.ownerDocument;a=t.defaultView}}},t.children)};var l=function(e){return{fontFamily:\"sans-serif\",color:e.footer,marginTop:\"0.5rem\",flex:\"0 0 auto\"}};const u=function(t){var r=(0,e.useContext)(he);return e.createElement(\"div\",{style:l(r)},t.line1,e.createElement(\"br\",null),t.line2)};var s=function(e){return{fontSize:\"2em\",fontFamily:\"sans-serif\",color:e.headerColor,whiteSpace:\"pre-wrap\",margin:\"0 2rem 0.75rem 0\",flex:\"0 0 auto\",maxHeight:\"50%\",overflow:\"auto\"}};const c=function(t){var r=(0,e.useContext)(he);return e.createElement(\"div\",{style:s(r)},t.headerText)};function f(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function p(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?d(Object(r),!0).forEach((function(t){f(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var h={position:\"relative\",display:\"block\",padding:\"0.5em\",marginTop:\"0.5em\",marginBottom:\"0.5em\",overflowX:\"auto\",whiteSpace:\"pre-wrap\",borderRadius:\"0.25rem\"},g={fontFamily:\"Consolas, Menlo, monospace\"};const m=function(t){var r=t.main,n=t.codeHTML,o=(0,e.useContext)(he),a=p(p({},h),{},{backgroundColor:o.primaryPreBackground,color:o.primaryPreColor}),i=p(p({},h),{},{backgroundColor:o.secondaryPreBackground,color:o.secondaryPreColor}),l=r?a:i,u={__html:n};return e.createElement(\"pre\",{style:l},e.createElement(\"code\",{style:g,dangerouslySetInnerHTML:u}))};var v=r(2434),y=r.n(v),b=r(3624),w=function(e){return{reset:[e.base05,\"transparent\"],black:e.base05,red:e.base08,green:e.base0B,yellow:e.base08,blue:e.base0C,magenta:e.base0C,cyan:e.base0E,gray:e.base03,lightgrey:e.base01,darkgrey:e.base03}},x={\"ansi-bright-black\":\"black\",\"ansi-bright-yellow\":\"yellow\",\"ansi-yellow\":\"yellow\",\"ansi-bright-green\":\"green\",\"ansi-green\":\"green\",\"ansi-bright-cyan\":\"cyan\",\"ansi-cyan\":\"cyan\",\"ansi-bright-red\":\"red\",\"ansi-red\":\"red\",\"ansi-bright-magenta\":\"magenta\",\"ansi-magenta\":\"magenta\",\"ansi-white\":\"darkgrey\"};const k=function(e,t){for(var r=(new(y())).ansiToJson((0,b.encode)(e),{use_classes:!0}),n=\"\",o=!1,a=0;a<r.length;++a)for(var i=r[a],l=i.content,u=i.fg,s=l.split(\"\\\\n\"),c=0;c<s.length;++c){o||(n+=\\'<span data-ansi-line=\"true\">\\',o=!0);var f=s[c].replace(\"\\\\r\",\"\"),d=w(t)[x[u]];null!=d?n+=\\'<span style=\"color: \\'+d+\\';\">\\'+f+\"</span>\":(null!=u&&console.log(\"Missing color mapping: \",u),n+=\"<span>\"+f+\"</span>\"),c<s.length-1&&(n+=\"</span>\",o=!1,n+=\"<br/>\")}return o&&(n+=\"</span>\",o=!1),n};var E=/^\\\\.(\\\\/[^/\\\\n ]+)+\\\\.[^/\\\\n ]+$/,S=[/^.*\\\\((\\\\d+):(\\\\d+)\\\\)$/,/^Line (\\\\d+):.+$/];const T=function(e){for(var t=e.split(\"\\\\n\"),r=\"\",n=0,o=0,a=0;a<t.length;a++){var i=y().ansiToText(t[a]).trim();if(i){!r&&i.match(E)&&(r=i);for(var l=0;l<S.length;){var u=i.match(S[l]);if(u){n=parseInt(u[1],10),o=parseInt(u[2],10)+1||1;break}l++}if(r&&n)break}}return r&&n?{fileName:r,lineNumber:n,colNumber:o}:null};var _={cursor:\"pointer\"};const C=function(t){var r=(0,e.useContext)(he),n=t.error,o=t.editorHandler,a=T(n),l=null!==a&&null!==o;return e.createElement(i,null,e.createElement(c,{headerText:\"Failed to compile\"}),e.createElement(\"div\",{onClick:l&&a?function(){return o(a)}:null,style:l?_:null},e.createElement(m,{main:!0,codeHTML:k(n,r)})),e.createElement(u,{line1:\"This error occurred during the build time and cannot be dismissed.\"}))};function O(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function P(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function R(e,t,r){return t&&P(e.prototype,t),r&&P(e,r),e}function A(e,t){return A=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},A(e,t)}function q(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&A(e,t)}function L(e){return L=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},L(e)}function N(e){return N=\"function\"===typeof Symbol&&\"symbol\"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},N(e)}function D(e,t){if(t&&(\"object\"===N(t)||\"function\"===typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return function(e){if(void 0===e)throw new ReferenceError(\"this hasn\\'t been initialised - super() hasn\\'t been called\");return e}(e)}function I(e){var t=function(){if(\"undefined\"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=L(e);if(t){var o=L(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return D(this,r)}}var j=function(e){return{color:e.closeColor,lineHeight:\"1rem\",fontSize:\"1.5rem\",padding:\"1rem\",cursor:\"pointer\",position:\"absolute\",right:0,top:0}};const M=function(t){var r=t.close,n=(0,e.useContext)(he);return e.createElement(\"span\",{title:\"Click or press Escape to dismiss.\",onClick:r,style:j(n)},\"×\")};var F={marginBottom:\"0.5rem\"},z={marginRight:\"1em\"},U={border:\"none\",borderRadius:\"4px\",padding:\"3px 6px\",cursor:\"pointer\"},B=function(e){return p(p({},U),{},{backgroundColor:e.navBackground,color:e.navArrow,borderTopRightRadius:\"0px\",borderBottomRightRadius:\"0px\",marginRight:\"1px\"})},V=function(e){return p(p({},U),{},{backgroundColor:e.navBackground,color:e.navArrow,borderTopLeftRadius:\"0px\",borderBottomLeftRadius:\"0px\"})};const H=function(t){var r=(0,e.useContext)(he),n=t.currentError,o=t.totalErrors,a=t.previous,i=t.next;return e.createElement(\"div\",{style:F},e.createElement(\"span\",{style:z},e.createElement(\"button\",{onClick:a,style:B(r)},\"â†\"),e.createElement(\"button\",{onClick:i,style:V(r)},\"→\")),\"\".concat(n,\" of \").concat(o,\" errors on the page\"))};function W(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function G(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:\"undefined\"!==typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=r){var n,o,a=[],i=!0,l=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(a.push(n.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==r.return||r.return()}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if(\"string\"===typeof e)return W(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===r&&e.constructor&&(r=e.constructor.name),\"Map\"===r||\"Set\"===r?Array.from(e):\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?W(e,t):void 0}}(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function $(e,t){for(;null!=t&&\"br\"!==t.tagName.toLowerCase();)t=t.nextElementSibling;null!=t&&e.removeChild(t)}var Q=r(8641);const Y=function(t){var r=(0,e.useContext)(he),n=t.lines,o=t.lineNum,a=t.columnNum,i=t.contextSize,l=t.main,u=[],s=1/0;n.forEach((function(e){var t=e.content,r=t.match(/^\\\\s*/);\"\"!==t&&(s=r&&r[0]?Math.min(s,r[0].length):0)})),n.forEach((function(e){var t=e.content,r=e.lineNumber;isFinite(s)&&(t=t.substring(s)),u[r-1]=t}));var c=(0,Q.rf)(u.join(\"\\\\n\"),{start:{line:o,column:null==a?0:a-(isFinite(s)?s:0)}},{forceColor:!0,linesAbove:i,linesBelow:i}),f=k(c,r),d=document.createElement(\"code\");d.innerHTML=f,function(e){for(var t=e.childNodes,r=0;r<t.length;++r){var n=t[r];if(\"span\"===n.tagName.toLowerCase()){var o=n.innerText;null!=o&&\"|^\"===o.replace(/\\\\s/g,\"\")&&(n.style.position=\"absolute\",$(e,n))}}}(d);var p=d.childNodes;e:for(var h=0;h<p.length;++h)for(var g=p[h].childNodes,v=0;v<g.length;++v){var y=g[v].innerText;if(null!=y&&-1!==y.indexOf(\" \"+o+\" |\"))break e}return e.createElement(m,{main:l,codeHTML:d.innerHTML})};function K(e,t,r,n,o,a,i){var l;if(!i&&e&&\"number\"===typeof t){var u=/^[/|\\\\\\\\].*?[/|\\\\\\\\]((src|node_modules)[/|\\\\\\\\].*)/.exec(e);l=u&&u[1]?u[1]:e,l+=\":\"+t,r&&(l+=\":\"+r)}else n&&\"number\"===typeof o?(l=n+\":\"+o,a&&(l+=\":\"+a)):l=\"unknown\";return l.replace(\"webpack://\",\".\")}var X=function(e){return{textDecoration:\"none\",color:e.anchorColor,cursor:\"pointer\"}},J=function(e){return{marginBottom:\"1.5em\",color:e.toggleColor,cursor:\"pointer\",border:\"none\",display:\"block\",width:\"100%\",textAlign:\"left\",background:e.toggleBackground,fontFamily:\"Consolas, Menlo, monospace\",fontSize:\"1em\",padding:\"0px\",lineHeight:\"1.5\"}};const Z=function(t){var r=(0,e.useContext)(he),n=G((0,e.useState)(!1),2),o=n[0],a=n[1],i=function(){var e=t.frame,r=e._originalFileName,n=e._originalLineNumber;return r?-1!==r.trim().indexOf(\" \")?null:{fileName:r,lineNumber:n||1}:null},l=function(){var e=i();e&&t.editorHandler(e)},u=t.frame,s=t.contextSize,c=t.critical,f=t.showCode,d=u.fileName,p=u.lineNumber,h=u.columnNumber,g=u._scriptCode,m=u._originalFileName,v=u._originalLineNumber,y=u._originalColumnNumber,b=u._originalScriptCode,w=u.getFunctionName(),x=K(m,v,y,d,p,h,o),k=null;f&&(o&&g&&0!==g.length&&null!=p?k={lines:g,lineNum:p,columnNum:h,contextSize:s,main:c}:!o&&b&&0!==b.length&&null!=v&&(k={lines:b,lineNum:v,columnNum:y,contextSize:s,main:c}));var E=null!==i()&&null!==t.editorHandler;return e.createElement(\"div\",null,e.createElement(\"div\",null,w),e.createElement(\"div\",{style:{fontSize:\"0.9em\",marginBottom:\"0.9em\"}},e.createElement(\"span\",{style:E?X(r):null,onClick:E?l:null,onKeyDown:E?function(e){\"Enter\"===e.key&&l()}:null,tabIndex:E?\"0\":null},x)),k&&e.createElement(\"span\",null,e.createElement(\"span\",{onClick:E?l:null,style:E?{cursor:\"pointer\"}:null},e.createElement(Y,k)),e.createElement(\"button\",{style:J(r),onClick:function(){a(!o)}},\"View \"+(o?\"source\":\"compiled\"))))};var ee={cursor:\"pointer\",border:\"none\",display:\"block\",width:\"100%\",textAlign:\"left\",fontFamily:\"Consolas, Menlo, monospace\",fontSize:\"1em\",padding:\"0px\",lineHeight:\"1.5\"},te=function(e){return p(p({},ee),{},{color:e.color,background:e.background,marginBottom:\"1.5em\"})},re=function(e){return p(p({},ee),{},{color:e.color,background:e.background,marginBottom:\"0.6em\"})};const ne=function(t){var r=(0,e.useContext)(he),n=G((0,e.useState)(!0),2),o=n[0],a=n[1],i=function(){a(!o)},l=t.children.length;return e.createElement(\"div\",null,e.createElement(\"button\",{onClick:i,style:o?te(r):re(r)},(o?\"â–¶\":\"â–¼\")+\" \".concat(l,\" stack frames were \")+(o?\"collapsed.\":\"expanded.\")),e.createElement(\"div\",{style:{display:o?\"none\":\"block\"}},t.children,e.createElement(\"button\",{onClick:i,style:re(r)},\"â–² \".concat(l,\" stack frames were expanded.\"))))};function oe(e){switch(e){case\"EvalError\":case\"InternalError\":case\"RangeError\":case\"ReferenceError\":case\"SyntaxError\":case\"TypeError\":case\"URIError\":return!0;default:return!1}}var ae={fontSize:\"1em\",flex:\"0 1 auto\",minHeight:\"0px\",overflow:\"auto\"};const ie=function(t){q(n,t);var r=I(n);function n(){return O(this,n),r.apply(this,arguments)}return R(n,[{key:\"renderFrames\",value:function(){var t=this.props,r=t.stackFrames,n=t.errorName,o=t.contextSize,a=t.editorHandler,i=[],l=!1,u=[],s=0;return r.forEach((function(t,c){var f=t.fileName,d=function(e,t){return null==e||\"\"===e||-1!==e.indexOf(\"/~/\")||-1!==e.indexOf(\"/node_modules/\")||-1!==e.trim().indexOf(\" \")||null==t||\"\"===t}(t._originalFileName,f),p=!oe(n),h=d&&(p||l);d||(l=!0);var g=e.createElement(Z,{key:\"frame-\"+c,frame:t,contextSize:o,critical:0===c,showCode:!h,editorHandler:a}),m=c===r.length-1;h&&u.push(g),h&&!m||(1===u.length?i.push(u[0]):u.length>1&&(s++,i.push(e.createElement(ne,{key:\"bundle-\"+s},u))),u=[]),h||i.push(g)})),i}},{key:\"render\",value:function(){return e.createElement(\"div\",{style:ae},this.renderFrames())}}]),n}(e.Component);var le={display:\"flex\",flexDirection:\"column\"};const ue=function(t){var r=t.errorRecord,n=t.editorHandler,o=r.error,a=r.unhandledRejection,i=r.contextSize,l=r.stackFrames,u=a?\"Unhandled Rejection (\"+o.name+\")\":o.name,s=o.message,f=s.match(/^\\\\w*:/)||!u?s:u+\": \"+s;return f=f.replace(/^Invariant Violation:\\\\s*/,\"\").replace(/^Warning:\\\\s*/,\"\").replace(\" Check the render method\",\"\\\\n\\\\nCheck the render method\").replace(\" Check your code at\",\"\\\\n\\\\nCheck your code at\"),e.createElement(\"div\",{style:le},e.createElement(c,{headerText:f}),e.createElement(ie,{stackFrames:l,errorName:u,contextSize:i,editorHandler:n}))};const se=function(t){q(n,t);var r=I(n);function n(){var e;O(this,n);for(var t=arguments.length,o=new Array(t),a=0;a<t;a++)o[a]=arguments[a];return(e=r.call.apply(r,[this].concat(o))).state={currentIndex:0},e.previous=function(){e.setState((function(e,t){return{currentIndex:e.currentIndex>0?e.currentIndex-1:t.errorRecords.length-1}}))},e.next=function(){e.setState((function(e,t){return{currentIndex:e.currentIndex<t.errorRecords.length-1?e.currentIndex+1:0}}))},e.shortcutHandler=function(t){\"Escape\"===t?e.props.close():\"ArrowLeft\"===t?e.previous():\"ArrowRight\"===t&&e.next()},e}return R(n,[{key:\"render\",value:function(){var t=this.props,r=t.errorRecords,n=t.close,o=r.length;return e.createElement(i,{shortcutHandler:this.shortcutHandler},e.createElement(M,{close:n}),o>1&&e.createElement(H,{currentError:this.state.currentIndex+1,totalErrors:o,previous:this.previous,next:this.next}),e.createElement(ue,{errorRecord:r[this.state.currentIndex],editorHandler:this.props.editorHandler}),e.createElement(u,{line1:\"This screen is visible only in development. It will not appear if the app crashes in production.\",line2:\"Open your browser’s developer console to further inspect this error. Click the \\'X\\' or hit ESC to dismiss this message.\"}))}}]),n}(e.PureComponent);var ce={background:\"white\",color:\"black\",headerColor:\"#ce1126\",primaryPreBackground:\"rgba(206, 17, 38, 0.05)\",primaryPreColor:\"inherit\",secondaryPreBackground:\"rgba(251, 245, 180, 0.3)\",secondaryPreColor:\"inherit\",footer:\"#878e91\",anchorColor:\"#878e91\",toggleBackground:\"transparent\",toggleColor:\"#878e91\",closeColor:\"#293238\",navBackground:\"rgba(206, 17, 38, 0.05)\",navArrow:\"#ce1126\",base01:\"#f5f5f5\",base03:\"#6e6e6e\",base05:\"#333333\",base08:\"#881280\",base0B:\"#1155cc\",base0C:\"#994500\",base0E:\"#c80000\"},fe={background:\"#353535\",color:\"white\",headerColor:\"#e83b46\",primaryPreBackground:\"rgba(206, 17, 38, 0.1)\",primaryPreColor:\"#fccfcf\",secondaryPreBackground:\"rgba(251, 245, 180, 0.1)\",secondaryPreColor:\"#fbf5b4\",footer:\"#878e91\",anchorColor:\"#878e91\",toggleBackground:\"transparent\",toggleColor:\"#878e91\",closeColor:\"#ffffff\",navBackground:\"rgba(206, 17, 38, 0.2)\",navArrow:\"#ce1126\",base01:\"#282a2e\",base03:\"#969896\",base05:\"#c5c8c6\",base08:\"#cc6666\",base0B:\"#b5bd68\",base0C:\"#8abeb7\",base0E:\"#b294bb\"};var de=null,pe=window.matchMedia&&window.matchMedia(\"(prefers-color-scheme: dark)\").matches?fe:ce,he=(0,e.createContext)();window.updateContent=function(r){var n,o,a,i,l,u=(o=(n=r).currentBuildError,a=n.currentRuntimeErrorRecords,i=n.dismissRuntimeErrors,l=n.editorHandler,o?e.createElement(he.Provider,{value:pe},e.createElement(C,{error:o,editorHandler:l})):a.length>0?e.createElement(he.Provider,{value:pe},e.createElement(se,{errorRecords:a,close:i,editorHandler:l})):null);return null===u?(t.unmountComponentAtNode(de),!1):(t.render(u,de),!0)},document.body.style.margin=\"0\",document.body.style[\"max-width\"]=\"100vw\",function(e,t){for(var r in e.setAttribute(\"style\",\"\"),t)t.hasOwnProperty(r)&&(e.style[r]=t[r])}(de=document.createElement(\"div\"),function(e){return{width:\"100%\",height:\"100%\",\"box-sizing\":\"border-box\",\"text-align\":\"center\",\"background-color\":e.background}}(pe)),document.body.appendChild(de),window.parent.__REACT_ERROR_OVERLAY_GLOBAL_HOOK__.iframeReady()})()})();',t.body.appendChild(r)}},window.document.body.appendChild(e)}}function we(){if(!se)throw new Error(\"Expected options to be injected.\");if(!ne)throw new Error(\"Iframe has not been created yet.\");ne.contentWindow.updateContent({currentBuildError:le,currentRuntimeErrorRecords:ue,dismissRuntimeErrors:ve,editorHandler:ie})||(window.document.body.removeChild(ne),ne=null,ae=!1)}window.__REACT_ERROR_OVERLAY_GLOBAL_HOOK__=window.__REACT_ERROR_OVERLAY_GLOBAL_HOOK__||{},window.__REACT_ERROR_OVERLAY_GLOBAL_HOOK__.iframeReady=function(){ae=!0,oe=!1,we()},\"production\"===process.env.NODE_ENV&&console.warn(\"react-error-overlay is not meant for use in production. You should ensure it is not included in your build to reduce bundle size.\")})(),n})()}));"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/afda4b9c0b6a904745d2af1aa7af96ed.json b/.expo/web/cache/development/babel-loader/afda4b9c0b6a904745d2af1aa7af96ed.json new file mode 100644 index 0000000000000000000000000000000000000000..88f0b988d312905190f72999d4421a01b58b24ca --- /dev/null +++ b/.expo/web/cache/development/babel-loader/afda4b9c0b6a904745d2af1aa7af96ed.json @@ -0,0 +1 @@ +{"ast":null,"code":"var _window$document;\n\nexport var isDOMAvailable = typeof window !== 'undefined' && !!((_window$document = window.document) != null && _window$document.createElement);\nexport var canUseEventListeners = isDOMAvailable && !!(window.addEventListener || window.attachEvent);\nexport var canUseViewport = isDOMAvailable && !!window.screen;\nexport var isAsyncDebugging = false;","map":{"version":3,"sources":["../../src/environment/browser.web.ts"],"names":[],"mappings":";;AASA,OAAO,IAAM,cAAc,GAAG,OAAO,MAAP,KAAkB,WAAlB,IAAiC,CAAC,sBAAC,MAAM,CAAC,QAAR,aAAC,iBAAiB,aAAlB,CAAzD;AACP,OAAO,IAAM,oBAAoB,GAC/B,cAAc,IAAI,CAAC,EAAE,MAAM,CAAC,gBAAP,IAA2B,MAAM,CAAC,WAApC,CADd;AAEP,OAAO,IAAM,cAAc,GAAG,cAAc,IAAI,CAAC,CAAC,MAAM,CAAC,MAAlD;AACP,OAAO,IAAM,gBAAgB,GAAG,KAAzB","sourcesContent":["declare global {\n // Add IE-specific interface to Window\n interface Window {\n attachEvent(event: string, listener: EventListener): boolean;\n }\n}\n\n// Used for delegating node actions when browser APIs aren't available\n// like in SSR websites.\nexport const isDOMAvailable = typeof window !== 'undefined' && !!window.document?.createElement;\nexport const canUseEventListeners =\n isDOMAvailable && !!(window.addEventListener || window.attachEvent);\nexport const canUseViewport = isDOMAvailable && !!window.screen;\nexport const isAsyncDebugging = false;\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/b093f79d783779d0cc6bd9991f7ba870.json b/.expo/web/cache/development/babel-loader/b093f79d783779d0cc6bd9991f7ba870.json new file mode 100644 index 0000000000000000000000000000000000000000..498273ade75c8a5572f2b698c5ea43df9face52e --- /dev/null +++ b/.expo/web/cache/development/babel-loader/b093f79d783779d0cc6bd9991f7ba870.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nimport useNavigation from \"./useNavigation\";\nexport default function useFocusEffect(effect) {\n var navigation = useNavigation();\n\n if (arguments[1] !== undefined) {\n var message = \"You passed a second argument to 'useFocusEffect', but it only accepts one argument. \" + \"If you want to pass a dependency array, you can use 'React.useCallback':\\n\\n\" + 'useFocusEffect(\\n' + ' React.useCallback(() => {\\n' + ' // Your code here\\n' + ' }, [depA, depB])\\n' + ');\\n\\n' + 'See usage guide: https://reactnavigation.org/docs/use-focus-effect';\n console.error(message);\n }\n\n React.useEffect(function () {\n var isFocused = false;\n var cleanup;\n\n var callback = function callback() {\n var destroy = effect();\n\n if (destroy === undefined || typeof destroy === 'function') {\n return destroy;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var _message = 'An effect function must not return anything besides a function, which is used for clean-up.';\n\n if (destroy === null) {\n _message += \" You returned 'null'. If your effect does not require clean-up, return 'undefined' (or nothing).\";\n } else if (typeof destroy.then === 'function') {\n _message += \"\\n\\nIt looks like you wrote 'useFocusEffect(async () => ...)' or returned a Promise. \" + 'Instead, write the async function inside your effect ' + 'and call it immediately:\\n\\n' + 'useFocusEffect(\\n' + ' React.useCallback() => {\\n' + ' async function fetchData() {\\n' + ' // You can await here\\n' + ' const response = await MyAPI.getData(someId);\\n' + ' // ...\\n' + ' }\\n\\n' + ' fetchData();\\n' + ' }, [someId])\\n' + ');\\n\\n' + 'See usage guide: https://reactnavigation.org/docs/use-focus-effect';\n } else {\n _message += \" You returned '\" + JSON.stringify(destroy) + \"'.\";\n }\n\n console.error(_message);\n }\n };\n\n if (navigation.isFocused()) {\n cleanup = callback();\n isFocused = true;\n }\n\n var unsubscribeFocus = navigation.addListener('focus', function () {\n if (isFocused) {\n return;\n }\n\n if (cleanup !== undefined) {\n cleanup();\n }\n\n cleanup = callback();\n isFocused = true;\n });\n var unsubscribeBlur = navigation.addListener('blur', function () {\n if (cleanup !== undefined) {\n cleanup();\n }\n\n cleanup = undefined;\n isFocused = false;\n });\n return function () {\n if (cleanup !== undefined) {\n cleanup();\n }\n\n unsubscribeFocus();\n unsubscribeBlur();\n };\n }, [effect, navigation]);\n}","map":{"version":3,"sources":["useFocusEffect.tsx"],"names":["navigation","useNavigation","arguments","message","console","React","isFocused","callback","destroy","effect","process","JSON","cleanup","unsubscribeFocus","unsubscribeBlur"],"mappings":"AAAA,OAAO,KAAP,KAAA,MAAA,OAAA;AAEA,OAAA,aAAA;AAWA,eAAe,SAAA,cAAA,CAAA,MAAA,EAAgD;AAC7D,MAAMA,UAAU,GAAGC,aAAnB,EAAA;;AAEA,MAAIC,SAAS,CAATA,CAAS,CAATA,KAAJ,SAAA,EAAgC;AAC9B,QAAMC,OAAO,GACX,yFAAA,8EAAA,GAAA,mBAAA,GAAA,+BAAA,GAAA,yBAAA,GAAA,sBAAA,GAAA,QAAA,GADF,oEAAA;AAUAC,IAAAA,OAAO,CAAPA,KAAAA,CAAAA,OAAAA;AACD;;AAEDC,EAAAA,KAAK,CAALA,SAAAA,CAAgB,YAAM;AACpB,QAAIC,SAAS,GAAb,KAAA;AACA,QAAA,OAAA;;AAEA,QAAMC,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrB,UAAMC,OAAO,GAAGC,MAAhB,EAAA;;AAEA,UAAID,OAAO,KAAPA,SAAAA,IAAyB,OAAA,OAAA,KAA7B,UAAA,EAA4D;AAC1D,eAAA,OAAA;AACD;;AAED,UAAIE,OAAO,CAAPA,GAAAA,CAAAA,QAAAA,KAAJ,YAAA,EAA2C;AACzC,YAAIP,QAAO,GAAX,6FAAA;;AAGA,YAAIK,OAAO,KAAX,IAAA,EAAsB;AACpBL,UAAAA,QAAO,IAAPA,kGAAAA;AADF,SAAA,MAGO,IAAI,OAAQK,OAAD,CAAP,IAAA,KAAJ,UAAA,EAAiD;AACtDL,UAAAA,QAAO,IACL,0FAAA,uDAAA,GAAA,8BAAA,GAAA,mBAAA,GAAA,8BAAA,GAAA,oCAAA,GAAA,+BAAA,GAAA,uDAAA,GAAA,gBAAA,GAAA,WAAA,GAAA,oBAAA,GAAA,kBAAA,GAAA,QAAA,GADFA,oEAAAA;AADK,SAAA,MAgBA;AACLA,UAAAA,QAAO,wBAAsBQ,IAAI,CAAJA,SAAAA,CAA7BR,OAA6BQ,CAAtB,OAAPR;AACD;;AAEDC,QAAAA,OAAO,CAAPA,KAAAA,CAAAA,QAAAA;AACD;AAvCiB,KAIpB;;AAuCA,QAAIJ,UAAU,CAAd,SAAIA,EAAJ,EAA4B;AAC1BY,MAAAA,OAAO,GAAGL,QAAVK,EAAAA;AACAN,MAAAA,SAAS,GAATA,IAAAA;AACD;;AAED,QAAMO,gBAAgB,GAAG,UAAU,CAAV,WAAA,CAAA,OAAA,EAAgC,YAAM;AAG7D,UAAA,SAAA,EAAe;AACb;AACD;;AAED,UAAID,OAAO,KAAX,SAAA,EAA2B;AACzBA,QAAAA,OAAO;AACR;;AAEDA,MAAAA,OAAO,GAAGL,QAAVK,EAAAA;AACAN,MAAAA,SAAS,GAATA,IAAAA;AAZF,KAAyB,CAAzB;AAeA,QAAMQ,eAAe,GAAG,UAAU,CAAV,WAAA,CAAA,MAAA,EAA+B,YAAM;AAC3D,UAAIF,OAAO,KAAX,SAAA,EAA2B;AACzBA,QAAAA,OAAO;AACR;;AAEDA,MAAAA,OAAO,GAAPA,SAAAA;AACAN,MAAAA,SAAS,GAATA,KAAAA;AANF,KAAwB,CAAxB;AASA,WAAO,YAAM;AACX,UAAIM,OAAO,KAAX,SAAA,EAA2B;AACzBA,QAAAA,OAAO;AACR;;AAEDC,MAAAA,gBAAgB;AAChBC,MAAAA,eAAe;AANjB,KAAA;AAxEFT,GAAAA,EAgFG,CAAA,MAAA,EAhFHA,UAgFG,CAhFHA;AAiFD","sourcesContent":["import * as React from 'react';\n\nimport useNavigation from './useNavigation';\n\ntype EffectCallback = () => undefined | void | (() => void);\n\n/**\n * Hook to run an effect in a focused screen, similar to `React.useEffect`.\n * This can be used to perform side-effects such as fetching data or subscribing to events.\n * The passed callback should be wrapped in `React.useCallback` to avoid running the effect too often.\n *\n * @param callback Memoized callback containing the effect, should optionally return a cleanup function.\n */\nexport default function useFocusEffect(effect: EffectCallback) {\n const navigation = useNavigation();\n\n if (arguments[1] !== undefined) {\n const message =\n \"You passed a second argument to 'useFocusEffect', but it only accepts one argument. \" +\n \"If you want to pass a dependency array, you can use 'React.useCallback':\\n\\n\" +\n 'useFocusEffect(\\n' +\n ' React.useCallback(() => {\\n' +\n ' // Your code here\\n' +\n ' }, [depA, depB])\\n' +\n ');\\n\\n' +\n 'See usage guide: https://reactnavigation.org/docs/use-focus-effect';\n\n console.error(message);\n }\n\n React.useEffect(() => {\n let isFocused = false;\n let cleanup: undefined | void | (() => void);\n\n const callback = () => {\n const destroy = effect();\n\n if (destroy === undefined || typeof destroy === 'function') {\n return destroy;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n let message =\n 'An effect function must not return anything besides a function, which is used for clean-up.';\n\n if (destroy === null) {\n message +=\n \" You returned 'null'. If your effect does not require clean-up, return 'undefined' (or nothing).\";\n } else if (typeof (destroy as any).then === 'function') {\n message +=\n \"\\n\\nIt looks like you wrote 'useFocusEffect(async () => ...)' or returned a Promise. \" +\n 'Instead, write the async function inside your effect ' +\n 'and call it immediately:\\n\\n' +\n 'useFocusEffect(\\n' +\n ' React.useCallback() => {\\n' +\n ' async function fetchData() {\\n' +\n ' // You can await here\\n' +\n ' const response = await MyAPI.getData(someId);\\n' +\n ' // ...\\n' +\n ' }\\n\\n' +\n ' fetchData();\\n' +\n ' }, [someId])\\n' +\n ');\\n\\n' +\n 'See usage guide: https://reactnavigation.org/docs/use-focus-effect';\n } else {\n message += ` You returned '${JSON.stringify(destroy)}'.`;\n }\n\n console.error(message);\n }\n };\n\n // We need to run the effect on intial render/dep changes if the screen is focused\n if (navigation.isFocused()) {\n cleanup = callback();\n isFocused = true;\n }\n\n const unsubscribeFocus = navigation.addListener('focus', () => {\n // If callback was already called for focus, avoid calling it again\n // The focus event may also fire on intial render, so we guard against runing the effect twice\n if (isFocused) {\n return;\n }\n\n if (cleanup !== undefined) {\n cleanup();\n }\n\n cleanup = callback();\n isFocused = true;\n });\n\n const unsubscribeBlur = navigation.addListener('blur', () => {\n if (cleanup !== undefined) {\n cleanup();\n }\n\n cleanup = undefined;\n isFocused = false;\n });\n\n return () => {\n if (cleanup !== undefined) {\n cleanup();\n }\n\n unsubscribeFocus();\n unsubscribeBlur();\n };\n }, [effect, navigation]);\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/b09a4d374286aab831ee94d85823bcdc.json b/.expo/web/cache/development/babel-loader/b09a4d374286aab831ee94d85823bcdc.json new file mode 100644 index 0000000000000000000000000000000000000000..3794d1457a84309b531104d88da7a85ce0f05b22 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/b09a4d374286aab831ee94d85823bcdc.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nimport Text from \"../../../../exports/Text\";\nimport createAnimatedComponent from \"../createAnimatedComponent\";\nexport default createAnimatedComponent(Text, {\n collapsable: false\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedText.js"],"names":["React","Text","createAnimatedComponent","collapsable"],"mappings":"AASA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,IAAP;AACA,OAAOC,uBAAP;AACA,eAAeA,uBAAuB,CAACD,IAAD,EAAO;AAC3CE,EAAAA,WAAW,EAAE;AAD8B,CAAP,CAAtC","sourcesContent":["/**\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 * @format\n */\nimport * as React from 'react';\nimport Text from '../../../../exports/Text';\nimport createAnimatedComponent from '../createAnimatedComponent';\nexport default createAnimatedComponent(Text, {\n collapsable: false\n});"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/b0c654902355f9012a196376f67ea684.json b/.expo/web/cache/development/babel-loader/b0c654902355f9012a196376f67ea684.json new file mode 100644 index 0000000000000000000000000000000000000000..4936d3030c80da98efbec6ba5ecd89da8865e053 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/b0c654902355f9012a196376f67ea684.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport { AnimatedEvent } from \"../AnimatedEvent\";\nimport AnimatedNode from \"./AnimatedNode\";\nimport AnimatedStyle from \"./AnimatedStyle\";\nimport NativeAnimatedHelper from \"../NativeAnimatedHelper\";\nimport findNodeHandle from \"../../../../exports/findNodeHandle\";\nimport invariant from 'fbjs/lib/invariant';\n\nvar AnimatedProps = function (_AnimatedNode) {\n _inheritsLoose(AnimatedProps, _AnimatedNode);\n\n function AnimatedProps(props, callback) {\n var _this;\n\n _this = _AnimatedNode.call(this) || this;\n\n if (props.style) {\n props = _objectSpread(_objectSpread({}, props), {}, {\n style: new AnimatedStyle(props.style)\n });\n }\n\n _this._props = props;\n _this._callback = callback;\n\n _this.__attach();\n\n return _this;\n }\n\n var _proto = AnimatedProps.prototype;\n\n _proto.__getValue = function __getValue() {\n var props = {};\n\n for (var key in this._props) {\n var value = this._props[key];\n\n if (value instanceof AnimatedNode) {\n if (!value.__isNative || value instanceof AnimatedStyle) {\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\n return props;\n };\n\n _proto.__getAnimatedValue = function __getAnimatedValue() {\n var props = {};\n\n for (var key in this._props) {\n var value = this._props[key];\n\n if (value instanceof AnimatedNode) {\n props[key] = value.__getAnimatedValue();\n }\n }\n\n return props;\n };\n\n _proto.__attach = function __attach() {\n for (var key in this._props) {\n var value = this._props[key];\n\n if (value instanceof AnimatedNode) {\n value.__addChild(this);\n }\n }\n };\n\n _proto.__detach = function __detach() {\n if (this.__isNative && this._animatedView) {\n this.__disconnectAnimatedView();\n }\n\n for (var key in this._props) {\n var value = this._props[key];\n\n if (value instanceof AnimatedNode) {\n value.__removeChild(this);\n }\n }\n\n _AnimatedNode.prototype.__detach.call(this);\n };\n\n _proto.update = function update() {\n this._callback();\n };\n\n _proto.__makeNative = function __makeNative() {\n if (!this.__isNative) {\n this.__isNative = true;\n\n for (var key in this._props) {\n var value = this._props[key];\n\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n }\n }\n\n if (this._animatedView) {\n this.__connectAnimatedView();\n }\n }\n };\n\n _proto.setNativeView = function setNativeView(animatedView) {\n if (this._animatedView === animatedView) {\n return;\n }\n\n this._animatedView = animatedView;\n\n if (this.__isNative) {\n this.__connectAnimatedView();\n }\n };\n\n _proto.__connectAnimatedView = function __connectAnimatedView() {\n invariant(this.__isNative, 'Expected node to be marked as \"native\"');\n var nativeViewTag = findNodeHandle(this._animatedView);\n invariant(nativeViewTag != null, 'Unable to locate attached view in the native tree');\n NativeAnimatedHelper.API.connectAnimatedNodeToView(this.__getNativeTag(), nativeViewTag);\n };\n\n _proto.__disconnectAnimatedView = function __disconnectAnimatedView() {\n invariant(this.__isNative, 'Expected node to be marked as \"native\"');\n var nativeViewTag = findNodeHandle(this._animatedView);\n invariant(nativeViewTag != null, 'Unable to locate attached view in the native tree');\n NativeAnimatedHelper.API.disconnectAnimatedNodeFromView(this.__getNativeTag(), nativeViewTag);\n };\n\n _proto.__restoreDefaultValues = function __restoreDefaultValues() {\n if (this.__isNative) {\n NativeAnimatedHelper.API.restoreDefaultValues(this.__getNativeTag());\n }\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n var propsConfig = {};\n\n for (var propKey in this._props) {\n var value = this._props[propKey];\n\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n\n propsConfig[propKey] = value.__getNativeTag();\n }\n }\n\n return {\n type: 'props',\n props: propsConfig\n };\n };\n\n return AnimatedProps;\n}(AnimatedNode);\n\nexport default AnimatedProps;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedProps.js"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","_inheritsLoose","subClass","superClass","prototype","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","AnimatedEvent","AnimatedNode","AnimatedStyle","NativeAnimatedHelper","findNodeHandle","invariant","AnimatedProps","_AnimatedNode","props","callback","_this","call","style","_props","_callback","__attach","_proto","__getValue","__isNative","__getHandler","__getAnimatedValue","__addChild","__detach","_animatedView","__disconnectAnimatedView","__removeChild","update","__makeNative","__connectAnimatedView","setNativeView","animatedView","nativeViewTag","API","connectAnimatedNodeToView","__getNativeTag","disconnectAnimatedNodeFromView","__restoreDefaultValues","restoreDefaultValues","__getNativeConfig","propsConfig","propKey","type"],"mappings":"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","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport { AnimatedEvent } from '../AnimatedEvent';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedStyle from './AnimatedStyle';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nimport findNodeHandle from '../../../../exports/findNodeHandle';\nimport invariant from 'fbjs/lib/invariant';\n\nvar AnimatedProps = /*#__PURE__*/function (_AnimatedNode) {\n _inheritsLoose(AnimatedProps, _AnimatedNode);\n\n function AnimatedProps(props, callback) {\n var _this;\n\n _this = _AnimatedNode.call(this) || this;\n\n if (props.style) {\n props = _objectSpread(_objectSpread({}, props), {}, {\n style: new AnimatedStyle(props.style)\n });\n }\n\n _this._props = props;\n _this._callback = callback;\n\n _this.__attach();\n\n return _this;\n }\n\n var _proto = AnimatedProps.prototype;\n\n _proto.__getValue = function __getValue() {\n var props = {};\n\n for (var key in this._props) {\n var value = this._props[key];\n\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\n return props;\n };\n\n _proto.__getAnimatedValue = function __getAnimatedValue() {\n var props = {};\n\n for (var key in this._props) {\n var value = this._props[key];\n\n if (value instanceof AnimatedNode) {\n props[key] = value.__getAnimatedValue();\n }\n }\n\n return props;\n };\n\n _proto.__attach = function __attach() {\n for (var key in this._props) {\n var value = this._props[key];\n\n if (value instanceof AnimatedNode) {\n value.__addChild(this);\n }\n }\n };\n\n _proto.__detach = function __detach() {\n if (this.__isNative && this._animatedView) {\n this.__disconnectAnimatedView();\n }\n\n for (var key in this._props) {\n var value = this._props[key];\n\n if (value instanceof AnimatedNode) {\n value.__removeChild(this);\n }\n }\n\n _AnimatedNode.prototype.__detach.call(this);\n };\n\n _proto.update = function update() {\n this._callback();\n };\n\n _proto.__makeNative = function __makeNative() {\n if (!this.__isNative) {\n this.__isNative = true;\n\n for (var key in this._props) {\n var value = this._props[key];\n\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n }\n }\n\n if (this._animatedView) {\n this.__connectAnimatedView();\n }\n }\n };\n\n _proto.setNativeView = function setNativeView(animatedView) {\n if (this._animatedView === animatedView) {\n return;\n }\n\n this._animatedView = animatedView;\n\n if (this.__isNative) {\n this.__connectAnimatedView();\n }\n };\n\n _proto.__connectAnimatedView = function __connectAnimatedView() {\n invariant(this.__isNative, 'Expected node to be marked as \"native\"');\n var nativeViewTag = findNodeHandle(this._animatedView);\n invariant(nativeViewTag != null, 'Unable to locate attached view in the native tree');\n NativeAnimatedHelper.API.connectAnimatedNodeToView(this.__getNativeTag(), nativeViewTag);\n };\n\n _proto.__disconnectAnimatedView = function __disconnectAnimatedView() {\n invariant(this.__isNative, 'Expected node to be marked as \"native\"');\n var nativeViewTag = findNodeHandle(this._animatedView);\n invariant(nativeViewTag != null, 'Unable to locate attached view in the native tree');\n NativeAnimatedHelper.API.disconnectAnimatedNodeFromView(this.__getNativeTag(), nativeViewTag);\n };\n\n _proto.__restoreDefaultValues = function __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\n _proto.__getNativeConfig = function __getNativeConfig() {\n var propsConfig = {};\n\n for (var propKey in this._props) {\n var value = this._props[propKey];\n\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n\n propsConfig[propKey] = value.__getNativeTag();\n }\n }\n\n return {\n type: 'props',\n props: propsConfig\n };\n };\n\n return AnimatedProps;\n}(AnimatedNode);\n\nexport default AnimatedProps;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/b10210bb25b54c3319b70982f449234d.json b/.expo/web/cache/development/babel-loader/b10210bb25b54c3319b70982f449234d.json new file mode 100644 index 0000000000000000000000000000000000000000..74edb7687e544355920461388a2e0dd9f127c7c9 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/b10210bb25b54c3319b70982f449234d.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport TextInput from \"react-native-web/dist/exports/TextInput\";\nimport React, { useState, useEffect } from 'react';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function CreateNewUser(_ref) {\n var navigation = _ref.navigation;\n\n var _useState = useState(''),\n _useState2 = _slicedToArray(_useState, 2),\n name = _useState2[0],\n onChangeName = _useState2[1];\n\n var _useState3 = useState(''),\n _useState4 = _slicedToArray(_useState3, 2),\n email = _useState4[0],\n onChangeEmail = _useState4[1];\n\n var _useState5 = useState(''),\n _useState6 = _slicedToArray(_useState5, 2),\n image = _useState6[0],\n onChangeImage = _useState6[1];\n\n function newUser() {\n return _regeneratorRuntime.async(function newUser$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return _regeneratorRuntime.awrap(addDoc(collection(getFirestore(), 'Users'), {\n Name: name,\n Email: email,\n Image: image\n }));\n\n case 3:\n _context.next = 7;\n break;\n\n case 5:\n _context.prev = 5;\n _context.t0 = _context[\"catch\"](0);\n\n case 7:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, [[0, 5]], Promise);\n }\n\n ;\n\n function Submitt() {\n newUser();\n navigation.navigate({\n name: 'UserList',\n merge: true\n });\n }\n\n return _jsxs(View, {\n children: [_jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeName,\n value: name,\n multiline: true,\n placeholder: \"Name\"\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeEmail,\n value: email,\n multiline: true,\n placeholder: \"Email\"\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeImage,\n value: image,\n multiline: true,\n placeholder: \"Image URL\"\n }), _jsx(Button, {\n title: \"Submitt\",\n onPress: Submitt,\n style: styles.button\n })]\n });\n}\n;\nvar styles = StyleSheet.create({\n input: {\n borderBottomColor: '#CFCDCD',\n borderBottomWidth: 1,\n width: 220,\n marginTop: 20\n },\n button: {\n marginTop: 35,\n width: 85,\n height: 35,\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\n borderRadius: 12\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/CreateNewUser.js"],"names":["React","useState","useEffect","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","firebase","CreateNewUser","navigation","name","onChangeName","email","onChangeEmail","image","onChangeImage","newUser","Name","Email","Image","Submitt","navigate","merge","styles","input","button","StyleSheet","create","borderBottomColor","borderBottomWidth","width","marginTop","height","backgroundColor","borderRadius"],"mappings":";;;;;;;AACA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;AAEA,OAAOC,EAAP;AACA,SAAQC,UAAR,EAAoBC,GAApB,EAAyBC,UAAzB,EAAqCC,aAArC,EAAoDC,MAApD,EAA4DC,SAA5D,EAAuEC,MAAvE,EAA+EC,YAA/E,EAA6FC,MAA7F,EAAqGC,MAArG,QAAkH,oBAAlH;AACA,SAASC,QAAT,QAAyB,kCAAzB;;;AAEA,eAAe,SAASC,aAAT,OAAqC;AAAA,MAAZC,UAAY,QAAZA,UAAY;;AAEhD,kBAA6Bf,QAAQ,CAAC,EAAD,CAArC;AAAA;AAAA,MAAOgB,IAAP;AAAA,MAAaC,YAAb;;AACA,mBAA+BjB,QAAQ,CAAC,EAAD,CAAvC;AAAA;AAAA,MAAOkB,KAAP;AAAA,MAAcC,aAAd;;AACA,mBAA+BnB,QAAQ,CAAC,EAAD,CAAvC;AAAA;AAAA,MAAOoB,KAAP;AAAA,MAAcC,aAAd;;AAEA,WAAeC,OAAf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6CAEYf,MAAM,CAACJ,UAAU,CAACO,YAAY,EAAb,EAAiB,OAAjB,CAAX,EAAqC;AAC/Ca,cAAAA,IAAI,EAAEP,IADyC;AAE/CQ,cAAAA,KAAK,EAAEN,KAFwC;AAG/CO,cAAAA,KAAK,EAAEL;AAHwC,aAArC,CAFlB;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAWK;;AAEN,WAASM,OAAT,GAAkB;AACdJ,IAAAA,OAAO;AACdP,IAAAA,UAAU,CAACY,QAAX,CAAoB;AACRX,MAAAA,IAAI,EAAE,UADE;AAGRY,MAAAA,KAAK,EAAE;AAHC,KAApB;AAKK;;AACL,SACI,MAAC,IAAD;AAAA,eAEA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEC,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAEb,YAA9C;AAA4D,MAAA,KAAK,EAAED,IAAnE;AAAyE,MAAA,SAAS,EAAI,IAAtF;AAA4F,MAAA,WAAW,EAAC;AAAxG,MAFA,EAGA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEa,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAEX,aAA9C;AAA6D,MAAA,KAAK,EAAED,KAApE;AAA2E,MAAA,SAAS,EAAI,IAAxF;AAA8F,MAAA,WAAW,EAAC;AAA1G,MAHA,EAIA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEW,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAET,aAA9C;AAA6D,MAAA,KAAK,EAAED,KAApE;AAA2E,MAAA,SAAS,EAAI,IAAxF;AAA+F,MAAA,WAAW,EAAC;AAA3G,MAJA,EAKA,KAAC,MAAD;AAAQ,MAAA,KAAK,EAAC,SAAd;AAAwB,MAAA,OAAO,EAAEM,OAAjC;AAA0C,MAAA,KAAK,EAAEG,MAAM,CAACE;AAAxD,MALA;AAAA,IADJ;AASC;AAAA;AAED,IAAMF,MAAM,GAAGG,UAAU,CAACC,MAAX,CAAkB;AAC7BH,EAAAA,KAAK,EAAC;AAEFI,IAAAA,iBAAiB,EAAC,SAFhB;AAGFC,IAAAA,iBAAiB,EAAC,CAHhB;AAIFC,IAAAA,KAAK,EAAE,GAJL;AAKFC,IAAAA,SAAS,EAAE;AALT,GADuB;AAQ5BN,EAAAA,MAAM,EAAC;AACHM,IAAAA,SAAS,EAAC,EADP;AAEHD,IAAAA,KAAK,EAAE,EAFJ;AAGJE,IAAAA,MAAM,EAAE,EAHJ;AAIJC,IAAAA,eAAe,EAAE,0BAJb;AAMJC,IAAAA,YAAY,EAAE;AANV;AARqB,CAAlB,CAAf","sourcesContent":["import { StyleSheet, Text, View, Button, TextInput } from 'react-native';\r\nimport React, { useState, useEffect } from 'react';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\nexport default function CreateNewUser({ navigation}){\r\n\r\n const [name, onChangeName] = useState('');\r\n const [email, onChangeEmail] = useState('');\r\n const [image, onChangeImage] = useState('');\r\n\r\n async function newUser(){\r\n try{\r\n await addDoc(collection(getFirestore(), 'Users'),{\r\n Name: name,\r\n Email: email,\r\n Image: image,\r\n });\r\n }\r\n catch(error){\r\n \r\n }\r\n };\r\n\r\n function Submitt(){\r\n newUser();\r\nnavigation.navigate({\r\n name: 'UserList',\r\n //params: { post: fach },\r\n merge: true,\r\n });\r\n }\r\nreturn(\r\n <View>\r\n \r\n <TextInput style={styles.input} onChangeText={onChangeName} value={name} multiline = {true} placeholder=\"Name\" />\r\n <TextInput style={styles.input} onChangeText={onChangeEmail} value={email} multiline = {true} placeholder=\"Email\"/>\r\n <TextInput style={styles.input} onChangeText={onChangeImage} value={image} multiline = {true} placeholder=\"Image URL\"/>\r\n <Button title='Submitt' onPress={Submitt} style={styles.button}/>\r\n </View>\r\n)\r\n};\r\n\r\nconst styles = StyleSheet.create({\r\n input:{\r\n //underlineColorAndroid: '#CFCDCD',\r\n borderBottomColor:'#CFCDCD',\r\n borderBottomWidth:1,\r\n width: 220,\r\n marginTop: 20,\r\n },\r\n button:{\r\n marginTop:35,\r\n width: 85,\r\n height: 35,\r\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\r\n //box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);\r\n borderRadius: 12,\r\n }\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/b1a6d8be49ef5103015aeeab344b38c8.json b/.expo/web/cache/development/babel-loader/b1a6d8be49ef5103015aeeab344b38c8.json new file mode 100644 index 0000000000000000000000000000000000000000..5230cfc69decb85b95d85a684b1e19049f57ea61 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/b1a6d8be49ef5103015aeeab344b38c8.json @@ -0,0 +1 @@ +{"ast":null,"code":"function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nimport * as React from 'react';\nimport createElement from \"../createElement\";\nimport css from \"../StyleSheet/css\";\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\";\n\nvar forwardPropsList = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, 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});\n\nvar pickProps = function pickProps(props) {\n return pick(props, forwardPropsList);\n};\n\nvar Text = React.forwardRef(function (props, forwardedRef) {\n var dir = props.dir,\n 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 var hasTextAncestor = React.useContext(TextAncestorContext);\n var hostRef = React.useRef(null);\n var classList = [classes.text, hasTextAncestor === true && classes.textHasAncestor, numberOfLines === 1 && classes.textOneLine, numberOfLines != null && numberOfLines > 1 && classes.textMultiLine];\n var style = [props.style, numberOfLines != null && numberOfLines > 1 && {\n WebkitLineClamp: numberOfLines\n }, selectable === true && styles.selectable, selectable === false && styles.notSelectable, onPress && styles.pressable];\n useElementLayout(hostRef, onLayout);\n useResponderEvents(hostRef, {\n onMoveShouldSetResponder: onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture: onMoveShouldSetResponderCapture,\n onResponderEnd: onResponderEnd,\n onResponderGrant: onResponderGrant,\n onResponderMove: onResponderMove,\n onResponderReject: onResponderReject,\n onResponderRelease: onResponderRelease,\n onResponderStart: onResponderStart,\n onResponderTerminate: onResponderTerminate,\n onResponderTerminationRequest: onResponderTerminationRequest,\n onScrollShouldSetResponder: onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture: onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder: onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture: onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder: onStartShouldSetResponder,\n onStartShouldSetResponderCapture: onStartShouldSetResponderCapture\n });\n var handleClick = React.useCallback(function (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 supportedProps = pickProps(props);\n supportedProps.classList = classList;\n supportedProps.dir = dir;\n\n if (!hasTextAncestor) {\n supportedProps.dir = dir != null ? dir : 'auto';\n }\n\n if (onClick || onPress) {\n supportedProps.onClick = handleClick;\n }\n\n supportedProps.style = style;\n\n if (props.href != null) {\n component = 'a';\n\n if (hrefAttrs != null) {\n var download = hrefAttrs.download,\n rel = hrefAttrs.rel,\n target = hrefAttrs.target;\n\n if (download != null) {\n supportedProps.download = download;\n }\n\n if (rel != null) {\n supportedProps.rel = rel;\n }\n\n if (typeof target === 'string') {\n supportedProps.target = target.charAt(0) !== '_' ? '_' + target : target;\n }\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 return hasTextAncestor ? element : React.createElement(TextAncestorContext.Provider, {\n value: true\n }, element);\n});\nText.displayName = 'Text';\nvar classes = css.create({\n text: {\n border: '0 solid black',\n boxSizing: 'border-box',\n color: 'black',\n display: 'inline',\n font: '14px System',\n margin: 0,\n padding: 0,\n whiteSpace: 'pre-wrap',\n wordWrap: 'break-word'\n },\n textHasAncestor: {\n color: 'inherit',\n font: 'inherit',\n whiteSpace: 'inherit'\n },\n textOneLine: {\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'pre'\n },\n textMultiLine: {\n display: '-webkit-box',\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n WebkitBoxOrient: 'vertical'\n }\n});\nvar styles = StyleSheet.create({\n notSelectable: {\n userSelect: 'none'\n },\n selectable: {\n userSelect: 'text'\n },\n pressable: {\n cursor: 'pointer'\n }\n});\nexport default Text;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/Text/index.js"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","React","createElement","css","forwardedProps","pick","useElementLayout","useMergeRefs","usePlatformMethods","useResponderEvents","StyleSheet","TextAncestorContext","forwardPropsList","defaultProps","accessibilityProps","clickProps","focusProps","keyboardProps","mouseProps","touchProps","styleProps","href","lang","pointerEvents","pickProps","props","Text","forwardRef","forwardedRef","dir","hrefAttrs","numberOfLines","onClick","onLayout","onPress","onMoveShouldSetResponder","onMoveShouldSetResponderCapture","onResponderEnd","onResponderGrant","onResponderMove","onResponderReject","onResponderRelease","onResponderStart","onResponderTerminate","onResponderTerminationRequest","onScrollShouldSetResponder","onScrollShouldSetResponderCapture","onSelectionChangeShouldSetResponder","onSelectionChangeShouldSetResponderCapture","onStartShouldSetResponder","onStartShouldSetResponderCapture","selectable","hasTextAncestor","useContext","hostRef","useRef","classList","classes","text","textHasAncestor","textOneLine","textMultiLine","style","WebkitLineClamp","styles","notSelectable","pressable","handleClick","useCallback","e","stopPropagation","component","supportedProps","download","rel","charAt","platformMethodsRef","setRef","ref","element","Provider","displayName","create","border","boxSizing","color","display","font","margin","padding","whiteSpace","wordWrap","maxWidth","overflow","textOverflow","WebkitBoxOrient","userSelect","cursor"],"mappings":"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","sourcesContent":["function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport css from '../StyleSheet/css';\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';\n\nvar forwardPropsList = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, 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});\n\nvar pickProps = function pickProps(props) {\n return pick(props, forwardPropsList);\n};\n\nvar Text = /*#__PURE__*/React.forwardRef(function (props, forwardedRef) {\n var dir = props.dir,\n 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 var hasTextAncestor = React.useContext(TextAncestorContext);\n var hostRef = React.useRef(null);\n var classList = [classes.text, hasTextAncestor === true && classes.textHasAncestor, numberOfLines === 1 && classes.textOneLine, numberOfLines != null && numberOfLines > 1 && classes.textMultiLine];\n var style = [props.style, numberOfLines != null && numberOfLines > 1 && {\n WebkitLineClamp: numberOfLines\n }, selectable === true && styles.selectable, selectable === false && styles.notSelectable, onPress && styles.pressable];\n useElementLayout(hostRef, onLayout);\n useResponderEvents(hostRef, {\n onMoveShouldSetResponder: onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture: onMoveShouldSetResponderCapture,\n onResponderEnd: onResponderEnd,\n onResponderGrant: onResponderGrant,\n onResponderMove: onResponderMove,\n onResponderReject: onResponderReject,\n onResponderRelease: onResponderRelease,\n onResponderStart: onResponderStart,\n onResponderTerminate: onResponderTerminate,\n onResponderTerminationRequest: onResponderTerminationRequest,\n onScrollShouldSetResponder: onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture: onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder: onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture: onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder: onStartShouldSetResponder,\n onStartShouldSetResponderCapture: onStartShouldSetResponderCapture\n });\n var handleClick = React.useCallback(function (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 supportedProps = pickProps(props);\n supportedProps.classList = classList;\n supportedProps.dir = dir; // 'auto' by default allows browsers to infer writing direction (root elements only)\n\n if (!hasTextAncestor) {\n supportedProps.dir = dir != null ? dir : 'auto';\n }\n\n if (onClick || onPress) {\n supportedProps.onClick = handleClick;\n }\n\n supportedProps.style = style;\n\n if (props.href != null) {\n component = 'a';\n\n if (hrefAttrs != null) {\n var download = hrefAttrs.download,\n rel = hrefAttrs.rel,\n target = hrefAttrs.target;\n\n if (download != null) {\n supportedProps.download = download;\n }\n\n if (rel != null) {\n supportedProps.rel = rel;\n }\n\n if (typeof target === 'string') {\n supportedProps.target = target.charAt(0) !== '_' ? '_' + target : target;\n }\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 return hasTextAncestor ? element : /*#__PURE__*/React.createElement(TextAncestorContext.Provider, {\n value: true\n }, element);\n});\nText.displayName = 'Text';\nvar classes = css.create({\n text: {\n border: '0 solid black',\n boxSizing: 'border-box',\n color: 'black',\n display: 'inline',\n font: '14px System',\n margin: 0,\n padding: 0,\n whiteSpace: 'pre-wrap',\n wordWrap: 'break-word'\n },\n textHasAncestor: {\n color: 'inherit',\n font: 'inherit',\n whiteSpace: 'inherit'\n },\n textOneLine: {\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'pre'\n },\n // See #13\n textMultiLine: {\n display: '-webkit-box',\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n WebkitBoxOrient: 'vertical'\n }\n});\nvar styles = StyleSheet.create({\n notSelectable: {\n userSelect: 'none'\n },\n selectable: {\n userSelect: 'text'\n },\n pressable: {\n cursor: 'pointer'\n }\n});\nexport default Text;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/b1add24c280eb04cb3b240cd0a94c065.json b/.expo/web/cache/development/babel-loader/b1add24c280eb04cb3b240cd0a94c065.json new file mode 100644 index 0000000000000000000000000000000000000000..2348d5d7dfdc54d30fbfe52251f78adf5582d692 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/b1add24c280eb04cb3b240cd0a94c065.json @@ -0,0 +1 @@ +{"ast":null,"code":"export { default as Background } from \"./Background\";\nexport { default as getDefaultHeaderHeight } from \"./Header/getDefaultHeaderHeight\";\nexport { default as getHeaderTitle } from \"./Header/getHeaderTitle\";\nexport { default as Header } from \"./Header/Header\";\nexport { default as HeaderBackButton } from \"./Header/HeaderBackButton\";\nexport { default as HeaderBackContext } from \"./Header/HeaderBackContext\";\nexport { default as HeaderBackground } from \"./Header/HeaderBackground\";\nexport { default as HeaderHeightContext } from \"./Header/HeaderHeightContext\";\nexport { default as HeaderShownContext } from \"./Header/HeaderShownContext\";\nexport { default as HeaderTitle } from \"./Header/HeaderTitle\";\nexport { default as useHeaderHeight } from \"./Header/useHeaderHeight\";\nexport { default as MissingIcon } from \"./MissingIcon\";\nexport { default as PlatformPressable } from \"./PlatformPressable\";\nexport { default as ResourceSavingView } from \"./ResourceSavingView\";\nexport { default as SafeAreaProviderCompat } from \"./SafeAreaProviderCompat\";\nexport { default as Screen } from \"./Screen\";\nexport var Assets = [require(\"./assets/back-icon.png\"), require(\"./assets/back-icon-mask.png\")];\nexport * from \"./types\";","map":{"version":3,"sources":["index.tsx"],"names":["default","Assets","require"],"mappings":"AAAA,SAASA,OAAO,IAAhB,UAAA;AACA,SAASA,OAAO,IAAhB,sBAAA;AACA,SAASA,OAAO,IAAhB,cAAA;AACA,SAASA,OAAO,IAAhB,MAAA;AACA,SAASA,OAAO,IAAhB,gBAAA;AACA,SAASA,OAAO,IAAhB,iBAAA;AACA,SAASA,OAAO,IAAhB,gBAAA;AACA,SAASA,OAAO,IAAhB,mBAAA;AACA,SAASA,OAAO,IAAhB,kBAAA;AACA,SAASA,OAAO,IAAhB,WAAA;AACA,SAASA,OAAO,IAAhB,eAAA;AACA,SAASA,OAAO,IAAhB,WAAA;AACA,SAASA,OAAO,IAAhB,iBAAA;AACA,SAASA,OAAO,IAAhB,kBAAA;AACA,SAASA,OAAO,IAAhB,sBAAA;AACA,SAASA,OAAO,IAAhB,MAAA;AAEA,OAAO,IAAMC,MAAM,GAAG,CAEpBC,OAFoB,0BAAA,EAIpBA,OAJK,+BAAe,CAAf;AAOP","sourcesContent":["export { default as Background } from './Background';\nexport { default as getDefaultHeaderHeight } from './Header/getDefaultHeaderHeight';\nexport { default as getHeaderTitle } from './Header/getHeaderTitle';\nexport { default as Header } from './Header/Header';\nexport { default as HeaderBackButton } from './Header/HeaderBackButton';\nexport { default as HeaderBackContext } from './Header/HeaderBackContext';\nexport { default as HeaderBackground } from './Header/HeaderBackground';\nexport { default as HeaderHeightContext } from './Header/HeaderHeightContext';\nexport { default as HeaderShownContext } from './Header/HeaderShownContext';\nexport { default as HeaderTitle } from './Header/HeaderTitle';\nexport { default as useHeaderHeight } from './Header/useHeaderHeight';\nexport { default as MissingIcon } from './MissingIcon';\nexport { default as PlatformPressable } from './PlatformPressable';\nexport { default as ResourceSavingView } from './ResourceSavingView';\nexport { default as SafeAreaProviderCompat } from './SafeAreaProviderCompat';\nexport { default as Screen } from './Screen';\n\nexport const Assets = [\n // eslint-disable-next-line import/no-commonjs\n require('./assets/back-icon.png'),\n // eslint-disable-next-line import/no-commonjs\n require('./assets/back-icon-mask.png'),\n];\n\nexport * from './types';\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/b2a94a7632010912ae98edb9f96a98ba.json b/.expo/web/cache/development/babel-loader/b2a94a7632010912ae98edb9f96a98ba.json new file mode 100644 index 0000000000000000000000000000000000000000..fd2cd443dcb0f68f5b05f15e5bf75499113419a5 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/b2a94a7632010912ae98edb9f96a98ba.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport invariant from 'invariant';\nimport NativeEventEmitter from \"react-native-web/dist/exports/NativeEventEmitter\";\nimport Platform from \"react-native-web/dist/exports/Platform\";\nvar nativeEmitterSubscriptionKey = '@@nativeEmitterSubscription@@';\nexport var EventEmitter = function () {\n function EventEmitter(nativeModule) {\n _classCallCheck(this, EventEmitter);\n\n this._listenerCount = 0;\n this._nativeModule = nativeModule;\n this._eventEmitter = new NativeEventEmitter(nativeModule);\n }\n\n _createClass(EventEmitter, [{\n key: \"addListener\",\n value: function addListener(eventName, listener) {\n var _this = this,\n _subscription;\n\n if (!this._listenerCount && Platform.OS !== 'ios' && this._nativeModule.startObserving) {\n this._nativeModule.startObserving();\n }\n\n this._listenerCount++;\n\n var nativeEmitterSubscription = this._eventEmitter.addListener(eventName, listener);\n\n var subscription = (_subscription = {}, _defineProperty(_subscription, nativeEmitterSubscriptionKey, nativeEmitterSubscription), _defineProperty(_subscription, \"remove\", function remove() {\n _this.removeSubscription(subscription);\n }), _subscription);\n return subscription;\n }\n }, {\n key: \"removeAllListeners\",\n value: function removeAllListeners(eventName) {\n var removedListenerCount = this._eventEmitter.listenerCount ? this._eventEmitter.listenerCount(eventName) : this._eventEmitter.listeners(eventName).length;\n\n this._eventEmitter.removeAllListeners(eventName);\n\n this._listenerCount -= removedListenerCount;\n invariant(this._listenerCount >= 0, \"EventEmitter must have a non-negative number of listeners\");\n\n if (!this._listenerCount && Platform.OS !== 'ios' && this._nativeModule.stopObserving) {\n this._nativeModule.stopObserving();\n }\n }\n }, {\n key: \"removeSubscription\",\n value: function removeSubscription(subscription) {\n var nativeEmitterSubscription = subscription[nativeEmitterSubscriptionKey];\n\n if (!nativeEmitterSubscription) {\n return;\n }\n\n if ('remove' in nativeEmitterSubscription) {\n nativeEmitterSubscription.remove();\n } else if ('removeSubscription' in this._eventEmitter) {\n this._eventEmitter.removeSubscription(nativeEmitterSubscription);\n }\n\n this._listenerCount--;\n delete subscription[nativeEmitterSubscriptionKey];\n\n subscription.remove = function () {};\n\n if (!this._listenerCount && Platform.OS !== 'ios' && this._nativeModule.stopObserving) {\n this._nativeModule.stopObserving();\n }\n }\n }, {\n key: \"emit\",\n value: function emit(eventName) {\n var _this$_eventEmitter;\n\n for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n params[_key - 1] = arguments[_key];\n }\n\n (_this$_eventEmitter = this._eventEmitter).emit.apply(_this$_eventEmitter, [eventName].concat(params));\n }\n }]);\n\n return EventEmitter;\n}();","map":{"version":3,"sources":["../src/EventEmitter.ts"],"names":[],"mappings":";;;AAAA,OAAO,SAAP,MAAsB,WAAtB;;;AAGA,IAAM,4BAA4B,GAAG,+BAArC;AAiBA,WAAa,YAAb;AAKE,wBAAY,YAAZ,EAAsC;AAAA;;AAAA,SAJtC,cAIsC,GAJrB,CAIqB;AACpC,SAAK,aAAL,GAAqB,YAArB;AACA,SAAK,aAAL,GAAqB,IAAI,kBAAJ,CAAuB,YAAvB,CAArB;AACD;;AARH;AAAA;AAAA,WAUE,qBAAe,SAAf,EAAkC,QAAlC,EAA8D;AAAA;AAAA;;AAC5D,UAAI,CAAC,KAAK,cAAN,IAAwB,QAAQ,CAAC,EAAT,KAAgB,KAAxC,IAAiD,KAAK,aAAL,CAAmB,cAAxE,EAAwF;AACtF,aAAK,aAAL,CAAmB,cAAnB;AACD;;AAED,WAAK,cAAL;;AACA,UAAM,yBAAyB,GAAG,KAAK,aAAL,CAAmB,WAAnB,CAA+B,SAA/B,EAA0C,QAA1C,CAAlC;;AACA,UAAM,YAAY,uDACf,4BADe,EACgB,yBADhB,4CAER,kBAAK;AACX,QAAA,KAAI,CAAC,kBAAL,CAAwB,YAAxB;AACD,OAJe,iBAAlB;AAMA,aAAO,YAAP;AACD;AAxBH;AAAA;AAAA,WA0BE,4BAAmB,SAAnB,EAAoC;AAElC,UAAM,oBAAoB,GAAG,KAAK,aAAL,CAAmB,aAAnB,GAEzB,KAAK,aAAL,CAAmB,aAAnB,CAAiC,SAAjC,CAFyB,GAIzB,KAAK,aAAL,CAAmB,SAAnB,CAA6B,SAA7B,EAAwC,MAJ5C;;AAKA,WAAK,aAAL,CAAmB,kBAAnB,CAAsC,SAAtC;;AACA,WAAK,cAAL,IAAuB,oBAAvB;AACA,MAAA,SAAS,CACP,KAAK,cAAL,IAAuB,CADhB,8DAAT;;AAKA,UAAI,CAAC,KAAK,cAAN,IAAwB,QAAQ,CAAC,EAAT,KAAgB,KAAxC,IAAiD,KAAK,aAAL,CAAmB,aAAxE,EAAuF;AACrF,aAAK,aAAL,CAAmB,aAAnB;AACD;AACF;AA3CH;AAAA;AAAA,WA6CE,4BAAmB,YAAnB,EAA6C;AAC3C,UAAM,yBAAyB,GAAG,YAAY,CAAC,4BAAD,CAA9C;;AACA,UAAI,CAAC,yBAAL,EAAgC;AAC9B;AACD;;AAED,UAAI,YAAY,yBAAhB,EAA2C;AAEzC,QAAA,yBAAyB,CAAC,MAA1B;AACD,OAHD,MAGO,IAAI,wBAAwB,KAAK,aAAjC,EAAgD;AACrD,aAAK,aAAL,CAAmB,kBAAnB,CAAsC,yBAAtC;AACD;;AACD,WAAK,cAAL;AAIA,aAAO,YAAY,CAAC,4BAAD,CAAnB;;AAGA,MAAA,YAAY,CAAC,MAAb,GAAsB,YAAK,CAAG,CAA9B;;AAEA,UAAI,CAAC,KAAK,cAAN,IAAwB,QAAQ,CAAC,EAAT,KAAgB,KAAxC,IAAiD,KAAK,aAAL,CAAmB,aAAxE,EAAuF;AACrF,aAAK,aAAL,CAAmB,aAAnB;AACD;AACF;AArEH;AAAA;AAAA,WAuEE,cAAK,SAAL,EAAwC;AAAA;;AAAA,wCAAb,MAAa;AAAb,QAAA,MAAa;AAAA;;AACtC,kCAAK,aAAL,EAAmB,IAAnB,6BAAwB,SAAxB,SAAsC,MAAtC;AACD;AAzEH;;AAAA;AAAA","sourcesContent":["import invariant from 'invariant';\nimport { NativeEventEmitter, Platform } from 'react-native';\n\nconst nativeEmitterSubscriptionKey = '@@nativeEmitterSubscription@@';\n\ntype NativeModule = {\n startObserving?: () => void;\n stopObserving?: () => void;\n addListener: (eventName: string) => void;\n removeListeners: (count: number) => void;\n};\n\n// @needsAudit\nexport type Subscription = {\n /**\n * A method to unsubscribe the listener.\n */\n remove: () => void;\n};\n\nexport class EventEmitter {\n _listenerCount = 0;\n _nativeModule: NativeModule;\n _eventEmitter: NativeEventEmitter;\n\n constructor(nativeModule: NativeModule) {\n this._nativeModule = nativeModule;\n this._eventEmitter = new NativeEventEmitter(nativeModule as any);\n }\n\n addListener<T>(eventName: string, listener: (event: T) => void): Subscription {\n if (!this._listenerCount && Platform.OS !== 'ios' && this._nativeModule.startObserving) {\n this._nativeModule.startObserving();\n }\n\n this._listenerCount++;\n const nativeEmitterSubscription = this._eventEmitter.addListener(eventName, listener);\n const subscription = {\n [nativeEmitterSubscriptionKey]: nativeEmitterSubscription,\n remove: () => {\n this.removeSubscription(subscription);\n },\n };\n return subscription;\n }\n\n removeAllListeners(eventName: string): void {\n // @ts-ignore: the EventEmitter interface has been changed in react-native@0.64.0\n const removedListenerCount = this._eventEmitter.listenerCount\n ? // @ts-ignore: this is available since 0.64\n this._eventEmitter.listenerCount(eventName)\n : // @ts-ignore: this is available in older versions\n this._eventEmitter.listeners(eventName).length;\n this._eventEmitter.removeAllListeners(eventName);\n this._listenerCount -= removedListenerCount;\n invariant(\n this._listenerCount >= 0,\n `EventEmitter must have a non-negative number of listeners`\n );\n\n if (!this._listenerCount && Platform.OS !== 'ios' && this._nativeModule.stopObserving) {\n this._nativeModule.stopObserving();\n }\n }\n\n removeSubscription(subscription: Subscription): void {\n const nativeEmitterSubscription = subscription[nativeEmitterSubscriptionKey];\n if (!nativeEmitterSubscription) {\n return;\n }\n\n if ('remove' in nativeEmitterSubscription) {\n // `react-native-web@0.17.1` doesn't support `removeSubscription`\n nativeEmitterSubscription.remove();\n } else if ('removeSubscription' in this._eventEmitter) {\n this._eventEmitter.removeSubscription(nativeEmitterSubscription!);\n }\n this._listenerCount--;\n\n // Ensure that the emitter's internal state remains correct even if `removeSubscription` is\n // called again with the same subscription\n delete subscription[nativeEmitterSubscriptionKey];\n\n // Release closed-over references to the emitter\n subscription.remove = () => {};\n\n if (!this._listenerCount && Platform.OS !== 'ios' && this._nativeModule.stopObserving) {\n this._nativeModule.stopObserving();\n }\n }\n\n emit(eventName: string, ...params: any[]): void {\n this._eventEmitter.emit(eventName, ...params);\n }\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/b326c33d2608b92217dd3cf09e8698d2.json b/.expo/web/cache/development/babel-loader/b326c33d2608b92217dd3cf09e8698d2.json new file mode 100644 index 0000000000000000000000000000000000000000..67554779dc3ec2c5cfe7ef314c27ac560f61f04c --- /dev/null +++ b/.expo/web/cache/development/babel-loader/b326c33d2608b92217dd3cf09e8698d2.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nimport StyleSheet from \"../StyleSheet\";\nimport View from \"../View\";\nvar RootTagContext = React.createContext(null);\nexport default function AppContainer(props) {\n var children = props.children,\n WrapperComponent = props.WrapperComponent;\n var innerView = React.createElement(View, {\n children: children,\n key: 1,\n pointerEvents: \"box-none\",\n style: styles.appContainer\n });\n\n if (WrapperComponent) {\n innerView = React.createElement(WrapperComponent, null, innerView);\n }\n\n return React.createElement(RootTagContext.Provider, {\n value: props.rootTag\n }, React.createElement(View, {\n pointerEvents: \"box-none\",\n style: styles.appContainer\n }, innerView));\n}\nvar styles = StyleSheet.create({\n appContainer: {\n flex: 1\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/AppRegistry/AppContainer.js"],"names":["React","StyleSheet","View","RootTagContext","createContext","AppContainer","props","children","WrapperComponent","innerView","createElement","key","pointerEvents","style","styles","appContainer","Provider","value","rootTag","create","flex"],"mappings":"AASA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,UAAP;AACA,OAAOC,IAAP;AACA,IAAIC,cAAc,GAAgBH,KAAK,CAACI,aAAN,CAAoB,IAApB,CAAlC;AACA,eAAe,SAASC,YAAT,CAAsBC,KAAtB,EAA6B;AAC1C,MAAIC,QAAQ,GAAGD,KAAK,CAACC,QAArB;AAAA,MACIC,gBAAgB,GAAGF,KAAK,CAACE,gBAD7B;AAEA,MAAIC,SAAS,GAAgBT,KAAK,CAACU,aAAN,CAAoBR,IAApB,EAA0B;AACrDK,IAAAA,QAAQ,EAAEA,QAD2C;AAErDI,IAAAA,GAAG,EAAE,CAFgD;AAGrDC,IAAAA,aAAa,EAAE,UAHsC;AAIrDC,IAAAA,KAAK,EAAEC,MAAM,CAACC;AAJuC,GAA1B,CAA7B;;AAOA,MAAIP,gBAAJ,EAAsB;AACpBC,IAAAA,SAAS,GAAgBT,KAAK,CAACU,aAAN,CAAoBF,gBAApB,EAAsC,IAAtC,EAA4CC,SAA5C,CAAzB;AACD;;AAED,SAAoBT,KAAK,CAACU,aAAN,CAAoBP,cAAc,CAACa,QAAnC,EAA6C;AAC/DC,IAAAA,KAAK,EAAEX,KAAK,CAACY;AADkD,GAA7C,EAEJlB,KAAK,CAACU,aAAN,CAAoBR,IAApB,EAA0B;AACxCU,IAAAA,aAAa,EAAE,UADyB;AAExCC,IAAAA,KAAK,EAAEC,MAAM,CAACC;AAF0B,GAA1B,EAGbN,SAHa,CAFI,CAApB;AAMD;AACD,IAAIK,MAAM,GAAGb,UAAU,CAACkB,MAAX,CAAkB;AAC7BJ,EAAAA,YAAY,EAAE;AACZK,IAAAA,IAAI,EAAE;AADM;AADe,CAAlB,CAAb","sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar RootTagContext = /*#__PURE__*/React.createContext(null);\nexport default function AppContainer(props) {\n var children = props.children,\n WrapperComponent = props.WrapperComponent;\n var innerView = /*#__PURE__*/React.createElement(View, {\n children: children,\n key: 1,\n pointerEvents: \"box-none\",\n style: styles.appContainer\n });\n\n if (WrapperComponent) {\n innerView = /*#__PURE__*/React.createElement(WrapperComponent, null, innerView);\n }\n\n return /*#__PURE__*/React.createElement(RootTagContext.Provider, {\n value: props.rootTag\n }, /*#__PURE__*/React.createElement(View, {\n pointerEvents: \"box-none\",\n style: styles.appContainer\n }, innerView));\n}\nvar styles = StyleSheet.create({\n appContainer: {\n flex: 1\n }\n});"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/b354e9c442aaaac104270da950bd65c3.json b/.expo/web/cache/development/babel-loader/b354e9c442aaaac104270da950bd65c3.json new file mode 100644 index 0000000000000000000000000000000000000000..6a3dd726b1cd317479a263bea792aa4d6401824c --- /dev/null +++ b/.expo/web/cache/development/babel-loader/b354e9c442aaaac104270da950bd65c3.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\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\nfunction TouchableOpacity(props, forwardedRef) {\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, [\"activeOpacity\", \"delayPressIn\", \"delayPressOut\", \"delayLongPress\", \"disabled\", \"focusable\", \"onLongPress\", \"onPress\", \"onPressIn\", \"onPressOut\", \"rejectResponderTermination\", \"style\"]);\n\n var hostRef = useRef(null);\n var setRef = useMergeRefs(forwardedRef, hostRef);\n\n var _useState = useState('0s'),\n duration = _useState[0],\n setDuration = _useState[1];\n\n var _useState2 = useState(null),\n opacityOverride = _useState2[0],\n setOpacityOverride = _useState2[1];\n\n var setOpacityTo = useCallback(function (value, duration) {\n setOpacityOverride(value);\n setDuration(duration ? duration / 1000 + \"s\" : '0s');\n }, [setOpacityOverride, setDuration]);\n var setOpacityActive = useCallback(function (duration) {\n setOpacityTo(activeOpacity !== null && activeOpacity !== void 0 ? activeOpacity : 0.2, duration);\n }, [activeOpacity, setOpacityTo]);\n var setOpacityInactive = useCallback(function (duration) {\n setOpacityTo(null, duration);\n }, [setOpacityTo]);\n var pressConfig = useMemo(function () {\n return {\n cancelable: !rejectResponderTermination,\n disabled: disabled,\n delayLongPress: delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n onLongPress: onLongPress,\n onPress: onPress,\n onPressStart: function onPressStart(event) {\n var isGrant = event.dispatchConfig != null ? event.dispatchConfig.registrationName === 'onResponderGrant' : event.type === 'keydown';\n setOpacityActive(isGrant ? 0 : 150);\n\n if (onPressIn != null) {\n onPressIn(event);\n }\n },\n onPressEnd: function onPressEnd(event) {\n setOpacityInactive(250);\n\n if (onPressOut != null) {\n onPressOut(event);\n }\n }\n };\n }, [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressOut, rejectResponderTermination, setOpacityActive, setOpacityInactive]);\n var pressEventHandlers = usePressEvents(hostRef, pressConfig);\n return React.createElement(View, _extends({}, rest, pressEventHandlers, {\n accessibilityDisabled: disabled,\n focusable: !disabled && focusable !== false,\n ref: setRef,\n style: [styles.root, !disabled && styles.actionable, style, opacityOverride != null && {\n opacity: opacityOverride\n }, {\n transitionDuration: duration\n }]\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 = React.memo(React.forwardRef(TouchableOpacity));\nMemoedTouchableOpacity.displayName = 'TouchableOpacity';\nexport default MemoedTouchableOpacity;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/TouchableOpacity/index.js"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf","React","useCallback","useMemo","useState","useRef","useMergeRefs","usePressEvents","StyleSheet","View","TouchableOpacity","props","forwardedRef","activeOpacity","delayPressIn","delayPressOut","delayLongPress","disabled","focusable","onLongPress","onPress","onPressIn","onPressOut","rejectResponderTermination","style","rest","hostRef","setRef","_useState","duration","setDuration","_useState2","opacityOverride","setOpacityOverride","setOpacityTo","value","setOpacityActive","setOpacityInactive","pressConfig","cancelable","delayPressStart","delayPressEnd","onPressStart","event","isGrant","dispatchConfig","registrationName","type","onPressEnd","pressEventHandlers","createElement","accessibilityDisabled","ref","styles","root","actionable","opacity","transitionDuration","create","transitionProperty","userSelect","cursor","touchAction","MemoedTouchableOpacity","memo","forwardRef","displayName"],"mappings":"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","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\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\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 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, [\"activeOpacity\", \"delayPressIn\", \"delayPressOut\", \"delayLongPress\", \"disabled\", \"focusable\", \"onLongPress\", \"onPress\", \"onPressIn\", \"onPressOut\", \"rejectResponderTermination\", \"style\"]);\n\n var hostRef = useRef(null);\n var setRef = useMergeRefs(forwardedRef, hostRef);\n\n var _useState = useState('0s'),\n duration = _useState[0],\n setDuration = _useState[1];\n\n var _useState2 = useState(null),\n opacityOverride = _useState2[0],\n setOpacityOverride = _useState2[1];\n\n var setOpacityTo = useCallback(function (value, duration) {\n setOpacityOverride(value);\n setDuration(duration ? duration / 1000 + \"s\" : '0s');\n }, [setOpacityOverride, setDuration]);\n var setOpacityActive = useCallback(function (duration) {\n setOpacityTo(activeOpacity !== null && activeOpacity !== void 0 ? activeOpacity : 0.2, duration);\n }, [activeOpacity, setOpacityTo]);\n var setOpacityInactive = useCallback(function (duration) {\n setOpacityTo(null, duration);\n }, [setOpacityTo]);\n var pressConfig = useMemo(function () {\n return {\n cancelable: !rejectResponderTermination,\n disabled: disabled,\n delayLongPress: delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n onLongPress: onLongPress,\n onPress: onPress,\n onPressStart: function onPressStart(event) {\n var isGrant = event.dispatchConfig != null ? event.dispatchConfig.registrationName === 'onResponderGrant' : event.type === 'keydown';\n setOpacityActive(isGrant ? 0 : 150);\n\n if (onPressIn != null) {\n onPressIn(event);\n }\n },\n onPressEnd: function onPressEnd(event) {\n setOpacityInactive(250);\n\n if (onPressOut != null) {\n onPressOut(event);\n }\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 ref: setRef,\n style: [styles.root, !disabled && styles.actionable, style, opacityOverride != null && {\n opacity: opacityOverride\n }, {\n transitionDuration: duration\n }]\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;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/b3f0c8391e03bb4b8732f615dec86204.json b/.expo/web/cache/development/babel-loader/b3f0c8391e03bb4b8732f615dec86204.json new file mode 100644 index 0000000000000000000000000000000000000000..11d8f63cce213f6f7acc806d4ac7de03587fa850 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/b3f0c8391e03bb4b8732f615dec86204.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar _EventSubscription = function () {\n function _EventSubscription(subscriber) {\n this.subscriber = subscriber;\n }\n\n var _proto = _EventSubscription.prototype;\n\n _proto.remove = function remove() {\n this.subscriber.removeSubscription(this);\n };\n\n return _EventSubscription;\n}();\n\nexport default _EventSubscription;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/emitter/_EventSubscription.js"],"names":["_EventSubscription","subscriber","_proto","prototype","remove","removeSubscription"],"mappings":"AASA;;AAMA,IAAIA,kBAAkB,GAAgB,YAAY;AAKhD,WAASA,kBAAT,CAA4BC,UAA5B,EAAwC;AACtC,SAAKA,UAAL,GAAkBA,UAAlB;AACD;;AAMD,MAAIC,MAAM,GAAGF,kBAAkB,CAACG,SAAhC;;AAEAD,EAAAA,MAAM,CAACE,MAAP,GAAgB,SAASA,MAAT,GAAkB;AAChC,SAAKH,UAAL,CAAgBI,kBAAhB,CAAmC,IAAnC;AACD,GAFD;;AAIA,SAAOL,kBAAP;AACD,CApBqC,EAAtC;;AAsBA,eAAeA,kBAAf","sourcesContent":["/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n'use strict';\n\n/**\n * EventSubscription represents a subscription to a particular event. It can\n * remove its own subscription.\n */\nvar _EventSubscription = /*#__PURE__*/function () {\n /**\n * @param {EventSubscriptionVendor} subscriber the subscriber that controls\n * this subscription.\n */\n function _EventSubscription(subscriber) {\n this.subscriber = subscriber;\n }\n /**\n * Removes this subscription from the subscriber that controls it.\n */\n\n\n var _proto = _EventSubscription.prototype;\n\n _proto.remove = function remove() {\n this.subscriber.removeSubscription(this);\n };\n\n return _EventSubscription;\n}();\n\nexport default _EventSubscription;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/b47f94b9da3a2bcc726714a042553e7a.json b/.expo/web/cache/development/babel-loader/b47f94b9da3a2bcc726714a042553e7a.json new file mode 100644 index 0000000000000000000000000000000000000000..d20eef5639c9ae538a56b308e6429a142244eee7 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/b47f94b9da3a2bcc726714a042553e7a.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * 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\n return function forwardRef(node) {\n args.forEach(function (ref) {\n if (ref == null) {\n return;\n }\n\n if (typeof ref === 'function') {\n ref(node);\n return;\n }\n\n if (typeof ref === 'object') {\n ref.current = node;\n return;\n }\n\n console.error(\"mergeRefs cannot handle Refs of type boolean, number or string, received ref \" + String(ref));\n });\n };\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/mergeRefs/index.js"],"names":["React","mergeRefs","_len","arguments","length","args","Array","_key","forwardRef","node","forEach","ref","current","console","error","String"],"mappings":"AAQA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,eAAe,SAASC,SAAT,GAAqB;AAClC,OAAK,IAAIC,IAAI,GAAGC,SAAS,CAACC,MAArB,EAA6BC,IAAI,GAAG,IAAIC,KAAJ,CAAUJ,IAAV,CAApC,EAAqDK,IAAI,GAAG,CAAjE,EAAoEA,IAAI,GAAGL,IAA3E,EAAiFK,IAAI,EAArF,EAAyF;AACvFF,IAAAA,IAAI,CAACE,IAAD,CAAJ,GAAaJ,SAAS,CAACI,IAAD,CAAtB;AACD;;AAED,SAAO,SAASC,UAAT,CAAoBC,IAApB,EAA0B;AAC/BJ,IAAAA,IAAI,CAACK,OAAL,CAAa,UAAUC,GAAV,EAAe;AAC1B,UAAIA,GAAG,IAAI,IAAX,EAAiB;AACf;AACD;;AAED,UAAI,OAAOA,GAAP,KAAe,UAAnB,EAA+B;AAC7BA,QAAAA,GAAG,CAACF,IAAD,CAAH;AACA;AACD;;AAED,UAAI,OAAOE,GAAP,KAAe,QAAnB,EAA6B;AAC3BA,QAAAA,GAAG,CAACC,OAAJ,GAAcH,IAAd;AACA;AACD;;AAEDI,MAAAA,OAAO,CAACC,KAAR,CAAc,kFAAkFC,MAAM,CAACJ,GAAD,CAAtG;AACD,KAhBD;AAiBD,GAlBD;AAmBD","sourcesContent":["/**\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 */\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\n return function forwardRef(node) {\n args.forEach(function (ref) {\n if (ref == null) {\n return;\n }\n\n if (typeof ref === 'function') {\n ref(node);\n return;\n }\n\n if (typeof ref === 'object') {\n ref.current = node;\n return;\n }\n\n console.error(\"mergeRefs cannot handle Refs of type boolean, number or string, received ref \" + String(ref));\n });\n };\n}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/b4d10cb34a5fd0cbcebc25cdc5558fb3.json b/.expo/web/cache/development/babel-loader/b4d10cb34a5fd0cbcebc25cdc5558fb3.json new file mode 100644 index 0000000000000000000000000000000000000000..922505a59b432d96c82af099431c23eada87abe9 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/b4d10cb34a5fd0cbcebc25cdc5558fb3.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nimport Platform from \"../../../exports/Platform\";\nimport * as React from 'react';\nimport ScrollView from \"../../../exports/ScrollView\";\nimport VirtualizedSectionList from \"../VirtualizedSectionList\";\n\nvar defaultProps = _objectSpread(_objectSpread({}, VirtualizedSectionList.defaultProps), {}, {\n stickySectionHeadersEnabled: Platform.OS === 'ios'\n});\n\nvar SectionList = function (_React$PureComponent) {\n _inheritsLoose(SectionList, _React$PureComponent);\n\n function SectionList() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;\n\n _this._captureRef = function (ref) {\n _this._wrapperListRef = ref;\n };\n\n return _this;\n }\n\n var _proto = SectionList.prototype;\n\n _proto.scrollToLocation = function scrollToLocation(params) {\n if (this._wrapperListRef != null) {\n this._wrapperListRef.scrollToLocation(params);\n }\n };\n\n _proto.recordInteraction = function recordInteraction() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n\n listRef && listRef.recordInteraction();\n };\n\n _proto.flashScrollIndicators = function flashScrollIndicators() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n\n listRef && listRef.flashScrollIndicators();\n };\n\n _proto.getScrollResponder = function getScrollResponder() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n\n if (listRef) {\n return listRef.getScrollResponder();\n }\n };\n\n _proto.getScrollableNode = function getScrollableNode() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n\n if (listRef) {\n return listRef.getScrollableNode();\n }\n };\n\n _proto.setNativeProps = function setNativeProps(props) {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n\n if (listRef) {\n listRef.setNativeProps(props);\n }\n };\n\n _proto.render = function render() {\n return React.createElement(VirtualizedSectionList, _extends({}, this.props, {\n ref: this._captureRef,\n getItemCount: function getItemCount(items) {\n return items.length;\n },\n getItem: function getItem(items, index) {\n return items[index];\n }\n }));\n };\n\n return SectionList;\n}(React.PureComponent);\n\nSectionList.defaultProps = defaultProps;\nexport default SectionList;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/SectionList/index.js"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_inheritsLoose","subClass","superClass","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","Platform","React","ScrollView","VirtualizedSectionList","defaultProps","stickySectionHeadersEnabled","OS","SectionList","_React$PureComponent","_this","_len","args","Array","_key","concat","_captureRef","ref","_wrapperListRef","_proto","scrollToLocation","params","recordInteraction","listRef","getListRef","flashScrollIndicators","getScrollResponder","getScrollableNode","setNativeProps","props","render","createElement","getItemCount","items","getItem","index","PureComponent"],"mappings":"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","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport Platform from '../../../exports/Platform';\nimport * as React from 'react';\nimport ScrollView from '../../../exports/ScrollView';\nimport VirtualizedSectionList from '../VirtualizedSectionList';\n\nvar defaultProps = _objectSpread(_objectSpread({}, VirtualizedSectionList.defaultProps), {}, {\n stickySectionHeadersEnabled: Platform.OS === 'ios'\n});\n\n/**\n * A performant interface for rendering sectioned lists, supporting the most handy features:\n *\n * - Fully cross-platform.\n * - Configurable viewability callbacks.\n * - List header support.\n * - List footer support.\n * - Item separator support.\n * - Section header support.\n * - Section separator support.\n * - Heterogeneous data and item rendering support.\n * - Pull to Refresh.\n * - Scroll loading.\n *\n * If you don't need section support and want a simpler interface, use\n * [`<FlatList>`](/react-native/docs/flatlist.html).\n *\n * Simple Examples:\n *\n * <SectionList\n * renderItem={({item}) => <ListItem title={item} />}\n * renderSectionHeader={({section}) => <Header title={section.title} />}\n * sections={[ // homogeneous rendering between sections\n * {data: [...], title: ...},\n * {data: [...], title: ...},\n * {data: [...], title: ...},\n * ]}\n * />\n *\n * <SectionList\n * sections={[ // heterogeneous rendering between sections\n * {data: [...], renderItem: ...},\n * {data: [...], renderItem: ...},\n * {data: [...], renderItem: ...},\n * ]}\n * />\n *\n * This is a convenience wrapper around [`<VirtualizedList>`](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 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 */\nvar SectionList = /*#__PURE__*/function (_React$PureComponent) {\n _inheritsLoose(SectionList, _React$PureComponent);\n\n function SectionList() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;\n\n _this._captureRef = function (ref) {\n // $FlowFixMe\n _this._wrapperListRef = ref;\n };\n\n return _this;\n }\n\n var _proto = SectionList.prototype;\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 _proto.scrollToLocation = function scrollToLocation(params) {\n if (this._wrapperListRef != null) {\n this._wrapperListRef.scrollToLocation(params);\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 ;\n\n _proto.recordInteraction = function recordInteraction() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n\n listRef && listRef.recordInteraction();\n }\n /**\n * Displays the scroll indicators momentarily.\n *\n * @platform ios\n */\n ;\n\n _proto.flashScrollIndicators = function flashScrollIndicators() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n\n listRef && listRef.flashScrollIndicators();\n }\n /**\n * Provides a handle to the underlying scroll responder.\n */\n ;\n\n _proto.getScrollResponder = function getScrollResponder() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n\n if (listRef) {\n return listRef.getScrollResponder();\n }\n };\n\n _proto.getScrollableNode = function getScrollableNode() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n\n if (listRef) {\n return listRef.getScrollableNode();\n }\n };\n\n _proto.setNativeProps = function setNativeProps(props) {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n\n if (listRef) {\n listRef.setNativeProps(props);\n }\n };\n\n _proto.render = function render() {\n return (\n /*#__PURE__*/\n\n /* $FlowFixMe(>=0.66.0 site=react_native_fb) This comment suppresses an\n * error found when Flow v0.66 was deployed. To see the error delete this\n * comment and run Flow. */\n React.createElement(VirtualizedSectionList, _extends({}, this.props, {\n ref: this._captureRef,\n getItemCount: function getItemCount(items) {\n return items.length;\n },\n getItem: function getItem(items, index) {\n return items[index];\n }\n }))\n );\n };\n\n return SectionList;\n}(React.PureComponent);\n\nSectionList.defaultProps = defaultProps;\nexport default SectionList;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/b515b1e8da0e308966c2fb9161354426.json b/.expo/web/cache/development/babel-loader/b515b1e8da0e308966c2fb9161354426.json new file mode 100644 index 0000000000000000000000000000000000000000..200d5b3f0655785171849f4e7357465b23a46b40 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/b515b1e8da0e308966c2fb9161354426.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _createClass from \"@babel/runtime/helpers/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _wrapNativeSuper from \"@babel/runtime/helpers/wrapNativeSuper\";\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nexport var CodedError = function (_Error) {\n _inherits(CodedError, _Error);\n\n var _super = _createSuper(CodedError);\n\n function CodedError(code, message) {\n var _this;\n\n _classCallCheck(this, CodedError);\n\n _this = _super.call(this, message);\n _this.code = code;\n return _this;\n }\n\n return _createClass(CodedError);\n}(_wrapNativeSuper(Error));","map":{"version":3,"sources":["../../src/errors/CodedError.ts"],"names":[],"mappings":";;;;;;;;;;;AAKA,WAAa,UAAb;AAAA;;AAAA;;AAIE,sBAAY,IAAZ,EAA0B,OAA1B,EAAyC;AAAA;;AAAA;;AACvC,8BAAM,OAAN;AACA,UAAK,IAAL,GAAY,IAAZ;AAFuC;AAGxC;;AAPH;AAAA,mBAAgC,KAAhC","sourcesContent":["/**\n * A general error class that should be used for all errors in Expo modules.\n * Guarantees a `code` field that can be used to differentiate between different\n * types of errors without further subclassing Error.\n */\nexport class CodedError extends Error {\n code: string;\n info?: any;\n\n constructor(code: string, message: string) {\n super(message);\n this.code = code;\n }\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/b5988001e8b84a1d1d22f18b0a0ce908.json b/.expo/web/cache/development/babel-loader/b5988001e8b84a1d1d22f18b0a0ce908.json new file mode 100644 index 0000000000000000000000000000000000000000..8de55c600bbf0ba2358bde31d04585a2457b8e68 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/b5988001e8b84a1d1d22f18b0a0ce908.json @@ -0,0 +1 @@ +{"ast":null,"code":"export {};","map":{"version":3,"sources":[],"names":[],"mappings":"","sourceRoot":"","sourcesContent":["export {};\n//# sourceMappingURL=StatusBar.types.js.map"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/b5a1591da4772ed4b6628c2fb4af4018.json b/.expo/web/cache/development/babel-loader/b5a1591da4772ed4b6628c2fb4af4018.json new file mode 100644 index 0000000000000000000000000000000000000000..d8557ed2011b5580072cc4d70c7b26db6c070f6e --- /dev/null +++ b/.expo/web/cache/development/babel-loader/b5a1591da4772ed4b6628c2fb4af4018.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nimport InteractionManager from \"../../../exports/InteractionManager\";\n\nvar Batchinator = function () {\n function Batchinator(callback, delayMS) {\n this._delay = delayMS;\n this._callback = callback;\n }\n\n var _proto = Batchinator.prototype;\n\n _proto.dispose = function dispose(options) {\n if (options === void 0) {\n options = {\n abort: false\n };\n }\n\n if (this._taskHandle) {\n this._taskHandle.cancel();\n\n if (!options.abort) {\n this._callback();\n }\n\n this._taskHandle = null;\n }\n };\n\n _proto.schedule = function schedule() {\n var _this = this;\n\n if (this._taskHandle) {\n return;\n }\n\n var timeoutHandle = setTimeout(function () {\n _this._taskHandle = InteractionManager.runAfterInteractions(function () {\n _this._taskHandle = null;\n\n _this._callback();\n });\n }, this._delay);\n this._taskHandle = {\n cancel: function cancel() {\n return clearTimeout(timeoutHandle);\n }\n };\n };\n\n return Batchinator;\n}();\n\nexport default Batchinator;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Batchinator/index.js"],"names":["InteractionManager","Batchinator","callback","delayMS","_delay","_callback","_proto","prototype","dispose","options","abort","_taskHandle","cancel","schedule","_this","timeoutHandle","setTimeout","runAfterInteractions","clearTimeout"],"mappings":"AASA;;AAEA,OAAOA,kBAAP;;AAwBA,IAAIC,WAAW,GAAgB,YAAY;AACzC,WAASA,WAAT,CAAqBC,QAArB,EAA+BC,OAA/B,EAAwC;AACtC,SAAKC,MAAL,GAAcD,OAAd;AACA,SAAKE,SAAL,GAAiBH,QAAjB;AACD;;AASD,MAAII,MAAM,GAAGL,WAAW,CAACM,SAAzB;;AAEAD,EAAAA,MAAM,CAACE,OAAP,GAAiB,SAASA,OAAT,CAAiBC,OAAjB,EAA0B;AACzC,QAAIA,OAAO,KAAK,KAAK,CAArB,EAAwB;AACtBA,MAAAA,OAAO,GAAG;AACRC,QAAAA,KAAK,EAAE;AADC,OAAV;AAGD;;AAED,QAAI,KAAKC,WAAT,EAAsB;AACpB,WAAKA,WAAL,CAAiBC,MAAjB;;AAEA,UAAI,CAACH,OAAO,CAACC,KAAb,EAAoB;AAClB,aAAKL,SAAL;AACD;;AAED,WAAKM,WAAL,GAAmB,IAAnB;AACD;AACF,GAhBD;;AAkBAL,EAAAA,MAAM,CAACO,QAAP,GAAkB,SAASA,QAAT,GAAoB;AACpC,QAAIC,KAAK,GAAG,IAAZ;;AAEA,QAAI,KAAKH,WAAT,EAAsB;AACpB;AACD;;AAED,QAAII,aAAa,GAAGC,UAAU,CAAC,YAAY;AACzCF,MAAAA,KAAK,CAACH,WAAN,GAAoBX,kBAAkB,CAACiB,oBAAnB,CAAwC,YAAY;AAGtEH,QAAAA,KAAK,CAACH,WAAN,GAAoB,IAApB;;AAEAG,QAAAA,KAAK,CAACT,SAAN;AACD,OANmB,CAApB;AAOD,KAR6B,EAQ3B,KAAKD,MARsB,CAA9B;AASA,SAAKO,WAAL,GAAmB;AACjBC,MAAAA,MAAM,EAAE,SAASA,MAAT,GAAkB;AACxB,eAAOM,YAAY,CAACH,aAAD,CAAnB;AACD;AAHgB,KAAnB;AAKD,GArBD;;AAuBA,SAAOd,WAAP;AACD,CAzD8B,EAA/B;;AA2DA,eAAeA,WAAf","sourcesContent":["/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n'use strict';\n\nimport InteractionManager from '../../../exports/InteractionManager';\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 */\n\nvar Batchinator = /*#__PURE__*/function () {\n function Batchinator(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\n\n var _proto = Batchinator.prototype;\n\n _proto.dispose = function dispose(options) {\n if (options === void 0) {\n options = {\n abort: false\n };\n }\n\n if (this._taskHandle) {\n this._taskHandle.cancel();\n\n if (!options.abort) {\n this._callback();\n }\n\n this._taskHandle = null;\n }\n };\n\n _proto.schedule = function schedule() {\n var _this = this;\n\n if (this._taskHandle) {\n return;\n }\n\n var timeoutHandle = setTimeout(function () {\n _this._taskHandle = InteractionManager.runAfterInteractions(function () {\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\n _this._callback();\n });\n }, this._delay);\n this._taskHandle = {\n cancel: function cancel() {\n return clearTimeout(timeoutHandle);\n }\n };\n };\n\n return Batchinator;\n}();\n\nexport default Batchinator;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/b6a68319068c172dd378568f6f4a3dc2.json b/.expo/web/cache/development/babel-loader/b6a68319068c172dd378568f6f4a3dc2.json new file mode 100644 index 0000000000000000000000000000000000000000..3760676d07176da4f52b8bb84a9669a814b8568e --- /dev/null +++ b/.expo/web/cache/development/babel-loader/b6a68319068c172dd378568f6f4a3dc2.json @@ -0,0 +1 @@ +{"ast":null,"code":"import StatusBar from \"react-native-web/dist/exports/StatusBar\";\nexport default function setStatusBarHidden(hidden, animation) {\n StatusBar.setHidden(hidden, animation);\n}","map":{"version":3,"sources":["../src/setStatusBarHidden.ts"],"names":[],"mappings":";AAUA,eAAc,SAAU,kBAAV,CAA6B,MAA7B,EAA8C,SAA9C,EAA2E;AACvF,EAAA,SAAS,CAAC,SAAV,CAAoB,MAApB,EAA4B,SAA5B;AACD","sourcesContent":["import { StatusBar } from 'react-native';\n\nimport { StatusBarAnimation } from './StatusBar.types';\n\n// @needsAudit\n/**\n * Toggle visibility of the status bar.\n * @param hidden If the status bar should be hidden.\n * @param animation Animation to use when toggling hidden, defaults to `'none'`.\n */\nexport default function setStatusBarHidden(hidden: boolean, animation: StatusBarAnimation) {\n StatusBar.setHidden(hidden, animation);\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/b8404fd94b5c37b8b7a0ba2e35253931.json b/.expo/web/cache/development/babel-loader/b8404fd94b5c37b8b7a0ba2e35253931.json new file mode 100644 index 0000000000000000000000000000000000000000..feedae938ef2206e039a2b08df5e1f6ce7d1b9f6 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/b8404fd94b5c37b8b7a0ba2e35253931.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATAS = null;\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n DATA = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n setUsers(null);\n var colRef = collection(getFirestore(), \"Users\");\n var big = [];\n\n if (big != null) {\n Alert.alert('big is not empty');\n }\n\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var itemData = {\n name: doc.data().Name,\n email: doc.data().Email,\n image: doc.data().Image,\n id: doc.id\n };\n big.push(itemData);\n setUsers(big);\n });\n });\n }, []);\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n var big = [];\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n big.push(itemData);\n }\n });\n setUsers(big);\n });\n }\n\n if (route.params != null) {\n setUsers(null);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n }), _jsx(Text, {\n style: styles.beschreibung,\n children: item.name\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsxs(View, {\n children: [_jsx(Text, {\n children: \"No Data Found\"\n }), _jsx(Button, {\n title: \"Load Data\",\n onPress: listenOnChange\n })]\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsx(TouchableOpacity, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n style: styles.button,\n children: _jsx(Text, {\n style: styles.cancelButtonText,\n children: \"Create new User\"\n })\n }), _jsx(Text, {\n children: \" \"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return item + index;\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50,\n borderRadius: 50 / 2,\n overflow: \"hidden\",\n borderWidth: 3,\n borderColor: \"#D9D9D9\"\n },\n item: {\n width: 250,\n paddingTop: 20,\n paddingBottom: 20,\n paddingRight: 20,\n marginVertical: 8,\n marginHorizontal: 25,\n borderBottomColor: '#D9D9D9',\n borderBottomWidth: 2,\n flexDirection: \"row\"\n },\n beschreibung: {\n marginLeft: 10,\n marginTop: 10,\n width: 180,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 16,\n lineHeight: 23,\n color: \"#5E6A79\"\n },\n button: {\n marginTop: 25,\n marginBottom: 20,\n height: 35,\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\n borderRadius: 12,\n justifyContent: 'center'\n },\n cancelButtonText: {\n height: 28,\n margin: 10,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 15,\n lineHeight: 22,\n textAlign: 'center',\n color: \"#5E6A79\"\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATAS","UserLists","navigation","route","DATA","setUsers","colRef","big","Alert","alert","querySnapshot","forEach","itemData","name","data","Name","email","Email","image","Image","id","push","listenOnChange","snapchot","docChanges","change","type","message","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","beschreibung","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","container","button","cancelButtonText","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height","borderRadius","overflow","borderWidth","borderColor","paddingTop","paddingBottom","paddingRight","marginVertical","borderBottomColor","borderBottomWidth","flexDirection","marginLeft","marginTop","fontStyle","fontWeight","fontSize","lineHeight","marginBottom","margin","textAlign"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATAS = null;\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [DATA, setUsers] = useState(null);\r\n\r\n//listenOnChange();\r\n//useeffect();\r\n\r\n/*useEffect(()=>{\r\nconst colRef = collection(getFirestore(),\"Users\");\r\nconst big= [];\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n //DATA.push(itemData);\r\n setUsers(big);\r\n //Alert.alert('count data',DATA.name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])*/\r\n\r\n\r\n\r\n\r\n//test\r\nuseEffect(()=>{\r\n \r\n setUsers(null);\r\n \r\n const colRef = collection(getFirestore(),\"Users\");\r\n const big= [];\r\n if(big != null){Alert.alert('big is not empty', );}\r\n onSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n //DATA.push(itemData);\r\n setUsers(big);\r\n \r\n });\r\n \r\n //setUsers(users)\r\n });\r\n //Alert.alert(users.Name.toString);\r\n \r\n },[])\r\n\r\n\r\n \r\n\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n const big = [];\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n //DATA.push(itemData);\r\n big.push(itemData);\r\n \r\n //Alert.alert('listen on change',message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n }); setUsers(big);\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\nsetUsers(null);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n \r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n <Text style={styles.beschreibung}>\r\n {item.name} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){ //DATAS zu DATA ändern ___-------\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <View>\r\n <Text>\r\n No Data Found \r\n </Text>\r\n <Button title='Load Data' onPress={listenOnChange}/>\r\n </View>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <TouchableOpacity onPress={()=> {navigation.navigate('CreateNewUser')}} style={styles.button}>\r\n <Text style={styles.cancelButtonText}>\r\n Create new User\r\n </Text>\r\n \r\n </TouchableOpacity>\r\n <Text> </Text>\r\n\r\n <FlatList\r\n data={DATA} //DATAS zu DATA ändern ___-------\r\n renderItem={renderItem}\r\n /*keyExtractor={ (item, index) => index.toString()}//item => item.id*/\r\n keyExtractor={(item, index) => item + index}\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n borderRadius: 50 / 2,\r\n overflow: \"hidden\",\r\n borderWidth: 3,\r\n borderColor: \"#D9D9D9\"\r\n },\r\n item: {\r\n width: 250,\r\n paddingTop: 20,\r\n paddingBottom: 20,\r\n paddingRight: 20,\r\n marginVertical: 8,\r\n marginHorizontal: 25,\r\n borderBottomColor: '#D9D9D9',\r\n borderBottomWidth: 2,\r\n flexDirection: \"row\",\r\n },\r\n beschreibung: {\r\n marginLeft:10,\r\n marginTop:10,\r\n width: 180,\r\n\r\n // font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 16,\r\n lineHeight: 23,\r\n color: \"#5E6A79\",\r\n },\r\n button:{\r\n marginTop:25,\r\n marginBottom: 20,\r\n height: 35,\r\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\r\n //box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);\r\n borderRadius: 12,\r\n justifyContent: 'center',\r\n \r\n},\r\ncancelButtonText:{\r\n //width: 55,\r\n height: 28,\r\nmargin:10,\r\n //font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 15,\r\n lineHeight: 22,\r\n textAlign:'center',\r\n color: \"#5E6A79\",\r\n},\r\n\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/b840733c28c7b3461a5a7049463bd38f.json b/.expo/web/cache/development/babel-loader/b840733c28c7b3461a5a7049463bd38f.json new file mode 100644 index 0000000000000000000000000000000000000000..14628a9baeac7562d9d5aab1a164c4e6d32fe5b7 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/b840733c28c7b3461a5a7049463bd38f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nvar NavigationRouteContext = React.createContext(undefined);\nexport default NavigationRouteContext;","map":{"version":3,"sources":["NavigationRouteContext.tsx"],"names":["NavigationRouteContext","React"],"mappings":"AACA,OAAO,KAAP,KAAA,MAAA,OAAA;AAKA,IAAMA,sBAAsB,GAAGC,KAAK,CAALA,aAAAA,CAA/B,SAA+BA,CAA/B;AAIA,eAAA,sBAAA","sourcesContent":["import type { Route } from '@react-navigation/routers';\nimport * as React from 'react';\n\n/**\n * Context which holds the route prop for a screen.\n */\nconst NavigationRouteContext = React.createContext<Route<string> | undefined>(\n undefined\n);\n\nexport default NavigationRouteContext;\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/b857b6a6ae7a310eb7ffef89925cfe76.json b/.expo/web/cache/development/babel-loader/b857b6a6ae7a310eb7ffef89925cfe76.json new file mode 100644 index 0000000000000000000000000000000000000000..b09f1ddbcaba757f37d5ee57594df490b8b5ed61 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/b857b6a6ae7a310eb7ffef89925cfe76.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nexport default function MissingIcon(_ref) {\n var color = _ref.color,\n size = _ref.size,\n style = _ref.style;\n return React.createElement(Text, {\n style: [styles.icon, {\n color: color,\n fontSize: size\n }, style]\n }, \"\\u23F7\");\n}\nvar styles = StyleSheet.create({\n icon: {\n backgroundColor: 'transparent'\n }\n});","map":{"version":3,"sources":["MissingIcon.tsx"],"names":["style","styles","color","fontSize","size","icon","backgroundColor"],"mappings":"AAAA,OAAO,KAAP,KAAA,MAAA,OAAA;;;AASA,eAAe,SAAA,WAAA,CAAA,IAAA,EAAoD;AAA/B,MAAA,KAAA,GAA+B,IAA/B,CAAA,KAAA;AAAA,MAAA,IAAA,GAA+B,IAA/B,CAAA,IAAA;AAAA,MAAeA,KAAf,GAA+B,IAA/B,CAAeA,KAAf;AAClC,SAAO,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAM,IAAA,KAAK,EAAE,CAACC,MAAM,CAAP,IAAA,EAAc;AAAEC,MAAAA,KAAF,EAAEA,KAAF;AAASC,MAAAA,QAAQ,EAAEC;AAAnB,KAAd,EAAA,KAAA;AAAb,GAAA,EAAP,QAAO,CAAP;AACD;AAED,IAAMH,MAAM,GAAG,UAAU,CAAV,MAAA,CAAkB;AAC/BI,EAAAA,IAAI,EAAE;AACJC,IAAAA,eAAe,EAAE;AADb;AADyB,CAAlB,CAAf","sourcesContent":["import * as React from 'react';\nimport { StyleProp, StyleSheet, Text, TextStyle } from 'react-native';\n\ntype Props = {\n color?: string;\n size?: number;\n style?: StyleProp<TextStyle>;\n};\n\nexport default function MissingIcon({ color, size, style }: Props) {\n return <Text style={[styles.icon, { color, fontSize: size }, style]}>â·</Text>;\n}\n\nconst styles = StyleSheet.create({\n icon: {\n backgroundColor: 'transparent',\n },\n});\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/b88bed98f26662be802f8aa4f0e7ebdb.json b/.expo/web/cache/development/babel-loader/b88bed98f26662be802f8aa4f0e7ebdb.json new file mode 100644 index 0000000000000000000000000000000000000000..fbb73ffb92223abcc07adb1eba3e3086ca6a4893 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/b88bed98f26662be802f8aa4f0e7ebdb.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * 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\n return React.useMemo(function () {\n return mergeRefs.apply(void 0, args);\n }, [].concat(args));\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/useMergeRefs/index.js"],"names":["React","mergeRefs","useMergeRefs","_len","arguments","length","args","Array","_key","useMemo","apply","concat"],"mappings":"AAQA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,SAAP;AACA,eAAe,SAASC,YAAT,GAAwB;AACrC,OAAK,IAAIC,IAAI,GAAGC,SAAS,CAACC,MAArB,EAA6BC,IAAI,GAAG,IAAIC,KAAJ,CAAUJ,IAAV,CAApC,EAAqDK,IAAI,GAAG,CAAjE,EAAoEA,IAAI,GAAGL,IAA3E,EAAiFK,IAAI,EAArF,EAAyF;AACvFF,IAAAA,IAAI,CAACE,IAAD,CAAJ,GAAaJ,SAAS,CAACI,IAAD,CAAtB;AACD;;AAED,SAAOR,KAAK,CAACS,OAAN,CAAc,YAAY;AAC/B,WAAOR,SAAS,CAACS,KAAV,CAAgB,KAAK,CAArB,EAAwBJ,IAAxB,CAAP;AACD,GAFM,EAGP,GAAGK,MAAH,CAAUL,IAAV,CAHO,CAAP;AAID","sourcesContent":["/**\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 */\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\n return React.useMemo(function () {\n return mergeRefs.apply(void 0, args);\n }, // eslint-disable-next-line\n [].concat(args));\n}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/b91d6a5e20837bde1d5befb1c73730a3.json b/.expo/web/cache/development/babel-loader/b91d6a5e20837bde1d5befb1c73730a3.json new file mode 100644 index 0000000000000000000000000000000000000000..fded3d09bc18313aa432757a1642e81f1cc8f7fc --- /dev/null +++ b/.expo/web/cache/development/babel-loader/b91d6a5e20837bde1d5befb1c73730a3.json @@ -0,0 +1 @@ +{"ast":null,"code":"function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nimport * as React from 'react';\nimport SectionList from \"../../../../exports/SectionList\";\nimport createAnimatedComponent from \"../createAnimatedComponent\";\nvar SectionListWithEventThrottle = React.forwardRef(function (props, ref) {\n return React.createElement(SectionList, _extends({\n scrollEventThrottle: 0.0001\n }, props, {\n ref: ref\n }));\n});\nexport default createAnimatedComponent(SectionListWithEventThrottle);","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedSectionList.js"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","React","SectionList","createAnimatedComponent","SectionListWithEventThrottle","forwardRef","props","ref","createElement","scrollEventThrottle"],"mappings":"AAAA,SAASA,QAAT,GAAoB;AAAEA,EAAAA,QAAQ,GAAGC,MAAM,CAACC,MAAP,IAAiB,UAAUC,MAAV,EAAkB;AAAE,SAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGC,SAAS,CAACC,MAA9B,EAAsCF,CAAC,EAAvC,EAA2C;AAAE,UAAIG,MAAM,GAAGF,SAAS,CAACD,CAAD,CAAtB;;AAA2B,WAAK,IAAII,GAAT,IAAgBD,MAAhB,EAAwB;AAAE,YAAIN,MAAM,CAACQ,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCJ,MAArC,EAA6CC,GAA7C,CAAJ,EAAuD;AAAEL,UAAAA,MAAM,CAACK,GAAD,CAAN,GAAcD,MAAM,CAACC,GAAD,CAApB;AAA4B;AAAE;AAAE;;AAAC,WAAOL,MAAP;AAAgB,GAA5P;;AAA8P,SAAOH,QAAQ,CAACY,KAAT,CAAe,IAAf,EAAqBP,SAArB,CAAP;AAAyC;;AAW7T,OAAO,KAAKQ,KAAZ,MAAuB,OAAvB;AACA,OAAOC,WAAP;AACA,OAAOC,uBAAP;AAKA,IAAIC,4BAA4B,GAAgBH,KAAK,CAACI,UAAN,CAAiB,UAAUC,KAAV,EAAiBC,GAAjB,EAAsB;AACrF,SAAoBN,KAAK,CAACO,aAAN,CAAoBN,WAApB,EAAiCd,QAAQ,CAAC;AAC5DqB,IAAAA,mBAAmB,EAAE;AADuC,GAAD,EAE1DH,KAF0D,EAEnD;AACRC,IAAAA,GAAG,EAAEA;AADG,GAFmD,CAAzC,CAApB;AAKD,CAN+C,CAAhD;AAOA,eAAeJ,uBAAuB,CAACC,4BAAD,CAAtC","sourcesContent":["function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\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 * @format\n */\nimport * as React from 'react';\nimport SectionList from '../../../../exports/SectionList';\nimport createAnimatedComponent from '../createAnimatedComponent';\n\n/**\n * @see https://github.com/facebook/react-native/commit/b8c8562\n */\nvar SectionListWithEventThrottle = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SectionList, _extends({\n scrollEventThrottle: 0.0001\n }, props, {\n ref: ref\n }));\n});\nexport default createAnimatedComponent(SectionListWithEventThrottle);"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/b9ab6856c23e6cb67df0ea2278266c1a.json b/.expo/web/cache/development/babel-loader/b9ab6856c23e6cb67df0ea2278266c1a.json new file mode 100644 index 0000000000000000000000000000000000000000..10fb476780f7fd89f6aec8ade5391c19c43deb2f --- /dev/null +++ b/.expo/web/cache/development/babel-loader/b9ab6856c23e6cb67df0ea2278266c1a.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore } from \"firebase/firestore\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n setUsers(users);\n });\n }, []);\n\n function writeData() {\n try {\n var docRef = function docRef() {\n return _regeneratorRuntime.async(function docRef$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _regeneratorRuntime.awrap(addDoc(collection(db, \"users\"), {\n Email: \"Ada\",\n Image: \"Lovelace\",\n Name: \"1815\"\n }));\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n };\n\n console.log(\"Document written with ID: \", docRef.id);\n Alert.alert(\"write Data worked: \");\n } catch (e) {\n console.error(\"Error adding document: \", e);\n }\n }\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsxs(Text, {\n children: [item.title, users.toString]\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\",\n onPress: writeData\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","writeData","docRef","console","log","Alert","alert","e","error","params","post","Item","item","onPress","backgroundColor","textColor","styles","title","toString","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore} from \"firebase/firestore\"\r\n\r\n\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\nfunction writeData(){\r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}\r\n}\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();*/\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async (id) => {\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUser({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n {users.toString}\r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser' onPress={writeData}/>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/ba6540d2a2c40269a25345341121c367.json b/.expo/web/cache/development/babel-loader/ba6540d2a2c40269a25345341121c367.json new file mode 100644 index 0000000000000000000000000000000000000000..437ba7ab5128943455ea007c4140423ebcc2b978 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/ba6540d2a2c40269a25345341121c367.json @@ -0,0 +1 @@ +{"ast":null,"code":"function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;","map":{"version":3,"sources":["C:/Users/user/AppData/Roaming/npm/node_modules/expo-cli/node_modules/@babel/runtime/helpers/nonIterableRest.js"],"names":["_nonIterableRest","TypeError","module","exports"],"mappings":"AAAA,SAASA,gBAAT,GAA4B;AAC1B,QAAM,IAAIC,SAAJ,CAAc,2IAAd,CAAN;AACD;;AAEDC,MAAM,CAACC,OAAP,GAAiBH,gBAAjB","sourcesContent":["function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/baf3e80b66022410c14ecdc1521c7af2.json b/.expo/web/cache/development/babel-loader/baf3e80b66022410c14ecdc1521c7af2.json new file mode 100644 index 0000000000000000000000000000000000000000..ccce6df84f1711e9449cfb369741644618723e89 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/baf3e80b66022410c14ecdc1521c7af2.json @@ -0,0 +1 @@ +{"ast":null,"code":"import Easing from \"../../vendor/react-native/Animated/Easing\";\nexport default Easing;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/Easing/index.js"],"names":["Easing"],"mappings":"AAQA,OAAOA,MAAP;AACA,eAAeA,MAAf","sourcesContent":["/**\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 Easing from '../../vendor/react-native/Animated/Easing';\nexport default Easing;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/bbf0993388a9dbf2f7dd624e01076c3d.json b/.expo/web/cache/development/babel-loader/bbf0993388a9dbf2f7dd624e01076c3d.json new file mode 100644 index 0000000000000000000000000000000000000000..fc3551f049ba7be21516d16ae9a6a24777e73ccb --- /dev/null +++ b/.expo/web/cache/development/babel-loader/bbf0993388a9dbf2f7dd624e01076c3d.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore } from \"firebase/firestore\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users.toString);\n setUsers(users);\n });\n }, []);\n\n function writeData() {\n try {\n var docRef = function docRef() {\n return _regeneratorRuntime.async(function docRef$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _regeneratorRuntime.awrap(addDoc(collection(db, \"Users\"), {\n Email: \"Ada\",\n Image: \"Lovelace\",\n Name: \"1815\"\n }));\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n };\n\n console.log(\"Document written with ID: \", docRef.id);\n Alert.alert(\"write Data worked: \");\n } catch (e) {\n console.error(\"Error adding document: \", e);\n }\n }\n\n var getUserById = function getUserById() {\n var id, docRef, docu, user;\n return _regeneratorRuntime.async(function getUserById$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n id = 'q5EOqKxKEsAO6lLmhbnc';\n docRef = doc(db, 'users', id);\n _context2.next = 4;\n return _regeneratorRuntime.awrap(getDoc(docRef));\n\n case 4:\n docu = _context2.sent;\n user = docu.data();\n setUsers(_objectSpread(_objectSpread({}, user), {}, {\n id: docu.id\n }));\n setLoading(false);\n Alert.alert(users[0]);\n\n case 9:\n case \"end\":\n return _context2.stop();\n }\n }\n }, null, null, null, Promise);\n };\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsxs(Text, {\n children: [item.title, users.toString]\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\",\n onPress: writeData\n }), _jsx(Button, {\n title: \"UpdateUser\",\n onPress: getUserById\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","writeData","docRef","console","log","e","error","getUserById","getDoc","docu","user","setLoading","params","post","Item","item","onPress","backgroundColor","textColor","styles","title","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users.toString);\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\nfunction writeData(){\r\n \r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})*/\r\n}\r\n\r\n\r\n\r\n//update user\r\nconst getUserById = async () => {\r\n const id = 'q5EOqKxKEsAO6lLmhbnc';\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUsers({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n Alert.alert(users[0])\r\n };\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n {users.toString}\r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser' onPress={writeData}/>\r\n <Button title='UpdateUser' onPress={getUserById}/>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/bc061470ecdd28a45b0170e197aefc9d.json b/.expo/web/cache/development/babel-loader/bc061470ecdd28a45b0170e197aefc9d.json new file mode 100644 index 0000000000000000000000000000000000000000..47b5a8acb8905e55f073e514b4a65729e73df62a --- /dev/null +++ b/.expo/web/cache/development/babel-loader/bc061470ecdd28a45b0170e197aefc9d.json @@ -0,0 +1 @@ +{"ast":null,"code":"export default function findFocusedRoute(state) {\n var _current2, _current$index3, _current3;\n\n var current = state;\n\n while (((_current = current) === null || _current === void 0 ? void 0 : _current.routes[(_current$index = current.index) !== null && _current$index !== void 0 ? _current$index : 0].state) != null) {\n var _current, _current$index, _current$index2;\n\n current = current.routes[(_current$index2 = current.index) !== null && _current$index2 !== void 0 ? _current$index2 : 0].state;\n }\n\n var route = (_current2 = current) === null || _current2 === void 0 ? void 0 : _current2.routes[(_current$index3 = (_current3 = current) === null || _current3 === void 0 ? void 0 : _current3.index) !== null && _current$index3 !== void 0 ? _current$index3 : 0];\n return route;\n}","map":{"version":3,"sources":["findFocusedRoute.tsx"],"names":["current","route"],"mappings":"AAEA,eAAe,SAAA,gBAAA,CAAA,KAAA,EAA+C;AAAA,MAAA,SAAA,EAAA,eAAA,EAAA,SAAA;;AAC5D,MAAIA,OAAiC,GAArC,KAAA;;AAEA,SAAO,CAAA,CAAA,QAAA,GAAA,OAAA,MAAA,IAAA,IAAA,QAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,MAAA,CAAA,CAAA,cAAA,GAAgBA,OAAO,CAAvB,KAAA,MAAA,IAAA,IAAA,cAAA,KAAA,KAAA,CAAA,GAAA,cAAA,GAAA,CAAA,EAAA,KAAA,KAAP,IAAA,EAA0D;AAAA,QAAA,QAAA,EAAA,cAAA,EAAA,eAAA;;AACxDA,IAAAA,OAAO,GAAGA,OAAO,CAAPA,MAAAA,CAAAA,CAAAA,eAAAA,GAAeA,OAAO,CAAtBA,KAAAA,MAAAA,IAAAA,IAAAA,eAAAA,KAAAA,KAAAA,CAAAA,GAAAA,eAAAA,GAAAA,CAAAA,EAAVA,KAAAA;AACD;;AAED,MAAMC,KAAK,GAAA,CAAA,SAAA,GAAA,OAAA,MAAA,IAAA,IAAA,SAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAGD,SAAAA,CAAAA,MAAAA,CAAAA,CAAAA,eAAAA,GAAAA,CAAAA,SAAAA,GAAAA,OAAAA,MAAAA,IAAAA,IAAAA,SAAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAgBA,SAAAA,CAAhBA,KAAAA,MAAAA,IAAAA,IAAAA,eAAAA,KAAAA,KAAAA,CAAAA,GAAAA,eAAAA,GAAd,CAAcA,CAAd;AAEA,SAAA,KAAA;AACD","sourcesContent":["import type { InitialState } from '@react-navigation/routers';\n\nexport default function findFocusedRoute(state: InitialState) {\n let current: InitialState | undefined = state;\n\n while (current?.routes[current.index ?? 0].state != null) {\n current = current.routes[current.index ?? 0].state;\n }\n\n const route = current?.routes[current?.index ?? 0];\n\n return route;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/bfbfe7684852b37f1bde7e0f22a5f14b.json b/.expo/web/cache/development/babel-loader/bfbfe7684852b37f1bde7e0f22a5f14b.json new file mode 100644 index 0000000000000000000000000000000000000000..5ce85162c323dfd0b415fb298718163211936b6a --- /dev/null +++ b/.expo/web/cache/development/babel-loader/bfbfe7684852b37f1bde7e0f22a5f14b.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nimport HeaderHeightContext from \"./HeaderHeightContext\";\nexport default function useHeaderHeight() {\n var height = React.useContext(HeaderHeightContext);\n\n if (height === undefined) {\n throw new Error(\"Couldn't find the header height. Are you inside a screen in a navigator with a header?\");\n }\n\n return height;\n}","map":{"version":3,"sources":["useHeaderHeight.tsx"],"names":["height","React"],"mappings":"AAAA,OAAO,KAAP,KAAA,MAAA,OAAA;AAEA,OAAA,mBAAA;AAEA,eAAe,SAAA,eAAA,GAA2B;AACxC,MAAMA,MAAM,GAAGC,KAAK,CAALA,UAAAA,CAAf,mBAAeA,CAAf;;AAEA,MAAID,MAAM,KAAV,SAAA,EAA0B;AACxB,UAAM,IAAA,KAAA,CAAN,wFAAM,CAAN;AAGD;;AAED,SAAA,MAAA;AACD","sourcesContent":["import * as React from 'react';\n\nimport HeaderHeightContext from './HeaderHeightContext';\n\nexport default function useHeaderHeight() {\n const height = React.useContext(HeaderHeightContext);\n\n if (height === undefined) {\n throw new Error(\n \"Couldn't find the header height. Are you inside a screen in a navigator with a header?\"\n );\n }\n\n return height;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/c06cae101f714fbfa8e049ffa15fe436.json b/.expo/web/cache/development/babel-loader/c06cae101f714fbfa8e049ffa15fe436.json new file mode 100644 index 0000000000000000000000000000000000000000..3ef82e5e034e3709b77750fc4342bcbbd8eed0a6 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/c06cae101f714fbfa8e049ffa15fe436.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"key\", \"routeNames\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport { CommonActions } from '@react-navigation/routers';\nimport * as React from 'react';\nimport checkDuplicateRouteNames from \"./checkDuplicateRouteNames\";\nimport checkSerializable from \"./checkSerializable\";\nimport { NOT_INITIALIZED_ERROR } from \"./createNavigationContainerRef\";\nimport EnsureSingleNavigator from \"./EnsureSingleNavigator\";\nimport findFocusedRoute from \"./findFocusedRoute\";\nimport NavigationBuilderContext from \"./NavigationBuilderContext\";\nimport NavigationContainerRefContext from \"./NavigationContainerRefContext\";\nimport NavigationContext from \"./NavigationContext\";\nimport NavigationRouteContext from \"./NavigationRouteContext\";\nimport NavigationStateContext from \"./NavigationStateContext\";\nimport UnhandledActionContext from \"./UnhandledActionContext\";\nimport useChildListeners from \"./useChildListeners\";\nimport useEventEmitter from \"./useEventEmitter\";\nimport useKeyedChildListeners from \"./useKeyedChildListeners\";\nimport useOptionsGetters from \"./useOptionsGetters\";\nimport { ScheduleUpdateContext } from \"./useScheduleUpdate\";\nimport useSyncState from \"./useSyncState\";\nvar serializableWarnings = [];\nvar duplicateNameWarnings = [];\n\nvar getPartialState = function getPartialState(state) {\n if (state === undefined) {\n return;\n }\n\n var key = state.key,\n routeNames = state.routeNames,\n partialState = _objectWithoutProperties(state, _excluded);\n\n return _objectSpread(_objectSpread({}, partialState), {}, {\n stale: true,\n routes: state.routes.map(function (route) {\n if (route.state === undefined) {\n return route;\n }\n\n return _objectSpread(_objectSpread({}, route), {}, {\n state: getPartialState(route.state)\n });\n })\n });\n};\n\nvar BaseNavigationContainer = React.forwardRef(function BaseNavigationContainer(_ref, ref) {\n var initialState = _ref.initialState,\n onStateChange = _ref.onStateChange,\n onUnhandledAction = _ref.onUnhandledAction,\n independent = _ref.independent,\n children = _ref.children;\n var parent = React.useContext(NavigationStateContext);\n\n if (!parent.isDefault && !independent) {\n throw new Error(\"Looks like you have nested a 'NavigationContainer' inside another. Normally you need only one container at the root of the app, so this was probably an error. If this was intentional, pass 'independent={true}' explicitly. Note that this will make the child navigators disconnected from the parent and you won't be able to navigate between them.\");\n }\n\n var _useSyncState = useSyncState(function () {\n return getPartialState(initialState == null ? undefined : initialState);\n }),\n _useSyncState2 = _slicedToArray(_useSyncState, 5),\n state = _useSyncState2[0],\n getState = _useSyncState2[1],\n setState = _useSyncState2[2],\n scheduleUpdate = _useSyncState2[3],\n flushUpdates = _useSyncState2[4];\n\n var isFirstMountRef = React.useRef(true);\n var navigatorKeyRef = React.useRef();\n var getKey = React.useCallback(function () {\n return navigatorKeyRef.current;\n }, []);\n var setKey = React.useCallback(function (key) {\n navigatorKeyRef.current = key;\n }, []);\n\n var _useChildListeners = useChildListeners(),\n listeners = _useChildListeners.listeners,\n addListener = _useChildListeners.addListener;\n\n var _useKeyedChildListene = useKeyedChildListeners(),\n keyedListeners = _useKeyedChildListene.keyedListeners,\n addKeyedListener = _useKeyedChildListene.addKeyedListener;\n\n var dispatch = React.useCallback(function (action) {\n if (listeners.focus[0] == null) {\n console.error(NOT_INITIALIZED_ERROR);\n } else {\n listeners.focus[0](function (navigation) {\n return navigation.dispatch(action);\n });\n }\n }, [listeners.focus]);\n var canGoBack = React.useCallback(function () {\n if (listeners.focus[0] == null) {\n return false;\n }\n\n var _listeners$focus$ = listeners.focus[0](function (navigation) {\n return navigation.canGoBack();\n }),\n result = _listeners$focus$.result,\n handled = _listeners$focus$.handled;\n\n if (handled) {\n return result;\n } else {\n return false;\n }\n }, [listeners.focus]);\n var resetRoot = React.useCallback(function (state) {\n var _state$key, _keyedListeners$getSt, _keyedListeners$getSt2;\n\n var target = (_state$key = state === null || state === void 0 ? void 0 : state.key) !== null && _state$key !== void 0 ? _state$key : (_keyedListeners$getSt = (_keyedListeners$getSt2 = keyedListeners.getState).root) === null || _keyedListeners$getSt === void 0 ? void 0 : _keyedListeners$getSt.call(_keyedListeners$getSt2).key;\n\n if (target == null) {\n console.error(NOT_INITIALIZED_ERROR);\n } else {\n listeners.focus[0](function (navigation) {\n return navigation.dispatch(_objectSpread(_objectSpread({}, CommonActions.reset(state)), {}, {\n target: target\n }));\n });\n }\n }, [keyedListeners.getState, listeners.focus]);\n var getRootState = React.useCallback(function () {\n var _keyedListeners$getSt3, _keyedListeners$getSt4;\n\n return (_keyedListeners$getSt3 = (_keyedListeners$getSt4 = keyedListeners.getState).root) === null || _keyedListeners$getSt3 === void 0 ? void 0 : _keyedListeners$getSt3.call(_keyedListeners$getSt4);\n }, [keyedListeners.getState]);\n var getCurrentRoute = React.useCallback(function () {\n var state = getRootState();\n\n if (state == null) {\n return undefined;\n }\n\n var route = findFocusedRoute(state);\n return route;\n }, [getRootState]);\n var emitter = useEventEmitter();\n\n var _useOptionsGetters = useOptionsGetters({}),\n addOptionsGetter = _useOptionsGetters.addOptionsGetter,\n getCurrentOptions = _useOptionsGetters.getCurrentOptions;\n\n var navigation = React.useMemo(function () {\n return _objectSpread(_objectSpread(_objectSpread({}, Object.keys(CommonActions).reduce(function (acc, name) {\n acc[name] = function () {\n return dispatch(CommonActions[name].apply(CommonActions, arguments));\n };\n\n return acc;\n }, {})), emitter.create('root')), {}, {\n dispatch: dispatch,\n resetRoot: resetRoot,\n isFocused: function isFocused() {\n return true;\n },\n canGoBack: canGoBack,\n getParent: function getParent() {\n return undefined;\n },\n getState: function getState() {\n return stateRef.current;\n },\n getRootState: getRootState,\n getCurrentRoute: getCurrentRoute,\n getCurrentOptions: getCurrentOptions,\n isReady: function isReady() {\n return listeners.focus[0] != null;\n }\n });\n }, [canGoBack, dispatch, emitter, getCurrentOptions, getCurrentRoute, getRootState, listeners.focus, resetRoot]);\n React.useImperativeHandle(ref, function () {\n return navigation;\n }, [navigation]);\n var onDispatchAction = React.useCallback(function (action, noop) {\n emitter.emit({\n type: '__unsafe_action__',\n data: {\n action: action,\n noop: noop,\n stack: stackRef.current\n }\n });\n }, [emitter]);\n var lastEmittedOptionsRef = React.useRef();\n var onOptionsChange = React.useCallback(function (options) {\n if (lastEmittedOptionsRef.current === options) {\n return;\n }\n\n lastEmittedOptionsRef.current = options;\n emitter.emit({\n type: 'options',\n data: {\n options: options\n }\n });\n }, [emitter]);\n var stackRef = React.useRef();\n var builderContext = React.useMemo(function () {\n return {\n addListener: addListener,\n addKeyedListener: addKeyedListener,\n onDispatchAction: onDispatchAction,\n onOptionsChange: onOptionsChange,\n stackRef: stackRef\n };\n }, [addListener, addKeyedListener, onDispatchAction, onOptionsChange]);\n var scheduleContext = React.useMemo(function () {\n return {\n scheduleUpdate: scheduleUpdate,\n flushUpdates: flushUpdates\n };\n }, [scheduleUpdate, flushUpdates]);\n var isInitialRef = React.useRef(true);\n var getIsInitial = React.useCallback(function () {\n return isInitialRef.current;\n }, []);\n var context = React.useMemo(function () {\n return {\n state: state,\n getState: getState,\n setState: setState,\n getKey: getKey,\n setKey: setKey,\n getIsInitial: getIsInitial,\n addOptionsGetter: addOptionsGetter\n };\n }, [state, getState, setState, getKey, setKey, getIsInitial, addOptionsGetter]);\n var onStateChangeRef = React.useRef(onStateChange);\n var stateRef = React.useRef(state);\n React.useEffect(function () {\n isInitialRef.current = false;\n onStateChangeRef.current = onStateChange;\n stateRef.current = state;\n });\n React.useEffect(function () {\n var hydratedState = getRootState();\n\n if (process.env.NODE_ENV !== 'production') {\n if (hydratedState !== undefined) {\n var serializableResult = checkSerializable(hydratedState);\n\n if (!serializableResult.serializable) {\n var location = serializableResult.location,\n reason = serializableResult.reason;\n var path = '';\n var pointer = hydratedState;\n var params = false;\n\n for (var i = 0; i < location.length; i++) {\n var curr = location[i];\n var prev = location[i - 1];\n pointer = pointer[curr];\n\n if (!params && curr === 'state') {\n continue;\n } else if (!params && curr === 'routes') {\n if (path) {\n path += ' > ';\n }\n } else if (!params && typeof curr === 'number' && prev === 'routes') {\n var _pointer;\n\n path += (_pointer = pointer) === null || _pointer === void 0 ? void 0 : _pointer.name;\n } else if (!params) {\n path += \" > \" + curr;\n params = true;\n } else {\n if (typeof curr === 'number' || /^[0-9]+$/.test(curr)) {\n path += \"[\" + curr + \"]\";\n } else if (/^[a-z$_]+$/i.test(curr)) {\n path += \".\" + curr;\n } else {\n path += \"[\" + JSON.stringify(curr) + \"]\";\n }\n }\n }\n\n var message = \"Non-serializable values were found in the navigation state. Check:\\n\\n\" + path + \" (\" + reason + \")\\n\\nThis can break usage such as persisting and restoring state. This might happen if you passed non-serializable values such as function, class instances etc. in params. If you need to use components with callbacks in your options, you can use 'navigation.setOptions' instead. See https://reactnavigation.org/docs/troubleshooting#i-get-the-warning-non-serializable-values-were-found-in-the-navigation-state for more details.\";\n\n if (!serializableWarnings.includes(message)) {\n serializableWarnings.push(message);\n console.warn(message);\n }\n }\n\n var duplicateRouteNamesResult = checkDuplicateRouteNames(hydratedState);\n\n if (duplicateRouteNamesResult.length) {\n var _message = \"Found screens with the same name nested inside one another. Check:\\n\" + duplicateRouteNamesResult.map(function (locations) {\n return \"\\n\" + locations.join(', ');\n }) + \"\\n\\nThis can cause confusing behavior during navigation. Consider using unique names for each screen instead.\";\n\n if (!duplicateNameWarnings.includes(_message)) {\n duplicateNameWarnings.push(_message);\n console.warn(_message);\n }\n }\n }\n }\n\n emitter.emit({\n type: 'state',\n data: {\n state: state\n }\n });\n\n if (!isFirstMountRef.current && onStateChangeRef.current) {\n onStateChangeRef.current(hydratedState);\n }\n\n isFirstMountRef.current = false;\n }, [getRootState, emitter, state]);\n var defaultOnUnhandledAction = React.useCallback(function (action) {\n if (process.env.NODE_ENV === 'production') {\n return;\n }\n\n var payload = action.payload;\n var message = \"The action '\" + action.type + \"'\" + (payload ? \" with payload \" + JSON.stringify(action.payload) : '') + \" was not handled by any navigator.\";\n\n switch (action.type) {\n case 'NAVIGATE':\n case 'PUSH':\n case 'REPLACE':\n case 'JUMP_TO':\n if (payload !== null && payload !== void 0 && payload.name) {\n message += \"\\n\\nDo you have a screen named '\" + payload.name + \"'?\\n\\nIf you're trying to navigate to a screen in a nested navigator, see https://reactnavigation.org/docs/nesting-navigators#navigating-to-a-screen-in-a-nested-navigator.\";\n } else {\n message += \"\\n\\nYou need to pass the name of the screen to navigate to.\\n\\nSee https://reactnavigation.org/docs/navigation-actions for usage.\";\n }\n\n break;\n\n case 'GO_BACK':\n case 'POP':\n case 'POP_TO_TOP':\n message += \"\\n\\nIs there any screen to go back to?\";\n break;\n\n case 'OPEN_DRAWER':\n case 'CLOSE_DRAWER':\n case 'TOGGLE_DRAWER':\n message += \"\\n\\nIs your screen inside a Drawer navigator?\";\n break;\n }\n\n message += \"\\n\\nThis is a development-only warning and won't be shown in production.\";\n console.error(message);\n }, []);\n var element = React.createElement(NavigationContainerRefContext.Provider, {\n value: navigation\n }, React.createElement(ScheduleUpdateContext.Provider, {\n value: scheduleContext\n }, React.createElement(NavigationBuilderContext.Provider, {\n value: builderContext\n }, React.createElement(NavigationStateContext.Provider, {\n value: context\n }, React.createElement(UnhandledActionContext.Provider, {\n value: onUnhandledAction !== null && onUnhandledAction !== void 0 ? onUnhandledAction : defaultOnUnhandledAction\n }, React.createElement(EnsureSingleNavigator, null, children))))));\n\n if (independent) {\n element = React.createElement(NavigationRouteContext.Provider, {\n value: undefined\n }, React.createElement(NavigationContext.Provider, {\n value: undefined\n }, element));\n }\n\n return element;\n});\nexport default BaseNavigationContainer;","map":{"version":3,"sources":["BaseNavigationContainer.tsx"],"names":["serializableWarnings","duplicateNameWarnings","getPartialState","state","partialState","stale","routes","route","BaseNavigationContainer","children","parent","React","useSyncState","initialState","isFirstMountRef","navigatorKeyRef","getKey","setKey","key","addListener","useChildListeners","addKeyedListener","useKeyedChildListeners","dispatch","action","listeners","console","navigation","canGoBack","handled","resetRoot","target","CommonActions","keyedListeners","getRootState","getCurrentRoute","findFocusedRoute","emitter","useEventEmitter","getCurrentOptions","useOptionsGetters","acc","isFocused","getParent","getState","stateRef","isReady","onDispatchAction","type","data","noop","stack","stackRef","current","lastEmittedOptionsRef","onOptionsChange","options","builderContext","scheduleContext","scheduleUpdate","flushUpdates","isInitialRef","getIsInitial","context","setState","addOptionsGetter","onStateChangeRef","hydratedState","process","serializableResult","checkSerializable","reason","path","pointer","params","i","location","curr","prev","JSON","message","duplicateRouteNamesResult","checkDuplicateRouteNames","locations","defaultOnUnhandledAction","payload","element","onUnhandledAction","undefined"],"mappings":"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","sourcesContent":["import {\n CommonActions,\n InitialState,\n NavigationAction,\n NavigationState,\n ParamListBase,\n PartialState,\n Route,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport checkDuplicateRouteNames from './checkDuplicateRouteNames';\nimport checkSerializable from './checkSerializable';\nimport { NOT_INITIALIZED_ERROR } from './createNavigationContainerRef';\nimport EnsureSingleNavigator from './EnsureSingleNavigator';\nimport findFocusedRoute from './findFocusedRoute';\nimport NavigationBuilderContext from './NavigationBuilderContext';\nimport NavigationContainerRefContext from './NavigationContainerRefContext';\nimport NavigationContext from './NavigationContext';\nimport NavigationRouteContext from './NavigationRouteContext';\nimport NavigationStateContext from './NavigationStateContext';\nimport type {\n NavigationContainerEventMap,\n NavigationContainerProps,\n NavigationContainerRef,\n} from './types';\nimport UnhandledActionContext from './UnhandledActionContext';\nimport useChildListeners from './useChildListeners';\nimport useEventEmitter from './useEventEmitter';\nimport useKeyedChildListeners from './useKeyedChildListeners';\nimport useOptionsGetters from './useOptionsGetters';\nimport { ScheduleUpdateContext } from './useScheduleUpdate';\nimport useSyncState from './useSyncState';\n\ntype State = NavigationState | PartialState<NavigationState> | undefined;\n\nconst serializableWarnings: string[] = [];\nconst duplicateNameWarnings: string[] = [];\n\n/**\n * Remove `key` and `routeNames` from the state objects recursively to get partial state.\n *\n * @param state Initial state object.\n */\nconst getPartialState = (\n state: InitialState | undefined\n): PartialState<NavigationState> | undefined => {\n if (state === undefined) {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { key, routeNames, ...partialState } = state;\n\n return {\n ...partialState,\n stale: true,\n routes: state.routes.map((route) => {\n if (route.state === undefined) {\n return route as Route<string> & {\n state?: PartialState<NavigationState>;\n };\n }\n\n return { ...route, state: getPartialState(route.state) };\n }),\n };\n};\n\n/**\n * Container component which holds the navigation state.\n * This should be rendered at the root wrapping the whole app.\n *\n * @param props.initialState Initial state object for the navigation tree.\n * @param props.onStateChange Callback which is called with the latest navigation state when it changes.\n * @param props.children Child elements to render the content.\n * @param props.ref Ref object which refers to the navigation object containing helper methods.\n */\nconst BaseNavigationContainer = React.forwardRef(\n function BaseNavigationContainer(\n {\n initialState,\n onStateChange,\n onUnhandledAction,\n independent,\n children,\n }: NavigationContainerProps,\n ref?: React.Ref<NavigationContainerRef<ParamListBase>>\n ) {\n const parent = React.useContext(NavigationStateContext);\n\n if (!parent.isDefault && !independent) {\n throw new Error(\n \"Looks like you have nested a 'NavigationContainer' inside another. Normally you need only one container at the root of the app, so this was probably an error. If this was intentional, pass 'independent={true}' explicitly. Note that this will make the child navigators disconnected from the parent and you won't be able to navigate between them.\"\n );\n }\n\n const [state, getState, setState, scheduleUpdate, flushUpdates] =\n useSyncState<State>(() =>\n getPartialState(initialState == null ? undefined : initialState)\n );\n\n const isFirstMountRef = React.useRef<boolean>(true);\n\n const navigatorKeyRef = React.useRef<string | undefined>();\n\n const getKey = React.useCallback(() => navigatorKeyRef.current, []);\n\n const setKey = React.useCallback((key: string) => {\n navigatorKeyRef.current = key;\n }, []);\n\n const { listeners, addListener } = useChildListeners();\n\n const { keyedListeners, addKeyedListener } = useKeyedChildListeners();\n\n const dispatch = React.useCallback(\n (\n action:\n | NavigationAction\n | ((state: NavigationState) => NavigationAction)\n ) => {\n if (listeners.focus[0] == null) {\n console.error(NOT_INITIALIZED_ERROR);\n } else {\n listeners.focus[0]((navigation) => navigation.dispatch(action));\n }\n },\n [listeners.focus]\n );\n\n const canGoBack = React.useCallback(() => {\n if (listeners.focus[0] == null) {\n return false;\n }\n\n const { result, handled } = listeners.focus[0]((navigation) =>\n navigation.canGoBack()\n );\n\n if (handled) {\n return result;\n } else {\n return false;\n }\n }, [listeners.focus]);\n\n const resetRoot = React.useCallback(\n (state?: PartialState<NavigationState> | NavigationState) => {\n const target = state?.key ?? keyedListeners.getState.root?.().key;\n\n if (target == null) {\n console.error(NOT_INITIALIZED_ERROR);\n } else {\n listeners.focus[0]((navigation) =>\n navigation.dispatch({\n ...CommonActions.reset(state),\n target,\n })\n );\n }\n },\n [keyedListeners.getState, listeners.focus]\n );\n\n const getRootState = React.useCallback(() => {\n return keyedListeners.getState.root?.();\n }, [keyedListeners.getState]);\n\n const getCurrentRoute = React.useCallback(() => {\n const state = getRootState();\n\n if (state == null) {\n return undefined;\n }\n\n const route = findFocusedRoute(state);\n\n return route as Route<string> | undefined;\n }, [getRootState]);\n\n const emitter = useEventEmitter<NavigationContainerEventMap>();\n\n const { addOptionsGetter, getCurrentOptions } = useOptionsGetters({});\n\n const navigation: NavigationContainerRef<ParamListBase> = React.useMemo(\n () => ({\n ...Object.keys(CommonActions).reduce<any>((acc, name) => {\n acc[name] = (...args: any[]) =>\n // @ts-expect-error: this is ok\n dispatch(CommonActions[name](...args));\n return acc;\n }, {}),\n ...emitter.create('root'),\n dispatch,\n resetRoot,\n isFocused: () => true,\n canGoBack,\n getParent: () => undefined,\n getState: () => stateRef.current,\n getRootState,\n getCurrentRoute,\n getCurrentOptions,\n isReady: () => listeners.focus[0] != null,\n }),\n [\n canGoBack,\n dispatch,\n emitter,\n getCurrentOptions,\n getCurrentRoute,\n getRootState,\n listeners.focus,\n resetRoot,\n ]\n );\n\n React.useImperativeHandle(ref, () => navigation, [navigation]);\n\n const onDispatchAction = React.useCallback(\n (action: NavigationAction, noop: boolean) => {\n emitter.emit({\n type: '__unsafe_action__',\n data: { action, noop, stack: stackRef.current },\n });\n },\n [emitter]\n );\n\n const lastEmittedOptionsRef = React.useRef<object | undefined>();\n\n const onOptionsChange = React.useCallback(\n (options) => {\n if (lastEmittedOptionsRef.current === options) {\n return;\n }\n\n lastEmittedOptionsRef.current = options;\n\n emitter.emit({\n type: 'options',\n data: { options },\n });\n },\n [emitter]\n );\n\n const stackRef = React.useRef<string | undefined>();\n\n const builderContext = React.useMemo(\n () => ({\n addListener,\n addKeyedListener,\n onDispatchAction,\n onOptionsChange,\n stackRef,\n }),\n [addListener, addKeyedListener, onDispatchAction, onOptionsChange]\n );\n\n const scheduleContext = React.useMemo(\n () => ({ scheduleUpdate, flushUpdates }),\n [scheduleUpdate, flushUpdates]\n );\n\n const isInitialRef = React.useRef(true);\n\n const getIsInitial = React.useCallback(() => isInitialRef.current, []);\n\n const context = React.useMemo(\n () => ({\n state,\n getState,\n setState,\n getKey,\n setKey,\n getIsInitial,\n addOptionsGetter,\n }),\n [\n state,\n getState,\n setState,\n getKey,\n setKey,\n getIsInitial,\n addOptionsGetter,\n ]\n );\n\n const onStateChangeRef = React.useRef(onStateChange);\n const stateRef = React.useRef(state);\n\n React.useEffect(() => {\n isInitialRef.current = false;\n onStateChangeRef.current = onStateChange;\n stateRef.current = state;\n });\n\n React.useEffect(() => {\n const hydratedState = getRootState();\n\n if (process.env.NODE_ENV !== 'production') {\n if (hydratedState !== undefined) {\n const serializableResult = checkSerializable(hydratedState);\n\n if (!serializableResult.serializable) {\n const { location, reason } = serializableResult;\n\n let path = '';\n let pointer: Record<any, any> = hydratedState;\n let params = false;\n\n for (let i = 0; i < location.length; i++) {\n const curr = location[i];\n const prev = location[i - 1];\n\n pointer = pointer[curr];\n\n if (!params && curr === 'state') {\n continue;\n } else if (!params && curr === 'routes') {\n if (path) {\n path += ' > ';\n }\n } else if (\n !params &&\n typeof curr === 'number' &&\n prev === 'routes'\n ) {\n path += pointer?.name;\n } else if (!params) {\n path += ` > ${curr}`;\n params = true;\n } else {\n if (typeof curr === 'number' || /^[0-9]+$/.test(curr)) {\n path += `[${curr}]`;\n } else if (/^[a-z$_]+$/i.test(curr)) {\n path += `.${curr}`;\n } else {\n path += `[${JSON.stringify(curr)}]`;\n }\n }\n }\n\n const message = `Non-serializable values were found in the navigation state. Check:\\n\\n${path} (${reason})\\n\\nThis can break usage such as persisting and restoring state. This might happen if you passed non-serializable values such as function, class instances etc. in params. If you need to use components with callbacks in your options, you can use 'navigation.setOptions' instead. See https://reactnavigation.org/docs/troubleshooting#i-get-the-warning-non-serializable-values-were-found-in-the-navigation-state for more details.`;\n\n if (!serializableWarnings.includes(message)) {\n serializableWarnings.push(message);\n console.warn(message);\n }\n }\n\n const duplicateRouteNamesResult =\n checkDuplicateRouteNames(hydratedState);\n\n if (duplicateRouteNamesResult.length) {\n const message = `Found screens with the same name nested inside one another. Check:\\n${duplicateRouteNamesResult.map(\n (locations) => `\\n${locations.join(', ')}`\n )}\\n\\nThis can cause confusing behavior during navigation. Consider using unique names for each screen instead.`;\n\n if (!duplicateNameWarnings.includes(message)) {\n duplicateNameWarnings.push(message);\n console.warn(message);\n }\n }\n }\n }\n\n emitter.emit({ type: 'state', data: { state } });\n\n if (!isFirstMountRef.current && onStateChangeRef.current) {\n onStateChangeRef.current(hydratedState);\n }\n\n isFirstMountRef.current = false;\n }, [getRootState, emitter, state]);\n\n const defaultOnUnhandledAction = React.useCallback(\n (action: NavigationAction) => {\n if (process.env.NODE_ENV === 'production') {\n return;\n }\n\n const payload: Record<string, any> | undefined = action.payload;\n\n let message = `The action '${action.type}'${\n payload ? ` with payload ${JSON.stringify(action.payload)}` : ''\n } was not handled by any navigator.`;\n\n switch (action.type) {\n case 'NAVIGATE':\n case 'PUSH':\n case 'REPLACE':\n case 'JUMP_TO':\n if (payload?.name) {\n message += `\\n\\nDo you have a screen named '${payload.name}'?\\n\\nIf you're trying to navigate to a screen in a nested navigator, see https://reactnavigation.org/docs/nesting-navigators#navigating-to-a-screen-in-a-nested-navigator.`;\n } else {\n message += `\\n\\nYou need to pass the name of the screen to navigate to.\\n\\nSee https://reactnavigation.org/docs/navigation-actions for usage.`;\n }\n\n break;\n case 'GO_BACK':\n case 'POP':\n case 'POP_TO_TOP':\n message += `\\n\\nIs there any screen to go back to?`;\n break;\n case 'OPEN_DRAWER':\n case 'CLOSE_DRAWER':\n case 'TOGGLE_DRAWER':\n message += `\\n\\nIs your screen inside a Drawer navigator?`;\n break;\n }\n\n message += `\\n\\nThis is a development-only warning and won't be shown in production.`;\n\n console.error(message);\n },\n []\n );\n\n let element = (\n <NavigationContainerRefContext.Provider value={navigation}>\n <ScheduleUpdateContext.Provider value={scheduleContext}>\n <NavigationBuilderContext.Provider value={builderContext}>\n <NavigationStateContext.Provider value={context}>\n <UnhandledActionContext.Provider\n value={onUnhandledAction ?? defaultOnUnhandledAction}\n >\n <EnsureSingleNavigator>{children}</EnsureSingleNavigator>\n </UnhandledActionContext.Provider>\n </NavigationStateContext.Provider>\n </NavigationBuilderContext.Provider>\n </ScheduleUpdateContext.Provider>\n </NavigationContainerRefContext.Provider>\n );\n\n if (independent) {\n // We need to clear any existing contexts for nested independent container to work correctly\n element = (\n <NavigationRouteContext.Provider value={undefined}>\n <NavigationContext.Provider value={undefined}>\n {element}\n </NavigationContext.Provider>\n </NavigationRouteContext.Provider>\n );\n }\n\n return element;\n }\n);\n\nexport default BaseNavigationContainer;\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/c07638466b69419cbe81a9fcfaaee698.json b/.expo/web/cache/development/babel-loader/c07638466b69419cbe81a9fcfaaee698.json new file mode 100644 index 0000000000000000000000000000000000000000..f3b44a80db192614111b4ad0c5aee09a833c3776 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/c07638466b69419cbe81a9fcfaaee698.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar punycode = require('punycode');\n\nvar util = require(\"./util\");\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n autoEscape = ['\\''].concat(unwise),\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n},\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n},\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n},\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n var u = new Url();\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function (url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n var queryIndex = url.indexOf('?'),\n splitter = queryIndex !== -1 && queryIndex < url.indexOf('#') ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n var rest = url;\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n var simplePath = simplePathPattern.exec(rest);\n\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n\n if (simplePath[2]) {\n this.search = simplePath[2];\n\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] && (slashes || proto && !slashedProtocol[proto])) {\n var hostEnd = -1;\n\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) hostEnd = hec;\n }\n\n var auth, atSign;\n\n if (hostEnd === -1) {\n atSign = rest.lastIndexOf('@');\n } else {\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n hostEnd = -1;\n\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) hostEnd = hec;\n }\n\n if (hostEnd === -1) hostEnd = rest.length;\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n this.parseHost();\n this.hostname = this.hostname || '';\n var ipv6Hostname = this.hostname[0] === '[' && this.hostname[this.hostname.length - 1] === ']';\n\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n if (!unsafeProtocol[lowerProto]) {\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1) continue;\n var esc = encodeURIComponent(ae);\n\n if (esc === ae) {\n esc = escape(ae);\n }\n\n rest = rest.split(ae).join(esc);\n }\n }\n\n var hash = rest.indexOf('#');\n\n if (hash !== -1) {\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n\n var qm = rest.indexOf('?');\n\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n\n if (rest) this.pathname = rest;\n\n if (slashedProtocol[lowerProto] && this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n this.href = this.format();\n return this;\n};\n\nfunction urlFormat(obj) {\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function () {\n var auth = this.auth || '';\n\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ? this.hostname : '[' + this.hostname + ']');\n\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query && util.isObject(this.query) && Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || query && '?' + query || '';\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n if (this.slashes || (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n pathname = pathname.replace(/[?#]/g, function (match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function (relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function (relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n result.hash = relative.hash;\n\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n if (relative.slashes && !relative.protocol) {\n var rkeys = Object.keys(relative);\n\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol') result[rkey] = relative[rkey];\n }\n\n if (slashedProtocol[result.protocol] && result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n\n while (relPath.length && !(relative.host = relPath.shift())) {\n ;\n }\n\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = result.pathname && result.pathname.charAt(0) === '/',\n isRelAbs = relative.host || relative.pathname && relative.pathname.charAt(0) === '/',\n mustEndAbs = isRelAbs || isSourceAbs || result.host && relative.pathname,\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;else srcPath.unshift(result.host);\n }\n\n result.host = '';\n\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;else relPath.unshift(relative.host);\n }\n\n relative.host = null;\n }\n\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n result.host = relative.host || relative.host === '' ? relative.host : result.host;\n result.hostname = relative.hostname || relative.hostname === '' ? relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n } else if (relPath.length) {\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n var authInHost = result.host && result.host.indexOf('@') > 0 ? result.host.split('@') : false;\n\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n result.search = relative.search;\n result.query = relative.query;\n\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') + (result.search ? result.search : '');\n }\n\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n\n result.href = result.format();\n return result;\n }\n\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (result.host || relative.host || srcPath.length > 1) && (last === '.' || last === '..') || last === '';\n var up = 0;\n\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' && (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && srcPath.join('/').substr(-1) !== '/') {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' || srcPath[0] && srcPath[0].charAt(0) === '/';\n\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' : srcPath.length ? srcPath.shift() : '';\n var authInHost = result.host && result.host.indexOf('@') > 0 ? result.host.split('@') : false;\n\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || result.host && srcPath.length;\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') + (result.search ? result.search : '');\n }\n\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function () {\n var host = this.host;\n var port = portPattern.exec(host);\n\n if (port) {\n port = port[0];\n\n if (port !== ':') {\n this.port = port.substr(1);\n }\n\n host = host.substr(0, host.length - port.length);\n }\n\n if (host) this.hostname = host;\n};","map":{"version":3,"sources":["C:/Users/user/AppData/Roaming/npm/node_modules/expo-cli/node_modules/url/url.js"],"names":["punycode","require","util","exports","parse","urlParse","resolve","urlResolve","resolveObject","urlResolveObject","format","urlFormat","Url","protocol","slashes","auth","host","port","hostname","hash","search","query","pathname","path","href","protocolPattern","portPattern","simplePathPattern","delims","unwise","concat","autoEscape","nonHostChars","hostEndingChars","hostnameMaxLen","hostnamePartPattern","hostnamePartStart","unsafeProtocol","hostlessProtocol","slashedProtocol","querystring","url","parseQueryString","slashesDenoteHost","isObject","u","prototype","isString","TypeError","queryIndex","indexOf","splitter","uSplit","split","slashRegex","replace","join","rest","trim","length","simplePath","exec","substr","proto","lowerProto","toLowerCase","match","hostEnd","i","hec","atSign","lastIndexOf","slice","decodeURIComponent","parseHost","ipv6Hostname","hostparts","l","part","newpart","j","k","charCodeAt","validParts","notHost","bit","push","unshift","toASCII","p","h","ae","esc","encodeURIComponent","escape","qm","s","obj","call","Object","keys","stringify","charAt","source","relative","rel","result","tkeys","tk","tkey","rkeys","rk","rkey","v","relPath","shift","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","pop","isNullOrUndefined","authInHost","isNull","last","hasTrailingSlash","up","splice","isAbsolute"],"mappings":"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","sourcesContent":["// 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 punycode = require('punycode');\nvar util = require('./util');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var queryIndex = url.indexOf('?'),\n splitter =\n (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n util.isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/c09a440ec5c9944d3737340937d7520c.json b/.expo/web/cache/development/babel-loader/c09a440ec5c9944d3737340937d7520c.json new file mode 100644 index 0000000000000000000000000000000000000000..9149fedd52dcc3ae03875554a6ee0fcf953d5efb --- /dev/null +++ b/.expo/web/cache/development/babel-loader/c09a440ec5c9944d3737340937d7520c.json @@ -0,0 +1 @@ +{"ast":null,"code":"var recoveredPropsToSave = null;\nexport function getRecoveryPropsToSave() {\n return recoveredPropsToSave;\n}\nexport function setRecoveryPropsToSave(props) {\n recoveredPropsToSave = JSON.stringify(props);\n}","map":{"version":3,"sources":["../src/ErroRecoveryStore.ts"],"names":[],"mappings":"AAAA,IAAI,oBAAoB,GAAkB,IAA1C;AAEA,OAAM,SAAU,sBAAV,GAAgC;AACpC,SAAO,oBAAP;AACD;AAED,OAAM,SAAU,sBAAV,CAAiC,KAAjC,EAA8D;AAClE,EAAA,oBAAoB,GAAG,IAAI,CAAC,SAAL,CAAe,KAAf,CAAvB;AACD","sourcesContent":["let recoveredPropsToSave: string | null = null;\n\nexport function getRecoveryPropsToSave(): string | null {\n return recoveredPropsToSave;\n}\n\nexport function setRecoveryPropsToSave(props: { [key: string]: any }): void {\n recoveredPropsToSave = JSON.stringify(props);\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/c0ecb949bb0b0f2dcf114f742a40e315.json b/.expo/web/cache/development/babel-loader/c0ecb949bb0b0f2dcf114f742a40e315.json new file mode 100644 index 0000000000000000000000000000000000000000..6250ae676fa18bfb7b887e7378ceb6ea3dc9ddfb --- /dev/null +++ b/.expo/web/cache/development/babel-loader/c0ecb949bb0b0f2dcf114f742a40e315.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport TextInput from \"react-native-web/dist/exports/TextInput\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function Details(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(route.params.name.title),\n _useState2 = _slicedToArray(_useState, 2),\n fach = _useState2[0],\n onChangeFach = _useState2[1];\n\n return _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeFach,\n value: fach,\n multiline: true\n });\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/Details.js"],"names":["Details","navigation","route","useState","params","name","title","fach","onChangeFach","styles","input"],"mappings":";;;;;;;AAGA,eAAe,SAASA,OAAT,OAAuC;AAAA,MAApBC,UAAoB,QAApBA,UAAoB;AAAA,MAARC,KAAQ,QAARA,KAAQ;;AAElD,kBAA6BC,QAAQ,CAACD,KAAK,CAACE,MAAN,CAAaC,IAAb,CAAkBC,KAAnB,CAArC;AAAA;AAAA,MAAOC,IAAP;AAAA,MAAaC,YAAb;;AAGA,SACI,KAAC,SAAD;AAAW,IAAA,KAAK,EAAEC,MAAM,CAACC,KAAzB;AAAgC,IAAA,YAAY,EAAEF,YAA9C;AAA4D,IAAA,KAAK,EAAED,IAAnE;AAAyE,IAAA,SAAS,EAAI;AAAtF,IADJ;AAGH","sourcesContent":["import { StyleSheet, Text, View, Button } from 'react-native';\r\nimport { TextInput } from 'react-native-web';\r\n\r\nexport default function Details({ navigation, route }){\r\n\r\n const [fach, onChangeFach] = useState(route.params.name.title);\r\n \r\n\r\n return(\r\n <TextInput style={styles.input} onChangeText={onChangeFach} value={fach} multiline = {true} />\r\n )\r\n}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/c11a0f81a6d5554dc67af2cb4977b580.json b/.expo/web/cache/development/babel-loader/c11a0f81a6d5554dc67af2cb4977b580.json new file mode 100644 index 0000000000000000000000000000000000000000..a07afb310b9d64687bc664cee9525b2bf04a9349 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/c11a0f81a6d5554dc67af2cb4977b580.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { isObject } from '@react-native-firebase/app/lib/common';\nimport FirestoreDocumentReference from \"./FirestoreDocumentReference\";\nimport FirestoreDocumentSnapshot from \"./FirestoreDocumentSnapshot\";\nimport { parseSetOptions, parseUpdateArgs } from \"./utils\";\nimport { buildNativeMap } from \"./utils/serialize\";\n\nvar FirestoreTransaction = function () {\n function FirestoreTransaction(firestore, meta) {\n _classCallCheck(this, FirestoreTransaction);\n\n this._firestore = firestore;\n this._meta = meta;\n }\n\n _createClass(FirestoreTransaction, [{\n key: \"_prepare\",\n value: function _prepare() {\n this._calledGetCount = 0;\n this._commandBuffer = [];\n this._pendingResult = undefined;\n }\n }, {\n key: \"get\",\n value: function get(documentRef) {\n var _this = this;\n\n if (!(documentRef instanceof FirestoreDocumentReference)) {\n throw new Error(\"firebase.firestore().runTransaction() Transaction.get(*) 'documentRef' expected a DocumentReference.\");\n }\n\n this._calledGetCount++;\n return this._firestore.native.transactionGetDocument(this._meta.id, documentRef.path).then(function (data) {\n return new FirestoreDocumentSnapshot(_this._firestore, data);\n });\n }\n }, {\n key: \"set\",\n value: function set(documentRef, data, options) {\n if (!(documentRef instanceof FirestoreDocumentReference)) {\n throw new Error(\"firebase.firestore().runTransaction() Transaction.set(*) 'documentRef' expected a DocumentReference.\");\n }\n\n if (!isObject(data)) {\n throw new Error(\"firebase.firestore().runTransaction() Transaction.set(_, *) 'data' must be an object..\");\n }\n\n var setOptions;\n\n try {\n setOptions = parseSetOptions(options);\n } catch (e) {\n throw new Error(\"firebase.firestore().runTransaction() Transaction.set(_, _, *) \" + e.message + \".\");\n }\n\n this._commandBuffer.push({\n type: 'SET',\n path: documentRef.path,\n data: buildNativeMap(data, this._firestore._settings.ignoreUndefinedProperties),\n options: setOptions\n });\n\n return this;\n }\n }, {\n key: \"update\",\n value: function update(documentRef) {\n if (!(documentRef instanceof FirestoreDocumentReference)) {\n throw new Error(\"firebase.firestore().runTransaction() Transaction.update(*) 'documentRef' expected a DocumentReference.\");\n }\n\n var data;\n\n try {\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 data = parseUpdateArgs(args);\n } catch (e) {\n throw new Error(\"firebase.firestore().runTransaction() Transaction.update(_, *) \" + e.message);\n }\n\n this._commandBuffer.push({\n type: 'UPDATE',\n path: documentRef.path,\n data: buildNativeMap(data, this._firestore._settings.ignoreUndefinedProperties)\n });\n\n return this;\n }\n }, {\n key: \"delete\",\n value: function _delete(documentRef) {\n if (!(documentRef instanceof FirestoreDocumentReference)) {\n throw new Error(\"firebase.firestore().runTransaction() Transaction.delete(*) 'documentRef' expected a DocumentReference.\");\n }\n\n this._commandBuffer.push({\n type: 'DELETE',\n path: documentRef.path\n });\n\n return this;\n }\n }]);\n\n return FirestoreTransaction;\n}();\n\nexport { FirestoreTransaction as default };","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/firestore/lib/FirestoreTransaction.js"],"names":["isObject","FirestoreDocumentReference","FirestoreDocumentSnapshot","parseSetOptions","parseUpdateArgs","buildNativeMap","FirestoreTransaction","firestore","meta","_firestore","_meta","_calledGetCount","_commandBuffer","_pendingResult","undefined","documentRef","Error","native","transactionGetDocument","id","path","then","data","options","setOptions","e","message","push","type","_settings","ignoreUndefinedProperties","args"],"mappings":"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","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { isObject } from '@react-native-firebase/app/lib/common';\nimport FirestoreDocumentReference from './FirestoreDocumentReference';\nimport FirestoreDocumentSnapshot from './FirestoreDocumentSnapshot';\nimport { parseSetOptions, parseUpdateArgs } from './utils';\nimport { buildNativeMap } from './utils/serialize';\n\nexport default class FirestoreTransaction {\n constructor(firestore, meta) {\n this._firestore = firestore;\n this._meta = meta;\n }\n\n /**\n * Clears the command buffer and any pending result in prep for\n * the next transaction iteration attempt.\n *\n * @private\n */\n _prepare() {\n this._calledGetCount = 0;\n this._commandBuffer = [];\n this._pendingResult = undefined;\n }\n\n /**\n * Reads the document referenced by the provided DocumentReference.\n */\n get(documentRef) {\n if (!(documentRef instanceof FirestoreDocumentReference)) {\n throw new Error(\n \"firebase.firestore().runTransaction() Transaction.get(*) 'documentRef' expected a DocumentReference.\",\n );\n }\n\n this._calledGetCount++;\n return this._firestore.native\n .transactionGetDocument(this._meta.id, documentRef.path)\n .then(data => new FirestoreDocumentSnapshot(this._firestore, data));\n }\n\n /**\n * Writes to the document referred to by the provided DocumentReference.\n * If the document does not exist yet, it will be created. If you pass options,\n * the provided data can be merged into the existing document.\n */\n set(documentRef, data, options) {\n if (!(documentRef instanceof FirestoreDocumentReference)) {\n throw new Error(\n \"firebase.firestore().runTransaction() Transaction.set(*) 'documentRef' expected a DocumentReference.\",\n );\n }\n\n if (!isObject(data)) {\n throw new Error(\n \"firebase.firestore().runTransaction() Transaction.set(_, *) 'data' must be an object..\",\n );\n }\n\n let setOptions;\n try {\n setOptions = parseSetOptions(options);\n } catch (e) {\n throw new Error(\n `firebase.firestore().runTransaction() Transaction.set(_, _, *) ${e.message}.`,\n );\n }\n\n this._commandBuffer.push({\n type: 'SET',\n path: documentRef.path,\n data: buildNativeMap(data, this._firestore._settings.ignoreUndefinedProperties),\n options: setOptions,\n });\n\n return this;\n }\n\n update(documentRef, ...args) {\n if (!(documentRef instanceof FirestoreDocumentReference)) {\n throw new Error(\n \"firebase.firestore().runTransaction() Transaction.update(*) 'documentRef' expected a DocumentReference.\",\n );\n }\n\n let data;\n try {\n data = parseUpdateArgs(args);\n } catch (e) {\n throw new Error(\n `firebase.firestore().runTransaction() Transaction.update(_, *) ${e.message}`,\n );\n }\n\n this._commandBuffer.push({\n type: 'UPDATE',\n path: documentRef.path,\n data: buildNativeMap(data, this._firestore._settings.ignoreUndefinedProperties),\n });\n\n return this;\n }\n\n delete(documentRef) {\n if (!(documentRef instanceof FirestoreDocumentReference)) {\n throw new Error(\n \"firebase.firestore().runTransaction() Transaction.delete(*) 'documentRef' expected a DocumentReference.\",\n );\n }\n\n this._commandBuffer.push({\n type: 'DELETE',\n path: documentRef.path,\n });\n\n return this;\n }\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/c174013b7110ec0394b7fc5fc93b38a5.json b/.expo/web/cache/development/babel-loader/c174013b7110ec0394b7fc5fc93b38a5.json new file mode 100644 index 0000000000000000000000000000000000000000..a52402189f24f4e6a81c429e9937c0692bc07a67 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/c174013b7110ec0394b7fc5fc93b38a5.json @@ -0,0 +1 @@ +{"ast":null,"code":"var 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 fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true,\n scale: true,\n scaleX: true,\n scaleY: true,\n scaleZ: true,\n shadowOpacity: true\n};\nvar prefixes = ['ms', 'Moz', 'O', 'Webkit'];\n\nvar prefixKey = function prefixKey(prefix, key) {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n};\n\nObject.keys(unitlessNumbers).forEach(function (prop) {\n prefixes.forEach(function (prefix) {\n unitlessNumbers[prefixKey(prefix, prop)] = unitlessNumbers[prop];\n });\n});\nexport default unitlessNumbers;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/unitlessNumbers/index.js"],"names":["unitlessNumbers","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","flex","flexGrow","flexOrder","flexPositive","flexShrink","flexNegative","fontWeight","gridRow","gridRowEnd","gridRowGap","gridRowStart","gridColumn","gridColumnEnd","gridColumnGap","gridColumnStart","lineClamp","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","scale","scaleX","scaleY","scaleZ","shadowOpacity","prefixes","prefixKey","prefix","key","charAt","toUpperCase","substring","Object","keys","forEach","prop"],"mappings":"AASA,IAAIA,eAAe,GAAG;AACpBC,EAAAA,uBAAuB,EAAE,IADL;AAEpBC,EAAAA,WAAW,EAAE,IAFO;AAGpBC,EAAAA,iBAAiB,EAAE,IAHC;AAIpBC,EAAAA,gBAAgB,EAAE,IAJE;AAKpBC,EAAAA,gBAAgB,EAAE,IALE;AAMpBC,EAAAA,OAAO,EAAE,IANW;AAOpBC,EAAAA,YAAY,EAAE,IAPM;AAQpBC,EAAAA,eAAe,EAAE,IARG;AASpBC,EAAAA,WAAW,EAAE,IATO;AAUpBC,EAAAA,IAAI,EAAE,IAVc;AAWpBC,EAAAA,QAAQ,EAAE,IAXU;AAYpBC,EAAAA,SAAS,EAAE,IAZS;AAapBC,EAAAA,YAAY,EAAE,IAbM;AAcpBC,EAAAA,UAAU,EAAE,IAdQ;AAepBC,EAAAA,YAAY,EAAE,IAfM;AAgBpBC,EAAAA,UAAU,EAAE,IAhBQ;AAiBpBC,EAAAA,OAAO,EAAE,IAjBW;AAkBpBC,EAAAA,UAAU,EAAE,IAlBQ;AAmBpBC,EAAAA,UAAU,EAAE,IAnBQ;AAoBpBC,EAAAA,YAAY,EAAE,IApBM;AAqBpBC,EAAAA,UAAU,EAAE,IArBQ;AAsBpBC,EAAAA,aAAa,EAAE,IAtBK;AAuBpBC,EAAAA,aAAa,EAAE,IAvBK;AAwBpBC,EAAAA,eAAe,EAAE,IAxBG;AAyBpBC,EAAAA,SAAS,EAAE,IAzBS;AA0BpBC,EAAAA,OAAO,EAAE,IA1BW;AA2BpBC,EAAAA,KAAK,EAAE,IA3Ba;AA4BpBC,EAAAA,OAAO,EAAE,IA5BW;AA6BpBC,EAAAA,OAAO,EAAE,IA7BW;AA8BpBC,EAAAA,MAAM,EAAE,IA9BY;AA+BpBC,EAAAA,MAAM,EAAE,IA/BY;AAgCpBC,EAAAA,IAAI,EAAE,IAhCc;AAkCpBC,EAAAA,WAAW,EAAE,IAlCO;AAmCpBC,EAAAA,YAAY,EAAE,IAnCM;AAoCpBC,EAAAA,WAAW,EAAE,IApCO;AAqCpBC,EAAAA,eAAe,EAAE,IArCG;AAsCpBC,EAAAA,gBAAgB,EAAE,IAtCE;AAuCpBC,EAAAA,gBAAgB,EAAE,IAvCE;AAwCpBC,EAAAA,aAAa,EAAE,IAxCK;AAyCpBC,EAAAA,WAAW,EAAE,IAzCO;AA2CpBC,EAAAA,KAAK,EAAE,IA3Ca;AA4CpBC,EAAAA,MAAM,EAAE,IA5CY;AA6CpBC,EAAAA,MAAM,EAAE,IA7CY;AA8CpBC,EAAAA,MAAM,EAAE,IA9CY;AAgDpBC,EAAAA,aAAa,EAAE;AAhDK,CAAtB;AAuDA,IAAIC,QAAQ,GAAG,CAAC,IAAD,EAAO,KAAP,EAAc,GAAd,EAAmB,QAAnB,CAAf;;AAEA,IAAIC,SAAS,GAAG,SAASA,SAAT,CAAmBC,MAAnB,EAA2BC,GAA3B,EAAgC;AAC9C,SAAOD,MAAM,GAAGC,GAAG,CAACC,MAAJ,CAAW,CAAX,EAAcC,WAAd,EAAT,GAAuCF,GAAG,CAACG,SAAJ,CAAc,CAAd,CAA9C;AACD,CAFD;;AAIAC,MAAM,CAACC,IAAP,CAAYtD,eAAZ,EAA6BuD,OAA7B,CAAqC,UAAUC,IAAV,EAAgB;AACnDV,EAAAA,QAAQ,CAACS,OAAT,CAAiB,UAAUP,MAAV,EAAkB;AACjChD,IAAAA,eAAe,CAAC+C,SAAS,CAACC,MAAD,EAASQ,IAAT,CAAV,CAAf,GAA2CxD,eAAe,CAACwD,IAAD,CAA1D;AACD,GAFD;AAGD,CAJD;AAKA,eAAexD,eAAf","sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\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 */\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 * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\n\nvar prefixes = ['ms', 'Moz', 'O', 'Webkit'];\n\nvar prefixKey = function prefixKey(prefix, key) {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n};\n\nObject.keys(unitlessNumbers).forEach(function (prop) {\n prefixes.forEach(function (prefix) {\n unitlessNumbers[prefixKey(prefix, prop)] = unitlessNumbers[prop];\n });\n});\nexport default unitlessNumbers;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/c2770db25b66426f371e91fe6cb63a1c.json b/.expo/web/cache/development/babel-loader/c2770db25b66426f371e91fe6cb63a1c.json new file mode 100644 index 0000000000000000000000000000000000000000..94068c1e205302b57ed43fd3e4e80ab7704022fe --- /dev/null +++ b/.expo/web/cache/development/babel-loader/c2770db25b66426f371e91fe6cb63a1c.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATAS = null;\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n DATA = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(getFirestore(), \"Users\");\n var big = [];\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var itemData = {\n name: doc.data().Name,\n email: doc.data().Email,\n image: doc.data().Image,\n id: doc.id\n };\n big.push(itemData);\n setUsers(big);\n });\n });\n }, []);\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n var big = [];\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n big.push(itemData);\n }\n });\n setUsers(big);\n });\n }\n\n if (route.params != null) {\n setUsers(null);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n }), _jsx(Text, {\n style: styles.beschreibung,\n children: item.name\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsxs(View, {\n children: [_jsx(Text, {\n children: \"No Data Found\"\n }), _jsx(Button, {\n title: \"Load Data\",\n onPress: listenOnChange\n })]\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" \"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return item + index;\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n },\n item: {\n width: 250,\n paddingTop: 20,\n paddingBottom: 20,\n paddingRight: 20,\n marginVertical: 8,\n marginHorizontal: 25,\n borderBottomColor: '#D9D9D9',\n borderBottomWidth: 2,\n flexDirection: \"row\"\n },\n beschreibung: {\n marginLeft: 10,\n width: 180,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 16,\n lineHeight: 23,\n color: \"#5E6A79\"\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATAS","UserLists","navigation","route","DATA","setUsers","colRef","big","querySnapshot","forEach","itemData","name","data","Name","email","Email","image","Image","id","push","listenOnChange","snapchot","docChanges","change","type","message","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","beschreibung","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","Alert","alert","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height","paddingTop","paddingBottom","paddingRight","marginVertical","borderBottomColor","borderBottomWidth","flexDirection","marginLeft","fontStyle","fontWeight","fontSize","lineHeight"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATAS = null;\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [DATA, setUsers] = useState(null);\r\n\r\n//listenOnChange();\r\n//useeffect();\r\n\r\n/*useEffect(()=>{\r\nconst colRef = collection(getFirestore(),\"Users\");\r\nconst big= [];\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n //DATA.push(itemData);\r\n setUsers(big);\r\n //Alert.alert('count data',DATA.name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])*/\r\n\r\n\r\n\r\n\r\n//test\r\nuseEffect(()=>{\r\n const colRef = collection(getFirestore(),\"Users\");\r\n const big= [];\r\n onSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n //DATA.push(itemData);\r\n setUsers(big);\r\n //Alert.alert('count data',DATA.name);\r\n });\r\n \r\n //setUsers(users)\r\n });\r\n //Alert.alert(users.Name.toString);\r\n \r\n },[])\r\n\r\n\r\n \r\n\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n const big = [];\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n //DATA.push(itemData);\r\n big.push(itemData);\r\n \r\n //Alert.alert('listen on change',message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n }); setUsers(big);\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\nsetUsers(null);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n \r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n <Text style={styles.beschreibung}>\r\n {item.name} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){ //DATAS zu DATA ändern ___-------\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <View>\r\n <Text>\r\n No Data Found \r\n </Text>\r\n <Button title='Load Data' onPress={listenOnChange}/>\r\n </View>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> </Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA} //DATAS zu DATA ändern ___-------\r\n renderItem={renderItem}\r\n /*keyExtractor={ (item, index) => index.toString()}//item => item.id*/\r\n keyExtractor={(item, index) => item + index}\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n item: {\r\n width: 250,\r\n paddingTop: 20,\r\n paddingBottom: 20,\r\n paddingRight: 20,\r\n marginVertical: 8,\r\n marginHorizontal: 25,\r\n borderBottomColor: '#D9D9D9',\r\n borderBottomWidth: 2,\r\n flexDirection: \"row\",\r\n },\r\n beschreibung: {\r\n marginLeft:10,\r\n width: 180,\r\n\r\n // font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 16,\r\n lineHeight: 23,\r\n color: \"#5E6A79\",\r\n },\r\n\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/c2dc00a020d477ffc53b83d488359ac8.json b/.expo/web/cache/development/babel-loader/c2dc00a020d477ffc53b83d488359ac8.json new file mode 100644 index 0000000000000000000000000000000000000000..f28e6305fe0a18a62687fb3c011832fb1ba595af --- /dev/null +++ b/.expo/web/cache/development/babel-loader/c2dc00a020d477ffc53b83d488359ac8.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nimport invariant from 'fbjs/lib/invariant';\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 = {};\n\nvar Dimensions = function () {\n function Dimensions() {}\n\n Dimensions.get = function get(dimension) {\n invariant(dimensions[dimension], \"No dimension set for key \" + dimension);\n return dimensions[dimension];\n };\n\n Dimensions.set = function 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\n if (initialDimensions.window != null) {\n dimensions.window = initialDimensions.window;\n }\n }\n }\n };\n\n Dimensions._update = function _update() {\n if (!canUseDOM) {\n return;\n }\n\n var win = window;\n var docEl = win.document.documentElement;\n dimensions.window = {\n fontScale: 1,\n height: docEl.clientHeight,\n scale: win.devicePixelRatio || 1,\n width: docEl.clientWidth\n };\n dimensions.screen = {\n fontScale: 1,\n height: win.screen.height,\n scale: win.devicePixelRatio || 1,\n width: win.screen.width\n };\n\n if (Array.isArray(listeners['change'])) {\n listeners['change'].forEach(function (handler) {\n return handler(dimensions);\n });\n }\n };\n\n Dimensions.addEventListener = function addEventListener(type, handler) {\n listeners[type] = listeners[type] || [];\n listeners[type].push(handler);\n };\n\n Dimensions.removeEventListener = function removeEventListener(type, handler) {\n if (Array.isArray(listeners[type])) {\n listeners[type] = listeners[type].filter(function (_handler) {\n return _handler !== handler;\n });\n }\n };\n\n return Dimensions;\n}();\n\nexport { Dimensions as default };\n\nif (canUseDOM) {\n Dimensions._update();\n\n window.addEventListener('resize', Dimensions._update, false);\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/Dimensions/index.js"],"names":["canUseDOM","invariant","dimensions","window","fontScale","height","scale","width","screen","listeners","Dimensions","get","dimension","set","initialDimensions","_update","win","docEl","document","documentElement","clientHeight","devicePixelRatio","clientWidth","Array","isArray","forEach","handler","addEventListener","type","push","removeEventListener","filter","_handler","default"],"mappings":"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","sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nimport invariant from 'fbjs/lib/invariant';\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 = {};\n\nvar Dimensions = /*#__PURE__*/function () {\n function Dimensions() {}\n\n Dimensions.get = function get(dimension) {\n invariant(dimensions[dimension], \"No dimension set for key \" + dimension);\n return dimensions[dimension];\n };\n\n Dimensions.set = function 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\n if (initialDimensions.window != null) {\n dimensions.window = initialDimensions.window;\n }\n }\n }\n };\n\n Dimensions._update = function _update() {\n if (!canUseDOM) {\n return;\n }\n\n var win = window;\n var docEl = win.document.documentElement;\n dimensions.window = {\n fontScale: 1,\n height: docEl.clientHeight,\n scale: win.devicePixelRatio || 1,\n width: docEl.clientWidth\n };\n dimensions.screen = {\n fontScale: 1,\n height: win.screen.height,\n scale: win.devicePixelRatio || 1,\n width: win.screen.width\n };\n\n if (Array.isArray(listeners['change'])) {\n listeners['change'].forEach(function (handler) {\n return handler(dimensions);\n });\n }\n };\n\n Dimensions.addEventListener = function addEventListener(type, handler) {\n listeners[type] = listeners[type] || [];\n listeners[type].push(handler);\n };\n\n Dimensions.removeEventListener = function removeEventListener(type, handler) {\n if (Array.isArray(listeners[type])) {\n listeners[type] = listeners[type].filter(function (_handler) {\n return _handler !== handler;\n });\n }\n };\n\n return Dimensions;\n}();\n\nexport { Dimensions as default };\n\nif (canUseDOM) {\n Dimensions._update();\n\n window.addEventListener('resize', Dimensions._update, false);\n}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/c4f388891464623de0e4ca5c739b8f95.json b/.expo/web/cache/development/babel-loader/c4f388891464623de0e4ca5c739b8f95.json new file mode 100644 index 0000000000000000000000000000000000000000..ee0f15470f9cf4fed547ec515234e289741967ac --- /dev/null +++ b/.expo/web/cache/development/babel-loader/c4f388891464623de0e4ca5c739b8f95.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore } from \"firebase/firestore\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Name = _doc$data.Name,\n Email = _doc$data.Email,\n Image = _doc$data.Image;\n\n users.push({\n id: doc.id,\n Name: Name,\n Email: Email,\n Image: Image\n });\n });\n setUsers(users);\n });\n }, []);\n\n try {\n var docRef = function docRef() {\n return _regeneratorRuntime.async(function docRef$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _regeneratorRuntime.awrap(addDoc(collection(db, \"users\"), {\n Name: \"Ada\",\n Email: \"Lovelace\",\n Image: \"1815\"\n }));\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n };\n\n console.log(\"Document written with ID: \", docRef.id);\n Alert.alert(\"write Data worked: \");\n } catch (e) {\n console.error(\"Error adding document: \", e);\n }\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsxs(Text, {\n children: [item.title, users.toString]\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Name","Email","Image","push","id","docRef","console","log","Alert","alert","e","error","params","post","Item","item","onPress","backgroundColor","textColor","styles","title","toString","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore} from \"firebase/firestore\"\r\n\r\n\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Name, Email, Image} = doc.data();\r\n users.push({id:doc.id, Name, Email, Image})\r\n });\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"users\"), {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}\r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();*/\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async (id) => {\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUser({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n {users.toString}\r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/c4fa5a2015cef7b92296371a65a23fc5.json b/.expo/web/cache/development/babel-loader/c4fa5a2015cef7b92296371a65a23fc5.json new file mode 100644 index 0000000000000000000000000000000000000000..68d8881ccc6a6d265672461dca464eb66cf009ba --- /dev/null +++ b/.expo/web/cache/development/babel-loader/c4fa5a2015cef7b92296371a65a23fc5.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport TextInput from \"react-native-web/dist/exports/TextInput\";\nimport React, { useState, useEffect } from 'react';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function CreateNewUser(_ref) {\n var navigation = _ref.navigation;\n\n var _useState = useState(''),\n _useState2 = _slicedToArray(_useState, 2),\n name = _useState2[0],\n onChangeName = _useState2[1];\n\n var _useState3 = useState(''),\n _useState4 = _slicedToArray(_useState3, 2),\n email = _useState4[0],\n onChangeEmail = _useState4[1];\n\n var _useState5 = useState(''),\n _useState6 = _slicedToArray(_useState5, 2),\n image = _useState6[0],\n onChangeImage = _useState6[1];\n\n function newUser() {\n return _regeneratorRuntime.async(function newUser$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return _regeneratorRuntime.awrap(addDoc(collection(getFirestore(), 'Users'), {\n Name: name,\n Email: email,\n Image: image\n }));\n\n case 3:\n _context.next = 7;\n break;\n\n case 5:\n _context.prev = 5;\n _context.t0 = _context[\"catch\"](0);\n\n case 7:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, [[0, 5]], Promise);\n }\n\n ;\n\n function Submitt() {\n newUser();\n navigation.navigate({\n name: 'UserList',\n merge: true\n });\n }\n\n return _jsxs(View, {\n children: [_jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeName,\n value: name,\n multiline: true,\n placeholder: \"Name\"\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeEmail,\n value: email,\n multiline: true,\n placeholder: \"Email\"\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeImage,\n value: image,\n multiline: true,\n placeholder: \"Image URL\"\n }), _jsx(Button, {\n style: styles.button,\n title: \"Submitt\",\n onPress: Submitt\n })]\n });\n}\n;\nvar styles = StyleSheet.create({\n input: {\n borderBottomColor: '#CFCDCD',\n borderBottomWidth: 1,\n width: 220,\n marginTop: 20\n },\n button: {\n marginTop: 35,\n width: 85,\n height: 35,\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\n borderRadius: 12\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/CreateNewUser.js"],"names":["React","useState","useEffect","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","firebase","CreateNewUser","navigation","name","onChangeName","email","onChangeEmail","image","onChangeImage","newUser","Name","Email","Image","Submitt","navigate","merge","styles","input","button","StyleSheet","create","borderBottomColor","borderBottomWidth","width","marginTop","height","backgroundColor","borderRadius"],"mappings":";;;;;;;AACA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;AAEA,OAAOC,EAAP;AACA,SAAQC,UAAR,EAAoBC,GAApB,EAAyBC,UAAzB,EAAqCC,aAArC,EAAoDC,MAApD,EAA4DC,SAA5D,EAAuEC,MAAvE,EAA+EC,YAA/E,EAA6FC,MAA7F,EAAqGC,MAArG,QAAkH,oBAAlH;AACA,SAASC,QAAT,QAAyB,kCAAzB;;;AAEA,eAAe,SAASC,aAAT,OAAqC;AAAA,MAAZC,UAAY,QAAZA,UAAY;;AAEhD,kBAA6Bf,QAAQ,CAAC,EAAD,CAArC;AAAA;AAAA,MAAOgB,IAAP;AAAA,MAAaC,YAAb;;AACA,mBAA+BjB,QAAQ,CAAC,EAAD,CAAvC;AAAA;AAAA,MAAOkB,KAAP;AAAA,MAAcC,aAAd;;AACA,mBAA+BnB,QAAQ,CAAC,EAAD,CAAvC;AAAA;AAAA,MAAOoB,KAAP;AAAA,MAAcC,aAAd;;AAEA,WAAeC,OAAf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6CAEYf,MAAM,CAACJ,UAAU,CAACO,YAAY,EAAb,EAAiB,OAAjB,CAAX,EAAqC;AAC/Ca,cAAAA,IAAI,EAAEP,IADyC;AAE/CQ,cAAAA,KAAK,EAAEN,KAFwC;AAG/CO,cAAAA,KAAK,EAAEL;AAHwC,aAArC,CAFlB;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAWK;;AAEN,WAASM,OAAT,GAAkB;AACdJ,IAAAA,OAAO;AACdP,IAAAA,UAAU,CAACY,QAAX,CAAoB;AACRX,MAAAA,IAAI,EAAE,UADE;AAGRY,MAAAA,KAAK,EAAE;AAHC,KAApB;AAKK;;AACL,SACI,MAAC,IAAD;AAAA,eAEA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEC,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAEb,YAA9C;AAA4D,MAAA,KAAK,EAAED,IAAnE;AAAyE,MAAA,SAAS,EAAI,IAAtF;AAA4F,MAAA,WAAW,EAAC;AAAxG,MAFA,EAGA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEa,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAEX,aAA9C;AAA6D,MAAA,KAAK,EAAED,KAApE;AAA2E,MAAA,SAAS,EAAI,IAAxF;AAA8F,MAAA,WAAW,EAAC;AAA1G,MAHA,EAIA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEW,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAET,aAA9C;AAA6D,MAAA,KAAK,EAAED,KAApE;AAA2E,MAAA,SAAS,EAAI,IAAxF;AAA+F,MAAA,WAAW,EAAC;AAA3G,MAJA,EAKA,KAAC,MAAD;AAAQ,MAAA,KAAK,EAAES,MAAM,CAACE,MAAtB;AAA8B,MAAA,KAAK,EAAC,SAApC;AAA8C,MAAA,OAAO,EAAEL;AAAvD,MALA;AAAA,IADJ;AASC;AAAA;AAED,IAAMG,MAAM,GAAGG,UAAU,CAACC,MAAX,CAAkB;AAC7BH,EAAAA,KAAK,EAAC;AAEFI,IAAAA,iBAAiB,EAAC,SAFhB;AAGFC,IAAAA,iBAAiB,EAAC,CAHhB;AAIFC,IAAAA,KAAK,EAAE,GAJL;AAKFC,IAAAA,SAAS,EAAE;AALT,GADuB;AAQ5BN,EAAAA,MAAM,EAAC;AACHM,IAAAA,SAAS,EAAC,EADP;AAEHD,IAAAA,KAAK,EAAE,EAFJ;AAGJE,IAAAA,MAAM,EAAE,EAHJ;AAIJC,IAAAA,eAAe,EAAE,0BAJb;AAMJC,IAAAA,YAAY,EAAE;AANV;AARqB,CAAlB,CAAf","sourcesContent":["import { StyleSheet, Text, View, Button, TextInput } from 'react-native';\r\nimport React, { useState, useEffect } from 'react';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\nexport default function CreateNewUser({ navigation}){\r\n\r\n const [name, onChangeName] = useState('');\r\n const [email, onChangeEmail] = useState('');\r\n const [image, onChangeImage] = useState('');\r\n\r\n async function newUser(){\r\n try{\r\n await addDoc(collection(getFirestore(), 'Users'),{\r\n Name: name,\r\n Email: email,\r\n Image: image,\r\n });\r\n }\r\n catch(error){\r\n \r\n }\r\n };\r\n\r\n function Submitt(){\r\n newUser();\r\nnavigation.navigate({\r\n name: 'UserList',\r\n //params: { post: fach },\r\n merge: true,\r\n });\r\n }\r\nreturn(\r\n <View>\r\n \r\n <TextInput style={styles.input} onChangeText={onChangeName} value={name} multiline = {true} placeholder=\"Name\" />\r\n <TextInput style={styles.input} onChangeText={onChangeEmail} value={email} multiline = {true} placeholder=\"Email\"/>\r\n <TextInput style={styles.input} onChangeText={onChangeImage} value={image} multiline = {true} placeholder=\"Image URL\"/>\r\n <Button style={styles.button} title='Submitt' onPress={Submitt} />\r\n </View>\r\n)\r\n};\r\n\r\nconst styles = StyleSheet.create({\r\n input:{\r\n //underlineColorAndroid: '#CFCDCD',\r\n borderBottomColor:'#CFCDCD',\r\n borderBottomWidth:1,\r\n width: 220,\r\n marginTop: 20,\r\n },\r\n button:{\r\n marginTop:35,\r\n width: 85,\r\n height: 35,\r\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\r\n //box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);\r\n borderRadius: 12,\r\n }\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/c5d3157c5c0e0fe356df44a09e252f03.json b/.expo/web/cache/development/babel-loader/c5d3157c5c0e0fe356df44a09e252f03.json new file mode 100644 index 0000000000000000000000000000000000000000..c10c815014c239be4ccb6fa1587b6c0498a24b89 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/c5d3157c5c0e0fe356df44a09e252f03.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport AnimatedInterpolation from \"./AnimatedInterpolation\";\nimport AnimatedNode from \"./AnimatedNode\";\nimport AnimatedValue from \"./AnimatedValue\";\nimport AnimatedWithChildren from \"./AnimatedWithChildren\";\n\nvar AnimatedDivision = function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedDivision, _AnimatedWithChildren);\n\n function AnimatedDivision(a, b) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n _this._warnedAboutDivideByZero = false;\n\n if (b === 0 || b instanceof AnimatedNode && b.__getValue() === 0) {\n console.error('Detected potential division by zero in AnimatedDivision');\n }\n\n _this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n _this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n return _this;\n }\n\n var _proto = AnimatedDivision.prototype;\n\n _proto.__makeNative = function __makeNative() {\n this._a.__makeNative();\n\n this._b.__makeNative();\n\n _AnimatedWithChildren.prototype.__makeNative.call(this);\n };\n\n _proto.__getValue = function __getValue() {\n var a = this._a.__getValue();\n\n var b = this._b.__getValue();\n\n if (b === 0) {\n if (!this._warnedAboutDivideByZero) {\n console.error('Detected division by zero in AnimatedDivision');\n this._warnedAboutDivideByZero = true;\n }\n\n return 0;\n }\n\n this._warnedAboutDivideByZero = false;\n return a / b;\n };\n\n _proto.interpolate = function interpolate(config) {\n return new AnimatedInterpolation(this, config);\n };\n\n _proto.__attach = function __attach() {\n this._a.__addChild(this);\n\n this._b.__addChild(this);\n };\n\n _proto.__detach = function __detach() {\n this._a.__removeChild(this);\n\n this._b.__removeChild(this);\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n return {\n type: 'division',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n };\n\n return AnimatedDivision;\n}(AnimatedWithChildren);\n\nexport default AnimatedDivision;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedDivision.js"],"names":["_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","AnimatedInterpolation","AnimatedNode","AnimatedValue","AnimatedWithChildren","AnimatedDivision","_AnimatedWithChildren","a","b","_this","call","_warnedAboutDivideByZero","__getValue","console","error","_a","_b","_proto","__makeNative","interpolate","config","__attach","__addChild","__detach","__removeChild","__getNativeConfig","type","input","__getNativeTag"],"mappings":"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","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\n\nvar AnimatedDivision = /*#__PURE__*/function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedDivision, _AnimatedWithChildren);\n\n function AnimatedDivision(a, b) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n _this._warnedAboutDivideByZero = false;\n\n if (b === 0 || b instanceof AnimatedNode && b.__getValue() === 0) {\n console.error('Detected potential division by zero in AnimatedDivision');\n }\n\n _this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n _this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n return _this;\n }\n\n var _proto = AnimatedDivision.prototype;\n\n _proto.__makeNative = function __makeNative() {\n this._a.__makeNative();\n\n this._b.__makeNative();\n\n _AnimatedWithChildren.prototype.__makeNative.call(this);\n };\n\n _proto.__getValue = function __getValue() {\n var a = this._a.__getValue();\n\n var b = this._b.__getValue();\n\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 } // Passing infinity/NaN to Fabric will cause a native crash\n\n\n return 0;\n }\n\n this._warnedAboutDivideByZero = false;\n return a / b;\n };\n\n _proto.interpolate = function interpolate(config) {\n return new AnimatedInterpolation(this, config);\n };\n\n _proto.__attach = function __attach() {\n this._a.__addChild(this);\n\n this._b.__addChild(this);\n };\n\n _proto.__detach = function __detach() {\n this._a.__removeChild(this);\n\n this._b.__removeChild(this);\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n return {\n type: 'division',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n };\n\n return AnimatedDivision;\n}(AnimatedWithChildren);\n\nexport default AnimatedDivision;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/c77065818273bded46e8598453ef39a1.json b/.expo/web/cache/development/babel-loader/c77065818273bded46e8598453ef39a1.json new file mode 100644 index 0000000000000000000000000000000000000000..c68e5c966aad594c6e96c9c6828293f101ace045 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/c77065818273bded46e8598453ef39a1.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { hasOwnProperty, isArray, isBoolean, isFunction, isObject, isString, isUndefined } from '@react-native-firebase/app/lib/common';\nimport FirestoreFieldPath, { fromDotSeparatedString } from \"../FirestoreFieldPath\";\nexport function extractFieldPathData(data, segmenets) {\n if (!isObject(data)) {\n return undefined;\n }\n\n var pathValue = data[segmenets[0]];\n\n if (segmenets.length === 1) {\n return pathValue;\n }\n\n return extractFieldPathData(pathValue, segmenets.slice(1));\n}\nexport function parseUpdateArgs(args) {\n var data = {};\n\n if (args.length === 1) {\n if (!isObject(args[0])) {\n throw new Error('if using a single update argument, it must be an object.');\n }\n\n var _args = _slicedToArray(args, 1);\n\n data = _args[0];\n } else if (args.length % 2 === 1) {\n throw new Error('the update arguments must be either a single object argument, or equal numbers of key/value pairs.');\n } else {\n for (var i = 0; i < args.length; i += 2) {\n var key = args[i];\n var value = args[i + 1];\n\n if (isString(key)) {\n data[key] = value;\n } else if (key instanceof FirestoreFieldPath) {\n data[key._toPath()] = value;\n } else {\n throw new Error(\"argument at index \" + i + \" must be a string or FieldPath\");\n }\n }\n }\n\n return data;\n}\nexport function parseSetOptions(options) {\n var out = {};\n\n if (isUndefined(options)) {\n return out;\n }\n\n if (!isObject(options)) {\n throw new Error(\"'options' must be an object.\");\n }\n\n if (hasOwnProperty(options, 'merge') && hasOwnProperty(options, 'mergeFields')) {\n throw new Error(\"'options' must not contain both 'merge' & 'mergeFields'.\");\n }\n\n if (!isUndefined(options.merge)) {\n if (!isBoolean(options.merge)) {\n throw new Error(\"'options.merge' must be a boolean value.\");\n }\n\n out.merge = true;\n }\n\n if (!isUndefined(options.mergeFields)) {\n if (!isArray(options.mergeFields)) {\n throw new Error(\"'options.mergeFields' must be an array.\");\n }\n\n out.mergeFields = [];\n\n for (var i = 0; i < options.mergeFields.length; i++) {\n var field = options.mergeFields[i];\n\n if (!isString(field) && !(field instanceof FirestoreFieldPath)) {\n throw new Error(\"'options.mergeFields' all fields must be of type string or FieldPath, but the value at index \" + i + \" was \" + typeof field);\n }\n\n var path = field;\n\n if (isString(path)) {\n try {\n path = fromDotSeparatedString(field);\n } catch (e) {\n throw new Error(\"'options.mergeFields' \" + e.message);\n }\n }\n\n if (field instanceof FirestoreFieldPath) {\n out.mergeFields.push(field._toPath());\n } else {\n out.mergeFields.push(field);\n }\n }\n }\n\n return out;\n}\n\nfunction isPartialObserver(input) {\n if (input == null) {\n return false;\n }\n\n return input.next != null || input.error != null || input.complete != null;\n}\n\nexport function parseSnapshotArgs(args) {\n if (args.length === 0) {\n throw new Error('expected at least one argument.');\n }\n\n var NOOP = function NOOP() {};\n\n var snapshotListenOptions = {};\n var callback = NOOP;\n var onError = NOOP;\n var onNext = NOOP;\n\n if (isFunction(args[0])) {\n if (isFunction(args[1])) {\n onNext = args[0];\n onError = args[1];\n } else {\n callback = args[0];\n }\n }\n\n if (isObject(args[0]) && isPartialObserver(args[0])) {\n var observer = args[0];\n\n if (observer.error) {\n onError = isFunction(observer.error) ? observer.error.bind(observer) : observer.error;\n }\n\n if (observer.next) {\n onNext = isFunction(observer.next) ? observer.next.bind(observer) : observer.next;\n }\n }\n\n if (isObject(args[0]) && !isPartialObserver(args[0])) {\n snapshotListenOptions.includeMetadataChanges = args[0].includeMetadataChanges == null ? false : args[0].includeMetadataChanges;\n\n if (isFunction(args[1])) {\n if (isFunction(args[2])) {\n onNext = args[1];\n onError = args[2];\n } else {\n callback = args[1];\n }\n } else if (isPartialObserver(args[1])) {\n var _observer = args[1];\n\n if (_observer.error) {\n onError = isFunction(_observer.error) ? _observer.error.bind(_observer) : _observer.error;\n }\n\n if (_observer.next) {\n onNext = isFunction(_observer.next) ? _observer.next.bind(_observer) : _observer.next;\n }\n }\n }\n\n if (hasOwnProperty(snapshotListenOptions, 'includeMetadataChanges')) {\n if (!isBoolean(snapshotListenOptions.includeMetadataChanges)) {\n throw new Error(\"'options' SnapshotOptions.includeMetadataChanges must be a boolean value.\");\n }\n }\n\n if (!isFunction(onNext)) {\n throw new Error(\"'observer.next' or 'onNext' expected a function.\");\n }\n\n if (!isFunction(onError)) {\n throw new Error(\"'observer.error' or 'onError' expected a function.\");\n }\n\n return {\n snapshotListenOptions: snapshotListenOptions,\n callback: callback,\n onNext: onNext,\n onError: onError\n };\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/firestore/lib/utils/index.js"],"names":["hasOwnProperty","isArray","isBoolean","isFunction","isObject","isString","isUndefined","FirestoreFieldPath","fromDotSeparatedString","extractFieldPathData","data","segmenets","undefined","pathValue","length","slice","parseUpdateArgs","args","Error","i","key","value","_toPath","parseSetOptions","options","out","merge","mergeFields","field","path","e","message","push","isPartialObserver","input","next","error","complete","parseSnapshotArgs","NOOP","snapshotListenOptions","callback","onError","onNext","observer","bind","includeMetadataChanges"],"mappings":"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","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport {\n hasOwnProperty,\n isArray,\n isBoolean,\n isFunction,\n isObject,\n isString,\n isUndefined,\n} from '@react-native-firebase/app/lib/common';\nimport FirestoreFieldPath, { fromDotSeparatedString } from '../FirestoreFieldPath';\n\nexport function extractFieldPathData(data, segmenets) {\n if (!isObject(data)) {\n return undefined;\n }\n\n const pathValue = data[segmenets[0]];\n\n if (segmenets.length === 1) {\n return pathValue;\n }\n\n return extractFieldPathData(pathValue, segmenets.slice(1));\n}\n\nexport function parseUpdateArgs(args) {\n let data = {};\n if (args.length === 1) {\n if (!isObject(args[0])) {\n throw new Error('if using a single update argument, it must be an object.');\n }\n [data] = args;\n } else if (args.length % 2 === 1) {\n throw new Error(\n 'the update arguments must be either a single object argument, or equal numbers of key/value pairs.',\n );\n } else {\n for (let i = 0; i < args.length; i += 2) {\n const key = args[i];\n const value = args[i + 1];\n if (isString(key)) {\n data[key] = value;\n } else if (key instanceof FirestoreFieldPath) {\n data[key._toPath()] = value;\n } else {\n throw new Error(`argument at index ${i} must be a string or FieldPath`);\n }\n }\n }\n return data;\n}\n\n/**\n *\n * @param options\n */\nexport function parseSetOptions(options) {\n const out = {};\n\n if (isUndefined(options)) {\n return out;\n }\n\n if (!isObject(options)) {\n throw new Error(\"'options' must be an object.\");\n }\n\n if (hasOwnProperty(options, 'merge') && hasOwnProperty(options, 'mergeFields')) {\n throw new Error(\"'options' must not contain both 'merge' & 'mergeFields'.\");\n }\n\n if (!isUndefined(options.merge)) {\n if (!isBoolean(options.merge)) {\n throw new Error(\"'options.merge' must be a boolean value.\");\n }\n\n out.merge = true;\n }\n\n if (!isUndefined(options.mergeFields)) {\n if (!isArray(options.mergeFields)) {\n throw new Error(\"'options.mergeFields' must be an array.\");\n }\n\n out.mergeFields = [];\n\n for (let i = 0; i < options.mergeFields.length; i++) {\n const field = options.mergeFields[i];\n if (!isString(field) && !(field instanceof FirestoreFieldPath)) {\n throw new Error(\n `'options.mergeFields' all fields must be of type string or FieldPath, but the value at index ${i} was ${typeof field}`,\n );\n }\n\n let path = field;\n\n if (isString(path)) {\n try {\n path = fromDotSeparatedString(field);\n } catch (e) {\n throw new Error(`'options.mergeFields' ${e.message}`);\n }\n }\n\n if (field instanceof FirestoreFieldPath) {\n out.mergeFields.push(field._toPath());\n } else {\n out.mergeFields.push(field);\n }\n }\n }\n\n return out;\n}\n\n// function buildFieldPathData(segments, value) {\n// if (segments.length === 1) {\n// return {\n// [segments[0]]: value,\n// };\n// }\n// return {\n// [segments[0]]: buildFieldPathData(segments.slice(1), value),\n// };\n// }\n\nfunction isPartialObserver(input) {\n if (input == null) {\n return false;\n }\n return input.next != null || input.error != null || input.complete != null;\n}\n\nexport function parseSnapshotArgs(args) {\n if (args.length === 0) {\n throw new Error('expected at least one argument.');\n }\n\n // Ignore onComplete as its never used\n const NOOP = () => {};\n const snapshotListenOptions = {};\n let callback = NOOP;\n let onError = NOOP;\n let onNext = NOOP;\n\n /**\n * .onSnapshot(Function...\n */\n if (isFunction(args[0])) {\n /**\n * .onSnapshot((snapshot) => {}, (error) => {}\n */\n if (isFunction(args[1])) {\n onNext = args[0];\n onError = args[1];\n } else {\n /**\n * .onSnapshot((snapshot, error) => {})\n */\n callback = args[0];\n }\n }\n\n /**\n * .onSnapshot({ complete: () => {}, error: (e) => {}, next: (snapshot) => {} })\n */\n if (isObject(args[0]) && isPartialObserver(args[0])) {\n const observer = args[0];\n if (observer.error) {\n onError = isFunction(observer.error) ? observer.error.bind(observer) : observer.error;\n }\n if (observer.next) {\n onNext = isFunction(observer.next) ? observer.next.bind(observer) : observer.next;\n }\n }\n\n /**\n * .onSnapshot(SnapshotListenOptions, ...\n */\n if (isObject(args[0]) && !isPartialObserver(args[0])) {\n snapshotListenOptions.includeMetadataChanges =\n args[0].includeMetadataChanges == null ? false : args[0].includeMetadataChanges;\n if (isFunction(args[1])) {\n /**\n * .onSnapshot(SnapshotListenOptions, Function);\n */\n if (isFunction(args[2])) {\n /**\n * .onSnapshot(SnapshotListenOptions, (snapshot) => {}, (error) => {});\n */\n onNext = args[1];\n onError = args[2];\n } else {\n /**\n * .onSnapshot(SnapshotListenOptions, (s, e) => {};\n */\n callback = args[1];\n }\n } else if (isPartialObserver(args[1])) {\n /**\n * .onSnapshot(SnapshotListenOptions, { complete: () => {}, error: (e) => {}, next: (snapshot) => {} });\n */\n const observer = args[1];\n if (observer.error) {\n onError = isFunction(observer.error) ? observer.error.bind(observer) : observer.error;\n }\n if (observer.next) {\n onNext = isFunction(observer.next) ? observer.next.bind(observer) : observer.next;\n }\n }\n }\n\n if (hasOwnProperty(snapshotListenOptions, 'includeMetadataChanges')) {\n if (!isBoolean(snapshotListenOptions.includeMetadataChanges)) {\n throw new Error(\"'options' SnapshotOptions.includeMetadataChanges must be a boolean value.\");\n }\n }\n\n if (!isFunction(onNext)) {\n throw new Error(\"'observer.next' or 'onNext' expected a function.\");\n }\n\n if (!isFunction(onError)) {\n throw new Error(\"'observer.error' or 'onError' expected a function.\");\n }\n\n return { snapshotListenOptions, callback, onNext, onError };\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/c7cc0a685936135095ae4163be8b0db4.json b/.expo/web/cache/development/babel-loader/c7cc0a685936135095ae4163be8b0db4.json new file mode 100644 index 0000000000000000000000000000000000000000..43a6e80145399ac439116da425ed3b55c4cb29b1 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/c7cc0a685936135095ae4163be8b0db4.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore } from \"firebase/firestore\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n setUsers(users);\n });\n }, []);\n\n function writeData() {\n try {\n var docRef = function docRef() {\n return _regeneratorRuntime.async(function docRef$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _regeneratorRuntime.awrap(addDoc(collection(db, \"Users\"), {\n Email: \"Ada\",\n Image: \"Lovelace\",\n Name: \"1815\"\n }));\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n };\n\n console.log(\"Document written with ID: \", docRef.id);\n Alert.alert(\"write Data worked: \");\n } catch (e) {\n console.error(\"Error adding document: \", e);\n }\n }\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsxs(Text, {\n children: [item.title, users.toString]\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\",\n onPress: writeData\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","writeData","docRef","console","log","Alert","alert","e","error","params","post","Item","item","onPress","backgroundColor","textColor","styles","title","toString","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore} from \"firebase/firestore\"\r\n\r\n\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\nfunction writeData(){\r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}\r\n}\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})*/\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async (id) => {\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUser({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n {users.toString}\r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser' onPress={writeData}/>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/c8c5e81f6b3094af6154131c9013456d.json b/.expo/web/cache/development/babel-loader/c8c5e81f6b3094af6154131c9013456d.json new file mode 100644 index 0000000000000000000000000000000000000000..fb4fd7f3cc09e13467f6a77ecbb2fc79c2ad5bcc --- /dev/null +++ b/.expo/web/cache/development/babel-loader/c8c5e81f6b3094af6154131c9013456d.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n listenOnChange();\n useEffect(function () {\n var colRef = collection(getFirestore(), \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var datas = doc.data();\n var itemData = {\n name: datas.name,\n email: datas.email,\n image: datas.image\n };\n Alert.alert(doc.name);\n });\n });\n }, []);\n\n function useeffect() {\n getDocs(collection(getFirestore(), 'Users')).forEach(function (doc) {\n console.log(doc.id + \" => \" + doc.data());\n });\n }\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n }\n });\n });\n }\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" bla\"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATA","UserLists","navigation","route","users","setUsers","listenOnChange","colRef","querySnapshot","forEach","datas","data","itemData","name","email","image","Alert","alert","useeffect","console","log","id","snapchot","docChanges","change","type","message","Name","Email","Image","push","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState(null);\r\n\r\nlistenOnChange();\r\n//useeffect();\r\n\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(getFirestore(),\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n var datas = doc.data();\r\n const itemData = {name: datas.name, email: datas.email, image: datas.image}\r\n //DATA.push(itemData);\r\n Alert.alert(doc.name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\nfunction useeffect(){\r\n getDocs(collection(getFirestore(),'Users')).forEach((doc) => {\r\n console.log(`${doc.id} => ${doc.data()}`);\r\n});\r\n}\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n //Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> bla</Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/c8c7624d9e6fdbe3b19d66574e6affa0.json b/.expo/web/cache/development/babel-loader/c8c7624d9e6fdbe3b19d66574e6affa0.json new file mode 100644 index 0000000000000000000000000000000000000000..b21cde2d7f13347e31fdc41134d3c820e4f6d270 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/c8c7624d9e6fdbe3b19d66574e6affa0.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([null]),\n _useState2 = _slicedToArray(_useState, 2),\n DATA = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(getFirestore(), \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var itemData = {\n name: doc.data().Name,\n email: doc.data().Email,\n image: doc.data().Image\n };\n setUsers(itemData);\n Alert.alert('useEffect', doc.data().Name);\n });\n });\n }, []);\n\n function useeffect() {\n getDocs(collection(getFirestore(), 'Users')).forEach(function (doc) {\n console.log(doc.id + \" => \" + doc.data());\n });\n }\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n Alert.alert('listen on change', message.Name);\n }\n });\n });\n }\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" \"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","UserLists","navigation","route","DATA","setUsers","colRef","querySnapshot","forEach","itemData","name","data","Name","email","Email","image","Image","Alert","alert","useeffect","console","log","id","listenOnChange","snapchot","docChanges","change","type","message","push","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height"],"mappings":";AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;;;;;;;;;;AAEA,SAASC,SAAT,QAA0B,iBAA1B;AAEA,OAAOC,EAAP;AACA,SAAQC,UAAR,EAAoBC,GAApB,EAAyBC,UAAzB,EAAqCC,aAArC,EAAoDC,MAApD,EAA4DC,SAA5D,EAAuEC,MAAvE,EAA+EC,YAA/E,EAA6FC,OAA7F,EAAsGC,MAAtG,QAAmH,oBAAnH;AACA,SAASC,QAAT,QAAyB,kCAAzB;;;AAQA,eAAe,SAASC,SAAT,OAAuC;AAAA,MAAnBC,UAAmB,QAAnBA,UAAmB;AAAA,MAAPC,KAAO,QAAPA,KAAO;;AAEtD,kBAAyBjB,QAAQ,CAAC,CAAC,IAAD,CAAD,CAAjC;AAAA;AAAA,MAAOkB,IAAP;AAAA,MAAaC,QAAb;;AAKAlB,EAAAA,SAAS,CAAC,YAAI;AAEd,QAAMmB,MAAM,GAAGhB,UAAU,CAACO,YAAY,EAAb,EAAgB,OAAhB,CAAzB;AACAL,IAAAA,UAAU,CAACc,MAAD,EAAS,UAACC,aAAD,EAAmB;AACpCA,MAAAA,aAAa,CAACC,OAAd,CAAsB,UAACjB,GAAD,EAAO;AAEvB,YAAMkB,QAAQ,GAAG;AAACC,UAAAA,IAAI,EAAEnB,GAAG,CAACoB,IAAJ,GAAWC,IAAlB;AAAwBC,UAAAA,KAAK,EAAEtB,GAAG,CAACoB,IAAJ,GAAWG,KAA1C;AAAiDC,UAAAA,KAAK,EAAExB,GAAG,CAACoB,IAAJ,GAAWK;AAAnE,SAAjB;AAEAX,QAAAA,QAAQ,CAACI,QAAD,CAAR;AACAQ,QAAAA,KAAK,CAACC,KAAN,CAAY,WAAZ,EAAwB3B,GAAG,CAACoB,IAAJ,GAAWC,IAAnC;AACL,OAND;AASD,KAVS,CAAV;AAaC,GAhBQ,EAgBP,EAhBO,CAAT;;AAiCA,WAASO,SAAT,GAAoB;AAClBrB,IAAAA,OAAO,CAACR,UAAU,CAACO,YAAY,EAAb,EAAgB,OAAhB,CAAX,CAAP,CAA4CW,OAA5C,CAAoD,UAACjB,GAAD,EAAS;AAC7D6B,MAAAA,OAAO,CAACC,GAAR,CAAe9B,GAAG,CAAC+B,EAAnB,YAA4B/B,GAAG,CAACoB,IAAJ,EAA5B;AACD,KAFC;AAGD;;AAED,WAASY,cAAT,GAA0B;AACxB/B,IAAAA,UAAU,CAACF,UAAU,CAACO,YAAY,EAAb,EAAgB,OAAhB,CAAX,EAAqC,UAAS2B,QAAT,EAAkB;AAC/DA,MAAAA,QAAQ,CAACC,UAAT,GAAsBjB,OAAtB,CAA8B,UAASkB,MAAT,EAAgB;AAC5C,YAAGA,MAAM,CAACC,IAAP,KAAgB,SAAnB,EAA6B,CAE5B,CAFD,MAGI;AACF,cAAIC,OAAO,GAAGF,MAAM,CAACnC,GAAP,CAAWoB,IAAX,EAAd;AACA,cAAMF,QAAQ,GAAG;AAACC,YAAAA,IAAI,EAAEkB,OAAO,CAAChB,IAAf;AAAqBC,YAAAA,KAAK,EAAEe,OAAO,CAACd,KAApC;AAA2CC,YAAAA,KAAK,EAAEa,OAAO,CAACZ;AAA1D,WAAjB;AACAZ,UAAAA,IAAI,CAACyB,IAAL,CAAUpB,QAAV;AACAQ,UAAAA,KAAK,CAACC,KAAN,CAAY,kBAAZ,EAA+BU,OAAO,CAAChB,IAAvC;AAED;AACF,OAXD;AAYD,KAbS,CAAV;AAcD;;AAKD,MAAGT,KAAK,CAAC2B,MAAN,IAAgB,IAAnB,EAAwB,CAGvB;;AACG,MAAMC,IAAI,GAAG,SAAPA,IAAO;AAAA,QAAGC,IAAH,SAAGA,IAAH;AAAA,QAASC,OAAT,SAASA,OAAT;AAAA,QAAkBC,eAAlB,SAAkBA,eAAlB;AAAA,QAAmCC,SAAnC,SAAmCA,SAAnC;AAAA,WACT,KAAC,IAAD;AAAA,gBACE,MAAC,gBAAD;AAAkB,QAAA,OAAO,EAAEF,OAA3B;AAAoC,QAAA,KAAK,EAAE,CAACG,MAAM,CAACJ,IAAR,EAAcE,eAAd,CAA3C;AAAA,mBACE,KAAC,IAAD;AAAA,oBACKF,IAAI,CAACtB;AADV,UADF,EAKE,KAAC,KAAD;AAAO,UAAA,KAAK,EAAE0B,MAAM,CAACC,QAArB;AACH,UAAA,MAAM,EAAE;AACPC,YAAAA,GAAG,EAAEN,IAAI,CAACjB;AADH;AADL,UALF;AAAA;AADF,MADS;AAAA,GAAb;;AAgBJ,mBAAoC7B,QAAQ,CAAC,IAAD,CAA5C;AAAA;AAAA,MAAOqD,UAAP;AAAA,MAAmBC,aAAnB;;AAEE,MAAMC,UAAU,GAAG,SAAbA,UAAa,QAAc;AAAA,QAAXT,IAAW,SAAXA,IAAW;AAC/B,QAAME,eAAe,GAAGF,IAAI,CAACV,EAAL,KAAYiB,UAAZ,GAAyB,SAAzB,GAAqC,SAA7D;AACA,QAAMG,KAAK,GAAGV,IAAI,CAACV,EAAL,KAAYiB,UAAZ,GAAyB,OAAzB,GAAmC,OAAjD;AAEA,WACE,KAAC,IAAD;AACE,MAAA,IAAI,EAAEP,IADR;AAEE,MAAA,OAAO,EAAE;AAAA,eAAMW,uBAAuB,CAACX,IAAD,CAA7B;AAAA,OAFX;AAIE,MAAA,SAAS,EAAE;AAAEU,QAAAA,KAAK,EAALA;AAAF;AAJb,MADF;AAQD,GAZD;;AAeA,MAAMC,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACX,IAAD,EAAS;AAExCQ,IAAAA,aAAa,CAACR,IAAI,CAACV,EAAN,CAAb;AAEDpB,IAAAA,UAAU,CAAC0C,QAAX,CAAoB,SAApB,EAA8B;AAACC,MAAAA,WAAW,EAACb;AAAb,KAA9B;AAED,GANC;;AASF,MAAMc,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAM;AAC3B,QAAG1C,IAAI,IAAI,IAAX,EAAiB,CAEhB,CAFD,MAGI;AACFa,MAAAA,KAAK,CAACC,KAAN,CAAY,eAAZ;AACD;;AAED,WAEE,KAAC,IAAD;AAAA;AAAA,MAFF;AAOD,GAfH;;AAiBE,SACE,MAAC,YAAD;AAAc,IAAA,KAAK,EAAEkB,MAAM,CAACW,SAA5B;AAAA,eACA,MAAC,IAAD;AAAA,iBACC,KAAC,MAAD;AAAQ,QAAA,OAAO,EAAE,mBAAK;AAAC7C,UAAAA,UAAU,CAAC0C,QAAX,CAAoB,eAApB;AAAqC,SAA5D;AAA8D,QAAA,KAAK,EAAC;AAApE,QADD,EAEE,KAAC,SAAD;AAAW,QAAA,KAAK,EAAC;AAAjB,QAFF;AAAA,MADA,EAKA,KAAC,IAAD;AAAA;AAAA,MALA,EAMA,KAAC,MAAD;AAAQ,MAAA,KAAK,EAAC;AAAd,MANA,EAOA,KAAC,MAAD;AAAQ,MAAA,KAAK,EAAC;AAAd,MAPA,EAQA,KAAC,QAAD;AACI,MAAA,IAAI,EAAExC,IADV;AAEI,MAAA,UAAU,EAAEqC,UAFhB;AAGI,MAAA,YAAY,EAAG,sBAACT,IAAD,EAAOgB,KAAP;AAAA,eAAiBA,KAAK,CAACC,QAAN,EAAjB;AAAA,OAHnB;AAII,MAAA,SAAS,EAAEV;AAJf,MARA;AAAA,IADF;AAoBD;AAGD,IAAMH,MAAM,GAAGc,UAAU,CAACC,MAAX,CAAkB;AAC7BJ,EAAAA,SAAS,EAAE;AACTK,IAAAA,IAAI,EAAE,CADG;AAETlB,IAAAA,eAAe,EAAE,MAFR;AAGTmB,IAAAA,UAAU,EAAE,QAHH;AAITC,IAAAA,cAAc,EAAE,QAJP;AAKTC,IAAAA,gBAAgB,EAAE;AALT,GADkB;AAQ7BlB,EAAAA,QAAQ,EAAE;AACRmB,IAAAA,KAAK,EAAE,EADC;AAERC,IAAAA,MAAM,EAAE;AAFA;AARmB,CAAlB,CAAf","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\n//let DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [DATA, setUsers] = useState([null]);\r\n\r\n//listenOnChange();\r\n//useeffect();\r\n\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(getFirestore(),\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image}\r\n //DATA.push(itemData);\r\n setUsers(itemData);\r\n Alert.alert('useEffect',doc.data().Name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\nfunction useeffect(){\r\n getDocs(collection(getFirestore(),'Users')).forEach((doc) => {\r\n console.log(`${doc.id} => ${doc.data()}`);\r\n});\r\n}\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n Alert.alert('listen on change',message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> </Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n /*ListEmptyComponent={EmptyListMessage}*/\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/c8dfd2d841d8e6c92505c4b04c49035d.json b/.expo/web/cache/development/babel-loader/c8dfd2d841d8e6c92505c4b04c49035d.json new file mode 100644 index 0000000000000000000000000000000000000000..a4a07e6a9c09df1ffe33bf983366a45d8a385dad --- /dev/null +++ b/.expo/web/cache/development/babel-loader/c8dfd2d841d8e6c92505c4b04c49035d.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport TextInput from \"react-native-web/dist/exports/TextInput\";\nimport React, { useState, useEffect } from 'react';\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef, deleteDoc } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Details(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(route.params.itemDetails.name),\n _useState2 = _slicedToArray(_useState, 2),\n name = _useState2[0],\n onChangeName = _useState2[1];\n\n var _useState3 = useState(route.params.itemDetails.email),\n _useState4 = _slicedToArray(_useState3, 2),\n email = _useState4[0],\n onChangeEmail = _useState4[1];\n\n var _useState5 = useState(route.params.itemDetails.image),\n _useState6 = _slicedToArray(_useState5, 2),\n image = _useState6[0],\n onChangeImage = _useState6[1];\n\n function update() {\n return _regeneratorRuntime.async(function update$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _regeneratorRuntime.awrap(setDoc(doc(getFirestore(), \"Users\", route.params.itemDetails.id), {\n Name: name,\n Email: email,\n Image: image\n }));\n\n case 2:\n navigation.navigate({\n name: 'UserList',\n merge: true\n });\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n }\n\n function deleteUser() {\n deleteDoc(doc(getFirestore(), \"Users\", route.params.itemDetails.id));\n navigation.navigate({\n name: 'UserList',\n merge: true\n });\n }\n\n return _jsxs(View, {\n children: [_jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeName,\n value: name,\n multiline: true\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeEmail,\n value: email,\n multiline: true\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeImage,\n value: image,\n multiline: true\n }), _jsx(Button, {\n title: \"Update\",\n onPress: update\n }), _jsx(Button, {\n title: \"Delete\",\n onPress: deleteUser\n })]\n });\n}\nvar styles = StyleSheet.create({\n input: {\n borderBottomColor: '#CFCDCD',\n borderBottomWidth: 1,\n width: 220\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/Details.js"],"names":["React","useState","useEffect","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","deleteDoc","Details","navigation","route","params","itemDetails","name","onChangeName","email","onChangeEmail","image","onChangeImage","update","id","Name","Email","Image","navigate","merge","deleteUser","styles","input","StyleSheet","create","borderBottomColor","borderBottomWidth","width"],"mappings":"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","sourcesContent":["import { StyleSheet, Text, View, Button, TextInput } from 'react-native';\r\nimport React, { useState, useEffect } from 'react';\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef, deleteDoc} from \"firebase/firestore\"\r\n\r\n\r\nexport default function Details({ navigation, route }){\r\n\r\n const [name, onChangeName] = useState(route.params.itemDetails.name);\r\n const [email, onChangeEmail] = useState(route.params.itemDetails.email);\r\n const [image, onChangeImage] = useState(route.params.itemDetails.image);\r\n\r\n async function update(){\r\n\r\n await setDoc(doc(getFirestore(), \"Users\", route.params.itemDetails.id), {\r\n Name: name,\r\n Email: email,\r\n Image: image,\r\n });\r\n \r\n\r\n\r\n navigation.navigate({\r\n name: 'UserList',\r\n //params: { post: fach },\r\n merge: true,\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n function deleteUser(){//async\r\n\r\n //await deleteDoc(doc(getFirestore(), \"Users\", route.params.itemDetails.id));\r\n \r\n deleteDoc(doc(getFirestore(), \"Users\", route.params.itemDetails.id));\r\n\r\n\r\n\r\n navigation.navigate({\r\n name: 'UserList',\r\n //params: { post: fach },\r\n merge: true,\r\n });\r\n }\r\n \r\n\r\n return(\r\n <View>\r\n <TextInput style={styles.input} onChangeText={onChangeName} value={name} multiline = {true} />\r\n <TextInput style={styles.input} onChangeText={onChangeEmail} value={email} multiline = {true} />\r\n <TextInput style={styles.input} onChangeText={onChangeImage} value={image} multiline = {true} />\r\n\r\n <Button title='Update' onPress={update}/>\r\n <Button title='Delete' onPress={deleteUser}/>\r\n </View>\r\n )\r\n}\r\n\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n input:{\r\n //underlineColorAndroid: '#CFCDCD',\r\n borderBottomColor:'#CFCDCD',\r\n borderBottomWidth:1,\r\n width: 220,\r\n },\r\n });"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/c9186bad2912f89e4637f6697609e2ad.json b/.expo/web/cache/development/babel-loader/c9186bad2912f89e4637f6697609e2ad.json new file mode 100644 index 0000000000000000000000000000000000000000..6d5db97049d96adc27e882ccf0aace1b0c87259c --- /dev/null +++ b/.expo/web/cache/development/babel-loader/c9186bad2912f89e4637f6697609e2ad.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as CommonActions from \"./CommonActions\";\nexport { CommonActions };\nexport { default as BaseRouter } from \"./BaseRouter\";\nexport { DrawerActions, default as DrawerRouter } from \"./DrawerRouter\";\nexport { StackActions, default as StackRouter } from \"./StackRouter\";\nexport { TabActions, default as TabRouter } from \"./TabRouter\";\nexport * from \"./types\";","map":{"version":3,"sources":["index.tsx"],"names":["default"],"mappings":"AAAA,OAAO,KAAP,aAAA;AAEA,SAAA,aAAA;AAEA,SAASA,OAAO,IAAhB,UAAA;AAQA,SAAA,aAAA,EAAwBA,OAAO,IAA/B,YAAA;AAOA,SAAA,YAAA,EAAuBA,OAAO,IAA9B,WAAA;AAOA,SAAA,UAAA,EAAqBA,OAAO,IAA5B,SAAA;AACA","sourcesContent":["import * as CommonActions from './CommonActions';\n\nexport { CommonActions };\n\nexport { default as BaseRouter } from './BaseRouter';\nexport type {\n DrawerActionHelpers,\n DrawerActionType,\n DrawerNavigationState,\n DrawerRouterOptions,\n DrawerStatus,\n} from './DrawerRouter';\nexport { DrawerActions, default as DrawerRouter } from './DrawerRouter';\nexport type {\n StackActionHelpers,\n StackActionType,\n StackNavigationState,\n StackRouterOptions,\n} from './StackRouter';\nexport { StackActions, default as StackRouter } from './StackRouter';\nexport type {\n TabActionHelpers,\n TabActionType,\n TabNavigationState,\n TabRouterOptions,\n} from './TabRouter';\nexport { TabActions, default as TabRouter } from './TabRouter';\nexport * from './types';\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/ca34c0c0019d29b24bd2e2a22840e9a8.json b/.expo/web/cache/development/babel-loader/ca34c0c0019d29b24bd2e2a22840e9a8.json new file mode 100644 index 0000000000000000000000000000000000000000..0826f0aedb3a39ee5b54a975e81812963cc4344e --- /dev/null +++ b/.expo/web/cache/development/babel-loader/ca34c0c0019d29b24bd2e2a22840e9a8.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport Animation from \"./Animation\";\nimport { shouldUseNativeDriver } from \"../NativeAnimatedHelper\";\n\nvar DecayAnimation = function (_Animation) {\n _inheritsLoose(DecayAnimation, _Animation);\n\n function DecayAnimation(config) {\n var _config$deceleration, _config$isInteraction, _config$iterations;\n\n var _this;\n\n _this = _Animation.call(this) || this;\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 return _this;\n }\n\n var _proto = DecayAnimation.prototype;\n\n _proto.__getNativeAnimationConfig = function __getNativeAnimationConfig() {\n return {\n type: 'decay',\n deceleration: this._deceleration,\n velocity: this._velocity,\n iterations: this.__iterations\n };\n };\n\n _proto.start = function 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\n if (this._useNativeDriver) {\n this.__startNativeAnimation(animatedValue);\n } else {\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n };\n\n _proto.onUpdate = function 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\n this._onUpdate(value);\n\n if (Math.abs(this._lastValue - value) < 0.1) {\n this.__debouncedOnEnd({\n finished: true\n });\n\n return;\n }\n\n this._lastValue = value;\n\n if (this.__active) {\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n };\n\n _proto.stop = function stop() {\n _Animation.prototype.stop.call(this);\n\n this.__active = false;\n global.cancelAnimationFrame(this._animationFrame);\n\n this.__debouncedOnEnd({\n finished: false\n });\n };\n\n return DecayAnimation;\n}(Animation);\n\nexport default DecayAnimation;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/animations/DecayAnimation.js"],"names":["_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","Animation","shouldUseNativeDriver","DecayAnimation","_Animation","config","_config$deceleration","_config$isInteraction","_config$iterations","_this","call","_deceleration","deceleration","_velocity","velocity","_useNativeDriver","__isInteraction","isInteraction","__iterations","iterations","_proto","__getNativeAnimationConfig","type","start","fromValue","onUpdate","onEnd","previousAnimation","animatedValue","__active","_lastValue","_fromValue","_onUpdate","__onEnd","_startTime","Date","now","__startNativeAnimation","_animationFrame","requestAnimationFrame","bind","value","Math","exp","abs","__debouncedOnEnd","finished","stop","global","cancelAnimationFrame"],"mappings":"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","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport Animation from './Animation';\nimport { shouldUseNativeDriver } from '../NativeAnimatedHelper';\n\nvar DecayAnimation = /*#__PURE__*/function (_Animation) {\n _inheritsLoose(DecayAnimation, _Animation);\n\n function DecayAnimation(config) {\n var _config$deceleration, _config$isInteraction, _config$iterations;\n\n var _this;\n\n _this = _Animation.call(this) || this;\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 return _this;\n }\n\n var _proto = DecayAnimation.prototype;\n\n _proto.__getNativeAnimationConfig = function __getNativeAnimationConfig() {\n return {\n type: 'decay',\n deceleration: this._deceleration,\n velocity: this._velocity,\n iterations: this.__iterations\n };\n };\n\n _proto.start = function 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\n if (this._useNativeDriver) {\n this.__startNativeAnimation(animatedValue);\n } else {\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n };\n\n _proto.onUpdate = function 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\n this._onUpdate(value);\n\n if (Math.abs(this._lastValue - value) < 0.1) {\n this.__debouncedOnEnd({\n finished: true\n });\n\n return;\n }\n\n this._lastValue = value;\n\n if (this.__active) {\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n };\n\n _proto.stop = function stop() {\n _Animation.prototype.stop.call(this);\n\n this.__active = false;\n global.cancelAnimationFrame(this._animationFrame);\n\n this.__debouncedOnEnd({\n finished: false\n });\n };\n\n return DecayAnimation;\n}(Animation);\n\nexport default DecayAnimation;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/ca4b6d58e90872ea9ce9773b55279e85.json b/.expo/web/cache/development/babel-loader/ca4b6d58e90872ea9ce9773b55279e85.json new file mode 100644 index 0000000000000000000000000000000000000000..dc42b63e38cb8a359399b5b11374d153fd80e6cd --- /dev/null +++ b/.expo/web/cache/development/babel-loader/ca4b6d58e90872ea9ce9773b55279e85.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users.toString);\n setUsers(users);\n });\n }, []);\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {})\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" bla\"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","params","post","Item","item","onPress","backgroundColor","textColor","styles","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users.toString);\r\n setUsers(users)\r\n});\r\n\r\n\r\n},[])\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {/*item.Name*/} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> bla</Text>\r\n <Button title='addUser'/> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/ca50481d874d32b02bc58198e37a25cd.json b/.expo/web/cache/development/babel-loader/ca50481d874d32b02bc58198e37a25cd.json new file mode 100644 index 0000000000000000000000000000000000000000..8165c356e0422dd2d79c1e61290ae7b871ddff13 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/ca50481d874d32b02bc58198e37a25cd.json @@ -0,0 +1 @@ +{"ast":null,"code":"function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nimport * as React from 'react';\nimport createElement from \"../createElement\";\nimport css from \"../StyleSheet/css\";\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\";\n\nvar forwardPropsList = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, 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});\n\nvar pickProps = function pickProps(props) {\n return pick(props, forwardPropsList);\n};\n\nvar View = React.forwardRef(function (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\n if (process.env.NODE_ENV !== 'production') {\n React.Children.toArray(props.children).forEach(function (item) {\n if (typeof item === 'string') {\n console.error(\"Unexpected text node: \" + item + \". A text node cannot be a child of a <View>.\");\n }\n });\n }\n\n var hasTextAncestor = React.useContext(TextAncestorContext);\n var hostRef = React.useRef(null);\n useElementLayout(hostRef, onLayout);\n useResponderEvents(hostRef, {\n onMoveShouldSetResponder: onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture: onMoveShouldSetResponderCapture,\n onResponderEnd: onResponderEnd,\n onResponderGrant: onResponderGrant,\n onResponderMove: onResponderMove,\n onResponderReject: onResponderReject,\n onResponderRelease: onResponderRelease,\n onResponderStart: onResponderStart,\n onResponderTerminate: onResponderTerminate,\n onResponderTerminationRequest: onResponderTerminationRequest,\n onScrollShouldSetResponder: onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture: onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder: onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture: onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder: onStartShouldSetResponder,\n onStartShouldSetResponderCapture: onStartShouldSetResponderCapture\n });\n var component = 'div';\n var style = StyleSheet.compose(hasTextAncestor && styles.inline, props.style);\n var supportedProps = pickProps(props);\n supportedProps.classList = classList;\n supportedProps.style = style;\n\n if (props.href != null) {\n component = 'a';\n\n if (hrefAttrs != null) {\n var download = hrefAttrs.download,\n rel = hrefAttrs.rel,\n target = hrefAttrs.target;\n\n if (download != null) {\n supportedProps.download = download;\n }\n\n if (rel != null) {\n supportedProps.rel = rel;\n }\n\n if (typeof target === 'string') {\n supportedProps.target = target.charAt(0) !== '_' ? '_' + target : target;\n }\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});\nView.displayName = 'View';\nvar classes = css.create({\n view: {\n alignItems: 'stretch',\n border: '0 solid black',\n boxSizing: 'border-box',\n display: 'flex',\n flexBasis: 'auto',\n flexDirection: 'column',\n flexShrink: 0,\n margin: 0,\n minHeight: 0,\n minWidth: 0,\n padding: 0,\n position: 'relative',\n zIndex: 0\n }\n});\nvar classList = [classes.view];\nvar styles = StyleSheet.create({\n inline: {\n display: 'inline-flex'\n }\n});\nexport default View;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/View/index.js"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","React","createElement","css","forwardedProps","pick","useElementLayout","useMergeRefs","usePlatformMethods","useResponderEvents","StyleSheet","TextAncestorContext","forwardPropsList","defaultProps","accessibilityProps","clickProps","focusProps","keyboardProps","mouseProps","touchProps","styleProps","href","lang","onScroll","onWheel","pointerEvents","pickProps","props","View","forwardRef","forwardedRef","hrefAttrs","onLayout","onMoveShouldSetResponder","onMoveShouldSetResponderCapture","onResponderEnd","onResponderGrant","onResponderMove","onResponderReject","onResponderRelease","onResponderStart","onResponderTerminate","onResponderTerminationRequest","onScrollShouldSetResponder","onScrollShouldSetResponderCapture","onSelectionChangeShouldSetResponder","onSelectionChangeShouldSetResponderCapture","onStartShouldSetResponder","onStartShouldSetResponderCapture","process","env","NODE_ENV","Children","toArray","children","item","console","error","hasTextAncestor","useContext","hostRef","useRef","component","style","compose","styles","inline","supportedProps","classList","download","rel","charAt","platformMethodsRef","setRef","ref","displayName","classes","create","view","alignItems","border","boxSizing","display","flexBasis","flexDirection","flexShrink","margin","minHeight","minWidth","padding","position","zIndex"],"mappings":"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","sourcesContent":["function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport css from '../StyleSheet/css';\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';\n\nvar forwardPropsList = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, 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});\n\nvar pickProps = function pickProps(props) {\n return pick(props, forwardPropsList);\n};\n\nvar View = /*#__PURE__*/React.forwardRef(function (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\n if (process.env.NODE_ENV !== 'production') {\n React.Children.toArray(props.children).forEach(function (item) {\n if (typeof item === 'string') {\n console.error(\"Unexpected text node: \" + item + \". A text node cannot be a child of a <View>.\");\n }\n });\n }\n\n var hasTextAncestor = React.useContext(TextAncestorContext);\n var hostRef = React.useRef(null);\n useElementLayout(hostRef, onLayout);\n useResponderEvents(hostRef, {\n onMoveShouldSetResponder: onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture: onMoveShouldSetResponderCapture,\n onResponderEnd: onResponderEnd,\n onResponderGrant: onResponderGrant,\n onResponderMove: onResponderMove,\n onResponderReject: onResponderReject,\n onResponderRelease: onResponderRelease,\n onResponderStart: onResponderStart,\n onResponderTerminate: onResponderTerminate,\n onResponderTerminationRequest: onResponderTerminationRequest,\n onScrollShouldSetResponder: onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture: onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder: onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture: onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder: onStartShouldSetResponder,\n onStartShouldSetResponderCapture: onStartShouldSetResponderCapture\n });\n var component = 'div';\n var style = StyleSheet.compose(hasTextAncestor && styles.inline, props.style);\n var supportedProps = pickProps(props);\n supportedProps.classList = classList;\n supportedProps.style = style;\n\n if (props.href != null) {\n component = 'a';\n\n if (hrefAttrs != null) {\n var download = hrefAttrs.download,\n rel = hrefAttrs.rel,\n target = hrefAttrs.target;\n\n if (download != null) {\n supportedProps.download = download;\n }\n\n if (rel != null) {\n supportedProps.rel = rel;\n }\n\n if (typeof target === 'string') {\n supportedProps.target = target.charAt(0) !== '_' ? '_' + target : target;\n }\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});\nView.displayName = 'View';\nvar classes = css.create({\n view: {\n alignItems: 'stretch',\n border: '0 solid black',\n boxSizing: 'border-box',\n display: 'flex',\n flexBasis: 'auto',\n flexDirection: 'column',\n flexShrink: 0,\n margin: 0,\n minHeight: 0,\n minWidth: 0,\n padding: 0,\n position: 'relative',\n zIndex: 0\n }\n});\nvar classList = [classes.view];\nvar styles = StyleSheet.create({\n inline: {\n display: 'inline-flex'\n }\n});\nexport default View;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/ca55e0f8962bf2314228cd26ba467194.json b/.expo/web/cache/development/babel-loader/ca55e0f8962bf2314228cd26ba467194.json new file mode 100644 index 0000000000000000000000000000000000000000..3c28928b2d303988585d70d7486e47f4ee0f4e7d --- /dev/null +++ b/.expo/web/cache/development/babel-loader/ca55e0f8962bf2314228cd26ba467194.json @@ -0,0 +1 @@ +{"ast":null,"code":"export default function getHeaderTitle(options, fallback) {\n return typeof options.headerTitle === 'string' ? options.headerTitle : options.title !== undefined ? options.title : fallback;\n}","map":{"version":3,"sources":["getHeaderTitle.tsx"],"names":["options"],"mappings":"AAEA,eAAe,SAAA,cAAA,CAAA,OAAA,EAAA,QAAA,EAGL;AACR,SAAO,OAAOA,OAAO,CAAd,WAAA,KAAA,QAAA,GACHA,OAAO,CADJ,WAAA,GAEHA,OAAO,CAAPA,KAAAA,KAAAA,SAAAA,GACAA,OAAO,CADPA,KAAAA,GAFJ,QAAA;AAKD","sourcesContent":["import type { HeaderOptions } from '../types';\n\nexport default function getHeaderTitle(\n options: { title?: string; headerTitle?: HeaderOptions['headerTitle'] },\n fallback: string\n): string {\n return typeof options.headerTitle === 'string'\n ? options.headerTitle\n : options.title !== undefined\n ? options.title\n : fallback;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/ca652b75c5aad5f97ae0e052f356ddbb.json b/.expo/web/cache/development/babel-loader/ca652b75c5aad5f97ae0e052f356ddbb.json new file mode 100644 index 0000000000000000000000000000000000000000..a0adec2940b4993625eb9075bacc637d46fa61d7 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/ca652b75c5aad5f97ae0e052f356ddbb.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc } from \"firebase/firestore\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Name = _doc$data.Name,\n Email = _doc$data.Email,\n Image = _doc$data.Image;\n\n users.push({\n id: doc.id,\n Name: Name,\n Email: Email,\n Image: Image\n });\n });\n setUsers(users);\n });\n }, []);\n\n try {\n var docRef = function docRef() {\n return _regeneratorRuntime.async(function docRef$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _regeneratorRuntime.awrap(addDoc(collection(db, \"users\"), {\n Name: \"Ada\",\n Email: \"Lovelace\",\n Image: \"1815\"\n }));\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n };\n\n console.log(\"Document written with ID: \", docRef.id);\n Alert.alert(\"write Data worked: \");\n } catch (e) {\n console.error(\"Error adding document: \", e);\n }\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsxs(Text, {\n children: [item.title, users.toString]\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Name","Email","Image","push","id","docRef","console","log","Alert","alert","e","error","params","post","Item","item","onPress","backgroundColor","textColor","styles","title","toString","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc} from \"firebase/firestore\"\r\n\r\n\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Name, Email, Image} = doc.data();\r\n users.push({id:doc.id, Name, Email, Image})\r\n });\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"users\"), {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async (id) => {\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUser({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n {users.toString}\r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/caa7d4877e741455af37ec8721204cb8.json b/.expo/web/cache/development/babel-loader/caa7d4877e741455af37ec8721204cb8.json new file mode 100644 index 0000000000000000000000000000000000000000..d67f3cada860c8c29e1f0185bf6d5034818831f5 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/caa7d4877e741455af37ec8721204cb8.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([null]),\n _useState2 = _slicedToArray(_useState, 2),\n DATA = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(getFirestore(), \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var itemData = {\n name: doc.data().Name,\n email: doc.data().Email,\n image: doc.data().Image\n };\n setUsers(itemData);\n Alert.alert('useEffect', doc.data().Name);\n });\n });\n }, []);\n\n function useeffect() {\n getDocs(collection(getFirestore(), 'Users')).forEach(function (doc) {\n console.log(doc.id + \" => \" + doc.data());\n });\n }\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n Alert.alert('listen on change', message.Name);\n }\n });\n });\n }\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsxs(Text, {\n children: [\" \", DATA[0].name]\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","UserLists","navigation","route","DATA","setUsers","colRef","querySnapshot","forEach","itemData","name","data","Name","email","Email","image","Image","Alert","alert","useeffect","console","log","id","listenOnChange","snapchot","docChanges","change","type","message","push","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\n//let DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [DATA, setUsers] = useState([null]);\r\n\r\n//listenOnChange();\r\n//useeffect();\r\n\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(getFirestore(),\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image}\r\n //DATA.push(itemData);\r\n setUsers(itemData);\r\n Alert.alert('useEffect',doc.data().Name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\nfunction useeffect(){\r\n getDocs(collection(getFirestore(),'Users')).forEach((doc) => {\r\n console.log(`${doc.id} => ${doc.data()}`);\r\n});\r\n}\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n Alert.alert('listen on change',message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> {DATA[0].name}</Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n /*ListEmptyComponent={EmptyListMessage}*/\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/cbbbc2211be46b7fea1b589f413dcd61.json b/.expo/web/cache/development/babel-loader/cbbbc2211be46b7fea1b589f413dcd61.json new file mode 100644 index 0000000000000000000000000000000000000000..2675d0e3f6089568445b6b14c3f027f86fdfdf26 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/cbbbc2211be46b7fea1b589f413dcd61.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users.toString);\n setUsers(users);\n });\n\n if (users[0] != null) {\n Alert.alert(' users load', users.id);\n }\n }, []);\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {\n children: item.Name\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: users,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","params","post","Item","item","onPress","backgroundColor","textColor","styles","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users.toString);\r\n setUsers(users)\r\n});\r\nif(users[0]!= null){\r\n Alert.alert(' users load',users.id)\r\n}\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\n/*function writeData(){\r\n \r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})\r\n}*/\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async () => {\r\n const id = 'q5EOqKxKEsAO6lLmhbnc';\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUsers({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n Alert.alert(users[0])\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.Name} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser'/> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={users}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/cd6ee9ad9a6e92228e4f60e92f6c04b2.json b/.expo/web/cache/development/babel-loader/cd6ee9ad9a6e92228e4f60e92f6c04b2.json new file mode 100644 index 0000000000000000000000000000000000000000..e9702ea433538a3f4f7b085e8b266b6abca6f239 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/cd6ee9ad9a6e92228e4f60e92f6c04b2.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore } from \"firebase/firestore\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n setUsers(users);\n });\n }, []);\n\n function writeData() {\n try {\n var docRef = function docRef() {\n return _regeneratorRuntime.async(function docRef$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _regeneratorRuntime.awrap(addDoc(collection(db, \"Users\"), {\n Email: \"Ada\",\n Image: \"Lovelace\",\n Name: \"1815\"\n }));\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n };\n\n console.log(\"Document written with ID: \", docRef.id);\n Alert.alert(\"write Data worked: \");\n } catch (e) {\n console.error(\"Error adding document: \", e);\n }\n }\n\n firebase.firestore().collection('users').add({\n title: this.state.textInput,\n complete: false\n });\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsxs(Text, {\n children: [item.title, users.toString]\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\",\n onPress: writeData\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","writeData","docRef","console","log","Alert","alert","e","error","firebase","firestore","add","title","state","textInput","complete","params","post","Item","item","onPress","backgroundColor","textColor","styles","toString","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore} from \"firebase/firestore\"\r\n\r\n\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\nfunction writeData(){\r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}\r\n}\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();*/\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async (id) => {\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUser({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n {users.toString}\r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser' onPress={writeData}/>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/ce70e52f85c00c4dd014c518e5bb707e.json b/.expo/web/cache/development/babel-loader/ce70e52f85c00c4dd014c518e5bb707e.json new file mode 100644 index 0000000000000000000000000000000000000000..8c250a2f8f565c0c7c83647c10bf5bf76033899c --- /dev/null +++ b/.expo/web/cache/development/babel-loader/ce70e52f85c00c4dd014c518e5bb707e.json @@ -0,0 +1 @@ +{"ast":null,"code":"import isSelectionValid from \"../../modules/isSelectionValid\";\nvar keyName = '__reactResponderId';\n\nfunction getEventPath(domEvent) {\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}\n\nfunction composedPathFallback(target) {\n var path = [];\n\n while (target != null && target !== document.body) {\n path.push(target);\n target = target.parentNode;\n }\n\n return path;\n}\n\nfunction getResponderId(node) {\n if (node != null) {\n return node[keyName];\n }\n\n return null;\n}\n\nexport function setResponderId(node, id) {\n if (node != null) {\n node[keyName] = id;\n }\n}\nexport function getResponderPaths(domEvent) {\n var idPath = [];\n var nodePath = [];\n var eventPath = getEventPath(domEvent);\n\n for (var i = 0; i < eventPath.length; i++) {\n var node = eventPath[i];\n var id = getResponderId(node);\n\n if (id != null) {\n idPath.push(id);\n nodePath.push(node);\n }\n }\n\n return {\n idPath: idPath,\n nodePath: nodePath\n };\n}\nexport function getLowestCommonAncestor(pathA, pathB) {\n var pathALength = pathA.length;\n var pathBLength = pathB.length;\n\n if (pathALength === 0 || pathBLength === 0 || pathA[pathALength - 1] !== pathB[pathBLength - 1]) {\n return null;\n }\n\n var itemA = pathA[0];\n var indexA = 0;\n var itemB = pathB[0];\n var indexB = 0;\n\n if (pathALength - pathBLength > 0) {\n indexA = pathALength - pathBLength;\n itemA = pathA[indexA];\n pathALength = pathBLength;\n }\n\n if (pathBLength - pathALength > 0) {\n indexB = pathBLength - pathALength;\n itemB = pathB[indexB];\n pathBLength = pathALength;\n }\n\n var depth = pathALength;\n\n while (depth--) {\n if (itemA === itemB) {\n return itemA;\n }\n\n itemA = pathA[indexA++];\n itemB = pathB[indexB++];\n }\n\n return null;\n}\nexport function hasTargetTouches(target, touches) {\n if (!touches || touches.length === 0) {\n return false;\n }\n\n for (var i = 0; i < touches.length; i++) {\n var node = touches[i].target;\n\n if (node != null) {\n if (target.contains(node)) {\n return true;\n }\n }\n }\n\n return false;\n}\nexport function hasValidSelection(domEvent) {\n if (domEvent.type === 'selectionchange') {\n return isSelectionValid();\n }\n\n return domEvent.type === 'select';\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\n if (isTouch || isPrimaryMouseDown && noModifiers || isPrimaryMouseMove && noModifiers) {\n return true;\n }\n\n return false;\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/useResponderEvents/utils.js"],"names":["isSelectionValid","keyName","getEventPath","domEvent","type","target","window","getSelection","anchorNode","composedPathFallback","path","composedPath","document","body","push","parentNode","getResponderId","node","setResponderId","id","getResponderPaths","idPath","nodePath","eventPath","i","length","getLowestCommonAncestor","pathA","pathB","pathALength","pathBLength","itemA","indexA","itemB","indexB","depth","hasTargetTouches","touches","contains","hasValidSelection","isPrimaryPointerDown","altKey","button","buttons","ctrlKey","isTouch","isPrimaryMouseDown","isPrimaryMouseMove","noModifiers"],"mappings":"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","sourcesContent":["/**\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 isSelectionValid from '../../modules/isSelectionValid';\nvar keyName = '__reactResponderId';\n\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}\n\nfunction composedPathFallback(target) {\n var path = [];\n\n while (target != null && target !== document.body) {\n path.push(target);\n target = target.parentNode;\n }\n\n return path;\n}\n/**\n * Retrieve the responderId from a host node\n */\n\n\nfunction getResponderId(node) {\n if (node != null) {\n return node[keyName];\n }\n\n return null;\n}\n/**\n * Store the responderId on a host node\n */\n\n\nexport function setResponderId(node, id) {\n if (node != null) {\n node[keyName] = id;\n }\n}\n/**\n * Filter the event path to contain only the nodes attached to the responder system\n */\n\nexport function getResponderPaths(domEvent) {\n var idPath = [];\n var nodePath = [];\n var eventPath = getEventPath(domEvent);\n\n for (var i = 0; i < eventPath.length; i++) {\n var node = eventPath[i];\n var id = getResponderId(node);\n\n if (id != null) {\n idPath.push(id);\n nodePath.push(node);\n }\n }\n\n return {\n idPath: idPath,\n nodePath: nodePath\n };\n}\n/**\n * Walk the paths and find the first common ancestor\n */\n\nexport function getLowestCommonAncestor(pathA, pathB) {\n var pathALength = pathA.length;\n var pathBLength = pathB.length;\n\n if ( // If either path is empty\n pathALength === 0 || pathBLength === 0 || // 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\n var itemA = pathA[0];\n var indexA = 0;\n var itemB = pathB[0];\n var indexB = 0; // If A is deeper, skip indices that can't match.\n\n if (pathALength - pathBLength > 0) {\n indexA = pathALength - pathBLength;\n itemA = pathA[indexA];\n pathALength = pathBLength;\n } // If B is deeper, skip indices that can't match\n\n\n if (pathBLength - pathALength > 0) {\n indexB = pathBLength - pathALength;\n itemB = pathB[indexB];\n pathBLength = pathALength;\n } // Walk in lockstep until a match is found\n\n\n var depth = pathALength;\n\n while (depth--) {\n if (itemA === itemB) {\n return itemA;\n }\n\n itemA = pathA[indexA++];\n itemB = pathB[indexB++];\n }\n\n return null;\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 */\n\nexport function hasTargetTouches(target, touches) {\n if (!touches || touches.length === 0) {\n return false;\n }\n\n for (var i = 0; i < touches.length; i++) {\n var node = touches[i].target;\n\n if (node != null) {\n if (target.contains(node)) {\n return true;\n }\n }\n }\n\n return false;\n}\n/**\n * Ignore 'selectionchange' events that don't correspond with a person's intent to\n * select text.\n */\n\nexport function hasValidSelection(domEvent) {\n if (domEvent.type === 'selectionchange') {\n return isSelectionValid();\n }\n\n return domEvent.type === 'select';\n}\n/**\n * Events are only valid if the primary button was used without specific modifier keys.\n */\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\n if (isTouch || isPrimaryMouseDown && noModifiers || isPrimaryMouseMove && noModifiers) {\n return true;\n }\n\n return false;\n}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/ce90e2411abf5f7370fc3e5282ec945b.json b/.expo/web/cache/development/babel-loader/ce90e2411abf5f7370fc3e5282ec945b.json new file mode 100644 index 0000000000000000000000000000000000000000..1228246457c967d3a67ebc0e87f128327f7f69de --- /dev/null +++ b/.expo/web/cache/development/babel-loader/ce90e2411abf5f7370fc3e5282ec945b.json @@ -0,0 +1 @@ +{"ast":null,"code":"function murmurhash2_32_gc(str, seed) {\n var l = str.length,\n h = seed ^ l,\n i = 0,\n k;\n\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\n switch (l) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n }\n\n h ^= h >>> 13;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h ^= h >>> 15;\n return h >>> 0;\n}\n\nvar hash = function hash(str) {\n return murmurhash2_32_gc(str, 1).toString(36);\n};\n\nexport default hash;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/hash/index.js"],"names":["murmurhash2_32_gc","str","seed","l","length","h","i","k","charCodeAt","hash","toString"],"mappings":"AAgBA,SAASA,iBAAT,CAA2BC,GAA3B,EAAgCC,IAAhC,EAAsC;AACpC,MAAIC,CAAC,GAAGF,GAAG,CAACG,MAAZ;AAAA,MACIC,CAAC,GAAGH,IAAI,GAAGC,CADf;AAAA,MAEIG,CAAC,GAAG,CAFR;AAAA,MAGIC,CAHJ;;AAKA,SAAOJ,CAAC,IAAI,CAAZ,EAAe;AACbI,IAAAA,CAAC,GAAGN,GAAG,CAACO,UAAJ,CAAeF,CAAf,IAAoB,IAApB,GAA2B,CAACL,GAAG,CAACO,UAAJ,CAAe,EAAEF,CAAjB,IAAsB,IAAvB,KAAgC,CAA3D,GAA+D,CAACL,GAAG,CAACO,UAAJ,CAAe,EAAEF,CAAjB,IAAsB,IAAvB,KAAgC,EAA/F,GAAoG,CAACL,GAAG,CAACO,UAAJ,CAAe,EAAEF,CAAjB,IAAsB,IAAvB,KAAgC,EAAxI;AACAC,IAAAA,CAAC,GAAG,CAACA,CAAC,GAAG,MAAL,IAAe,UAAf,IAA6B,CAAC,CAACA,CAAC,KAAK,EAAP,IAAa,UAAb,GAA0B,MAA3B,KAAsC,EAAnE,CAAJ;AACAA,IAAAA,CAAC,IAAIA,CAAC,KAAK,EAAX;AACAA,IAAAA,CAAC,GAAG,CAACA,CAAC,GAAG,MAAL,IAAe,UAAf,IAA6B,CAAC,CAACA,CAAC,KAAK,EAAP,IAAa,UAAb,GAA0B,MAA3B,KAAsC,EAAnE,CAAJ;AACAF,IAAAA,CAAC,GAAG,CAACA,CAAC,GAAG,MAAL,IAAe,UAAf,IAA6B,CAAC,CAACA,CAAC,KAAK,EAAP,IAAa,UAAb,GAA0B,MAA3B,KAAsC,EAAnE,IAAyEE,CAA7E;AACAJ,IAAAA,CAAC,IAAI,CAAL;AACA,MAAEG,CAAF;AACD;;AAED,UAAQH,CAAR;AACE,SAAK,CAAL;AACEE,MAAAA,CAAC,IAAI,CAACJ,GAAG,CAACO,UAAJ,CAAeF,CAAC,GAAG,CAAnB,IAAwB,IAAzB,KAAkC,EAAvC;;AAEF,SAAK,CAAL;AACED,MAAAA,CAAC,IAAI,CAACJ,GAAG,CAACO,UAAJ,CAAeF,CAAC,GAAG,CAAnB,IAAwB,IAAzB,KAAkC,CAAvC;;AAEF,SAAK,CAAL;AACED,MAAAA,CAAC,IAAIJ,GAAG,CAACO,UAAJ,CAAeF,CAAf,IAAoB,IAAzB;AACAD,MAAAA,CAAC,GAAG,CAACA,CAAC,GAAG,MAAL,IAAe,UAAf,IAA6B,CAAC,CAACA,CAAC,KAAK,EAAP,IAAa,UAAb,GAA0B,MAA3B,KAAsC,EAAnE,CAAJ;AATJ;;AAYAA,EAAAA,CAAC,IAAIA,CAAC,KAAK,EAAX;AACAA,EAAAA,CAAC,GAAG,CAACA,CAAC,GAAG,MAAL,IAAe,UAAf,IAA6B,CAAC,CAACA,CAAC,KAAK,EAAP,IAAa,UAAb,GAA0B,MAA3B,KAAsC,EAAnE,CAAJ;AACAA,EAAAA,CAAC,IAAIA,CAAC,KAAK,EAAX;AACA,SAAOA,CAAC,KAAK,CAAb;AACD;;AAED,IAAII,IAAI,GAAG,SAASA,IAAT,CAAcR,GAAd,EAAmB;AAC5B,SAAOD,iBAAiB,CAACC,GAAD,EAAM,CAAN,CAAjB,CAA0BS,QAA1B,CAAmC,EAAnC,CAAP;AACD,CAFD;;AAIA,eAAeD,IAAf","sourcesContent":["/* eslint-disable */\n\n/**\n * JS Implementation of MurmurHash2\n *\n * @author <a href=\"mailto:gary.court@gmail.com\">Gary Court</a>\n * @see http://github.com/garycourt/murmurhash-js\n * @author <a href=\"mailto:aappleby@gmail.com\">Austin Appleby</a>\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 */\nfunction murmurhash2_32_gc(str, seed) {\n var l = str.length,\n h = seed ^ l,\n i = 0,\n k;\n\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\n switch (l) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n }\n\n h ^= h >>> 13;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h ^= h >>> 15;\n return h >>> 0;\n}\n\nvar hash = function hash(str) {\n return murmurhash2_32_gc(str, 1).toString(36);\n};\n\nexport default hash;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/cee6052fa746dacdfdbef140a98ddf19.json b/.expo/web/cache/development/babel-loader/cee6052fa746dacdfdbef140a98ddf19.json new file mode 100644 index 0000000000000000000000000000000000000000..9ce080b6bc66a09d5010264a6a71ab7ce887d62c --- /dev/null +++ b/.expo/web/cache/development/babel-loader/cee6052fa746dacdfdbef140a98ddf19.json @@ -0,0 +1 @@ +{"ast":null,"code":"var assets = [];\nexport function registerAsset(asset) {\n return assets.push(asset);\n}\nexport function getAssetByID(assetId) {\n return assets[assetId - 1];\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/AssetRegistry/index.js"],"names":["assets","registerAsset","asset","push","getAssetByID","assetId"],"mappings":"AAQA,IAAIA,MAAM,GAAG,EAAb;AACA,OAAO,SAASC,aAAT,CAAuBC,KAAvB,EAA8B;AAGnC,SAAOF,MAAM,CAACG,IAAP,CAAYD,KAAZ,CAAP;AACD;AACD,OAAO,SAASE,YAAT,CAAsBC,OAAtB,EAA+B;AACpC,SAAOL,MAAM,CAACK,OAAO,GAAG,CAAX,CAAb;AACD","sourcesContent":["/**\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 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}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/cf2e84314af2af5a886afa4419421190.json b/.expo/web/cache/development/babel-loader/cf2e84314af2af5a886afa4419421190.json new file mode 100644 index 0000000000000000000000000000000000000000..9e746a28e152833bc9534da3fe0d937887234b16 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/cf2e84314af2af5a886afa4419421190.json @@ -0,0 +1 @@ +{"ast":null,"code":"module.exports = function (updatedModules, renewedModules) {\n var unacceptedModules = updatedModules.filter(function (moduleId) {\n return renewedModules && renewedModules.indexOf(moduleId) < 0;\n });\n\n var log = require(\"./log\");\n\n if (unacceptedModules.length > 0) {\n log(\"warning\", \"[HMR] The following modules couldn't be hot updated: (They would need a full reload!)\");\n unacceptedModules.forEach(function (moduleId) {\n log(\"warning\", \"[HMR] - \" + moduleId);\n });\n }\n\n if (!renewedModules || renewedModules.length === 0) {\n log(\"info\", \"[HMR] Nothing hot updated.\");\n } else {\n log(\"info\", \"[HMR] Updated modules:\");\n renewedModules.forEach(function (moduleId) {\n if (typeof moduleId === \"string\" && moduleId.indexOf(\"!\") !== -1) {\n var parts = moduleId.split(\"!\");\n log.groupCollapsed(\"info\", \"[HMR] - \" + parts.pop());\n log(\"info\", \"[HMR] - \" + moduleId);\n log.groupEnd(\"info\");\n } else {\n log(\"info\", \"[HMR] - \" + moduleId);\n }\n });\n var numberIds = renewedModules.every(function (moduleId) {\n return typeof moduleId === \"number\";\n });\n if (numberIds) log(\"info\", \"[HMR] Consider using the NamedModulesPlugin for module names.\");\n }\n};","map":{"version":3,"sources":["C:/Users/user/AppData/Roaming/npm/node_modules/expo-cli/node_modules/webpack/hot/log-apply-result.js"],"names":["module","exports","updatedModules","renewedModules","unacceptedModules","filter","moduleId","indexOf","log","require","length","forEach","parts","split","groupCollapsed","pop","groupEnd","numberIds","every"],"mappings":"AAIAA,MAAM,CAACC,OAAP,GAAiB,UAASC,cAAT,EAAyBC,cAAzB,EAAyC;AACzD,MAAIC,iBAAiB,GAAGF,cAAc,CAACG,MAAf,CAAsB,UAASC,QAAT,EAAmB;AAChE,WAAOH,cAAc,IAAIA,cAAc,CAACI,OAAf,CAAuBD,QAAvB,IAAmC,CAA5D;AACA,GAFuB,CAAxB;;AAGA,MAAIE,GAAG,GAAGC,OAAO,SAAjB;;AAEA,MAAIL,iBAAiB,CAACM,MAAlB,GAA2B,CAA/B,EAAkC;AACjCF,IAAAA,GAAG,CACF,SADE,EAEF,uFAFE,CAAH;AAIAJ,IAAAA,iBAAiB,CAACO,OAAlB,CAA0B,UAASL,QAAT,EAAmB;AAC5CE,MAAAA,GAAG,CAAC,SAAD,EAAY,cAAcF,QAA1B,CAAH;AACA,KAFD;AAGA;;AAED,MAAI,CAACH,cAAD,IAAmBA,cAAc,CAACO,MAAf,KAA0B,CAAjD,EAAoD;AACnDF,IAAAA,GAAG,CAAC,MAAD,EAAS,4BAAT,CAAH;AACA,GAFD,MAEO;AACNA,IAAAA,GAAG,CAAC,MAAD,EAAS,wBAAT,CAAH;AACAL,IAAAA,cAAc,CAACQ,OAAf,CAAuB,UAASL,QAAT,EAAmB;AACzC,UAAI,OAAOA,QAAP,KAAoB,QAApB,IAAgCA,QAAQ,CAACC,OAAT,CAAiB,GAAjB,MAA0B,CAAC,CAA/D,EAAkE;AACjE,YAAIK,KAAK,GAAGN,QAAQ,CAACO,KAAT,CAAe,GAAf,CAAZ;AACAL,QAAAA,GAAG,CAACM,cAAJ,CAAmB,MAAnB,EAA2B,cAAcF,KAAK,CAACG,GAAN,EAAzC;AACAP,QAAAA,GAAG,CAAC,MAAD,EAAS,cAAcF,QAAvB,CAAH;AACAE,QAAAA,GAAG,CAACQ,QAAJ,CAAa,MAAb;AACA,OALD,MAKO;AACNR,QAAAA,GAAG,CAAC,MAAD,EAAS,cAAcF,QAAvB,CAAH;AACA;AACD,KATD;AAUA,QAAIW,SAAS,GAAGd,cAAc,CAACe,KAAf,CAAqB,UAASZ,QAAT,EAAmB;AACvD,aAAO,OAAOA,QAAP,KAAoB,QAA3B;AACA,KAFe,CAAhB;AAGA,QAAIW,SAAJ,EACCT,GAAG,CACF,MADE,EAEF,+DAFE,CAAH;AAID;AACD,CAvCD","sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\nmodule.exports = function(updatedModules, renewedModules) {\n\tvar unacceptedModules = updatedModules.filter(function(moduleId) {\n\t\treturn renewedModules && renewedModules.indexOf(moduleId) < 0;\n\t});\n\tvar log = require(\"./log\");\n\n\tif (unacceptedModules.length > 0) {\n\t\tlog(\n\t\t\t\"warning\",\n\t\t\t\"[HMR] The following modules couldn't be hot updated: (They would need a full reload!)\"\n\t\t);\n\t\tunacceptedModules.forEach(function(moduleId) {\n\t\t\tlog(\"warning\", \"[HMR] - \" + moduleId);\n\t\t});\n\t}\n\n\tif (!renewedModules || renewedModules.length === 0) {\n\t\tlog(\"info\", \"[HMR] Nothing hot updated.\");\n\t} else {\n\t\tlog(\"info\", \"[HMR] Updated modules:\");\n\t\trenewedModules.forEach(function(moduleId) {\n\t\t\tif (typeof moduleId === \"string\" && moduleId.indexOf(\"!\") !== -1) {\n\t\t\t\tvar parts = moduleId.split(\"!\");\n\t\t\t\tlog.groupCollapsed(\"info\", \"[HMR] - \" + parts.pop());\n\t\t\t\tlog(\"info\", \"[HMR] - \" + moduleId);\n\t\t\t\tlog.groupEnd(\"info\");\n\t\t\t} else {\n\t\t\t\tlog(\"info\", \"[HMR] - \" + moduleId);\n\t\t\t}\n\t\t});\n\t\tvar numberIds = renewedModules.every(function(moduleId) {\n\t\t\treturn typeof moduleId === \"number\";\n\t\t});\n\t\tif (numberIds)\n\t\t\tlog(\n\t\t\t\t\"info\",\n\t\t\t\t\"[HMR] Consider using the NamedModulesPlugin for module names.\"\n\t\t\t);\n\t}\n};\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/cffaf10ce96ce8bed6a0abf0d943d341.json b/.expo/web/cache/development/babel-loader/cffaf10ce96ce8bed6a0abf0d943d341.json new file mode 100644 index 0000000000000000000000000000000000000000..7a1bdc3c0b24c7301f8cbfa131e7a5f7d81eef09 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/cffaf10ce96ce8bed6a0abf0d943d341.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore } from \"firebase/firestore\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n setUsers(users);\n });\n }, []);\n\n function writeData() {\n return _regeneratorRuntime.async(function writeData$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (DATA != null) {\n Alert.alert(DATA.toString);\n } else {\n Alert.alert('Data null');\n }\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n }\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsxs(Text, {\n children: [item.title, users.toString]\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\",\n onPress: writeData\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","writeData","Alert","alert","toString","params","post","Item","item","onPress","backgroundColor","textColor","styles","title","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\nasync function writeData(){\r\n \r\n if(DATA != null){\r\n Alert.alert(DATA.toString);\r\n}\r\nelse{\r\n Alert.alert('Data null');\r\n}\r\n /*try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})*/\r\n}\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async (id) => {\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUser({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n {users.toString}\r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser' onPress={writeData}/>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/d0b79b53fb245ab3d32e9abc2a99d96f.json b/.expo/web/cache/development/babel-loader/d0b79b53fb245ab3d32e9abc2a99d96f.json new file mode 100644 index 0000000000000000000000000000000000000000..f8ea0ca089891dd3ee578d03b597f49d44c4f518 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/d0b79b53fb245ab3d32e9abc2a99d96f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users.toString);\n setUsers(users);\n });\n }, []);\n\n function writeData() {\n try {\n var _docRef = function _docRef() {\n return _regeneratorRuntime.async(function _docRef$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _regeneratorRuntime.awrap(addDoc(collection(db, \"Users\"), {\n Email: \"Ada\",\n Image: \"Lovelace\",\n Name: \"1815\"\n }));\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n };\n\n console.log(\"Document written with ID: \", _docRef.id);\n Alert.alert(\"write Data worked: \");\n } catch (e) {\n console.error(\"Error adding document: \", e);\n }\n }\n\n var getUserById = function getUserById() {\n var id = 'q5EOqKxKEsAO6lLmhbnc';\n var docRef = doc(db, 'users', id);\n var docu = getDoc(docRef);\n var user = docu.data();\n setUsers(_objectSpread(_objectSpread({}, user), {}, {\n id: docu.id\n }));\n setLoading(false);\n Alert.alert(users[0]);\n };\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {\n children: item.title\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\",\n onPress: writeData\n }), _jsx(Button, {\n title: \"UpdateUser\",\n onPress: getUserById\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","writeData","console","log","e","error","getUserById","docu","user","setLoading","params","post","Item","item","onPress","backgroundColor","textColor","styles","title","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users.toString);\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\nfunction writeData(){\r\n \r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})*/\r\n}\r\n\r\n\r\n\r\n//update user\r\nconst getUserById = () => {//async \r\n const id = 'q5EOqKxKEsAO6lLmhbnc';\r\n const docRef = doc(db, 'users', id);\r\n const docu = getDoc(docRef);//await\r\n const user = docu.data();\r\n setUsers({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n Alert.alert(users[0])\r\n };\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n \r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser' onPress={writeData}/>\r\n <Button title='UpdateUser' onPress={getUserById}/>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/d10d0fa761f4f8dbe848225463a01f54.json b/.expo/web/cache/development/babel-loader/d10d0fa761f4f8dbe848225463a01f54.json new file mode 100644 index 0000000000000000000000000000000000000000..0383459c688e40f002a5460716981b931c166009 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/d10d0fa761f4f8dbe848225463a01f54.json @@ -0,0 +1 @@ +{"ast":null,"code":"import registerRootComponent from 'expo/build/launch/registerRootComponent';\nimport App from \"../../App\";\nregisterRootComponent(App);","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/expo/AppEntry.js"],"names":["registerRootComponent","App"],"mappings":"AAAA,OAAOA,qBAAP,MAAkC,yCAAlC;AAEA,OAAOC,GAAP;AAEAD,qBAAqB,CAACC,GAAD,CAArB","sourcesContent":["import registerRootComponent from 'expo/build/launch/registerRootComponent';\n\nimport App from '../../App';\n\nregisterRootComponent(App);\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/d151a682366513a9eacb13f606a2f2ae.json b/.expo/web/cache/development/babel-loader/d151a682366513a9eacb13f606a2f2ae.json new file mode 100644 index 0000000000000000000000000000000000000000..308aee26890769cfda5a5e9927a0d25eb84779a2 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/d151a682366513a9eacb13f606a2f2ae.json @@ -0,0 +1 @@ +{"ast":null,"code":"function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nimport * as React from 'react';\nimport createElement from \"../createElement\";\nimport css from \"../StyleSheet/css\";\nimport { getAssetByID } from \"../../modules/AssetRegistry\";\nimport resolveShadowValue from \"../StyleSheet/resolveShadowValue\";\nimport ImageLoader from \"../../modules/ImageLoader\";\nimport PixelRatio from \"../PixelRatio\";\nimport StyleSheet from \"../StyleSheet\";\nimport TextAncestorContext from \"../Text/TextAncestorContext\";\nimport View from \"../View\";\nvar ERRORED = 'ERRORED';\nvar LOADED = 'LOADED';\nvar LOADING = 'LOADING';\nvar IDLE = 'IDLE';\nvar _filterId = 0;\nvar svgDataUriPattern = /^(data:image\\/svg\\+xml;utf8,)(.*)/;\n\nfunction createTintColorSVG(tintColor, id) {\n return tintColor && id != null ? React.createElement(\"svg\", {\n style: {\n position: 'absolute',\n height: 0,\n visibility: 'hidden',\n width: 0\n }\n }, React.createElement(\"defs\", null, React.createElement(\"filter\", {\n id: \"tint-\" + id,\n suppressHydrationWarning: true\n }, React.createElement(\"feFlood\", {\n floodColor: \"\" + tintColor,\n key: tintColor\n }), React.createElement(\"feComposite\", {\n in2: \"SourceAlpha\",\n operator: \"atop\"\n })))) : null;\n}\n\nfunction getFlatStyle(style, blurRadius, filterId) {\n var flatStyle = _objectSpread({}, StyleSheet.flatten(style));\n\n var filter = flatStyle.filter,\n resizeMode = flatStyle.resizeMode,\n shadowOffset = flatStyle.shadowOffset,\n tintColor = flatStyle.tintColor;\n var filters = [];\n var _filter = null;\n\n if (filter) {\n filters.push(filter);\n }\n\n if (blurRadius) {\n filters.push(\"blur(\" + blurRadius + \"px)\");\n }\n\n if (shadowOffset) {\n var shadowString = resolveShadowValue(flatStyle);\n\n if (shadowString) {\n filters.push(\"drop-shadow(\" + shadowString + \")\");\n }\n }\n\n if (tintColor && filterId != null) {\n filters.push(\"url(#tint-\" + filterId + \")\");\n }\n\n if (filters.length > 0) {\n _filter = filters.join(' ');\n }\n\n delete flatStyle.blurRadius;\n delete flatStyle.shadowColor;\n delete flatStyle.shadowOpacity;\n delete flatStyle.shadowOffset;\n delete flatStyle.shadowRadius;\n delete flatStyle.tintColor;\n delete flatStyle.overlayColor;\n delete flatStyle.resizeMode;\n return [flatStyle, resizeMode, _filter, tintColor];\n}\n\nfunction resolveAssetDimensions(source) {\n if (typeof source === 'number') {\n var _getAssetByID = getAssetByID(source),\n _height = _getAssetByID.height,\n _width = _getAssetByID.width;\n\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}\n\nfunction resolveAssetUri(source) {\n var uri = null;\n\n if (typeof source === 'number') {\n var asset = getAssetByID(source);\n var scale = asset.scales[0];\n\n if (asset.scales.length > 1) {\n var preferredScale = PixelRatio.get();\n scale = asset.scales.reduce(function (prev, curr) {\n return Math.abs(curr - preferredScale) < Math.abs(prev - preferredScale) ? curr : prev;\n });\n }\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\n if (uri) {\n var match = uri.match(svgDataUriPattern);\n\n if (match) {\n var prefix = match[1],\n svg = match[2];\n var encodedSvg = encodeURIComponent(svg);\n return \"\" + prefix + encodedSvg;\n }\n }\n\n return uri;\n}\n\nvar Image = React.forwardRef(function (props, ref) {\n var 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, [\"accessibilityLabel\", \"blurRadius\", \"defaultSource\", \"draggable\", \"onError\", \"onLayout\", \"onLoad\", \"onLoadEnd\", \"onLoadStart\", \"pointerEvents\", \"source\", \"style\"]);\n\n if (process.env.NODE_ENV !== 'production') {\n if (props.children) {\n throw new Error('The <Image> component cannot contain children. If you want to render content on top of the image, consider using the <ImageBackground> component or absolute positioning.');\n }\n }\n\n var _React$useState = React.useState(function () {\n var uri = resolveAssetUri(source);\n\n if (uri != null) {\n var isLoaded = ImageLoader.has(uri);\n\n if (isLoaded) {\n return LOADED;\n }\n }\n\n return IDLE;\n }),\n state = _React$useState[0],\n updateState = _React$useState[1];\n\n var _React$useState2 = React.useState({}),\n layout = _React$useState2[0],\n updateLayout = _React$useState2[1];\n\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\n var _getFlatStyle = getFlatStyle(style, blurRadius, filterRef.current),\n flatStyle = _getFlatStyle[0],\n _resizeMode = _getFlatStyle[1],\n filter = _getFlatStyle[2],\n tintColor = _getFlatStyle[3];\n\n var resizeMode = props.resizeMode || _resizeMode || 'cover';\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 var hiddenImage = displayImageUri ? createElement('img', {\n alt: accessibilityLabel || '',\n classList: [classes.accessibilityImage],\n draggable: draggable || false,\n ref: hiddenImageRef,\n src: displayImageUri\n }) : null;\n\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\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\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 var uri = resolveAssetUri(source);\n React.useEffect(function () {\n abortPendingRequest();\n\n if (uri != null) {\n updateState(LOADING);\n\n if (onLoadStart) {\n onLoadStart();\n }\n\n requestRef.current = ImageLoader.load(uri, function load(e) {\n updateState(LOADED);\n\n if (onLoad) {\n onLoad(e);\n }\n\n if (onLoadEnd) {\n onLoadEnd();\n }\n }, function error() {\n updateState(ERRORED);\n\n if (onError) {\n onError({\n nativeEvent: {\n error: \"Failed to load resource \" + uri + \" (404)\"\n }\n });\n }\n\n if (onLoadEnd) {\n onLoadEnd();\n }\n });\n }\n\n function abortPendingRequest() {\n if (requestRef.current != null) {\n ImageLoader.abort(requestRef.current);\n requestRef.current = null;\n }\n }\n\n return abortPendingRequest;\n }, [uri, requestRef, updateState, onError, onLoad, onLoadEnd, onLoadStart]);\n return React.createElement(View, _extends({}, rest, {\n accessibilityLabel: accessibilityLabel,\n onLayout: handleLayout,\n pointerEvents: pointerEvents,\n ref: ref,\n style: [styles.root, hasTextAncestor && styles.inline, imageSizeStyle, flatStyle]\n }), React.createElement(View, {\n style: [styles.image, resizeModeStyles[resizeMode], {\n backgroundImage: backgroundImage,\n filter: filter\n }, backgroundSize != null && {\n backgroundSize: backgroundSize\n }],\n suppressHydrationWarning: true\n }), hiddenImage, createTintColorSVG(tintColor, filterRef.current));\n});\nImage.displayName = 'Image';\nvar ImageWithStatics = Image;\n\nImageWithStatics.getSize = function (uri, success, failure) {\n ImageLoader.getSize(uri, success, failure);\n};\n\nImageWithStatics.prefetch = function (uri) {\n return ImageLoader.prefetch(uri);\n};\n\nImageWithStatics.queryCache = function (uris) {\n return ImageLoader.queryCache(uris);\n};\n\nvar classes = css.create({\n accessibilityImage: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n height: '100%',\n opacity: 0,\n width: '100%',\n zIndex: -1\n })\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 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});\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 0',\n backgroundSize: 'auto'\n },\n repeat: {\n backgroundPosition: '0 0',\n backgroundRepeat: 'repeat',\n backgroundSize: 'auto'\n },\n stretch: {\n backgroundSize: '100% 100%'\n }\n});\nexport default ImageWithStatics;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/Image/index.js"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","React","createElement","css","getAssetByID","resolveShadowValue","ImageLoader","PixelRatio","StyleSheet","TextAncestorContext","View","ERRORED","LOADED","LOADING","IDLE","_filterId","svgDataUriPattern","createTintColorSVG","tintColor","id","style","position","height","visibility","width","suppressHydrationWarning","floodColor","in2","operator","getFlatStyle","blurRadius","filterId","flatStyle","flatten","resizeMode","shadowOffset","filters","_filter","shadowString","join","shadowColor","shadowOpacity","shadowRadius","overlayColor","resolveAssetDimensions","_getAssetByID","_height","_width","Array","isArray","_height2","_width2","resolveAssetUri","uri","asset","scale","scales","preferredScale","get","reduce","prev","curr","Math","abs","scaleSuffix","httpServerLocation","name","type","match","prefix","svg","encodedSvg","encodeURIComponent","Image","forwardRef","props","ref","accessibilityLabel","defaultSource","draggable","onError","onLayout","onLoad","onLoadEnd","onLoadStart","pointerEvents","rest","process","env","NODE_ENV","children","Error","_React$useState","useState","isLoaded","has","state","updateState","_React$useState2","layout","updateLayout","hasTextAncestor","useContext","hiddenImageRef","useRef","filterRef","requestRef","shouldDisplaySource","_getFlatStyle","current","_resizeMode","selectedSource","displayImageUri","imageSizeStyle","backgroundImage","backgroundSize","getBackgroundSize","hiddenImage","alt","classList","classes","accessibilityImage","src","_hiddenImageRef$curre","naturalHeight","naturalWidth","_height3","_width3","scaleFactor","min","x","ceil","y","handleLayout","e","_layout","nativeEvent","useEffect","abortPendingRequest","load","error","abort","styles","root","inline","image","resizeModeStyles","displayName","ImageWithStatics","getSize","success","failure","prefetch","queryCache","uris","create","absoluteFillObject","opacity","zIndex","flexBasis","overflow","display","backgroundColor","backgroundPosition","backgroundRepeat","center","contain","cover","none","repeat","stretch"],"mappings":"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","sourcesContent":["function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport css from '../StyleSheet/css';\nimport { getAssetByID } from '../../modules/AssetRegistry';\nimport resolveShadowValue from '../StyleSheet/resolveShadowValue';\nimport ImageLoader from '../../modules/ImageLoader';\nimport PixelRatio from '../PixelRatio';\nimport StyleSheet from '../StyleSheet';\nimport TextAncestorContext from '../Text/TextAncestorContext';\nimport View from '../View';\nvar ERRORED = 'ERRORED';\nvar LOADED = 'LOADED';\nvar LOADING = 'LOADING';\nvar IDLE = 'IDLE';\nvar _filterId = 0;\nvar svgDataUriPattern = /^(data:image\\/svg\\+xml;utf8,)(.*)/;\n\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: \"atop\"\n })))) : null;\n}\n\nfunction getFlatStyle(style, blurRadius, filterId) {\n var flatStyle = _objectSpread({}, StyleSheet.flatten(style));\n\n var filter = flatStyle.filter,\n resizeMode = flatStyle.resizeMode,\n shadowOffset = flatStyle.shadowOffset,\n tintColor = flatStyle.tintColor; // Add CSS filters\n // React Native exposes these features as props and proprietary styles\n\n var filters = [];\n var _filter = null;\n\n if (filter) {\n filters.push(filter);\n }\n\n if (blurRadius) {\n filters.push(\"blur(\" + blurRadius + \"px)\");\n }\n\n if (shadowOffset) {\n var shadowString = resolveShadowValue(flatStyle);\n\n if (shadowString) {\n filters.push(\"drop-shadow(\" + shadowString + \")\");\n }\n }\n\n if (tintColor && filterId != null) {\n filters.push(\"url(#tint-\" + filterId + \")\");\n }\n\n if (filters.length > 0) {\n _filter = filters.join(' ');\n } // These styles are converted to CSS filters applied to the\n // element displaying the background image.\n\n\n delete flatStyle.blurRadius;\n delete flatStyle.shadowColor;\n delete flatStyle.shadowOpacity;\n delete flatStyle.shadowOffset;\n delete flatStyle.shadowRadius;\n delete flatStyle.tintColor; // These styles are not supported on View\n\n delete flatStyle.overlayColor;\n delete flatStyle.resizeMode;\n return [flatStyle, resizeMode, _filter, tintColor];\n}\n\nfunction resolveAssetDimensions(source) {\n if (typeof source === 'number') {\n var _getAssetByID = getAssetByID(source),\n _height = _getAssetByID.height,\n _width = _getAssetByID.width;\n\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}\n\nfunction resolveAssetUri(source) {\n var uri = null;\n\n if (typeof source === 'number') {\n // get the URI from the packager\n var asset = getAssetByID(source);\n var scale = asset.scales[0];\n\n if (asset.scales.length > 1) {\n var preferredScale = PixelRatio.get(); // Get the scale which is closest to the preferred scale\n\n scale = asset.scales.reduce(function (prev, curr) {\n return Math.abs(curr - preferredScale) < Math.abs(prev - preferredScale) ? curr : prev;\n });\n }\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\n if (uri) {\n var match = uri.match(svgDataUriPattern); // inline SVG markup may contain characters (e.g., #, \") that need to be escaped\n\n if (match) {\n var prefix = match[1],\n svg = match[2];\n var encodedSvg = encodeURIComponent(svg);\n return \"\" + prefix + encodedSvg;\n }\n }\n\n return uri;\n}\n\nvar Image = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var 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, [\"accessibilityLabel\", \"blurRadius\", \"defaultSource\", \"draggable\", \"onError\", \"onLayout\", \"onLoad\", \"onLoadEnd\", \"onLoadStart\", \"pointerEvents\", \"source\", \"style\"]);\n\n if (process.env.NODE_ENV !== 'production') {\n if (props.children) {\n throw new Error('The <Image> component cannot contain children. If you want to render content on top of the image, consider using the <ImageBackground> component or absolute positioning.');\n }\n }\n\n var _React$useState = React.useState(function () {\n var uri = resolveAssetUri(source);\n\n if (uri != null) {\n var isLoaded = ImageLoader.has(uri);\n\n if (isLoaded) {\n return LOADED;\n }\n }\n\n return IDLE;\n }),\n state = _React$useState[0],\n updateState = _React$useState[1];\n\n var _React$useState2 = React.useState({}),\n layout = _React$useState2[0],\n updateLayout = _React$useState2[1];\n\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\n var _getFlatStyle = getFlatStyle(style, blurRadius, filterRef.current),\n flatStyle = _getFlatStyle[0],\n _resizeMode = _getFlatStyle[1],\n filter = _getFlatStyle[2],\n tintColor = _getFlatStyle[3];\n\n var resizeMode = props.resizeMode || _resizeMode || 'cover';\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(); // Accessibility image allows users to trigger the browser's image context menu\n\n var hiddenImage = displayImageUri ? createElement('img', {\n alt: accessibilityLabel || '',\n classList: [classes.accessibilityImage],\n draggable: draggable || false,\n ref: hiddenImageRef,\n src: displayImageUri\n }) : null;\n\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\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\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 } // Image loading\n\n\n var uri = resolveAssetUri(source);\n React.useEffect(function () {\n abortPendingRequest();\n\n if (uri != null) {\n updateState(LOADING);\n\n if (onLoadStart) {\n onLoadStart();\n }\n\n requestRef.current = ImageLoader.load(uri, function load(e) {\n updateState(LOADED);\n\n if (onLoad) {\n onLoad(e);\n }\n\n if (onLoadEnd) {\n onLoadEnd();\n }\n }, function error() {\n updateState(ERRORED);\n\n if (onError) {\n onError({\n nativeEvent: {\n error: \"Failed to load resource \" + uri + \" (404)\"\n }\n });\n }\n\n if (onLoadEnd) {\n onLoadEnd();\n }\n });\n }\n\n function abortPendingRequest() {\n if (requestRef.current != null) {\n ImageLoader.abort(requestRef.current);\n requestRef.current = null;\n }\n }\n\n return abortPendingRequest;\n }, [uri, requestRef, updateState, onError, onLoad, onLoadEnd, onLoadStart]);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n accessibilityLabel: accessibilityLabel,\n onLayout: handleLayout,\n pointerEvents: pointerEvents,\n ref: ref,\n style: [styles.root, hasTextAncestor && styles.inline, imageSizeStyle, flatStyle]\n }), /*#__PURE__*/React.createElement(View, {\n style: [styles.image, resizeModeStyles[resizeMode], {\n backgroundImage: backgroundImage,\n filter: filter\n }, backgroundSize != null && {\n backgroundSize: backgroundSize\n }],\n suppressHydrationWarning: true\n }), hiddenImage, createTintColorSVG(tintColor, filterRef.current));\n});\nImage.displayName = 'Image'; // $FlowIgnore: This is the correct type, but casting makes it unhappy since the variables aren't defined yet\n\nvar ImageWithStatics = Image;\n\nImageWithStatics.getSize = function (uri, success, failure) {\n ImageLoader.getSize(uri, success, failure);\n};\n\nImageWithStatics.prefetch = function (uri) {\n return ImageLoader.prefetch(uri);\n};\n\nImageWithStatics.queryCache = function (uris) {\n return ImageLoader.queryCache(uris);\n};\n\nvar classes = css.create({\n accessibilityImage: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n height: '100%',\n opacity: 0,\n width: '100%',\n zIndex: -1\n })\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 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});\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 0',\n backgroundSize: 'auto'\n },\n repeat: {\n backgroundPosition: '0 0',\n backgroundRepeat: 'repeat',\n backgroundSize: 'auto'\n },\n stretch: {\n backgroundSize: '100% 100%'\n }\n});\nexport default ImageWithStatics;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/d212d49fe05b203364524a6709324a20.json b/.expo/web/cache/development/babel-loader/d212d49fe05b203364524a6709324a20.json new file mode 100644 index 0000000000000000000000000000000000000000..731f7243b6d156bbd8ec42cfd45d616a98cbc4c9 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/d212d49fe05b203364524a6709324a20.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(getFirestore(), \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var itemData = {\n name: doc.data().Name,\n email: doc.data().Email,\n image: doc.data().Image\n };\n DATA.push(itemData);\n Alert.alert('useEffect', doc.data().Name);\n });\n });\n }, []);\n\n function useeffect() {\n getDocs(collection(getFirestore(), 'Users')).forEach(function (doc) {\n console.log(doc.id + \" => \" + doc.data());\n });\n }\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n Alert.alert('listen on change', message.Name);\n }\n });\n });\n }\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsxs(Text, {\n children: [\" \", DATA[0].name]\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","itemData","name","data","Name","email","Email","image","Image","push","Alert","alert","useeffect","console","log","id","listenOnChange","snapchot","docChanges","change","type","message","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState(null);\r\n\r\n//listenOnChange();\r\n//useeffect();\r\n\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(getFirestore(),\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image}\r\n DATA.push(itemData);\r\n Alert.alert('useEffect',doc.data().Name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\nfunction useeffect(){\r\n getDocs(collection(getFirestore(),'Users')).forEach((doc) => {\r\n console.log(`${doc.id} => ${doc.data()}`);\r\n});\r\n}\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n Alert.alert('listen on change',message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> {DATA[0].name}</Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n /*ListEmptyComponent={EmptyListMessage}*/\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/d2517e76366614fe900ca7624a19049a.json b/.expo/web/cache/development/babel-loader/d2517e76366614fe900ca7624a19049a.json new file mode 100644 index 0000000000000000000000000000000000000000..09ff58f4b9544bdb9fbe66a934d2b442f6654a3f --- /dev/null +++ b/.expo/web/cache/development/babel-loader/d2517e76366614fe900ca7624a19049a.json @@ -0,0 +1 @@ +{"ast":null,"code":"import RCTDeviceEventEmitter from \"../../vendor/react-native/NativeEventEmitter/RCTDeviceEventEmitter\";\nexport default RCTDeviceEventEmitter;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/DeviceEventEmitter/index.js"],"names":["RCTDeviceEventEmitter"],"mappings":"AAAA,OAAOA,qBAAP;AACA,eAAeA,qBAAf","sourcesContent":["import RCTDeviceEventEmitter from '../../vendor/react-native/NativeEventEmitter/RCTDeviceEventEmitter';\nexport default RCTDeviceEventEmitter;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/d34cef3b3c3ca4c7be44c0ea60051015.json b/.expo/web/cache/development/babel-loader/d34cef3b3c3ca4c7be44c0ea60051015.json new file mode 100644 index 0000000000000000000000000000000000000000..e1dd2587394fc97a1f67b523b7be62bbd34de2bd --- /dev/null +++ b/.expo/web/cache/development/babel-loader/d34cef3b3c3ca4c7be44c0ea60051015.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport AnimatedInterpolation from \"./AnimatedInterpolation\";\nimport AnimatedWithChildren from \"./AnimatedWithChildren\";\nimport InteractionManager from \"../../../../exports/InteractionManager\";\nimport NativeAnimatedHelper from \"../NativeAnimatedHelper\";\nvar NativeAnimatedAPI = NativeAnimatedHelper.API;\n\nfunction _flush(rootNode) {\n var animatedStyles = new Set();\n\n function findAnimatedStyles(node) {\n if (typeof node.update === 'function') {\n animatedStyles.add(node);\n } else {\n node.__getChildren().forEach(findAnimatedStyles);\n }\n }\n\n findAnimatedStyles(rootNode);\n animatedStyles.forEach(function (animatedStyle) {\n return animatedStyle.update();\n });\n}\n\nvar AnimatedValue = function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedValue, _AnimatedWithChildren);\n\n function AnimatedValue(value) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n\n if (typeof value !== 'number') {\n throw new Error('AnimatedValue: Attempting to set value to undefined');\n }\n\n _this._startingValue = _this._value = value;\n _this._offset = 0;\n _this._animation = null;\n return _this;\n }\n\n var _proto = AnimatedValue.prototype;\n\n _proto.__detach = function __detach() {\n var _this2 = this;\n\n if (this.__isNative) {\n NativeAnimatedAPI.getValue(this.__getNativeTag(), function (value) {\n _this2._value = value;\n });\n }\n\n this.stopAnimation();\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__getValue = function __getValue() {\n return this._value + this._offset;\n };\n\n _proto.setValue = function setValue(value) {\n if (this._animation) {\n this._animation.stop();\n\n this._animation = null;\n }\n\n this._updateValue(value, !this.__isNative);\n\n if (this.__isNative) {\n NativeAnimatedAPI.setAnimatedNodeValue(this.__getNativeTag(), value);\n }\n };\n\n _proto.setOffset = function setOffset(offset) {\n this._offset = offset;\n\n if (this.__isNative) {\n NativeAnimatedAPI.setAnimatedNodeOffset(this.__getNativeTag(), offset);\n }\n };\n\n _proto.flattenOffset = function flattenOffset() {\n this._value += this._offset;\n this._offset = 0;\n\n if (this.__isNative) {\n NativeAnimatedAPI.flattenAnimatedNodeOffset(this.__getNativeTag());\n }\n };\n\n _proto.extractOffset = function extractOffset() {\n this._offset += this._value;\n this._value = 0;\n\n if (this.__isNative) {\n NativeAnimatedAPI.extractAnimatedNodeOffset(this.__getNativeTag());\n }\n };\n\n _proto.stopAnimation = function stopAnimation(callback) {\n this.stopTracking();\n this._animation && this._animation.stop();\n this._animation = null;\n callback && callback(this.__getValue());\n };\n\n _proto.resetAnimation = function resetAnimation(callback) {\n this.stopAnimation(callback);\n this._value = this._startingValue;\n };\n\n _proto._onAnimatedValueUpdateReceived = function _onAnimatedValueUpdateReceived(value) {\n this._updateValue(value, false);\n };\n\n _proto.interpolate = function interpolate(config) {\n return new AnimatedInterpolation(this, config);\n };\n\n _proto.animate = function animate(animation, callback) {\n var _this3 = this;\n\n var handle = null;\n\n if (animation.__isInteraction) {\n handle = InteractionManager.createInteractionHandle();\n }\n\n var previousAnimation = this._animation;\n this._animation && this._animation.stop();\n this._animation = animation;\n animation.start(this._value, function (value) {\n _this3._updateValue(value, true);\n }, function (result) {\n _this3._animation = null;\n\n if (handle !== null) {\n InteractionManager.clearInteractionHandle(handle);\n }\n\n callback && callback(result);\n }, previousAnimation, this);\n };\n\n _proto.stopTracking = function stopTracking() {\n this._tracking && this._tracking.__detach();\n this._tracking = null;\n };\n\n _proto.track = function track(tracking) {\n this.stopTracking();\n this._tracking = tracking;\n };\n\n _proto._updateValue = function _updateValue(value, flush) {\n if (value === undefined) {\n throw new Error('AnimatedValue: Attempting to set value to undefined');\n }\n\n this._value = value;\n\n if (flush) {\n _flush(this);\n }\n\n _AnimatedWithChildren.prototype.__callListeners.call(this, this.__getValue());\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n return {\n type: 'value',\n value: this._value,\n offset: this._offset\n };\n };\n\n return AnimatedValue;\n}(AnimatedWithChildren);\n\nexport default AnimatedValue;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedValue.js"],"names":["_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","AnimatedInterpolation","AnimatedWithChildren","InteractionManager","NativeAnimatedHelper","NativeAnimatedAPI","API","_flush","rootNode","animatedStyles","Set","findAnimatedStyles","node","update","add","__getChildren","forEach","animatedStyle","AnimatedValue","_AnimatedWithChildren","value","_this","call","Error","_startingValue","_value","_offset","_animation","_proto","__detach","_this2","__isNative","getValue","__getNativeTag","stopAnimation","__getValue","setValue","stop","_updateValue","setAnimatedNodeValue","setOffset","offset","setAnimatedNodeOffset","flattenOffset","flattenAnimatedNodeOffset","extractOffset","extractAnimatedNodeOffset","callback","stopTracking","resetAnimation","_onAnimatedValueUpdateReceived","interpolate","config","animate","animation","_this3","handle","__isInteraction","createInteractionHandle","previousAnimation","start","result","clearInteractionHandle","_tracking","track","tracking","flush","undefined","__callListeners","__getNativeConfig","type"],"mappings":"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","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport InteractionManager from '../../../../exports/InteractionManager';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nvar NativeAnimatedAPI = NativeAnimatedHelper.API;\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 */\n\nfunction _flush(rootNode) {\n var animatedStyles = new Set();\n\n function findAnimatedStyles(node) {\n /* $FlowFixMe(>=0.68.0 site=react_native_fb) This comment suppresses an\n * error found when Flow v0.68 was deployed. To see the error delete this\n * comment and run Flow. */\n if (typeof node.update === 'function') {\n animatedStyles.add(node);\n } else {\n node.__getChildren().forEach(findAnimatedStyles);\n }\n }\n\n findAnimatedStyles(rootNode);\n /* $FlowFixMe */\n\n animatedStyles.forEach(function (animatedStyle) {\n return animatedStyle.update();\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.html\n */\n\n\nvar AnimatedValue = /*#__PURE__*/function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedValue, _AnimatedWithChildren);\n\n function AnimatedValue(value) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n\n if (typeof value !== 'number') {\n throw new Error('AnimatedValue: Attempting to set value to undefined');\n }\n\n _this._startingValue = _this._value = value;\n _this._offset = 0;\n _this._animation = null;\n return _this;\n }\n\n var _proto = AnimatedValue.prototype;\n\n _proto.__detach = function __detach() {\n var _this2 = this;\n\n if (this.__isNative) {\n NativeAnimatedAPI.getValue(this.__getNativeTag(), function (value) {\n _this2._value = value;\n });\n }\n\n this.stopAnimation();\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__getValue = function __getValue() {\n return this._value + this._offset;\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.html#setvalue\n */\n ;\n\n _proto.setValue = function setValue(value) {\n if (this._animation) {\n this._animation.stop();\n\n this._animation = null;\n }\n\n this._updateValue(value, !this.__isNative\n /* don't perform a flush for natively driven values */\n );\n\n if (this.__isNative) {\n NativeAnimatedAPI.setAnimatedNodeValue(this.__getNativeTag(), value);\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.html#setoffset\n */\n ;\n\n _proto.setOffset = function setOffset(offset) {\n this._offset = offset;\n\n if (this.__isNative) {\n NativeAnimatedAPI.setAnimatedNodeOffset(this.__getNativeTag(), offset);\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.html#flattenoffset\n */\n ;\n\n _proto.flattenOffset = function flattenOffset() {\n this._value += this._offset;\n this._offset = 0;\n\n if (this.__isNative) {\n NativeAnimatedAPI.flattenAnimatedNodeOffset(this.__getNativeTag());\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.html#extractoffset\n */\n ;\n\n _proto.extractOffset = function extractOffset() {\n this._offset += this._value;\n this._value = 0;\n\n if (this.__isNative) {\n NativeAnimatedAPI.extractAnimatedNodeOffset(this.__getNativeTag());\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.html#stopanimation\n */\n ;\n\n _proto.stopAnimation = function stopAnimation(callback) {\n this.stopTracking();\n this._animation && this._animation.stop();\n this._animation = null;\n callback && callback(this.__getValue());\n }\n /**\n * Stops any animation and resets the value to its original.\n *\n * See https://reactnative.dev/docs/animatedvalue.html#resetanimation\n */\n ;\n\n _proto.resetAnimation = function resetAnimation(callback) {\n this.stopAnimation(callback);\n this._value = this._startingValue;\n };\n\n _proto._onAnimatedValueUpdateReceived = function _onAnimatedValueUpdateReceived(value) {\n this._updateValue(value, false\n /*flush*/\n );\n }\n /**\n * Interpolates the value before updating the property, e.g. mapping 0-1 to\n * 0-10.\n */\n ;\n\n _proto.interpolate = function interpolate(config) {\n return new AnimatedInterpolation(this, config);\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.html#animate\n */\n ;\n\n _proto.animate = function animate(animation, callback) {\n var _this3 = this;\n\n var handle = null;\n\n if (animation.__isInteraction) {\n handle = InteractionManager.createInteractionHandle();\n }\n\n var previousAnimation = this._animation;\n this._animation && this._animation.stop();\n this._animation = animation;\n animation.start(this._value, function (value) {\n // Natively driven animations will never call into that callback, therefore we can always\n // pass flush = true to allow the updated value to propagate to native with setNativeProps\n _this3._updateValue(value, true\n /* flush */\n );\n }, function (result) {\n _this3._animation = null;\n\n if (handle !== null) {\n InteractionManager.clearInteractionHandle(handle);\n }\n\n callback && callback(result);\n }, previousAnimation, this);\n }\n /**\n * Typically only used internally.\n */\n ;\n\n _proto.stopTracking = function stopTracking() {\n this._tracking && this._tracking.__detach();\n this._tracking = null;\n }\n /**\n * Typically only used internally.\n */\n ;\n\n _proto.track = function track(tracking) {\n this.stopTracking();\n this._tracking = tracking;\n };\n\n _proto._updateValue = function _updateValue(value, flush) {\n if (value === undefined) {\n throw new Error('AnimatedValue: Attempting to set value to undefined');\n }\n\n this._value = value;\n\n if (flush) {\n _flush(this);\n }\n\n _AnimatedWithChildren.prototype.__callListeners.call(this, this.__getValue());\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n return {\n type: 'value',\n value: this._value,\n offset: this._offset\n };\n };\n\n return AnimatedValue;\n}(AnimatedWithChildren);\n\nexport default AnimatedValue;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/d48bdd3e6304163e7d63ea7d87379527.json b/.expo/web/cache/development/babel-loader/d48bdd3e6304163e7d63ea7d87379527.json new file mode 100644 index 0000000000000000000000000000000000000000..52a2c23957ddfcfdcabfbb9ca9b05ed90cb7801e --- /dev/null +++ b/.expo/web/cache/development/babel-loader/d48bdd3e6304163e7d63ea7d87379527.json @@ -0,0 +1 @@ +{"ast":null,"code":"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 flex from 'inline-style-prefixer/lib/plugins/flex';\nimport flexboxIE from 'inline-style-prefixer/lib/plugins/flexboxIE';\nimport flexboxOld from 'inline-style-prefixer/lib/plugins/flexboxOld';\nimport gradient from 'inline-style-prefixer/lib/plugins/gradient';\nimport grid from 'inline-style-prefixer/lib/plugins/grid';\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 ms = ['ms'];\nvar wm = ['Webkit', 'Moz'];\nvar wms = ['Webkit', 'ms'];\nvar wmms = ['Webkit', 'Moz', 'ms'];\nexport default {\n plugins: [backgroundClip, crossFade, cursor, filter, flex, flexboxIE, flexboxOld, gradient, grid, imageSet, logical, position, sizing, transition],\n prefixMap: {\n animation: w,\n animationDelay: w,\n animationDirection: w,\n animationFillMode: w,\n animationDuration: w,\n animationIterationCount: w,\n animationName: w,\n animationPlayState: w,\n animationTimingFunction: w,\n appearance: wm,\n userSelect: wmms,\n textEmphasisPosition: w,\n textEmphasis: w,\n textEmphasisStyle: w,\n textEmphasisColor: w,\n boxDecorationBreak: w,\n clipPath: w,\n maskImage: w,\n maskMode: w,\n maskRepeat: w,\n maskPosition: w,\n maskClip: w,\n maskOrigin: w,\n maskSize: w,\n maskComposite: w,\n mask: w,\n maskBorderSource: w,\n maskBorderMode: w,\n maskBorderSlice: w,\n maskBorderWidth: w,\n maskBorderOutset: w,\n maskBorderRepeat: w,\n maskBorder: w,\n maskType: w,\n textDecorationStyle: w,\n textDecorationSkip: w,\n textDecorationLine: w,\n textDecorationColor: w,\n filter: w,\n fontFeatureSettings: w,\n breakAfter: wmms,\n breakBefore: wmms,\n breakInside: wmms,\n columnCount: wm,\n columnFill: wm,\n columnGap: wm,\n columnRule: wm,\n columnRuleColor: wm,\n columnRuleStyle: wm,\n columnRuleWidth: wm,\n columns: wm,\n columnSpan: wm,\n columnWidth: wm,\n writingMode: wms,\n flex: wms,\n flexBasis: w,\n flexDirection: wms,\n flexGrow: w,\n flexFlow: wms,\n flexShrink: w,\n flexWrap: wms,\n alignContent: w,\n alignItems: w,\n alignSelf: w,\n justifyContent: w,\n order: w,\n transform: w,\n transformOrigin: w,\n transformOriginX: w,\n transformOriginY: w,\n backfaceVisibility: w,\n perspective: w,\n perspectiveOrigin: w,\n transformStyle: w,\n transformOriginZ: w,\n backdropFilter: w,\n fontKerning: w,\n scrollSnapType: wms,\n scrollSnapPointsX: wms,\n scrollSnapPointsY: wms,\n scrollSnapDestination: wms,\n scrollSnapCoordinate: wms,\n shapeImageThreshold: w,\n shapeImageMargin: w,\n shapeImageOutside: w,\n hyphens: wmms,\n flowInto: wms,\n flowFrom: wms,\n regionFragment: wms,\n textOrientation: w,\n textAlignLast: m,\n tabSize: m,\n wrapFlow: ms,\n wrapThrough: ms,\n wrapMargin: ms,\n touchAction: ms,\n textSizeAdjust: ['ms', 'Webkit'],\n borderImage: w,\n borderImageOutset: w,\n borderImageRepeat: w,\n borderImageSlice: w,\n borderImageSource: w,\n borderImageWidth: w,\n transitionDelay: w,\n transitionDuration: w,\n transitionProperty: w,\n transitionTimingFunction: w\n }\n};","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/prefixStyles/static.js"],"names":["backgroundClip","crossFade","cursor","filter","flex","flexboxIE","flexboxOld","gradient","grid","imageSet","logical","position","sizing","transition","w","m","ms","wm","wms","wmms","plugins","prefixMap","animation","animationDelay","animationDirection","animationFillMode","animationDuration","animationIterationCount","animationName","animationPlayState","animationTimingFunction","appearance","userSelect","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","textDecorationLine","textDecorationColor","fontFeatureSettings","breakAfter","breakBefore","breakInside","columnCount","columnFill","columnGap","columnRule","columnRuleColor","columnRuleStyle","columnRuleWidth","columns","columnSpan","columnWidth","writingMode","flexBasis","flexDirection","flexGrow","flexFlow","flexShrink","flexWrap","alignContent","alignItems","alignSelf","justifyContent","order","transform","transformOrigin","transformOriginX","transformOriginY","backfaceVisibility","perspective","perspectiveOrigin","transformStyle","transformOriginZ","backdropFilter","fontKerning","scrollSnapType","scrollSnapPointsX","scrollSnapPointsY","scrollSnapDestination","scrollSnapCoordinate","shapeImageThreshold","shapeImageMargin","shapeImageOutside","hyphens","flowInto","flowFrom","regionFragment","textOrientation","textAlignLast","tabSize","wrapFlow","wrapThrough","wrapMargin","touchAction","textSizeAdjust","borderImage","borderImageOutset","borderImageRepeat","borderImageSlice","borderImageSource","borderImageWidth","transitionDelay","transitionDuration","transitionProperty","transitionTimingFunction"],"mappings":"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","sourcesContent":["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 flex from 'inline-style-prefixer/lib/plugins/flex';\nimport flexboxIE from 'inline-style-prefixer/lib/plugins/flexboxIE';\nimport flexboxOld from 'inline-style-prefixer/lib/plugins/flexboxOld';\nimport gradient from 'inline-style-prefixer/lib/plugins/gradient';\nimport grid from 'inline-style-prefixer/lib/plugins/grid';\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 ms = ['ms'];\nvar wm = ['Webkit', 'Moz'];\nvar wms = ['Webkit', 'ms'];\nvar wmms = ['Webkit', 'Moz', 'ms'];\nexport default {\n plugins: [backgroundClip, crossFade, cursor, filter, flex, flexboxIE, flexboxOld, gradient, grid, imageSet, logical, position, sizing, transition],\n prefixMap: {\n animation: w,\n animationDelay: w,\n animationDirection: w,\n animationFillMode: w,\n animationDuration: w,\n animationIterationCount: w,\n animationName: w,\n animationPlayState: w,\n animationTimingFunction: w,\n appearance: wm,\n userSelect: wmms,\n textEmphasisPosition: w,\n textEmphasis: w,\n textEmphasisStyle: w,\n textEmphasisColor: w,\n boxDecorationBreak: w,\n clipPath: w,\n maskImage: w,\n maskMode: w,\n maskRepeat: w,\n maskPosition: w,\n maskClip: w,\n maskOrigin: w,\n maskSize: w,\n maskComposite: w,\n mask: w,\n maskBorderSource: w,\n maskBorderMode: w,\n maskBorderSlice: w,\n maskBorderWidth: w,\n maskBorderOutset: w,\n maskBorderRepeat: w,\n maskBorder: w,\n maskType: w,\n textDecorationStyle: w,\n textDecorationSkip: w,\n textDecorationLine: w,\n textDecorationColor: w,\n filter: w,\n fontFeatureSettings: w,\n breakAfter: wmms,\n breakBefore: wmms,\n breakInside: wmms,\n columnCount: wm,\n columnFill: wm,\n columnGap: wm,\n columnRule: wm,\n columnRuleColor: wm,\n columnRuleStyle: wm,\n columnRuleWidth: wm,\n columns: wm,\n columnSpan: wm,\n columnWidth: wm,\n writingMode: wms,\n flex: wms,\n flexBasis: w,\n flexDirection: wms,\n flexGrow: w,\n flexFlow: wms,\n flexShrink: w,\n flexWrap: wms,\n alignContent: w,\n alignItems: w,\n alignSelf: w,\n justifyContent: w,\n order: w,\n transform: w,\n transformOrigin: w,\n transformOriginX: w,\n transformOriginY: w,\n backfaceVisibility: w,\n perspective: w,\n perspectiveOrigin: w,\n transformStyle: w,\n transformOriginZ: w,\n backdropFilter: w,\n fontKerning: w,\n scrollSnapType: wms,\n scrollSnapPointsX: wms,\n scrollSnapPointsY: wms,\n scrollSnapDestination: wms,\n scrollSnapCoordinate: wms,\n shapeImageThreshold: w,\n shapeImageMargin: w,\n shapeImageOutside: w,\n hyphens: wmms,\n flowInto: wms,\n flowFrom: wms,\n regionFragment: wms,\n textOrientation: w,\n textAlignLast: m,\n tabSize: m,\n wrapFlow: ms,\n wrapThrough: ms,\n wrapMargin: ms,\n touchAction: ms,\n textSizeAdjust: ['ms', 'Webkit'],\n borderImage: w,\n borderImageOutset: w,\n borderImageRepeat: w,\n borderImageSlice: w,\n borderImageSource: w,\n borderImageWidth: w,\n transitionDelay: w,\n transitionDuration: w,\n transitionProperty: w,\n transitionTimingFunction: w\n }\n};"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/d48c53cb59b6c58377c48e858a803514.json b/.expo/web/cache/development/babel-loader/d48c53cb59b6c58377c48e858a803514.json new file mode 100644 index 0000000000000000000000000000000000000000..661e6e51a1a0e44348781725f2f91eb38967f450 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/d48c53cb59b6c58377c48e858a803514.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport FirestoreDocumentSnapshot from \"./FirestoreDocumentSnapshot\";\nvar TYPE_MAP = {\n a: 'added',\n m: 'modified',\n r: 'removed'\n};\n\nvar FirestoreDocumentChange = function () {\n function FirestoreDocumentChange(firestore, nativeData) {\n _classCallCheck(this, FirestoreDocumentChange);\n\n this._firestore = firestore;\n this._nativeData = nativeData;\n this._isMetadataChange = nativeData.isMetadataChange;\n }\n\n _createClass(FirestoreDocumentChange, [{\n key: \"doc\",\n get: function get() {\n return new FirestoreDocumentSnapshot(this._firestore, this._nativeData.doc);\n }\n }, {\n key: \"newIndex\",\n get: function get() {\n return this._nativeData.ni;\n }\n }, {\n key: \"oldIndex\",\n get: function get() {\n return this._nativeData.oi;\n }\n }, {\n key: \"type\",\n get: function get() {\n return TYPE_MAP[this._nativeData.type];\n }\n }]);\n\n return FirestoreDocumentChange;\n}();\n\nexport { FirestoreDocumentChange as default };","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/firestore/lib/FirestoreDocumentChange.js"],"names":["FirestoreDocumentSnapshot","TYPE_MAP","a","m","r","FirestoreDocumentChange","firestore","nativeData","_firestore","_nativeData","_isMetadataChange","isMetadataChange","doc","ni","oi","type"],"mappings":";;AAiBA,OAAOA,yBAAP;AAEA,IAAMC,QAAQ,GAAG;AACfC,EAAAA,CAAC,EAAE,OADY;AAEfC,EAAAA,CAAC,EAAE,UAFY;AAGfC,EAAAA,CAAC,EAAE;AAHY,CAAjB;;IAMqBC,uB;AACnB,mCAAYC,SAAZ,EAAuBC,UAAvB,EAAmC;AAAA;;AACjC,SAAKC,UAAL,GAAkBF,SAAlB;AACA,SAAKG,WAAL,GAAmBF,UAAnB;AACA,SAAKG,iBAAL,GAAyBH,UAAU,CAACI,gBAApC;AACD;;;;SAED,eAAU;AACR,aAAO,IAAIX,yBAAJ,CAA8B,KAAKQ,UAAnC,EAA+C,KAAKC,WAAL,CAAiBG,GAAhE,CAAP;AACD;;;SAED,eAAe;AACb,aAAO,KAAKH,WAAL,CAAiBI,EAAxB;AACD;;;SAED,eAAe;AACb,aAAO,KAAKJ,WAAL,CAAiBK,EAAxB;AACD;;;SAED,eAAW;AACT,aAAOb,QAAQ,CAAC,KAAKQ,WAAL,CAAiBM,IAAlB,CAAf;AACD;;;;;;SArBkBV,uB","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport FirestoreDocumentSnapshot from './FirestoreDocumentSnapshot';\n\nconst TYPE_MAP = {\n a: 'added',\n m: 'modified',\n r: 'removed',\n};\n\nexport default class FirestoreDocumentChange {\n constructor(firestore, nativeData) {\n this._firestore = firestore;\n this._nativeData = nativeData;\n this._isMetadataChange = nativeData.isMetadataChange;\n }\n\n get doc() {\n return new FirestoreDocumentSnapshot(this._firestore, this._nativeData.doc);\n }\n\n get newIndex() {\n return this._nativeData.ni;\n }\n\n get oldIndex() {\n return this._nativeData.oi;\n }\n\n get type() {\n return TYPE_MAP[this._nativeData.type];\n }\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/d4d4713bce5033381fbc6272f2bbefa4.json b/.expo/web/cache/development/babel-loader/d4d4713bce5033381fbc6272f2bbefa4.json new file mode 100644 index 0000000000000000000000000000000000000000..9c2b0bd3970b1cd84b86907fb5b2f03cd53fa271 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/d4d4713bce5033381fbc6272f2bbefa4.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { hydrate, render } from 'react-dom';\nexport { hydrate };\nexport default render;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/render/index.js"],"names":["hydrate","render"],"mappings":"AAQA,SAASA,OAAT,EAAkBC,MAAlB,QAAgC,WAAhC;AACA,SAASD,OAAT;AACA,eAAeC,MAAf","sourcesContent":["/**\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 { hydrate, render } from 'react-dom';\nexport { hydrate };\nexport default render;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/d603e1ca7bceec8f194a0b9a681c9cac.json b/.expo/web/cache/development/babel-loader/d603e1ca7bceec8f194a0b9a681c9cac.json new file mode 100644 index 0000000000000000000000000000000000000000..345a79565d55caaa2cb56d3a7e7a5b6ca59a702b --- /dev/null +++ b/.expo/web/cache/development/babel-loader/d603e1ca7bceec8f194a0b9a681c9cac.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n DATA = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(getFirestore(), \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var itemData = {\n name: doc.data().Name,\n email: doc.data().Email,\n image: doc.data().Image\n };\n setUsers(itemData);\n });\n });\n }, []);\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" \"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","UserLists","navigation","route","DATA","setUsers","colRef","querySnapshot","forEach","itemData","name","data","Name","email","Email","image","Image","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","selectedId","setSelectedId","renderItem","id","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","Alert","alert","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\n//let DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [DATA, setUsers] = useState([]);\r\n\r\n//listenOnChange();\r\n//useeffect();\r\n\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(getFirestore(),\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image}\r\n //DATA.push(itemData);\r\n setUsers(itemData);\r\n // Alert.alert('useEffect',doc.data().Name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\n/*function useeffect(){\r\n getDocs(collection(getFirestore(),'Users')).forEach((doc) => {\r\n console.log(`${doc.id} => ${doc.data()}`);\r\n});\r\n}*/\r\n\r\n/*function listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n Alert.alert('listen on change',message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}*/\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> </Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/d7a839e071b547cc84db379019c1d559.json b/.expo/web/cache/development/babel-loader/d7a839e071b547cc84db379019c1d559.json new file mode 100644 index 0000000000000000000000000000000000000000..c5067777c53aaa6cea9a0487ce09d47c022507fb --- /dev/null +++ b/.expo/web/cache/development/babel-loader/d7a839e071b547cc84db379019c1d559.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(getFirestore(), \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var itemData = {\n name: doc.data().Name,\n email: doc.data().Email,\n image: doc.data().Image\n };\n DATA.push(itemData);\n Alert.alert('useEffect', doc.data().Name);\n });\n });\n }, []);\n\n function useeffect() {\n getDocs(collection(getFirestore(), 'Users')).forEach(function (doc) {\n console.log(doc.id + \" => \" + doc.data());\n });\n }\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n Alert.alert('listen on change', message.Name);\n }\n });\n });\n }\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" bla\"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","itemData","name","data","Name","email","Email","image","Image","push","Alert","alert","useeffect","console","log","id","listenOnChange","snapchot","docChanges","change","type","message","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState(null);\r\n\r\n//listenOnChange();\r\n//useeffect();\r\n\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(getFirestore(),\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image}\r\n DATA.push(itemData);\r\n Alert.alert('useEffect',doc.data().Name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\nfunction useeffect(){\r\n getDocs(collection(getFirestore(),'Users')).forEach((doc) => {\r\n console.log(`${doc.id} => ${doc.data()}`);\r\n});\r\n}\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n Alert.alert('listen on change',message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> bla</Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n /*ListEmptyComponent={EmptyListMessage}*/\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/d862ba1c11bd872cca4149904bfb25b5.json b/.expo/web/cache/development/babel-loader/d862ba1c11bd872cca4149904bfb25b5.json new file mode 100644 index 0000000000000000000000000000000000000000..75b664010a051d8ad28b98835fb9a80918a0d9aa --- /dev/null +++ b/.expo/web/cache/development/babel-loader/d862ba1c11bd872cca4149904bfb25b5.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nexport default function fromEntries(entries) {\n return entries.reduce(function (acc, _ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n k = _ref2[0],\n v = _ref2[1];\n\n if (acc.hasOwnProperty(k)) {\n throw new Error(\"A value for key '\" + k + \"' already exists in the object.\");\n }\n\n acc[k] = v;\n return acc;\n }, {});\n}","map":{"version":3,"sources":["fromEntries.tsx"],"names":["acc"],"mappings":";AACA,eAAe,SAAA,WAAA,CAAA,OAAA,EAEb;AACA,SAAO,OAAO,CAAP,MAAA,CAAe,UAAA,GAAA,EAAA,IAAA,EAAiB;AAAX,+BAAW,IAAX;AAAA,QAAA,CAAA;AAAA,QAAA,CAAA;;AAC1B,QAAIA,GAAG,CAAHA,cAAAA,CAAJ,CAAIA,CAAJ,EAA2B;AACzB,YAAM,IAAA,KAAA,uBAAN,CAAM,qCAAN;AACD;;AAEDA,IAAAA,GAAG,CAAHA,CAAG,CAAHA,GAAAA,CAAAA;AACA,WAAA,GAAA;AANK,GAAA,EAAP,EAAO,CAAP;AAQD","sourcesContent":["// Object.fromEntries is not available in older iOS versions\nexport default function fromEntries<K extends string, V>(\n entries: (readonly [K, V])[]\n) {\n return entries.reduce((acc, [k, v]) => {\n if (acc.hasOwnProperty(k)) {\n throw new Error(`A value for key '${k}' already exists in the object.`);\n }\n\n acc[k] = v;\n return acc;\n }, {} as Record<K, V>);\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/d88f601fdf7c7e88c05342ca63ad6ec8.json b/.expo/web/cache/development/babel-loader/d88f601fdf7c7e88c05342ca63ad6ec8.json new file mode 100644 index 0000000000000000000000000000000000000000..dbd9cb719d7605f1b9885d6e2993ca5f6d0521f9 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/d88f601fdf7c7e88c05342ca63ad6ec8.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\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 }\n\n it = o[Symbol.iterator]();\n return it.next.bind(it);\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nimport invariant from 'fbjs/lib/invariant';\n\nvar ViewabilityHelper = function () {\n function ViewabilityHelper(config) {\n if (config === void 0) {\n config = {\n viewAreaCoveragePercentThreshold: 0\n };\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 var _proto = ViewabilityHelper.prototype;\n\n _proto.dispose = function dispose() {\n this._timers.forEach(clearTimeout);\n };\n\n _proto.computeViewableItems = function computeViewableItems(itemCount, scrollOffset, viewportHeight, getFrameMetrics, renderRange) {\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\n if (itemCount === 0) {\n return viewableIndices;\n }\n\n var firstVisible = -1;\n\n var _ref = renderRange || {\n first: 0,\n last: itemCount - 1\n },\n first = _ref.first,\n last = _ref.last;\n\n if (last >= itemCount) {\n console.warn('Invalid render range computing viewability ' + JSON.stringify({\n renderRange: renderRange,\n itemCount: itemCount\n }));\n return [];\n }\n\n for (var idx = first; idx <= last; idx++) {\n var metrics = getFrameMetrics(idx);\n\n if (!metrics) {\n continue;\n }\n\n var top = metrics.offset - scrollOffset;\n var bottom = top + metrics.length;\n\n if (top < viewportHeight && bottom > 0) {\n firstVisible = idx;\n\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\n return viewableIndices;\n };\n\n _proto.onUpdate = function onUpdate(itemCount, scrollOffset, viewportHeight, getFrameMetrics, createViewToken, onViewableItemsChanged, renderRange) {\n var _this = this;\n\n if (this._config.waitForInteraction && !this._hasInteracted || itemCount === 0 || !getFrameMetrics(0)) {\n return;\n }\n\n var viewableIndices = [];\n\n if (itemCount) {\n viewableIndices = this.computeViewableItems(itemCount, scrollOffset, viewportHeight, getFrameMetrics, renderRange);\n }\n\n if (this._viewableIndices.length === viewableIndices.length && this._viewableIndices.every(function (v, ii) {\n return v === viewableIndices[ii];\n })) {\n return;\n }\n\n this._viewableIndices = viewableIndices;\n\n if (this._config.minimumViewTime) {\n var handle = setTimeout(function () {\n _this._timers.delete(handle);\n\n _this._onUpdateSync(viewableIndices, onViewableItemsChanged, createViewToken);\n }, this._config.minimumViewTime);\n\n this._timers.add(handle);\n } else {\n this._onUpdateSync(viewableIndices, onViewableItemsChanged, createViewToken);\n }\n };\n\n _proto.resetViewableIndices = function resetViewableIndices() {\n this._viewableIndices = [];\n };\n\n _proto.recordInteraction = function recordInteraction() {\n this._hasInteracted = true;\n };\n\n _proto._onUpdateSync = function _onUpdateSync(viewableIndicesToCheck, onViewableItemsChanged, createViewToken) {\n var _this2 = this;\n\n viewableIndicesToCheck = viewableIndicesToCheck.filter(function (ii) {\n return _this2._viewableIndices.includes(ii);\n });\n var prevItems = this._viewableItems;\n var nextItems = new Map(viewableIndicesToCheck.map(function (ii) {\n var viewable = createViewToken(ii, true);\n return [viewable.key, viewable];\n }));\n var changed = [];\n\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\n if (!prevItems.has(key)) {\n changed.push(viewable);\n }\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\n if (!nextItems.has(_key)) {\n changed.push(_objectSpread(_objectSpread({}, _viewable), {}, {\n isViewable: false\n }));\n }\n }\n\n if (changed.length > 0) {\n this._viewableItems = nextItems;\n onViewableItemsChanged({\n viewableItems: Array.from(nextItems.values()),\n changed: changed,\n viewabilityConfig: this._config\n });\n }\n };\n\n return ViewabilityHelper;\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\n var percent = 100 * (viewAreaMode ? pixels / viewportHeight : pixels / itemLength);\n return percent >= viewablePercentThreshold;\n }\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}\n\nfunction _isEntirelyVisible(top, bottom, viewportHeight) {\n return top >= 0 && bottom <= viewportHeight && bottom > top;\n}\n\nexport default ViewabilityHelper;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/ViewabilityHelper/index.js"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","done","TypeError","next","bind","minLen","_arrayLikeToArray","n","prototype","toString","call","slice","constructor","name","from","test","arr","len","arr2","invariant","ViewabilityHelper","config","viewAreaCoveragePercentThreshold","_hasInteracted","_timers","Set","_viewableIndices","_viewableItems","Map","_config","_proto","dispose","clearTimeout","computeViewableItems","itemCount","scrollOffset","viewportHeight","getFrameMetrics","renderRange","_this$_config","itemVisiblePercentThreshold","viewAreaMode","viewablePercentThreshold","viewableIndices","firstVisible","_ref","first","last","console","warn","JSON","stringify","idx","metrics","top","offset","bottom","_isViewable","onUpdate","createViewToken","onViewableItemsChanged","_this","waitForInteraction","every","v","ii","minimumViewTime","handle","setTimeout","delete","_onUpdateSync","add","resetViewableIndices","recordInteraction","viewableIndicesToCheck","_this2","includes","prevItems","nextItems","map","viewable","changed","_iterator","_step","_step$value","has","_iterator2","_step2","_step2$value","_key","_viewable","isViewable","viewableItems","values","viewabilityConfig","itemLength","_isEntirelyVisible","pixels","_getPixelsVisible","percent","visibleHeight","Math","min","max"],"mappings":"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","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } it = o[Symbol.iterator](); return it.next.bind(it); }\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(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\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\nimport invariant from 'fbjs/lib/invariant';\n\n/**\n * A Utility class for calculating viewable items based on current metrics like scroll position and\n * layout.\n *\n * An item is said to be in a \"viewable\" state when any of the following\n * is true for longer than `minimumViewTime` milliseconds (after an interaction if `waitForInteraction`\n * is true):\n *\n * - Occupying >= `viewAreaCoveragePercentThreshold` of the view area XOR fraction of the item\n * visible in the view area >= `itemVisiblePercentThreshold`.\n * - Entirely visible on screen\n */\nvar ViewabilityHelper = /*#__PURE__*/function () {\n function ViewabilityHelper(config) {\n if (config === void 0) {\n config = {\n viewAreaCoveragePercentThreshold: 0\n };\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 * Cleanup, e.g. on unmount. Clears any pending timers.\n */\n\n\n var _proto = ViewabilityHelper.prototype;\n\n _proto.dispose = function dispose() {\n this._timers.forEach(clearTimeout);\n }\n /**\n * Determines which items are viewable based on the current metrics and config.\n */\n ;\n\n _proto.computeViewableItems = function computeViewableItems(itemCount, scrollOffset, viewportHeight, getFrameMetrics, renderRange) {\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\n if (itemCount === 0) {\n return viewableIndices;\n }\n\n var firstVisible = -1;\n\n var _ref = renderRange || {\n first: 0,\n last: itemCount - 1\n },\n first = _ref.first,\n last = _ref.last;\n\n if (last >= itemCount) {\n console.warn('Invalid render range computing viewability ' + JSON.stringify({\n renderRange: renderRange,\n itemCount: itemCount\n }));\n return [];\n }\n\n for (var idx = first; idx <= last; idx++) {\n var metrics = getFrameMetrics(idx);\n\n if (!metrics) {\n continue;\n }\n\n var top = metrics.offset - scrollOffset;\n var bottom = top + metrics.length;\n\n if (top < viewportHeight && bottom > 0) {\n firstVisible = idx;\n\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\n return viewableIndices;\n }\n /**\n * Figures out which items are viewable and how that has changed from before and calls\n * `onViewableItemsChanged` as appropriate.\n */\n ;\n\n _proto.onUpdate = function onUpdate(itemCount, scrollOffset, viewportHeight, getFrameMetrics, createViewToken, onViewableItemsChanged, renderRange) {\n var _this = this;\n\n if (this._config.waitForInteraction && !this._hasInteracted || itemCount === 0 || !getFrameMetrics(0)) {\n return;\n }\n\n var viewableIndices = [];\n\n if (itemCount) {\n viewableIndices = this.computeViewableItems(itemCount, scrollOffset, viewportHeight, getFrameMetrics, renderRange);\n }\n\n if (this._viewableIndices.length === viewableIndices.length && this._viewableIndices.every(function (v, ii) {\n return v === viewableIndices[ii];\n })) {\n // We might get a lot of scroll events where visibility doesn't change and we don't want to do\n // extra work in those cases.\n return;\n }\n\n this._viewableIndices = viewableIndices;\n\n if (this._config.minimumViewTime) {\n var handle = setTimeout(function () {\n _this._timers.delete(handle);\n\n _this._onUpdateSync(viewableIndices, onViewableItemsChanged, createViewToken);\n }, this._config.minimumViewTime);\n\n this._timers.add(handle);\n } else {\n this._onUpdateSync(viewableIndices, onViewableItemsChanged, createViewToken);\n }\n }\n /**\n * clean-up cached _viewableIndices to evaluate changed items on next update\n */\n ;\n\n _proto.resetViewableIndices = function resetViewableIndices() {\n this._viewableIndices = [];\n }\n /**\n * Records that an interaction has happened even if there has been no scroll.\n */\n ;\n\n _proto.recordInteraction = function recordInteraction() {\n this._hasInteracted = true;\n };\n\n _proto._onUpdateSync = function _onUpdateSync( // $FlowFixMe\n viewableIndicesToCheck, // $FlowFixMe\n onViewableItemsChanged, // $FlowFixMe\n createViewToken) {\n var _this2 = this;\n\n // Filter out indices that have gone out of view since this call was scheduled.\n viewableIndicesToCheck = viewableIndicesToCheck.filter(function (ii) {\n return _this2._viewableIndices.includes(ii);\n });\n var prevItems = this._viewableItems;\n var nextItems = new Map(viewableIndicesToCheck.map(function (ii) {\n var viewable = createViewToken(ii, true);\n return [viewable.key, viewable];\n }));\n var changed = [];\n\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\n if (!prevItems.has(key)) {\n changed.push(viewable);\n }\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\n if (!nextItems.has(_key)) {\n changed.push(_objectSpread(_objectSpread({}, _viewable), {}, {\n isViewable: false\n }));\n }\n }\n\n if (changed.length > 0) {\n this._viewableItems = nextItems;\n onViewableItemsChanged({\n viewableItems: Array.from(nextItems.values()),\n changed: changed,\n viewabilityConfig: this._config\n });\n }\n };\n\n return ViewabilityHelper;\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\n var percent = 100 * (viewAreaMode ? pixels / viewportHeight : pixels / itemLength);\n return percent >= viewablePercentThreshold;\n }\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}\n\nfunction _isEntirelyVisible(top, bottom, viewportHeight) {\n return top >= 0 && bottom <= viewportHeight && bottom > top;\n}\n\nexport default ViewabilityHelper;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/d9225acc5279baa420c00800dfe0461f.json b/.expo/web/cache/development/babel-loader/d9225acc5279baa420c00800dfe0461f.json new file mode 100644 index 0000000000000000000000000000000000000000..0aa2f611e16c02157b25272220d8415b11b8c9ff --- /dev/null +++ b/.expo/web/cache/development/babel-loader/d9225acc5279baa420c00800dfe0461f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nvar MISSING_CONTEXT_ERROR = \"Couldn't find a schedule context.\";\nexport var ScheduleUpdateContext = React.createContext({\n scheduleUpdate: function scheduleUpdate() {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n flushUpdates: function flushUpdates() {\n throw new Error(MISSING_CONTEXT_ERROR);\n }\n});\nexport default function useScheduleUpdate(callback) {\n var _React$useContext = React.useContext(ScheduleUpdateContext),\n scheduleUpdate = _React$useContext.scheduleUpdate,\n flushUpdates = _React$useContext.flushUpdates;\n\n scheduleUpdate(callback);\n React.useEffect(flushUpdates);\n}","map":{"version":3,"sources":["useScheduleUpdate.tsx"],"names":["MISSING_CONTEXT_ERROR","ScheduleUpdateContext","scheduleUpdate","flushUpdates","React"],"mappings":"AAAA,OAAO,KAAP,KAAA,MAAA,OAAA;AAEA,IAAMA,qBAAqB,GAA3B,mCAAA;AAEA,OAAO,IAAMC,qBAAqB,GAAG,KAAK,CAAL,aAAA,CAGlC;AACDC,EAAAA,cADC,4BACgB;AACf,UAAM,IAAA,KAAA,CAAN,qBAAM,CAAN;AAFD,GAAA;AAIDC,EAAAA,YAJC,0BAIc;AACb,UAAM,IAAA,KAAA,CAAN,qBAAM,CAAN;AACD;AANA,CAHkC,CAA9B;AAmBP,eAAe,SAAA,iBAAA,CAAA,QAAA,EAAiD;AAC9D,0BAAyCC,KAAK,CAALA,UAAAA,CAAzC,qBAAyCA,CAAzC;AAAA,MAAM,cAAN,qBAAM,cAAN;AAAA,MAAwBD,YAAxB,qBAAwBA,YAAxB;;AAIAD,EAAAA,cAAc,CAAdA,QAAc,CAAdA;AAEAE,EAAAA,KAAK,CAALA,SAAAA,CAAAA,YAAAA;AACD","sourcesContent":["import * as React from 'react';\n\nconst MISSING_CONTEXT_ERROR = \"Couldn't find a schedule context.\";\n\nexport const ScheduleUpdateContext = React.createContext<{\n scheduleUpdate: (callback: () => void) => void;\n flushUpdates: () => void;\n}>({\n scheduleUpdate() {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n flushUpdates() {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n});\n\n/**\n * When screen config changes, we want to update the navigator in the same update phase.\n * However, navigation state is in the root component and React won't let us update it from a child.\n * This is a workaround for that, the scheduled update is stored in the ref without actually calling setState.\n * It lets all subsequent updates access the latest state so it stays correct.\n * Then we call setState during after the component updates.\n */\nexport default function useScheduleUpdate(callback: () => void) {\n const { scheduleUpdate, flushUpdates } = React.useContext(\n ScheduleUpdateContext\n );\n\n scheduleUpdate(callback);\n\n React.useEffect(flushUpdates);\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/da82e34251f851e56f87cecc4df86d7f.json b/.expo/web/cache/development/babel-loader/da82e34251f851e56f87cecc4df86d7f.json new file mode 100644 index 0000000000000000000000000000000000000000..ffb534d9003b2182b787c913bfac53b7fdf68d34 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/da82e34251f851e56f87cecc4df86d7f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nexport default function createCSSStyleSheet(id) {\n if (canUseDOM) {\n var element = document.getElementById(id);\n\n if (element != null) {\n return element.sheet;\n } else {\n var _element = document.createElement('style');\n\n _element.setAttribute('id', id);\n\n var head = document.head;\n\n if (head) {\n head.insertBefore(_element, head.firstChild);\n }\n\n return _element.sheet;\n }\n } else {\n return null;\n }\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/StyleSheet/createCSSStyleSheet.js"],"names":["canUseDOM","createCSSStyleSheet","id","element","document","getElementById","sheet","_element","createElement","setAttribute","head","insertBefore","firstChild"],"mappings":"AAQA,SAASA,SAAT,QAA0B,+BAA1B;AAEA,eAAe,SAASC,mBAAT,CAA6BC,EAA7B,EAAiC;AAC9C,MAAIF,SAAJ,EAAe;AACb,QAAIG,OAAO,GAAGC,QAAQ,CAACC,cAAT,CAAwBH,EAAxB,CAAd;;AAEA,QAAIC,OAAO,IAAI,IAAf,EAAqB;AAEnB,aAAOA,OAAO,CAACG,KAAf;AACD,KAHD,MAGO;AACL,UAAIC,QAAQ,GAAGH,QAAQ,CAACI,aAAT,CAAuB,OAAvB,CAAf;;AAEAD,MAAAA,QAAQ,CAACE,YAAT,CAAsB,IAAtB,EAA4BP,EAA5B;;AAEA,UAAIQ,IAAI,GAAGN,QAAQ,CAACM,IAApB;;AAEA,UAAIA,IAAJ,EAAU;AACRA,QAAAA,IAAI,CAACC,YAAL,CAAkBJ,QAAlB,EAA4BG,IAAI,CAACE,UAAjC;AACD;;AAED,aAAOL,QAAQ,CAACD,KAAhB;AACD;AACF,GAnBD,MAmBO;AACL,WAAO,IAAP;AACD;AACF","sourcesContent":["/**\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 'fbjs/lib/ExecutionEnvironment'; // $FlowFixMe: HTMLStyleElement is incorrectly typed - https://github.com/facebook/flow/issues/2696\n\nexport default function createCSSStyleSheet(id) {\n if (canUseDOM) {\n var element = document.getElementById(id);\n\n if (element != null) {\n // $FlowFixMe: HTMLElement is incorrectly typed\n return element.sheet;\n } else {\n var _element = document.createElement('style');\n\n _element.setAttribute('id', id);\n\n var head = document.head;\n\n if (head) {\n head.insertBefore(_element, head.firstChild);\n }\n\n return _element.sheet;\n }\n } else {\n return null;\n }\n}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/db8f4d642deab49ab45a40f922012102.json b/.expo/web/cache/development/babel-loader/db8f4d642deab49ab45a40f922012102.json new file mode 100644 index 0000000000000000000000000000000000000000..c6b54a2e981f6be77f5191b5ea82f7b585072d8a --- /dev/null +++ b/.expo/web/cache/development/babel-loader/db8f4d642deab49ab45a40f922012102.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { getModality } from \"../modality\";\nimport useEvent from \"../useEvent\";\nimport useLayoutEffect from \"../useLayoutEffect\";\nvar emptyObject = {};\nvar opts = {\n passive: true\n};\nvar lockEventType = 'react-gui:hover:lock';\nvar unlockEventType = 'react-gui:hover:unlock';\n\nvar supportsPointerEvent = function supportsPointerEvent() {\n return !!(typeof window !== 'undefined' && window.PointerEvent != null);\n};\n\nfunction dispatchCustomEvent(target, type, payload) {\n var event = document.createEvent('CustomEvent');\n\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\n event.initCustomEvent(type, bubbles, cancelable, detail);\n target.dispatchEvent(event);\n}\n\nfunction getPointerType(event) {\n var pointerType = event.pointerType;\n return pointerType != null ? pointerType : getModality();\n}\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 var addLockListener = useEvent(lockEventType, opts);\n var addUnlockListener = useEvent(unlockEventType, opts);\n useLayoutEffect(function () {\n var target = targetRef.current;\n\n if (target !== null) {\n var hoverEnd = function hoverEnd(e) {\n if (onHoverEnd != null) {\n onHoverEnd(e);\n }\n\n if (onHoverChange != null) {\n onHoverChange(false);\n }\n\n addMoveListener(target, null);\n addLeaveListener(target, null);\n };\n\n var leaveListener = function leaveListener(e) {\n var target = targetRef.current;\n\n if (target != null && getPointerType(e) !== 'touch') {\n if (contain) {\n dispatchCustomEvent(target, unlockEventType);\n }\n\n hoverEnd(e);\n }\n };\n\n var moveListener = function moveListener(e) {\n if (getPointerType(e) !== 'touch') {\n if (onHoverUpdate != null) {\n if (e.x == null) {\n e.x = e.clientX;\n }\n\n if (e.y == null) {\n e.y = e.clientY;\n }\n\n onHoverUpdate(e);\n }\n }\n };\n\n var hoverStart = function hoverStart(e) {\n if (onHoverStart != null) {\n onHoverStart(e);\n }\n\n if (onHoverChange != null) {\n onHoverChange(true);\n }\n\n if (onHoverUpdate != null) {\n addMoveListener(target, !disabled ? moveListener : null);\n }\n\n addLeaveListener(target, !disabled ? leaveListener : null);\n };\n\n var enterListener = function enterListener(e) {\n var target = targetRef.current;\n\n if (target != null && getPointerType(e) !== 'touch') {\n if (contain) {\n dispatchCustomEvent(target, lockEventType);\n }\n\n hoverStart(e);\n\n var lockListener = function lockListener(lockEvent) {\n if (lockEvent.target !== target) {\n hoverEnd(e);\n }\n };\n\n var unlockListener = function unlockListener(lockEvent) {\n if (lockEvent.target !== target) {\n hoverStart(e);\n }\n };\n\n addLockListener(target, !disabled ? lockListener : null);\n addUnlockListener(target, !disabled ? unlockListener : null);\n }\n };\n\n addEnterListener(target, !disabled ? enterListener : null);\n }\n }, [addEnterListener, addMoveListener, addLeaveListener, addLockListener, addUnlockListener, contain, disabled, onHoverStart, onHoverChange, onHoverUpdate, onHoverEnd, targetRef]);\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/useHover/index.js"],"names":["getModality","useEvent","useLayoutEffect","emptyObject","opts","passive","lockEventType","unlockEventType","supportsPointerEvent","window","PointerEvent","dispatchCustomEvent","target","type","payload","event","document","createEvent","_ref","_ref$bubbles","bubbles","_ref$cancelable","cancelable","detail","initCustomEvent","dispatchEvent","getPointerType","pointerType","useHover","targetRef","config","contain","disabled","onHoverStart","onHoverChange","onHoverUpdate","onHoverEnd","canUsePE","addMoveListener","addEnterListener","addLeaveListener","addLockListener","addUnlockListener","current","hoverEnd","e","leaveListener","moveListener","x","clientX","y","clientY","hoverStart","enterListener","lockListener","lockEvent","unlockListener"],"mappings":"AAQA,SAASA,WAAT;AACA,OAAOC,QAAP;AACA,OAAOC,eAAP;AAQA,IAAIC,WAAW,GAAG,EAAlB;AACA,IAAIC,IAAI,GAAG;AACTC,EAAAA,OAAO,EAAE;AADA,CAAX;AAGA,IAAIC,aAAa,GAAG,sBAApB;AACA,IAAIC,eAAe,GAAG,wBAAtB;;AAEA,IAAIC,oBAAoB,GAAG,SAASA,oBAAT,GAAgC;AACzD,SAAO,CAAC,EAAE,OAAOC,MAAP,KAAkB,WAAlB,IAAiCA,MAAM,CAACC,YAAP,IAAuB,IAA1D,CAAR;AACD,CAFD;;AAIA,SAASC,mBAAT,CAA6BC,MAA7B,EAAqCC,IAArC,EAA2CC,OAA3C,EAAoD;AAClD,MAAIC,KAAK,GAAGC,QAAQ,CAACC,WAAT,CAAqB,aAArB,CAAZ;;AAEA,MAAIC,IAAI,GAAGJ,OAAO,IAAIX,WAAtB;AAAA,MACIgB,YAAY,GAAGD,IAAI,CAACE,OADxB;AAAA,MAEIA,OAAO,GAAGD,YAAY,KAAK,KAAK,CAAtB,GAA0B,IAA1B,GAAiCA,YAF/C;AAAA,MAGIE,eAAe,GAAGH,IAAI,CAACI,UAH3B;AAAA,MAIIA,UAAU,GAAGD,eAAe,KAAK,KAAK,CAAzB,GAA6B,IAA7B,GAAoCA,eAJrD;AAAA,MAKIE,MAAM,GAAGL,IAAI,CAACK,MALlB;;AAOAR,EAAAA,KAAK,CAACS,eAAN,CAAsBX,IAAtB,EAA4BO,OAA5B,EAAqCE,UAArC,EAAiDC,MAAjD;AACAX,EAAAA,MAAM,CAACa,aAAP,CAAqBV,KAArB;AACD;;AAGD,SAASW,cAAT,CAAwBX,KAAxB,EAA+B;AAC7B,MAAIY,WAAW,GAAGZ,KAAK,CAACY,WAAxB;AACA,SAAOA,WAAW,IAAI,IAAf,GAAsBA,WAAtB,GAAoC3B,WAAW,EAAtD;AACD;;AAED,eAAe,SAAS4B,QAAT,CAAkBC,SAAlB,EAA6BC,MAA7B,EAAqC;AAClD,MAAIC,OAAO,GAAGD,MAAM,CAACC,OAArB;AAAA,MACIC,QAAQ,GAAGF,MAAM,CAACE,QADtB;AAAA,MAEIC,YAAY,GAAGH,MAAM,CAACG,YAF1B;AAAA,MAGIC,aAAa,GAAGJ,MAAM,CAACI,aAH3B;AAAA,MAIIC,aAAa,GAAGL,MAAM,CAACK,aAJ3B;AAAA,MAKIC,UAAU,GAAGN,MAAM,CAACM,UALxB;AAMA,MAAIC,QAAQ,GAAG7B,oBAAoB,EAAnC;AACA,MAAI8B,eAAe,GAAGrC,QAAQ,CAACoC,QAAQ,GAAG,aAAH,GAAmB,WAA5B,EAAyCjC,IAAzC,CAA9B;AACA,MAAImC,gBAAgB,GAAGtC,QAAQ,CAACoC,QAAQ,GAAG,cAAH,GAAoB,YAA7B,EAA2CjC,IAA3C,CAA/B;AACA,MAAIoC,gBAAgB,GAAGvC,QAAQ,CAACoC,QAAQ,GAAG,cAAH,GAAoB,YAA7B,EAA2CjC,IAA3C,CAA/B;AAEA,MAAIqC,eAAe,GAAGxC,QAAQ,CAACK,aAAD,EAAgBF,IAAhB,CAA9B;AACA,MAAIsC,iBAAiB,GAAGzC,QAAQ,CAACM,eAAD,EAAkBH,IAAlB,CAAhC;AACAF,EAAAA,eAAe,CAAC,YAAY;AAC1B,QAAIU,MAAM,GAAGiB,SAAS,CAACc,OAAvB;;AAEA,QAAI/B,MAAM,KAAK,IAAf,EAAqB;AAInB,UAAIgC,QAAQ,GAAG,SAASA,QAAT,CAAkBC,CAAlB,EAAqB;AAClC,YAAIT,UAAU,IAAI,IAAlB,EAAwB;AACtBA,UAAAA,UAAU,CAACS,CAAD,CAAV;AACD;;AAED,YAAIX,aAAa,IAAI,IAArB,EAA2B;AACzBA,UAAAA,aAAa,CAAC,KAAD,CAAb;AACD;;AAGDI,QAAAA,eAAe,CAAC1B,MAAD,EAAS,IAAT,CAAf;AACA4B,QAAAA,gBAAgB,CAAC5B,MAAD,EAAS,IAAT,CAAhB;AACD,OAZD;;AAkBA,UAAIkC,aAAa,GAAG,SAASA,aAAT,CAAuBD,CAAvB,EAA0B;AAC5C,YAAIjC,MAAM,GAAGiB,SAAS,CAACc,OAAvB;;AAEA,YAAI/B,MAAM,IAAI,IAAV,IAAkBc,cAAc,CAACmB,CAAD,CAAd,KAAsB,OAA5C,EAAqD;AACnD,cAAId,OAAJ,EAAa;AACXpB,YAAAA,mBAAmB,CAACC,MAAD,EAASL,eAAT,CAAnB;AACD;;AAEDqC,UAAAA,QAAQ,CAACC,CAAD,CAAR;AACD;AACF,OAVD;;AAgBA,UAAIE,YAAY,GAAG,SAASA,YAAT,CAAsBF,CAAtB,EAAyB;AAC1C,YAAInB,cAAc,CAACmB,CAAD,CAAd,KAAsB,OAA1B,EAAmC;AACjC,cAAIV,aAAa,IAAI,IAArB,EAA2B;AAEzB,gBAAIU,CAAC,CAACG,CAAF,IAAO,IAAX,EAAiB;AACfH,cAAAA,CAAC,CAACG,CAAF,GAAMH,CAAC,CAACI,OAAR;AACD;;AAED,gBAAIJ,CAAC,CAACK,CAAF,IAAO,IAAX,EAAiB;AACfL,cAAAA,CAAC,CAACK,CAAF,GAAML,CAAC,CAACM,OAAR;AACD;;AAEDhB,YAAAA,aAAa,CAACU,CAAD,CAAb;AACD;AACF;AACF,OAfD;;AAqBA,UAAIO,UAAU,GAAG,SAASA,UAAT,CAAoBP,CAApB,EAAuB;AACtC,YAAIZ,YAAY,IAAI,IAApB,EAA0B;AACxBA,UAAAA,YAAY,CAACY,CAAD,CAAZ;AACD;;AAED,YAAIX,aAAa,IAAI,IAArB,EAA2B;AACzBA,UAAAA,aAAa,CAAC,IAAD,CAAb;AACD;;AAGD,YAAIC,aAAa,IAAI,IAArB,EAA2B;AACzBG,UAAAA,eAAe,CAAC1B,MAAD,EAAS,CAACoB,QAAD,GAAYe,YAAZ,GAA2B,IAApC,CAAf;AACD;;AAEDP,QAAAA,gBAAgB,CAAC5B,MAAD,EAAS,CAACoB,QAAD,GAAYc,aAAZ,GAA4B,IAArC,CAAhB;AACD,OAfD;;AAqBA,UAAIO,aAAa,GAAG,SAASA,aAAT,CAAuBR,CAAvB,EAA0B;AAC5C,YAAIjC,MAAM,GAAGiB,SAAS,CAACc,OAAvB;;AAEA,YAAI/B,MAAM,IAAI,IAAV,IAAkBc,cAAc,CAACmB,CAAD,CAAd,KAAsB,OAA5C,EAAqD;AACnD,cAAId,OAAJ,EAAa;AACXpB,YAAAA,mBAAmB,CAACC,MAAD,EAASN,aAAT,CAAnB;AACD;;AAED8C,UAAAA,UAAU,CAACP,CAAD,CAAV;;AAEA,cAAIS,YAAY,GAAG,SAASA,YAAT,CAAsBC,SAAtB,EAAiC;AAClD,gBAAIA,SAAS,CAAC3C,MAAV,KAAqBA,MAAzB,EAAiC;AAC/BgC,cAAAA,QAAQ,CAACC,CAAD,CAAR;AACD;AACF,WAJD;;AAMA,cAAIW,cAAc,GAAG,SAASA,cAAT,CAAwBD,SAAxB,EAAmC;AACtD,gBAAIA,SAAS,CAAC3C,MAAV,KAAqBA,MAAzB,EAAiC;AAC/BwC,cAAAA,UAAU,CAACP,CAAD,CAAV;AACD;AACF,WAJD;;AAMAJ,UAAAA,eAAe,CAAC7B,MAAD,EAAS,CAACoB,QAAD,GAAYsB,YAAZ,GAA2B,IAApC,CAAf;AACAZ,UAAAA,iBAAiB,CAAC9B,MAAD,EAAS,CAACoB,QAAD,GAAYwB,cAAZ,GAA6B,IAAtC,CAAjB;AACD;AACF,OAzBD;;AA2BAjB,MAAAA,gBAAgB,CAAC3B,MAAD,EAAS,CAACoB,QAAD,GAAYqB,aAAZ,GAA4B,IAArC,CAAhB;AACD;AACF,GAhHc,EAgHZ,CAACd,gBAAD,EAAmBD,eAAnB,EAAoCE,gBAApC,EAAsDC,eAAtD,EAAuEC,iBAAvE,EAA0FX,OAA1F,EAAmGC,QAAnG,EAA6GC,YAA7G,EAA2HC,aAA3H,EAA0IC,aAA1I,EAAyJC,UAAzJ,EAAqKP,SAArK,CAhHY,CAAf;AAiHD","sourcesContent":["/**\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 */\nimport { getModality } from '../modality';\nimport useEvent from '../useEvent';\nimport useLayoutEffect from '../useLayoutEffect';\n/**\n * Types\n */\n\n/**\n * Implementation\n */\nvar emptyObject = {};\nvar opts = {\n passive: true\n};\nvar lockEventType = 'react-gui:hover:lock';\nvar unlockEventType = 'react-gui:hover:unlock';\n\nvar supportsPointerEvent = function supportsPointerEvent() {\n return !!(typeof window !== 'undefined' && window.PointerEvent != null);\n};\n\nfunction dispatchCustomEvent(target, type, payload) {\n var event = document.createEvent('CustomEvent');\n\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\n event.initCustomEvent(type, bubbles, cancelable, detail);\n target.dispatchEvent(event);\n} // This accounts for the non-PointerEvent fallback events.\n\n\nfunction getPointerType(event) {\n var pointerType = event.pointerType;\n return pointerType != null ? pointerType : getModality();\n}\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); // These custom events are used to implement the \"contain\" prop.\n\n var addLockListener = useEvent(lockEventType, opts);\n var addUnlockListener = useEvent(unlockEventType, opts);\n useLayoutEffect(function () {\n var target = targetRef.current;\n\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\n if (onHoverChange != null) {\n onHoverChange(false);\n } // Remove the listeners once finished.\n\n\n addMoveListener(target, null);\n addLeaveListener(target, null);\n };\n /**\n * Leave element\n */\n\n\n var leaveListener = function leaveListener(e) {\n var target = targetRef.current;\n\n if (target != null && getPointerType(e) !== 'touch') {\n if (contain) {\n dispatchCustomEvent(target, unlockEventType);\n }\n\n hoverEnd(e);\n }\n };\n /**\n * Move within element\n */\n\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\n if (e.y == null) {\n e.y = e.clientY;\n }\n\n onHoverUpdate(e);\n }\n }\n };\n /**\n * Start the hover gesture\n */\n\n\n var hoverStart = function hoverStart(e) {\n if (onHoverStart != null) {\n onHoverStart(e);\n }\n\n if (onHoverChange != null) {\n onHoverChange(true);\n } // Set the listeners needed for the rest of the hover gesture.\n\n\n if (onHoverUpdate != null) {\n addMoveListener(target, !disabled ? moveListener : null);\n }\n\n addLeaveListener(target, !disabled ? leaveListener : null);\n };\n /**\n * Enter element\n */\n\n\n var enterListener = function enterListener(e) {\n var target = targetRef.current;\n\n if (target != null && getPointerType(e) !== 'touch') {\n if (contain) {\n dispatchCustomEvent(target, lockEventType);\n }\n\n hoverStart(e);\n\n var lockListener = function lockListener(lockEvent) {\n if (lockEvent.target !== target) {\n hoverEnd(e);\n }\n };\n\n var unlockListener = function unlockListener(lockEvent) {\n if (lockEvent.target !== target) {\n hoverStart(e);\n }\n };\n\n addLockListener(target, !disabled ? lockListener : null);\n addUnlockListener(target, !disabled ? unlockListener : null);\n }\n };\n\n addEnterListener(target, !disabled ? enterListener : null);\n }\n }, [addEnterListener, addMoveListener, addLeaveListener, addLockListener, addUnlockListener, contain, disabled, onHoverStart, onHoverChange, onHoverUpdate, onHoverEnd, targetRef]);\n}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/dbb3a39dde5b63c8d4c9adf5f5f5f1ae.json b/.expo/web/cache/development/babel-loader/dbb3a39dde5b63c8d4c9adf5f5f5f1ae.json new file mode 100644 index 0000000000000000000000000000000000000000..6a14e449279a71ed9e6ab02cb8b7242f0103d0d9 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/dbb3a39dde5b63c8d4c9adf5f5f5f1ae.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\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 }\n\n it = o[Symbol.iterator]();\n return it.next.bind(it);\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport * as React from 'react';\nimport View from \"../../../exports/View\";\nimport VirtualizedList from \"../VirtualizedList\";\nimport invariant from 'fbjs/lib/invariant';\n\nvar VirtualizedSectionList = function (_React$PureComponent) {\n _inheritsLoose(VirtualizedSectionList, _React$PureComponent);\n\n function VirtualizedSectionList() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;\n\n _this._getItem = function (props, sections, index) {\n if (!sections) {\n return null;\n }\n\n var itemIdx = index - 1;\n\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\n if (itemIdx === -1 || itemIdx === itemCount) {\n return section;\n } else if (itemIdx < itemCount) {\n return props.getItem(sectionData, itemIdx);\n } else {\n itemIdx -= itemCount + 2;\n }\n }\n\n return null;\n };\n\n _this._keyExtractor = function (item, index) {\n var info = _this._subExtractor(index);\n\n return info && info.key || String(index);\n };\n\n _this._convertViewable = function (viewable) {\n invariant(viewable.index != null, 'Received a broken ViewToken');\n\n var info = _this._subExtractor(viewable.index);\n\n if (!info) {\n return null;\n }\n\n var keyExtractor = info.section.keyExtractor || _this.props.keyExtractor;\n return _objectSpread(_objectSpread({}, viewable), {}, {\n index: info.index,\n key: keyExtractor(viewable.item, info.index),\n section: info.section\n });\n };\n\n _this._onViewableItemsChanged = function (_ref) {\n var viewableItems = _ref.viewableItems,\n changed = _ref.changed;\n var onViewableItemsChanged = _this.props.onViewableItemsChanged;\n\n if (onViewableItemsChanged != null) {\n onViewableItemsChanged({\n viewableItems: viewableItems.map(_this._convertViewable, _assertThisInitialized(_this)).filter(Boolean),\n changed: changed.map(_this._convertViewable, _assertThisInitialized(_this)).filter(Boolean)\n });\n }\n };\n\n _this._renderItem = function (listItemCount) {\n return function (_ref2) {\n var item = _ref2.item,\n index = _ref2.index;\n\n var info = _this._subExtractor(index);\n\n if (!info) {\n return null;\n }\n\n var infoIndex = info.index;\n\n if (infoIndex == null) {\n var section = info.section;\n\n if (info.header === true) {\n var renderSectionHeader = _this.props.renderSectionHeader;\n return renderSectionHeader ? renderSectionHeader({\n section: section\n }) : null;\n } else {\n var renderSectionFooter = _this.props.renderSectionFooter;\n return renderSectionFooter ? renderSectionFooter({\n section: section\n }) : null;\n }\n } else {\n var renderItem = info.section.renderItem || _this.props.renderItem;\n\n var SeparatorComponent = _this._getSeparatorComponent(index, info, listItemCount);\n\n invariant(renderItem, 'no renderItem!');\n return 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 onUpdateSeparator: _this._onUpdateSeparator,\n prevCellKey: (_this._subExtractor(index - 1) || {}).key,\n ref: function ref(_ref3) {\n _this._cellRefs[info.key] = _ref3;\n },\n renderItem: renderItem,\n section: info.section,\n trailingItem: info.trailingItem,\n trailingSection: info.trailingSection,\n inverted: !!_this.props.inverted\n });\n }\n };\n };\n\n _this._onUpdateSeparator = function (key, newProps) {\n var ref = _this._cellRefs[key];\n ref && ref.updateSeparatorProps(newProps);\n };\n\n _this._cellRefs = {};\n\n _this._captureRef = function (ref) {\n _this._listRef = ref;\n };\n\n return _this;\n }\n\n var _proto = VirtualizedSectionList.prototype;\n\n _proto.scrollToLocation = function scrollToLocation(params) {\n var index = params.itemIndex;\n\n for (var i = 0; i < params.sectionIndex; i++) {\n index += this.props.getItemCount(this.props.sections[i].data) + 2;\n }\n\n var viewOffset = params.viewOffset || 0;\n\n if (this._listRef == null) {\n return;\n }\n\n if (params.itemIndex > 0 && this.props.stickySectionHeadersEnabled) {\n var frame = this._listRef._getFrameMetricsApprox(index - params.itemIndex);\n\n viewOffset += frame.length;\n }\n\n var toIndexParams = _objectSpread(_objectSpread({}, params), {}, {\n viewOffset: viewOffset,\n index: index\n });\n\n this._listRef.scrollToIndex(toIndexParams);\n };\n\n _proto.getListRef = function getListRef() {\n return this._listRef;\n };\n\n _proto.render = function render() {\n var _this2 = this;\n\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, [\"ItemSeparatorComponent\", \"SectionSeparatorComponent\", \"renderItem\", \"renderSectionFooter\", \"renderSectionHeader\", \"sections\", \"stickySectionHeadersEnabled\"]);\n\n var listHeaderOffset = this.props.ListHeaderComponent ? 1 : 0;\n var stickyHeaderIndices = this.props.stickySectionHeadersEnabled ? [] : undefined;\n var itemCount = 0;\n\n for (var _iterator = _createForOfIteratorHelperLoose(this.props.sections), _step; !(_step = _iterator()).done;) {\n var section = _step.value;\n\n if (stickyHeaderIndices != null) {\n stickyHeaderIndices.push(itemCount + listHeaderOffset);\n }\n\n itemCount += 2;\n itemCount += this.props.getItemCount(section.data);\n }\n\n var renderItem = this._renderItem(itemCount);\n\n return React.createElement(VirtualizedList, _extends({}, passThroughProps, {\n keyExtractor: this._keyExtractor,\n stickyHeaderIndices: stickyHeaderIndices,\n renderItem: renderItem,\n data: this.props.sections,\n getItem: function getItem(sections, index) {\n return _this2._getItem(_this2.props, sections, index);\n },\n getItemCount: function getItemCount() {\n return itemCount;\n },\n onViewableItemsChanged: this.props.onViewableItemsChanged ? this._onViewableItemsChanged : undefined,\n ref: this._captureRef\n }));\n };\n\n _proto._subExtractor = function _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\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;\n\n if (itemIndex >= getItemCount(sectionData) + 1) {\n itemIndex -= getItemCount(sectionData) + 1;\n } else if (itemIndex === -1) {\n return {\n section: 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: 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;\n return {\n section: 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\n _proto._getSeparatorComponent = function _getSeparatorComponent(index, info, listItemCount) {\n info = info || this._subExtractor(index);\n\n if (!info) {\n return null;\n }\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\n if (SectionSeparatorComponent && isLastItemInSection) {\n return SectionSeparatorComponent;\n }\n\n if (ItemSeparatorComponent && !isLastItemInSection && !isLastItemInList) {\n return ItemSeparatorComponent;\n }\n\n return null;\n };\n\n return VirtualizedSectionList;\n}(React.PureComponent);\n\nVirtualizedSectionList.defaultProps = _objectSpread(_objectSpread({}, VirtualizedList.defaultProps), {}, {\n data: []\n});\n\nvar ItemWithSeparator = function (_React$Component) {\n _inheritsLoose(ItemWithSeparator, _React$Component);\n\n function ItemWithSeparator() {\n var _this3;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n _this3 = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this3.state = {\n separatorProps: {\n highlighted: false,\n leadingItem: _this3.props.item,\n leadingSection: _this3.props.leadingSection,\n section: _this3.props.section,\n trailingItem: _this3.props.trailingItem,\n trailingSection: _this3.props.trailingSection\n },\n leadingSeparatorProps: {\n highlighted: false,\n leadingItem: _this3.props.leadingItem,\n leadingSection: _this3.props.leadingSection,\n section: _this3.props.section,\n trailingItem: _this3.props.item,\n trailingSection: _this3.props.trailingSection\n }\n };\n _this3._separators = {\n highlight: function highlight() {\n ['leading', 'trailing'].forEach(function (s) {\n return _this3._separators.updateProps(s, {\n highlighted: true\n });\n });\n },\n unhighlight: function unhighlight() {\n ['leading', 'trailing'].forEach(function (s) {\n return _this3._separators.updateProps(s, {\n highlighted: false\n });\n });\n },\n updateProps: function updateProps(select, newProps) {\n var _this3$props = _this3.props,\n LeadingSeparatorComponent = _this3$props.LeadingSeparatorComponent,\n cellKey = _this3$props.cellKey,\n prevCellKey = _this3$props.prevCellKey;\n\n if (select === 'leading' && LeadingSeparatorComponent != null) {\n _this3.setState(function (state) {\n return {\n leadingSeparatorProps: _objectSpread(_objectSpread({}, state.leadingSeparatorProps), newProps)\n };\n });\n } else {\n _this3.props.onUpdateSeparator(select === 'leading' && prevCellKey || cellKey, newProps);\n }\n }\n };\n return _this3;\n }\n\n ItemWithSeparator.getDerivedStateFromProps = function getDerivedStateFromProps(props, prevState) {\n return {\n separatorProps: _objectSpread(_objectSpread({}, prevState.separatorProps), {}, {\n leadingItem: props.item,\n leadingSection: props.leadingSection,\n section: props.section,\n trailingItem: props.trailingItem,\n trailingSection: props.trailingSection\n }),\n leadingSeparatorProps: _objectSpread(_objectSpread({}, prevState.leadingSeparatorProps), {}, {\n leadingItem: props.leadingItem,\n leadingSection: props.leadingSection,\n section: props.section,\n trailingItem: props.item,\n trailingSection: props.trailingSection\n })\n };\n };\n\n var _proto2 = ItemWithSeparator.prototype;\n\n _proto2.updateSeparatorProps = function updateSeparatorProps(newProps) {\n this.setState(function (state) {\n return {\n separatorProps: _objectSpread(_objectSpread({}, state.separatorProps), newProps)\n };\n });\n };\n\n _proto2.render = function render() {\n var _this$props3 = this.props,\n LeadingSeparatorComponent = _this$props3.LeadingSeparatorComponent,\n SeparatorComponent = _this$props3.SeparatorComponent,\n item = _this$props3.item,\n index = _this$props3.index,\n section = _this$props3.section,\n inverted = _this$props3.inverted;\n var element = this.props.renderItem({\n item: item,\n index: index,\n section: section,\n separators: this._separators\n });\n var leadingSeparator = LeadingSeparatorComponent != null && React.createElement(LeadingSeparatorComponent, this.state.leadingSeparatorProps);\n var separator = SeparatorComponent != null && React.createElement(SeparatorComponent, this.state.separatorProps);\n return leadingSeparator || separator ? React.createElement(View, null, inverted === false ? leadingSeparator : separator, element, inverted === false ? separator : leadingSeparator) : element;\n };\n\n return ItemWithSeparator;\n}(React.Component);\n\nexport default VirtualizedSectionList;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/VirtualizedSectionList/index.js"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","done","value","TypeError","next","bind","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","from","test","arr","len","arr2","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","configurable","writable","_assertThisInitialized","self","ReferenceError","_inheritsLoose","subClass","superClass","create","_setPrototypeOf","p","setPrototypeOf","__proto__","React","View","VirtualizedList","invariant","VirtualizedSectionList","_React$PureComponent","_this","_len","args","_key","concat","_getItem","props","sections","index","itemIdx","section","sectionData","data","itemCount","getItemCount","getItem","_keyExtractor","item","info","_subExtractor","String","_convertViewable","viewable","keyExtractor","_onViewableItemsChanged","_ref","viewableItems","changed","onViewableItemsChanged","map","Boolean","_renderItem","listItemCount","_ref2","infoIndex","header","renderSectionHeader","renderSectionFooter","renderItem","SeparatorComponent","_getSeparatorComponent","createElement","ItemWithSeparator","LeadingSeparatorComponent","SectionSeparatorComponent","undefined","cellKey","leadingItem","leadingSection","onUpdateSeparator","_onUpdateSeparator","prevCellKey","ref","_ref3","_cellRefs","trailingItem","trailingSection","inverted","newProps","updateSeparatorProps","_captureRef","_listRef","_proto","scrollToLocation","params","itemIndex","sectionIndex","viewOffset","stickySectionHeadersEnabled","frame","_getFrameMetricsApprox","toIndexParams","scrollToIndex","getListRef","render","_this2","_this$props","ItemSeparatorComponent","_sections","passThroughProps","listHeaderOffset","ListHeaderComponent","stickyHeaderIndices","_iterator","_step","_this$props2","extractor","isLastItemInList","isLastItemInSection","PureComponent","defaultProps","_React$Component","_this3","_len2","_key2","state","separatorProps","highlighted","leadingSeparatorProps","_separators","highlight","s","updateProps","unhighlight","select","_this3$props","setState","getDerivedStateFromProps","prevState","_proto2","_this$props3","element","separators","leadingSeparator","separator","Component"],"mappings":"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","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } it = o[Symbol.iterator](); return it.next.bind(it); }\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(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\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 _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport * as React from 'react';\nimport View from '../../../exports/View';\nimport VirtualizedList from '../VirtualizedList';\nimport invariant from 'fbjs/lib/invariant';\n\n/**\n * Right now this just flattens everything into one list and uses VirtualizedList under the\n * hood. The only operation that might not scale well is concatting the data arrays of all the\n * sections when new props are received, which should be plenty fast for up to ~10,000 items.\n */\nvar VirtualizedSectionList = /*#__PURE__*/function (_React$PureComponent) {\n _inheritsLoose(VirtualizedSectionList, _React$PureComponent);\n\n function VirtualizedSectionList() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;\n\n _this._getItem = function (props, sections, index) {\n if (!sections) {\n return null;\n }\n\n var itemIdx = index - 1;\n\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\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\n return null;\n };\n\n _this._keyExtractor = function (item, index) {\n var info = _this._subExtractor(index);\n\n return info && info.key || String(index);\n };\n\n _this._convertViewable = function (viewable) {\n invariant(viewable.index != null, 'Received a broken ViewToken');\n\n var info = _this._subExtractor(viewable.index);\n\n if (!info) {\n return null;\n }\n\n var keyExtractor = info.section.keyExtractor || _this.props.keyExtractor;\n return _objectSpread(_objectSpread({}, viewable), {}, {\n index: info.index,\n\n /* $FlowFixMe(>=0.63.0 site=react_native_fb) This comment suppresses an\n * error found when Flow v0.63 was deployed. To see the error delete this\n * comment and run Flow. */\n key: keyExtractor(viewable.item, info.index),\n section: info.section\n });\n };\n\n _this._onViewableItemsChanged = function (_ref) {\n var viewableItems = _ref.viewableItems,\n changed = _ref.changed;\n var onViewableItemsChanged = _this.props.onViewableItemsChanged;\n\n if (onViewableItemsChanged != null) {\n onViewableItemsChanged({\n viewableItems: viewableItems.map(_this._convertViewable, _assertThisInitialized(_this)).filter(Boolean),\n changed: changed.map(_this._convertViewable, _assertThisInitialized(_this)).filter(Boolean)\n });\n }\n };\n\n _this._renderItem = function (listItemCount) {\n return function (_ref2) {\n var item = _ref2.item,\n index = _ref2.index;\n\n var info = _this._subExtractor(index);\n\n if (!info) {\n return null;\n }\n\n var infoIndex = info.index;\n\n if (infoIndex == null) {\n var section = info.section;\n\n if (info.header === true) {\n var renderSectionHeader = _this.props.renderSectionHeader;\n return renderSectionHeader ? renderSectionHeader({\n section: section\n }) : null;\n } else {\n var renderSectionFooter = _this.props.renderSectionFooter;\n return renderSectionFooter ? renderSectionFooter({\n section: section\n }) : null;\n }\n } else {\n var renderItem = info.section.renderItem || _this.props.renderItem;\n\n var SeparatorComponent = _this._getSeparatorComponent(index, info, listItemCount);\n\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 onUpdateSeparator: _this._onUpdateSeparator,\n prevCellKey: (_this._subExtractor(index - 1) || {}).key,\n ref: function ref(_ref3) {\n _this._cellRefs[info.key] = _ref3;\n },\n renderItem: renderItem,\n section: info.section,\n trailingItem: info.trailingItem,\n trailingSection: info.trailingSection,\n inverted: !!_this.props.inverted\n });\n }\n };\n };\n\n _this._onUpdateSeparator = function (key, newProps) {\n var ref = _this._cellRefs[key];\n ref && ref.updateSeparatorProps(newProps);\n };\n\n _this._cellRefs = {};\n\n _this._captureRef = function (ref) {\n _this._listRef = ref;\n };\n\n return _this;\n }\n\n var _proto = VirtualizedSectionList.prototype;\n\n _proto.scrollToLocation = function scrollToLocation(params) {\n var index = params.itemIndex;\n\n for (var i = 0; i < params.sectionIndex; i++) {\n index += this.props.getItemCount(this.props.sections[i].data) + 2;\n }\n\n var viewOffset = params.viewOffset || 0;\n\n if (this._listRef == null) {\n return;\n }\n\n if (params.itemIndex > 0 && this.props.stickySectionHeadersEnabled) {\n // $FlowFixMe[prop-missing] Cannot access private property\n var frame = this._listRef._getFrameMetricsApprox(index - params.itemIndex);\n\n viewOffset += frame.length;\n }\n\n var toIndexParams = _objectSpread(_objectSpread({}, params), {}, {\n viewOffset: viewOffset,\n index: index\n });\n\n this._listRef.scrollToIndex(toIndexParams);\n };\n\n _proto.getListRef = function getListRef() {\n return this._listRef;\n };\n\n _proto.render = function render() {\n var _this2 = this;\n\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, [\"ItemSeparatorComponent\", \"SectionSeparatorComponent\", \"renderItem\", \"renderSectionFooter\", \"renderSectionHeader\", \"sections\", \"stickySectionHeadersEnabled\"]);\n\n var listHeaderOffset = this.props.ListHeaderComponent ? 1 : 0;\n var stickyHeaderIndices = this.props.stickySectionHeadersEnabled ? [] : undefined;\n var itemCount = 0;\n\n for (var _iterator = _createForOfIteratorHelperLoose(this.props.sections), _step; !(_step = _iterator()).done;) {\n var section = _step.value;\n\n // Track the section header indices\n if (stickyHeaderIndices != null) {\n stickyHeaderIndices.push(itemCount + listHeaderOffset);\n } // Add two for the section header and footer.\n\n\n itemCount += 2;\n itemCount += this.props.getItemCount(section.data);\n }\n\n var renderItem = this._renderItem(itemCount);\n\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: function getItem(sections, index) {\n return _this2._getItem(_this2.props, sections, index);\n },\n getItemCount: function getItemCount() {\n return itemCount;\n },\n onViewableItemsChanged: this.props.onViewableItemsChanged ? this._onViewableItemsChanged : undefined,\n ref: this._captureRef\n }));\n };\n\n _proto._subExtractor = function _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\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\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: 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: 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;\n return {\n section: 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\n _proto._getSeparatorComponent = function _getSeparatorComponent(index, info, listItemCount) {\n info = info || this._subExtractor(index);\n\n if (!info) {\n return null;\n }\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\n if (SectionSeparatorComponent && isLastItemInSection) {\n return SectionSeparatorComponent;\n }\n\n if (ItemSeparatorComponent && !isLastItemInSection && !isLastItemInList) {\n return ItemSeparatorComponent;\n }\n\n return null;\n };\n\n return VirtualizedSectionList;\n}(React.PureComponent);\n\nVirtualizedSectionList.defaultProps = _objectSpread(_objectSpread({}, VirtualizedList.defaultProps), {}, {\n data: []\n});\n\nvar ItemWithSeparator = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(ItemWithSeparator, _React$Component);\n\n function ItemWithSeparator() {\n var _this3;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n _this3 = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this3.state = {\n separatorProps: {\n highlighted: false,\n leadingItem: _this3.props.item,\n leadingSection: _this3.props.leadingSection,\n section: _this3.props.section,\n trailingItem: _this3.props.trailingItem,\n trailingSection: _this3.props.trailingSection\n },\n leadingSeparatorProps: {\n highlighted: false,\n leadingItem: _this3.props.leadingItem,\n leadingSection: _this3.props.leadingSection,\n section: _this3.props.section,\n trailingItem: _this3.props.item,\n trailingSection: _this3.props.trailingSection\n }\n };\n _this3._separators = {\n highlight: function highlight() {\n ['leading', 'trailing'].forEach(function (s) {\n return _this3._separators.updateProps(s, {\n highlighted: true\n });\n });\n },\n unhighlight: function unhighlight() {\n ['leading', 'trailing'].forEach(function (s) {\n return _this3._separators.updateProps(s, {\n highlighted: false\n });\n });\n },\n updateProps: function updateProps(select, newProps) {\n var _this3$props = _this3.props,\n LeadingSeparatorComponent = _this3$props.LeadingSeparatorComponent,\n cellKey = _this3$props.cellKey,\n prevCellKey = _this3$props.prevCellKey;\n\n if (select === 'leading' && LeadingSeparatorComponent != null) {\n _this3.setState(function (state) {\n return {\n leadingSeparatorProps: _objectSpread(_objectSpread({}, state.leadingSeparatorProps), newProps)\n };\n });\n } else {\n _this3.props.onUpdateSeparator(select === 'leading' && prevCellKey || cellKey, newProps);\n }\n }\n };\n return _this3;\n }\n\n ItemWithSeparator.getDerivedStateFromProps = function getDerivedStateFromProps(props, prevState) {\n return {\n separatorProps: _objectSpread(_objectSpread({}, prevState.separatorProps), {}, {\n leadingItem: props.item,\n leadingSection: props.leadingSection,\n section: props.section,\n trailingItem: props.trailingItem,\n trailingSection: props.trailingSection\n }),\n leadingSeparatorProps: _objectSpread(_objectSpread({}, prevState.leadingSeparatorProps), {}, {\n leadingItem: props.leadingItem,\n leadingSection: props.leadingSection,\n section: props.section,\n trailingItem: props.item,\n trailingSection: props.trailingSection\n })\n };\n };\n\n var _proto2 = ItemWithSeparator.prototype;\n\n _proto2.updateSeparatorProps = function updateSeparatorProps(newProps) {\n this.setState(function (state) {\n return {\n separatorProps: _objectSpread(_objectSpread({}, state.separatorProps), newProps)\n };\n });\n };\n\n _proto2.render = function render() {\n var _this$props3 = this.props,\n LeadingSeparatorComponent = _this$props3.LeadingSeparatorComponent,\n SeparatorComponent = _this$props3.SeparatorComponent,\n item = _this$props3.item,\n index = _this$props3.index,\n section = _this$props3.section,\n inverted = _this$props3.inverted;\n var element = this.props.renderItem({\n item: item,\n index: index,\n section: section,\n separators: this._separators\n });\n var leadingSeparator = LeadingSeparatorComponent != null && /*#__PURE__*/React.createElement(LeadingSeparatorComponent, this.state.leadingSeparatorProps);\n var separator = SeparatorComponent != null && /*#__PURE__*/React.createElement(SeparatorComponent, this.state.separatorProps);\n return leadingSeparator || separator ? /*#__PURE__*/React.createElement(View, null, inverted === false ? leadingSeparator : separator, element, inverted === false ? separator : leadingSeparator) : element;\n };\n\n return ItemWithSeparator;\n}(React.Component);\n\nexport default VirtualizedSectionList;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/dbb72b41c18321e5dfa840eb19acaefa.json b/.expo/web/cache/development/babel-loader/dbb72b41c18321e5dfa840eb19acaefa.json new file mode 100644 index 0000000000000000000000000000000000000000..358e57b0ad093395d9a3b0ad78f0aa602a999459 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/dbb72b41c18321e5dfa840eb19acaefa.json @@ -0,0 +1 @@ +{"ast":null,"code":"import propsToAriaRole from \"./propsToAriaRole\";\nvar roleComponents = {\n article: 'article',\n banner: 'header',\n blockquote: 'blockquote',\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 region: 'section',\n strong: 'strong'\n};\nvar emptyObject = {};\n\nvar propsToAccessibilityComponent = function propsToAccessibilityComponent(props) {\n if (props === void 0) {\n props = emptyObject;\n }\n\n if (props.accessibilityRole === 'label') {\n return 'label';\n }\n\n var role = propsToAriaRole(props);\n\n if (role) {\n if (role === 'heading') {\n var level = props.accessibilityLevel || props['aria-level'];\n\n if (level != null) {\n return \"h\" + level;\n }\n\n return 'h1';\n }\n\n return roleComponents[role];\n }\n};\n\nexport default propsToAccessibilityComponent;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/AccessibilityUtil/propsToAccessibilityComponent.js"],"names":["propsToAriaRole","roleComponents","article","banner","blockquote","code","complementary","contentinfo","deletion","emphasis","figure","insertion","form","list","listitem","main","navigation","region","strong","emptyObject","propsToAccessibilityComponent","props","accessibilityRole","role","level","accessibilityLevel"],"mappings":"AAQA,OAAOA,eAAP;AACA,IAAIC,cAAc,GAAG;AACnBC,EAAAA,OAAO,EAAE,SADU;AAEnBC,EAAAA,MAAM,EAAE,QAFW;AAGnBC,EAAAA,UAAU,EAAE,YAHO;AAInBC,EAAAA,IAAI,EAAE,MAJa;AAKnBC,EAAAA,aAAa,EAAE,OALI;AAMnBC,EAAAA,WAAW,EAAE,QANM;AAOnBC,EAAAA,QAAQ,EAAE,KAPS;AAQnBC,EAAAA,QAAQ,EAAE,IARS;AASnBC,EAAAA,MAAM,EAAE,QATW;AAUnBC,EAAAA,SAAS,EAAE,KAVQ;AAWnBC,EAAAA,IAAI,EAAE,MAXa;AAYnBC,EAAAA,IAAI,EAAE,IAZa;AAanBC,EAAAA,QAAQ,EAAE,IAbS;AAcnBC,EAAAA,IAAI,EAAE,MAda;AAenBC,EAAAA,UAAU,EAAE,KAfO;AAgBnBC,EAAAA,MAAM,EAAE,SAhBW;AAiBnBC,EAAAA,MAAM,EAAE;AAjBW,CAArB;AAmBA,IAAIC,WAAW,GAAG,EAAlB;;AAEA,IAAIC,6BAA6B,GAAG,SAASA,6BAAT,CAAuCC,KAAvC,EAA8C;AAChF,MAAIA,KAAK,KAAK,KAAK,CAAnB,EAAsB;AACpBA,IAAAA,KAAK,GAAGF,WAAR;AACD;;AAGD,MAAIE,KAAK,CAACC,iBAAN,KAA4B,OAAhC,EAAyC;AACvC,WAAO,OAAP;AACD;;AAED,MAAIC,IAAI,GAAGvB,eAAe,CAACqB,KAAD,CAA1B;;AAEA,MAAIE,IAAJ,EAAU;AACR,QAAIA,IAAI,KAAK,SAAb,EAAwB;AACtB,UAAIC,KAAK,GAAGH,KAAK,CAACI,kBAAN,IAA4BJ,KAAK,CAAC,YAAD,CAA7C;;AAEA,UAAIG,KAAK,IAAI,IAAb,EAAmB;AACjB,eAAO,MAAMA,KAAb;AACD;;AAED,aAAO,IAAP;AACD;;AAED,WAAOvB,cAAc,CAACsB,IAAD,CAArB;AACD;AACF,CAzBD;;AA2BA,eAAeH,6BAAf","sourcesContent":["/**\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 propsToAriaRole from './propsToAriaRole';\nvar roleComponents = {\n article: 'article',\n banner: 'header',\n blockquote: 'blockquote',\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 region: 'section',\n strong: 'strong'\n};\nvar emptyObject = {};\n\nvar propsToAccessibilityComponent = function propsToAccessibilityComponent(props) {\n if (props === void 0) {\n props = emptyObject;\n }\n\n // special-case for \"label\" role which doesn't map to an ARIA role\n if (props.accessibilityRole === 'label') {\n return 'label';\n }\n\n var role = propsToAriaRole(props);\n\n if (role) {\n if (role === 'heading') {\n var level = props.accessibilityLevel || props['aria-level'];\n\n if (level != null) {\n return \"h\" + level;\n }\n\n return 'h1';\n }\n\n return roleComponents[role];\n }\n};\n\nexport default propsToAccessibilityComponent;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/dbe606b1d030f12f8b43d5fc08be42d2.json b/.expo/web/cache/development/babel-loader/dbe606b1d030f12f8b43d5fc08be42d2.json new file mode 100644 index 0000000000000000000000000000000000000000..1d9b63648510bbcb478fbc4be147e4c100c8592b --- /dev/null +++ b/.expo/web/cache/development/babel-loader/dbe606b1d030f12f8b43d5fc08be42d2.json @@ -0,0 +1 @@ +{"ast":null,"code":"function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nimport * as React from 'react';\nexport default function useComponent(Component, props) {\n var propsRef = React.useRef(props);\n propsRef.current = props;\n React.useEffect(function () {\n propsRef.current = null;\n });\n return React.useRef(function (rest) {\n var props = propsRef.current;\n\n if (props === null) {\n throw new Error('The returned component must be rendered in the same render phase as the hook.');\n }\n\n return React.createElement(Component, _extends({}, props, rest));\n }).current;\n}","map":{"version":3,"sources":["useComponent.tsx"],"names":["propsRef","React","rest","props"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAP,KAAA,MAAA,OAAA;AAEA,eAAe,SAAA,YAAA,CAAA,SAAA,EAAA,KAAA,EAGW;AACxB,MAAMA,QAAQ,GAAGC,KAAK,CAALA,MAAAA,CADO,KACPA,CAAjB;AAKAD,EAAAA,QAAQ,CAARA,OAAAA,GAAAA,KAAAA;AAEAC,EAAAA,KAAK,CAALA,SAAAA,CAAgB,YAAM;AACpBD,IAAAA,QAAQ,CAARA,OAAAA,GAAAA,IAAAA;AADFC,GAAAA;AAIA,SAAO,KAAK,CAAL,MAAA,CAAcC,UAAAA,IAAD,EAAkD;AACpE,QAAMC,KAAK,GAAGH,QAAQ,CAAtB,OAAA;;AAEA,QAAIG,KAAK,KAAT,IAAA,EAAoB;AAClB,YAAM,IAAA,KAAA,CAAN,+EAAM,CAAN;AAJkE;;AAUpE,WAAO,KAAA,CAAA,aAAA,CAAA,SAAA,EAAA,QAAA,CAAA,EAAA,EAAA,KAAA,EAAP,IAAO,CAAA,CAAP;AAVK,GAAA,EAAP,OAAA;AAYD","sourcesContent":["import * as React from 'react';\n\nexport default function useComponent<\n T extends React.ComponentType<any>,\n P extends {}\n>(Component: T, props: P) {\n const propsRef = React.useRef<P | null>(props);\n\n // Normally refs shouldn't be mutated in render\n // But we return a component which will be rendered\n // So it's just for immediate consumption\n propsRef.current = props;\n\n React.useEffect(() => {\n propsRef.current = null;\n });\n\n return React.useRef((rest: Omit<React.ComponentProps<T>, keyof P>) => {\n const props = propsRef.current;\n\n if (props === null) {\n throw new Error(\n 'The returned component must be rendered in the same render phase as the hook.'\n );\n }\n\n // @ts-expect-error: the props should be fine here\n return <Component {...props} {...rest} />;\n }).current;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/dca4e429e84306120a8bb8f51da639ac.json b/.expo/web/cache/development/babel-loader/dca4e429e84306120a8bb8f51da639ac.json new file mode 100644 index 0000000000000000000000000000000000000000..1e42c6fcca7f68f77abbe3c15d60a1da5e3d247a --- /dev/null +++ b/.expo/web/cache/development/babel-loader/dca4e429e84306120a8bb8f51da639ac.json @@ -0,0 +1 @@ +{"ast":null,"code":"var Alert = function () {\n function Alert() {}\n\n Alert.alert = function alert() {};\n\n return Alert;\n}();\n\nexport default Alert;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/Alert/index.js"],"names":["Alert","alert"],"mappings":"AAQA,IAAIA,KAAK,GAAgB,YAAY;AACnC,WAASA,KAAT,GAAiB,CAAE;;AAEnBA,EAAAA,KAAK,CAACC,KAAN,GAAc,SAASA,KAAT,GAAiB,CAAE,CAAjC;;AAEA,SAAOD,KAAP;AACD,CANwB,EAAzB;;AAQA,eAAeA,KAAf","sourcesContent":["/**\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 Alert = /*#__PURE__*/function () {\n function Alert() {}\n\n Alert.alert = function alert() {};\n\n return Alert;\n}();\n\nexport default Alert;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/dce707a2c84ef4edb1dbc3e0f379b4f8.json b/.expo/web/cache/development/babel-loader/dce707a2c84ef4edb1dbc3e0f379b4f8.json new file mode 100644 index 0000000000000000000000000000000000000000..c6974319f06f16cfdcc7dece971ff27202b7ddfd --- /dev/null +++ b/.expo/web/cache/development/babel-loader/dce707a2c84ef4edb1dbc3e0f379b4f8.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nmodule.exports = function () {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$onlyFirst = _ref.onlyFirst,\n onlyFirst = _ref$onlyFirst === void 0 ? false : _ref$onlyFirst;\n\n var pattern = [\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\", '(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))'].join('|');\n return new RegExp(pattern, onlyFirst ? undefined : 'g');\n};","map":{"version":3,"sources":["C:/Users/user/AppData/Roaming/npm/node_modules/expo-cli/node_modules/ansi-regex/index.js"],"names":["module","exports","onlyFirst","pattern","join","RegExp","undefined"],"mappings":"AAAA;;AAEAA,MAAM,CAACC,OAAP,GAAiB,YAA8B;AAAA,iFAAP,EAAO;AAAA,4BAA5BC,SAA4B;AAAA,MAA5BA,SAA4B,+BAAhB,KAAgB;;AAC9C,MAAMC,OAAO,GAAG,CACf,8HADe,EAEf,0DAFe,EAGdC,IAHc,CAGT,GAHS,CAAhB;AAKA,SAAO,IAAIC,MAAJ,CAAWF,OAAX,EAAoBD,SAAS,GAAGI,SAAH,GAAe,GAA5C,CAAP;AACA,CAPD","sourcesContent":["'use strict';\n\nmodule.exports = ({onlyFirst = false} = {}) => {\n\tconst pattern = [\n\t\t'[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)',\n\t\t'(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))'\n\t].join('|');\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n};\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/dd50c4a4016d32805b9866878ec3d0b0.json b/.expo/web/cache/development/babel-loader/dd50c4a4016d32805b9866878ec3d0b0.json new file mode 100644 index 0000000000000000000000000000000000000000..e5b12922ebe57c59c70ec3f862d0fc35fc9e58e7 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/dd50c4a4016d32805b9866878ec3d0b0.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport TextInput from \"react-native-web/dist/exports/TextInput\";\nimport React, { useState, useEffect } from 'react';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function CreateNewUser(_ref) {\n var navigation = _ref.navigation;\n\n var _useState = useState(''),\n _useState2 = _slicedToArray(_useState, 2),\n name = _useState2[0],\n onChangeName = _useState2[1];\n\n var _useState3 = useState(''),\n _useState4 = _slicedToArray(_useState3, 2),\n email = _useState4[0],\n onChangeEmail = _useState4[1];\n\n var _useState5 = useState(''),\n _useState6 = _slicedToArray(_useState5, 2),\n image = _useState6[0],\n onChangeImage = _useState6[1];\n\n function newUser() {\n return _regeneratorRuntime.async(function newUser$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return _regeneratorRuntime.awrap(addDoc(collection(getFirestore(), 'Users'), {\n Name: name,\n Email: email,\n Image: image\n }));\n\n case 3:\n _context.next = 7;\n break;\n\n case 5:\n _context.prev = 5;\n _context.t0 = _context[\"catch\"](0);\n\n case 7:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, [[0, 5]], Promise);\n }\n\n ;\n\n function Submitt() {\n newUser();\n navigation.navigate({\n name: 'UserList',\n merge: true\n });\n }\n\n return _jsxs(View, {\n children: [_jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeName,\n value: name,\n multiline: true,\n placeholder: \"Name\"\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeEmail,\n value: email,\n multiline: true,\n placeholder: \"Email\"\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeImage,\n value: image,\n multiline: true,\n placeholder: \"Image URL\"\n }), _jsx(Button, {\n title: \"Submitt\",\n onPress: Submitt\n })]\n });\n}\n;\nvar styles = StyleSheet.create({\n input: {\n borderBottomColor: '#CFCDCD',\n borderBottomWidth: 1,\n width: 220,\n marginTop: 20\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/CreateNewUser.js"],"names":["React","useState","useEffect","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","firebase","CreateNewUser","navigation","name","onChangeName","email","onChangeEmail","image","onChangeImage","newUser","Name","Email","Image","Submitt","navigate","merge","styles","input","StyleSheet","create","borderBottomColor","borderBottomWidth","width","marginTop"],"mappings":";;;;;;;AACA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;AAEA,OAAOC,EAAP;AACA,SAAQC,UAAR,EAAoBC,GAApB,EAAyBC,UAAzB,EAAqCC,aAArC,EAAoDC,MAApD,EAA4DC,SAA5D,EAAuEC,MAAvE,EAA+EC,YAA/E,EAA6FC,MAA7F,EAAqGC,MAArG,QAAkH,oBAAlH;AACA,SAASC,QAAT,QAAyB,kCAAzB;;;AAEA,eAAe,SAASC,aAAT,OAAqC;AAAA,MAAZC,UAAY,QAAZA,UAAY;;AAEhD,kBAA6Bf,QAAQ,CAAC,EAAD,CAArC;AAAA;AAAA,MAAOgB,IAAP;AAAA,MAAaC,YAAb;;AACA,mBAA+BjB,QAAQ,CAAC,EAAD,CAAvC;AAAA;AAAA,MAAOkB,KAAP;AAAA,MAAcC,aAAd;;AACA,mBAA+BnB,QAAQ,CAAC,EAAD,CAAvC;AAAA;AAAA,MAAOoB,KAAP;AAAA,MAAcC,aAAd;;AAEA,WAAeC,OAAf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6CAEYf,MAAM,CAACJ,UAAU,CAACO,YAAY,EAAb,EAAiB,OAAjB,CAAX,EAAqC;AAC/Ca,cAAAA,IAAI,EAAEP,IADyC;AAE/CQ,cAAAA,KAAK,EAAEN,KAFwC;AAG/CO,cAAAA,KAAK,EAAEL;AAHwC,aAArC,CAFlB;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAWK;;AAEN,WAASM,OAAT,GAAkB;AACdJ,IAAAA,OAAO;AACdP,IAAAA,UAAU,CAACY,QAAX,CAAoB;AACRX,MAAAA,IAAI,EAAE,UADE;AAGRY,MAAAA,KAAK,EAAE;AAHC,KAApB;AAKK;;AACL,SACI,MAAC,IAAD;AAAA,eAEA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEC,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAEb,YAA9C;AAA4D,MAAA,KAAK,EAAED,IAAnE;AAAyE,MAAA,SAAS,EAAI,IAAtF;AAA4F,MAAA,WAAW,EAAC;AAAxG,MAFA,EAGA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEa,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAEX,aAA9C;AAA6D,MAAA,KAAK,EAAED,KAApE;AAA2E,MAAA,SAAS,EAAI,IAAxF;AAA8F,MAAA,WAAW,EAAC;AAA1G,MAHA,EAIA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEW,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAET,aAA9C;AAA6D,MAAA,KAAK,EAAED,KAApE;AAA2E,MAAA,SAAS,EAAI,IAAxF;AAA+F,MAAA,WAAW,EAAC;AAA3G,MAJA,EAKA,KAAC,MAAD;AAAQ,MAAA,KAAK,EAAC,SAAd;AAAwB,MAAA,OAAO,EAAEM;AAAjC,MALA;AAAA,IADJ;AASC;AAAA;AAED,IAAMG,MAAM,GAAGE,UAAU,CAACC,MAAX,CAAkB;AAC7BF,EAAAA,KAAK,EAAC;AAEFG,IAAAA,iBAAiB,EAAC,SAFhB;AAGFC,IAAAA,iBAAiB,EAAC,CAHhB;AAIFC,IAAAA,KAAK,EAAE,GAJL;AAKFC,IAAAA,SAAS,EAAE;AALT;AADuB,CAAlB,CAAf","sourcesContent":["import { StyleSheet, Text, View, Button, TextInput } from 'react-native';\r\nimport React, { useState, useEffect } from 'react';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\nexport default function CreateNewUser({ navigation}){\r\n\r\n const [name, onChangeName] = useState('');\r\n const [email, onChangeEmail] = useState('');\r\n const [image, onChangeImage] = useState('');\r\n\r\n async function newUser(){\r\n try{\r\n await addDoc(collection(getFirestore(), 'Users'),{\r\n Name: name,\r\n Email: email,\r\n Image: image,\r\n });\r\n }\r\n catch(error){\r\n \r\n }\r\n };\r\n\r\n function Submitt(){\r\n newUser();\r\nnavigation.navigate({\r\n name: 'UserList',\r\n //params: { post: fach },\r\n merge: true,\r\n });\r\n }\r\nreturn(\r\n <View>\r\n \r\n <TextInput style={styles.input} onChangeText={onChangeName} value={name} multiline = {true} placeholder=\"Name\" />\r\n <TextInput style={styles.input} onChangeText={onChangeEmail} value={email} multiline = {true} placeholder=\"Email\"/>\r\n <TextInput style={styles.input} onChangeText={onChangeImage} value={image} multiline = {true} placeholder=\"Image URL\"/>\r\n <Button title='Submitt' onPress={Submitt}/>\r\n </View>\r\n)\r\n};\r\n\r\nconst styles = StyleSheet.create({\r\n input:{\r\n //underlineColorAndroid: '#CFCDCD',\r\n borderBottomColor:'#CFCDCD',\r\n borderBottomWidth:1,\r\n width: 220,\r\n marginTop: 20,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/deeb6e0d815152828cdfec600b2425ed.json b/.expo/web/cache/development/babel-loader/deeb6e0d815152828cdfec600b2425ed.json new file mode 100644 index 0000000000000000000000000000000000000000..2690880246144d98f701e462fac4e02578b94dfb --- /dev/null +++ b/.expo/web/cache/development/babel-loader/deeb6e0d815152828cdfec600b2425ed.json @@ -0,0 +1 @@ +{"ast":null,"code":"var process = module.exports = {};\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\n\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\n\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n return setTimeout(fun, 0);\n }\n\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n\n try {\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\n\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n return clearTimeout(marker);\n }\n\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n\n try {\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\n\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n\n draining = false;\n\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n\n while (len) {\n currentQueue = queue;\n queue = [];\n\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n\n queueIndex = -1;\n len = queue.length;\n }\n\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n\n queue.push(new Item(fun, args));\n\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\n\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\n\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = '';\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) {\n return [];\n};\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () {\n return '/';\n};\n\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\n\nprocess.umask = function () {\n return 0;\n};","map":{"version":3,"sources":["C:/Users/user/AppData/Roaming/npm/node_modules/expo-cli/node_modules/process/browser.js"],"names":["process","module","exports","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","Error","defaultClearTimeout","setTimeout","e","clearTimeout","runTimeout","fun","call","runClearTimeout","marker","queue","draining","currentQueue","queueIndex","cleanUpNextTick","length","concat","drainQueue","timeout","len","run","nextTick","args","Array","arguments","i","push","Item","array","prototype","apply","title","browser","env","argv","version","versions","noop","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","name","binding","cwd","chdir","dir","umask"],"mappings":"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","sourcesContent":["// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/dfa159a6273133816cd8c2cd6fcd843f.json b/.expo/web/cache/development/babel-loader/dfa159a6273133816cd8c2cd6fcd843f.json new file mode 100644 index 0000000000000000000000000000000000000000..9cd98a8ac94a20c4d141dd99a7110cd2a9d6fab7 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/dfa159a6273133816cd8c2cd6fcd843f.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar _slicedToArray = require(\"@babel/runtime/helpers/slicedToArray\");\n\nvar friendlySyntaxErrorLabel = 'Syntax error:';\n\nfunction isLikelyASyntaxError(message) {\n return message.indexOf(friendlySyntaxErrorLabel) !== -1;\n}\n\nfunction formatMessage(message) {\n var lines = message.split('\\n');\n lines = lines.filter(function (line) {\n return !/Module [A-z ]+\\(from/.test(line);\n });\n lines = lines.map(function (line) {\n var parsingError = /Line (\\d+):(?:(\\d+):)?\\s*Parsing error: (.+)$/.exec(line);\n\n if (!parsingError) {\n return line;\n }\n\n var _parsingError = _slicedToArray(parsingError, 4),\n errorLine = _parsingError[1],\n errorColumn = _parsingError[2],\n errorMessage = _parsingError[3];\n\n return friendlySyntaxErrorLabel + \" \" + errorMessage + \" (\" + errorLine + \":\" + errorColumn + \")\";\n });\n message = lines.join('\\n');\n message = message.replace(/SyntaxError\\s+\\((\\d+):(\\d+)\\)\\s*(.+?)\\n/g, friendlySyntaxErrorLabel + \" $3 ($1:$2)\\n\");\n message = message.replace(/^.*export '(.+?)' was not found in '(.+?)'.*$/gm, \"Attempted import error: '$1' is not exported from '$2'.\");\n message = message.replace(/^.*export 'default' \\(imported as '(.+?)'\\) was not found in '(.+?)'.*$/gm, \"Attempted import error: '$2' does not contain a default export (imported as '$1').\");\n message = message.replace(/^.*export '(.+?)' \\(imported as '(.+?)'\\) was not found in '(.+?)'.*$/gm, \"Attempted import error: '$1' is not exported from '$3' (imported as '$2').\");\n lines = message.split('\\n');\n\n if (lines.length > 2 && lines[1].trim() === '') {\n lines.splice(1, 1);\n }\n\n lines[0] = lines[0].replace(/^(.*) \\d+:\\d+-\\d+$/, '$1');\n\n if (lines[1] && lines[1].indexOf('Module not found: ') === 0) {\n lines = [lines[0], lines[1].replace('Error: ', '').replace('Module not found: Cannot find file:', 'Cannot find file:')];\n }\n\n if (lines[1] && lines[1].match(/Cannot find module.+node-sass/)) {\n lines[1] = 'To import Sass files, you first need to install node-sass.\\n';\n lines[1] += 'Run `npm install node-sass` or `yarn add node-sass` inside your workspace.';\n }\n\n message = lines.join('\\n');\n message = message.replace(/^\\s*at\\s((?!webpack:).)*:\\d+:\\d+[\\s)]*(\\n|$)/gm, '');\n message = message.replace(/^\\s*at\\s<anonymous>(\\n|$)/gm, '');\n lines = message.split('\\n');\n lines = lines.filter(function (line, index, arr) {\n return index === 0 || line.trim() !== '' || line.trim() !== arr[index - 1].trim();\n });\n message = lines.join('\\n');\n return message.trim();\n}\n\nfunction formatWebpackMessages(json) {\n var formattedErrors = json.errors.map(formatMessage);\n var formattedWarnings = json.warnings.map(formatMessage);\n var result = {\n errors: formattedErrors,\n warnings: formattedWarnings\n };\n\n if (result.errors.some(isLikelyASyntaxError)) {\n result.errors = result.errors.filter(isLikelyASyntaxError);\n }\n\n return result;\n}\n\nmodule.exports = formatWebpackMessages;","map":{"version":3,"sources":["C:/Users/user/AppData/Roaming/npm/node_modules/expo-cli/node_modules/react-dev-utils/formatWebpackMessages.js"],"names":["friendlySyntaxErrorLabel","isLikelyASyntaxError","message","indexOf","formatMessage","lines","split","filter","line","test","map","parsingError","exec","errorLine","errorColumn","errorMessage","join","replace","length","trim","splice","match","index","arr","formatWebpackMessages","json","formattedErrors","errors","formattedWarnings","warnings","result","some","module","exports"],"mappings":"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","sourcesContent":["/**\n * Copyright (c) 2015-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\nconst friendlySyntaxErrorLabel = 'Syntax error:';\n\nfunction isLikelyASyntaxError(message) {\n return message.indexOf(friendlySyntaxErrorLabel) !== -1;\n}\n\n// Cleans up webpack error messages.\nfunction formatMessage(message) {\n let lines = message.split('\\n');\n\n // Strip webpack-added headers off errors/warnings\n // https://github.com/webpack/webpack/blob/master/lib/ModuleError.js\n lines = lines.filter(line => !/Module [A-z ]+\\(from/.test(line));\n\n // Transform parsing error into syntax error\n // TODO: move this to our ESLint formatter?\n lines = lines.map(line => {\n const parsingError = /Line (\\d+):(?:(\\d+):)?\\s*Parsing error: (.+)$/.exec(\n line\n );\n if (!parsingError) {\n return line;\n }\n const [, errorLine, errorColumn, errorMessage] = parsingError;\n return `${friendlySyntaxErrorLabel} ${errorMessage} (${errorLine}:${errorColumn})`;\n });\n\n message = lines.join('\\n');\n // Smoosh syntax errors (commonly found in CSS)\n message = message.replace(\n /SyntaxError\\s+\\((\\d+):(\\d+)\\)\\s*(.+?)\\n/g,\n `${friendlySyntaxErrorLabel} $3 ($1:$2)\\n`\n );\n // Clean up export errors\n message = message.replace(\n /^.*export '(.+?)' was not found in '(.+?)'.*$/gm,\n `Attempted import error: '$1' is not exported from '$2'.`\n );\n message = message.replace(\n /^.*export 'default' \\(imported as '(.+?)'\\) was not found in '(.+?)'.*$/gm,\n `Attempted import error: '$2' does not contain a default export (imported as '$1').`\n );\n message = message.replace(\n /^.*export '(.+?)' \\(imported as '(.+?)'\\) was not found in '(.+?)'.*$/gm,\n `Attempted import error: '$1' is not exported from '$3' (imported as '$2').`\n );\n lines = message.split('\\n');\n\n // Remove leading newline\n if (lines.length > 2 && lines[1].trim() === '') {\n lines.splice(1, 1);\n }\n // Clean up file name\n lines[0] = lines[0].replace(/^(.*) \\d+:\\d+-\\d+$/, '$1');\n\n // Cleans up verbose \"module not found\" messages for files and packages.\n if (lines[1] && lines[1].indexOf('Module not found: ') === 0) {\n lines = [\n lines[0],\n lines[1]\n .replace('Error: ', '')\n .replace('Module not found: Cannot find file:', 'Cannot find file:'),\n ];\n }\n\n // Add helpful message for users trying to use Sass for the first time\n if (lines[1] && lines[1].match(/Cannot find module.+node-sass/)) {\n lines[1] = 'To import Sass files, you first need to install node-sass.\\n';\n lines[1] +=\n 'Run `npm install node-sass` or `yarn add node-sass` inside your workspace.';\n }\n\n message = lines.join('\\n');\n // Internal stacks are generally useless so we strip them... with the\n // exception of stacks containing `webpack:` because they're normally\n // from user code generated by webpack. For more information see\n // https://github.com/facebook/create-react-app/pull/1050\n message = message.replace(\n /^\\s*at\\s((?!webpack:).)*:\\d+:\\d+[\\s)]*(\\n|$)/gm,\n ''\n ); // at ... ...:x:y\n message = message.replace(/^\\s*at\\s<anonymous>(\\n|$)/gm, ''); // at <anonymous>\n lines = message.split('\\n');\n\n // Remove duplicated newlines\n lines = lines.filter(\n (line, index, arr) =>\n index === 0 || line.trim() !== '' || line.trim() !== arr[index - 1].trim()\n );\n\n // Reassemble the message\n message = lines.join('\\n');\n return message.trim();\n}\n\nfunction formatWebpackMessages(json) {\n const formattedErrors = json.errors.map(formatMessage);\n const formattedWarnings = json.warnings.map(formatMessage);\n const result = { errors: formattedErrors, warnings: formattedWarnings };\n if (result.errors.some(isLikelyASyntaxError)) {\n // If there are any syntax errors, show just them.\n result.errors = result.errors.filter(isLikelyASyntaxError);\n }\n return result;\n}\n\nmodule.exports = formatWebpackMessages;\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/dfad1757941a27b84f201f8a76c7c14d.json b/.expo/web/cache/development/babel-loader/dfad1757941a27b84f201f8a76c7c14d.json new file mode 100644 index 0000000000000000000000000000000000000000..f5efe817db5e3b8257daa15d6063139b078109cf --- /dev/null +++ b/.expo/web/cache/development/babel-loader/dfad1757941a27b84f201f8a76c7c14d.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATAS = null;\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n DATA = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n if (DATA != null) {\n Alert.alert('count data');\n }\n\n var colRef = collection(getFirestore(), \"Users\");\n var big = [];\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var itemData = {\n name: doc.data().Name,\n email: doc.data().Email,\n image: doc.data().Image,\n id: doc.id\n };\n big.push(itemData);\n setUsers(big);\n });\n });\n }, []);\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n var big = [];\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n big.push(itemData);\n }\n });\n setUsers(big);\n });\n }\n\n if (route.params != null) {\n setUsers(null);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n }), _jsx(Text, {\n style: styles.beschreibung,\n children: item.name\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsxs(View, {\n children: [_jsx(Text, {\n children: \"No Data Found\"\n }), _jsx(Button, {\n title: \"Load Data\",\n onPress: listenOnChange\n })]\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsx(TouchableOpacity, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n style: styles.button,\n children: _jsx(Text, {\n style: styles.cancelButtonText,\n children: \"Create new User\"\n })\n }), _jsx(Text, {\n children: \" \"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return item + index;\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50,\n borderRadius: 50 / 2,\n overflow: \"hidden\",\n borderWidth: 3,\n borderColor: \"#D9D9D9\"\n },\n item: {\n width: 250,\n paddingTop: 20,\n paddingBottom: 20,\n paddingRight: 20,\n marginVertical: 8,\n marginHorizontal: 25,\n borderBottomColor: '#D9D9D9',\n borderBottomWidth: 2,\n flexDirection: \"row\"\n },\n beschreibung: {\n marginLeft: 10,\n marginTop: 10,\n width: 180,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 16,\n lineHeight: 23,\n color: \"#5E6A79\"\n },\n button: {\n marginTop: 25,\n marginBottom: 20,\n height: 35,\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\n borderRadius: 12,\n justifyContent: 'center'\n },\n cancelButtonText: {\n height: 28,\n margin: 10,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 15,\n lineHeight: 22,\n textAlign: 'center',\n color: \"#5E6A79\"\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATAS","UserLists","navigation","route","DATA","setUsers","Alert","alert","colRef","big","querySnapshot","forEach","itemData","name","data","Name","email","Email","image","Image","id","push","listenOnChange","snapchot","docChanges","change","type","message","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","beschreibung","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","container","button","cancelButtonText","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height","borderRadius","overflow","borderWidth","borderColor","paddingTop","paddingBottom","paddingRight","marginVertical","borderBottomColor","borderBottomWidth","flexDirection","marginLeft","marginTop","fontStyle","fontWeight","fontSize","lineHeight","marginBottom","margin","textAlign"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATAS = null;\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [DATA, setUsers] = useState(null);\r\n\r\n//listenOnChange();\r\n//useeffect();\r\n\r\n/*useEffect(()=>{\r\nconst colRef = collection(getFirestore(),\"Users\");\r\nconst big= [];\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n //DATA.push(itemData);\r\n setUsers(big);\r\n //Alert.alert('count data',DATA.name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])*/\r\n\r\n\r\n\r\n\r\n//test\r\nuseEffect(()=>{\r\n if(DATA != null){Alert.alert('count data', );}\r\n \r\n const colRef = collection(getFirestore(),\"Users\");\r\n const big= [];\r\n onSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n //DATA.push(itemData);\r\n setUsers(big);\r\n \r\n });\r\n \r\n //setUsers(users)\r\n });\r\n //Alert.alert(users.Name.toString);\r\n \r\n },[])\r\n\r\n\r\n \r\n\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n const big = [];\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n //DATA.push(itemData);\r\n big.push(itemData);\r\n \r\n //Alert.alert('listen on change',message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n }); setUsers(big);\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\nsetUsers(null);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n \r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n <Text style={styles.beschreibung}>\r\n {item.name} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){ //DATAS zu DATA ändern ___-------\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <View>\r\n <Text>\r\n No Data Found \r\n </Text>\r\n <Button title='Load Data' onPress={listenOnChange}/>\r\n </View>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <TouchableOpacity onPress={()=> {navigation.navigate('CreateNewUser')}} style={styles.button}>\r\n <Text style={styles.cancelButtonText}>\r\n Create new User\r\n </Text>\r\n \r\n </TouchableOpacity>\r\n <Text> </Text>\r\n\r\n <FlatList\r\n data={DATA} //DATAS zu DATA ändern ___-------\r\n renderItem={renderItem}\r\n /*keyExtractor={ (item, index) => index.toString()}//item => item.id*/\r\n keyExtractor={(item, index) => item + index}\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n borderRadius: 50 / 2,\r\n overflow: \"hidden\",\r\n borderWidth: 3,\r\n borderColor: \"#D9D9D9\"\r\n },\r\n item: {\r\n width: 250,\r\n paddingTop: 20,\r\n paddingBottom: 20,\r\n paddingRight: 20,\r\n marginVertical: 8,\r\n marginHorizontal: 25,\r\n borderBottomColor: '#D9D9D9',\r\n borderBottomWidth: 2,\r\n flexDirection: \"row\",\r\n },\r\n beschreibung: {\r\n marginLeft:10,\r\n marginTop:10,\r\n width: 180,\r\n\r\n // font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 16,\r\n lineHeight: 23,\r\n color: \"#5E6A79\",\r\n },\r\n button:{\r\n marginTop:25,\r\n marginBottom: 20,\r\n height: 35,\r\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\r\n //box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);\r\n borderRadius: 12,\r\n justifyContent: 'center',\r\n \r\n},\r\ncancelButtonText:{\r\n //width: 55,\r\n height: 28,\r\nmargin:10,\r\n //font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 15,\r\n lineHeight: 22,\r\n textAlign:'center',\r\n color: \"#5E6A79\",\r\n},\r\n\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/dfc19c8fb124ab31fadb2ffe47068c93.json b/.expo/web/cache/development/babel-loader/dfc19c8fb124ab31fadb2ffe47068c93.json new file mode 100644 index 0000000000000000000000000000000000000000..63e98b9c0a83b2e99426e1b7e0834f56f48d113a --- /dev/null +++ b/.expo/web/cache/development/babel-loader/dfc19c8fb124ab31fadb2ffe47068c93.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport AnimatedInterpolation from \"./AnimatedInterpolation\";\nimport AnimatedNode from \"./AnimatedNode\";\nimport AnimatedWithChildren from \"./AnimatedWithChildren\";\n\nvar AnimatedModulo = function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedModulo, _AnimatedWithChildren);\n\n function AnimatedModulo(a, modulus) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n _this._a = a;\n _this._modulus = modulus;\n return _this;\n }\n\n var _proto = AnimatedModulo.prototype;\n\n _proto.__makeNative = function __makeNative() {\n this._a.__makeNative();\n\n _AnimatedWithChildren.prototype.__makeNative.call(this);\n };\n\n _proto.__getValue = function __getValue() {\n return (this._a.__getValue() % this._modulus + this._modulus) % this._modulus;\n };\n\n _proto.interpolate = function interpolate(config) {\n return new AnimatedInterpolation(this, config);\n };\n\n _proto.__attach = function __attach() {\n this._a.__addChild(this);\n };\n\n _proto.__detach = function __detach() {\n this._a.__removeChild(this);\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n return {\n type: 'modulus',\n input: this._a.__getNativeTag(),\n modulus: this._modulus\n };\n };\n\n return AnimatedModulo;\n}(AnimatedWithChildren);\n\nexport default AnimatedModulo;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedModulo.js"],"names":["_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","AnimatedInterpolation","AnimatedNode","AnimatedWithChildren","AnimatedModulo","_AnimatedWithChildren","a","modulus","_this","call","_a","_modulus","_proto","__makeNative","__getValue","interpolate","config","__attach","__addChild","__detach","__removeChild","__getNativeConfig","type","input","__getNativeTag"],"mappings":"AASA;;AAEA,SAASA,cAAT,CAAwBC,QAAxB,EAAkCC,UAAlC,EAA8C;AAAED,EAAAA,QAAQ,CAACE,SAAT,GAAqBC,MAAM,CAACC,MAAP,CAAcH,UAAU,CAACC,SAAzB,CAArB;AAA0DF,EAAAA,QAAQ,CAACE,SAAT,CAAmBG,WAAnB,GAAiCL,QAAjC;;AAA2CM,EAAAA,eAAe,CAACN,QAAD,EAAWC,UAAX,CAAf;AAAwC;;AAE7L,SAASK,eAAT,CAAyBC,CAAzB,EAA4BC,CAA5B,EAA+B;AAAEF,EAAAA,eAAe,GAAGH,MAAM,CAACM,cAAP,IAAyB,SAASH,eAAT,CAAyBC,CAAzB,EAA4BC,CAA5B,EAA+B;AAAED,IAAAA,CAAC,CAACG,SAAF,GAAcF,CAAd;AAAiB,WAAOD,CAAP;AAAW,GAAxG;;AAA0G,SAAOD,eAAe,CAACC,CAAD,EAAIC,CAAJ,CAAtB;AAA+B;;AAE1K,OAAOG,qBAAP;AACA,OAAOC,YAAP;AACA,OAAOC,oBAAP;;AAEA,IAAIC,cAAc,GAAgB,UAAUC,qBAAV,EAAiC;AACjEhB,EAAAA,cAAc,CAACe,cAAD,EAAiBC,qBAAjB,CAAd;;AAEA,WAASD,cAAT,CAAwBE,CAAxB,EAA2BC,OAA3B,EAAoC;AAClC,QAAIC,KAAJ;;AAEAA,IAAAA,KAAK,GAAGH,qBAAqB,CAACI,IAAtB,CAA2B,IAA3B,KAAoC,IAA5C;AACAD,IAAAA,KAAK,CAACE,EAAN,GAAWJ,CAAX;AACAE,IAAAA,KAAK,CAACG,QAAN,GAAiBJ,OAAjB;AACA,WAAOC,KAAP;AACD;;AAED,MAAII,MAAM,GAAGR,cAAc,CAACZ,SAA5B;;AAEAoB,EAAAA,MAAM,CAACC,YAAP,GAAsB,SAASA,YAAT,GAAwB;AAC5C,SAAKH,EAAL,CAAQG,YAAR;;AAEAR,IAAAA,qBAAqB,CAACb,SAAtB,CAAgCqB,YAAhC,CAA6CJ,IAA7C,CAAkD,IAAlD;AACD,GAJD;;AAMAG,EAAAA,MAAM,CAACE,UAAP,GAAoB,SAASA,UAAT,GAAsB;AACxC,WAAO,CAAC,KAAKJ,EAAL,CAAQI,UAAR,KAAuB,KAAKH,QAA5B,GAAuC,KAAKA,QAA7C,IAAyD,KAAKA,QAArE;AACD,GAFD;;AAIAC,EAAAA,MAAM,CAACG,WAAP,GAAqB,SAASA,WAAT,CAAqBC,MAArB,EAA6B;AAChD,WAAO,IAAIf,qBAAJ,CAA0B,IAA1B,EAAgCe,MAAhC,CAAP;AACD,GAFD;;AAIAJ,EAAAA,MAAM,CAACK,QAAP,GAAkB,SAASA,QAAT,GAAoB;AACpC,SAAKP,EAAL,CAAQQ,UAAR,CAAmB,IAAnB;AACD,GAFD;;AAIAN,EAAAA,MAAM,CAACO,QAAP,GAAkB,SAASA,QAAT,GAAoB;AACpC,SAAKT,EAAL,CAAQU,aAAR,CAAsB,IAAtB;;AAEAf,IAAAA,qBAAqB,CAACb,SAAtB,CAAgC2B,QAAhC,CAAyCV,IAAzC,CAA8C,IAA9C;AACD,GAJD;;AAMAG,EAAAA,MAAM,CAACS,iBAAP,GAA2B,SAASA,iBAAT,GAA6B;AACtD,WAAO;AACLC,MAAAA,IAAI,EAAE,SADD;AAELC,MAAAA,KAAK,EAAE,KAAKb,EAAL,CAAQc,cAAR,EAFF;AAGLjB,MAAAA,OAAO,EAAE,KAAKI;AAHT,KAAP;AAKD,GAND;;AAQA,SAAOP,cAAP;AACD,CA/CiC,CA+ChCD,oBA/CgC,CAAlC;;AAiDA,eAAeC,cAAf","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedWithChildren from './AnimatedWithChildren';\n\nvar AnimatedModulo = /*#__PURE__*/function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedModulo, _AnimatedWithChildren);\n\n function AnimatedModulo(a, modulus) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n _this._a = a;\n _this._modulus = modulus;\n return _this;\n }\n\n var _proto = AnimatedModulo.prototype;\n\n _proto.__makeNative = function __makeNative() {\n this._a.__makeNative();\n\n _AnimatedWithChildren.prototype.__makeNative.call(this);\n };\n\n _proto.__getValue = function __getValue() {\n return (this._a.__getValue() % this._modulus + this._modulus) % this._modulus;\n };\n\n _proto.interpolate = function interpolate(config) {\n return new AnimatedInterpolation(this, config);\n };\n\n _proto.__attach = function __attach() {\n this._a.__addChild(this);\n };\n\n _proto.__detach = function __detach() {\n this._a.__removeChild(this);\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n return {\n type: 'modulus',\n input: this._a.__getNativeTag(),\n modulus: this._modulus\n };\n };\n\n return AnimatedModulo;\n}(AnimatedWithChildren);\n\nexport default AnimatedModulo;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/e0edfba134ad7e8c1d761f03478f8d60.json b/.expo/web/cache/development/babel-loader/e0edfba134ad7e8c1d761f03478f8d60.json new file mode 100644 index 0000000000000000000000000000000000000000..ad35bcb60f40d6684421f49a9febb149af6d73e1 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/e0edfba134ad7e8c1d761f03478f8d60.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users.toString);\n setUsers(users);\n });\n\n if (users != null) {}\n }, []);\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {})\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","params","post","Item","item","onPress","backgroundColor","textColor","styles","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users.toString);\r\n setUsers(users)\r\n});\r\nif(users!= null){\r\n //Alert.alert(' users load',users.id)\r\n}\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\n/*function writeData(){\r\n \r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})\r\n}*/\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async () => {\r\n const id = 'q5EOqKxKEsAO6lLmhbnc';\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUsers({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n Alert.alert(users[0])\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {/*item.Name*/} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser'/> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/e108750bb775e5c5abe8d5c6151619a0.json b/.expo/web/cache/development/babel-loader/e108750bb775e5c5abe8d5c6151619a0.json new file mode 100644 index 0000000000000000000000000000000000000000..b8f0794ce24ff4e265a4d1d7839401ad8c072078 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/e108750bb775e5c5abe8d5c6151619a0.json @@ -0,0 +1 @@ +{"ast":null,"code":"var emptyObject = {};\nvar objects = {};\nvar prefix = 'r';\nvar uniqueID = 1;\n\nvar createKey = function createKey(id) {\n return prefix + \"-\" + id;\n};\n\nvar ReactNativePropRegistry = function () {\n function ReactNativePropRegistry() {}\n\n ReactNativePropRegistry.register = function register(object) {\n var id = uniqueID++;\n\n if (process.env.NODE_ENV !== 'production') {\n Object.freeze(object);\n }\n\n var key = createKey(id);\n objects[key] = object;\n return id;\n };\n\n ReactNativePropRegistry.getByID = function getByID(id) {\n if (!id) {\n return emptyObject;\n }\n\n var key = createKey(id);\n var object = objects[key];\n\n if (!object) {\n console.warn('Invalid style with id `' + id + '`. Skipping ...');\n return emptyObject;\n }\n\n return object;\n };\n\n return ReactNativePropRegistry;\n}();\n\nexport { ReactNativePropRegistry as default };","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/StyleSheet/ReactNativePropRegistry.js"],"names":["emptyObject","objects","prefix","uniqueID","createKey","id","ReactNativePropRegistry","register","object","process","env","NODE_ENV","Object","freeze","key","getByID","console","warn","default"],"mappings":"AASA,IAAIA,WAAW,GAAG,EAAlB;AACA,IAAIC,OAAO,GAAG,EAAd;AACA,IAAIC,MAAM,GAAG,GAAb;AACA,IAAIC,QAAQ,GAAG,CAAf;;AAEA,IAAIC,SAAS,GAAG,SAASA,SAAT,CAAmBC,EAAnB,EAAuB;AACrC,SAAOH,MAAM,GAAG,GAAT,GAAeG,EAAtB;AACD,CAFD;;AAIA,IAAIC,uBAAuB,GAAgB,YAAY;AACrD,WAASA,uBAAT,GAAmC,CAAE;;AAErCA,EAAAA,uBAAuB,CAACC,QAAxB,GAAmC,SAASA,QAAT,CAAkBC,MAAlB,EAA0B;AAC3D,QAAIH,EAAE,GAAGF,QAAQ,EAAjB;;AAEA,QAAIM,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzCC,MAAAA,MAAM,CAACC,MAAP,CAAcL,MAAd;AACD;;AAED,QAAIM,GAAG,GAAGV,SAAS,CAACC,EAAD,CAAnB;AACAJ,IAAAA,OAAO,CAACa,GAAD,CAAP,GAAeN,MAAf;AACA,WAAOH,EAAP;AACD,GAVD;;AAYAC,EAAAA,uBAAuB,CAACS,OAAxB,GAAkC,SAASA,OAAT,CAAiBV,EAAjB,EAAqB;AACrD,QAAI,CAACA,EAAL,EAAS;AAGP,aAAOL,WAAP;AACD;;AAED,QAAIc,GAAG,GAAGV,SAAS,CAACC,EAAD,CAAnB;AACA,QAAIG,MAAM,GAAGP,OAAO,CAACa,GAAD,CAApB;;AAEA,QAAI,CAACN,MAAL,EAAa;AACXQ,MAAAA,OAAO,CAACC,IAAR,CAAa,4BAA4BZ,EAA5B,GAAiC,iBAA9C;AACA,aAAOL,WAAP;AACD;;AAED,WAAOQ,MAAP;AACD,GAhBD;;AAkBA,SAAOF,uBAAP;AACD,CAlC0C,EAA3C;;AAoCA,SAASA,uBAAuB,IAAIY,OAApC","sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\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 */\nvar emptyObject = {};\nvar objects = {};\nvar prefix = 'r';\nvar uniqueID = 1;\n\nvar createKey = function createKey(id) {\n return prefix + \"-\" + id;\n};\n\nvar ReactNativePropRegistry = /*#__PURE__*/function () {\n function ReactNativePropRegistry() {}\n\n ReactNativePropRegistry.register = function register(object) {\n var id = uniqueID++;\n\n if (process.env.NODE_ENV !== 'production') {\n Object.freeze(object);\n }\n\n var key = createKey(id);\n objects[key] = object;\n return id;\n };\n\n ReactNativePropRegistry.getByID = function getByID(id) {\n if (!id) {\n // Used in the style={[condition && id]} pattern,\n // we want it to be a no-op when the value is false or null\n return emptyObject;\n }\n\n var key = createKey(id);\n var object = objects[key];\n\n if (!object) {\n console.warn('Invalid style with id `' + id + '`. Skipping ...');\n return emptyObject;\n }\n\n return object;\n };\n\n return ReactNativePropRegistry;\n}();\n\nexport { ReactNativePropRegistry as default };"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/e124ef4d40e18f60b8acea5cd88516f9.json b/.expo/web/cache/development/babel-loader/e124ef4d40e18f60b8acea5cd88516f9.json new file mode 100644 index 0000000000000000000000000000000000000000..8e829e2f8c9232edd2bb9aec7d2df8b78c88473f --- /dev/null +++ b/.expo/web/cache/development/babel-loader/e124ef4d40e18f60b8acea5cd88516f9.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { isIOS, isNull, isObject, isString, isUndefined } from '@react-native-firebase/app/lib/common';\nimport FirebaseApp from \"../../FirebaseApp\";\nimport { DEFAULT_APP_NAME } from \"../constants\";\nimport { getAppModule } from \"./nativeModule\";\nvar APP_REGISTRY = {};\nvar onAppCreateFn = null;\nvar onAppDestroyFn = null;\nvar initializedNativeApps = false;\nexport function setOnAppCreate(fn) {\n onAppCreateFn = fn;\n}\nexport function setOnAppDestroy(fn) {\n onAppDestroyFn = fn;\n}\nexport function initializeNativeApps() {\n var nativeModule = getAppModule();\n var NATIVE_FIREBASE_APPS = nativeModule.NATIVE_FIREBASE_APPS;\n\n if (NATIVE_FIREBASE_APPS && NATIVE_FIREBASE_APPS.length) {\n for (var i = 0; i < NATIVE_FIREBASE_APPS.length; i++) {\n var _NATIVE_FIREBASE_APPS = NATIVE_FIREBASE_APPS[i],\n appConfig = _NATIVE_FIREBASE_APPS.appConfig,\n options = _NATIVE_FIREBASE_APPS.options;\n var name = appConfig.name;\n APP_REGISTRY[name] = new FirebaseApp(options, appConfig, true, deleteApp.bind(null, name, true));\n onAppCreateFn(APP_REGISTRY[name]);\n }\n }\n\n initializedNativeApps = true;\n}\nexport function getApp() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_APP_NAME;\n\n if (!initializedNativeApps) {\n initializeNativeApps();\n }\n\n var app = APP_REGISTRY[name];\n\n if (!app) {\n throw new Error(\"No Firebase App '\" + name + \"' has been created - call firebase.initializeApp()\");\n }\n\n return app;\n}\nexport function getApps() {\n if (!initializedNativeApps) {\n initializeNativeApps();\n }\n\n return Object.values(APP_REGISTRY);\n}\nexport function initializeApp() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var configOrName = arguments.length > 1 ? arguments[1] : undefined;\n var appConfig = configOrName;\n\n if (!isObject(configOrName) || isNull(configOrName)) {\n appConfig = {\n name: configOrName,\n automaticResourceManagement: false,\n automaticDataCollectionEnabled: true\n };\n }\n\n if (isUndefined(appConfig.name)) {\n appConfig.name = DEFAULT_APP_NAME;\n }\n\n var _appConfig = appConfig,\n name = _appConfig.name;\n\n if (!name || !isString(name)) {\n return Promise.reject(new Error(\"Illegal App name: '\" + name + \"'\"));\n }\n\n if (APP_REGISTRY[name]) {\n return Promise.reject(new Error(\"Firebase App named '\" + name + \"' already exists\"));\n }\n\n if (!isObject(options)) {\n return Promise.reject(new Error(\"firebase.initializeApp(options, <- expects an Object but got '\" + typeof options + \"'\"));\n }\n\n if (!isString(options.apiKey)) {\n return Promise.reject(new Error(\"Missing or invalid FirebaseOptions property 'apiKey'.\"));\n }\n\n if (!isString(options.appId)) {\n return Promise.reject(new Error(\"Missing or invalid FirebaseOptions property 'appId'.\"));\n }\n\n if (!isString(options.databaseURL)) {\n return Promise.reject(new Error(\"Missing or invalid FirebaseOptions property 'databaseURL'.\"));\n }\n\n if (!isString(options.messagingSenderId)) {\n return Promise.reject(new Error(\"Missing or invalid FirebaseOptions property 'messagingSenderId'.\"));\n }\n\n if (!isString(options.projectId)) {\n return Promise.reject(new Error(\"Missing or invalid FirebaseOptions property 'projectId'.\"));\n }\n\n if (!isString(options.storageBucket)) {\n return Promise.reject(new Error(\"Missing or invalid FirebaseOptions property 'storageBucket'.\"));\n }\n\n var app = new FirebaseApp(options, {\n name: name\n }, false, deleteApp.bind(null, name, true));\n APP_REGISTRY[name] = app;\n onAppCreateFn(APP_REGISTRY[name]);\n return getAppModule().initializeApp(options, {\n name: name\n }).then(function () {\n app._initialized = true;\n return app;\n }).catch(function (e) {\n delete APP_REGISTRY[name];\n throw e;\n });\n}\nexport function setLogLevel(logLevel) {\n if (!['error', 'warn', 'info', 'debug', 'verbose'].includes(logLevel)) {\n throw new Error('LogLevel must be one of \"error\", \"warn\", \"info\", \"debug\", \"verbose\"');\n }\n\n if (isIOS) {\n getAppModule().setLogLevel(logLevel);\n }\n}\nexport function deleteApp(name, nativeInitialized) {\n if (name === DEFAULT_APP_NAME && nativeInitialized) {\n return Promise.reject(new Error('Unable to delete the default native firebase app instance.'));\n }\n\n var app = APP_REGISTRY[name];\n var nativeModule = getAppModule();\n return nativeModule.deleteApp(name).then(function () {\n app._deleted = true;\n onAppDestroyFn(app);\n delete APP_REGISTRY[name];\n });\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/app/lib/internal/registry/app.js"],"names":["isIOS","isNull","isObject","isString","isUndefined","FirebaseApp","DEFAULT_APP_NAME","getAppModule","APP_REGISTRY","onAppCreateFn","onAppDestroyFn","initializedNativeApps","setOnAppCreate","fn","setOnAppDestroy","initializeNativeApps","nativeModule","NATIVE_FIREBASE_APPS","length","i","appConfig","options","name","deleteApp","bind","getApp","app","Error","getApps","Object","values","initializeApp","configOrName","automaticResourceManagement","automaticDataCollectionEnabled","Promise","reject","apiKey","appId","databaseURL","messagingSenderId","projectId","storageBucket","then","_initialized","catch","e","setLogLevel","logLevel","includes","nativeInitialized","_deleted"],"mappings":"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","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport {\n isIOS,\n isNull,\n isObject,\n isString,\n isUndefined,\n} from '@react-native-firebase/app/lib/common';\nimport FirebaseApp from '../../FirebaseApp';\nimport { DEFAULT_APP_NAME } from '../constants';\nimport { getAppModule } from './nativeModule';\n\nconst APP_REGISTRY = {};\nlet onAppCreateFn = null;\nlet onAppDestroyFn = null;\nlet initializedNativeApps = false;\n\n/**\n * This was needed to avoid metro require cycles...\n * @param fn\n */\nexport function setOnAppCreate(fn) {\n onAppCreateFn = fn;\n}\n\n/**\n * This was needed to avoid metro require cycles...\n * @param fn\n */\nexport function setOnAppDestroy(fn) {\n onAppDestroyFn = fn;\n}\n\n/**\n * Initializes all apps that were created natively (android/ios),\n * e.g. the Default firebase app from plist/json google services file.\n */\nexport function initializeNativeApps() {\n const nativeModule = getAppModule();\n const { NATIVE_FIREBASE_APPS } = nativeModule;\n\n if (NATIVE_FIREBASE_APPS && NATIVE_FIREBASE_APPS.length) {\n for (let i = 0; i < NATIVE_FIREBASE_APPS.length; i++) {\n const { appConfig, options } = NATIVE_FIREBASE_APPS[i];\n const { name } = appConfig;\n APP_REGISTRY[name] = new FirebaseApp(\n options,\n appConfig,\n true,\n deleteApp.bind(null, name, true),\n );\n onAppCreateFn(APP_REGISTRY[name]);\n }\n }\n\n initializedNativeApps = true;\n}\n\n/**\n * Get an app by name; or the default app.\n *\n * On first call of this method it will initialize any\n * natively created apps in JS. This makes this 'lazy load'.\n *\n * @param name\n */\nexport function getApp(name = DEFAULT_APP_NAME) {\n if (!initializedNativeApps) {\n initializeNativeApps();\n }\n const app = APP_REGISTRY[name];\n\n if (!app) {\n throw new Error(`No Firebase App '${name}' has been created - call firebase.initializeApp()`);\n }\n\n return app;\n}\n\n/**\n * Gets all app instances, used for `firebase.apps`\n */\nexport function getApps() {\n if (!initializedNativeApps) {\n initializeNativeApps();\n }\n return Object.values(APP_REGISTRY);\n}\n\n/**\n *\n * @param options\n * @param configOrName\n */\nexport function initializeApp(options = {}, configOrName) {\n let appConfig = configOrName;\n\n if (!isObject(configOrName) || isNull(configOrName)) {\n appConfig = {\n name: configOrName,\n automaticResourceManagement: false,\n automaticDataCollectionEnabled: true,\n };\n }\n\n if (isUndefined(appConfig.name)) {\n appConfig.name = DEFAULT_APP_NAME;\n }\n\n const { name } = appConfig;\n\n if (!name || !isString(name)) {\n return Promise.reject(new Error(`Illegal App name: '${name}'`));\n }\n\n if (APP_REGISTRY[name]) {\n return Promise.reject(new Error(`Firebase App named '${name}' already exists`));\n }\n\n // VALIDATE OPTIONS\n if (!isObject(options)) {\n return Promise.reject(\n new Error(`firebase.initializeApp(options, <- expects an Object but got '${typeof options}'`),\n );\n }\n\n if (!isString(options.apiKey)) {\n return Promise.reject(new Error(\"Missing or invalid FirebaseOptions property 'apiKey'.\"));\n }\n\n if (!isString(options.appId)) {\n return Promise.reject(new Error(\"Missing or invalid FirebaseOptions property 'appId'.\"));\n }\n\n // TODO - make required only if database module exists - init app on native ios&android needs changing also\n if (!isString(options.databaseURL)) {\n return Promise.reject(new Error(\"Missing or invalid FirebaseOptions property 'databaseURL'.\"));\n }\n\n // TODO - make required only if messaging/notifications module exists - init app on native ios&android needs changing also\n if (!isString(options.messagingSenderId)) {\n return Promise.reject(\n new Error(\"Missing or invalid FirebaseOptions property 'messagingSenderId'.\"),\n );\n }\n\n if (!isString(options.projectId)) {\n return Promise.reject(new Error(\"Missing or invalid FirebaseOptions property 'projectId'.\"));\n }\n\n // TODO - make required only if database module exists - init app on native ios&android needs changing also\n if (!isString(options.storageBucket)) {\n return Promise.reject(\n new Error(\"Missing or invalid FirebaseOptions property 'storageBucket'.\"),\n );\n }\n\n const app = new FirebaseApp(options, { name }, false, deleteApp.bind(null, name, true));\n\n // Note these initialization actions with side effects are performed prior to knowledge of\n // successful initialization in the native code. Native code *may* throw an error.\n APP_REGISTRY[name] = app;\n onAppCreateFn(APP_REGISTRY[name]);\n\n return getAppModule()\n .initializeApp(options, { name })\n .then(() => {\n app._initialized = true;\n return app;\n })\n .catch(e => {\n // we need to clean the app entry from registry as the app does not actually exist\n // There are still possible side effects from `onAppCreateFn` to consider but as existing\n // code may rely on that function running prior to native create, re-ordering it is a semantic change\n // and will be avoided\n delete APP_REGISTRY[name];\n\n // Now allow calling code to handle the initialization issue\n throw e;\n });\n}\n\nexport function setLogLevel(logLevel) {\n if (!['error', 'warn', 'info', 'debug', 'verbose'].includes(logLevel)) {\n throw new Error('LogLevel must be one of \"error\", \"warn\", \"info\", \"debug\", \"verbose\"');\n }\n\n if (isIOS) {\n getAppModule().setLogLevel(logLevel);\n }\n}\n\n/**\n *\n */\nexport function deleteApp(name, nativeInitialized) {\n if (name === DEFAULT_APP_NAME && nativeInitialized) {\n return Promise.reject(new Error('Unable to delete the default native firebase app instance.'));\n }\n\n const app = APP_REGISTRY[name];\n\n const nativeModule = getAppModule();\n\n return nativeModule.deleteApp(name).then(() => {\n app._deleted = true;\n onAppDestroyFn(app);\n delete APP_REGISTRY[name];\n });\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/e1bd2deb5c260ed8c67594ca4915bfe5.json b/.expo/web/cache/development/babel-loader/e1bd2deb5c260ed8c67594ca4915bfe5.json new file mode 100644 index 0000000000000000000000000000000000000000..04aa8d14a4d9fd5225b8ece39b7eba0ed88c5d2b --- /dev/null +++ b/.expo/web/cache/development/babel-loader/e1bd2deb5c260ed8c67594ca4915bfe5.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport TextInput from \"react-native-web/dist/exports/TextInput\";\nimport React, { useState, useEffect } from 'react';\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Details(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(route.params.itemDetails.name),\n _useState2 = _slicedToArray(_useState, 2),\n name = _useState2[0],\n onChangeName = _useState2[1];\n\n var _useState3 = useState(route.params.itemDetails.email),\n _useState4 = _slicedToArray(_useState3, 2),\n email = _useState4[0],\n onChangeEmail = _useState4[1];\n\n var _useState5 = useState(route.params.itemDetails.image),\n _useState6 = _slicedToArray(_useState5, 2),\n image = _useState6[0],\n onChangeImage = _useState6[1];\n\n function update() {\n var docRef = firestore().collection('Users').doc('ABC');\n var database = getDatabase();\n set(ref(db, 'users/' + user.uid), {\n highscore: score\n });\n navigation.navigate({\n name: 'UserList',\n merge: true\n });\n }\n\n return _jsxs(View, {\n children: [_jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeName,\n value: name,\n multiline: true\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeEmail,\n value: email,\n multiline: true\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeImage,\n value: image,\n multiline: true\n }), _jsx(Button, {\n title: \"Update\",\n onPress: update\n }), _jsx(Button, {\n title: \"Delete\",\n onPress: update\n })]\n });\n}\nvar styles = StyleSheet.create({\n input: {\n borderBottomColor: '#CFCDCD',\n borderBottomWidth: 1,\n width: 220\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/Details.js"],"names":["React","useState","useEffect","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","Details","navigation","route","params","itemDetails","name","onChangeName","email","onChangeEmail","image","onChangeImage","update","firestore","database","getDatabase","set","ref","db","user","uid","highscore","score","navigate","merge","styles","input","StyleSheet","create","borderBottomColor","borderBottomWidth","width"],"mappings":";;;;;;AACA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;AACA,SAAQC,UAAR,EAAoBC,GAApB,EAAyBC,UAAzB,EAAqCC,aAArC,EAAoDC,MAApD,EAA4DC,SAA5D,EAAuEC,MAAvE,EAA+EC,YAA/E,EAA6FC,MAA7F,EAAqGC,MAArG,QAAkH,oBAAlH;;;AAGA,eAAe,SAASC,OAAT,OAAuC;AAAA,MAApBC,UAAoB,QAApBA,UAAoB;AAAA,MAARC,KAAQ,QAARA,KAAQ;;AAElD,kBAA6Bd,QAAQ,CAACc,KAAK,CAACC,MAAN,CAAaC,WAAb,CAAyBC,IAA1B,CAArC;AAAA;AAAA,MAAOA,IAAP;AAAA,MAAaC,YAAb;;AACA,mBAA+BlB,QAAQ,CAACc,KAAK,CAACC,MAAN,CAAaC,WAAb,CAAyBG,KAA1B,CAAvC;AAAA;AAAA,MAAOA,KAAP;AAAA,MAAcC,aAAd;;AACA,mBAA+BpB,QAAQ,CAACc,KAAK,CAACC,MAAN,CAAaC,WAAb,CAAyBK,KAA1B,CAAvC;AAAA;AAAA,MAAOA,KAAP;AAAA,MAAcC,aAAd;;AAEA,WAASC,MAAT,GAAiB;AAEb,QAAMZ,MAAM,GAAGa,SAAS,GAAGtB,UAAZ,CAAuB,OAAvB,EAAgCC,GAAhC,CAAoC,KAApC,CAAf;AAEA,QAAMsB,QAAQ,GAAGC,WAAW,EAA5B;AACAC,IAAAA,GAAG,CAACC,GAAG,CAACC,EAAD,EAAK,WAAWC,IAAI,CAACC,GAArB,CAAJ,EAA+B;AAClCC,MAAAA,SAAS,EAAEC;AADuB,KAA/B,CAAH;AAKApB,IAAAA,UAAU,CAACqB,QAAX,CAAoB;AAChBjB,MAAAA,IAAI,EAAE,UADU;AAGhBkB,MAAAA,KAAK,EAAE;AAHS,KAApB;AAKH;;AAGD,SACI,MAAC,IAAD;AAAA,eACD,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEC,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAEnB,YAA9C;AAA4D,MAAA,KAAK,EAAED,IAAnE;AAAyE,MAAA,SAAS,EAAI;AAAtF,MADC,EAEA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEmB,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAEjB,aAA9C;AAA6D,MAAA,KAAK,EAAED,KAApE;AAA2E,MAAA,SAAS,EAAI;AAAxF,MAFA,EAGA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEiB,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAEf,aAA9C;AAA6D,MAAA,KAAK,EAAED,KAApE;AAA2E,MAAA,SAAS,EAAI;AAAxF,MAHA,EAKA,KAAC,MAAD;AAAQ,MAAA,KAAK,EAAC,QAAd;AAAuB,MAAA,OAAO,EAAEE;AAAhC,MALA,EAMA,KAAC,MAAD;AAAQ,MAAA,KAAK,EAAC,QAAd;AAAuB,MAAA,OAAO,EAAEA;AAAhC,MANA;AAAA,IADJ;AAUH;AAID,IAAMa,MAAM,GAAGE,UAAU,CAACC,MAAX,CAAkB;AAC7BF,EAAAA,KAAK,EAAC;AAEFG,IAAAA,iBAAiB,EAAC,SAFhB;AAGFC,IAAAA,iBAAiB,EAAC,CAHhB;AAIFC,IAAAA,KAAK,EAAE;AAJL;AADuB,CAAlB,CAAf","sourcesContent":["import { StyleSheet, Text, View, Button, TextInput } from 'react-native';\r\nimport React, { useState, useEffect } from 'react';\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\nexport default function Details({ navigation, route }){\r\n\r\n const [name, onChangeName] = useState(route.params.itemDetails.name);\r\n const [email, onChangeEmail] = useState(route.params.itemDetails.email);\r\n const [image, onChangeImage] = useState(route.params.itemDetails.image);\r\n\r\n function update(){\r\n\r\n const docRef = firestore().collection('Users').doc('ABC')\r\n\r\n const database = getDatabase();\r\n set(ref(db, 'users/' + user.uid), {\r\n highscore: score,\r\n });\r\n\r\n\r\n navigation.navigate({\r\n name: 'UserList',\r\n //params: { post: fach },\r\n merge: true,\r\n });\r\n }\r\n \r\n\r\n return(\r\n <View>\r\n <TextInput style={styles.input} onChangeText={onChangeName} value={name} multiline = {true} />\r\n <TextInput style={styles.input} onChangeText={onChangeEmail} value={email} multiline = {true} />\r\n <TextInput style={styles.input} onChangeText={onChangeImage} value={image} multiline = {true} />\r\n\r\n <Button title='Update' onPress={update}/>\r\n <Button title='Delete' onPress={update}/>\r\n </View>\r\n )\r\n}\r\n\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n input:{\r\n //underlineColorAndroid: '#CFCDCD',\r\n borderBottomColor:'#CFCDCD',\r\n borderBottomWidth:1,\r\n width: 220,\r\n },\r\n });"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/e3cc54e66a8f6ac7d4d825169d4a6536.json b/.expo/web/cache/development/babel-loader/e3cc54e66a8f6ac7d4d825169d4a6536.json new file mode 100644 index 0000000000000000000000000000000000000000..e5f5ab1c3e2ce28f5c14e30e279a1e75f0598a05 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/e3cc54e66a8f6ac7d4d825169d4a6536.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { UnavailabilityError } from \"./errors/UnavailabilityError\";\nexport function requireNativeViewManager(viewName) {\n throw new UnavailabilityError('expo-modules-core', 'requireNativeViewManager');\n}","map":{"version":3,"sources":["../src/NativeViewManagerAdapter.tsx"],"names":[],"mappings":"AAEA,SAAS,mBAAT;AAEA,OAAM,SAAU,wBAAV,CAA4C,QAA5C,EAA4D;AAChE,QAAM,IAAI,mBAAJ,CAAwB,mBAAxB,EAA6C,0BAA7C,CAAN;AACD","sourcesContent":["import React from 'react';\n\nimport { UnavailabilityError } from './errors/UnavailabilityError';\n\nexport function requireNativeViewManager<P = any>(viewName: string): React.ComponentType<P> {\n throw new UnavailabilityError('expo-modules-core', 'requireNativeViewManager');\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/e3d3bdd53ac12d689825ab402f97c284.json b/.expo/web/cache/development/babel-loader/e3d3bdd53ac12d689825ab402f97c284.json new file mode 100644 index 0000000000000000000000000000000000000000..0b32e6f23d6c48ff1d435f6288f51ae9bd0af04d --- /dev/null +++ b/.expo/web/cache/development/babel-loader/e3d3bdd53ac12d689825ab402f97c284.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport Platform from \"react-native-web/dist/exports/Platform\";\nimport Base64 from \"./Base64\";\nimport { isString } from \"./validate\";\nexport * from \"./id\";\nexport * from \"./path\";\nexport * from \"./promise\";\nexport * from \"./validate\";\nexport { default as Base64 } from \"./Base64\";\nexport { default as ReferenceBase } from \"./ReferenceBase\";\nexport function getDataUrlParts(dataUrlString) {\n var isBase64 = dataUrlString.includes(';base64');\n\n var _dataUrlString$split = dataUrlString.split(','),\n _dataUrlString$split2 = _slicedToArray(_dataUrlString$split, 2),\n mediaType = _dataUrlString$split2[0],\n base64String = _dataUrlString$split2[1];\n\n if (!mediaType || !base64String) {\n return {\n base64String: undefined,\n mediaType: undefined\n };\n }\n\n mediaType = mediaType.replace('data:', '').replace(';base64', '');\n\n if (base64String && base64String.includes('%')) {\n base64String = decodeURIComponent(base64String);\n }\n\n if (!isBase64) {\n base64String = Base64.btoa(base64String);\n }\n\n return {\n base64String: base64String,\n mediaType: mediaType\n };\n}\nexport function once(fn, context) {\n var onceResult;\n var ranOnce = false;\n return function onceInner() {\n if (!ranOnce) {\n ranOnce = true;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n onceResult = fn.apply(context || this, args);\n }\n\n return onceResult;\n };\n}\nexport function isError(value) {\n if (Object.prototype.toString.call(value) === '[object Error]') {\n return true;\n }\n\n return value instanceof Error;\n}\nexport function hasOwnProperty(target, property) {\n return Object.hasOwnProperty.call(target, property);\n}\nexport function stripTrailingSlash(string) {\n if (!isString(string)) {\n return string;\n }\n\n return string.endsWith('/') ? string.slice(0, -1) : string;\n}\nexport var isIOS = Platform.OS === 'ios';\nexport var isAndroid = Platform.OS === 'android';\nexport function tryJSONParse(string) {\n try {\n return string && JSON.parse(string);\n } catch (jsonError) {\n return string;\n }\n}\nexport function tryJSONStringify(data) {\n try {\n return JSON.stringify(data);\n } catch (jsonError) {\n return null;\n }\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/app/lib/common/index.js"],"names":["Base64","isString","default","ReferenceBase","getDataUrlParts","dataUrlString","isBase64","includes","split","mediaType","base64String","undefined","replace","decodeURIComponent","btoa","once","fn","context","onceResult","ranOnce","onceInner","args","apply","isError","value","Object","prototype","toString","call","Error","hasOwnProperty","target","property","stripTrailingSlash","string","endsWith","slice","isIOS","Platform","OS","isAndroid","tryJSONParse","JSON","parse","jsonError","tryJSONStringify","data","stringify"],"mappings":";;AAiBA,OAAOA,MAAP;AACA,SAASC,QAAT;AAEA;AACA;AACA;AACA;AAEA,SAASC,OAAO,IAAIF,MAApB;AACA,SAASE,OAAO,IAAIC,aAApB;AAEA,OAAO,SAASC,eAAT,CAAyBC,aAAzB,EAAwC;AAC7C,MAAMC,QAAQ,GAAGD,aAAa,CAACE,QAAd,CAAuB,SAAvB,CAAjB;;AACA,6BAAgCF,aAAa,CAACG,KAAd,CAAoB,GAApB,CAAhC;AAAA;AAAA,MAAKC,SAAL;AAAA,MAAgBC,YAAhB;;AACA,MAAI,CAACD,SAAD,IAAc,CAACC,YAAnB,EAAiC;AAC/B,WAAO;AAAEA,MAAAA,YAAY,EAAEC,SAAhB;AAA2BF,MAAAA,SAAS,EAAEE;AAAtC,KAAP;AACD;;AACDF,EAAAA,SAAS,GAAGA,SAAS,CAACG,OAAV,CAAkB,OAAlB,EAA2B,EAA3B,EAA+BA,OAA/B,CAAuC,SAAvC,EAAkD,EAAlD,CAAZ;;AACA,MAAIF,YAAY,IAAIA,YAAY,CAACH,QAAb,CAAsB,GAAtB,CAApB,EAAgD;AAC9CG,IAAAA,YAAY,GAAGG,kBAAkB,CAACH,YAAD,CAAjC;AACD;;AACD,MAAI,CAACJ,QAAL,EAAe;AACbI,IAAAA,YAAY,GAAGV,MAAM,CAACc,IAAP,CAAYJ,YAAZ,CAAf;AACD;;AACD,SAAO;AAAEA,IAAAA,YAAY,EAAZA,YAAF;AAAgBD,IAAAA,SAAS,EAATA;AAAhB,GAAP;AACD;AAED,OAAO,SAASM,IAAT,CAAcC,EAAd,EAAkBC,OAAlB,EAA2B;AAChC,MAAIC,UAAJ;AACA,MAAIC,OAAO,GAAG,KAAd;AAEA,SAAO,SAASC,SAAT,GAA4B;AACjC,QAAI,CAACD,OAAL,EAAc;AACZA,MAAAA,OAAO,GAAG,IAAV;;AADY,wCADaE,IACb;AADaA,QAAAA,IACb;AAAA;;AAEZH,MAAAA,UAAU,GAAGF,EAAE,CAACM,KAAH,CAASL,OAAO,IAAI,IAApB,EAA0BI,IAA1B,CAAb;AACD;;AAED,WAAOH,UAAP;AACD,GAPD;AAQD;AAED,OAAO,SAASK,OAAT,CAAiBC,KAAjB,EAAwB;AAC7B,MAAIC,MAAM,CAACC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BJ,KAA/B,MAA0C,gBAA9C,EAAgE;AAC9D,WAAO,IAAP;AACD;;AAED,SAAOA,KAAK,YAAYK,KAAxB;AACD;AAED,OAAO,SAASC,cAAT,CAAwBC,MAAxB,EAAgCC,QAAhC,EAA0C;AAC/C,SAAOP,MAAM,CAACK,cAAP,CAAsBF,IAAtB,CAA2BG,MAA3B,EAAmCC,QAAnC,CAAP;AACD;AAQD,OAAO,SAASC,kBAAT,CAA4BC,MAA5B,EAAoC;AACzC,MAAI,CAACjC,QAAQ,CAACiC,MAAD,CAAb,EAAuB;AACrB,WAAOA,MAAP;AACD;;AACD,SAAOA,MAAM,CAACC,QAAP,CAAgB,GAAhB,IAAuBD,MAAM,CAACE,KAAP,CAAa,CAAb,EAAgB,CAAC,CAAjB,CAAvB,GAA6CF,MAApD;AACD;AAED,OAAO,IAAMG,KAAK,GAAGC,QAAQ,CAACC,EAAT,KAAgB,KAA9B;AAEP,OAAO,IAAMC,SAAS,GAAGF,QAAQ,CAACC,EAAT,KAAgB,SAAlC;AAEP,OAAO,SAASE,YAAT,CAAsBP,MAAtB,EAA8B;AACnC,MAAI;AACF,WAAOA,MAAM,IAAIQ,IAAI,CAACC,KAAL,CAAWT,MAAX,CAAjB;AACD,GAFD,CAEE,OAAOU,SAAP,EAAkB;AAClB,WAAOV,MAAP;AACD;AACF;AAED,OAAO,SAASW,gBAAT,CAA0BC,IAA1B,EAAgC;AACrC,MAAI;AACF,WAAOJ,IAAI,CAACK,SAAL,CAAeD,IAAf,CAAP;AACD,GAFD,CAEE,OAAOF,SAAP,EAAkB;AAClB,WAAO,IAAP;AACD;AACF","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\nimport { Platform } from 'react-native';\nimport Base64 from './Base64';\nimport { isString } from './validate';\n\nexport * from './id';\nexport * from './path';\nexport * from './promise';\nexport * from './validate';\n\nexport { default as Base64 } from './Base64';\nexport { default as ReferenceBase } from './ReferenceBase';\n\nexport function getDataUrlParts(dataUrlString) {\n const isBase64 = dataUrlString.includes(';base64');\n let [mediaType, base64String] = dataUrlString.split(',');\n if (!mediaType || !base64String) {\n return { base64String: undefined, mediaType: undefined };\n }\n mediaType = mediaType.replace('data:', '').replace(';base64', '');\n if (base64String && base64String.includes('%')) {\n base64String = decodeURIComponent(base64String);\n }\n if (!isBase64) {\n base64String = Base64.btoa(base64String);\n }\n return { base64String, mediaType };\n}\n\nexport function once(fn, context) {\n let onceResult;\n let ranOnce = false;\n\n return function onceInner(...args) {\n if (!ranOnce) {\n ranOnce = true;\n onceResult = fn.apply(context || this, args);\n }\n\n return onceResult;\n };\n}\n\nexport function isError(value) {\n if (Object.prototype.toString.call(value) === '[object Error]') {\n return true;\n }\n\n return value instanceof Error;\n}\n\nexport function hasOwnProperty(target, property) {\n return Object.hasOwnProperty.call(target, property);\n}\n\n/**\n * Remove a trailing forward slash from a string if it exists\n *\n * @param string\n * @returns {*}\n */\nexport function stripTrailingSlash(string) {\n if (!isString(string)) {\n return string;\n }\n return string.endsWith('/') ? string.slice(0, -1) : string;\n}\n\nexport const isIOS = Platform.OS === 'ios';\n\nexport const isAndroid = Platform.OS === 'android';\n\nexport function tryJSONParse(string) {\n try {\n return string && JSON.parse(string);\n } catch (jsonError) {\n return string;\n }\n}\n\nexport function tryJSONStringify(data) {\n try {\n return JSON.stringify(data);\n } catch (jsonError) {\n return null;\n }\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/e480f3954bd8cdb4999b940d73030818.json b/.expo/web/cache/development/babel-loader/e480f3954bd8cdb4999b940d73030818.json new file mode 100644 index 0000000000000000000000000000000000000000..d6428e7d163c0accd5abcad5543d26f974312106 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/e480f3954bd8cdb4999b940d73030818.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nimport { MONOSPACE_FONT_STACK, SYSTEM_FONT_STACK, STYLE_SHORT_FORM_EXPANSIONS } from \"./constants\";\nimport normalizeValueWithProperty from \"./normalizeValueWithProperty\";\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'));\n\nvar mapTransform = function mapTransform(transform) {\n var type = Object.keys(transform)[0];\n var value = transform[type];\n\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};\n\nvar resolveTransform = function resolveTransform(resolvedStyle, style) {\n var transform = style.transform;\n\n if (Array.isArray(style.transform)) {\n transform = style.transform.map(mapTransform).join(' ');\n }\n\n resolvedStyle.transform = transform;\n};\n\nvar createReactDOMStyle = function createReactDOMStyle(style) {\n if (!style) {\n return emptyObject;\n }\n\n var resolvedStyle = {};\n Object.keys(style).sort().forEach(function (prop) {\n var value = normalizeValueWithProperty(style[prop], prop);\n\n if (value == null) {\n return;\n }\n\n switch (prop) {\n case 'elevation':\n case 'overlayColor':\n case 'resizeMode':\n case 'tintColor':\n {\n break;\n }\n\n case 'aspectRatio':\n {\n resolvedStyle[prop] = value.toString();\n break;\n }\n\n case 'backgroundClip':\n {\n if (value === 'text') {\n resolvedStyle.backgroundClip = value;\n resolvedStyle.WebkitBackgroundClip = value;\n }\n\n break;\n }\n\n case 'flex':\n {\n if (value === -1) {\n resolvedStyle.flexGrow = 0;\n resolvedStyle.flexShrink = 1;\n resolvedStyle.flexBasis = 'auto';\n } else {\n resolvedStyle.flex = value;\n }\n\n break;\n }\n\n case 'font':\n {\n resolvedStyle[prop] = value.replace('System', SYSTEM_FONT_STACK);\n break;\n }\n\n case 'fontFamily':\n {\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\n break;\n }\n\n case 'fontVariant':\n {\n if (Array.isArray(value) && value.length > 0) {\n resolvedStyle.fontVariant = value.join(' ');\n }\n\n break;\n }\n\n case 'textAlignVertical':\n {\n resolvedStyle.verticalAlign = value === 'center' ? 'middle' : value;\n break;\n }\n\n case 'textDecorationLine':\n {\n if (!supportsCSS3TextDecoration) {\n resolvedStyle.textDecoration = value;\n } else {\n resolvedStyle.textDecorationLine = value;\n }\n\n break;\n }\n\n case 'transform':\n case 'transformMatrix':\n {\n resolveTransform(resolvedStyle, style);\n break;\n }\n\n case 'writingDirection':\n {\n resolvedStyle.direction = value;\n break;\n }\n\n default:\n {\n var longFormProperties = STYLE_SHORT_FORM_EXPANSIONS[prop];\n\n if (longFormProperties) {\n longFormProperties.forEach(function (longForm, i) {\n if (typeof style[longForm] === 'undefined') {\n resolvedStyle[longForm] = value;\n }\n });\n } else {\n resolvedStyle[prop] = Array.isArray(value) ? value.join(',') : value;\n }\n }\n }\n });\n return resolvedStyle;\n};\n\nexport default createReactDOMStyle;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/StyleSheet/createReactDOMStyle.js"],"names":["canUseDOM","MONOSPACE_FONT_STACK","SYSTEM_FONT_STACK","STYLE_SHORT_FORM_EXPANSIONS","normalizeValueWithProperty","emptyObject","supportsCSS3TextDecoration","window","CSS","supports","mapTransform","transform","type","Object","keys","value","join","normalizedValue","resolveTransform","resolvedStyle","style","Array","isArray","map","createReactDOMStyle","sort","forEach","prop","toString","backgroundClip","WebkitBackgroundClip","flexGrow","flexShrink","flexBasis","flex","replace","indexOf","stack","split","length","fontVariant","verticalAlign","textDecoration","textDecorationLine","direction","longFormProperties","longForm","i"],"mappings":"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","sourcesContent":["/**\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 'fbjs/lib/ExecutionEnvironment';\nimport { MONOSPACE_FONT_STACK, SYSTEM_FONT_STACK, STYLE_SHORT_FORM_EXPANSIONS } from './constants';\nimport normalizeValueWithProperty from './normalizeValueWithProperty';\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'));\n/**\n * Transform\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)'\n\nvar mapTransform = function mapTransform(transform) {\n var type = Object.keys(transform)[0];\n var value = transform[type];\n\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};\n\nvar resolveTransform = function resolveTransform(resolvedStyle, style) {\n var transform = style.transform;\n\n if (Array.isArray(style.transform)) {\n transform = style.transform.map(mapTransform).join(' ');\n }\n\n resolvedStyle.transform = transform;\n};\n/**\n * Reducer\n */\n\n\nvar createReactDOMStyle = function createReactDOMStyle(style) {\n if (!style) {\n return emptyObject;\n }\n\n var resolvedStyle = {};\n Object.keys(style).sort().forEach(function (prop) {\n var value = normalizeValueWithProperty(style[prop], prop); // Ignore everything else with a null value\n\n if (value == null) {\n return;\n }\n\n switch (prop) {\n // Ignore some React Native styles\n case 'elevation':\n case 'overlayColor':\n case 'resizeMode':\n case 'tintColor':\n {\n break;\n }\n\n case 'aspectRatio':\n {\n resolvedStyle[prop] = value.toString();\n break;\n }\n // TODO: remove once this issue is fixed\n // https://github.com/rofrischmann/inline-style-prefixer/issues/159\n\n case 'backgroundClip':\n {\n if (value === 'text') {\n resolvedStyle.backgroundClip = value;\n resolvedStyle.WebkitBackgroundClip = value;\n }\n\n break;\n }\n // The 'flex' property value in React Native must be a positive integer,\n // 0, or -1.\n\n case 'flex':\n {\n if (value === -1) {\n resolvedStyle.flexGrow = 0;\n resolvedStyle.flexShrink = 1;\n resolvedStyle.flexBasis = 'auto';\n } else {\n resolvedStyle.flex = value;\n }\n\n break;\n }\n\n case 'font':\n {\n resolvedStyle[prop] = value.replace('System', SYSTEM_FONT_STACK);\n break;\n }\n\n case 'fontFamily':\n {\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\n break;\n }\n\n case 'fontVariant':\n {\n if (Array.isArray(value) && value.length > 0) {\n resolvedStyle.fontVariant = value.join(' ');\n }\n\n break;\n }\n\n case 'textAlignVertical':\n {\n resolvedStyle.verticalAlign = value === 'center' ? 'middle' : value;\n break;\n }\n\n case 'textDecorationLine':\n {\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\n break;\n }\n\n case 'transform':\n case 'transformMatrix':\n {\n resolveTransform(resolvedStyle, style);\n break;\n }\n\n case 'writingDirection':\n {\n resolvedStyle.direction = value;\n break;\n }\n\n default:\n {\n var longFormProperties = STYLE_SHORT_FORM_EXPANSIONS[prop];\n\n if (longFormProperties) {\n longFormProperties.forEach(function (longForm, i) {\n // The value of any longform property in the original styles takes\n // precedence over the shortform's value.\n if (typeof style[longForm] === 'undefined') {\n resolvedStyle[longForm] = value;\n }\n });\n } else {\n resolvedStyle[prop] = Array.isArray(value) ? value.join(',') : value;\n }\n }\n }\n });\n return resolvedStyle;\n};\n\nexport default createReactDOMStyle;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/e5adaf2fbd3e8b27ac6e35c48ed8d4fb.json b/.expo/web/cache/development/babel-loader/e5adaf2fbd3e8b27ac6e35c48ed8d4fb.json new file mode 100644 index 0000000000000000000000000000000000000000..0107318483ac3e2d5d08a00c807192032506c3c2 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/e5adaf2fbd3e8b27ac6e35c48ed8d4fb.json @@ -0,0 +1 @@ +{"ast":null,"code":"import isWebColor from \"../isWebColor\";\nimport processColor from \"../../exports/processColor\";\n\nvar normalizeColor = function normalizeColor(color, opacity) {\n if (opacity === void 0) {\n opacity = 1;\n }\n\n if (color == null) return;\n\n if (typeof color === 'string' && isWebColor(color)) {\n return color;\n }\n\n var colorInt = processColor(color);\n\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};\n\nexport default normalizeColor;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/normalizeColor/index.js"],"names":["isWebColor","processColor","normalizeColor","color","opacity","colorInt","r","g","b","a","alpha","toFixed"],"mappings":"AAQA,OAAOA,UAAP;AACA,OAAOC,YAAP;;AAEA,IAAIC,cAAc,GAAG,SAASA,cAAT,CAAwBC,KAAxB,EAA+BC,OAA/B,EAAwC;AAC3D,MAAIA,OAAO,KAAK,KAAK,CAArB,EAAwB;AACtBA,IAAAA,OAAO,GAAG,CAAV;AACD;;AAED,MAAID,KAAK,IAAI,IAAb,EAAmB;;AAEnB,MAAI,OAAOA,KAAP,KAAiB,QAAjB,IAA6BH,UAAU,CAACG,KAAD,CAA3C,EAAoD;AAClD,WAAOA,KAAP;AACD;;AAED,MAAIE,QAAQ,GAAGJ,YAAY,CAACE,KAAD,CAA3B;;AAEA,MAAIE,QAAQ,IAAI,IAAhB,EAAsB;AACpB,QAAIC,CAAC,GAAGD,QAAQ,IAAI,EAAZ,GAAiB,GAAzB;AACA,QAAIE,CAAC,GAAGF,QAAQ,IAAI,CAAZ,GAAgB,GAAxB;AACA,QAAIG,CAAC,GAAGH,QAAQ,GAAG,GAAnB;AACA,QAAII,CAAC,GAAG,CAACJ,QAAQ,IAAI,EAAZ,GAAiB,GAAlB,IAAyB,GAAjC;AACA,QAAIK,KAAK,GAAG,CAACD,CAAC,GAAGL,OAAL,EAAcO,OAAd,CAAsB,CAAtB,CAAZ;AACA,WAAO,UAAUL,CAAV,GAAc,GAAd,GAAoBC,CAApB,GAAwB,GAAxB,GAA8BC,CAA9B,GAAkC,GAAlC,GAAwCE,KAAxC,GAAgD,GAAvD;AACD;AACF,CArBD;;AAuBA,eAAeR,cAAf","sourcesContent":["/**\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 isWebColor from '../isWebColor';\nimport processColor from '../../exports/processColor';\n\nvar normalizeColor = function normalizeColor(color, opacity) {\n if (opacity === void 0) {\n opacity = 1;\n }\n\n if (color == null) return;\n\n if (typeof color === 'string' && isWebColor(color)) {\n return color;\n }\n\n var colorInt = processColor(color);\n\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};\n\nexport default normalizeColor;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/e5c57e97701ef0c739297ba758a977ac.json b/.expo/web/cache/development/babel-loader/e5c57e97701ef0c739297ba758a977ac.json new file mode 100644 index 0000000000000000000000000000000000000000..a076531e9a636866e69c5241895a4e717ae2a32b --- /dev/null +++ b/.expo/web/cache/development/babel-loader/e5c57e97701ef0c739297ba758a977ac.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport AnimatedNode from \"./AnimatedNode\";\nimport AnimatedWithChildren from \"./AnimatedWithChildren\";\nimport NativeAnimatedHelper from \"../NativeAnimatedHelper\";\n\nvar AnimatedTransform = function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedTransform, _AnimatedWithChildren);\n\n function AnimatedTransform(transforms) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n _this._transforms = transforms;\n return _this;\n }\n\n var _proto = AnimatedTransform.prototype;\n\n _proto.__makeNative = function __makeNative() {\n this._transforms.forEach(function (transform) {\n for (var key in transform) {\n var value = transform[key];\n\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n }\n }\n });\n\n _AnimatedWithChildren.prototype.__makeNative.call(this);\n };\n\n _proto.__getValue = function __getValue() {\n return this._transforms.map(function (transform) {\n var result = {};\n\n for (var key in transform) {\n var value = transform[key];\n\n if (value instanceof AnimatedNode) {\n result[key] = value.__getValue();\n } else {\n result[key] = value;\n }\n }\n\n return result;\n });\n };\n\n _proto.__getAnimatedValue = function __getAnimatedValue() {\n return this._transforms.map(function (transform) {\n var result = {};\n\n for (var key in transform) {\n var value = transform[key];\n\n if (value instanceof AnimatedNode) {\n result[key] = value.__getAnimatedValue();\n } else {\n result[key] = value;\n }\n }\n\n return result;\n });\n };\n\n _proto.__attach = function __attach() {\n var _this2 = this;\n\n this._transforms.forEach(function (transform) {\n for (var key in transform) {\n var value = transform[key];\n\n if (value instanceof AnimatedNode) {\n value.__addChild(_this2);\n }\n }\n });\n };\n\n _proto.__detach = function __detach() {\n var _this3 = this;\n\n this._transforms.forEach(function (transform) {\n for (var key in transform) {\n var value = transform[key];\n\n if (value instanceof AnimatedNode) {\n value.__removeChild(_this3);\n }\n }\n });\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n var transConfigs = [];\n\n this._transforms.forEach(function (transform) {\n for (var key in transform) {\n var value = transform[key];\n\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\n NativeAnimatedHelper.validateTransform(transConfigs);\n return {\n type: 'transform',\n transforms: transConfigs\n };\n };\n\n return AnimatedTransform;\n}(AnimatedWithChildren);\n\nexport default AnimatedTransform;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedTransform.js"],"names":["_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","AnimatedNode","AnimatedWithChildren","NativeAnimatedHelper","AnimatedTransform","_AnimatedWithChildren","transforms","_this","call","_transforms","_proto","__makeNative","forEach","transform","key","value","__getValue","map","result","__getAnimatedValue","__attach","_this2","__addChild","__detach","_this3","__removeChild","__getNativeConfig","transConfigs","push","type","property","nodeTag","__getNativeTag","transformDataType","validateTransform"],"mappings":"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","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\n\nvar AnimatedTransform = /*#__PURE__*/function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedTransform, _AnimatedWithChildren);\n\n function AnimatedTransform(transforms) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n _this._transforms = transforms;\n return _this;\n }\n\n var _proto = AnimatedTransform.prototype;\n\n _proto.__makeNative = function __makeNative() {\n this._transforms.forEach(function (transform) {\n for (var key in transform) {\n var value = transform[key];\n\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n }\n }\n });\n\n _AnimatedWithChildren.prototype.__makeNative.call(this);\n };\n\n _proto.__getValue = function __getValue() {\n return this._transforms.map(function (transform) {\n var result = {};\n\n for (var key in transform) {\n var value = transform[key];\n\n if (value instanceof AnimatedNode) {\n result[key] = value.__getValue();\n } else {\n result[key] = value;\n }\n }\n\n return result;\n });\n };\n\n _proto.__getAnimatedValue = function __getAnimatedValue() {\n return this._transforms.map(function (transform) {\n var result = {};\n\n for (var key in transform) {\n var value = transform[key];\n\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\n return result;\n });\n };\n\n _proto.__attach = function __attach() {\n var _this2 = this;\n\n this._transforms.forEach(function (transform) {\n for (var key in transform) {\n var value = transform[key];\n\n if (value instanceof AnimatedNode) {\n value.__addChild(_this2);\n }\n }\n });\n };\n\n _proto.__detach = function __detach() {\n var _this3 = this;\n\n this._transforms.forEach(function (transform) {\n for (var key in transform) {\n var value = transform[key];\n\n if (value instanceof AnimatedNode) {\n value.__removeChild(_this3);\n }\n }\n });\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n var transConfigs = [];\n\n this._transforms.forEach(function (transform) {\n for (var key in transform) {\n var value = transform[key];\n\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\n NativeAnimatedHelper.validateTransform(transConfigs);\n return {\n type: 'transform',\n transforms: transConfigs\n };\n };\n\n return AnimatedTransform;\n}(AnimatedWithChildren);\n\nexport default AnimatedTransform;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/e6242507652f7d2499fbc30598d98970.json b/.expo/web/cache/development/babel-loader/e6242507652f7d2499fbc30598d98970.json new file mode 100644 index 0000000000000000000000000000000000000000..f0222de1b6ddfdfc8a85c4d84c1a8f3d49ab259d --- /dev/null +++ b/.expo/web/cache/development/babel-loader/e6242507652f7d2499fbc30598d98970.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n listenOnChange();\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n }\n });\n });\n }\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Text, {\n children: item.image\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: 'https://reactnative.dev/img/tiny_logo.png'\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" bla\"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: 'https://reactnative.dev/img/tiny_logo.png'\n }\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","firebase","DATA","UserLists","navigation","route","users","setUsers","listenOnChange","snapchot","docChanges","forEach","change","type","message","data","itemData","name","Name","email","Email","image","Image","push","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","selectedId","setSelectedId","renderItem","id","color","OpenEditVorlesungsliste","navigate","EmptyListMessage","Alert","alert","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState(null);\r\n\r\nlistenOnChange();\r\n\r\n/*useEffect(()=>{\r\n \r\nconst colRef = collection(db,\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n const {email, image, name} = doc.data();\r\n const itemData = {name: name, email: email, image: image}\r\n DATA.push(itemData);\r\n Alert.alert(name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])*/\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n //Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n <Text>\r\n {item.image} \r\n </Text>\r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: 'https://reactnative.dev/img/tiny_logo.png',\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> bla</Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <Image\r\n style={styles.tinyLogo}\r\n source={{\r\n uri: 'https://reactnative.dev/img/tiny_logo.png',\r\n }}\r\n />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/e6df9884133b6c14cb9c466d8a385453.json b/.expo/web/cache/development/babel-loader/e6df9884133b6c14cb9c466d8a385453.json new file mode 100644 index 0000000000000000000000000000000000000000..79fc26a08f16c40b3c0f07b75d51f5fe16af9af4 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/e6df9884133b6c14cb9c466d8a385453.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"style\"];\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nimport { useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport View from \"react-native-web/dist/exports/View\";\nexport default function Background(_ref) {\n var style = _ref.style,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n var _useTheme = useTheme(),\n colors = _useTheme.colors;\n\n return React.createElement(View, _extends({}, rest, {\n style: [{\n flex: 1,\n backgroundColor: colors.background\n }, style]\n }));\n}","map":{"version":3,"sources":["Background.tsx"],"names":["rest","colors","useTheme","flex","backgroundColor","background"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,SAAA,QAAA,QAAA,0BAAA;AACA,OAAO,KAAP,KAAA,MAAA,OAAA;;AAOA,eAAe,SAAA,UAAA,CAAA,IAAA,EAA+C;AAA3B,MAAA,KAAA,GAA2B,IAA3B,CAAA,KAAA;AAAA,MAAYA,IAAZ,4BAA2B,IAA3B;;AACjC,kBAAmBE,QAAnB,EAAA;AAAA,MAAQD,MAAR,aAAQA,MAAR;;AAEA,SACE,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,QAAA,CAAA,EAAA,EAAA,IAAA,EAAA;AAEE,IAAA,KAAK,EAAE,CAAC;AAAEE,MAAAA,IAAI,EAAN,CAAA;AAAWC,MAAAA,eAAe,EAAEH,MAAM,CAACI;AAAnC,KAAD,EAAA,KAAA;AAFT,GAAA,CAAA,CADF;AAMD","sourcesContent":["import { useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport { View, ViewProps } from 'react-native';\n\ntype Props = ViewProps & {\n children: React.ReactNode;\n};\n\nexport default function Background({ style, ...rest }: Props) {\n const { colors } = useTheme();\n\n return (\n <View\n {...rest}\n style={[{ flex: 1, backgroundColor: colors.background }, style]}\n />\n );\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/e7b5605380f52801f5a1e485de6df1cd.json b/.expo/web/cache/development/babel-loader/e7b5605380f52801f5a1e485de6df1cd.json new file mode 100644 index 0000000000000000000000000000000000000000..70f59ee3592f92efa8a5af1eeccd90989a354d91 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/e7b5605380f52801f5a1e485de6df1cd.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users.toString);\n setUsers(users);\n });\n }, []);\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {\n children: item.Name\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\",\n onPress: writeData\n }), _jsx(Button, {\n title: \"UpdateUser\",\n onPress: getUserById\n }), _jsx(FlatList, {\n data: users,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","params","post","Item","item","onPress","backgroundColor","textColor","styles","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","writeData","getUserById","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users.toString);\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\n/*function writeData(){\r\n \r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})\r\n}*/\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async () => {\r\n const id = 'q5EOqKxKEsAO6lLmhbnc';\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUsers({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n Alert.alert(users[0])\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.Name}\r\n \r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser' onPress={writeData}/>\r\n <Button title='UpdateUser' onPress={getUserById}/>\r\n <FlatList\r\n data={users}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/e7b8cb7e7be1e41462a8ecaefbf95600.json b/.expo/web/cache/development/babel-loader/e7b8cb7e7be1e41462a8ecaefbf95600.json new file mode 100644 index 0000000000000000000000000000000000000000..7f5f272d6a6a65c781a282e5e8780da3bfc95719 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/e7b8cb7e7be1e41462a8ecaefbf95600.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nimport NavigationContext from \"./NavigationContext\";\nexport default function useFocusEvents(_ref) {\n var state = _ref.state,\n emitter = _ref.emitter;\n var navigation = React.useContext(NavigationContext);\n var lastFocusedKeyRef = React.useRef();\n var currentFocusedKey = state.routes[state.index].key;\n React.useEffect(function () {\n return navigation === null || navigation === void 0 ? void 0 : navigation.addListener('focus', function () {\n lastFocusedKeyRef.current = currentFocusedKey;\n emitter.emit({\n type: 'focus',\n target: currentFocusedKey\n });\n });\n }, [currentFocusedKey, emitter, navigation]);\n React.useEffect(function () {\n return navigation === null || navigation === void 0 ? void 0 : navigation.addListener('blur', function () {\n lastFocusedKeyRef.current = undefined;\n emitter.emit({\n type: 'blur',\n target: currentFocusedKey\n });\n });\n }, [currentFocusedKey, emitter, navigation]);\n React.useEffect(function () {\n var lastFocusedKey = lastFocusedKeyRef.current;\n lastFocusedKeyRef.current = currentFocusedKey;\n\n if (lastFocusedKey === undefined && !navigation) {\n emitter.emit({\n type: 'focus',\n target: currentFocusedKey\n });\n }\n\n if (lastFocusedKey === currentFocusedKey || !(navigation ? navigation.isFocused() : true)) {\n return;\n }\n\n if (lastFocusedKey === undefined) {\n return;\n }\n\n emitter.emit({\n type: 'blur',\n target: lastFocusedKey\n });\n emitter.emit({\n type: 'focus',\n target: currentFocusedKey\n });\n }, [currentFocusedKey, emitter, navigation]);\n}","map":{"version":3,"sources":["useFocusEvents.tsx"],"names":["emitter","navigation","React","lastFocusedKeyRef","currentFocusedKey","state","type","target","lastFocusedKey"],"mappings":"AACA,OAAO,KAAP,KAAA,MAAA,OAAA;AAEA,OAAA,iBAAA;AAYA,eAAe,SAAA,cAAA,CAAA,IAAA,EAGI;AAHmD,MAAA,KAAA,GAGnD,IAHmD,CAAA,KAAA;AAAA,MAEpEA,OAFoE,GAGnD,IAHmD,CAEpEA,OAFoE;AAIpE,MAAMC,UAAU,GAAGC,KAAK,CAALA,UAAAA,CAAnB,iBAAmBA,CAAnB;AACA,MAAMC,iBAAiB,GAAGD,KAAK,CAA/B,MAA0BA,EAA1B;AAEA,MAAME,iBAAiB,GAAGC,KAAK,CAALA,MAAAA,CAAaA,KAAK,CAAlBA,KAAAA,EAJT,GAIjB;AAIAH,EAAAA,KAAK,CAALA,SAAAA,CACE;AAAA,WACE,UADF,KAAA,IACE,IAAA,UADF,KAAA,KAAA,CACE,GADF,KAAA,CACE,GAAA,UAAU,CAAV,WAAA,CAAA,OAAA,EAAiC,YAAM;AACrCC,MAAAA,iBAAiB,CAAjBA,OAAAA,GAAAA,iBAAAA;AACAH,MAAAA,OAAO,CAAPA,IAAAA,CAAa;AAAEM,QAAAA,IAAI,EAAN,OAAA;AAAiBC,QAAAA,MAAM,EAAEH;AAAzB,OAAbJ;AAJNE,KAEI,CADF;AAAA,GADFA,EAME,CAAA,iBAAA,EAAA,OAAA,EANFA,UAME,CANFA;AASAA,EAAAA,KAAK,CAALA,SAAAA,CACE;AAAA,WACE,UADF,KAAA,IACE,IAAA,UADF,KAAA,KAAA,CACE,GADF,KAAA,CACE,GAAA,UAAU,CAAV,WAAA,CAAA,MAAA,EAAgC,YAAM;AACpCC,MAAAA,iBAAiB,CAAjBA,OAAAA,GAAAA,SAAAA;AACAH,MAAAA,OAAO,CAAPA,IAAAA,CAAa;AAAEM,QAAAA,IAAI,EAAN,MAAA;AAAgBC,QAAAA,MAAM,EAAEH;AAAxB,OAAbJ;AAJNE,KAEI,CADF;AAAA,GADFA,EAME,CAAA,iBAAA,EAAA,OAAA,EANFA,UAME,CANFA;AASAA,EAAAA,KAAK,CAALA,SAAAA,CAAgB,YAAM;AACpB,QAAMM,cAAc,GAAGL,iBAAiB,CAAxC,OAAA;AAEAA,IAAAA,iBAAiB,CAAjBA,OAAAA,GAHoB,iBAGpBA;;AAIA,QAAIK,cAAc,KAAdA,SAAAA,IAAgC,CAApC,UAAA,EAAiD;AAC/CR,MAAAA,OAAO,CAAPA,IAAAA,CAAa;AAAEM,QAAAA,IAAI,EAAN,OAAA;AAAiBC,QAAAA,MAAM,EAAEH;AAAzB,OAAbJ;AARkB;;AAapB,QACEQ,cAAc,KAAdA,iBAAAA,IACA,EAAEP,UAAU,GAAGA,UAAU,CAAb,SAAGA,EAAH,GAFd,IAEE,CAFF,EAGE;AACA;AACD;;AAED,QAAIO,cAAc,KAAlB,SAAA,EAAkC;AAEhC;AACD;;AAEDR,IAAAA,OAAO,CAAPA,IAAAA,CAAa;AAAEM,MAAAA,IAAI,EAAN,MAAA;AAAgBC,MAAAA,MAAM,EAAEC;AAAxB,KAAbR;AACAA,IAAAA,OAAO,CAAPA,IAAAA,CAAa;AAAEM,MAAAA,IAAI,EAAN,OAAA;AAAiBC,MAAAA,MAAM,EAAEH;AAAzB,KAAbJ;AA1BFE,GAAAA,EA2BG,CAAA,iBAAA,EAAA,OAAA,EA3BHA,UA2BG,CA3BHA;AA4BD","sourcesContent":["import type { NavigationState } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationContext from './NavigationContext';\nimport type { EventMapCore } from './types';\nimport type { NavigationEventEmitter } from './useEventEmitter';\n\ntype Options<State extends NavigationState> = {\n state: State;\n emitter: NavigationEventEmitter<EventMapCore<State>>;\n};\n\n/**\n * Hook to take care of emitting `focus` and `blur` events.\n */\nexport default function useFocusEvents<State extends NavigationState>({\n state,\n emitter,\n}: Options<State>) {\n const navigation = React.useContext(NavigationContext);\n const lastFocusedKeyRef = React.useRef<string | undefined>();\n\n const currentFocusedKey = state.routes[state.index].key;\n\n // When the parent screen changes its focus state, we also need to change child's focus\n // Coz the child screen can't be focused if the parent screen is out of focus\n React.useEffect(\n () =>\n navigation?.addListener('focus', () => {\n lastFocusedKeyRef.current = currentFocusedKey;\n emitter.emit({ type: 'focus', target: currentFocusedKey });\n }),\n [currentFocusedKey, emitter, navigation]\n );\n\n React.useEffect(\n () =>\n navigation?.addListener('blur', () => {\n lastFocusedKeyRef.current = undefined;\n emitter.emit({ type: 'blur', target: currentFocusedKey });\n }),\n [currentFocusedKey, emitter, navigation]\n );\n\n React.useEffect(() => {\n const lastFocusedKey = lastFocusedKeyRef.current;\n\n lastFocusedKeyRef.current = currentFocusedKey;\n\n // We wouldn't have `lastFocusedKey` on initial mount\n // Fire focus event for the current route on mount if there's no parent navigator\n if (lastFocusedKey === undefined && !navigation) {\n emitter.emit({ type: 'focus', target: currentFocusedKey });\n }\n\n // We should only emit events when the focused key changed and navigator is focused\n // When navigator is not focused, screens inside shouldn't receive focused status either\n if (\n lastFocusedKey === currentFocusedKey ||\n !(navigation ? navigation.isFocused() : true)\n ) {\n return;\n }\n\n if (lastFocusedKey === undefined) {\n // Only fire events after initial mount\n return;\n }\n\n emitter.emit({ type: 'blur', target: lastFocusedKey });\n emitter.emit({ type: 'focus', target: currentFocusedKey });\n }, [currentFocusedKey, emitter, navigation]);\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/e8a44b8ac786336dd05ad96431d4fb19.json b/.expo/web/cache/development/babel-loader/e8a44b8ac786336dd05ad96431d4fb19.json new file mode 100644 index 0000000000000000000000000000000000000000..0725a162bc806fb8bc5be7db2662bda12687aa94 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/e8a44b8ac786336dd05ad96431d4fb19.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { isFunction } from \"./validate\";\nexport function promiseDefer() {\n var deferred = {\n resolve: null,\n reject: null\n };\n deferred.promise = new Promise(function (resolve, reject) {\n deferred.resolve = resolve;\n deferred.reject = reject;\n });\n return deferred;\n}\nexport function promiseWithOptionalCallback(promise, callback) {\n if (!isFunction(callback)) {\n return promise;\n }\n\n return promise.then(function (result) {\n if (callback && callback.length === 1) {\n callback(null);\n } else if (callback) {\n callback(null, result);\n }\n\n return result;\n }).catch(function (error) {\n if (callback) {\n callback(error);\n }\n\n return Promise.reject(error);\n });\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/app/lib/common/promise.js"],"names":["isFunction","promiseDefer","deferred","resolve","reject","promise","Promise","promiseWithOptionalCallback","callback","then","result","length","catch","error"],"mappings":"AAiBA,SAASA,UAAT;AAKA,OAAO,SAASC,YAAT,GAAwB;AAC7B,MAAMC,QAAQ,GAAG;AACfC,IAAAA,OAAO,EAAE,IADM;AAEfC,IAAAA,MAAM,EAAE;AAFO,GAAjB;AAKAF,EAAAA,QAAQ,CAACG,OAAT,GAAmB,IAAIC,OAAJ,CAAY,UAACH,OAAD,EAAUC,MAAV,EAAqB;AAClDF,IAAAA,QAAQ,CAACC,OAAT,GAAmBA,OAAnB;AACAD,IAAAA,QAAQ,CAACE,MAAT,GAAkBA,MAAlB;AACD,GAHkB,CAAnB;AAKA,SAAOF,QAAP;AACD;AAMD,OAAO,SAASK,2BAAT,CAAqCF,OAArC,EAA8CG,QAA9C,EAAwD;AAC7D,MAAI,CAACR,UAAU,CAACQ,QAAD,CAAf,EAA2B;AACzB,WAAOH,OAAP;AACD;;AAED,SAAOA,OAAO,CACXI,IADI,CACC,UAAAC,MAAM,EAAI;AACd,QAAIF,QAAQ,IAAIA,QAAQ,CAACG,MAAT,KAAoB,CAApC,EAAuC;AACrCH,MAAAA,QAAQ,CAAC,IAAD,CAAR;AACD,KAFD,MAEO,IAAIA,QAAJ,EAAc;AACnBA,MAAAA,QAAQ,CAAC,IAAD,EAAOE,MAAP,CAAR;AACD;;AAED,WAAOA,MAAP;AACD,GATI,EAUJE,KAVI,CAUE,UAAAC,KAAK,EAAI;AACd,QAAIL,QAAJ,EAAc;AACZA,MAAAA,QAAQ,CAACK,KAAD,CAAR;AACD;;AACD,WAAOP,OAAO,CAACF,MAAR,CAAeS,KAAf,CAAP;AACD,GAfI,CAAP;AAgBD","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { isFunction } from './validate';\n\n/**\n *\n */\nexport function promiseDefer() {\n const deferred = {\n resolve: null,\n reject: null,\n };\n\n deferred.promise = new Promise((resolve, reject) => {\n deferred.resolve = resolve;\n deferred.reject = reject;\n });\n\n return deferred;\n}\n\n/**\n * @param promise\n * @param callback\n */\nexport function promiseWithOptionalCallback(promise, callback) {\n if (!isFunction(callback)) {\n return promise;\n }\n\n return promise\n .then(result => {\n if (callback && callback.length === 1) {\n callback(null);\n } else if (callback) {\n callback(null, result);\n }\n\n return result;\n })\n .catch(error => {\n if (callback) {\n callback(error);\n }\n return Promise.reject(error);\n });\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/e93c9788df872fbbaff2616550163e95.json b/.expo/web/cache/development/babel-loader/e93c9788df872fbbaff2616550163e95.json new file mode 100644 index 0000000000000000000000000000000000000000..3fd288d03beb27efe522d0d92a4c437381d35877 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/e93c9788df872fbbaff2616550163e95.json @@ -0,0 +1 @@ +{"ast":null,"code":"function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nimport createReactDOMStyle from \"./createReactDOMStyle\";\nimport hash from \"../../vendor/hash\";\nimport hyphenateStyleName from 'hyphenate-style-name';\nimport normalizeValueWithProperty from \"./normalizeValueWithProperty\";\nimport prefixStyles, { prefixInlineStyles } from \"../../modules/prefixStyles\";\nvar cache = {\n get: function get(property, value) {\n if (cache[property] != null && cache[property].hasOwnProperty(value) && cache[property][value] != null) {\n return cache[property][value];\n }\n },\n set: function set(property, value, object) {\n if (cache[property] == null) {\n cache[property] = {};\n }\n\n return cache[property][value] = object;\n }\n};\nexport function atomic(style) {\n return Object.keys(style).sort().reduce(function (acc, property) {\n var value = style[property];\n\n if (value != null) {\n var valueString = stringifyValueWithProperty(value, property);\n var cachedResult = cache.get(property, valueString);\n\n if (cachedResult != null) {\n var identifier = cachedResult.identifier;\n acc[identifier] = cachedResult;\n } else {\n var _identifier = createIdentifier('r', property, value);\n\n var rules = createAtomicRules(_identifier, property, value);\n\n var _cachedResult = cache.set(property, valueString, {\n property: property,\n value: stringifyValueWithProperty(value, property),\n identifier: _identifier,\n rules: rules\n });\n\n acc[_identifier] = _cachedResult;\n }\n }\n\n return acc;\n }, {});\n}\nexport function classic(style, name) {\n var _ref;\n\n var identifier = createIdentifier('css', name, style);\n\n var animationKeyframes = style.animationKeyframes,\n rest = _objectWithoutPropertiesLoose(style, [\"animationKeyframes\"]);\n\n var rules = [];\n var selector = \".\" + identifier;\n var animationName;\n\n if (animationKeyframes != null) {\n var _processKeyframesValu = processKeyframesValue(animationKeyframes),\n animationNames = _processKeyframesValu.animationNames,\n keyframesRules = _processKeyframesValu.rules;\n\n animationName = animationNames.join(',');\n rules.push.apply(rules, keyframesRules);\n }\n\n var block = createDeclarationBlock(_objectSpread(_objectSpread({}, rest), {}, {\n animationName: animationName\n }));\n rules.push(\"\" + selector + block);\n return _ref = {}, _ref[identifier] = {\n identifier: identifier,\n rules: rules\n }, _ref;\n}\nexport function inline(style) {\n return prefixInlineStyles(createReactDOMStyle(style));\n}\nexport function stringifyValueWithProperty(value, property) {\n var normalizedValue = normalizeValueWithProperty(value, property);\n return typeof normalizedValue !== 'string' ? JSON.stringify(normalizedValue || '') : normalizedValue;\n}\n\nfunction createAtomicRules(identifier, property, value) {\n var rules = [];\n var selector = \".\" + identifier;\n\n switch (property) {\n case 'animationKeyframes':\n {\n var _processKeyframesValu2 = processKeyframesValue(value),\n animationNames = _processKeyframesValu2.animationNames,\n keyframesRules = _processKeyframesValu2.rules;\n\n var block = createDeclarationBlock({\n animationName: animationNames.join(',')\n });\n rules.push.apply(rules, [\"\" + selector + block].concat(keyframesRules));\n break;\n }\n\n case 'placeholderTextColor':\n {\n var _block = createDeclarationBlock({\n color: value,\n opacity: 1\n });\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 case 'pointerEvents':\n {\n var finalValue = value;\n\n if (value === 'auto' || value === 'box-only') {\n finalValue = 'auto!important';\n\n if (value === 'box-only') {\n var _block3 = createDeclarationBlock({\n pointerEvents: 'none'\n });\n\n rules.push(selector + \">*\" + _block3);\n }\n } else if (value === 'none' || value === 'box-none') {\n finalValue = 'none!important';\n\n if (value === 'box-none') {\n var _block4 = createDeclarationBlock({\n pointerEvents: 'auto'\n });\n\n rules.push(selector + \">*\" + _block4);\n }\n }\n\n var _block2 = createDeclarationBlock({\n pointerEvents: finalValue\n });\n\n rules.push(\"\" + selector + _block2);\n break;\n }\n\n case 'scrollbarWidth':\n {\n if (value === 'none') {\n rules.push(selector + \"::-webkit-scrollbar{display:none}\");\n }\n\n var _block5 = createDeclarationBlock({\n scrollbarWidth: value\n });\n\n rules.push(\"\" + selector + _block5);\n break;\n }\n\n default:\n {\n var _createDeclarationBlo;\n\n var _block6 = createDeclarationBlock((_createDeclarationBlo = {}, _createDeclarationBlo[property] = value, _createDeclarationBlo));\n\n rules.push(\"\" + selector + _block6);\n break;\n }\n }\n\n return rules;\n}\n\nfunction createDeclarationBlock(style) {\n var domStyle = prefixStyles(createReactDOMStyle(style));\n var declarationsString = Object.keys(domStyle).map(function (property) {\n var value = domStyle[property];\n var prop = hyphenateStyleName(property);\n\n if (Array.isArray(value)) {\n return value.map(function (v) {\n return prop + \":\" + v;\n }).join(';');\n } else {\n return prop + \":\" + value;\n }\n }).sort().join(';');\n return \"{\" + declarationsString + \";}\";\n}\n\nfunction createIdentifier(prefix, name, value) {\n var hashedString = hash(name + stringifyValueWithProperty(value, name));\n return process.env.NODE_ENV !== 'production' ? prefix + \"-\" + name + \"-\" + hashedString : prefix + \"-\" + hashedString;\n}\n\nfunction createKeyframes(keyframes) {\n var prefixes = ['-webkit-', ''];\n var identifier = createIdentifier('r', 'animation', keyframes);\n var steps = '{' + Object.keys(keyframes).map(function (stepName) {\n var rule = keyframes[stepName];\n var block = createDeclarationBlock(rule);\n return \"\" + stepName + block;\n }).join('') + '}';\n var rules = prefixes.map(function (prefix) {\n return \"@\" + prefix + \"keyframes \" + identifier + steps;\n });\n return {\n identifier: identifier,\n rules: rules\n };\n}\n\nfunction processKeyframesValue(keyframesValue) {\n if (typeof keyframesValue === 'number') {\n throw new Error(\"Invalid CSS keyframes type: \" + typeof keyframesValue);\n }\n\n var animationNames = [];\n var rules = [];\n var value = Array.isArray(keyframesValue) ? keyframesValue : [keyframesValue];\n value.forEach(function (keyframes) {\n if (typeof keyframes === 'string') {\n animationNames.push(keyframes);\n } else {\n var _createKeyframes = createKeyframes(keyframes),\n identifier = _createKeyframes.identifier,\n keyframesRules = _createKeyframes.rules;\n\n animationNames.push(identifier);\n rules.push.apply(rules, keyframesRules);\n }\n });\n return {\n animationNames: animationNames,\n rules: rules\n };\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/StyleSheet/compile.js"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","_objectWithoutPropertiesLoose","excluded","sourceKeys","indexOf","createReactDOMStyle","hash","hyphenateStyleName","normalizeValueWithProperty","prefixStyles","prefixInlineStyles","cache","get","property","hasOwnProperty","set","atomic","style","sort","reduce","acc","valueString","stringifyValueWithProperty","cachedResult","identifier","_identifier","createIdentifier","rules","createAtomicRules","_cachedResult","classic","name","_ref","animationKeyframes","rest","selector","animationName","_processKeyframesValu","processKeyframesValue","animationNames","keyframesRules","join","block","createDeclarationBlock","inline","normalizedValue","JSON","stringify","_processKeyframesValu2","concat","_block","color","opacity","finalValue","_block3","pointerEvents","_block4","_block2","_block5","scrollbarWidth","_createDeclarationBlo","_block6","domStyle","declarationsString","map","prop","Array","isArray","v","prefix","hashedString","process","env","NODE_ENV","createKeyframes","keyframes","prefixes","steps","stepName","rule","keyframesValue","Error","_createKeyframes"],"mappings":"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","sourcesContent":["function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\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 */\nimport createReactDOMStyle from './createReactDOMStyle';\nimport hash from '../../vendor/hash';\nimport hyphenateStyleName from 'hyphenate-style-name';\nimport normalizeValueWithProperty from './normalizeValueWithProperty';\nimport prefixStyles, { prefixInlineStyles } from '../../modules/prefixStyles';\nvar cache = {\n get: function get(property, value) {\n if (cache[property] != null && cache[property].hasOwnProperty(value) && cache[property][value] != null) {\n return cache[property][value];\n }\n },\n set: function set(property, value, object) {\n if (cache[property] == null) {\n cache[property] = {};\n }\n\n return cache[property][value] = object;\n }\n};\n/**\n * Compile style to atomic CSS rules.\n */\n\nexport function atomic(style) {\n return Object.keys(style).sort().reduce(function (acc, property) {\n var value = style[property];\n\n if (value != null) {\n var valueString = stringifyValueWithProperty(value, property);\n var cachedResult = cache.get(property, valueString);\n\n if (cachedResult != null) {\n var identifier = cachedResult.identifier;\n acc[identifier] = cachedResult;\n } else {\n var _identifier = createIdentifier('r', property, value);\n\n var rules = createAtomicRules(_identifier, property, value);\n\n var _cachedResult = cache.set(property, valueString, {\n property: property,\n value: stringifyValueWithProperty(value, property),\n identifier: _identifier,\n rules: rules\n });\n\n acc[_identifier] = _cachedResult;\n }\n }\n\n return acc;\n }, {});\n}\n/**\n * Compile simple style object to classic CSS rules.\n * No support for 'placeholderTextColor', 'scrollbarWidth', or 'pointerEvents'.\n */\n\nexport function classic(style, name) {\n var _ref;\n\n var identifier = createIdentifier('css', name, style);\n\n var animationKeyframes = style.animationKeyframes,\n rest = _objectWithoutPropertiesLoose(style, [\"animationKeyframes\"]);\n\n var rules = [];\n var selector = \".\" + identifier;\n var animationName;\n\n if (animationKeyframes != null) {\n var _processKeyframesValu = processKeyframesValue(animationKeyframes),\n animationNames = _processKeyframesValu.animationNames,\n keyframesRules = _processKeyframesValu.rules;\n\n animationName = animationNames.join(',');\n rules.push.apply(rules, keyframesRules);\n }\n\n var block = createDeclarationBlock(_objectSpread(_objectSpread({}, rest), {}, {\n animationName: animationName\n }));\n rules.push(\"\" + selector + block);\n return _ref = {}, _ref[identifier] = {\n identifier: identifier,\n rules: rules\n }, _ref;\n}\n/**\n * Compile simple style object to inline DOM styles.\n * No support for 'animationKeyframes', 'placeholderTextColor', 'scrollbarWidth', or 'pointerEvents'.\n */\n\nexport function inline(style) {\n return prefixInlineStyles(createReactDOMStyle(style));\n}\n/**\n * Create a value string that normalizes different input values with a common\n * output.\n */\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 * Create the Atomic CSS rules needed for a given StyleSheet rule.\n * Translates StyleSheet declarations to CSS.\n */\n\nfunction createAtomicRules(identifier, property, value) {\n var rules = [];\n var selector = \".\" + identifier; // Handle non-standard properties and object values that require multiple\n // CSS rules to be created.\n\n switch (property) {\n case 'animationKeyframes':\n {\n var _processKeyframesValu2 = processKeyframesValue(value),\n animationNames = _processKeyframesValu2.animationNames,\n keyframesRules = _processKeyframesValu2.rules;\n\n var block = createDeclarationBlock({\n animationName: animationNames.join(',')\n });\n rules.push.apply(rules, [\"\" + selector + block].concat(keyframesRules));\n break;\n }\n // Equivalent to using '::placeholder'\n\n case 'placeholderTextColor':\n {\n var _block = createDeclarationBlock({\n color: value,\n opacity: 1\n });\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 // Polyfill for additional 'pointer-events' values\n // See d13f78622b233a0afc0c7a200c0a0792c8ca9e58\n\n case 'pointerEvents':\n {\n var finalValue = value;\n\n if (value === 'auto' || value === 'box-only') {\n finalValue = 'auto!important';\n\n if (value === 'box-only') {\n var _block3 = createDeclarationBlock({\n pointerEvents: 'none'\n });\n\n rules.push(selector + \">*\" + _block3);\n }\n } else if (value === 'none' || value === 'box-none') {\n finalValue = 'none!important';\n\n if (value === 'box-none') {\n var _block4 = createDeclarationBlock({\n pointerEvents: 'auto'\n });\n\n rules.push(selector + \">*\" + _block4);\n }\n }\n\n var _block2 = createDeclarationBlock({\n pointerEvents: finalValue\n });\n\n rules.push(\"\" + selector + _block2);\n break;\n }\n // Polyfill for draft spec\n // https://drafts.csswg.org/css-scrollbars-1/\n\n case 'scrollbarWidth':\n {\n if (value === 'none') {\n rules.push(selector + \"::-webkit-scrollbar{display:none}\");\n }\n\n var _block5 = createDeclarationBlock({\n scrollbarWidth: value\n });\n\n rules.push(\"\" + selector + _block5);\n break;\n }\n\n default:\n {\n var _createDeclarationBlo;\n\n var _block6 = createDeclarationBlock((_createDeclarationBlo = {}, _createDeclarationBlo[property] = value, _createDeclarationBlo));\n\n rules.push(\"\" + selector + _block6);\n break;\n }\n }\n\n return rules;\n}\n/**\n * Creates a CSS declaration block from a StyleSheet object.\n */\n\n\nfunction createDeclarationBlock(style) {\n var domStyle = prefixStyles(createReactDOMStyle(style));\n var declarationsString = Object.keys(domStyle).map(function (property) {\n var value = domStyle[property];\n var prop = hyphenateStyleName(property); // 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\n if (Array.isArray(value)) {\n return value.map(function (v) {\n return prop + \":\" + v;\n }).join(';');\n } else {\n return prop + \":\" + value;\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 * An identifier is associated with a unique set of styles.\n */\n\n\nfunction createIdentifier(prefix, name, value) {\n var hashedString = hash(name + stringifyValueWithProperty(value, name));\n return process.env.NODE_ENV !== 'production' ? prefix + \"-\" + name + \"-\" + hashedString : prefix + \"-\" + hashedString;\n}\n/**\n * Create individual CSS keyframes rules.\n */\n\n\nfunction createKeyframes(keyframes) {\n var prefixes = ['-webkit-', ''];\n var identifier = createIdentifier('r', 'animation', keyframes);\n var steps = '{' + Object.keys(keyframes).map(function (stepName) {\n var rule = keyframes[stepName];\n var block = createDeclarationBlock(rule);\n return \"\" + stepName + block;\n }).join('') + '}';\n var rules = prefixes.map(function (prefix) {\n return \"@\" + prefix + \"keyframes \" + identifier + steps;\n });\n return {\n identifier: identifier,\n rules: rules\n };\n}\n/**\n * Create CSS keyframes rules and names from a StyleSheet keyframes object.\n */\n\n\nfunction processKeyframesValue(keyframesValue) {\n if (typeof keyframesValue === 'number') {\n throw new Error(\"Invalid CSS keyframes type: \" + typeof keyframesValue);\n }\n\n var animationNames = [];\n var rules = [];\n var value = Array.isArray(keyframesValue) ? keyframesValue : [keyframesValue];\n value.forEach(function (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.identifier,\n keyframesRules = _createKeyframes.rules;\n\n animationNames.push(identifier);\n rules.push.apply(rules, keyframesRules);\n }\n });\n return {\n animationNames: animationNames,\n rules: rules\n };\n}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/e973f0c3380bf0f876ae34096ac5b841.json b/.expo/web/cache/development/babel-loader/e973f0c3380bf0f876ae34096ac5b841.json new file mode 100644 index 0000000000000000000000000000000000000000..071e55a2800fcb2b11eaf496d0cf256e04bf519b --- /dev/null +++ b/.expo/web/cache/development/babel-loader/e973f0c3380bf0f876ae34096ac5b841.json @@ -0,0 +1 @@ +{"ast":null,"code":"function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nimport invariant from 'fbjs/lib/invariant';\nimport unmountComponentAtNode from \"../unmountComponentAtNode\";\nimport renderApplication, { getApplication as _getApplication } from \"./renderApplication\";\nvar emptyObject = {};\nvar runnables = {};\n\nvar componentProviderInstrumentationHook = function componentProviderInstrumentationHook(component) {\n return component();\n};\n\nvar wrapperComponentProvider;\n\nvar AppRegistry = function () {\n function AppRegistry() {}\n\n AppRegistry.getAppKeys = function getAppKeys() {\n return Object.keys(runnables);\n };\n\n AppRegistry.getApplication = function 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\n AppRegistry.registerComponent = function registerComponent(appKey, componentProvider) {\n runnables[appKey] = {\n getApplication: function getApplication(appParameters) {\n return _getApplication(componentProviderInstrumentationHook(componentProvider), appParameters ? appParameters.initialProps : emptyObject, wrapperComponentProvider && wrapperComponentProvider(appParameters));\n },\n run: function run(appParameters) {\n return renderApplication(componentProviderInstrumentationHook(componentProvider), wrapperComponentProvider && wrapperComponentProvider(appParameters), appParameters.callback, {\n hydrate: appParameters.hydrate || false,\n initialProps: appParameters.initialProps || emptyObject,\n rootTag: appParameters.rootTag\n });\n }\n };\n return appKey;\n };\n\n AppRegistry.registerConfig = function registerConfig(config) {\n config.forEach(function (_ref) {\n var appKey = _ref.appKey,\n component = _ref.component,\n run = _ref.run;\n\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 AppRegistry.registerRunnable = function registerRunnable(appKey, run) {\n runnables[appKey] = {\n run: run\n };\n return appKey;\n };\n\n AppRegistry.runApplication = function runApplication(appKey, appParameters) {\n var isDevelopment = process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test';\n\n if (isDevelopment) {\n var params = _objectSpread({}, appParameters);\n\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\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 runnables[appKey].run(appParameters);\n };\n\n AppRegistry.setComponentProviderInstrumentationHook = function setComponentProviderInstrumentationHook(hook) {\n componentProviderInstrumentationHook = hook;\n };\n\n AppRegistry.setWrapperComponentProvider = function setWrapperComponentProvider(provider) {\n wrapperComponentProvider = provider;\n };\n\n AppRegistry.unmountApplicationComponentAtRootTag = function unmountApplicationComponentAtRootTag(rootTag) {\n unmountComponentAtNode(rootTag);\n };\n\n return AppRegistry;\n}();\n\nexport { AppRegistry as default };","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/AppRegistry/index.js"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","invariant","unmountComponentAtNode","renderApplication","getApplication","_getApplication","emptyObject","runnables","componentProviderInstrumentationHook","component","wrapperComponentProvider","AppRegistry","getAppKeys","appKey","appParameters","registerComponent","componentProvider","initialProps","run","callback","hydrate","rootTag","registerConfig","config","_ref","registerRunnable","runApplication","isDevelopment","process","env","NODE_ENV","params","id","console","log","setComponentProviderInstrumentationHook","hook","setWrapperComponentProvider","provider","unmountApplicationComponentAtRootTag","default"],"mappings":"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","sourcesContent":["function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport invariant from 'fbjs/lib/invariant';\nimport unmountComponentAtNode from '../unmountComponentAtNode';\nimport renderApplication, { getApplication as _getApplication } from './renderApplication';\nvar emptyObject = {};\nvar runnables = {};\n\nvar componentProviderInstrumentationHook = function componentProviderInstrumentationHook(component) {\n return component();\n};\n\nvar wrapperComponentProvider;\n/**\n * `AppRegistry` is the JS entry point to running all React Native apps.\n */\n\nvar AppRegistry = /*#__PURE__*/function () {\n function AppRegistry() {}\n\n AppRegistry.getAppKeys = function getAppKeys() {\n return Object.keys(runnables);\n };\n\n AppRegistry.getApplication = function 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\n AppRegistry.registerComponent = function registerComponent(appKey, componentProvider) {\n runnables[appKey] = {\n getApplication: function getApplication(appParameters) {\n return _getApplication(componentProviderInstrumentationHook(componentProvider), appParameters ? appParameters.initialProps : emptyObject, wrapperComponentProvider && wrapperComponentProvider(appParameters));\n },\n run: function run(appParameters) {\n return renderApplication(componentProviderInstrumentationHook(componentProvider), wrapperComponentProvider && wrapperComponentProvider(appParameters), appParameters.callback, {\n hydrate: appParameters.hydrate || false,\n initialProps: appParameters.initialProps || emptyObject,\n rootTag: appParameters.rootTag\n });\n }\n };\n return appKey;\n };\n\n AppRegistry.registerConfig = function registerConfig(config) {\n config.forEach(function (_ref) {\n var appKey = _ref.appKey,\n component = _ref.component,\n run = _ref.run;\n\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 } // TODO: fix style sheet creation when using this method\n ;\n\n AppRegistry.registerRunnable = function registerRunnable(appKey, run) {\n runnables[appKey] = {\n run: run\n };\n return appKey;\n };\n\n AppRegistry.runApplication = function runApplication(appKey, appParameters) {\n var isDevelopment = process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test';\n\n if (isDevelopment) {\n var params = _objectSpread({}, appParameters);\n\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\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 runnables[appKey].run(appParameters);\n };\n\n AppRegistry.setComponentProviderInstrumentationHook = function setComponentProviderInstrumentationHook(hook) {\n componentProviderInstrumentationHook = hook;\n };\n\n AppRegistry.setWrapperComponentProvider = function setWrapperComponentProvider(provider) {\n wrapperComponentProvider = provider;\n };\n\n AppRegistry.unmountApplicationComponentAtRootTag = function unmountApplicationComponentAtRootTag(rootTag) {\n unmountComponentAtNode(rootTag);\n };\n\n return AppRegistry;\n}();\n\nexport { AppRegistry as default };"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/e99b1bb0e18d2aa22ac498f2ff53b6b0.json b/.expo/web/cache/development/babel-loader/e99b1bb0e18d2aa22ac498f2ff53b6b0.json new file mode 100644 index 0000000000000000000000000000000000000000..c70fefc86edb87a082e6e15a6928d66a54e0bbd4 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/e99b1bb0e18d2aa22ac498f2ff53b6b0.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport firestore from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar usersCollection = firestore().collection('Users');\nvar userDocument = firestore().collection('Users').doc('qDSGd9vFtY9kqlkKffgG').then(function (docSnapshot) {\n if (docSnapshot.exists) {\n var userData = docSnapshot.data();\n console.log(userData);\n }\n});\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n if (route.params != null) {\n DATA.push({\n id: '899',\n title: route.params.post\n });\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {\n children: item.title\n })\n })\n });\n };\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n selectedId = _useState2[0],\n setSelectedId = _useState2[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","firestore","usersCollection","collection","userDocument","doc","then","docSnapshot","exists","userData","data","console","log","DATA","UserLists","navigation","route","params","push","id","title","post","Alert","alert","Item","item","onPress","backgroundColor","textColor","styles","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":";AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;;;;;;;;;AAEA,SAASC,SAAT,QAA0B,iBAA1B;AAOA,OAAOC,SAAP,MAAsB,kCAAtB;;;AAEA,IAAMC,eAAe,GAAGD,SAAS,GAAGE,UAAZ,CAAuB,OAAvB,CAAxB;AAEA,IAAMC,YAAY,GAAGH,SAAS,GACzBE,UADgB,CACL,OADK,EAEhBE,GAFgB,CAEZ,sBAFY,EAGhBC,IAHgB,CAGX,UAAAC,WAAW,EAAI;AACjB,MAAIA,WAAW,CAACC,MAAhB,EAAwB;AACpB,QAAMC,QAAQ,GAAGF,WAAW,CAACG,IAAZ,EAAjB;AACAC,IAAAA,OAAO,CAACC,GAAR,CAAYH,QAAZ;AACH;AACJ,CARgB,CAArB;AAkCA,IAAII,IAAI,GAAG,EAAX;AAEA,eAAe,SAASC,SAAT,OAAuC;AAAA,MAAnBC,UAAmB,QAAnBA,UAAmB;AAAA,MAAPC,KAAO,QAAPA,KAAO;;AAItD,MAAGA,KAAK,CAACC,MAAN,IAAgB,IAAnB,EAAwB;AACxBJ,IAAAA,IAAI,CAACK,IAAL,CAAU;AAACC,MAAAA,EAAE,EAAC,KAAJ;AAAWC,MAAAA,KAAK,EAACJ,KAAK,CAACC,MAAN,CAAaI;AAA9B,KAAV;AACAC,IAAAA,KAAK,CAACC,KAAN,CAAYP,KAAK,CAACC,MAAN,CAAaI,IAAzB;AACC;;AACG,MAAMG,IAAI,GAAG,SAAPA,IAAO;AAAA,QAAGC,IAAH,SAAGA,IAAH;AAAA,QAASC,OAAT,SAASA,OAAT;AAAA,QAAkBC,eAAlB,SAAkBA,eAAlB;AAAA,QAAmCC,SAAnC,SAAmCA,SAAnC;AAAA,WACT,KAAC,IAAD;AAAA,gBACE,KAAC,gBAAD;AAAkB,QAAA,OAAO,EAAEF,OAA3B;AAAoC,QAAA,KAAK,EAAE,CAACG,MAAM,CAACJ,IAAR,EAAcE,eAAd,CAA3C;AAAA,kBACE,KAAC,IAAD;AAAA,oBACKF,IAAI,CAACL;AADV;AADF;AADF,MADS;AAAA,GAAb;;AAWJ,kBAAoCtB,QAAQ,CAAC,IAAD,CAA5C;AAAA;AAAA,MAAOgC,UAAP;AAAA,MAAmBC,aAAnB;;AAEE,MAAMC,UAAU,GAAG,SAAbA,UAAa,QAAc;AAAA,QAAXP,IAAW,SAAXA,IAAW;AAC/B,QAAME,eAAe,GAAGF,IAAI,CAACN,EAAL,KAAYW,UAAZ,GAAyB,SAAzB,GAAqC,SAA7D;AACA,QAAMG,KAAK,GAAGR,IAAI,CAACN,EAAL,KAAYW,UAAZ,GAAyB,OAAzB,GAAmC,OAAjD;AAEA,WACE,KAAC,IAAD;AACE,MAAA,IAAI,EAAEL,IADR;AAEE,MAAA,OAAO,EAAE;AAAA,eAAMS,uBAAuB,CAACT,IAAD,CAA7B;AAAA,OAFX;AAIE,MAAA,SAAS,EAAE;AAAEQ,QAAAA,KAAK,EAALA;AAAF;AAJb,MADF;AAQD,GAZD;;AAeA,MAAMC,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACT,IAAD,EAAS;AAExCM,IAAAA,aAAa,CAACN,IAAI,CAACN,EAAN,CAAb;AAEDJ,IAAAA,UAAU,CAACoB,QAAX,CAAoB,SAApB,EAA8B;AAACC,MAAAA,IAAI,EAACX;AAAN,KAA9B;AAED,GANC;;AASF,MAAMY,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAM;AAC3B,QAAGxB,IAAI,IAAI,IAAX,EAAiB,CAEhB,CAFD,MAGI;AACFS,MAAAA,KAAK,CAACC,KAAN,CAAY,eAAZ;AACD;;AAED,WAEE,KAAC,IAAD;AAAA;AAAA,MAFF;AAMD,GAdH;;AAgBE,SACE,MAAC,YAAD;AAAc,IAAA,KAAK,EAAEM,MAAM,CAACS,SAA5B;AAAA,eACA,MAAC,IAAD;AAAA,iBACC,KAAC,MAAD;AAAQ,QAAA,OAAO,EAAE,mBAAK;AAACvB,UAAAA,UAAU,CAACoB,QAAX,CAAoB,eAApB;AAAqC,SAA5D;AAA8D,QAAA,KAAK,EAAC;AAApE,QADD,EAEE,KAAC,SAAD;AAAW,QAAA,KAAK,EAAC;AAAjB,QAFF;AAAA,MADA,EAKA,KAAC,QAAD;AACI,MAAA,IAAI,EAAEtB,IADV;AAEI,MAAA,UAAU,EAAEmB,UAFhB;AAGI,MAAA,YAAY,EAAG,sBAACP,IAAD,EAAOc,KAAP;AAAA,eAAiBA,KAAK,CAACC,QAAN,EAAjB;AAAA,OAHnB;AAII,MAAA,SAAS,EAAEV,UAJf;AAKI,MAAA,kBAAkB,EAAEO;AALxB,MALA;AAAA,IADF;AAiBD;AAGD,IAAMR,MAAM,GAAGY,UAAU,CAACC,MAAX,CAAkB;AAC7BJ,EAAAA,SAAS,EAAE;AACTK,IAAAA,IAAI,EAAE,CADG;AAEThB,IAAAA,eAAe,EAAE,MAFR;AAGTiB,IAAAA,UAAU,EAAE,QAHH;AAITC,IAAAA,cAAc,EAAE,QAJP;AAKTC,IAAAA,gBAAgB,EAAE;AALT;AADkB,CAAlB,CAAf","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\n\r\n\r\n\r\n\r\n\r\nimport firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\n\r\n\r\nif(route.params != null){\r\nDATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/e9c74ae7acc4635ad345cb742a414ac2.json b/.expo/web/cache/development/babel-loader/e9c74ae7acc4635ad345cb742a414ac2.json new file mode 100644 index 0000000000000000000000000000000000000000..7b00884f5d155199a0866abb58cba6143e79061f --- /dev/null +++ b/.expo/web/cache/development/babel-loader/e9c74ae7acc4635ad345cb742a414ac2.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore } from \"firebase/firestore\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n setUsers(users);\n });\n }, []);\n\n function writeData() {\n return _regeneratorRuntime.async(function writeData$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (DATA != null) {\n Alert.alert(DATA);\n } else {\n Alert.alert('Data null');\n }\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n }\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsxs(Text, {\n children: [item.title, users.toString]\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\",\n onPress: writeData\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","writeData","Alert","alert","params","post","Item","item","onPress","backgroundColor","textColor","styles","title","toString","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\nasync function writeData(){\r\n \r\n if(DATA != null){\r\n Alert.alert(DATA);\r\n}\r\nelse{\r\n Alert.alert('Data null');\r\n}\r\n /*try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})*/\r\n}\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async (id) => {\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUser({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n {users.toString}\r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser' onPress={writeData}/>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/e9f261f9e8f4dc8acf61abc34d678418.json b/.expo/web/cache/development/babel-loader/e9f261f9e8f4dc8acf61abc34d678418.json new file mode 100644 index 0000000000000000000000000000000000000000..09cce8e07a746cdb666633c302223256c8151e4a --- /dev/null +++ b/.expo/web/cache/development/babel-loader/e9f261f9e8f4dc8acf61abc34d678418.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nimport { AnimatedEvent, attachNativeEvent } from \"./AnimatedEvent\";\nimport AnimatedImplementation from \"./AnimatedImplementation\";\nimport AnimatedInterpolation from \"./nodes/AnimatedInterpolation\";\nimport AnimatedNode from \"./nodes/AnimatedNode\";\nimport AnimatedProps from \"./nodes/AnimatedProps\";\nimport AnimatedValue from \"./nodes/AnimatedValue\";\nimport AnimatedValueXY from \"./nodes/AnimatedValueXY\";\nimport createAnimatedComponent from \"./createAnimatedComponent\";\nvar emptyAnimation = {\n start: function start() {},\n stop: function stop() {},\n reset: function reset() {},\n _startNativeLoop: function _startNativeLoop() {},\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return false;\n }\n};\n\nvar spring = function spring(value, config) {\n var anyValue = value;\n return _objectSpread(_objectSpread({}, emptyAnimation), {}, {\n start: function start(callback) {\n anyValue.setValue(config.toValue);\n callback && callback({\n finished: true\n });\n }\n });\n};\n\nvar timing = function timing(value, config) {\n var anyValue = value;\n return _objectSpread(_objectSpread({}, emptyAnimation), {}, {\n start: function start(callback) {\n anyValue.setValue(config.toValue);\n callback && callback({\n finished: true\n });\n }\n });\n};\n\nvar decay = function decay(value, config) {\n return emptyAnimation;\n};\n\nvar sequence = function sequence(animations) {\n return emptyAnimation;\n};\n\nvar parallel = function parallel(animations, config) {\n return emptyAnimation;\n};\n\nvar delay = function delay(time) {\n return emptyAnimation;\n};\n\nvar stagger = function stagger(time, animations) {\n return emptyAnimation;\n};\n\nvar loop = function loop(animation, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$iterations = _ref.iterations,\n iterations = _ref$iterations === void 0 ? -1 : _ref$iterations;\n\n return emptyAnimation;\n};\n\nvar event = function event(argMapping, config) {\n return null;\n};\n\nexport default {\n Value: AnimatedValue,\n ValueXY: AnimatedValueXY,\n Interpolation: AnimatedInterpolation,\n Node: AnimatedNode,\n decay: decay,\n timing: timing,\n spring: 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: delay,\n sequence: sequence,\n parallel: parallel,\n stagger: stagger,\n loop: loop,\n event: event,\n createAnimatedComponent: createAnimatedComponent,\n attachNativeEvent: attachNativeEvent,\n forkEvent: AnimatedImplementation.forkEvent,\n unforkEvent: AnimatedImplementation.unforkEvent,\n Event: AnimatedEvent,\n __PropsOnlyForTests: AnimatedProps\n};","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/AnimatedMock.js"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","AnimatedEvent","attachNativeEvent","AnimatedImplementation","AnimatedInterpolation","AnimatedNode","AnimatedProps","AnimatedValue","AnimatedValueXY","createAnimatedComponent","emptyAnimation","start","stop","reset","_startNativeLoop","_isUsingNativeDriver","spring","config","anyValue","callback","setValue","toValue","finished","timing","decay","sequence","animations","parallel","delay","time","stagger","loop","animation","_temp","_ref","_ref$iterations","iterations","event","argMapping","Value","ValueXY","Interpolation","Node","add","subtract","divide","multiply","modulo","diffClamp","forkEvent","unforkEvent","Event","__PropsOnlyForTests"],"mappings":"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","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { AnimatedEvent, attachNativeEvent } from './AnimatedEvent';\nimport AnimatedImplementation from './AnimatedImplementation';\nimport AnimatedInterpolation from './nodes/AnimatedInterpolation';\nimport AnimatedNode from './nodes/AnimatedNode';\nimport AnimatedProps from './nodes/AnimatedProps';\nimport AnimatedValue from './nodes/AnimatedValue';\nimport AnimatedValueXY from './nodes/AnimatedValueXY';\nimport createAnimatedComponent from './createAnimatedComponent';\nvar emptyAnimation = {\n start: function start() {},\n stop: function stop() {},\n reset: function reset() {},\n _startNativeLoop: function _startNativeLoop() {},\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return false;\n }\n};\n\nvar spring = function spring(value, config) {\n var anyValue = value;\n return _objectSpread(_objectSpread({}, emptyAnimation), {}, {\n start: function start(callback) {\n anyValue.setValue(config.toValue);\n callback && callback({\n finished: true\n });\n }\n });\n};\n\nvar timing = function timing(value, config) {\n var anyValue = value;\n return _objectSpread(_objectSpread({}, emptyAnimation), {}, {\n start: function start(callback) {\n anyValue.setValue(config.toValue);\n callback && callback({\n finished: true\n });\n }\n });\n};\n\nvar decay = function decay(value, config) {\n return emptyAnimation;\n};\n\nvar sequence = function sequence(animations) {\n return emptyAnimation;\n};\n\nvar parallel = function parallel(animations, config) {\n return emptyAnimation;\n};\n\nvar delay = function delay(time) {\n return emptyAnimation;\n};\n\nvar stagger = function stagger(time, animations) {\n return emptyAnimation;\n};\n\nvar loop = function loop(animation, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$iterations = _ref.iterations,\n iterations = _ref$iterations === void 0 ? -1 : _ref$iterations;\n\n return emptyAnimation;\n};\n\nvar event = function event(argMapping, config) {\n return null;\n};\n\nexport default {\n Value: AnimatedValue,\n ValueXY: AnimatedValueXY,\n Interpolation: AnimatedInterpolation,\n Node: AnimatedNode,\n decay: decay,\n timing: timing,\n spring: 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: delay,\n sequence: sequence,\n parallel: parallel,\n stagger: stagger,\n loop: loop,\n event: event,\n createAnimatedComponent: createAnimatedComponent,\n attachNativeEvent: attachNativeEvent,\n forkEvent: AnimatedImplementation.forkEvent,\n unforkEvent: AnimatedImplementation.unforkEvent,\n Event: AnimatedEvent,\n __PropsOnlyForTests: AnimatedProps\n};"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/ea96cacf5c3b0683f34fe61bf8727883.json b/.expo/web/cache/development/babel-loader/ea96cacf5c3b0683f34fe61bf8727883.json new file mode 100644 index 0000000000000000000000000000000000000000..53a52d4ac625218642a69f469aafd97c2433cf41 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/ea96cacf5c3b0683f34fe61bf8727883.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users.toString);\n setUsers(users);\n });\n\n if (users != null) {\n Alert.alert(' users load', users.id);\n }\n }, []);\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {\n children: item.Name\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: users,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","params","post","Item","item","onPress","backgroundColor","textColor","styles","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users.toString);\r\n setUsers(users)\r\n});\r\nif(users!= null){\r\n Alert.alert(' users load',users.id)\r\n}\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\n/*function writeData(){\r\n \r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})\r\n}*/\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async () => {\r\n const id = 'q5EOqKxKEsAO6lLmhbnc';\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUsers({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n Alert.alert(users[0])\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.Name} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser'/> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={users}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/eb9b89ae01a9728418f116c57beb6d76.json b/.expo/web/cache/development/babel-loader/eb9b89ae01a9728418f116c57beb6d76.json new file mode 100644 index 0000000000000000000000000000000000000000..97342183add7eec5f6b7d4f431efdf6c289b8e67 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/eb9b89ae01a9728418f116c57beb6d76.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nimport { generateFirestoreId, isObject } from '@react-native-firebase/app/lib/common';\nimport FirestoreDocumentReference, { provideCollectionReferenceClass } from \"./FirestoreDocumentReference\";\nimport FirestoreQuery from \"./FirestoreQuery\";\nimport FirestoreQueryModifiers from \"./FirestoreQueryModifiers\";\n\nvar FirestoreCollectionReference = function (_FirestoreQuery) {\n _inherits(FirestoreCollectionReference, _FirestoreQuery);\n\n var _super = _createSuper(FirestoreCollectionReference);\n\n function FirestoreCollectionReference(firestore, collectionPath) {\n _classCallCheck(this, FirestoreCollectionReference);\n\n return _super.call(this, firestore, collectionPath, new FirestoreQueryModifiers());\n }\n\n _createClass(FirestoreCollectionReference, [{\n key: \"id\",\n get: function get() {\n return this._collectionPath.id;\n }\n }, {\n key: \"parent\",\n get: function get() {\n var parent = this._collectionPath.parent();\n\n if (!parent) {\n return null;\n }\n\n return new FirestoreDocumentReference(this._firestore, parent);\n }\n }, {\n key: \"path\",\n get: function get() {\n return this._collectionPath.relativeName;\n }\n }, {\n key: \"add\",\n value: function add(data) {\n if (!isObject(data)) {\n throw new Error(\"firebase.firestore().collection().add(*) 'data' must be an object.\");\n }\n\n var documentRef = this.doc();\n return documentRef.set(data).then(function () {\n return Promise.resolve(documentRef);\n });\n }\n }, {\n key: \"doc\",\n value: function doc(documentPath) {\n var newPath = documentPath || generateFirestoreId();\n\n var path = this._collectionPath.child(newPath);\n\n if (!path.isDocument) {\n throw new Error(\"firebase.firestore().collection().doc(*) 'documentPath' must point to a document.\");\n }\n\n return new FirestoreDocumentReference(this._firestore, path);\n }\n }]);\n\n return FirestoreCollectionReference;\n}(FirestoreQuery);\n\nexport { FirestoreCollectionReference as default };\nprovideCollectionReferenceClass(FirestoreCollectionReference);","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/firestore/lib/FirestoreCollectionReference.js"],"names":["generateFirestoreId","isObject","FirestoreDocumentReference","provideCollectionReferenceClass","FirestoreQuery","FirestoreQueryModifiers","FirestoreCollectionReference","firestore","collectionPath","_collectionPath","id","parent","_firestore","relativeName","data","Error","documentRef","doc","set","then","Promise","resolve","documentPath","newPath","path","child","isDocument"],"mappings":";;;;;;;;;;AAiBA,SAASA,mBAAT,EAA8BC,QAA9B,QAA8C,uCAA9C;AACA,OAAOC,0BAAP,IACEC,+BADF;AAGA,OAAOC,cAAP;AACA,OAAOC,uBAAP;;IAEqBC,4B;;;;;AACnB,wCAAYC,SAAZ,EAAuBC,cAAvB,EAAuC;AAAA;;AAAA,6BAC/BD,SAD+B,EACpBC,cADoB,EACJ,IAAIH,uBAAJ,EADI;AAEtC;;;;SAED,eAAS;AACP,aAAO,KAAKI,eAAL,CAAqBC,EAA5B;AACD;;;SAED,eAAa;AACX,UAAMC,MAAM,GAAG,KAAKF,eAAL,CAAqBE,MAArB,EAAf;;AACA,UAAI,CAACA,MAAL,EAAa;AACX,eAAO,IAAP;AACD;;AACD,aAAO,IAAIT,0BAAJ,CAA+B,KAAKU,UAApC,EAAgDD,MAAhD,CAAP;AACD;;;SAED,eAAW;AACT,aAAO,KAAKF,eAAL,CAAqBI,YAA5B;AACD;;;WAED,aAAIC,IAAJ,EAAU;AACR,UAAI,CAACb,QAAQ,CAACa,IAAD,CAAb,EAAqB;AACnB,cAAM,IAAIC,KAAJ,CAAU,oEAAV,CAAN;AACD;;AAED,UAAMC,WAAW,GAAG,KAAKC,GAAL,EAApB;AACA,aAAOD,WAAW,CAACE,GAAZ,CAAgBJ,IAAhB,EAAsBK,IAAtB,CAA2B;AAAA,eAAMC,OAAO,CAACC,OAAR,CAAgBL,WAAhB,CAAN;AAAA,OAA3B,CAAP;AACD;;;WAED,aAAIM,YAAJ,EAAkB;AAChB,UAAMC,OAAO,GAAGD,YAAY,IAAItB,mBAAmB,EAAnD;;AACA,UAAMwB,IAAI,GAAG,KAAKf,eAAL,CAAqBgB,KAArB,CAA2BF,OAA3B,CAAb;;AAEA,UAAI,CAACC,IAAI,CAACE,UAAV,EAAsB;AACpB,cAAM,IAAIX,KAAJ,CACJ,mFADI,CAAN;AAGD;;AAED,aAAO,IAAIb,0BAAJ,CAA+B,KAAKU,UAApC,EAAgDY,IAAhD,CAAP;AACD;;;;EAzCuDpB,c;;SAArCE,4B;AA6CrBH,+BAA+B,CAACG,4BAAD,CAA/B","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { generateFirestoreId, isObject } from '@react-native-firebase/app/lib/common';\nimport FirestoreDocumentReference, {\n provideCollectionReferenceClass,\n} from './FirestoreDocumentReference';\nimport FirestoreQuery from './FirestoreQuery';\nimport FirestoreQueryModifiers from './FirestoreQueryModifiers';\n\nexport default class FirestoreCollectionReference extends FirestoreQuery {\n constructor(firestore, collectionPath) {\n super(firestore, collectionPath, new FirestoreQueryModifiers());\n }\n\n get id() {\n return this._collectionPath.id;\n }\n\n get parent() {\n const parent = this._collectionPath.parent();\n if (!parent) {\n return null;\n }\n return new FirestoreDocumentReference(this._firestore, parent);\n }\n\n get path() {\n return this._collectionPath.relativeName;\n }\n\n add(data) {\n if (!isObject(data)) {\n throw new Error(\"firebase.firestore().collection().add(*) 'data' must be an object.\");\n }\n\n const documentRef = this.doc();\n return documentRef.set(data).then(() => Promise.resolve(documentRef));\n }\n\n doc(documentPath) {\n const newPath = documentPath || generateFirestoreId();\n const path = this._collectionPath.child(newPath);\n\n if (!path.isDocument) {\n throw new Error(\n \"firebase.firestore().collection().doc(*) 'documentPath' must point to a document.\",\n );\n }\n\n return new FirestoreDocumentReference(this._firestore, path);\n }\n}\n\n// To avoid React Native require cycle warnings\nprovideCollectionReferenceClass(FirestoreCollectionReference);\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/eb9c9a589f5f67a207f15a719ffd280c.json b/.expo/web/cache/development/babel-loader/eb9c9a589f5f67a207f15a719ffd280c.json new file mode 100644 index 0000000000000000000000000000000000000000..e01157fe18a4f67186613d8c41fb990fc3ab696c --- /dev/null +++ b/.expo/web/cache/development/babel-loader/eb9c9a589f5f67a207f15a719ffd280c.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nimport AnimatedNode from \"./AnimatedNode\";\nimport AnimatedWithChildren from \"./AnimatedWithChildren\";\nimport NativeAnimatedHelper from \"../NativeAnimatedHelper\";\nimport invariant from 'fbjs/lib/invariant';\nimport normalizeColor from 'normalize-css-color';\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar linear = function linear(t) {\n return t;\n};\n\nfunction createInterpolation(config) {\n if (config.outputRange && typeof config.outputRange[0] === 'string') {\n return createInterpolationFromStringOutputRange(config);\n }\n\n var outputRange = config.outputRange;\n checkInfiniteRange('outputRange', outputRange);\n var inputRange = config.inputRange;\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 var easing = config.easing || linear;\n var extrapolateLeft = 'extend';\n\n if (config.extrapolateLeft !== undefined) {\n extrapolateLeft = config.extrapolateLeft;\n } else if (config.extrapolate !== undefined) {\n extrapolateLeft = config.extrapolate;\n }\n\n var extrapolateRight = 'extend';\n\n if (config.extrapolateRight !== undefined) {\n extrapolateRight = config.extrapolateRight;\n } else if (config.extrapolate !== undefined) {\n extrapolateRight = config.extrapolate;\n }\n\n return function (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}\n\nfunction interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight) {\n var result = input;\n\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 }\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 }\n\n if (outputMin === outputMax) {\n return outputMin;\n }\n\n if (inputMin === inputMax) {\n if (input <= inputMin) {\n return outputMin;\n }\n\n return outputMax;\n }\n\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 result = easing(result);\n\n if (outputMin === -Infinity) {\n result = -result;\n } else if (outputMax === Infinity) {\n result = result + outputMin;\n } else {\n result = result * (outputMax - outputMin) + outputMin;\n }\n\n return result;\n}\n\nfunction colorToRgba(input) {\n var normalizedColor = normalizeColor(input);\n\n if (normalizedColor === null || typeof normalizedColor !== 'number') {\n return input;\n }\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}\n\nvar stringShapeRegex = /[+-]?(?:\\d+\\.?\\d*|\\.\\d+)(?:[eE][+-]?\\d+)?/g;\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 var outputRanges = outputRange[0].match(stringShapeRegex).map(function () {\n return [];\n });\n outputRange.forEach(function (value) {\n value.match(stringShapeRegex).forEach(function (number, i) {\n outputRanges[i].push(+number);\n });\n });\n var interpolations = outputRange[0].match(stringShapeRegex).map(function (value, i) {\n return createInterpolation(_objectSpread(_objectSpread({}, config), {}, {\n outputRange: outputRanges[i]\n }));\n });\n var shouldRound = isRgbOrRgba(outputRange[0]);\n return function (input) {\n var i = 0;\n return outputRange[0].replace(stringShapeRegex, function () {\n var val = +interpolations[i++](input);\n\n if (shouldRound) {\n val = i < 4 ? Math.round(val) : Math.round(val * 1000) / 1000;\n }\n\n return String(val);\n });\n };\n}\n\nfunction isRgbOrRgba(range) {\n return typeof range === 'string' && range.startsWith('rgb');\n}\n\nfunction checkPattern(arr) {\n var pattern = arr[0].replace(stringShapeRegex, '');\n\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}\n\nfunction findRange(input, inputRange) {\n var i;\n\n for (i = 1; i < inputRange.length - 1; ++i) {\n if (inputRange[i] >= input) {\n break;\n }\n }\n\n return i - 1;\n}\n\nfunction checkValidInputRange(arr) {\n invariant(arr.length >= 2, 'inputRange must have at least 2 elements');\n\n for (var i = 1; i < arr.length; ++i) {\n invariant(arr[i] >= arr[i - 1], 'inputRange must be monotonically non-decreasing ' + arr);\n }\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, name + 'cannot be ]-infinity;+infinity[ ' + arr);\n}\n\nvar AnimatedInterpolation = function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedInterpolation, _AnimatedWithChildren);\n\n function AnimatedInterpolation(parent, config) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n _this._parent = parent;\n _this._config = config;\n _this._interpolation = createInterpolation(config);\n return _this;\n }\n\n var _proto = AnimatedInterpolation.prototype;\n\n _proto.__makeNative = function __makeNative() {\n this._parent.__makeNative();\n\n _AnimatedWithChildren.prototype.__makeNative.call(this);\n };\n\n _proto.__getValue = function __getValue() {\n var parentValue = this._parent.__getValue();\n\n invariant(typeof parentValue === 'number', 'Cannot interpolate an input which is not a number.');\n return this._interpolation(parentValue);\n };\n\n _proto.interpolate = function interpolate(config) {\n return new AnimatedInterpolation(this, config);\n };\n\n _proto.__attach = function __attach() {\n this._parent.__addChild(this);\n };\n\n _proto.__detach = function __detach() {\n this._parent.__removeChild(this);\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__transformDataType = function __transformDataType(range) {\n return range.map(NativeAnimatedHelper.transformDataType);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n if (__DEV__) {\n NativeAnimatedHelper.validateInterpolation(this._config);\n }\n\n return {\n inputRange: this._config.inputRange,\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\n return AnimatedInterpolation;\n}(AnimatedWithChildren);\n\nAnimatedInterpolation.__createInterpolation = createInterpolation;\nexport default AnimatedInterpolation;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedInterpolation.js"],"names":["_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","AnimatedNode","AnimatedWithChildren","NativeAnimatedHelper","invariant","normalizeColor","__DEV__","process","env","NODE_ENV","linear","t","createInterpolation","config","outputRange","createInterpolationFromStringOutputRange","checkInfiniteRange","inputRange","checkValidInputRange","easing","extrapolateLeft","undefined","extrapolate","extrapolateRight","input","range","findRange","interpolate","inputMin","inputMax","outputMin","outputMax","result","Infinity","colorToRgba","normalizedColor","r","g","b","a","stringShapeRegex","map","checkPattern","outputRanges","match","number","interpolations","shouldRound","isRgbOrRgba","replace","val","Math","round","String","startsWith","arr","pattern","name","AnimatedInterpolation","_AnimatedWithChildren","parent","_this","call","_parent","_config","_interpolation","_proto","__makeNative","__getValue","parentValue","__attach","__addChild","__detach","__removeChild","__transformDataType","transformDataType","__getNativeConfig","validateInterpolation","type","__createInterpolation"],"mappings":"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","sourcesContent":["/**\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 * @format\n */\n\n/* eslint no-bitwise: 0 */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nimport invariant from 'fbjs/lib/invariant';\nimport normalizeColor from 'normalize-css-color';\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar linear = function linear(t) {\n return 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 */\n\n\nfunction createInterpolation(config) {\n if (config.outputRange && typeof config.outputRange[0] === 'string') {\n return createInterpolationFromStringOutputRange(config);\n }\n\n var outputRange = config.outputRange;\n checkInfiniteRange('outputRange', outputRange);\n var inputRange = config.inputRange;\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 var easing = config.easing || linear;\n var extrapolateLeft = 'extend';\n\n if (config.extrapolateLeft !== undefined) {\n extrapolateLeft = config.extrapolateLeft;\n } else if (config.extrapolate !== undefined) {\n extrapolateLeft = config.extrapolate;\n }\n\n var extrapolateRight = 'extend';\n\n if (config.extrapolateRight !== undefined) {\n extrapolateRight = config.extrapolateRight;\n } else if (config.extrapolate !== undefined) {\n extrapolateRight = config.extrapolate;\n }\n\n return function (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}\n\nfunction interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight) {\n var result = input; // Extrapolate\n\n if (result < inputMin) {\n if (extrapolateLeft === 'identity') {\n return result;\n } else if (extrapolateLeft === 'clamp') {\n result = inputMin;\n } else if (extrapolateLeft === 'extend') {// noop\n }\n }\n\n if (result > inputMax) {\n if (extrapolateRight === 'identity') {\n return result;\n } else if (extrapolateRight === 'clamp') {\n result = inputMax;\n } else if (extrapolateRight === 'extend') {// noop\n }\n }\n\n if (outputMin === outputMax) {\n return outputMin;\n }\n\n if (inputMin === inputMax) {\n if (input <= inputMin) {\n return outputMin;\n }\n\n return outputMax;\n } // Input Range\n\n\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 } // Easing\n\n\n result = easing(result); // Output Range\n\n if (outputMin === -Infinity) {\n result = -result;\n } else if (outputMax === Infinity) {\n result = result + outputMin;\n } else {\n result = result * (outputMax - outputMin) + outputMin;\n }\n\n return result;\n}\n\nfunction colorToRgba(input) {\n var normalizedColor = normalizeColor(input);\n\n if (normalizedColor === null || typeof normalizedColor !== 'number') {\n return input;\n }\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}\n\nvar stringShapeRegex = /[+-]?(?:\\d+\\.?\\d*|\\.\\d+)(?:[eE][+-]?\\d+)?/g;\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 */\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); // ['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\n /* $FlowFixMe(>=0.18.0): `outputRange[0].match()` can return `null`. Need to\n * guard against this possibility.\n */\n\n var outputRanges = outputRange[0].match(stringShapeRegex).map(function () {\n return [];\n });\n outputRange.forEach(function (value) {\n /* $FlowFixMe(>=0.18.0): `value.match()` can return `null`. Need to guard\n * against this possibility.\n */\n value.match(stringShapeRegex).forEach(function (number, i) {\n outputRanges[i].push(+number);\n });\n });\n var interpolations = outputRange[0].match(stringShapeRegex)\n /* $FlowFixMe(>=0.18.0): `outputRange[0].match()` can return `null`. Need\n * to guard against this possibility. */\n .map(function (value, i) {\n return createInterpolation(_objectSpread(_objectSpread({}, config), {}, {\n outputRange: outputRanges[i]\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\n var shouldRound = isRgbOrRgba(outputRange[0]);\n return function (input) {\n var i = 0; // 'rgba(0, 100, 200, 0)'\n // ->\n // 'rgba(${interpolations[0](input)}, ${interpolations[1](input)}, ...'\n\n return outputRange[0].replace(stringShapeRegex, function () {\n var val = +interpolations[i++](input);\n\n if (shouldRound) {\n val = i < 4 ? Math.round(val) : Math.round(val * 1000) / 1000;\n }\n\n return String(val);\n });\n };\n}\n\nfunction isRgbOrRgba(range) {\n return typeof range === 'string' && range.startsWith('rgb');\n}\n\nfunction checkPattern(arr) {\n var pattern = arr[0].replace(stringShapeRegex, '');\n\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}\n\nfunction findRange(input, inputRange) {\n var i;\n\n for (i = 1; i < inputRange.length - 1; ++i) {\n if (inputRange[i] >= input) {\n break;\n }\n }\n\n return i - 1;\n}\n\nfunction checkValidInputRange(arr) {\n invariant(arr.length >= 2, 'inputRange must have at least 2 elements');\n\n for (var i = 1; i < arr.length; ++i) {\n invariant(arr[i] >= arr[i - 1],\n /* $FlowFixMe(>=0.13.0) - In the addition expression below this comment,\n * one or both of the operands may be something that doesn't cleanly\n * convert to a string, like undefined, null, and object, etc. If you really\n * mean this implicit string conversion, you can do something like\n * String(myThing)\n */\n 'inputRange must be monotonically non-decreasing ' + arr);\n }\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(>=0.13.0) - In the addition expression below this comment,\n * one or both of the operands may be something that doesn't cleanly convert\n * to a string, like undefined, null, and object, etc. If you really mean\n * this implicit string conversion, you can do something like\n * String(myThing)\n */\n name + 'cannot be ]-infinity;+infinity[ ' + arr);\n}\n\nvar AnimatedInterpolation = /*#__PURE__*/function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedInterpolation, _AnimatedWithChildren);\n\n // Export for testing.\n function AnimatedInterpolation(parent, config) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n _this._parent = parent;\n _this._config = config;\n _this._interpolation = createInterpolation(config);\n return _this;\n }\n\n var _proto = AnimatedInterpolation.prototype;\n\n _proto.__makeNative = function __makeNative() {\n this._parent.__makeNative();\n\n _AnimatedWithChildren.prototype.__makeNative.call(this);\n };\n\n _proto.__getValue = function __getValue() {\n var parentValue = this._parent.__getValue();\n\n invariant(typeof parentValue === 'number', 'Cannot interpolate an input which is not a number.');\n return this._interpolation(parentValue);\n };\n\n _proto.interpolate = function interpolate(config) {\n return new AnimatedInterpolation(this, config);\n };\n\n _proto.__attach = function __attach() {\n this._parent.__addChild(this);\n };\n\n _proto.__detach = function __detach() {\n this._parent.__removeChild(this);\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__transformDataType = function __transformDataType(range) {\n return range.map(NativeAnimatedHelper.transformDataType);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n if (__DEV__) {\n NativeAnimatedHelper.validateInterpolation(this._config);\n }\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\n /* $FlowFixMe(>=0.38.0) - Flow error detected during the deployment of\n * v0.38.0. To see the error, remove this comment and run flow */\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\n return AnimatedInterpolation;\n}(AnimatedWithChildren);\n\nAnimatedInterpolation.__createInterpolation = createInterpolation;\nexport default AnimatedInterpolation;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/ebbb581a817823a5058c4c8512f68ccd.json b/.expo/web/cache/development/babel-loader/ebbb581a817823a5058c4c8512f68ccd.json new file mode 100644 index 0000000000000000000000000000000000000000..eeeab37da3403205f0e6d9d83292418ce30ac3fa --- /dev/null +++ b/.expo/web/cache/development/babel-loader/ebbb581a817823a5058c4c8512f68ccd.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n listenOnChange();\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n }\n });\n });\n }\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Text, {\n children: item.image\n }), _jsx(Image, {\n source: {\n uri: 'https://reactnative.dev/img/tiny_logo.png'\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" bla\"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(Image, {\n source: {\n uri: 'https://reactnative.dev/img/tiny_logo.png'\n }\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","firebase","DATA","UserLists","navigation","route","users","setUsers","listenOnChange","snapchot","docChanges","forEach","change","type","message","data","itemData","name","Name","email","Email","image","Image","push","params","Item","item","onPress","backgroundColor","textColor","styles","uri","selectedId","setSelectedId","renderItem","id","color","OpenEditVorlesungsliste","navigate","EmptyListMessage","Alert","alert","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState(null);\r\n\r\nlistenOnChange();\r\n\r\n/*useEffect(()=>{\r\n \r\nconst colRef = collection(db,\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n const {email, image, name} = doc.data();\r\n const itemData = {name: name, email: email, image: image}\r\n DATA.push(itemData);\r\n Alert.alert(name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])*/\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n //Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n <Text>\r\n {item.image} \r\n </Text>\r\n <Image\r\n source={{\r\n uri: 'https://reactnative.dev/img/tiny_logo.png',\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> bla</Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <Image\r\n source={{\r\n uri: 'https://reactnative.dev/img/tiny_logo.png',\r\n }}\r\n />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/eeda290e14ad9c8451b676ae748eadfb.json b/.expo/web/cache/development/babel-loader/eeda290e14ad9c8451b676ae748eadfb.json new file mode 100644 index 0000000000000000000000000000000000000000..56ed69772107809f583487b2e68b979bef030d79 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/eeda290e14ad9c8451b676ae748eadfb.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { NavigationContainer } from '@react-navigation/native';\nimport { createNativeStackNavigator } from '@react-navigation/native-stack';\nimport UserList from \"./pages/UserList\";\nimport Details from \"./pages/Details\";\nimport CreateNewUser from \"./pages/CreateNewUser\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function App() {\n var Stack = createNativeStackNavigator();\n return _jsx(NavigationContainer, {\n children: _jsxs(Stack.Navigator, {\n children: [_jsx(Stack.Screen, {\n name: \"UserList\",\n component: UserList,\n options: {\n title: 'User List'\n }\n }), _jsx(Stack.Screen, {\n name: \"Details\",\n component: Details,\n options: {\n title: 'Details'\n }\n }), _jsx(Stack.Screen, {\n name: \"CreateNewUser\",\n component: CreateNewUser,\n options: {\n title: 'Create a New User'\n }\n })]\n })\n });\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/App.js"],"names":["NavigationContainer","createNativeStackNavigator","UserList","Details","CreateNewUser","App","Stack","title"],"mappings":"AAAA,SAASA,mBAAT,QAAoC,0BAApC;AACA,SAASC,0BAAT,QAA2C,gCAA3C;AACA,OAAQC,QAAR;AACA,OAAQC,OAAR;AACA,OAAQC,aAAR;;;AAEA,eAAe,SAASC,GAAT,GAAe;AAC5B,MAAMC,KAAK,GAAGL,0BAA0B,EAAxC;AAGD,SACG,KAAC,mBAAD;AAAA,cACE,MAAC,KAAD,CAAO,SAAP;AAAA,iBACE,KAAC,KAAD,CAAO,MAAP;AACE,QAAA,IAAI,EAAC,UADP;AAEE,QAAA,SAAS,EAAEC,QAFb;AAGE,QAAA,OAAO,EAAE;AAAEK,UAAAA,KAAK,EAAE;AAAT;AAHX,QADF,EAME,KAAC,KAAD,CAAO,MAAP;AAAc,QAAA,IAAI,EAAC,SAAnB;AAA6B,QAAA,SAAS,EAAEJ,OAAxC;AAAiD,QAAA,OAAO,EAAE;AAAEI,UAAAA,KAAK,EAAE;AAAT;AAA1D,QANF,EAOE,KAAC,KAAD,CAAO,MAAP;AAAc,QAAA,IAAI,EAAC,eAAnB;AAAmC,QAAA,SAAS,EAAEH,aAA9C;AAA6D,QAAA,OAAO,EAAE;AAAEG,UAAAA,KAAK,EAAE;AAAT;AAAtE,QAPF;AAAA;AADF,IADH;AAcA","sourcesContent":["import { NavigationContainer } from '@react-navigation/native';\nimport { createNativeStackNavigator } from '@react-navigation/native-stack';\nimport UserList from './pages/UserList'\nimport Details from './pages/Details'\nimport CreateNewUser from './pages/CreateNewUser'\n\nexport default function App() {\n const Stack = createNativeStackNavigator();\n \n\n return (\n <NavigationContainer>\n <Stack.Navigator>\n <Stack.Screen\n name=\"UserList\"\n component={UserList}\n options={{ title: 'User List' }}\n />\n <Stack.Screen name=\"Details\" component={Details} options={{ title: 'Details' }}/>\n <Stack.Screen name=\"CreateNewUser\" component={CreateNewUser} options={{ title: 'Create a New User' }}/>\n </Stack.Navigator>\n </NavigationContainer>\n );\n\n}\n\n\n\n\n\n\n\n\n\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/ef13c957d7d5d03d807334160be0562a.json b/.expo/web/cache/development/babel-loader/ef13c957d7d5d03d807334160be0562a.json new file mode 100644 index 0000000000000000000000000000000000000000..643f0d80c5cd163438ba1f55542f78e7a1f14590 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/ef13c957d7d5d03d807334160be0562a.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { nanoid } from 'nanoid/non-secure';\nimport * as React from 'react';\nimport { SingleNavigatorContext } from \"./EnsureSingleNavigator\";\nexport default function useRegisterNavigator() {\n var _React$useState = React.useState(function () {\n return nanoid();\n }),\n _React$useState2 = _slicedToArray(_React$useState, 1),\n key = _React$useState2[0];\n\n var container = React.useContext(SingleNavigatorContext);\n\n if (container === undefined) {\n throw new Error(\"Couldn't register the navigator. Have you wrapped your app with 'NavigationContainer'?\\n\\nThis can also happen if there are multiple copies of '@react-navigation' packages installed.\");\n }\n\n React.useEffect(function () {\n var register = container.register,\n unregister = container.unregister;\n register(key);\n return function () {\n return unregister(key);\n };\n }, [container, key]);\n return key;\n}","map":{"version":3,"sources":["useRegisterNavigator.tsx"],"names":["React","nanoid","container","unregister","register"],"mappings":";AAAA,SAAA,MAAA,QAAA,mBAAA;AACA,OAAO,KAAP,KAAA,MAAA,OAAA;AAEA,SAAA,sBAAA;AAMA,eAAe,SAAA,oBAAA,GAAgC;AAC7C,wBAAcA,KAAK,CAALA,QAAAA,CAAe;AAAA,WAAMC,MAAnC,EAA6B;AAAA,GAAfD,CAAd;AAAA;AAAA,MAAM,GAAN;;AACA,MAAME,SAAS,GAAGF,KAAK,CAALA,UAAAA,CAAlB,sBAAkBA,CAAlB;;AAEA,MAAIE,SAAS,KAAb,SAAA,EAA6B;AAC3B,UAAM,IAAA,KAAA,CAAN,wLAAM,CAAN;AAGD;;AAEDF,EAAAA,KAAK,CAALA,SAAAA,CAAgB,YAAM;AACpB,QAAM,QAAN,GAAA,SAAA,CAAM,QAAN;AAAA,QAAkBG,UAAlB,GAAA,SAAA,CAAkBA,UAAlB;AAEAC,IAAAA,QAAQ,CAARA,GAAQ,CAARA;AAEA,WAAO;AAAA,aAAMD,UAAU,CAAvB,GAAuB,CAAhB;AAAA,KAAP;AALFH,GAAAA,EAMG,CAAA,SAAA,EANHA,GAMG,CANHA;AAQA,SAAA,GAAA;AACD","sourcesContent":["import { nanoid } from 'nanoid/non-secure';\nimport * as React from 'react';\n\nimport { SingleNavigatorContext } from './EnsureSingleNavigator';\n\n/**\n * Register a navigator in the parent context (either a navigation container or a screen).\n * This is used to prevent multiple navigators under a single container or screen.\n */\nexport default function useRegisterNavigator() {\n const [key] = React.useState(() => nanoid());\n const container = React.useContext(SingleNavigatorContext);\n\n if (container === undefined) {\n throw new Error(\n \"Couldn't register the navigator. Have you wrapped your app with 'NavigationContainer'?\\n\\nThis can also happen if there are multiple copies of '@react-navigation' packages installed.\"\n );\n }\n\n React.useEffect(() => {\n const { register, unregister } = container;\n\n register(key);\n\n return () => unregister(key);\n }, [container, key]);\n\n return key;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/ef9de2ea10ef5d0af8c799a48314ef07.json b/.expo/web/cache/development/babel-loader/ef9de2ea10ef5d0af8c799a48314ef07.json new file mode 100644 index 0000000000000000000000000000000000000000..f94dab8170476c3e5271b0978e9b2b9150cb1c58 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/ef9de2ea10ef5d0af8c799a48314ef07.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users.toString);\n setUsers(users);\n });\n\n if (users != null) {\n Alert.alert(users.Name.toString);\n }\n }, []);\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {\n children: item.Name\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: users,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","params","post","Item","item","onPress","backgroundColor","textColor","styles","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users.toString);\r\n setUsers(users)\r\n});\r\nif(users!= null){\r\n Alert.alert(users.Name.toString)\r\n}\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\n/*function writeData(){\r\n \r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})\r\n}*/\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async () => {\r\n const id = 'q5EOqKxKEsAO6lLmhbnc';\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUsers({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n Alert.alert(users[0])\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.Name} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser'/> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={users}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/f046d1fa59c25bf5b7994164eafc55f2.json b/.expo/web/cache/development/babel-loader/f046d1fa59c25bf5b7994164eafc55f2.json new file mode 100644 index 0000000000000000000000000000000000000000..2e4ba8936b4da78f1fd78c796d5513dfb5c8b5c3 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/f046d1fa59c25bf5b7994164eafc55f2.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport * as React from 'react';\nimport EnsureSingleNavigator from \"./EnsureSingleNavigator\";\nimport NavigationStateContext from \"./NavigationStateContext\";\nimport StaticContainer from \"./StaticContainer\";\nimport useOptionsGetters from \"./useOptionsGetters\";\nexport default function SceneView(_ref) {\n var screen = _ref.screen,\n route = _ref.route,\n navigation = _ref.navigation,\n routeState = _ref.routeState,\n getState = _ref.getState,\n setState = _ref.setState,\n options = _ref.options,\n clearOptions = _ref.clearOptions;\n var navigatorKeyRef = React.useRef();\n var getKey = React.useCallback(function () {\n return navigatorKeyRef.current;\n }, []);\n\n var _useOptionsGetters = useOptionsGetters({\n key: route.key,\n options: options,\n navigation: navigation\n }),\n addOptionsGetter = _useOptionsGetters.addOptionsGetter;\n\n var setKey = React.useCallback(function (key) {\n navigatorKeyRef.current = key;\n }, []);\n var getCurrentState = React.useCallback(function () {\n var state = getState();\n var currentRoute = state.routes.find(function (r) {\n return r.key === route.key;\n });\n return currentRoute ? currentRoute.state : undefined;\n }, [getState, route.key]);\n var setCurrentState = React.useCallback(function (child) {\n var state = getState();\n setState(_objectSpread(_objectSpread({}, state), {}, {\n routes: state.routes.map(function (r) {\n return r.key === route.key ? _objectSpread(_objectSpread({}, r), {}, {\n state: child\n }) : r;\n })\n }));\n }, [getState, route.key, setState]);\n var isInitialRef = React.useRef(true);\n React.useEffect(function () {\n isInitialRef.current = false;\n });\n React.useEffect(function () {\n return clearOptions;\n }, []);\n var getIsInitial = React.useCallback(function () {\n return isInitialRef.current;\n }, []);\n var context = React.useMemo(function () {\n return {\n state: routeState,\n getState: getCurrentState,\n setState: setCurrentState,\n getKey: getKey,\n setKey: setKey,\n getIsInitial: getIsInitial,\n addOptionsGetter: addOptionsGetter\n };\n }, [routeState, getCurrentState, setCurrentState, getKey, setKey, getIsInitial, addOptionsGetter]);\n var ScreenComponent = screen.getComponent ? screen.getComponent() : screen.component;\n return React.createElement(NavigationStateContext.Provider, {\n value: context\n }, React.createElement(EnsureSingleNavigator, null, React.createElement(StaticContainer, {\n name: screen.name,\n render: ScreenComponent || screen.children,\n navigation: navigation,\n route: route\n }, ScreenComponent !== undefined ? React.createElement(ScreenComponent, {\n navigation: navigation,\n route: route\n }) : screen.children !== undefined ? screen.children({\n navigation: navigation,\n route: route\n }) : null)));\n}","map":{"version":3,"sources":["SceneView.tsx"],"names":["clearOptions","navigatorKeyRef","React","getKey","addOptionsGetter","useOptionsGetters","key","route","options","navigation","setKey","getCurrentState","state","getState","currentRoute","r","setCurrentState","child","setState","routes","isInitialRef","getIsInitial","context","ScreenComponent","screen"],"mappings":"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","sourcesContent":["import type {\n NavigationState,\n ParamListBase,\n PartialState,\n Route,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport EnsureSingleNavigator from './EnsureSingleNavigator';\nimport NavigationStateContext from './NavigationStateContext';\nimport StaticContainer from './StaticContainer';\nimport type { NavigationProp, RouteConfigComponent } from './types';\nimport useOptionsGetters from './useOptionsGetters';\n\ntype Props<State extends NavigationState, ScreenOptions extends {}> = {\n screen: RouteConfigComponent<ParamListBase, string> & { name: string };\n navigation: NavigationProp<ParamListBase, string, State, ScreenOptions>;\n route: Route<string>;\n routeState: NavigationState | PartialState<NavigationState> | undefined;\n getState: () => State;\n setState: (state: State) => void;\n options: object;\n clearOptions: () => void;\n};\n\n/**\n * Component which takes care of rendering the screen for a route.\n * It provides all required contexts and applies optimizations when applicable.\n */\nexport default function SceneView<\n State extends NavigationState,\n ScreenOptions extends {}\n>({\n screen,\n route,\n navigation,\n routeState,\n getState,\n setState,\n options,\n clearOptions,\n}: Props<State, ScreenOptions>) {\n const navigatorKeyRef = React.useRef<string | undefined>();\n const getKey = React.useCallback(() => navigatorKeyRef.current, []);\n\n const { addOptionsGetter } = useOptionsGetters({\n key: route.key,\n options,\n navigation,\n });\n\n const setKey = React.useCallback((key: string) => {\n navigatorKeyRef.current = key;\n }, []);\n\n const getCurrentState = React.useCallback(() => {\n const state = getState();\n const currentRoute = state.routes.find((r) => r.key === route.key);\n\n return currentRoute ? currentRoute.state : undefined;\n }, [getState, route.key]);\n\n const setCurrentState = React.useCallback(\n (child: NavigationState | PartialState<NavigationState> | undefined) => {\n const state = getState();\n\n setState({\n ...state,\n routes: state.routes.map((r) =>\n r.key === route.key ? { ...r, state: child } : r\n ),\n });\n },\n [getState, route.key, setState]\n );\n\n const isInitialRef = React.useRef(true);\n\n React.useEffect(() => {\n isInitialRef.current = false;\n });\n\n // Clear options set by this screen when it is unmounted\n React.useEffect(() => {\n return clearOptions;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const getIsInitial = React.useCallback(() => isInitialRef.current, []);\n\n const context = React.useMemo(\n () => ({\n state: routeState,\n getState: getCurrentState,\n setState: setCurrentState,\n getKey,\n setKey,\n getIsInitial,\n addOptionsGetter,\n }),\n [\n routeState,\n getCurrentState,\n setCurrentState,\n getKey,\n setKey,\n getIsInitial,\n addOptionsGetter,\n ]\n );\n\n const ScreenComponent = screen.getComponent\n ? screen.getComponent()\n : screen.component;\n\n return (\n <NavigationStateContext.Provider value={context}>\n <EnsureSingleNavigator>\n <StaticContainer\n name={screen.name}\n render={ScreenComponent || screen.children}\n navigation={navigation}\n route={route}\n >\n {ScreenComponent !== undefined ? (\n <ScreenComponent navigation={navigation} route={route} />\n ) : screen.children !== undefined ? (\n screen.children({ navigation, route })\n ) : null}\n </StaticContainer>\n </EnsureSingleNavigator>\n </NavigationStateContext.Provider>\n );\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/f08c957882729a765e0f520e7ef04ada.json b/.expo/web/cache/development/babel-loader/f08c957882729a765e0f520e7ef04ada.json new file mode 100644 index 0000000000000000000000000000000000000000..3d9642139fd85da5b8e35bce4df169180336a67b --- /dev/null +++ b/.expo/web/cache/development/babel-loader/f08c957882729a765e0f520e7ef04ada.json @@ -0,0 +1 @@ +{"ast":null,"code":"export {};","map":{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":["export {};\n//# sourceMappingURL=types.js.map"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/f11eee3313f891c3032c772c02e4e07d.json b/.expo/web/cache/development/babel-loader/f11eee3313f891c3032c772c02e4e07d.json new file mode 100644 index 0000000000000000000000000000000000000000..8079d7defdfe038c3e9e27031f001e0d6b321cec --- /dev/null +++ b/.expo/web/cache/development/babel-loader/f11eee3313f891c3032c772c02e4e07d.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport TextInput from \"react-native-web/dist/exports/TextInput\";\nimport React, { useState, useEffect } from 'react';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function CreateNewUser(_ref) {\n var navigation = _ref.navigation;\n\n var _useState = useState(''),\n _useState2 = _slicedToArray(_useState, 2),\n name = _useState2[0],\n onChangeName = _useState2[1];\n\n var _useState3 = useState(''),\n _useState4 = _slicedToArray(_useState3, 2),\n email = _useState4[0],\n onChangeEmail = _useState4[1];\n\n var _useState5 = useState(''),\n _useState6 = _slicedToArray(_useState5, 2),\n image = _useState6[0],\n onChangeImage = _useState6[1];\n\n function newUser() {\n return _regeneratorRuntime.async(function newUser$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return _regeneratorRuntime.awrap(addDoc(collection(getFirestore(), 'Users'), {\n Name: name,\n Email: email,\n Image: image\n }));\n\n case 3:\n _context.next = 7;\n break;\n\n case 5:\n _context.prev = 5;\n _context.t0 = _context[\"catch\"](0);\n\n case 7:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, [[0, 5]], Promise);\n }\n\n ;\n\n function Submitt() {\n newUser();\n navigation.navigate({\n name: 'UserList',\n merge: true\n });\n }\n\n return _jsxs(View, {\n children: [_jsx(Text, {\n children: \"CreateNewUser\"\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeName,\n value: name,\n multiline: true\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeEmail,\n value: email,\n multiline: true\n }), _jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeImage,\n value: image,\n multiline: true\n }), _jsx(Button, {\n title: \"Submitt\",\n onPress: Submitt\n })]\n });\n}\n;\nvar styles = StyleSheet.create({\n input: {\n borderBottomColor: '#CFCDCD',\n borderBottomWidth: 1,\n width: 220\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/CreateNewUser.js"],"names":["React","useState","useEffect","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","firebase","CreateNewUser","navigation","name","onChangeName","email","onChangeEmail","image","onChangeImage","newUser","Name","Email","Image","Submitt","navigate","merge","styles","input","StyleSheet","create","borderBottomColor","borderBottomWidth","width"],"mappings":";;;;;;;AACA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;AAEA,OAAOC,EAAP;AACA,SAAQC,UAAR,EAAoBC,GAApB,EAAyBC,UAAzB,EAAqCC,aAArC,EAAoDC,MAApD,EAA4DC,SAA5D,EAAuEC,MAAvE,EAA+EC,YAA/E,EAA6FC,MAA7F,EAAqGC,MAArG,QAAkH,oBAAlH;AACA,SAASC,QAAT,QAAyB,kCAAzB;;;AAEA,eAAe,SAASC,aAAT,OAAqC;AAAA,MAAZC,UAAY,QAAZA,UAAY;;AAEhD,kBAA6Bf,QAAQ,CAAC,EAAD,CAArC;AAAA;AAAA,MAAOgB,IAAP;AAAA,MAAaC,YAAb;;AACA,mBAA+BjB,QAAQ,CAAC,EAAD,CAAvC;AAAA;AAAA,MAAOkB,KAAP;AAAA,MAAcC,aAAd;;AACA,mBAA+BnB,QAAQ,CAAC,EAAD,CAAvC;AAAA;AAAA,MAAOoB,KAAP;AAAA,MAAcC,aAAd;;AAEA,WAAeC,OAAf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6CAEYf,MAAM,CAACJ,UAAU,CAACO,YAAY,EAAb,EAAiB,OAAjB,CAAX,EAAqC;AAC/Ca,cAAAA,IAAI,EAAEP,IADyC;AAE/CQ,cAAAA,KAAK,EAAEN,KAFwC;AAG/CO,cAAAA,KAAK,EAAEL;AAHwC,aAArC,CAFlB;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAWK;;AAEN,WAASM,OAAT,GAAkB;AACdJ,IAAAA,OAAO;AACdP,IAAAA,UAAU,CAACY,QAAX,CAAoB;AACRX,MAAAA,IAAI,EAAE,UADE;AAGRY,MAAAA,KAAK,EAAE;AAHC,KAApB;AAKK;;AACL,SACI,MAAC,IAAD;AAAA,eACA,KAAC,IAAD;AAAA;AAAA,MADA,EAIA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEC,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAEb,YAA9C;AAA4D,MAAA,KAAK,EAAED,IAAnE;AAAyE,MAAA,SAAS,EAAI;AAAtF,MAJA,EAKA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEa,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAEX,aAA9C;AAA6D,MAAA,KAAK,EAAED,KAApE;AAA2E,MAAA,SAAS,EAAI;AAAxF,MALA,EAMA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEW,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAET,aAA9C;AAA6D,MAAA,KAAK,EAAED,KAApE;AAA2E,MAAA,SAAS,EAAI;AAAxF,MANA,EAOA,KAAC,MAAD;AAAQ,MAAA,KAAK,EAAC,SAAd;AAAwB,MAAA,OAAO,EAAEM;AAAjC,MAPA;AAAA,IADJ;AAWC;AAAA;AAED,IAAMG,MAAM,GAAGE,UAAU,CAACC,MAAX,CAAkB;AAC7BF,EAAAA,KAAK,EAAC;AAEFG,IAAAA,iBAAiB,EAAC,SAFhB;AAGFC,IAAAA,iBAAiB,EAAC,CAHhB;AAIFC,IAAAA,KAAK,EAAE;AAJL;AADuB,CAAlB,CAAf","sourcesContent":["import { StyleSheet, Text, View, Button, TextInput } from 'react-native';\r\nimport React, { useState, useEffect } from 'react';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\nexport default function CreateNewUser({ navigation}){\r\n\r\n const [name, onChangeName] = useState('');\r\n const [email, onChangeEmail] = useState('');\r\n const [image, onChangeImage] = useState('');\r\n\r\n async function newUser(){\r\n try{\r\n await addDoc(collection(getFirestore(), 'Users'),{\r\n Name: name,\r\n Email: email,\r\n Image: image,\r\n });\r\n }\r\n catch(error){\r\n \r\n }\r\n };\r\n\r\n function Submitt(){\r\n newUser();\r\nnavigation.navigate({\r\n name: 'UserList',\r\n //params: { post: fach },\r\n merge: true,\r\n });\r\n }\r\nreturn(\r\n <View>\r\n <Text>\r\n CreateNewUser\r\n </Text>\r\n <TextInput style={styles.input} onChangeText={onChangeName} value={name} multiline = {true} />\r\n <TextInput style={styles.input} onChangeText={onChangeEmail} value={email} multiline = {true} />\r\n <TextInput style={styles.input} onChangeText={onChangeImage} value={image} multiline = {true} />\r\n <Button title='Submitt' onPress={Submitt}/>\r\n </View>\r\n)\r\n};\r\n\r\nconst styles = StyleSheet.create({\r\n input:{\r\n //underlineColorAndroid: '#CFCDCD',\r\n borderBottomColor:'#CFCDCD',\r\n borderBottomWidth:1,\r\n width: 220,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/f18440eaf459ee4754635a255891efc8.json b/.expo/web/cache/development/babel-loader/f18440eaf459ee4754635a255891efc8.json new file mode 100644 index 0000000000000000000000000000000000000000..b58fc2b4f5a12adeccc426f83c231afd5ea93181 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/f18440eaf459ee4754635a255891efc8.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATAS = null;\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n DATA = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(getFirestore(), \"Users\");\n var big = [];\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var itemData = {\n name: doc.data().Name,\n email: doc.data().Email,\n image: doc.data().Image,\n id: doc.id\n };\n big.push(itemData);\n DATAS.push(big);\n });\n });\n }, []);\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n var big = [];\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n big.push(itemData);\n }\n });\n setUsers(big);\n });\n }\n\n if (route.params != null) {\n setUsers(null);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n }), _jsx(Text, {\n style: styles.beschreibung,\n children: item.name\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATAS != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" \"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATAS,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return item + index;\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n },\n item: {\n width: 250,\n paddingTop: 20,\n paddingBottom: 20,\n paddingRight: 20,\n marginVertical: 8,\n marginHorizontal: 25,\n borderBottomColor: '#D9D9D9',\n borderBottomWidth: 2,\n flexDirection: \"row\"\n },\n beschreibung: {\n marginLeft: 10,\n width: 180,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 16,\n lineHeight: 23,\n color: \"#5E6A79\"\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATAS","UserLists","navigation","route","DATA","setUsers","colRef","big","querySnapshot","forEach","itemData","name","data","Name","email","Email","image","Image","id","push","listenOnChange","snapchot","docChanges","change","type","message","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","beschreibung","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","Alert","alert","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height","paddingTop","paddingBottom","paddingRight","marginVertical","borderBottomColor","borderBottomWidth","flexDirection","marginLeft","fontStyle","fontWeight","fontSize","lineHeight"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATAS = null;\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [DATA, setUsers] = useState(null);\r\n\r\n//listenOnChange();\r\n//useeffect();\r\n\r\n/*useEffect(()=>{\r\nconst colRef = collection(getFirestore(),\"Users\");\r\nconst big= [];\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n //DATA.push(itemData);\r\n setUsers(big);\r\n //Alert.alert('count data',DATA.name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])*/\r\n\r\n\r\n\r\n\r\n//test\r\nuseEffect(()=>{\r\n const colRef = collection(getFirestore(),\"Users\");\r\n const big= [];\r\n onSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n //DATA.push(itemData);\r\n DATAS.push(big);\r\n //Alert.alert('count data',DATA.name);\r\n });\r\n \r\n //setUsers(users)\r\n });\r\n //Alert.alert(users.Name.toString);\r\n \r\n },[])\r\n\r\n\r\n \r\n\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n const big = [];\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n //DATA.push(itemData);\r\n big.push(itemData);\r\n \r\n //Alert.alert('listen on change',message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n }); setUsers(big);\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\nsetUsers(null);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n \r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n <Text style={styles.beschreibung}>\r\n {item.name} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATAS != null ){ //DATAS zu DATA ändern ___-------\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> </Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATAS} //DATAS zu DATA ändern ___-------\r\n renderItem={renderItem}\r\n /*keyExtractor={ (item, index) => index.toString()}//item => item.id*/\r\n keyExtractor={(item, index) => item + index}\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n item: {\r\n width: 250,\r\n paddingTop: 20,\r\n paddingBottom: 20,\r\n paddingRight: 20,\r\n marginVertical: 8,\r\n marginHorizontal: 25,\r\n borderBottomColor: '#D9D9D9',\r\n borderBottomWidth: 2,\r\n flexDirection: \"row\",\r\n },\r\n beschreibung: {\r\n marginLeft:10,\r\n width: 180,\r\n\r\n // font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 16,\r\n lineHeight: 23,\r\n color: \"#5E6A79\",\r\n },\r\n\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/f19a93a45c400cf2d3d18afb1784ec00.json b/.expo/web/cache/development/babel-loader/f19a93a45c400cf2d3d18afb1784ec00.json new file mode 100644 index 0000000000000000000000000000000000000000..32d9aeb69c5f920a80e27ee4a8ee09909c857b17 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/f19a93a45c400cf2d3d18afb1784ec00.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { useNavigation, useRoute } from '@react-navigation/core';\nimport * as React from 'react';\n\nfunction getScrollableNode(ref) {\n if (ref.current == null) {\n return null;\n }\n\n if ('scrollToTop' in ref.current || 'scrollTo' in ref.current || 'scrollToOffset' in ref.current || 'scrollResponderScrollTo' in ref.current) {\n return ref.current;\n } else if ('getScrollResponder' in ref.current) {\n return ref.current.getScrollResponder();\n } else if ('getNode' in ref.current) {\n return ref.current.getNode();\n } else {\n return ref.current;\n }\n}\n\nexport default function useScrollToTop(ref) {\n var navigation = useNavigation();\n var route = useRoute();\n React.useEffect(function () {\n var current = navigation;\n\n while (current && current.getState().type !== 'tab') {\n current = current.getParent();\n }\n\n if (!current) {\n return;\n }\n\n var unsubscribe = current.addListener('tabPress', function (e) {\n var isFocused = navigation.isFocused();\n var isFirst = navigation === current || navigation.getState().routes[0].key === route.key;\n requestAnimationFrame(function () {\n var scrollable = getScrollableNode(ref);\n\n if (isFocused && isFirst && scrollable && !e.defaultPrevented) {\n if ('scrollToTop' in scrollable) {\n scrollable.scrollToTop();\n } else if ('scrollTo' in scrollable) {\n scrollable.scrollTo({\n x: 0,\n y: 0,\n animated: true\n });\n } else if ('scrollToOffset' in scrollable) {\n scrollable.scrollToOffset({\n offset: 0,\n animated: true\n });\n } else if ('scrollResponderScrollTo' in scrollable) {\n scrollable.scrollResponderScrollTo({\n y: 0,\n animated: true\n });\n }\n }\n });\n });\n return unsubscribe;\n }, [navigation, ref, route.key]);\n}","map":{"version":3,"sources":["useScrollToTop.tsx"],"names":["ref","navigation","useNavigation","route","useRoute","React","current","unsubscribe","e","isFocused","isFirst","requestAnimationFrame","scrollable","getScrollableNode","x","y","animated","offset"],"mappings":"AAAA,SAAA,aAAA,EAAA,QAAA,QAAA,wBAAA;AACA,OAAO,KAAP,KAAA,MAAA,OAAA;;AAeA,SAAA,iBAAA,CAAA,GAAA,EAAoE;AAClE,MAAIA,GAAG,CAAHA,OAAAA,IAAJ,IAAA,EAAyB;AACvB,WAAA,IAAA;AACD;;AAED,MACE,iBAAiBA,GAAG,CAApB,OAAA,IACA,cAAcA,GAAG,CADjB,OAAA,IAEA,oBAAoBA,GAAG,CAFvB,OAAA,IAGA,6BAA6BA,GAAG,CAJlC,OAAA,EAKE;AAEA,WAAOA,GAAG,CAAV,OAAA;AAPF,GAAA,MAQO,IAAI,wBAAwBA,GAAG,CAA/B,OAAA,EAAyC;AAG9C,WAAOA,GAAG,CAAHA,OAAAA,CAAP,kBAAOA,EAAP;AAHK,GAAA,MAIA,IAAI,aAAaA,GAAG,CAApB,OAAA,EAA8B;AAKnC,WAAOA,GAAG,CAAHA,OAAAA,CAAP,OAAOA,EAAP;AALK,GAAA,MAMA;AACL,WAAOA,GAAG,CAAV,OAAA;AACD;AACF;;AAED,eAAe,SAAA,cAAA,CAAA,GAAA,EAEb;AACA,MAAMC,UAAU,GAAGC,aAAnB,EAAA;AACA,MAAMC,KAAK,GAAGC,QAAd,EAAA;AAEAC,EAAAA,KAAK,CAALA,SAAAA,CAAgB,YAAM;AACpB,QAAIC,OAAO,GADS,UACpB;;AAIA,WAAOA,OAAO,IAAIA,OAAO,CAAPA,QAAAA,GAAAA,IAAAA,KAAlB,KAAA,EAAqD;AACnDA,MAAAA,OAAO,GAAGA,OAAO,CAAjBA,SAAUA,EAAVA;AACD;;AAED,QAAI,CAAJ,OAAA,EAAc;AACZ;AACD;;AAED,QAAMC,WAAW,GAAG,OAAO,CAAP,WAAA,CAAA,UAAA,EAKjBC,UAAAA,CAAD,EAAmC;AAEjC,UAAMC,SAAS,GAAGR,UAAU,CAFK,SAEfA,EAAlB;AAIA,UAAMS,OAAO,GACXT,UAAU,KAAVA,OAAAA,IACAA,UAAU,CAAVA,QAAAA,GAAAA,MAAAA,CAAAA,CAAAA,EAAAA,GAAAA,KAAwCE,KAAK,CARd,GAMjC;AAMAQ,MAAAA,qBAAqB,CAAC,YAAM;AAC1B,YAAMC,UAAU,GAAGC,iBAAiB,CAApC,GAAoC,CAApC;;AAEA,YAAIJ,SAAS,IAATA,OAAAA,IAAAA,UAAAA,IAAsC,CAACD,CAAC,CAA5C,gBAAA,EAA+D;AAC7D,cAAI,iBAAJ,UAAA,EAAiC;AAC/BI,YAAAA,UAAU,CAAVA,WAAAA;AADF,WAAA,MAEO,IAAI,cAAJ,UAAA,EAA8B;AACnCA,YAAAA,UAAU,CAAVA,QAAAA,CAAoB;AAAEE,cAAAA,CAAC,EAAH,CAAA;AAAQC,cAAAA,CAAC,EAAT,CAAA;AAAcC,cAAAA,QAAQ,EAAE;AAAxB,aAApBJ;AADK,WAAA,MAEA,IAAI,oBAAJ,UAAA,EAAoC;AACzCA,YAAAA,UAAU,CAAVA,cAAAA,CAA0B;AAAEK,cAAAA,MAAM,EAAR,CAAA;AAAaD,cAAAA,QAAQ,EAAE;AAAvB,aAA1BJ;AADK,WAAA,MAEA,IAAI,6BAAJ,UAAA,EAA6C;AAClDA,YAAAA,UAAU,CAAVA,uBAAAA,CAAmC;AAAEG,cAAAA,CAAC,EAAH,CAAA;AAAQC,cAAAA,QAAQ,EAAE;AAAlB,aAAnCJ;AACD;AACF;AAbHD,OAAqB,CAArBA;AAjBJ,KAAoB,CAApB;AAmCA,WAAA,WAAA;AAhDFN,GAAAA,EAiDG,CAAA,UAAA,EAAA,GAAA,EAAkBF,KAAK,CAjD1BE,GAiDG,CAjDHA;AAkDD","sourcesContent":["import { EventArg, useNavigation, useRoute } from '@react-navigation/core';\nimport * as React from 'react';\n\ntype ScrollOptions = { x?: number; y?: number; animated?: boolean };\n\ntype ScrollableView =\n | { scrollToTop(): void }\n | { scrollTo(options: ScrollOptions): void }\n | { scrollToOffset(options: { offset?: number; animated?: boolean }): void }\n | { scrollResponderScrollTo(options: ScrollOptions): void };\n\ntype ScrollableWrapper =\n | { getScrollResponder(): React.ReactNode }\n | { getNode(): ScrollableView }\n | ScrollableView;\n\nfunction getScrollableNode(ref: React.RefObject<ScrollableWrapper>) {\n if (ref.current == null) {\n return null;\n }\n\n if (\n 'scrollToTop' in ref.current ||\n 'scrollTo' in ref.current ||\n 'scrollToOffset' in ref.current ||\n 'scrollResponderScrollTo' in ref.current\n ) {\n // This is already a scrollable node.\n return ref.current;\n } else if ('getScrollResponder' in ref.current) {\n // If the view is a wrapper like FlatList, SectionList etc.\n // We need to use `getScrollResponder` to get access to the scroll responder\n return ref.current.getScrollResponder();\n } else if ('getNode' in ref.current) {\n // When a `ScrollView` is wraped in `Animated.createAnimatedComponent`\n // we need to use `getNode` to get the ref to the actual scrollview.\n // Note that `getNode` is deprecated in newer versions of react-native\n // this is why we check if we already have a scrollable node above.\n return ref.current.getNode();\n } else {\n return ref.current;\n }\n}\n\nexport default function useScrollToTop(\n ref: React.RefObject<ScrollableWrapper>\n) {\n const navigation = useNavigation();\n const route = useRoute();\n\n React.useEffect(() => {\n let current = navigation;\n\n // The screen might be inside another navigator such as stack nested in tabs\n // We need to find the closest tab navigator and add the listener there\n while (current && current.getState().type !== 'tab') {\n current = current.getParent();\n }\n\n if (!current) {\n return;\n }\n\n const unsubscribe = current.addListener(\n // We don't wanna import tab types here to avoid extra deps\n // in addition, there are multiple tab implementations\n // @ts-expect-error\n 'tabPress',\n (e: EventArg<'tabPress', true>) => {\n // We should scroll to top only when the screen is focused\n const isFocused = navigation.isFocused();\n\n // In a nested stack navigator, tab press resets the stack to first screen\n // So we should scroll to top only when we are on first screen\n const isFirst =\n navigation === current ||\n navigation.getState().routes[0].key === route.key;\n\n // Run the operation in the next frame so we're sure all listeners have been run\n // This is necessary to know if preventDefault() has been called\n requestAnimationFrame(() => {\n const scrollable = getScrollableNode(ref) as ScrollableWrapper;\n\n if (isFocused && isFirst && scrollable && !e.defaultPrevented) {\n if ('scrollToTop' in scrollable) {\n scrollable.scrollToTop();\n } else if ('scrollTo' in scrollable) {\n scrollable.scrollTo({ x: 0, y: 0, animated: true });\n } else if ('scrollToOffset' in scrollable) {\n scrollable.scrollToOffset({ offset: 0, animated: true });\n } else if ('scrollResponderScrollTo' in scrollable) {\n scrollable.scrollResponderScrollTo({ y: 0, animated: true });\n }\n }\n });\n }\n );\n\n return unsubscribe;\n }, [navigation, ref, route.key]);\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/f25c6f031ebf7939ac6717f3420c69d5.json b/.expo/web/cache/development/babel-loader/f25c6f031ebf7939ac6717f3420c69d5.json new file mode 100644 index 0000000000000000000000000000000000000000..cfcb26720d249068def8d2c4311c93f825fb19d3 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/f25c6f031ebf7939ac6717f3420c69d5.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null;\nvar ReflectApply = R && typeof R.apply === 'function' ? R.apply : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n};\nvar ReflectOwnKeys;\n\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).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}\n\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\nEventEmitter.EventEmitter = EventEmitter;\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\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 get() {\n return defaultMaxListeners;\n },\n set: function set(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\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function () {\n if (this._events === undefined || 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\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\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined) 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\n for (var i = 1; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var doError = type === 'error';\n var events = this._events;\n if (events !== undefined) doError = doError && events.error === undefined;else if (!doError) return false;\n\n if (doError) {\n var er;\n if (args.length > 0) er = args[0];\n\n if (er instanceof Error) {\n throw er;\n }\n\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err;\n }\n\n var handler = events[type];\n if (handler === undefined) 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\n for (var i = 0; i < len; ++i) {\n ReflectApply(listeners[i], this, args);\n }\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n checkListener(listener);\n events = target._events;\n\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n if (events.newListener !== undefined) {\n target.emit('newListener', type, listener.listener ? listener.listener : listener);\n events = target._events;\n }\n\n existing = events[type];\n }\n\n if (existing === undefined) {\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n existing = events[type] = prepend ? [listener, existing] : [existing, listener];\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n m = _getMaxListeners(target);\n\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n var w = new Error('Possible EventEmitter memory leak detected. ' + existing.length + ' ' + String(type) + ' listeners ' + 'added. Use emitter.setMaxListeners() to ' + '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 = 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) 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 = {\n fired: false,\n wrapFn: undefined,\n target: target,\n type: type,\n listener: listener\n };\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 = function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.removeListener = function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n checkListener(listener);\n events = this._events;\n if (events === undefined) return this;\n list = events[type];\n if (list === undefined) return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0) this._events = Object.create(null);else {\n delete events[type];\n if (events.removeListener) 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) return this;\n if (position === 0) list.shift();else {\n spliceOne(list, position);\n }\n if (list.length === 1) events[type] = list[0];\n if (events.removeListener !== undefined) this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n};\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(type) {\n var listeners, events, i;\n events = this._events;\n if (events === undefined) return this;\n\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) this._events = Object.create(null);else delete events[type];\n }\n\n return this;\n }\n\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\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 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 if (events === undefined) return [];\n var evlistener = events[type];\n if (evlistener === undefined) return [];\n if (typeof evlistener === 'function') return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n return unwrap ? 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;\n\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\n for (var i = 0; i < n; ++i) {\n copy[i] = arr[i];\n }\n\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++) {\n list[index] = list[index + 1];\n }\n\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\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\n resolve([].slice.call(arguments));\n }\n\n ;\n eventTargetAgnosticAddListener(emitter, name, resolver, {\n once: true\n });\n\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, {\n once: true\n });\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 emitter.addEventListener(name, function wrapListener(arg) {\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\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}","map":{"version":3,"sources":["C:/Users/user/AppData/Roaming/npm/node_modules/expo-cli/node_modules/events/events.js"],"names":["R","Reflect","ReflectApply","apply","target","receiver","args","Function","prototype","call","ReflectOwnKeys","ownKeys","Object","getOwnPropertySymbols","getOwnPropertyNames","concat","ProcessEmitWarning","warning","console","warn","NumberIsNaN","Number","isNaN","value","EventEmitter","init","module","exports","once","_events","undefined","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","listener","TypeError","defineProperty","enumerable","get","set","arg","RangeError","getPrototypeOf","create","setMaxListeners","n","_getMaxListeners","that","getMaxListeners","emit","type","i","arguments","length","push","doError","events","error","er","Error","err","message","context","handler","len","listeners","arrayClone","_addListener","prepend","m","existing","newListener","unshift","warned","w","String","name","emitter","count","addListener","on","prependListener","onceWrapper","fired","removeListener","wrapFn","_onceWrap","state","wrapped","bind","prependOnceListener","list","position","originalListener","shift","spliceOne","off","removeAllListeners","keys","key","_listeners","unwrap","evlistener","unwrapListeners","rawListeners","listenerCount","eventNames","arr","copy","Array","index","pop","ret","Promise","resolve","reject","errorListener","resolver","slice","eventTargetAgnosticAddListener","addErrorHandlerIfEventEmitter","flags","addEventListener","wrapListener","removeEventListener"],"mappings":"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","sourcesContent":["// 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"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/f344b7b529ffbee9f06ac343c9790685.json b/.expo/web/cache/development/babel-loader/f344b7b529ffbee9f06ac343c9790685.json new file mode 100644 index 0000000000000000000000000000000000000000..cef1acfcfff8ad630eab34f77254d6038c310e3f --- /dev/null +++ b/.expo/web/cache/development/babel-loader/f344b7b529ffbee9f06ac343c9790685.json @@ -0,0 +1 @@ +{"ast":null,"code":"import StatusBar from \"react-native-web/dist/exports/StatusBar\";\nexport default function setStatusBarNetworkActivityIndicatorVisible(visible) {\n StatusBar.setNetworkActivityIndicatorVisible(visible);\n}","map":{"version":3,"sources":["../src/setStatusBarNetworkActivityIndicatorVisible.ts"],"names":[],"mappings":";AAQA,eAAc,SAAU,2CAAV,CAAsD,OAAtD,EAAsE;AAClF,EAAA,SAAS,CAAC,kCAAV,CAA6C,OAA7C;AACD","sourcesContent":["import { StatusBar } from 'react-native';\n\n// @needsAudit\n/**\n * Toggle visibility of the network activity indicator.\n * @param visible If the network activity indicator should be visible.\n * @platform ios\n */\nexport default function setStatusBarNetworkActivityIndicatorVisible(visible: boolean) {\n StatusBar.setNetworkActivityIndicatorVisible(visible);\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/f4005eedd4e44a34f228860503870742.json b/.expo/web/cache/development/babel-loader/f4005eedd4e44a34f228860503870742.json new file mode 100644 index 0000000000000000000000000000000000000000..84b621bfd8a8d8541e2625697190e1f8ffd7d396 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/f4005eedd4e44a34f228860503870742.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nimport NativeAnimatedHelper from \"../NativeAnimatedHelper\";\nvar NativeAnimatedAPI = NativeAnimatedHelper.API;\nimport invariant from 'fbjs/lib/invariant';\nvar _uniqueId = 1;\n\nvar AnimatedNode = function () {\n var _proto = AnimatedNode.prototype;\n\n _proto.__attach = function __attach() {};\n\n _proto.__detach = function __detach() {\n if (this.__isNative && this.__nativeTag != null) {\n NativeAnimatedHelper.API.dropAnimatedNode(this.__nativeTag);\n this.__nativeTag = undefined;\n }\n };\n\n _proto.__getValue = function __getValue() {};\n\n _proto.__getAnimatedValue = function __getAnimatedValue() {\n return this.__getValue();\n };\n\n _proto.__addChild = function __addChild(child) {};\n\n _proto.__removeChild = function __removeChild(child) {};\n\n _proto.__getChildren = function __getChildren() {\n return [];\n };\n\n function AnimatedNode() {\n this._listeners = {};\n }\n\n _proto.__makeNative = function __makeNative() {\n if (!this.__isNative) {\n throw new Error('This node cannot be made a \"native\" animated node');\n }\n\n if (this.hasListeners()) {\n this._startListeningToNativeValueUpdates();\n }\n };\n\n _proto.addListener = function addListener(callback) {\n var id = String(_uniqueId++);\n this._listeners[id] = callback;\n\n if (this.__isNative) {\n this._startListeningToNativeValueUpdates();\n }\n\n return id;\n };\n\n _proto.removeListener = function removeListener(id) {\n delete this._listeners[id];\n\n if (this.__isNative && !this.hasListeners()) {\n this._stopListeningForNativeValueUpdates();\n }\n };\n\n _proto.removeAllListeners = function removeAllListeners() {\n this._listeners = {};\n\n if (this.__isNative) {\n this._stopListeningForNativeValueUpdates();\n }\n };\n\n _proto.hasListeners = function hasListeners() {\n return !!Object.keys(this._listeners).length;\n };\n\n _proto._startListeningToNativeValueUpdates = function _startListeningToNativeValueUpdates() {\n var _this = this;\n\n if (this.__nativeAnimatedValueListener && !this.__shouldUpdateListenersForNewNativeTag) {\n return;\n }\n\n if (this.__shouldUpdateListenersForNewNativeTag) {\n this.__shouldUpdateListenersForNewNativeTag = false;\n\n this._stopListeningForNativeValueUpdates();\n }\n\n NativeAnimatedAPI.startListeningToAnimatedNodeValue(this.__getNativeTag());\n this.__nativeAnimatedValueListener = NativeAnimatedHelper.nativeEventEmitter.addListener('onAnimatedValueUpdate', function (data) {\n if (data.tag !== _this.__getNativeTag()) {\n return;\n }\n\n _this._onAnimatedValueUpdateReceived(data.value);\n });\n };\n\n _proto._onAnimatedValueUpdateReceived = function _onAnimatedValueUpdateReceived(value) {\n this.__callListeners(value);\n };\n\n _proto.__callListeners = function __callListeners(value) {\n for (var _key in this._listeners) {\n this._listeners[_key]({\n value: value\n });\n }\n };\n\n _proto._stopListeningForNativeValueUpdates = function _stopListeningForNativeValueUpdates() {\n if (!this.__nativeAnimatedValueListener) {\n return;\n }\n\n this.__nativeAnimatedValueListener.remove();\n\n this.__nativeAnimatedValueListener = null;\n NativeAnimatedAPI.stopListeningToAnimatedNodeValue(this.__getNativeTag());\n };\n\n _proto.__getNativeTag = function __getNativeTag() {\n var _this$__nativeTag;\n\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\n if (this.__nativeTag == null) {\n this.__nativeTag = nativeTag;\n NativeAnimatedHelper.API.createAnimatedNode(nativeTag, this.__getNativeConfig());\n this.__shouldUpdateListenersForNewNativeTag = true;\n }\n\n return nativeTag;\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n throw new Error('This JS animated node type cannot be used as native animated node');\n };\n\n _proto.toJSON = function toJSON() {\n return this.__getValue();\n };\n\n return AnimatedNode;\n}();\n\nexport default AnimatedNode;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedNode.js"],"names":["NativeAnimatedHelper","NativeAnimatedAPI","API","invariant","_uniqueId","AnimatedNode","_proto","prototype","__attach","__detach","__isNative","__nativeTag","dropAnimatedNode","undefined","__getValue","__getAnimatedValue","__addChild","child","__removeChild","__getChildren","_listeners","__makeNative","Error","hasListeners","_startListeningToNativeValueUpdates","addListener","callback","id","String","removeListener","_stopListeningForNativeValueUpdates","removeAllListeners","Object","keys","length","_this","__nativeAnimatedValueListener","__shouldUpdateListenersForNewNativeTag","startListeningToAnimatedNodeValue","__getNativeTag","nativeEventEmitter","data","tag","_onAnimatedValueUpdateReceived","value","__callListeners","_key","remove","stopListeningToAnimatedNodeValue","_this$__nativeTag","assertNativeAnimatedModule","nativeTag","generateNewNodeTag","createAnimatedNode","__getNativeConfig","toJSON"],"mappings":"AASA;;AAEA,OAAOA,oBAAP;AACA,IAAIC,iBAAiB,GAAGD,oBAAoB,CAACE,GAA7C;AACA,OAAOC,SAAP,MAAsB,oBAAtB;AACA,IAAIC,SAAS,GAAG,CAAhB;;AAGA,IAAIC,YAAY,GAAgB,YAAY;AAC1C,MAAIC,MAAM,GAAGD,YAAY,CAACE,SAA1B;;AAEAD,EAAAA,MAAM,CAACE,QAAP,GAAkB,SAASA,QAAT,GAAoB,CAAE,CAAxC;;AAEAF,EAAAA,MAAM,CAACG,QAAP,GAAkB,SAASA,QAAT,GAAoB;AACpC,QAAI,KAAKC,UAAL,IAAmB,KAAKC,WAAL,IAAoB,IAA3C,EAAiD;AAC/CX,MAAAA,oBAAoB,CAACE,GAArB,CAAyBU,gBAAzB,CAA0C,KAAKD,WAA/C;AACA,WAAKA,WAAL,GAAmBE,SAAnB;AACD;AACF,GALD;;AAOAP,EAAAA,MAAM,CAACQ,UAAP,GAAoB,SAASA,UAAT,GAAsB,CAAE,CAA5C;;AAEAR,EAAAA,MAAM,CAACS,kBAAP,GAA4B,SAASA,kBAAT,GAA8B;AACxD,WAAO,KAAKD,UAAL,EAAP;AACD,GAFD;;AAIAR,EAAAA,MAAM,CAACU,UAAP,GAAoB,SAASA,UAAT,CAAoBC,KAApB,EAA2B,CAAE,CAAjD;;AAEAX,EAAAA,MAAM,CAACY,aAAP,GAAuB,SAASA,aAAT,CAAuBD,KAAvB,EAA8B,CAAE,CAAvD;;AAEAX,EAAAA,MAAM,CAACa,aAAP,GAAuB,SAASA,aAAT,GAAyB;AAC9C,WAAO,EAAP;AACD,GAFD;;AAMA,WAASd,YAAT,GAAwB;AACtB,SAAKe,UAAL,GAAkB,EAAlB;AACD;;AAEDd,EAAAA,MAAM,CAACe,YAAP,GAAsB,SAASA,YAAT,GAAwB;AAC5C,QAAI,CAAC,KAAKX,UAAV,EAAsB;AACpB,YAAM,IAAIY,KAAJ,CAAU,mDAAV,CAAN;AACD;;AAED,QAAI,KAAKC,YAAL,EAAJ,EAAyB;AACvB,WAAKC,mCAAL;AACD;AACF,GARD;;AAkBAlB,EAAAA,MAAM,CAACmB,WAAP,GAAqB,SAASA,WAAT,CAAqBC,QAArB,EAA+B;AAClD,QAAIC,EAAE,GAAGC,MAAM,CAACxB,SAAS,EAAV,CAAf;AACA,SAAKgB,UAAL,CAAgBO,EAAhB,IAAsBD,QAAtB;;AAEA,QAAI,KAAKhB,UAAT,EAAqB;AACnB,WAAKc,mCAAL;AACD;;AAED,WAAOG,EAAP;AACD,GATD;;AAkBArB,EAAAA,MAAM,CAACuB,cAAP,GAAwB,SAASA,cAAT,CAAwBF,EAAxB,EAA4B;AAClD,WAAO,KAAKP,UAAL,CAAgBO,EAAhB,CAAP;;AAEA,QAAI,KAAKjB,UAAL,IAAmB,CAAC,KAAKa,YAAL,EAAxB,EAA6C;AAC3C,WAAKO,mCAAL;AACD;AACF,GAND;;AAcAxB,EAAAA,MAAM,CAACyB,kBAAP,GAA4B,SAASA,kBAAT,GAA8B;AACxD,SAAKX,UAAL,GAAkB,EAAlB;;AAEA,QAAI,KAAKV,UAAT,EAAqB;AACnB,WAAKoB,mCAAL;AACD;AACF,GAND;;AAQAxB,EAAAA,MAAM,CAACiB,YAAP,GAAsB,SAASA,YAAT,GAAwB;AAC5C,WAAO,CAAC,CAACS,MAAM,CAACC,IAAP,CAAY,KAAKb,UAAjB,EAA6Bc,MAAtC;AACD,GAFD;;AAIA5B,EAAAA,MAAM,CAACkB,mCAAP,GAA6C,SAASA,mCAAT,GAA+C;AAC1F,QAAIW,KAAK,GAAG,IAAZ;;AAEA,QAAI,KAAKC,6BAAL,IAAsC,CAAC,KAAKC,sCAAhD,EAAwF;AACtF;AACD;;AAED,QAAI,KAAKA,sCAAT,EAAiD;AAC/C,WAAKA,sCAAL,GAA8C,KAA9C;;AAEA,WAAKP,mCAAL;AACD;;AAED7B,IAAAA,iBAAiB,CAACqC,iCAAlB,CAAoD,KAAKC,cAAL,EAApD;AACA,SAAKH,6BAAL,GAAqCpC,oBAAoB,CAACwC,kBAArB,CAAwCf,WAAxC,CAAoD,uBAApD,EAA6E,UAAUgB,IAAV,EAAgB;AAChI,UAAIA,IAAI,CAACC,GAAL,KAAaP,KAAK,CAACI,cAAN,EAAjB,EAAyC;AACvC;AACD;;AAEDJ,MAAAA,KAAK,CAACQ,8BAAN,CAAqCF,IAAI,CAACG,KAA1C;AACD,KANoC,CAArC;AAOD,GArBD;;AAuBAtC,EAAAA,MAAM,CAACqC,8BAAP,GAAwC,SAASA,8BAAT,CAAwCC,KAAxC,EAA+C;AACrF,SAAKC,eAAL,CAAqBD,KAArB;AACD,GAFD;;AAIAtC,EAAAA,MAAM,CAACuC,eAAP,GAAyB,SAASA,eAAT,CAAyBD,KAAzB,EAAgC;AACvD,SAAK,IAAIE,IAAT,IAAiB,KAAK1B,UAAtB,EAAkC;AAChC,WAAKA,UAAL,CAAgB0B,IAAhB,EAAsB;AACpBF,QAAAA,KAAK,EAAEA;AADa,OAAtB;AAGD;AACF,GAND;;AAQAtC,EAAAA,MAAM,CAACwB,mCAAP,GAA6C,SAASA,mCAAT,GAA+C;AAC1F,QAAI,CAAC,KAAKM,6BAAV,EAAyC;AACvC;AACD;;AAED,SAAKA,6BAAL,CAAmCW,MAAnC;;AAEA,SAAKX,6BAAL,GAAqC,IAArC;AACAnC,IAAAA,iBAAiB,CAAC+C,gCAAlB,CAAmD,KAAKT,cAAL,EAAnD;AACD,GATD;;AAWAjC,EAAAA,MAAM,CAACiC,cAAP,GAAwB,SAASA,cAAT,GAA0B;AAChD,QAAIU,iBAAJ;;AAEAjD,IAAAA,oBAAoB,CAACkD,0BAArB;AACA/C,IAAAA,SAAS,CAAC,KAAKO,UAAN,EAAkB,4DAAlB,CAAT;AACA,QAAIyC,SAAS,GAAG,CAACF,iBAAiB,GAAG,KAAKtC,WAA1B,MAA2C,IAA3C,IAAmDsC,iBAAiB,KAAK,KAAK,CAA9E,GAAkFA,iBAAlF,GAAsGjD,oBAAoB,CAACoD,kBAArB,EAAtH;;AAEA,QAAI,KAAKzC,WAAL,IAAoB,IAAxB,EAA8B;AAC5B,WAAKA,WAAL,GAAmBwC,SAAnB;AACAnD,MAAAA,oBAAoB,CAACE,GAArB,CAAyBmD,kBAAzB,CAA4CF,SAA5C,EAAuD,KAAKG,iBAAL,EAAvD;AACA,WAAKjB,sCAAL,GAA8C,IAA9C;AACD;;AAED,WAAOc,SAAP;AACD,GAdD;;AAgBA7C,EAAAA,MAAM,CAACgD,iBAAP,GAA2B,SAASA,iBAAT,GAA6B;AACtD,UAAM,IAAIhC,KAAJ,CAAU,mEAAV,CAAN;AACD,GAFD;;AAIAhB,EAAAA,MAAM,CAACiD,MAAP,GAAgB,SAASA,MAAT,GAAkB;AAChC,WAAO,KAAKzC,UAAL,EAAP;AACD,GAFD;;AAIA,SAAOT,YAAP;AACD,CArK+B,EAAhC;;AAuKA,eAAeA,YAAf","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nvar NativeAnimatedAPI = NativeAnimatedHelper.API;\nimport invariant from 'fbjs/lib/invariant';\nvar _uniqueId = 1; // Note(vjeux): this would be better as an interface but flow doesn't\n// support them yet\n\nvar AnimatedNode = /*#__PURE__*/function () {\n var _proto = AnimatedNode.prototype;\n\n _proto.__attach = function __attach() {};\n\n _proto.__detach = function __detach() {\n if (this.__isNative && this.__nativeTag != null) {\n NativeAnimatedHelper.API.dropAnimatedNode(this.__nativeTag);\n this.__nativeTag = undefined;\n }\n };\n\n _proto.__getValue = function __getValue() {};\n\n _proto.__getAnimatedValue = function __getAnimatedValue() {\n return this.__getValue();\n };\n\n _proto.__addChild = function __addChild(child) {};\n\n _proto.__removeChild = function __removeChild(child) {};\n\n _proto.__getChildren = function __getChildren() {\n return [];\n }\n /* Methods and props used by native Animated impl */\n ;\n\n function AnimatedNode() {\n this._listeners = {};\n }\n\n _proto.__makeNative = function __makeNative() {\n if (!this.__isNative) {\n throw new Error('This node cannot be made a \"native\" animated node');\n }\n\n if (this.hasListeners()) {\n this._startListeningToNativeValueUpdates();\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.html#addlistener\n */\n ;\n\n _proto.addListener = function addListener(callback) {\n var id = String(_uniqueId++);\n this._listeners[id] = callback;\n\n if (this.__isNative) {\n this._startListeningToNativeValueUpdates();\n }\n\n return id;\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.html#removelistener\n */\n ;\n\n _proto.removeListener = function removeListener(id) {\n delete this._listeners[id];\n\n if (this.__isNative && !this.hasListeners()) {\n this._stopListeningForNativeValueUpdates();\n }\n }\n /**\n * Remove all registered listeners.\n *\n * See https://reactnative.dev/docs/animatedvalue.html#removealllisteners\n */\n ;\n\n _proto.removeAllListeners = function removeAllListeners() {\n this._listeners = {};\n\n if (this.__isNative) {\n this._stopListeningForNativeValueUpdates();\n }\n };\n\n _proto.hasListeners = function hasListeners() {\n return !!Object.keys(this._listeners).length;\n };\n\n _proto._startListeningToNativeValueUpdates = function _startListeningToNativeValueUpdates() {\n var _this = this;\n\n if (this.__nativeAnimatedValueListener && !this.__shouldUpdateListenersForNewNativeTag) {\n return;\n }\n\n if (this.__shouldUpdateListenersForNewNativeTag) {\n this.__shouldUpdateListenersForNewNativeTag = false;\n\n this._stopListeningForNativeValueUpdates();\n }\n\n NativeAnimatedAPI.startListeningToAnimatedNodeValue(this.__getNativeTag());\n this.__nativeAnimatedValueListener = NativeAnimatedHelper.nativeEventEmitter.addListener('onAnimatedValueUpdate', function (data) {\n if (data.tag !== _this.__getNativeTag()) {\n return;\n }\n\n _this._onAnimatedValueUpdateReceived(data.value);\n });\n };\n\n _proto._onAnimatedValueUpdateReceived = function _onAnimatedValueUpdateReceived(value) {\n this.__callListeners(value);\n };\n\n _proto.__callListeners = function __callListeners(value) {\n for (var _key in this._listeners) {\n this._listeners[_key]({\n value: value\n });\n }\n };\n\n _proto._stopListeningForNativeValueUpdates = function _stopListeningForNativeValueUpdates() {\n if (!this.__nativeAnimatedValueListener) {\n return;\n }\n\n this.__nativeAnimatedValueListener.remove();\n\n this.__nativeAnimatedValueListener = null;\n NativeAnimatedAPI.stopListeningToAnimatedNodeValue(this.__getNativeTag());\n };\n\n _proto.__getNativeTag = function __getNativeTag() {\n var _this$__nativeTag;\n\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\n if (this.__nativeTag == null) {\n this.__nativeTag = nativeTag;\n NativeAnimatedHelper.API.createAnimatedNode(nativeTag, this.__getNativeConfig());\n this.__shouldUpdateListenersForNewNativeTag = true;\n }\n\n return nativeTag;\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n throw new Error('This JS animated node type cannot be used as native animated node');\n };\n\n _proto.toJSON = function toJSON() {\n return this.__getValue();\n };\n\n return AnimatedNode;\n}();\n\nexport default AnimatedNode;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/f41b9bbdbef89228bbd5a946b6d90f6c.json b/.expo/web/cache/development/babel-loader/f41b9bbdbef89228bbd5a946b6d90f6c.json new file mode 100644 index 0000000000000000000000000000000000000000..90e84d84eb982d00286be528091ed239dd8efdfe --- /dev/null +++ b/.expo/web/cache/development/babel-loader/f41b9bbdbef89228bbd5a946b6d90f6c.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar stringifyPrimitive = function stringifyPrimitive(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function (obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return map(objectKeys(obj), function (k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n\n if (isArray(obj[k])) {\n return map(obj[k], function (v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq + encodeURIComponent(stringifyPrimitive(obj));\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nfunction map(xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n\n for (var i = 0; i < xs.length; i++) {\n res.push(f(xs[i], i));\n }\n\n return res;\n}\n\nvar objectKeys = Object.keys || function (obj) {\n var res = [];\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);\n }\n\n return res;\n};","map":{"version":3,"sources":["C:/Users/user/AppData/Roaming/npm/node_modules/expo-cli/node_modules/querystring-es3/encode.js"],"names":["stringifyPrimitive","v","isFinite","module","exports","obj","sep","eq","name","undefined","map","objectKeys","k","ks","encodeURIComponent","isArray","join","Array","xs","Object","prototype","toString","call","f","res","i","length","push","keys","key","hasOwnProperty"],"mappings":"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","sourcesContent":["// 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 stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return map(objectKeys(obj), function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (isArray(obj[k])) {\n return map(obj[k], function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f(xs[i], i));\n }\n return res;\n}\n\nvar objectKeys = Object.keys || function (obj) {\n var res = [];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);\n }\n return res;\n};\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/f442d3d64f467a903c26e54961f4b065.json b/.expo/web/cache/development/babel-loader/f442d3d64f467a903c26e54961f4b065.json new file mode 100644 index 0000000000000000000000000000000000000000..ac66de81799498c90e755fc6b77220deb569b591 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/f442d3d64f467a903c26e54961f4b065.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n listenOnChange();\n useeffect();\n\n function useeffect() {\n var querySnapshot = getDocs(collection(db, \"Users\"));\n querySnapshot.forEach(function (doc) {\n console.log(doc.id + \" => \" + doc.data());\n });\n }\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n }\n });\n });\n }\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" bla\"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","firebase","DATA","UserLists","navigation","route","users","setUsers","listenOnChange","useeffect","querySnapshot","getDocs","forEach","console","log","id","data","snapchot","docChanges","change","type","message","itemData","name","Name","email","Email","image","Image","push","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","Alert","alert","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState(null);\r\n\r\nlistenOnChange();\r\nuseeffect();\r\n\r\n/*useEffect(()=>{\r\n \r\nconst colRef = collection(db,\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n const {email, image, name} = doc.data();\r\n const itemData = {name: name, email: email, image: image}\r\n DATA.push(itemData);\r\n Alert.alert(name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])*/\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\nfunction useeffect(){\r\n const querySnapshot = getDocs(collection(db, \"Users\"));\r\nquerySnapshot.forEach((doc) => {\r\n console.log(`${doc.id} => ${doc.data()}`);\r\n});\r\n}\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n //Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> bla</Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/f44d39627be6296357aacde08eed9d32.json b/.expo/web/cache/development/babel-loader/f44d39627be6296357aacde08eed9d32.json new file mode 100644 index 0000000000000000000000000000000000000000..714518712a3e9048ed30202fdef5ec007b2ad6e3 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/f44d39627be6296357aacde08eed9d32.json @@ -0,0 +1 @@ +{"ast":null,"code":"var _global$contexts;\n\nimport * as React from 'react';\nvar contexts = '__react_navigation__elements_contexts';\nglobal[contexts] = (_global$contexts = global[contexts]) !== null && _global$contexts !== void 0 ? _global$contexts : new Map();\nexport default function getNamedContext(name, initialValue) {\n var context = global[contexts].get(name);\n\n if (context) {\n return context;\n }\n\n context = React.createContext(initialValue);\n context.displayName = name;\n global[contexts].set(name, context);\n return context;\n}","map":{"version":3,"sources":["getNamedContext.tsx"],"names":["contexts","global","context","React"],"mappings":";;AAAA,OAAO,KAAP,KAAA,MAAA,OAAA;AAEA,IAAMA,QAAQ,GAAd,uCAAA;AAOAC,MAAM,CAANA,QAAM,CAANA,GAAAA,CAAAA,gBAAAA,GAAmBA,MAAM,CAAzBA,QAAyB,CAAzBA,MAAAA,IAAAA,IAAAA,gBAAAA,KAAAA,KAAAA,CAAAA,GAAAA,gBAAAA,GAAuC,IAAvCA,GAAuC,EAAvCA;AAEA,eAAe,SAAA,eAAA,CAAA,IAAA,EAAA,YAAA,EAGK;AAClB,MAAIC,OAAO,GAAGD,MAAM,CAANA,QAAM,CAANA,CAAAA,GAAAA,CAAd,IAAcA,CAAd;;AAEA,MAAA,OAAA,EAAa;AACX,WAAA,OAAA;AACD;;AAEDC,EAAAA,OAAO,GAAGC,KAAK,CAALA,aAAAA,CAAVD,YAAUC,CAAVD;AACAA,EAAAA,OAAO,CAAPA,WAAAA,GAAAA,IAAAA;AAEAD,EAAAA,MAAM,CAANA,QAAM,CAANA,CAAAA,GAAAA,CAAAA,IAAAA,EAAAA,OAAAA;AAEA,SAAA,OAAA;AACD","sourcesContent":["import * as React from 'react';\n\nconst contexts = '__react_navigation__elements_contexts';\n\ndeclare global {\n var __react_navigation__elements_contexts: Map<string, React.Context<any>>;\n}\n\n// We use a global variable to keep our contexts so that we can reuse same contexts across packages\nglobal[contexts] = global[contexts] ?? new Map<string, React.Context<any>>();\n\nexport default function getNamedContext<T>(\n name: string,\n initialValue: T\n): React.Context<T> {\n let context = global[contexts].get(name);\n\n if (context) {\n return context;\n }\n\n context = React.createContext<T>(initialValue);\n context.displayName = name;\n\n global[contexts].set(name, context);\n\n return context;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/f48fc02b2081178637097160053a4816.json b/.expo/web/cache/development/babel-loader/f48fc02b2081178637097160053a4816.json new file mode 100644 index 0000000000000000000000000000000000000000..36636875f3c4aec61740d4767c0e55a1360e5960 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/f48fc02b2081178637097160053a4816.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar stripAnsi = require('strip-ansi');\n\nvar url = require('url');\n\nvar launchEditorEndpoint = require(\"./launchEditorEndpoint\");\n\nvar formatWebpackMessages = require(\"./formatWebpackMessages\");\n\nvar ErrorOverlay = require('react-error-overlay');\n\nErrorOverlay.setEditorHandler(function editorHandler(errorLocation) {\n fetch(launchEditorEndpoint + '?fileName=' + window.encodeURIComponent(errorLocation.fileName) + '&lineNumber=' + window.encodeURIComponent(errorLocation.lineNumber || 1) + '&colNumber=' + window.encodeURIComponent(errorLocation.colNumber || 1));\n});\nvar hadRuntimeError = false;\nErrorOverlay.startReportingRuntimeErrors({\n onError: function onError() {\n hadRuntimeError = true;\n },\n filename: '/static/js/bundle.js'\n});\n\nif (module.hot && typeof module.hot.dispose === 'function') {\n module.hot.dispose(function () {\n ErrorOverlay.stopReportingRuntimeErrors();\n });\n}\n\nvar connection = new WebSocket(url.format({\n protocol: window.location.protocol === 'https:' ? 'wss' : 'ws',\n hostname: process.env.WDS_SOCKET_HOST || window.location.hostname,\n port: process.env.WDS_SOCKET_PORT || window.location.port,\n pathname: process.env.WDS_SOCKET_PATH || '/sockjs-node',\n slashes: true\n}));\n\nconnection.onclose = function () {\n if (typeof console !== 'undefined' && typeof console.info === 'function') {\n console.info('The development server has disconnected.\\nRefresh the page if necessary.');\n }\n};\n\nvar isFirstCompilation = true;\nvar mostRecentCompilationHash = null;\nvar hasCompileErrors = false;\n\nfunction clearOutdatedErrors() {\n if (typeof console !== 'undefined' && typeof console.clear === 'function') {\n if (hasCompileErrors) {\n console.clear();\n }\n }\n}\n\nfunction handleSuccess() {\n clearOutdatedErrors();\n var isHotUpdate = !isFirstCompilation;\n isFirstCompilation = false;\n hasCompileErrors = false;\n\n if (isHotUpdate) {\n tryApplyUpdates(function onHotUpdateSuccess() {\n tryDismissErrorOverlay();\n });\n }\n}\n\nfunction handleWarnings(warnings) {\n clearOutdatedErrors();\n var isHotUpdate = !isFirstCompilation;\n isFirstCompilation = false;\n hasCompileErrors = false;\n\n function printWarnings() {\n var formatted = formatWebpackMessages({\n warnings: warnings,\n errors: []\n });\n\n if (typeof console !== 'undefined' && typeof console.warn === 'function') {\n for (var i = 0; i < formatted.warnings.length; i++) {\n if (i === 5) {\n console.warn('There were more warnings in other files.\\n' + 'You can find a complete log in the terminal.');\n break;\n }\n\n console.warn(stripAnsi(formatted.warnings[i]));\n }\n }\n }\n\n printWarnings();\n\n if (isHotUpdate) {\n tryApplyUpdates(function onSuccessfulHotUpdate() {\n tryDismissErrorOverlay();\n });\n }\n}\n\nfunction handleErrors(errors) {\n clearOutdatedErrors();\n isFirstCompilation = false;\n hasCompileErrors = true;\n var formatted = formatWebpackMessages({\n errors: errors,\n warnings: []\n });\n ErrorOverlay.reportBuildError(formatted.errors[0]);\n\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n for (var i = 0; i < formatted.errors.length; i++) {\n console.error(stripAnsi(formatted.errors[i]));\n }\n }\n}\n\nfunction tryDismissErrorOverlay() {\n if (!hasCompileErrors) {\n ErrorOverlay.dismissBuildError();\n }\n}\n\nfunction handleAvailableHash(hash) {\n mostRecentCompilationHash = hash;\n}\n\nconnection.onmessage = function (e) {\n var message = JSON.parse(e.data);\n\n switch (message.type) {\n case 'hash':\n handleAvailableHash(message.data);\n break;\n\n case 'still-ok':\n case 'ok':\n handleSuccess();\n break;\n\n case 'content-changed':\n window.location.reload();\n break;\n\n case 'warnings':\n handleWarnings(message.data);\n break;\n\n case 'errors':\n handleErrors(message.data);\n break;\n\n default:\n }\n};\n\nfunction isUpdateAvailable() {\n return mostRecentCompilationHash !== __webpack_hash__;\n}\n\nfunction canApplyUpdates() {\n return module.hot.status() === 'idle';\n}\n\nfunction tryApplyUpdates(onHotUpdateSuccess) {\n if (!module.hot) {\n window.location.reload();\n return;\n }\n\n if (!isUpdateAvailable() || !canApplyUpdates()) {\n return;\n }\n\n function handleApplyUpdates(err, updatedModules) {\n var hasReactRefresh = process.env.FAST_REFRESH;\n var wantsForcedReload = err || !updatedModules || hadRuntimeError;\n\n if (!hasReactRefresh && wantsForcedReload) {\n window.location.reload();\n return;\n }\n\n if (typeof onHotUpdateSuccess === 'function') {\n onHotUpdateSuccess();\n }\n\n if (isUpdateAvailable()) {\n tryApplyUpdates();\n }\n }\n\n var result = module.hot.check(true, handleApplyUpdates);\n\n if (result && result.then) {\n result.then(function (updatedModules) {\n handleApplyUpdates(null, updatedModules);\n }, function (err) {\n handleApplyUpdates(err, null);\n });\n }\n}","map":{"version":3,"sources":["C:/Users/user/AppData/Roaming/npm/node_modules/expo-cli/node_modules/react-dev-utils/webpackHotDevClient.js"],"names":["stripAnsi","require","url","launchEditorEndpoint","formatWebpackMessages","ErrorOverlay","setEditorHandler","editorHandler","errorLocation","fetch","window","encodeURIComponent","fileName","lineNumber","colNumber","hadRuntimeError","startReportingRuntimeErrors","onError","filename","module","hot","dispose","stopReportingRuntimeErrors","connection","WebSocket","format","protocol","location","hostname","process","env","WDS_SOCKET_HOST","port","WDS_SOCKET_PORT","pathname","WDS_SOCKET_PATH","slashes","onclose","console","info","isFirstCompilation","mostRecentCompilationHash","hasCompileErrors","clearOutdatedErrors","clear","handleSuccess","isHotUpdate","tryApplyUpdates","onHotUpdateSuccess","tryDismissErrorOverlay","handleWarnings","warnings","printWarnings","formatted","errors","warn","i","length","onSuccessfulHotUpdate","handleErrors","reportBuildError","error","dismissBuildError","handleAvailableHash","hash","onmessage","e","message","JSON","parse","data","type","reload","isUpdateAvailable","__webpack_hash__","canApplyUpdates","status","handleApplyUpdates","err","updatedModules","hasReactRefresh","FAST_REFRESH","wantsForcedReload","result","check","then"],"mappings":"AAOA;;AAWA,IAAIA,SAAS,GAAGC,OAAO,CAAC,YAAD,CAAvB;;AACA,IAAIC,GAAG,GAAGD,OAAO,CAAC,KAAD,CAAjB;;AACA,IAAIE,oBAAoB,GAAGF,OAAO,0BAAlC;;AACA,IAAIG,qBAAqB,GAAGH,OAAO,2BAAnC;;AACA,IAAII,YAAY,GAAGJ,OAAO,CAAC,qBAAD,CAA1B;;AAEAI,YAAY,CAACC,gBAAb,CAA8B,SAASC,aAAT,CAAuBC,aAAvB,EAAsC;AAElEC,EAAAA,KAAK,CACHN,oBAAoB,GAClB,YADF,GAEEO,MAAM,CAACC,kBAAP,CAA0BH,aAAa,CAACI,QAAxC,CAFF,GAGE,cAHF,GAIEF,MAAM,CAACC,kBAAP,CAA0BH,aAAa,CAACK,UAAd,IAA4B,CAAtD,CAJF,GAKE,aALF,GAMEH,MAAM,CAACC,kBAAP,CAA0BH,aAAa,CAACM,SAAd,IAA2B,CAArD,CAPC,CAAL;AASD,CAXD;AAmBA,IAAIC,eAAe,GAAG,KAAtB;AACAV,YAAY,CAACW,2BAAb,CAAyC;AACvCC,EAAAA,OAAO,EAAE,mBAAY;AACnBF,IAAAA,eAAe,GAAG,IAAlB;AACD,GAHsC;AAIvCG,EAAAA,QAAQ,EAAE;AAJ6B,CAAzC;;AAOA,IAAIC,MAAM,CAACC,GAAP,IAAc,OAAOD,MAAM,CAACC,GAAP,CAAWC,OAAlB,KAA8B,UAAhD,EAA4D;AAC1DF,EAAAA,MAAM,CAACC,GAAP,CAAWC,OAAX,CAAmB,YAAY;AAE7BhB,IAAAA,YAAY,CAACiB,0BAAb;AACD,GAHD;AAID;;AAGD,IAAIC,UAAU,GAAG,IAAIC,SAAJ,CACftB,GAAG,CAACuB,MAAJ,CAAW;AACTC,EAAAA,QAAQ,EAAEhB,MAAM,CAACiB,QAAP,CAAgBD,QAAhB,KAA6B,QAA7B,GAAwC,KAAxC,GAAgD,IADjD;AAETE,EAAAA,QAAQ,EAAEC,OAAO,CAACC,GAAR,CAAYC,eAAZ,IAA+BrB,MAAM,CAACiB,QAAP,CAAgBC,QAFhD;AAGTI,EAAAA,IAAI,EAAEH,OAAO,CAACC,GAAR,CAAYG,eAAZ,IAA+BvB,MAAM,CAACiB,QAAP,CAAgBK,IAH5C;AAKTE,EAAAA,QAAQ,EAAEL,OAAO,CAACC,GAAR,CAAYK,eAAZ,IAA+B,cALhC;AAMTC,EAAAA,OAAO,EAAE;AANA,CAAX,CADe,CAAjB;;AAcAb,UAAU,CAACc,OAAX,GAAqB,YAAY;AAC/B,MAAI,OAAOC,OAAP,KAAmB,WAAnB,IAAkC,OAAOA,OAAO,CAACC,IAAf,KAAwB,UAA9D,EAA0E;AACxED,IAAAA,OAAO,CAACC,IAAR,CACE,0EADF;AAGD;AACF,CAND;;AASA,IAAIC,kBAAkB,GAAG,IAAzB;AACA,IAAIC,yBAAyB,GAAG,IAAhC;AACA,IAAIC,gBAAgB,GAAG,KAAvB;;AAEA,SAASC,mBAAT,GAA+B;AAE7B,MAAI,OAAOL,OAAP,KAAmB,WAAnB,IAAkC,OAAOA,OAAO,CAACM,KAAf,KAAyB,UAA/D,EAA2E;AACzE,QAAIF,gBAAJ,EAAsB;AACpBJ,MAAAA,OAAO,CAACM,KAAR;AACD;AACF;AACF;;AAGD,SAASC,aAAT,GAAyB;AACvBF,EAAAA,mBAAmB;AAEnB,MAAIG,WAAW,GAAG,CAACN,kBAAnB;AACAA,EAAAA,kBAAkB,GAAG,KAArB;AACAE,EAAAA,gBAAgB,GAAG,KAAnB;;AAGA,MAAII,WAAJ,EAAiB;AACfC,IAAAA,eAAe,CAAC,SAASC,kBAAT,GAA8B;AAG5CC,MAAAA,sBAAsB;AACvB,KAJc,CAAf;AAKD;AACF;;AAGD,SAASC,cAAT,CAAwBC,QAAxB,EAAkC;AAChCR,EAAAA,mBAAmB;AAEnB,MAAIG,WAAW,GAAG,CAACN,kBAAnB;AACAA,EAAAA,kBAAkB,GAAG,KAArB;AACAE,EAAAA,gBAAgB,GAAG,KAAnB;;AAEA,WAASU,aAAT,GAAyB;AAEvB,QAAIC,SAAS,GAAGjD,qBAAqB,CAAC;AACpC+C,MAAAA,QAAQ,EAAEA,QAD0B;AAEpCG,MAAAA,MAAM,EAAE;AAF4B,KAAD,CAArC;;AAKA,QAAI,OAAOhB,OAAP,KAAmB,WAAnB,IAAkC,OAAOA,OAAO,CAACiB,IAAf,KAAwB,UAA9D,EAA0E;AACxE,WAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,SAAS,CAACF,QAAV,CAAmBM,MAAvC,EAA+CD,CAAC,EAAhD,EAAoD;AAClD,YAAIA,CAAC,KAAK,CAAV,EAAa;AACXlB,UAAAA,OAAO,CAACiB,IAAR,CACE,+CACE,8CAFJ;AAIA;AACD;;AACDjB,QAAAA,OAAO,CAACiB,IAAR,CAAavD,SAAS,CAACqD,SAAS,CAACF,QAAV,CAAmBK,CAAnB,CAAD,CAAtB;AACD;AACF;AACF;;AAEDJ,EAAAA,aAAa;;AAGb,MAAIN,WAAJ,EAAiB;AACfC,IAAAA,eAAe,CAAC,SAASW,qBAAT,GAAiC;AAG/CT,MAAAA,sBAAsB;AACvB,KAJc,CAAf;AAKD;AACF;;AAGD,SAASU,YAAT,CAAsBL,MAAtB,EAA8B;AAC5BX,EAAAA,mBAAmB;AAEnBH,EAAAA,kBAAkB,GAAG,KAArB;AACAE,EAAAA,gBAAgB,GAAG,IAAnB;AAGA,MAAIW,SAAS,GAAGjD,qBAAqB,CAAC;AACpCkD,IAAAA,MAAM,EAAEA,MAD4B;AAEpCH,IAAAA,QAAQ,EAAE;AAF0B,GAAD,CAArC;AAMA9C,EAAAA,YAAY,CAACuD,gBAAb,CAA8BP,SAAS,CAACC,MAAV,CAAiB,CAAjB,CAA9B;;AAGA,MAAI,OAAOhB,OAAP,KAAmB,WAAnB,IAAkC,OAAOA,OAAO,CAACuB,KAAf,KAAyB,UAA/D,EAA2E;AACzE,SAAK,IAAIL,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,SAAS,CAACC,MAAV,CAAiBG,MAArC,EAA6CD,CAAC,EAA9C,EAAkD;AAChDlB,MAAAA,OAAO,CAACuB,KAAR,CAAc7D,SAAS,CAACqD,SAAS,CAACC,MAAV,CAAiBE,CAAjB,CAAD,CAAvB;AACD;AACF;AAIF;;AAED,SAASP,sBAAT,GAAkC;AAChC,MAAI,CAACP,gBAAL,EAAuB;AACrBrC,IAAAA,YAAY,CAACyD,iBAAb;AACD;AACF;;AAGD,SAASC,mBAAT,CAA6BC,IAA7B,EAAmC;AAEjCvB,EAAAA,yBAAyB,GAAGuB,IAA5B;AACD;;AAGDzC,UAAU,CAAC0C,SAAX,GAAuB,UAAUC,CAAV,EAAa;AAClC,MAAIC,OAAO,GAAGC,IAAI,CAACC,KAAL,CAAWH,CAAC,CAACI,IAAb,CAAd;;AACA,UAAQH,OAAO,CAACI,IAAhB;AACE,SAAK,MAAL;AACER,MAAAA,mBAAmB,CAACI,OAAO,CAACG,IAAT,CAAnB;AACA;;AACF,SAAK,UAAL;AACA,SAAK,IAAL;AACEzB,MAAAA,aAAa;AACb;;AACF,SAAK,iBAAL;AAEEnC,MAAAA,MAAM,CAACiB,QAAP,CAAgB6C,MAAhB;AACA;;AACF,SAAK,UAAL;AACEtB,MAAAA,cAAc,CAACiB,OAAO,CAACG,IAAT,CAAd;AACA;;AACF,SAAK,QAAL;AACEX,MAAAA,YAAY,CAACQ,OAAO,CAACG,IAAT,CAAZ;AACA;;AACF;AAlBF;AAqBD,CAvBD;;AA0BA,SAASG,iBAAT,GAA6B;AAI3B,SAAOhC,yBAAyB,KAAKiC,gBAArC;AACD;;AAGD,SAASC,eAAT,GAA2B;AACzB,SAAOxD,MAAM,CAACC,GAAP,CAAWwD,MAAX,OAAwB,MAA/B;AACD;;AAGD,SAAS7B,eAAT,CAAyBC,kBAAzB,EAA6C;AAC3C,MAAI,CAAC7B,MAAM,CAACC,GAAZ,EAAiB;AAEfV,IAAAA,MAAM,CAACiB,QAAP,CAAgB6C,MAAhB;AACA;AACD;;AAED,MAAI,CAACC,iBAAiB,EAAlB,IAAwB,CAACE,eAAe,EAA5C,EAAgD;AAC9C;AACD;;AAED,WAASE,kBAAT,CAA4BC,GAA5B,EAAiCC,cAAjC,EAAiD;AAE/C,QAAMC,eAAe,GAAGnD,OAAO,CAACC,GAAR,CAAYmD,YAApC;AACA,QAAMC,iBAAiB,GAAGJ,GAAG,IAAI,CAACC,cAAR,IAA0BhE,eAApD;;AAEA,QAAI,CAACiE,eAAD,IAAoBE,iBAAxB,EAA2C;AACzCxE,MAAAA,MAAM,CAACiB,QAAP,CAAgB6C,MAAhB;AACA;AACD;;AAED,QAAI,OAAOxB,kBAAP,KAA8B,UAAlC,EAA8C;AAE5CA,MAAAA,kBAAkB;AACnB;;AAED,QAAIyB,iBAAiB,EAArB,EAAyB;AAEvB1B,MAAAA,eAAe;AAChB;AACF;;AAGD,MAAIoC,MAAM,GAAGhE,MAAM,CAACC,GAAP,CAAWgE,KAAX,CAAiC,IAAjC,EAAuCP,kBAAvC,CAAb;;AAGA,MAAIM,MAAM,IAAIA,MAAM,CAACE,IAArB,EAA2B;AACzBF,IAAAA,MAAM,CAACE,IAAP,CACE,UAAUN,cAAV,EAA0B;AACxBF,MAAAA,kBAAkB,CAAC,IAAD,EAAOE,cAAP,CAAlB;AACD,KAHH,EAIE,UAAUD,GAAV,EAAe;AACbD,MAAAA,kBAAkB,CAACC,GAAD,EAAM,IAAN,CAAlB;AACD,KANH;AAQD;AACF","sourcesContent":["/**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n// This alternative WebpackDevServer combines the functionality of:\n// https://github.com/webpack/webpack-dev-server/blob/webpack-1/client/index.js\n// https://github.com/webpack/webpack/blob/webpack-1/hot/dev-server.js\n\n// It only supports their simplest configuration (hot updates on same server).\n// It makes some opinionated choices on top, like adding a syntax error overlay\n// that looks similar to our console output. The error overlay is inspired by:\n// https://github.com/glenjamin/webpack-hot-middleware\n\nvar stripAnsi = require('strip-ansi');\nvar url = require('url');\nvar launchEditorEndpoint = require('./launchEditorEndpoint');\nvar formatWebpackMessages = require('./formatWebpackMessages');\nvar ErrorOverlay = require('react-error-overlay');\n\nErrorOverlay.setEditorHandler(function editorHandler(errorLocation) {\n // Keep this sync with errorOverlayMiddleware.js\n fetch(\n launchEditorEndpoint +\n '?fileName=' +\n window.encodeURIComponent(errorLocation.fileName) +\n '&lineNumber=' +\n window.encodeURIComponent(errorLocation.lineNumber || 1) +\n '&colNumber=' +\n window.encodeURIComponent(errorLocation.colNumber || 1)\n );\n});\n\n// We need to keep track of if there has been a runtime error.\n// Essentially, we cannot guarantee application state was not corrupted by the\n// runtime error. To prevent confusing behavior, we forcibly reload the entire\n// application. This is handled below when we are notified of a compile (code\n// change).\n// See https://github.com/facebook/create-react-app/issues/3096\nvar hadRuntimeError = false;\nErrorOverlay.startReportingRuntimeErrors({\n onError: function () {\n hadRuntimeError = true;\n },\n filename: '/static/js/bundle.js',\n});\n\nif (module.hot && typeof module.hot.dispose === 'function') {\n module.hot.dispose(function () {\n // TODO: why do we need this?\n ErrorOverlay.stopReportingRuntimeErrors();\n });\n}\n\n// Connect to WebpackDevServer via a socket.\nvar connection = new WebSocket(\n url.format({\n protocol: window.location.protocol === 'https:' ? 'wss' : 'ws',\n hostname: process.env.WDS_SOCKET_HOST || window.location.hostname,\n port: process.env.WDS_SOCKET_PORT || window.location.port,\n // Hardcoded in WebpackDevServer\n pathname: process.env.WDS_SOCKET_PATH || '/sockjs-node',\n slashes: true,\n })\n);\n\n// Unlike WebpackDevServer client, we won't try to reconnect\n// to avoid spamming the console. Disconnect usually happens\n// when developer stops the server.\nconnection.onclose = function () {\n if (typeof console !== 'undefined' && typeof console.info === 'function') {\n console.info(\n 'The development server has disconnected.\\nRefresh the page if necessary.'\n );\n }\n};\n\n// Remember some state related to hot module replacement.\nvar isFirstCompilation = true;\nvar mostRecentCompilationHash = null;\nvar hasCompileErrors = false;\n\nfunction clearOutdatedErrors() {\n // Clean up outdated compile errors, if any.\n if (typeof console !== 'undefined' && typeof console.clear === 'function') {\n if (hasCompileErrors) {\n console.clear();\n }\n }\n}\n\n// Successful compilation.\nfunction handleSuccess() {\n clearOutdatedErrors();\n\n var isHotUpdate = !isFirstCompilation;\n isFirstCompilation = false;\n hasCompileErrors = false;\n\n // Attempt to apply hot updates or reload.\n if (isHotUpdate) {\n tryApplyUpdates(function onHotUpdateSuccess() {\n // Only dismiss it when we're sure it's a hot update.\n // Otherwise it would flicker right before the reload.\n tryDismissErrorOverlay();\n });\n }\n}\n\n// Compilation with warnings (e.g. ESLint).\nfunction handleWarnings(warnings) {\n clearOutdatedErrors();\n\n var isHotUpdate = !isFirstCompilation;\n isFirstCompilation = false;\n hasCompileErrors = false;\n\n function printWarnings() {\n // Print warnings to the console.\n var formatted = formatWebpackMessages({\n warnings: warnings,\n errors: [],\n });\n\n if (typeof console !== 'undefined' && typeof console.warn === 'function') {\n for (var i = 0; i < formatted.warnings.length; i++) {\n if (i === 5) {\n console.warn(\n 'There were more warnings in other files.\\n' +\n 'You can find a complete log in the terminal.'\n );\n break;\n }\n console.warn(stripAnsi(formatted.warnings[i]));\n }\n }\n }\n\n printWarnings();\n\n // Attempt to apply hot updates or reload.\n if (isHotUpdate) {\n tryApplyUpdates(function onSuccessfulHotUpdate() {\n // Only dismiss it when we're sure it's a hot update.\n // Otherwise it would flicker right before the reload.\n tryDismissErrorOverlay();\n });\n }\n}\n\n// Compilation with errors (e.g. syntax error or missing modules).\nfunction handleErrors(errors) {\n clearOutdatedErrors();\n\n isFirstCompilation = false;\n hasCompileErrors = true;\n\n // \"Massage\" webpack messages.\n var formatted = formatWebpackMessages({\n errors: errors,\n warnings: [],\n });\n\n // Only show the first error.\n ErrorOverlay.reportBuildError(formatted.errors[0]);\n\n // Also log them to the console.\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n for (var i = 0; i < formatted.errors.length; i++) {\n console.error(stripAnsi(formatted.errors[i]));\n }\n }\n\n // Do not attempt to reload now.\n // We will reload on next success instead.\n}\n\nfunction tryDismissErrorOverlay() {\n if (!hasCompileErrors) {\n ErrorOverlay.dismissBuildError();\n }\n}\n\n// There is a newer version of the code available.\nfunction handleAvailableHash(hash) {\n // Update last known compilation hash.\n mostRecentCompilationHash = hash;\n}\n\n// Handle messages from the server.\nconnection.onmessage = function (e) {\n var message = JSON.parse(e.data);\n switch (message.type) {\n case 'hash':\n handleAvailableHash(message.data);\n break;\n case 'still-ok':\n case 'ok':\n handleSuccess();\n break;\n case 'content-changed':\n // Triggered when a file from `contentBase` changed.\n window.location.reload();\n break;\n case 'warnings':\n handleWarnings(message.data);\n break;\n case 'errors':\n handleErrors(message.data);\n break;\n default:\n // Do nothing.\n }\n};\n\n// Is there a newer version of this code available?\nfunction isUpdateAvailable() {\n /* globals __webpack_hash__ */\n // __webpack_hash__ is the hash of the current compilation.\n // It's a global variable injected by webpack.\n return mostRecentCompilationHash !== __webpack_hash__;\n}\n\n// webpack disallows updates in other states.\nfunction canApplyUpdates() {\n return module.hot.status() === 'idle';\n}\n\n// Attempt to update code on the fly, fall back to a hard reload.\nfunction tryApplyUpdates(onHotUpdateSuccess) {\n if (!module.hot) {\n // HotModuleReplacementPlugin is not in webpack configuration.\n window.location.reload();\n return;\n }\n\n if (!isUpdateAvailable() || !canApplyUpdates()) {\n return;\n }\n\n function handleApplyUpdates(err, updatedModules) {\n // NOTE: This var is injected by Webpack's DefinePlugin, and is a boolean instead of string.\n const hasReactRefresh = process.env.FAST_REFRESH;\n const wantsForcedReload = err || !updatedModules || hadRuntimeError;\n // React refresh can handle hot-reloading over errors.\n if (!hasReactRefresh && wantsForcedReload) {\n window.location.reload();\n return;\n }\n\n if (typeof onHotUpdateSuccess === 'function') {\n // Maybe we want to do something.\n onHotUpdateSuccess();\n }\n\n if (isUpdateAvailable()) {\n // While we were updating, there was a new update! Do it again.\n tryApplyUpdates();\n }\n }\n\n // https://webpack.github.io/docs/hot-module-replacement.html#check\n var result = module.hot.check(/* autoApply */ true, handleApplyUpdates);\n\n // // webpack 2 returns a Promise instead of invoking a callback\n if (result && result.then) {\n result.then(\n function (updatedModules) {\n handleApplyUpdates(null, updatedModules);\n },\n function (err) {\n handleApplyUpdates(err, null);\n }\n );\n }\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/f522b3e7f00cd3cf72c571880d84dee8.json b/.expo/web/cache/development/babel-loader/f522b3e7f00cd3cf72c571880d84dee8.json new file mode 100644 index 0000000000000000000000000000000000000000..2b517d695eb7d88107fca442898508e7ff1c5c78 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/f522b3e7f00cd3cf72c571880d84dee8.json @@ -0,0 +1 @@ +{"ast":null,"code":"var isWebColor = function isWebColor(color) {\n return color === 'currentcolor' || color === 'currentColor' || color === 'inherit' || color.indexOf('var(') === 0;\n};\n\nexport default isWebColor;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/isWebColor/index.js"],"names":["isWebColor","color","indexOf"],"mappings":"AAQA,IAAIA,UAAU,GAAG,SAASA,UAAT,CAAoBC,KAApB,EAA2B;AAC1C,SAAOA,KAAK,KAAK,cAAV,IAA4BA,KAAK,KAAK,cAAtC,IAAwDA,KAAK,KAAK,SAAlE,IAA+EA,KAAK,CAACC,OAAN,CAAc,MAAd,MAA0B,CAAhH;AACD,CAFD;;AAIA,eAAeF,UAAf","sourcesContent":["/**\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 isWebColor = function isWebColor(color) {\n return color === 'currentcolor' || color === 'currentColor' || color === 'inherit' || color.indexOf('var(') === 0;\n};\n\nexport default isWebColor;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/f55d5a9e1c17cd8d21f93e73b8d12822.json b/.expo/web/cache/development/babel-loader/f55d5a9e1c17cd8d21f93e73b8d12822.json new file mode 100644 index 0000000000000000000000000000000000000000..9e9c8c41e5d7404337ca9123124cedd6ddd13b84 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/f55d5a9e1c17cd8d21f93e73b8d12822.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore } from \"firebase/firestore\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar dbRef = firebase.firestore().collection('users');\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n setUsers(users);\n });\n }, []);\n\n function writeData() {\n dbRef.add({\n Email: \"Ada\",\n Image: \"Lovelace\",\n Name: \"1815\"\n });\n }\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsxs(Text, {\n children: [item.title, users.toString]\n })\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\",\n onPress: writeData\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","dbRef","firebase","firestore","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","writeData","add","params","Alert","alert","post","Item","item","onPress","backgroundColor","textColor","styles","title","toString","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore} from \"firebase/firestore\"\r\n\r\n\r\nconst dbRef = firebase.firestore().collection('users');\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n setUsers(users)\r\n});\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\nfunction writeData(){\r\n /*try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\n\r\n\r\n\r\n\r\n\r\ndbRef.add({\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n})\r\n}\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})*/\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async (id) => {\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUser({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.title}\r\n {users.toString}\r\n \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser' onPress={writeData}/>\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/f5f3f220cae5d87a58d9d6ed6afe2136.json b/.expo/web/cache/development/babel-loader/f5f3f220cae5d87a58d9d6ed6afe2136.json new file mode 100644 index 0000000000000000000000000000000000000000..eb3987c5e1b8123afc39e1fd13a01afe6bcd3d1a --- /dev/null +++ b/.expo/web/cache/development/babel-loader/f5f3f220cae5d87a58d9d6ed6afe2136.json @@ -0,0 +1 @@ +{"ast":null,"code":"function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } 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\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(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\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\nimport * as React from 'react';\nimport NavigationBuilderContext from \"./NavigationBuilderContext\";\nexport default function useFocusedListenersChildrenAdapter(_ref) {\n var navigation = _ref.navigation,\n focusedListeners = _ref.focusedListeners;\n\n var _React$useContext = React.useContext(NavigationBuilderContext),\n addListener = _React$useContext.addListener;\n\n var listener = React.useCallback(function (callback) {\n if (navigation.isFocused()) {\n for (var _iterator = _createForOfIteratorHelperLoose(focusedListeners), _step; !(_step = _iterator()).done;) {\n var _listener = _step.value;\n\n var _listener2 = _listener(callback),\n handled = _listener2.handled,\n result = _listener2.result;\n\n if (handled) {\n return {\n handled: handled,\n result: result\n };\n }\n }\n\n return {\n handled: true,\n result: callback(navigation)\n };\n } else {\n return {\n handled: false,\n result: null\n };\n }\n }, [focusedListeners, navigation]);\n React.useEffect(function () {\n return addListener === null || addListener === void 0 ? void 0 : addListener('focus', listener);\n }, [addListener, listener]);\n}","map":{"version":3,"sources":["useFocusedListenersChildrenAdapter.tsx"],"names":["focusedListeners","addListener","React","listener","callback","navigation","result","handled"],"mappings":";;;;;;AACA,OAAO,KAAP,KAAA,MAAA,OAAA;AAEA,OAAA,wBAAA;AAcA,eAAe,SAAA,kCAAA,CAAA,IAAA,EAGH;AAH+C,MAAA,UAAA,GAG/C,IAH+C,CAAA,UAAA;AAAA,MAEzDA,gBAFyD,GAG/C,IAH+C,CAEzDA,gBAFyD;;AAIzD,0BAAwBE,KAAK,CAALA,UAAAA,CAAxB,wBAAwBA,CAAxB;AAAA,MAAQD,WAAR,qBAAQA,WAAR;;AAEA,MAAME,QAAQ,GAAG,KAAK,CAAL,WAAA,CACdC,UAAAA,QAAD,EAA8C;AAC5C,QAAIC,UAAU,CAAd,SAAIA,EAAJ,EAA4B;AAC1B,2DAAA,gBAAA,wCAAyC;AAAA,YAAzC,SAAyC;;AACvC,yBAA4BF,SAAQ,CAApC,QAAoC,CAApC;AAAA,YAAM,OAAN,cAAM,OAAN;AAAA,YAAiBG,MAAjB,cAAiBA,MAAjB;;AAEA,YAAA,OAAA,EAAa;AACX,iBAAO;AAAEC,YAAAA,OAAF,EAAEA,OAAF;AAAWD,YAAAA,MAAAA,EAAAA;AAAX,WAAP;AACD;AACF;;AAED,aAAO;AAAEC,QAAAA,OAAO,EAAT,IAAA;AAAiBD,QAAAA,MAAM,EAAEF,QAAQ,CAAA,UAAA;AAAjC,OAAP;AATF,KAAA,MAUO;AACL,aAAO;AAAEG,QAAAA,OAAO,EAAT,KAAA;AAAkBD,QAAAA,MAAM,EAAE;AAA1B,OAAP;AACD;AAdY,GAAA,EAgBf,CAAA,gBAAA,EAhBF,UAgBE,CAhBe,CAAjB;AAmBAJ,EAAAA,KAAK,CAALA,SAAAA,CACE;AAAA,WAAMD,WAAN,KAAA,IAAMA,IAAAA,WAAN,KAAA,KAAA,CAAMA,GAAN,KAAA,CAAMA,GAAAA,WAAW,CAAA,OAAA,EADnBC,QACmB,CAAjB;AAAA,GADFA,EAEE,CAAA,WAAA,EAFFA,QAEE,CAFFA;AAID","sourcesContent":["import type { ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationBuilderContext, {\n FocusedNavigationCallback,\n FocusedNavigationListener,\n} from './NavigationBuilderContext';\nimport type { NavigationHelpers } from './types';\n\ntype Options = {\n navigation: NavigationHelpers<ParamListBase>;\n focusedListeners: FocusedNavigationListener[];\n};\n\n/**\n * Hook for passing focus callback to children\n */\nexport default function useFocusedListenersChildrenAdapter({\n navigation,\n focusedListeners,\n}: Options) {\n const { addListener } = React.useContext(NavigationBuilderContext);\n\n const listener = React.useCallback(\n (callback: FocusedNavigationCallback<any>) => {\n if (navigation.isFocused()) {\n for (const listener of focusedListeners) {\n const { handled, result } = listener(callback);\n\n if (handled) {\n return { handled, result };\n }\n }\n\n return { handled: true, result: callback(navigation) };\n } else {\n return { handled: false, result: null };\n }\n },\n [focusedListeners, navigation]\n );\n\n React.useEffect(\n () => addListener?.('focus', listener),\n [addListener, listener]\n );\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/f607fe17a7601521fcd56f317cd86ddb.json b/.expo/web/cache/development/babel-loader/f607fe17a7601521fcd56f317cd86ddb.json new file mode 100644 index 0000000000000000000000000000000000000000..b2d21f7c2c7e1ba8e3ace8760d414626dfc5cf5b --- /dev/null +++ b/.expo/web/cache/development/babel-loader/f607fe17a7601521fcd56f317cd86ddb.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"to\", \"action\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport * as React from 'react';\nimport Platform from \"react-native-web/dist/exports/Platform\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport useLinkProps from \"./useLinkProps\";\nexport default function Link(_ref) {\n var to = _ref.to,\n action = _ref.action,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n var props = useLinkProps({\n to: to,\n action: action\n });\n\n var onPress = function onPress(e) {\n if ('onPress' in rest) {\n var _rest$onPress;\n\n (_rest$onPress = rest.onPress) === null || _rest$onPress === void 0 ? void 0 : _rest$onPress.call(rest, e);\n }\n\n props.onPress(e);\n };\n\n return React.createElement(Text, _objectSpread(_objectSpread(_objectSpread({}, props), rest), Platform.select({\n web: {\n onClick: onPress\n },\n default: {\n onPress: onPress\n }\n })));\n}","map":{"version":3,"sources":["Link.tsx"],"names":["rest","props","useLinkProps","to","action","onPress","e","web","onClick","default"],"mappings":";;;;;;;;AACA,OAAO,KAAP,KAAA,MAAA,OAAA;;;AAGA,OAAA,YAAA;AAoBA,eAAe,SAAA,IAAA,CAAA,IAAA,EAIM;AAJyD,MAAA,EAAA,GAIzD,IAJyD,CAAA,EAAA;AAAA,MAAA,MAAA,GAIzD,IAJyD,CAAA,MAAA;AAAA,MAGzEA,IAHyE,4BAIzD,IAJyD;;AAK5E,MAAMC,KAAK,GAAGC,YAAY,CAAY;AAAEC,IAAAA,EAAF,EAAEA,EAAF;AAAMC,IAAAA,MAAAA,EAAAA;AAAN,GAAZ,CAA1B;;AAEA,MAAMC,OAAO,GACXC,SADID,OACJC,CAAAA,CADc,EAEX;AACH,QAAI,aAAJ,IAAA,EAAuB;AAAA,UAAA,aAAA;;AACrB,OAAA,aAAA,GAAA,IAAI,CAAJ,OAAA,MAAA,IAAA,IAAA,aAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,IAAA,CAAA,IAAA,EAAA,CAAA,CAAA;AACD;;AAEDL,IAAAA,KAAK,CAALA,OAAAA,CAAAA,CAAAA;AAPF,GAAA;;AAUA,SAAO,KAAK,CAAL,aAAA,CAAA,IAAA,gDAA0B,KAA1B,GAA0B,IAA1B,GAGF,QAAQ,CAAR,MAAA,CAAgB;AACjBM,IAAAA,GAAG,EAAE;AAAEC,MAAAA,OAAO,EAAEH;AAAX,KADY;AAEjBI,IAAAA,OAAO,EAAE;AAAEJ,MAAAA,OAAAA,EAAAA;AAAF;AAFQ,GAAhB,CAHE,EAAP;AAQD","sourcesContent":["import type { NavigationAction } from '@react-navigation/core';\nimport * as React from 'react';\nimport { GestureResponderEvent, Platform, Text, TextProps } from 'react-native';\n\nimport useLinkProps from './useLinkProps';\nimport type { To } from './useLinkTo';\n\ntype Props<ParamList extends ReactNavigation.RootParamList> = {\n to: To<ParamList>;\n action?: NavigationAction;\n target?: string;\n onPress?: (\n e: React.MouseEvent<HTMLAnchorElement, MouseEvent> | GestureResponderEvent\n ) => void;\n} & (TextProps & { children: React.ReactNode });\n\n/**\n * Component to render link to another screen using a path.\n * Uses an anchor tag on the web.\n *\n * @param props.to Absolute path to screen (e.g. `/feeds/hot`).\n * @param props.action Optional action to use for in-page navigation. By default, the path is parsed to an action based on linking config.\n * @param props.children Child elements to render the content.\n */\nexport default function Link<ParamList extends ReactNavigation.RootParamList>({\n to,\n action,\n ...rest\n}: Props<ParamList>) {\n const props = useLinkProps<ParamList>({ to, action });\n\n const onPress = (\n e: React.MouseEvent<HTMLAnchorElement, MouseEvent> | GestureResponderEvent\n ) => {\n if ('onPress' in rest) {\n rest.onPress?.(e);\n }\n\n props.onPress(e);\n };\n\n return React.createElement(Text, {\n ...props,\n ...rest,\n ...Platform.select({\n web: { onClick: onPress } as any,\n default: { onPress },\n }),\n });\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/f7385b37e470573318cdac625c200908.json b/.expo/web/cache/development/babel-loader/f7385b37e470573318cdac625c200908.json new file mode 100644 index 0000000000000000000000000000000000000000..9f12244bae24b63f1d74a57db130d9f3deb64c19 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/f7385b37e470573318cdac625c200908.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport View from \"../../../exports/View\";\nimport { AnimatedEvent } from \"./AnimatedEvent\";\nimport AnimatedProps from \"./nodes/AnimatedProps\";\nimport * as React from 'react';\nimport NativeAnimatedHelper from \"./NativeAnimatedHelper\";\nimport invariant from 'fbjs/lib/invariant';\nimport setAndForwardRef from \"../Utilities/setAndForwardRef\";\nvar animatedComponentNextId = 1;\n\nfunction createAnimatedComponent(Component, options) {\n invariant(typeof Component !== 'function' || Component.prototype && Component.prototype.isReactComponent, '`createAnimatedComponent` does not support stateless functional components; ' + 'use a class component instead.');\n\n var AnimatedComponent = function (_React$Component) {\n _inheritsLoose(AnimatedComponent, _React$Component);\n\n function AnimatedComponent() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this._invokeAnimatedPropsCallbackOnMount = false;\n _this._eventDetachers = [];\n _this._animatedComponentId = animatedComponentNextId++ + \":animatedComponent\";\n\n _this._isFabric = function () {\n var _this$_component$_int, _this$_component$_int2, _this$_component$getN, _this$_component$getN2, _this$_component$getS, _this$_component$getS2;\n\n if (_this._component == null) {\n return false;\n }\n\n return ((_this$_component$_int = _this._component['_internalInstanceHandle']) == null ? void 0 : (_this$_component$_int2 = _this$_component$_int.stateNode) == null ? void 0 : _this$_component$_int2.canonical) != null || _this._component.getNativeScrollRef != null && _this._component.getNativeScrollRef() != null && ((_this$_component$getN = _this._component.getNativeScrollRef()['_internalInstanceHandle']) == null ? void 0 : (_this$_component$getN2 = _this$_component$getN.stateNode) == null ? void 0 : _this$_component$getN2.canonical) != null || _this._component.getScrollResponder != null && _this._component.getScrollResponder() != null && _this._component.getScrollResponder().getNativeScrollRef != null && _this._component.getScrollResponder().getNativeScrollRef() != null && ((_this$_component$getS = _this._component.getScrollResponder().getNativeScrollRef()['_internalInstanceHandle']) == null ? void 0 : (_this$_component$getS2 = _this$_component$getS.stateNode) == null ? void 0 : _this$_component$getS2.canonical) != null;\n };\n\n _this._waitForUpdate = function () {\n if (_this._isFabric()) {\n NativeAnimatedHelper.API.setWaitingForIdentifier(_this._animatedComponentId);\n }\n };\n\n _this._markUpdateComplete = function () {\n if (_this._isFabric()) {\n NativeAnimatedHelper.API.unsetWaitingForIdentifier(_this._animatedComponentId);\n }\n };\n\n _this._animatedPropsCallback = function () {\n if (_this._component == null) {\n _this._invokeAnimatedPropsCallbackOnMount = true;\n } else if (process.env.NODE_ENV === 'test' || typeof _this._component.setNativeProps !== 'function' || _this._isFabric()) {\n _this.forceUpdate();\n } else if (!_this._propsAnimated.__isNative) {\n _this._component.setNativeProps(_this._propsAnimated.__getAnimatedValue());\n } else {\n throw new Error('Attempting to run JS driven animation on animated ' + 'node that has been moved to \"native\" earlier by starting an ' + 'animation with `useNativeDriver: true`');\n }\n };\n\n _this._setComponentRef = setAndForwardRef({\n getForwardedRef: function getForwardedRef() {\n return _this.props.forwardedRef;\n },\n setLocalRef: function setLocalRef(ref) {\n _this._prevComponent = _this._component;\n _this._component = ref;\n\n if (ref != null && ref.getNode == null) {\n ref.getNode = function () {\n var _ref$constructor$name;\n\n console.warn('%s: Calling `getNode()` on the ref of an Animated component ' + 'is no longer necessary. You can now directly use the ref ' + 'instead. This method will be removed in a future release.', (_ref$constructor$name = ref.constructor.name) !== null && _ref$constructor$name !== void 0 ? _ref$constructor$name : '<<anonymous>>');\n return ref;\n };\n }\n }\n });\n return _this;\n }\n\n var _proto = AnimatedComponent.prototype;\n\n _proto._attachNativeEvents = function _attachNativeEvents() {\n var _this$_component,\n _this2 = this;\n\n var scrollableNode = (_this$_component = this._component) != null && _this$_component.getScrollableNode ? this._component.getScrollableNode() : this._component;\n\n var _loop = function _loop(key) {\n var prop = _this2.props[key];\n\n if (prop instanceof AnimatedEvent && prop.__isNative) {\n prop.__attach(scrollableNode, key);\n\n _this2._eventDetachers.push(function () {\n return prop.__detach(scrollableNode, key);\n });\n }\n };\n\n for (var key in this.props) {\n _loop(key);\n }\n };\n\n _proto._detachNativeEvents = function _detachNativeEvents() {\n this._eventDetachers.forEach(function (remove) {\n return remove();\n });\n\n this._eventDetachers = [];\n };\n\n _proto._attachProps = function _attachProps(nextProps) {\n var oldPropsAnimated = this._propsAnimated;\n\n if (nextProps === oldPropsAnimated) {\n return;\n }\n\n this._propsAnimated = new AnimatedProps(nextProps, this._animatedPropsCallback);\n\n if (oldPropsAnimated) {\n oldPropsAnimated.__restoreDefaultValues();\n\n oldPropsAnimated.__detach();\n }\n };\n\n _proto.render = function render() {\n var _props$collapsable, _props$nativeID;\n\n var _ref = this._propsAnimated.__getValue() || {},\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? {} : _ref$style,\n props = _objectWithoutPropertiesLoose(_ref, [\"style\"]);\n\n var _ref2 = this.props.passthroughAnimatedPropExplicitValues || {},\n _ref2$style = _ref2.style,\n passthruStyle = _ref2$style === void 0 ? {} : _ref2$style,\n passthruProps = _objectWithoutPropertiesLoose(_ref2, [\"style\"]);\n\n var mergedStyle = _objectSpread(_objectSpread({}, style), passthruStyle);\n\n var forceNativeIdFabric = this._component == null && ((options == null ? void 0 : options.collapsable) === false || props.collapsable !== true) || this._isFabric();\n\n var forceNativeId = (_props$collapsable = props.collapsable) !== null && _props$collapsable !== void 0 ? _props$collapsable : this._propsAnimated.__isNative || forceNativeIdFabric || (options == null ? void 0 : options.collapsable) === false;\n var collapsableProps = forceNativeId ? {\n nativeID: (_props$nativeID = props.nativeID) !== null && _props$nativeID !== void 0 ? _props$nativeID : 'animatedComponent',\n collapsable: false\n } : {};\n return React.createElement(Component, _extends({}, props, passthruProps, collapsableProps, {\n style: mergedStyle,\n ref: this._setComponentRef\n }));\n };\n\n _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {\n this._waitForUpdate();\n\n this._attachProps(this.props);\n };\n\n _proto.componentDidMount = function componentDidMount() {\n if (this._invokeAnimatedPropsCallbackOnMount) {\n this._invokeAnimatedPropsCallbackOnMount = false;\n\n this._animatedPropsCallback();\n }\n\n this._propsAnimated.setNativeView(this._component);\n\n this._attachNativeEvents();\n\n this._markUpdateComplete();\n };\n\n _proto.UNSAFE_componentWillReceiveProps = function UNSAFE_componentWillReceiveProps(newProps) {\n this._waitForUpdate();\n\n this._attachProps(newProps);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (this._component !== this._prevComponent) {\n this._propsAnimated.setNativeView(this._component);\n }\n\n if (this._component !== this._prevComponent || prevProps !== this.props) {\n this._detachNativeEvents();\n\n this._attachNativeEvents();\n }\n\n this._markUpdateComplete();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this._propsAnimated && this._propsAnimated.__detach();\n\n this._detachNativeEvents();\n\n this._markUpdateComplete();\n\n this._component = null;\n this._prevComponent = null;\n };\n\n return AnimatedComponent;\n }(React.Component);\n\n return React.forwardRef(function AnimatedComponentWrapper(props, ref) {\n return React.createElement(AnimatedComponent, _extends({}, props, ref == null ? null : {\n forwardedRef: ref\n }));\n });\n}\n\nexport default createAnimatedComponent;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/Animated/createAnimatedComponent.js"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","_objectWithoutPropertiesLoose","excluded","sourceKeys","indexOf","_inheritsLoose","subClass","superClass","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","View","AnimatedEvent","AnimatedProps","React","NativeAnimatedHelper","invariant","setAndForwardRef","animatedComponentNextId","createAnimatedComponent","Component","options","isReactComponent","AnimatedComponent","_React$Component","_this","_len","args","Array","_key","concat","_invokeAnimatedPropsCallbackOnMount","_eventDetachers","_animatedComponentId","_isFabric","_this$_component$_int","_this$_component$_int2","_this$_component$getN","_this$_component$getN2","_this$_component$getS","_this$_component$getS2","_component","stateNode","canonical","getNativeScrollRef","getScrollResponder","_waitForUpdate","API","setWaitingForIdentifier","_markUpdateComplete","unsetWaitingForIdentifier","_animatedPropsCallback","process","env","NODE_ENV","setNativeProps","forceUpdate","_propsAnimated","__isNative","__getAnimatedValue","Error","_setComponentRef","getForwardedRef","props","forwardedRef","setLocalRef","ref","_prevComponent","getNode","_ref$constructor$name","console","warn","name","_proto","_attachNativeEvents","_this$_component","_this2","scrollableNode","getScrollableNode","_loop","prop","__attach","__detach","_detachNativeEvents","remove","_attachProps","nextProps","oldPropsAnimated","__restoreDefaultValues","render","_props$collapsable","_props$nativeID","_ref","__getValue","_ref$style","style","_ref2","passthroughAnimatedPropExplicitValues","_ref2$style","passthruStyle","passthruProps","mergedStyle","forceNativeIdFabric","collapsable","forceNativeId","collapsableProps","nativeID","createElement","UNSAFE_componentWillMount","componentDidMount","setNativeView","UNSAFE_componentWillReceiveProps","newProps","componentDidUpdate","prevProps","componentWillUnmount","forwardRef","AnimatedComponentWrapper"],"mappings":"AASA;;AAEA,SAASA,QAAT,GAAoB;AAAEA,EAAAA,QAAQ,GAAGC,MAAM,CAACC,MAAP,IAAiB,UAAUC,MAAV,EAAkB;AAAE,SAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGC,SAAS,CAACC,MAA9B,EAAsCF,CAAC,EAAvC,EAA2C;AAAE,UAAIG,MAAM,GAAGF,SAAS,CAACD,CAAD,CAAtB;;AAA2B,WAAK,IAAII,GAAT,IAAgBD,MAAhB,EAAwB;AAAE,YAAIN,MAAM,CAACQ,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCJ,MAArC,EAA6CC,GAA7C,CAAJ,EAAuD;AAAEL,UAAAA,MAAM,CAACK,GAAD,CAAN,GAAcD,MAAM,CAACC,GAAD,CAApB;AAA4B;AAAE;AAAE;;AAAC,WAAOL,MAAP;AAAgB,GAA5P;;AAA8P,SAAOH,QAAQ,CAACY,KAAT,CAAe,IAAf,EAAqBP,SAArB,CAAP;AAAyC;;AAE7T,SAASQ,OAAT,CAAiBC,MAAjB,EAAyBC,cAAzB,EAAyC;AAAE,MAAIC,IAAI,GAAGf,MAAM,CAACe,IAAP,CAAYF,MAAZ,CAAX;;AAAgC,MAAIb,MAAM,CAACgB,qBAAX,EAAkC;AAAE,QAAIC,OAAO,GAAGjB,MAAM,CAACgB,qBAAP,CAA6BH,MAA7B,CAAd;AAAoD,QAAIC,cAAJ,EAAoBG,OAAO,GAAGA,OAAO,CAACC,MAAR,CAAe,UAAUC,GAAV,EAAe;AAAE,aAAOnB,MAAM,CAACoB,wBAAP,CAAgCP,MAAhC,EAAwCM,GAAxC,EAA6CE,UAApD;AAAiE,KAAjG,CAAV;AAA8GN,IAAAA,IAAI,CAACO,IAAL,CAAUX,KAAV,CAAgBI,IAAhB,EAAsBE,OAAtB;AAAiC;;AAAC,SAAOF,IAAP;AAAc;;AAErV,SAASQ,aAAT,CAAuBrB,MAAvB,EAA+B;AAAE,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGC,SAAS,CAACC,MAA9B,EAAsCF,CAAC,EAAvC,EAA2C;AAAE,QAAIG,MAAM,GAAGF,SAAS,CAACD,CAAD,CAAT,IAAgB,IAAhB,GAAuBC,SAAS,CAACD,CAAD,CAAhC,GAAsC,EAAnD;;AAAuD,QAAIA,CAAC,GAAG,CAAR,EAAW;AAAES,MAAAA,OAAO,CAACZ,MAAM,CAACM,MAAD,CAAP,EAAiB,IAAjB,CAAP,CAA8BkB,OAA9B,CAAsC,UAAUjB,GAAV,EAAe;AAAEkB,QAAAA,eAAe,CAACvB,MAAD,EAASK,GAAT,EAAcD,MAAM,CAACC,GAAD,CAApB,CAAf;AAA4C,OAAnG;AAAuG,KAApH,MAA0H,IAAIP,MAAM,CAAC0B,yBAAX,EAAsC;AAAE1B,MAAAA,MAAM,CAAC2B,gBAAP,CAAwBzB,MAAxB,EAAgCF,MAAM,CAAC0B,yBAAP,CAAiCpB,MAAjC,CAAhC;AAA4E,KAApH,MAA0H;AAAEM,MAAAA,OAAO,CAACZ,MAAM,CAACM,MAAD,CAAP,CAAP,CAAwBkB,OAAxB,CAAgC,UAAUjB,GAAV,EAAe;AAAEP,QAAAA,MAAM,CAAC4B,cAAP,CAAsB1B,MAAtB,EAA8BK,GAA9B,EAAmCP,MAAM,CAACoB,wBAAP,CAAgCd,MAAhC,EAAwCC,GAAxC,CAAnC;AAAmF,OAApI;AAAwI;AAAE;;AAAC,SAAOL,MAAP;AAAgB;;AAEthB,SAASuB,eAAT,CAAyBI,GAAzB,EAA8BtB,GAA9B,EAAmCuB,KAAnC,EAA0C;AAAE,MAAIvB,GAAG,IAAIsB,GAAX,EAAgB;AAAE7B,IAAAA,MAAM,CAAC4B,cAAP,CAAsBC,GAAtB,EAA2BtB,GAA3B,EAAgC;AAAEuB,MAAAA,KAAK,EAAEA,KAAT;AAAgBT,MAAAA,UAAU,EAAE,IAA5B;AAAkCU,MAAAA,YAAY,EAAE,IAAhD;AAAsDC,MAAAA,QAAQ,EAAE;AAAhE,KAAhC;AAA0G,GAA5H,MAAkI;AAAEH,IAAAA,GAAG,CAACtB,GAAD,CAAH,GAAWuB,KAAX;AAAmB;;AAAC,SAAOD,GAAP;AAAa;;AAEjN,SAASI,6BAAT,CAAuC3B,MAAvC,EAA+C4B,QAA/C,EAAyD;AAAE,MAAI5B,MAAM,IAAI,IAAd,EAAoB,OAAO,EAAP;AAAW,MAAIJ,MAAM,GAAG,EAAb;AAAiB,MAAIiC,UAAU,GAAGnC,MAAM,CAACe,IAAP,CAAYT,MAAZ,CAAjB;AAAsC,MAAIC,GAAJ,EAASJ,CAAT;;AAAY,OAAKA,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGgC,UAAU,CAAC9B,MAA3B,EAAmCF,CAAC,EAApC,EAAwC;AAAEI,IAAAA,GAAG,GAAG4B,UAAU,CAAChC,CAAD,CAAhB;AAAqB,QAAI+B,QAAQ,CAACE,OAAT,CAAiB7B,GAAjB,KAAyB,CAA7B,EAAgC;AAAUL,IAAAA,MAAM,CAACK,GAAD,CAAN,GAAcD,MAAM,CAACC,GAAD,CAApB;AAA4B;;AAAC,SAAOL,MAAP;AAAgB;;AAEnT,SAASmC,cAAT,CAAwBC,QAAxB,EAAkCC,UAAlC,EAA8C;AAAED,EAAAA,QAAQ,CAAC9B,SAAT,GAAqBR,MAAM,CAACwC,MAAP,CAAcD,UAAU,CAAC/B,SAAzB,CAArB;AAA0D8B,EAAAA,QAAQ,CAAC9B,SAAT,CAAmBiC,WAAnB,GAAiCH,QAAjC;;AAA2CI,EAAAA,eAAe,CAACJ,QAAD,EAAWC,UAAX,CAAf;AAAwC;;AAE7L,SAASG,eAAT,CAAyBC,CAAzB,EAA4BC,CAA5B,EAA+B;AAAEF,EAAAA,eAAe,GAAG1C,MAAM,CAAC6C,cAAP,IAAyB,SAASH,eAAT,CAAyBC,CAAzB,EAA4BC,CAA5B,EAA+B;AAAED,IAAAA,CAAC,CAACG,SAAF,GAAcF,CAAd;AAAiB,WAAOD,CAAP;AAAW,GAAxG;;AAA0G,SAAOD,eAAe,CAACC,CAAD,EAAIC,CAAJ,CAAtB;AAA+B;;AAE1K,OAAOG,IAAP;AACA,SAASC,aAAT;AACA,OAAOC,aAAP;AACA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AACA,OAAOC,oBAAP;AACA,OAAOC,SAAP,MAAsB,oBAAtB;AACA,OAAOC,gBAAP;AACA,IAAIC,uBAAuB,GAAG,CAA9B;;AAEA,SAASC,uBAAT,CAAiCC,SAAjC,EAA4CC,OAA5C,EAAqD;AACnDL,EAAAA,SAAS,CAAC,OAAOI,SAAP,KAAqB,UAArB,IAAmCA,SAAS,CAAChD,SAAV,IAAuBgD,SAAS,CAAChD,SAAV,CAAoBkD,gBAA/E,EAAiG,iFAAiF,gCAAlL,CAAT;;AAEA,MAAIC,iBAAiB,GAAgB,UAAUC,gBAAV,EAA4B;AAC/DvB,IAAAA,cAAc,CAACsB,iBAAD,EAAoBC,gBAApB,CAAd;;AAEA,aAASD,iBAAT,GAA6B;AAC3B,UAAIE,KAAJ;;AAEA,WAAK,IAAIC,IAAI,GAAG1D,SAAS,CAACC,MAArB,EAA6B0D,IAAI,GAAG,IAAIC,KAAJ,CAAUF,IAAV,CAApC,EAAqDG,IAAI,GAAG,CAAjE,EAAoEA,IAAI,GAAGH,IAA3E,EAAiFG,IAAI,EAArF,EAAyF;AACvFF,QAAAA,IAAI,CAACE,IAAD,CAAJ,GAAa7D,SAAS,CAAC6D,IAAD,CAAtB;AACD;;AAEDJ,MAAAA,KAAK,GAAGD,gBAAgB,CAAClD,IAAjB,CAAsBC,KAAtB,CAA4BiD,gBAA5B,EAA8C,CAAC,IAAD,EAAOM,MAAP,CAAcH,IAAd,CAA9C,KAAsE,IAA9E;AACAF,MAAAA,KAAK,CAACM,mCAAN,GAA4C,KAA5C;AACAN,MAAAA,KAAK,CAACO,eAAN,GAAwB,EAAxB;AACAP,MAAAA,KAAK,CAACQ,oBAAN,GAA6Bf,uBAAuB,KAAK,oBAAzD;;AAEAO,MAAAA,KAAK,CAACS,SAAN,GAAkB,YAAY;AAC5B,YAAIC,qBAAJ,EAA2BC,sBAA3B,EAAmDC,qBAAnD,EAA0EC,sBAA1E,EAAkGC,qBAAlG,EAAyHC,sBAAzH;;AAOA,YAAIf,KAAK,CAACgB,UAAN,IAAoB,IAAxB,EAA8B;AAC5B,iBAAO,KAAP;AACD;;AAED,eACE,CAAC,CAACN,qBAAqB,GAAGV,KAAK,CAACgB,UAAN,CAAiB,yBAAjB,CAAzB,KAAyE,IAAzE,GAAgF,KAAK,CAArF,GAAyF,CAACL,sBAAsB,GAAGD,qBAAqB,CAACO,SAAhD,KAA8D,IAA9D,GAAqE,KAAK,CAA1E,GAA8EN,sBAAsB,CAACO,SAA/L,KAA6M,IAA7M,IAQAlB,KAAK,CAACgB,UAAN,CAAiBG,kBAAjB,IAAuC,IAAvC,IAA+CnB,KAAK,CAACgB,UAAN,CAAiBG,kBAAjB,MAAyC,IAAxF,IACA,CAAC,CAACP,qBAAqB,GAAGZ,KAAK,CAACgB,UAAN,CAAiBG,kBAAjB,GAAsC,yBAAtC,CAAzB,KAA8F,IAA9F,GAAqG,KAAK,CAA1G,GAA8G,CAACN,sBAAsB,GAAGD,qBAAqB,CAACK,SAAhD,KAA8D,IAA9D,GAAqE,KAAK,CAA1E,GAA8EJ,sBAAsB,CAACK,SAApN,KAAkO,IATlO,IAS0OlB,KAAK,CAACgB,UAAN,CAAiBI,kBAAjB,IAAuC,IAAvC,IAA+CpB,KAAK,CAACgB,UAAN,CAAiBI,kBAAjB,MAAyC,IAAxF,IAAgGpB,KAAK,CAACgB,UAAN,CAAiBI,kBAAjB,GAAsCD,kBAAtC,IAA4D,IAA5J,IAAoKnB,KAAK,CAACgB,UAAN,CAAiBI,kBAAjB,GAAsCD,kBAAtC,MAA8D,IAAlO,IAA0O,CAAC,CAACL,qBAAqB,GAAGd,KAAK,CAACgB,UAAN,CAAiBI,kBAAjB,GAAsCD,kBAAtC,GAC9e,yBAD8e,CAAzB,KACtb,IADsb,GAC/a,KAAK,CAD0a,GACta,CAACJ,sBAAsB,GAAGD,qBAAqB,CAACG,SAAhD,KAA8D,IAA9D,GAAqE,KAAK,CAA1E,GAA8EF,sBAAsB,CAACG,SADgU,KAClT,IAXpK;AAaD,OAzBD;;AA2BAlB,MAAAA,KAAK,CAACqB,cAAN,GAAuB,YAAY;AACjC,YAAIrB,KAAK,CAACS,SAAN,EAAJ,EAAuB;AACrBnB,UAAAA,oBAAoB,CAACgC,GAArB,CAAyBC,uBAAzB,CAAiDvB,KAAK,CAACQ,oBAAvD;AACD;AACF,OAJD;;AAMAR,MAAAA,KAAK,CAACwB,mBAAN,GAA4B,YAAY;AACtC,YAAIxB,KAAK,CAACS,SAAN,EAAJ,EAAuB;AACrBnB,UAAAA,oBAAoB,CAACgC,GAArB,CAAyBG,yBAAzB,CAAmDzB,KAAK,CAACQ,oBAAzD;AACD;AACF,OAJD;;AAMAR,MAAAA,KAAK,CAAC0B,sBAAN,GAA+B,YAAY;AACzC,YAAI1B,KAAK,CAACgB,UAAN,IAAoB,IAAxB,EAA8B;AAM5BhB,UAAAA,KAAK,CAACM,mCAAN,GAA4C,IAA5C;AACD,SAPD,MAOO,IAAIqB,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,MAAzB,IACX,OAAO7B,KAAK,CAACgB,UAAN,CAAiBc,cAAxB,KAA2C,UADhC,IAEX9B,KAAK,CAACS,SAAN,EAFO,EAEY;AACjBT,UAAAA,KAAK,CAAC+B,WAAN;AACD,SAJM,MAIA,IAAI,CAAC/B,KAAK,CAACgC,cAAN,CAAqBC,UAA1B,EAAsC;AAC3CjC,UAAAA,KAAK,CAACgB,UAAN,CAAiBc,cAAjB,CAAgC9B,KAAK,CAACgC,cAAN,CAAqBE,kBAArB,EAAhC;AACD,SAFM,MAEA;AACL,gBAAM,IAAIC,KAAJ,CAAU,uDAAuD,8DAAvD,GAAwH,wCAAlI,CAAN;AACD;AACF,OAjBD;;AAmBAnC,MAAAA,KAAK,CAACoC,gBAAN,GAAyB5C,gBAAgB,CAAC;AACxC6C,QAAAA,eAAe,EAAE,SAASA,eAAT,GAA2B;AAC1C,iBAAOrC,KAAK,CAACsC,KAAN,CAAYC,YAAnB;AACD,SAHuC;AAIxCC,QAAAA,WAAW,EAAE,SAASA,WAAT,CAAqBC,GAArB,EAA0B;AACrCzC,UAAAA,KAAK,CAAC0C,cAAN,GAAuB1C,KAAK,CAACgB,UAA7B;AACAhB,UAAAA,KAAK,CAACgB,UAAN,GAAmByB,GAAnB;;AAEA,cAAIA,GAAG,IAAI,IAAP,IAAeA,GAAG,CAACE,OAAJ,IAAe,IAAlC,EAAwC;AACtCF,YAAAA,GAAG,CAACE,OAAJ,GAAc,YAAY;AACxB,kBAAIC,qBAAJ;;AAEAC,cAAAA,OAAO,CAACC,IAAR,CAAa,iEAAiE,2DAAjE,GAA+H,2DAA5I,EAAyM,CAACF,qBAAqB,GAAGH,GAAG,CAAC7D,WAAJ,CAAgBmE,IAAzC,MAAmD,IAAnD,IAA2DH,qBAAqB,KAAK,KAAK,CAA1F,GAA8FA,qBAA9F,GAAsH,eAA/T;AACA,qBAAOH,GAAP;AACD,aALD;AAMD;AACF;AAhBuC,OAAD,CAAzC;AAkBA,aAAOzC,KAAP;AACD;;AAED,QAAIgD,MAAM,GAAGlD,iBAAiB,CAACnD,SAA/B;;AAEAqG,IAAAA,MAAM,CAACC,mBAAP,GAA6B,SAASA,mBAAT,GAA+B;AAC1D,UAAIC,gBAAJ;AAAA,UACIC,MAAM,GAAG,IADb;;AAKA,UAAIC,cAAc,GAAG,CAACF,gBAAgB,GAAG,KAAKlC,UAAzB,KAAwC,IAAxC,IAAgDkC,gBAAgB,CAACG,iBAAjE,GAAqF,KAAKrC,UAAL,CAAgBqC,iBAAhB,EAArF,GAA2H,KAAKrC,UAArJ;;AAEA,UAAIsC,KAAK,GAAG,SAASA,KAAT,CAAe5G,GAAf,EAAoB;AAC9B,YAAI6G,IAAI,GAAGJ,MAAM,CAACb,KAAP,CAAa5F,GAAb,CAAX;;AAEA,YAAI6G,IAAI,YAAYpE,aAAhB,IAAiCoE,IAAI,CAACtB,UAA1C,EAAsD;AACpDsB,UAAAA,IAAI,CAACC,QAAL,CAAcJ,cAAd,EAA8B1G,GAA9B;;AAEAyG,UAAAA,MAAM,CAAC5C,eAAP,CAAuB9C,IAAvB,CAA4B,YAAY;AACtC,mBAAO8F,IAAI,CAACE,QAAL,CAAcL,cAAd,EAA8B1G,GAA9B,CAAP;AACD,WAFD;AAGD;AACF,OAVD;;AAYA,WAAK,IAAIA,GAAT,IAAgB,KAAK4F,KAArB,EAA4B;AAC1BgB,QAAAA,KAAK,CAAC5G,GAAD,CAAL;AACD;AACF,KAvBD;;AAyBAsG,IAAAA,MAAM,CAACU,mBAAP,GAA6B,SAASA,mBAAT,GAA+B;AAC1D,WAAKnD,eAAL,CAAqB5C,OAArB,CAA6B,UAAUgG,MAAV,EAAkB;AAC7C,eAAOA,MAAM,EAAb;AACD,OAFD;;AAIA,WAAKpD,eAAL,GAAuB,EAAvB;AACD,KAND;;AAQAyC,IAAAA,MAAM,CAACY,YAAP,GAAsB,SAASA,YAAT,CAAsBC,SAAtB,EAAiC;AACrD,UAAIC,gBAAgB,GAAG,KAAK9B,cAA5B;;AAEA,UAAI6B,SAAS,KAAKC,gBAAlB,EAAoC;AAClC;AACD;;AAED,WAAK9B,cAAL,GAAsB,IAAI5C,aAAJ,CAAkByE,SAAlB,EAA6B,KAAKnC,sBAAlC,CAAtB;;AASA,UAAIoC,gBAAJ,EAAsB;AACpBA,QAAAA,gBAAgB,CAACC,sBAAjB;;AAEAD,QAAAA,gBAAgB,CAACL,QAAjB;AACD;AACF,KArBD;;AAuBAT,IAAAA,MAAM,CAACgB,MAAP,GAAgB,SAASA,MAAT,GAAkB;AAChC,UAAIC,kBAAJ,EAAwBC,eAAxB;;AAEA,UAAIC,IAAI,GAAG,KAAKnC,cAAL,CAAoBoC,UAApB,MAAoC,EAA/C;AAAA,UACIC,UAAU,GAAGF,IAAI,CAACG,KADtB;AAAA,UAEIA,KAAK,GAAGD,UAAU,KAAK,KAAK,CAApB,GAAwB,EAAxB,GAA6BA,UAFzC;AAAA,UAGI/B,KAAK,GAAGlE,6BAA6B,CAAC+F,IAAD,EAAO,CAAC,OAAD,CAAP,CAHzC;;AAKA,UAAII,KAAK,GAAG,KAAKjC,KAAL,CAAWkC,qCAAX,IAAoD,EAAhE;AAAA,UACIC,WAAW,GAAGF,KAAK,CAACD,KADxB;AAAA,UAEII,aAAa,GAAGD,WAAW,KAAK,KAAK,CAArB,GAAyB,EAAzB,GAA8BA,WAFlD;AAAA,UAGIE,aAAa,GAAGvG,6BAA6B,CAACmG,KAAD,EAAQ,CAAC,OAAD,CAAR,CAHjD;;AAKA,UAAIK,WAAW,GAAGlH,aAAa,CAACA,aAAa,CAAC,EAAD,EAAK4G,KAAL,CAAd,EAA2BI,aAA3B,CAA/B;;AAUA,UAAIG,mBAAmB,GAAG,KAAK7D,UAAL,IAAmB,IAAnB,KAA4B,CAACpB,OAAO,IAAI,IAAX,GAAkB,KAAK,CAAvB,GAA2BA,OAAO,CAACkF,WAApC,MAAqD,KAArD,IAA8DxC,KAAK,CAACwC,WAAN,KAAsB,IAAhH,KAAyH,KAAKrE,SAAL,EAAnJ;;AAEA,UAAIsE,aAAa,GAAG,CAACd,kBAAkB,GAAG3B,KAAK,CAACwC,WAA5B,MAA6C,IAA7C,IAAqDb,kBAAkB,KAAK,KAAK,CAAjF,GAAqFA,kBAArF,GAA0G,KAAKjC,cAAL,CAAoBC,UAApB,IAAkC4C,mBAAlC,IAAyD,CAACjF,OAAO,IAAI,IAAX,GAAkB,KAAK,CAAvB,GAA2BA,OAAO,CAACkF,WAApC,MAAqD,KAA5O;AAKA,UAAIE,gBAAgB,GAAGD,aAAa,GAAG;AACrCE,QAAAA,QAAQ,EAAE,CAACf,eAAe,GAAG5B,KAAK,CAAC2C,QAAzB,MAAuC,IAAvC,IAA+Cf,eAAe,KAAK,KAAK,CAAxE,GAA4EA,eAA5E,GAA8F,mBADnE;AAErCY,QAAAA,WAAW,EAAE;AAFwB,OAAH,GAGhC,EAHJ;AAIA,aAAoBzF,KAAK,CAAC6F,aAAN,CAAoBvF,SAApB,EAA+BzD,QAAQ,CAAC,EAAD,EAAKoG,KAAL,EAAYqC,aAAZ,EAA2BK,gBAA3B,EAA6C;AACtGV,QAAAA,KAAK,EAAEM,WAD+F;AAEtGnC,QAAAA,GAAG,EAAE,KAAKL;AAF4F,OAA7C,CAAvC,CAApB;AAID,KAtCD;;AAwCAY,IAAAA,MAAM,CAACmC,yBAAP,GAAmC,SAASA,yBAAT,GAAqC;AACtE,WAAK9D,cAAL;;AAEA,WAAKuC,YAAL,CAAkB,KAAKtB,KAAvB;AACD,KAJD;;AAMAU,IAAAA,MAAM,CAACoC,iBAAP,GAA2B,SAASA,iBAAT,GAA6B;AACtD,UAAI,KAAK9E,mCAAT,EAA8C;AAC5C,aAAKA,mCAAL,GAA2C,KAA3C;;AAEA,aAAKoB,sBAAL;AACD;;AAED,WAAKM,cAAL,CAAoBqD,aAApB,CAAkC,KAAKrE,UAAvC;;AAEA,WAAKiC,mBAAL;;AAEA,WAAKzB,mBAAL;AACD,KAZD;;AAcAwB,IAAAA,MAAM,CAACsC,gCAAP,GAA0C,SAASA,gCAAT,CAA0CC,QAA1C,EAAoD;AAC5F,WAAKlE,cAAL;;AAEA,WAAKuC,YAAL,CAAkB2B,QAAlB;AACD,KAJD;;AAMAvC,IAAAA,MAAM,CAACwC,kBAAP,GAA4B,SAASA,kBAAT,CAA4BC,SAA5B,EAAuC;AACjE,UAAI,KAAKzE,UAAL,KAAoB,KAAK0B,cAA7B,EAA6C;AAC3C,aAAKV,cAAL,CAAoBqD,aAApB,CAAkC,KAAKrE,UAAvC;AACD;;AAED,UAAI,KAAKA,UAAL,KAAoB,KAAK0B,cAAzB,IAA2C+C,SAAS,KAAK,KAAKnD,KAAlE,EAAyE;AACvE,aAAKoB,mBAAL;;AAEA,aAAKT,mBAAL;AACD;;AAED,WAAKzB,mBAAL;AACD,KAZD;;AAcAwB,IAAAA,MAAM,CAAC0C,oBAAP,GAA8B,SAASA,oBAAT,GAAgC;AAC5D,WAAK1D,cAAL,IAAuB,KAAKA,cAAL,CAAoByB,QAApB,EAAvB;;AAEA,WAAKC,mBAAL;;AAEA,WAAKlC,mBAAL;;AAEA,WAAKR,UAAL,GAAkB,IAAlB;AACA,WAAK0B,cAAL,GAAsB,IAAtB;AACD,KATD;;AAWA,WAAO5C,iBAAP;AACD,GApPoC,CAoPnCT,KAAK,CAACM,SApP6B,CAArC;;AAsPA,SAAoBN,KAAK,CAACsG,UAAN,CAAiB,SAASC,wBAAT,CAAkCtD,KAAlC,EAAyCG,GAAzC,EAA8C;AACjF,WAAoBpD,KAAK,CAAC6F,aAAN,CAAoBpF,iBAApB,EAAuC5D,QAAQ,CAAC,EAAD,EAAKoG,KAAL,EAAYG,GAAG,IAAI,IAAP,GAAc,IAAd,GAAqB;AAClGF,MAAAA,YAAY,EAAEE;AADoF,KAAjC,CAA/C,CAApB;AAGD,GAJmB,CAApB;AAKD;;AAED,eAAe/C,uBAAf","sourcesContent":["/**\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 * @format\n */\n'use strict';\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport View from '../../../exports/View';\nimport { AnimatedEvent } from './AnimatedEvent';\nimport AnimatedProps from './nodes/AnimatedProps';\nimport * as React from 'react';\nimport NativeAnimatedHelper from './NativeAnimatedHelper';\nimport invariant from 'fbjs/lib/invariant';\nimport setAndForwardRef from '../Utilities/setAndForwardRef';\nvar animatedComponentNextId = 1;\n\nfunction createAnimatedComponent(Component, options) {\n invariant(typeof Component !== 'function' || Component.prototype && Component.prototype.isReactComponent, '`createAnimatedComponent` does not support stateless functional components; ' + 'use a class component instead.');\n\n var AnimatedComponent = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(AnimatedComponent, _React$Component);\n\n function AnimatedComponent() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this._invokeAnimatedPropsCallbackOnMount = false;\n _this._eventDetachers = [];\n _this._animatedComponentId = animatedComponentNextId++ + \":animatedComponent\";\n\n _this._isFabric = function () {\n var _this$_component$_int, _this$_component$_int2, _this$_component$getN, _this$_component$getN2, _this$_component$getS, _this$_component$getS2;\n\n // When called during the first render, `_component` is always null.\n // Therefore, even if a component is rendered in Fabric, we can't detect\n // that until ref is set, which happens sometime after the first render.\n // In cases where this value switching between \"false\" and \"true\" on Fabric\n // causes issues, add an additional check for _component nullity.\n if (_this._component == null) {\n return false;\n }\n\n return (// eslint-disable-next-line dot-notation\n ((_this$_component$_int = _this._component['_internalInstanceHandle']) == null ? void 0 : (_this$_component$_int2 = _this$_component$_int.stateNode) == null ? void 0 : _this$_component$_int2.canonical) != null || // 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 this._component would actually be the underlying host component and the above check\n // would be sufficient.\n _this._component.getNativeScrollRef != null && _this._component.getNativeScrollRef() != null && // eslint-disable-next-line dot-notation\n ((_this$_component$getN = _this._component.getNativeScrollRef()['_internalInstanceHandle']) == null ? void 0 : (_this$_component$getN2 = _this$_component$getN.stateNode) == null ? void 0 : _this$_component$getN2.canonical) != null || _this._component.getScrollResponder != null && _this._component.getScrollResponder() != null && _this._component.getScrollResponder().getNativeScrollRef != null && _this._component.getScrollResponder().getNativeScrollRef() != null && ((_this$_component$getS = _this._component.getScrollResponder().getNativeScrollRef()[// eslint-disable-next-line dot-notation\n '_internalInstanceHandle']) == null ? void 0 : (_this$_component$getS2 = _this$_component$getS.stateNode) == null ? void 0 : _this$_component$getS2.canonical) != null\n );\n };\n\n _this._waitForUpdate = function () {\n if (_this._isFabric()) {\n NativeAnimatedHelper.API.setWaitingForIdentifier(_this._animatedComponentId);\n }\n };\n\n _this._markUpdateComplete = function () {\n if (_this._isFabric()) {\n NativeAnimatedHelper.API.unsetWaitingForIdentifier(_this._animatedComponentId);\n }\n };\n\n _this._animatedPropsCallback = function () {\n if (_this._component == null) {\n // AnimatedProps is created in will-mount because it's used in render.\n // But this callback may be invoked before mount in async mode,\n // In which case we should defer the setNativeProps() call.\n // React may throw away uncommitted work in async mode,\n // So a deferred call won't always be invoked.\n _this._invokeAnimatedPropsCallbackOnMount = true;\n } else if (process.env.NODE_ENV === 'test' || // For animating properties of non-leaf/non-native components\n typeof _this._component.setNativeProps !== 'function' || // In Fabric, force animations to go through forceUpdate and skip setNativeProps\n _this._isFabric()) {\n _this.forceUpdate();\n } else if (!_this._propsAnimated.__isNative) {\n _this._component.setNativeProps(_this._propsAnimated.__getAnimatedValue());\n } else {\n throw new Error('Attempting to run JS driven animation on animated ' + 'node that has been moved to \"native\" earlier by starting an ' + 'animation with `useNativeDriver: true`');\n }\n };\n\n _this._setComponentRef = setAndForwardRef({\n getForwardedRef: function getForwardedRef() {\n return _this.props.forwardedRef;\n },\n setLocalRef: function setLocalRef(ref) {\n _this._prevComponent = _this._component;\n _this._component = ref; // TODO: Delete this in a future release.\n\n if (ref != null && ref.getNode == null) {\n ref.getNode = function () {\n var _ref$constructor$name;\n\n console.warn('%s: Calling `getNode()` on the ref of an Animated component ' + 'is no longer necessary. You can now directly use the ref ' + 'instead. This method will be removed in a future release.', (_ref$constructor$name = ref.constructor.name) !== null && _ref$constructor$name !== void 0 ? _ref$constructor$name : '<<anonymous>>');\n return ref;\n };\n }\n }\n });\n return _this;\n }\n\n var _proto = AnimatedComponent.prototype;\n\n _proto._attachNativeEvents = function _attachNativeEvents() {\n var _this$_component,\n _this2 = this;\n\n // Make sure to get the scrollable node for components that implement\n // `ScrollResponder.Mixin`.\n var scrollableNode = (_this$_component = this._component) != null && _this$_component.getScrollableNode ? this._component.getScrollableNode() : this._component;\n\n var _loop = function _loop(key) {\n var prop = _this2.props[key];\n\n if (prop instanceof AnimatedEvent && prop.__isNative) {\n prop.__attach(scrollableNode, key);\n\n _this2._eventDetachers.push(function () {\n return prop.__detach(scrollableNode, key);\n });\n }\n };\n\n for (var key in this.props) {\n _loop(key);\n }\n };\n\n _proto._detachNativeEvents = function _detachNativeEvents() {\n this._eventDetachers.forEach(function (remove) {\n return remove();\n });\n\n this._eventDetachers = [];\n };\n\n _proto._attachProps = function _attachProps(nextProps) {\n var oldPropsAnimated = this._propsAnimated;\n\n if (nextProps === oldPropsAnimated) {\n return;\n }\n\n this._propsAnimated = new AnimatedProps(nextProps, this._animatedPropsCallback); // When you call detach, it removes the element from the parent list\n // of children. If it goes to 0, then the parent also detaches itself\n // and so on.\n // An optimization is to attach the new elements and THEN detach the old\n // ones instead of detaching and THEN attaching.\n // This way the intermediate state isn't to go to 0 and trigger\n // this expensive recursive detaching to then re-attach everything on\n // the very next operation.\n\n if (oldPropsAnimated) {\n oldPropsAnimated.__restoreDefaultValues();\n\n oldPropsAnimated.__detach();\n }\n };\n\n _proto.render = function render() {\n var _props$collapsable, _props$nativeID;\n\n var _ref = this._propsAnimated.__getValue() || {},\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? {} : _ref$style,\n props = _objectWithoutPropertiesLoose(_ref, [\"style\"]);\n\n var _ref2 = this.props.passthroughAnimatedPropExplicitValues || {},\n _ref2$style = _ref2.style,\n passthruStyle = _ref2$style === void 0 ? {} : _ref2$style,\n passthruProps = _objectWithoutPropertiesLoose(_ref2, [\"style\"]);\n\n var mergedStyle = _objectSpread(_objectSpread({}, style), passthruStyle); // On Fabric, we always want to ensure the container Animated View is *not*\n // flattened.\n // Because we do not get a host component ref immediately and thus cannot\n // do a proper Fabric vs non-Fabric detection immediately, we default to assuming\n // that Fabric *is* enabled until we know otherwise.\n // Thus, in Fabric, this view will never be flattened. In non-Fabric, the view will\n // not be flattened during the initial render but may be flattened in the second render\n // and onwards.\n\n\n var forceNativeIdFabric = this._component == null && ((options == null ? void 0 : options.collapsable) === false || props.collapsable !== true) || this._isFabric();\n\n var forceNativeId = (_props$collapsable = props.collapsable) !== null && _props$collapsable !== void 0 ? _props$collapsable : this._propsAnimated.__isNative || forceNativeIdFabric || (options == null ? void 0 : options.collapsable) === false; // The native driver updates views directly through the UI thread so we\n // have to make sure the view doesn't get optimized away because it cannot\n // go through the NativeViewHierarchyManager since it operates on the shadow\n // thread. TODO: T68258846\n\n var collapsableProps = forceNativeId ? {\n nativeID: (_props$nativeID = props.nativeID) !== null && _props$nativeID !== void 0 ? _props$nativeID : 'animatedComponent',\n collapsable: false\n } : {};\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, passthruProps, collapsableProps, {\n style: mergedStyle,\n ref: this._setComponentRef\n }));\n };\n\n _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {\n this._waitForUpdate();\n\n this._attachProps(this.props);\n };\n\n _proto.componentDidMount = function componentDidMount() {\n if (this._invokeAnimatedPropsCallbackOnMount) {\n this._invokeAnimatedPropsCallbackOnMount = false;\n\n this._animatedPropsCallback();\n }\n\n this._propsAnimated.setNativeView(this._component);\n\n this._attachNativeEvents();\n\n this._markUpdateComplete();\n };\n\n _proto.UNSAFE_componentWillReceiveProps = function UNSAFE_componentWillReceiveProps(newProps) {\n this._waitForUpdate();\n\n this._attachProps(newProps);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (this._component !== this._prevComponent) {\n this._propsAnimated.setNativeView(this._component);\n }\n\n if (this._component !== this._prevComponent || prevProps !== this.props) {\n this._detachNativeEvents();\n\n this._attachNativeEvents();\n }\n\n this._markUpdateComplete();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this._propsAnimated && this._propsAnimated.__detach();\n\n this._detachNativeEvents();\n\n this._markUpdateComplete();\n\n this._component = null;\n this._prevComponent = null;\n };\n\n return AnimatedComponent;\n }(React.Component);\n\n return /*#__PURE__*/React.forwardRef(function AnimatedComponentWrapper(props, ref) {\n return /*#__PURE__*/React.createElement(AnimatedComponent, _extends({}, props, ref == null ? null : {\n forwardedRef: ref\n }));\n });\n}\n\nexport default createAnimatedComponent;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/f7f7aad4059ad8758bec0bc8fa24b676.json b/.expo/web/cache/development/babel-loader/f7f7aad4059ad8758bec0bc8fa24b676.json new file mode 100644 index 0000000000000000000000000000000000000000..8171d6601eef5b1e8b36580943df97bbe8e3c169 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/f7f7aad4059ad8758bec0bc8fa24b676.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport _EventSubscription from \"./_EventSubscription\";\n\nvar EmitterSubscription = function (_EventSubscription2) {\n _inheritsLoose(EmitterSubscription, _EventSubscription2);\n\n function EmitterSubscription(emitter, subscriber, listener, context) {\n var _this;\n\n _this = _EventSubscription2.call(this, subscriber) || this;\n _this.emitter = emitter;\n _this.listener = listener;\n _this.context = context;\n return _this;\n }\n\n var _proto = EmitterSubscription.prototype;\n\n _proto.remove = function remove() {\n this.emitter.removeSubscription(this);\n };\n\n return EmitterSubscription;\n}(_EventSubscription);\n\nexport default EmitterSubscription;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/emitter/_EmitterSubscription.js"],"names":["_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_EventSubscription","EmitterSubscription","_EventSubscription2","emitter","subscriber","listener","context","_this","call","_proto","remove","removeSubscription"],"mappings":"AASA;;AAEA,SAASA,cAAT,CAAwBC,QAAxB,EAAkCC,UAAlC,EAA8C;AAAED,EAAAA,QAAQ,CAACE,SAAT,GAAqBC,MAAM,CAACC,MAAP,CAAcH,UAAU,CAACC,SAAzB,CAArB;AAA0DF,EAAAA,QAAQ,CAACE,SAAT,CAAmBG,WAAnB,GAAiCL,QAAjC;;AAA2CM,EAAAA,eAAe,CAACN,QAAD,EAAWC,UAAX,CAAf;AAAwC;;AAE7L,SAASK,eAAT,CAAyBC,CAAzB,EAA4BC,CAA5B,EAA+B;AAAEF,EAAAA,eAAe,GAAGH,MAAM,CAACM,cAAP,IAAyB,SAASH,eAAT,CAAyBC,CAAzB,EAA4BC,CAA5B,EAA+B;AAAED,IAAAA,CAAC,CAACG,SAAF,GAAcF,CAAd;AAAiB,WAAOD,CAAP;AAAW,GAAxG;;AAA0G,SAAOD,eAAe,CAACC,CAAD,EAAIC,CAAJ,CAAtB;AAA+B;;AAE1K,OAAOG,kBAAP;;AAKA,IAAIC,mBAAmB,GAAgB,UAAUC,mBAAV,EAA+B;AACpEd,EAAAA,cAAc,CAACa,mBAAD,EAAsBC,mBAAtB,CAAd;;AAYA,WAASD,mBAAT,CAA6BE,OAA7B,EAAsCC,UAAtC,EAAkDC,QAAlD,EAA4DC,OAA5D,EAAqE;AACnE,QAAIC,KAAJ;;AAEAA,IAAAA,KAAK,GAAGL,mBAAmB,CAACM,IAApB,CAAyB,IAAzB,EAA+BJ,UAA/B,KAA8C,IAAtD;AACAG,IAAAA,KAAK,CAACJ,OAAN,GAAgBA,OAAhB;AACAI,IAAAA,KAAK,CAACF,QAAN,GAAiBA,QAAjB;AACAE,IAAAA,KAAK,CAACD,OAAN,GAAgBA,OAAhB;AACA,WAAOC,KAAP;AACD;;AASD,MAAIE,MAAM,GAAGR,mBAAmB,CAACV,SAAjC;;AAEAkB,EAAAA,MAAM,CAACC,MAAP,GAAgB,SAASA,MAAT,GAAkB;AAChC,SAAKP,OAAL,CAAaQ,kBAAb,CAAgC,IAAhC;AACD,GAFD;;AAIA,SAAOV,mBAAP;AACD,CArCsC,CAqCrCD,kBArCqC,CAAvC;;AAuCA,eAAeC,mBAAf","sourcesContent":["/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport _EventSubscription from './_EventSubscription';\n\n/**\n * EmitterSubscription represents a subscription with listener and context data.\n */\nvar EmitterSubscription = /*#__PURE__*/function (_EventSubscription2) {\n _inheritsLoose(EmitterSubscription, _EventSubscription2);\n\n /**\n * @param {EventEmitter} emitter - The event emitter that registered this\n * subscription\n * @param {EventSubscriptionVendor} subscriber - The subscriber that controls\n * this subscription\n * @param {function} listener - Function to invoke when the specified event is\n * emitted\n * @param {*} context - Optional context object to use when invoking the\n * listener\n */\n function EmitterSubscription(emitter, subscriber, listener, context) {\n var _this;\n\n _this = _EventSubscription2.call(this, subscriber) || this;\n _this.emitter = emitter;\n _this.listener = listener;\n _this.context = context;\n return _this;\n }\n /**\n * Removes this subscription from the emitter that registered it.\n * Note: we're overriding the `remove()` method of _EventSubscription here\n * but deliberately not calling `super.remove()` as the responsibility\n * for removing the subscription lies with the EventEmitter.\n */\n\n\n var _proto = EmitterSubscription.prototype;\n\n _proto.remove = function remove() {\n this.emitter.removeSubscription(this);\n };\n\n return EmitterSubscription;\n}(_EventSubscription);\n\nexport default EmitterSubscription;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/f7fe74bfd80bb290d3ce3dffa64ce4df.json b/.expo/web/cache/development/babel-loader/f7fe74bfd80bb290d3ce3dffa64ce4df.json new file mode 100644 index 0000000000000000000000000000000000000000..3fce3ced687e200c12d0e2c7f6bca7856ae13fdc --- /dev/null +++ b/.expo/web/cache/development/babel-loader/f7fe74bfd80bb290d3ce3dffa64ce4df.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport * as React from 'react';\nimport isArrayEqual from \"./isArrayEqual\";\nimport NavigationBuilderContext from \"./NavigationBuilderContext\";\nimport NavigationRouteContext from \"./NavigationRouteContext\";\nexport default function useOnGetState(_ref) {\n var getState = _ref.getState,\n getStateListeners = _ref.getStateListeners;\n\n var _React$useContext = React.useContext(NavigationBuilderContext),\n addKeyedListener = _React$useContext.addKeyedListener;\n\n var route = React.useContext(NavigationRouteContext);\n var key = route ? route.key : 'root';\n var getRehydratedState = React.useCallback(function () {\n var state = getState();\n var routes = state.routes.map(function (route) {\n var _getStateListeners$ro;\n\n var childState = (_getStateListeners$ro = getStateListeners[route.key]) === null || _getStateListeners$ro === void 0 ? void 0 : _getStateListeners$ro.call(getStateListeners);\n\n if (route.state === childState) {\n return route;\n }\n\n return _objectSpread(_objectSpread({}, route), {}, {\n state: childState\n });\n });\n\n if (isArrayEqual(state.routes, routes)) {\n return state;\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n routes: routes\n });\n }, [getState, getStateListeners]);\n React.useEffect(function () {\n return addKeyedListener === null || addKeyedListener === void 0 ? void 0 : addKeyedListener('getState', key, getRehydratedState);\n }, [addKeyedListener, getRehydratedState, key]);\n}","map":{"version":3,"sources":["useOnGetState.tsx"],"names":["getStateListeners","addKeyedListener","React","route","key","getRehydratedState","state","getState","routes","childState","isArrayEqual"],"mappings":";;;;;;AACA,OAAO,KAAP,KAAA,MAAA,OAAA;AAEA,OAAA,YAAA;AACA,OAAA,wBAAA;AAGA,OAAA,sBAAA;AAOA,eAAe,SAAA,aAAA,CAAA,IAAA,EAGH;AAH0B,MAAA,QAAA,GAG1B,IAH0B,CAAA,QAAA;AAAA,MAEpCA,iBAFoC,GAG1B,IAH0B,CAEpCA,iBAFoC;;AAIpC,0BAA6BE,KAAK,CAALA,UAAAA,CAA7B,wBAA6BA,CAA7B;AAAA,MAAQD,gBAAR,qBAAQA,gBAAR;;AACA,MAAME,KAAK,GAAGD,KAAK,CAALA,UAAAA,CAAd,sBAAcA,CAAd;AACA,MAAME,GAAG,GAAGD,KAAK,GAAGA,KAAK,CAAR,GAAA,GAAjB,MAAA;AAEA,MAAME,kBAAkB,GAAG,KAAK,CAAL,WAAA,CAAkB,YAAM;AACjD,QAAMC,KAAK,GAAGC,QADmC,EACjD;AAGA,QAAMC,MAAM,GAAG,KAAK,CAAL,MAAA,CAAA,GAAA,CAAkBL,UAAAA,KAAD,EAAW;AAAA,UAAA,qBAAA;;AACzC,UAAMM,UAAU,GAAA,CAAA,qBAAA,GAAGT,iBAAiB,CAACG,KAAK,CAA1B,GAAoB,CAApB,MAAA,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAGH,qBAAAA,CAAAA,IAAAA,CAAnB,iBAAmBA,CAAnB;;AAEA,UAAIG,KAAK,CAALA,KAAAA,KAAJ,UAAA,EAAgC;AAC9B,eAAA,KAAA;AACD;;AAED,6CAAO,KAAP;AAAmBG,QAAAA,KAAK,EAAEG;AAA1B;AAPF,KAAe,CAAf;;AAUA,QAAIC,YAAY,CAACJ,KAAK,CAAN,MAAA,EAAhB,MAAgB,CAAhB,EAAwC;AACtC,aAAA,KAAA;AACD;;AAED,2CAAO,KAAP;AAAmBE,MAAAA,MAAAA,EAAAA;AAAnB;AAlByB,GAAA,EAmBxB,CAAA,QAAA,EAnBH,iBAmBG,CAnBwB,CAA3B;AAqBAN,EAAAA,KAAK,CAALA,SAAAA,CAAgB,YAAM;AACpB,WAAOD,gBAAP,KAAA,IAAOA,IAAAA,gBAAP,KAAA,KAAA,CAAOA,GAAP,KAAA,CAAOA,GAAAA,gBAAgB,CAAA,UAAA,EAAA,GAAA,EAAvB,kBAAuB,CAAvB;AADFC,GAAAA,EAEG,CAAA,gBAAA,EAAA,kBAAA,EAFHA,GAEG,CAFHA;AAGD","sourcesContent":["import type { NavigationState } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport isArrayEqual from './isArrayEqual';\nimport NavigationBuilderContext, {\n GetStateListener,\n} from './NavigationBuilderContext';\nimport NavigationRouteContext from './NavigationRouteContext';\n\ntype Options = {\n getState: () => NavigationState;\n getStateListeners: Record<string, GetStateListener | undefined>;\n};\n\nexport default function useOnGetState({\n getState,\n getStateListeners,\n}: Options) {\n const { addKeyedListener } = React.useContext(NavigationBuilderContext);\n const route = React.useContext(NavigationRouteContext);\n const key = route ? route.key : 'root';\n\n const getRehydratedState = React.useCallback(() => {\n const state = getState();\n\n // Avoid returning new route objects if we don't need to\n const routes = state.routes.map((route) => {\n const childState = getStateListeners[route.key]?.();\n\n if (route.state === childState) {\n return route;\n }\n\n return { ...route, state: childState };\n });\n\n if (isArrayEqual(state.routes, routes)) {\n return state;\n }\n\n return { ...state, routes };\n }, [getState, getStateListeners]);\n\n React.useEffect(() => {\n return addKeyedListener?.('getState', key, getRehydratedState);\n }, [addKeyedListener, getRehydratedState, key]);\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/f886abcfbd233b7cd97c8016e2e656eb.json b/.expo/web/cache/development/babel-loader/f886abcfbd233b7cd97c8016e2e656eb.json new file mode 100644 index 0000000000000000000000000000000000000000..d454c0090440117be9e8a3413b5f4c88c8f71d86 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/f886abcfbd233b7cd97c8016e2e656eb.json @@ -0,0 +1 @@ +{"ast":null,"code":"import binaryToBase64 from 'react-native/Libraries/Utilities/binaryToBase64';\nimport { promiseDefer } from \"./promise\";\nvar CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction btoa(input) {\n var map;\n var i = 0;\n var block = 0;\n var output = '';\n\n for (block = 0, i = 0, map = CHARS; input.charAt(i | 0) || (map = '=', i % 1); output += map.charAt(63 & block >> 8 - i % 1 * 8)) {\n var charCode = input.charCodeAt(i += 3 / 4);\n\n if (charCode > 0xff) {\n throw new Error(\"'RNFirebase.Base64.btoa' failed: The string to be encoded contains characters outside of the Latin1 range.\");\n }\n\n block = block << 8 | charCode;\n }\n\n return output;\n}\n\nfunction atob(input) {\n var i = 0;\n var bc = 0;\n var bs = 0;\n var buffer;\n var output = '';\n var str = input.replace(/[=]+$/, '');\n\n if (str.length % 4 === 1) {\n throw new Error(\"'RNFirebase.Base64.atob' failed: The string to be decoded is not correctly encoded.\");\n }\n\n for (bc = 0, bs = 0, i = 0; buffer = str.charAt(i++); ~buffer && (bs = bc % 4 ? bs * 64 + buffer : buffer, bc++ % 4) ? output += String.fromCharCode(255 & bs >> (-2 * bc & 6)) : 0) {\n buffer = CHARS.indexOf(buffer);\n }\n\n return output;\n}\n\nfunction fromData(data) {\n if (data instanceof Blob) {\n var fileReader = new FileReader();\n\n var _promiseDefer = promiseDefer(),\n resolve = _promiseDefer.resolve,\n reject = _promiseDefer.reject,\n promise = _promiseDefer.promise;\n\n fileReader.readAsDataURL(data);\n\n fileReader.onloadend = function onloadend() {\n resolve({\n string: fileReader.result,\n format: 'data_url'\n });\n };\n\n fileReader.onerror = function onerror(event) {\n fileReader.abort();\n reject(event);\n };\n\n return promise;\n }\n\n if (data instanceof ArrayBuffer || data instanceof Uint8Array) {\n return Promise.resolve({\n string: binaryToBase64(data),\n format: 'base64'\n });\n }\n\n throw new Error(\"'RNFirebase.Base64.fromData' failed: Unknown data type.\");\n}\n\nexport default {\n btoa: btoa,\n atob: atob,\n fromData: fromData\n};","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-native-firebase/app/lib/common/Base64.js"],"names":["binaryToBase64","promiseDefer","CHARS","btoa","input","map","i","block","output","charAt","charCode","charCodeAt","Error","atob","bc","bs","buffer","str","replace","length","String","fromCharCode","indexOf","fromData","data","Blob","fileReader","FileReader","resolve","reject","promise","readAsDataURL","onloadend","string","result","format","onerror","event","abort","ArrayBuffer","Uint8Array","Promise"],"mappings":"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","sourcesContent":["/* eslint-disable no-bitwise */\n/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport binaryToBase64 from 'react-native/Libraries/Utilities/binaryToBase64';\nimport { promiseDefer } from './promise';\n\nconst CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\n/**\n * window.btoa\n */\nfunction btoa(input) {\n let map;\n let i = 0;\n let block = 0;\n let output = '';\n\n for (\n block = 0, i = 0, map = CHARS;\n input.charAt(i | 0) || ((map = '='), i % 1);\n output += map.charAt(63 & (block >> (8 - (i % 1) * 8)))\n ) {\n const charCode = input.charCodeAt((i += 3 / 4));\n\n if (charCode > 0xff) {\n throw new Error(\n \"'RNFirebase.Base64.btoa' failed: The string to be encoded contains characters outside of the Latin1 range.\",\n );\n }\n\n block = (block << 8) | charCode;\n }\n\n return output;\n}\n\n/**\n * window.atob\n */\nfunction atob(input) {\n let i = 0;\n let bc = 0;\n let bs = 0;\n let buffer;\n let output = '';\n\n const str = input.replace(/[=]+$/, '');\n\n if (str.length % 4 === 1) {\n throw new Error(\n \"'RNFirebase.Base64.atob' failed: The string to be decoded is not correctly encoded.\",\n );\n }\n\n for (\n bc = 0, bs = 0, i = 0;\n (buffer = str.charAt(i++));\n ~buffer && ((bs = bc % 4 ? bs * 64 + buffer : buffer), bc++ % 4)\n ? (output += String.fromCharCode(255 & (bs >> ((-2 * bc) & 6))))\n : 0\n ) {\n buffer = CHARS.indexOf(buffer);\n }\n\n return output;\n}\n\n/**\n * Converts a Blob, ArrayBuffer or Uint8Array to a base64 string.\n */\nfunction fromData(data) {\n if (data instanceof Blob) {\n const fileReader = new FileReader();\n const { resolve, reject, promise } = promiseDefer();\n\n fileReader.readAsDataURL(data);\n\n fileReader.onloadend = function onloadend() {\n resolve({ string: fileReader.result, format: 'data_url' });\n };\n\n fileReader.onerror = function onerror(event) {\n fileReader.abort();\n reject(event);\n };\n\n return promise;\n }\n\n if (data instanceof ArrayBuffer || data instanceof Uint8Array) {\n return Promise.resolve({\n string: binaryToBase64(data),\n format: 'base64',\n });\n }\n\n throw new Error(\"'RNFirebase.Base64.fromData' failed: Unknown data type.\");\n}\n\nexport default {\n btoa,\n atob,\n fromData,\n};\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/f8ba47202e0c6884b1a9fb0eef509f04.json b/.expo/web/cache/development/babel-loader/f8ba47202e0c6884b1a9fb0eef509f04.json new file mode 100644 index 0000000000000000000000000000000000000000..9a0195bfe8ae2f90c0adc64e51373b0c972c686b --- /dev/null +++ b/.expo/web/cache/development/babel-loader/f8ba47202e0c6884b1a9fb0eef509f04.json @@ -0,0 +1 @@ +{"ast":null,"code":"'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}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/vendor/react-native/TurboModule/TurboModuleRegistry.js"],"names":["invariant","get","name","getEnforcing","module"],"mappings":"AASA;;AAEA,OAAOA,SAAP,MAAsB,oBAAtB;AACA,OAAO,SAASC,GAAT,CAAaC,IAAb,EAAmB;AACxB,SAAO,IAAP;AACD;AACD,OAAO,SAASC,YAAT,CAAsBD,IAAtB,EAA4B;AACjC,MAAIE,MAAM,GAAGH,GAAG,CAACC,IAAD,CAAhB;AACAF,EAAAA,SAAS,CAACI,MAAM,IAAI,IAAX,EAAiB,6CAA6CF,IAA7C,GAAoD,wBAApD,GAA+E,uEAAhG,CAAT;AACA,SAAOE,MAAP;AACD","sourcesContent":["/**\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 * @format\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}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/fa5f56fd9c3308450fde4540e238714f.json b/.expo/web/cache/development/babel-loader/fa5f56fd9c3308450fde4540e238714f.json new file mode 100644 index 0000000000000000000000000000000000000000..63ffce1e64f7f660b8be361df107bb3258ec35f3 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/fa5f56fd9c3308450fde4540e238714f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _readOnlyError from \"@babel/runtime/helpers/readOnlyError\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATAS = null;\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n DATA = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n setUsers(null);\n\n if (big != null) {\n Alert.alert('big is not empty');\n }\n\n var colRef = collection(getFirestore(), \"Users\");\n var big = [];\n onSnapshot(colRef, function (querySnapshot) {\n querySnapshot.forEach(function (doc) {\n var itemData = {\n name: doc.data().Name,\n email: doc.data().Email,\n image: doc.data().Image,\n id: doc.id\n };\n [itemData], _readOnlyError(\"big\");\n setUsers(big);\n });\n });\n }, []);\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n var big = [];\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n big.push(itemData);\n }\n });\n setUsers(big);\n });\n }\n\n if (route.params != null) {\n setUsers(null);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n }), _jsx(Text, {\n style: styles.beschreibung,\n children: item.name\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsxs(View, {\n children: [_jsx(Text, {\n children: \"No Data Found\"\n }), _jsx(Button, {\n title: \"Load Data\",\n onPress: listenOnChange\n })]\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsx(TouchableOpacity, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n style: styles.button,\n children: _jsx(Text, {\n style: styles.cancelButtonText,\n children: \"Create new User\"\n })\n }), _jsx(Text, {\n children: \" \"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return item + index;\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50,\n borderRadius: 50 / 2,\n overflow: \"hidden\",\n borderWidth: 3,\n borderColor: \"#D9D9D9\"\n },\n item: {\n width: 250,\n paddingTop: 20,\n paddingBottom: 20,\n paddingRight: 20,\n marginVertical: 8,\n marginHorizontal: 25,\n borderBottomColor: '#D9D9D9',\n borderBottomWidth: 2,\n flexDirection: \"row\"\n },\n beschreibung: {\n marginLeft: 10,\n marginTop: 10,\n width: 180,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 16,\n lineHeight: 23,\n color: \"#5E6A79\"\n },\n button: {\n marginTop: 25,\n marginBottom: 20,\n height: 35,\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\n borderRadius: 12,\n justifyContent: 'center'\n },\n cancelButtonText: {\n height: 28,\n margin: 10,\n fontStyle: \"normal\",\n fontWeight: \"bold\",\n fontSize: 15,\n lineHeight: 22,\n textAlign: 'center',\n color: \"#5E6A79\"\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATAS","UserLists","navigation","route","DATA","setUsers","big","Alert","alert","colRef","querySnapshot","forEach","itemData","name","data","Name","email","Email","image","Image","id","listenOnChange","snapchot","docChanges","change","type","message","push","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","beschreibung","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","container","button","cancelButtonText","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height","borderRadius","overflow","borderWidth","borderColor","paddingTop","paddingBottom","paddingRight","marginVertical","borderBottomColor","borderBottomWidth","flexDirection","marginLeft","marginTop","fontStyle","fontWeight","fontSize","lineHeight","marginBottom","margin","textAlign"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATAS = null;\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [DATA, setUsers] = useState(null);\r\n\r\n//listenOnChange();\r\n//useeffect();\r\n\r\n/*useEffect(()=>{\r\nconst colRef = collection(getFirestore(),\"Users\");\r\nconst big= [];\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n big.push(itemData);\r\n //DATA.push(itemData);\r\n setUsers(big);\r\n //Alert.alert('count data',DATA.name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])*/\r\n\r\n\r\n\r\n\r\n//test\r\nuseEffect(()=>{\r\n \r\n setUsers(null);\r\n if(big != null){Alert.alert('big is not empty', );}\r\n const colRef = collection(getFirestore(),\"Users\");\r\n const big= [];\r\n \r\n onSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n //var message = doc.data();\r\n const itemData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id};\r\n //big.push(itemData);\r\n big = [itemData];\r\n //DATA.push(itemData);\r\n setUsers(big);\r\n \r\n });\r\n \r\n //setUsers(users)\r\n });\r\n //Alert.alert(users.Name.toString);\r\n \r\n },[])\r\n\r\n\r\n \r\n\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n const big = [];\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n //DATA.push(itemData);\r\n big.push(itemData);\r\n \r\n //Alert.alert('listen on change',message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n }); setUsers(big);\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\nsetUsers(null);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n \r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n <Text style={styles.beschreibung}>\r\n {item.name} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){ //DATAS zu DATA ändern ___-------\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <View>\r\n <Text>\r\n No Data Found \r\n </Text>\r\n <Button title='Load Data' onPress={listenOnChange}/>\r\n </View>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <TouchableOpacity onPress={()=> {navigation.navigate('CreateNewUser')}} style={styles.button}>\r\n <Text style={styles.cancelButtonText}>\r\n Create new User\r\n </Text>\r\n \r\n </TouchableOpacity>\r\n <Text> </Text>\r\n\r\n <FlatList\r\n data={DATA} //DATAS zu DATA ändern ___-------\r\n renderItem={renderItem}\r\n /*keyExtractor={ (item, index) => index.toString()}//item => item.id*/\r\n keyExtractor={(item, index) => item + index}\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n borderRadius: 50 / 2,\r\n overflow: \"hidden\",\r\n borderWidth: 3,\r\n borderColor: \"#D9D9D9\"\r\n },\r\n item: {\r\n width: 250,\r\n paddingTop: 20,\r\n paddingBottom: 20,\r\n paddingRight: 20,\r\n marginVertical: 8,\r\n marginHorizontal: 25,\r\n borderBottomColor: '#D9D9D9',\r\n borderBottomWidth: 2,\r\n flexDirection: \"row\",\r\n },\r\n beschreibung: {\r\n marginLeft:10,\r\n marginTop:10,\r\n width: 180,\r\n\r\n // font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 16,\r\n lineHeight: 23,\r\n color: \"#5E6A79\",\r\n },\r\n button:{\r\n marginTop:25,\r\n marginBottom: 20,\r\n height: 35,\r\n backgroundColor: 'rgba(129, 158, 172, 0.5)',\r\n //box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);\r\n borderRadius: 12,\r\n justifyContent: 'center',\r\n \r\n},\r\ncancelButtonText:{\r\n //width: 55,\r\n height: 28,\r\nmargin:10,\r\n //font-family: Noto Sans JP;\r\n fontStyle: \"normal\",\r\n fontWeight: \"bold\",\r\n fontSize: 15,\r\n lineHeight: 22,\r\n textAlign:'center',\r\n color: \"#5E6A79\",\r\n},\r\n\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/fabbdbad876929b19046fe6537b8f460.json b/.expo/web/cache/development/babel-loader/fabbdbad876929b19046fe6537b8f460.json new file mode 100644 index 0000000000000000000000000000000000000000..ecb9dd6cff2f71684b5bb8fd508521fe5c97014d --- /dev/null +++ b/.expo/web/cache/development/babel-loader/fabbdbad876929b19046fe6537b8f460.json @@ -0,0 +1 @@ +{"ast":null,"code":"import DeviceEventEmitter from \"react-native-web/dist/exports/DeviceEventEmitter\";\nimport { EventEmitter } from \"./EventEmitter\";\nimport NativeModulesProxy from \"./NativeModulesProxy\";\nimport { requireNativeViewManager } from \"./NativeViewManagerAdapter\";\nimport Platform from \"./Platform\";\nimport SyntheticPlatformEmitter from \"./SyntheticPlatformEmitter\";\nimport { CodedError } from \"./errors/CodedError\";\nimport { UnavailabilityError } from \"./errors/UnavailabilityError\";\nexport { default as deprecate } from \"./deprecate\";\nexport { DeviceEventEmitter, EventEmitter, NativeModulesProxy, Platform, SyntheticPlatformEmitter, requireNativeViewManager, CodedError, UnavailabilityError };\nexport var RCTDeviceEventEmitter = DeviceEventEmitter;\nexport * from \"./PermissionsInterface\";\nexport * from \"./PermissionsHook\";","map":{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";AAEA,SAAS,YAAT;AACA,OAAO,kBAAP;AAEA,SAAS,wBAAT;AACA,OAAO,QAAP;AACA,OAAO,wBAAP;AACA,SAAS,UAAT;AACA,SAAS,mBAAT;AAEA,SAAS,OAAO,IAAI,SAApB;AAEA,SACE,kBADF,EAEE,YAFF,EAGE,kBAHF,EAKE,QALF,EAOE,wBAPF,EAQE,wBARF,EAUE,UAVF,EAWE,mBAXF;AAiBA,OAAO,IAAM,qBAAqB,GAAG,kBAA9B;AAEP;AACA","sourcesContent":["import { DeviceEventEmitter } from 'react-native';\n\nimport { EventEmitter, Subscription } from './EventEmitter';\nimport NativeModulesProxy from './NativeModulesProxy';\nimport { ProxyNativeModule } from './NativeModulesProxy.types';\nimport { requireNativeViewManager } from './NativeViewManagerAdapter';\nimport Platform from './Platform';\nimport SyntheticPlatformEmitter from './SyntheticPlatformEmitter';\nimport { CodedError } from './errors/CodedError';\nimport { UnavailabilityError } from './errors/UnavailabilityError';\n\nexport { default as deprecate } from './deprecate';\n\nexport {\n DeviceEventEmitter,\n EventEmitter,\n NativeModulesProxy,\n ProxyNativeModule,\n Platform,\n Subscription,\n SyntheticPlatformEmitter,\n requireNativeViewManager,\n // Errors\n CodedError,\n UnavailabilityError,\n};\n\n/**\n * @deprecated renamed to `DeviceEventEmitter`\n */\nexport const RCTDeviceEventEmitter = DeviceEventEmitter;\n\nexport * from './PermissionsInterface';\nexport * from './PermissionsHook';\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/fae068c3403e3016763f64fcb31d19ef.json b/.expo/web/cache/development/babel-loader/fae068c3403e3016763f64fcb31d19ef.json new file mode 100644 index 0000000000000000000000000000000000000000..695579f377e881d63a4bdf3f6b20ff4fa6118a76 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/fae068c3403e3016763f64fcb31d19ef.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { CurrentRenderContext } from '@react-navigation/core';\nimport * as React from 'react';\nimport ServerContext from \"./ServerContext\";\nexport default React.forwardRef(function ServerContainer(_ref, ref) {\n var children = _ref.children,\n location = _ref.location;\n React.useEffect(function () {\n console.error(\"'ServerContainer' should only be used on the server with 'react-dom/server' for SSR.\");\n }, []);\n var current = {};\n\n if (ref) {\n var value = {\n getCurrentOptions: function getCurrentOptions() {\n return current.options;\n }\n };\n\n if (typeof ref === 'function') {\n ref(value);\n } else {\n ref.current = value;\n }\n }\n\n return React.createElement(ServerContext.Provider, {\n value: {\n location: location\n }\n }, React.createElement(CurrentRenderContext.Provider, {\n value: current\n }, children));\n});","map":{"version":3,"sources":["ServerContainer.tsx"],"names":["location","React","console","current","value","getCurrentOptions","ref"],"mappings":"AAAA,SAAA,oBAAA,QAAA,wBAAA;AACA,OAAO,KAAP,KAAA,MAAA,OAAA;AAEA,OAAA,aAAA;AAcA,eAAe,KAAK,CAAL,UAAA,CAAiB,SAAA,eAAA,CAAA,IAAA,EAAA,GAAA,EAG9B;AAFA,MAAA,QAAA,GAEA,IAFA,CAAA,QAAA;AAAA,MAAYA,QAAZ,GAEA,IAFA,CAAYA,QAAZ;AAGAC,EAAAA,KAAK,CAALA,SAAAA,CAAgB,YAAM;AACpBC,IAAAA,OAAO,CAAPA,KAAAA,CAAAA,sFAAAA;AADFD,GAAAA,EAAAA,EAAAA;AAMA,MAAME,OAA6B,GAAnC,EAAA;;AAEA,MAAA,GAAA,EAAS;AACP,QAAMC,KAAK,GAAG;AACZC,MAAAA,iBADY,+BACQ;AAClB,eAAOF,OAAO,CAAd,OAAA;AACD;AAHW,KAAd;;AAUA,QAAI,OAAA,GAAA,KAAJ,UAAA,EAA+B;AAC7BG,MAAAA,GAAG,CAAHA,KAAG,CAAHA;AADF,KAAA,MAEO;AAELA,MAAAA,GAAG,CAAHA,OAAAA,GAAAA,KAAAA;AACD;AACF;;AAED,SACE,KAAA,CAAA,aAAA,CAAC,aAAD,CAAA,QAAA,EAAA;AAAwB,IAAA,KAAK,EAAE;AAAEN,MAAAA,QAAAA,EAAAA;AAAF;AAA/B,GAAA,EACE,KAAA,CAAA,aAAA,CAAC,oBAAD,CAAA,QAAA,EAAA;AAA+B,IAAA,KAAK,EAAEG;AAAtC,GAAA,EAFJ,QAEI,CADF,CADF;AA/BF,CAAe,CAAf","sourcesContent":["import { CurrentRenderContext } from '@react-navigation/core';\nimport * as React from 'react';\n\nimport ServerContext, { ServerContextType } from './ServerContext';\nimport type { ServerContainerRef } from './types';\n\ntype Props = ServerContextType & {\n children: React.ReactNode;\n};\n\n/**\n * Container component for server rendering.\n *\n * @param props.location Location object to base the initial URL for SSR.\n * @param props.children Child elements to render the content.\n * @param props.ref Ref object which contains helper methods.\n */\nexport default React.forwardRef(function ServerContainer(\n { children, location }: Props,\n ref: React.Ref<ServerContainerRef>\n) {\n React.useEffect(() => {\n console.error(\n \"'ServerContainer' should only be used on the server with 'react-dom/server' for SSR.\"\n );\n }, []);\n\n const current: { options?: object } = {};\n\n if (ref) {\n const value = {\n getCurrentOptions() {\n return current.options;\n },\n };\n\n // We write to the `ref` during render instead of `React.useImperativeHandle`\n // This is because `useImperativeHandle` will update the ref after 'commit',\n // and there's no 'commit' phase during SSR.\n // Mutating ref during render is unsafe in concurrent mode, but we don't care about it for SSR.\n if (typeof ref === 'function') {\n ref(value);\n } else {\n // @ts-expect-error: the TS types are incorrect and say that ref.current is readonly\n ref.current = value;\n }\n }\n\n return (\n <ServerContext.Provider value={{ location }}>\n <CurrentRenderContext.Provider value={current}>\n {children}\n </CurrentRenderContext.Provider>\n </ServerContext.Provider>\n );\n});\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/faf32a3707d53f7410355429ec64193d.json b/.expo/web/cache/development/babel-loader/faf32a3707d53f7410355429ec64193d.json new file mode 100644 index 0000000000000000000000000000000000000000..87757b72837a33f904dc01f41dff64e0c74b624d --- /dev/null +++ b/.expo/web/cache/development/babel-loader/faf32a3707d53f7410355429ec64193d.json @@ -0,0 +1 @@ +{"ast":null,"code":"function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nimport AccessibilityUtil from \"../AccessibilityUtil\";\nimport css from \"../../exports/StyleSheet/css\";\nimport StyleSheet from \"../../exports/StyleSheet\";\nimport styleResolver from \"../../exports/StyleSheet/styleResolver\";\nimport { STYLE_GROUPS } from \"../../exports/StyleSheet/constants\";\nvar emptyObject = {};\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\nvar uppercasePattern = /[A-Z]/g;\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase();\n}\n\nfunction hyphenateString(str) {\n return str.replace(uppercasePattern, toHyphenLower);\n}\n\nfunction processIDRefList(idRefList) {\n return isArray(idRefList) ? idRefList.join(' ') : idRefList;\n}\n\nvar classes = css.create({\n reset: {\n backgroundColor: 'transparent',\n color: 'inherit',\n font: 'inherit',\n listStyle: 'none',\n margin: 0,\n textAlign: 'inherit',\n textDecoration: 'none'\n },\n cursor: {\n cursor: 'pointer'\n }\n}, STYLE_GROUPS.classicReset);\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});\n\nvar createDOMProps = function createDOMProps(elementType, props) {\n if (!props) {\n props = emptyObject;\n }\n\n var _props = props,\n accessibilityActiveDescendant = _props.accessibilityActiveDescendant,\n accessibilityAtomic = _props.accessibilityAtomic,\n accessibilityAutoComplete = _props.accessibilityAutoComplete,\n accessibilityBusy = _props.accessibilityBusy,\n accessibilityChecked = _props.accessibilityChecked,\n accessibilityColumnCount = _props.accessibilityColumnCount,\n accessibilityColumnIndex = _props.accessibilityColumnIndex,\n accessibilityColumnSpan = _props.accessibilityColumnSpan,\n accessibilityControls = _props.accessibilityControls,\n accessibilityCurrent = _props.accessibilityCurrent,\n accessibilityDescribedBy = _props.accessibilityDescribedBy,\n accessibilityDetails = _props.accessibilityDetails,\n accessibilityDisabled = _props.accessibilityDisabled,\n accessibilityErrorMessage = _props.accessibilityErrorMessage,\n accessibilityExpanded = _props.accessibilityExpanded,\n accessibilityFlowTo = _props.accessibilityFlowTo,\n accessibilityHasPopup = _props.accessibilityHasPopup,\n accessibilityHidden = _props.accessibilityHidden,\n accessibilityInvalid = _props.accessibilityInvalid,\n accessibilityKeyShortcuts = _props.accessibilityKeyShortcuts,\n accessibilityLabel = _props.accessibilityLabel,\n accessibilityLabelledBy = _props.accessibilityLabelledBy,\n accessibilityLevel = _props.accessibilityLevel,\n accessibilityLiveRegion = _props.accessibilityLiveRegion,\n accessibilityModal = _props.accessibilityModal,\n accessibilityMultiline = _props.accessibilityMultiline,\n accessibilityMultiSelectable = _props.accessibilityMultiSelectable,\n accessibilityOrientation = _props.accessibilityOrientation,\n accessibilityOwns = _props.accessibilityOwns,\n accessibilityPlaceholder = _props.accessibilityPlaceholder,\n accessibilityPosInSet = _props.accessibilityPosInSet,\n accessibilityPressed = _props.accessibilityPressed,\n accessibilityReadOnly = _props.accessibilityReadOnly,\n accessibilityRequired = _props.accessibilityRequired,\n accessibilityRole = _props.accessibilityRole,\n accessibilityRoleDescription = _props.accessibilityRoleDescription,\n accessibilityRowCount = _props.accessibilityRowCount,\n accessibilityRowIndex = _props.accessibilityRowIndex,\n accessibilityRowSpan = _props.accessibilityRowSpan,\n accessibilitySelected = _props.accessibilitySelected,\n accessibilitySetSize = _props.accessibilitySetSize,\n accessibilitySort = _props.accessibilitySort,\n accessibilityValueMax = _props.accessibilityValueMax,\n accessibilityValueMin = _props.accessibilityValueMin,\n accessibilityValueNow = _props.accessibilityValueNow,\n accessibilityValueText = _props.accessibilityValueText,\n classList = _props.classList,\n dataSet = _props.dataSet,\n focusable = _props.focusable,\n nativeID = _props.nativeID,\n pointerEvents = _props.pointerEvents,\n providedStyle = _props.style,\n testID = _props.testID,\n accessible = _props.accessible,\n accessibilityState = _props.accessibilityState,\n accessibilityValue = _props.accessibilityValue,\n domProps = _objectWithoutPropertiesLoose(_props, [\"accessibilityActiveDescendant\", \"accessibilityAtomic\", \"accessibilityAutoComplete\", \"accessibilityBusy\", \"accessibilityChecked\", \"accessibilityColumnCount\", \"accessibilityColumnIndex\", \"accessibilityColumnSpan\", \"accessibilityControls\", \"accessibilityCurrent\", \"accessibilityDescribedBy\", \"accessibilityDetails\", \"accessibilityDisabled\", \"accessibilityErrorMessage\", \"accessibilityExpanded\", \"accessibilityFlowTo\", \"accessibilityHasPopup\", \"accessibilityHidden\", \"accessibilityInvalid\", \"accessibilityKeyShortcuts\", \"accessibilityLabel\", \"accessibilityLabelledBy\", \"accessibilityLevel\", \"accessibilityLiveRegion\", \"accessibilityModal\", \"accessibilityMultiline\", \"accessibilityMultiSelectable\", \"accessibilityOrientation\", \"accessibilityOwns\", \"accessibilityPlaceholder\", \"accessibilityPosInSet\", \"accessibilityPressed\", \"accessibilityReadOnly\", \"accessibilityRequired\", \"accessibilityRole\", \"accessibilityRoleDescription\", \"accessibilityRowCount\", \"accessibilityRowIndex\", \"accessibilityRowSpan\", \"accessibilitySelected\", \"accessibilitySetSize\", \"accessibilitySort\", \"accessibilityValueMax\", \"accessibilityValueMin\", \"accessibilityValueNow\", \"accessibilityValueText\", \"classList\", \"dataSet\", \"focusable\", \"nativeID\", \"pointerEvents\", \"style\", \"testID\", \"accessible\", \"accessibilityState\", \"accessibilityValue\"]);\n\n var disabled = accessibilityState != null && accessibilityState.disabled === true || accessibilityDisabled;\n var role = AccessibilityUtil.propsToAriaRole(props);\n\n if (accessibilityState != null) {\n for (var prop in accessibilityState) {\n var value = accessibilityState[prop];\n\n if (value != null) {\n if (prop === 'disabled' || prop === 'hidden') {\n if (value === true) {\n domProps[\"aria-\" + prop] = value;\n domProps[prop] = value;\n }\n } else {\n domProps[\"aria-\" + prop] = value;\n }\n }\n }\n }\n\n if (accessibilityValue != null) {\n for (var _prop in accessibilityValue) {\n var _value = accessibilityValue[_prop];\n\n if (_value != null) {\n domProps[\"aria-value\" + _prop] = _value;\n }\n }\n }\n\n if (accessibilityActiveDescendant != null) {\n domProps['aria-activedescendant'] = accessibilityActiveDescendant;\n }\n\n if (accessibilityAtomic != null) {\n domProps['aria-atomic'] = accessibilityAtomic;\n }\n\n if (accessibilityAutoComplete != null) {\n domProps['aria-autocomplete'] = accessibilityAutoComplete;\n }\n\n if (accessibilityBusy != null) {\n domProps['aria-busy'] = accessibilityBusy;\n }\n\n if (accessibilityChecked != null) {\n domProps['aria-checked'] = accessibilityChecked;\n }\n\n if (accessibilityColumnCount != null) {\n domProps['aria-colcount'] = accessibilityColumnCount;\n }\n\n if (accessibilityColumnIndex != null) {\n domProps['aria-colindex'] = accessibilityColumnIndex;\n }\n\n if (accessibilityColumnSpan != null) {\n domProps['aria-colspan'] = accessibilityColumnSpan;\n }\n\n if (accessibilityControls != null) {\n domProps['aria-controls'] = processIDRefList(accessibilityControls);\n }\n\n if (accessibilityCurrent != null) {\n domProps['aria-current'] = accessibilityCurrent;\n }\n\n if (accessibilityDescribedBy != null) {\n domProps['aria-describedby'] = processIDRefList(accessibilityDescribedBy);\n }\n\n if (accessibilityDetails != null) {\n domProps['aria-details'] = accessibilityDetails;\n }\n\n if (disabled === true) {\n domProps['aria-disabled'] = true;\n\n if (elementType === 'button' || elementType === 'form' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.disabled = true;\n }\n }\n\n if (accessibilityErrorMessage != null) {\n domProps['aria-errormessage'] = accessibilityErrorMessage;\n }\n\n if (accessibilityExpanded != null) {\n domProps['aria-expanded'] = accessibilityExpanded;\n }\n\n if (accessibilityFlowTo != null) {\n domProps['aria-flowto'] = processIDRefList(accessibilityFlowTo);\n }\n\n if (accessibilityHasPopup != null) {\n domProps['aria-haspopup'] = accessibilityHasPopup;\n }\n\n if (accessibilityHidden === true) {\n domProps['aria-hidden'] = accessibilityHidden;\n }\n\n if (accessibilityInvalid != null) {\n domProps['aria-invalid'] = accessibilityInvalid;\n }\n\n if (accessibilityKeyShortcuts != null && Array.isArray(accessibilityKeyShortcuts)) {\n domProps['aria-keyshortcuts'] = accessibilityKeyShortcuts.join(' ');\n }\n\n if (accessibilityLabel != null) {\n domProps['aria-label'] = accessibilityLabel;\n }\n\n if (accessibilityLabelledBy != null) {\n domProps['aria-labelledby'] = processIDRefList(accessibilityLabelledBy);\n }\n\n if (accessibilityLevel != null) {\n domProps['aria-level'] = accessibilityLevel;\n }\n\n if (accessibilityLiveRegion != null) {\n domProps['aria-live'] = accessibilityLiveRegion === 'none' ? 'off' : accessibilityLiveRegion;\n }\n\n if (accessibilityModal != null) {\n domProps['aria-modal'] = accessibilityModal;\n }\n\n if (accessibilityMultiline != null) {\n domProps['aria-multiline'] = accessibilityMultiline;\n }\n\n if (accessibilityMultiSelectable != null) {\n domProps['aria-multiselectable'] = accessibilityMultiSelectable;\n }\n\n if (accessibilityOrientation != null) {\n domProps['aria-orientation'] = accessibilityOrientation;\n }\n\n if (accessibilityOwns != null) {\n domProps['aria-owns'] = processIDRefList(accessibilityOwns);\n }\n\n if (accessibilityPlaceholder != null) {\n domProps['aria-placeholder'] = accessibilityPlaceholder;\n }\n\n if (accessibilityPosInSet != null) {\n domProps['aria-posinset'] = accessibilityPosInSet;\n }\n\n if (accessibilityPressed != null) {\n domProps['aria-pressed'] = accessibilityPressed;\n }\n\n if (accessibilityReadOnly != null) {\n domProps['aria-readonly'] = accessibilityReadOnly;\n\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.readOnly = true;\n }\n }\n\n if (accessibilityRequired != null) {\n domProps['aria-required'] = accessibilityRequired;\n\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.required = true;\n }\n }\n\n if (role != null) {\n domProps['role'] = role === 'none' ? 'presentation' : role;\n }\n\n if (accessibilityRoleDescription != null) {\n domProps['aria-roledescription'] = accessibilityRoleDescription;\n }\n\n if (accessibilityRowCount != null) {\n domProps['aria-rowcount'] = accessibilityRowCount;\n }\n\n if (accessibilityRowIndex != null) {\n domProps['aria-rowindex'] = accessibilityRowIndex;\n }\n\n if (accessibilityRowSpan != null) {\n domProps['aria-rowspan'] = accessibilityRowSpan;\n }\n\n if (accessibilitySelected != null) {\n domProps['aria-selected'] = accessibilitySelected;\n }\n\n if (accessibilitySetSize != null) {\n domProps['aria-setsize'] = accessibilitySetSize;\n }\n\n if (accessibilitySort != null) {\n domProps['aria-sort'] = accessibilitySort;\n }\n\n if (accessibilityValueMax != null) {\n domProps['aria-valuemax'] = accessibilityValueMax;\n }\n\n if (accessibilityValueMin != null) {\n domProps['aria-valuemin'] = accessibilityValueMin;\n }\n\n if (accessibilityValueNow != null) {\n domProps['aria-valuenow'] = accessibilityValueNow;\n }\n\n if (accessibilityValueText != null) {\n domProps['aria-valuetext'] = accessibilityValueText;\n }\n\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\n if (dataValue != null) {\n domProps[\"data-\" + dataName] = dataValue;\n }\n }\n }\n }\n\n var _focusable = focusable != null ? focusable : accessible;\n\n if (_focusable === false) {\n domProps.tabIndex = '-1';\n }\n\n if (elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n if (_focusable === false || accessibilityDisabled === true) {\n domProps.tabIndex = '-1';\n }\n } else if (role === 'button' || role === 'checkbox' || role === 'link' || role === 'radio' || role === 'textbox' || role === 'switch') {\n if (_focusable !== false) {\n domProps.tabIndex = '0';\n }\n } else {\n if (_focusable === true) {\n domProps.tabIndex = '0';\n }\n }\n\n var reactNativeStyle = StyleSheet.compose(pointerEvents && pointerEventsStyles[pointerEvents], providedStyle);\n var needsCursor = (role === 'button' || role === 'link') && !disabled;\n var needsReset = elementType === 'a' || elementType === 'button' || elementType === 'li' || elementType === 'ul' || role === 'heading';\n var finalClassList = [needsReset && classes.reset, needsCursor && classes.cursor, classList];\n\n var _styleResolver$resolv = styleResolver.resolve(reactNativeStyle, finalClassList),\n className = _styleResolver$resolv.className,\n style = _styleResolver$resolv.style;\n\n if (className != null && className !== '') {\n domProps.className = className;\n }\n\n if (style) {\n domProps.style = style;\n }\n\n if (nativeID != null) {\n domProps.id = nativeID;\n }\n\n if (testID != null) {\n domProps['data-testid'] = testID;\n }\n\n return domProps;\n};\n\nexport default createDOMProps;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/createDOMProps/index.js"],"names":["_objectWithoutPropertiesLoose","source","excluded","target","sourceKeys","Object","keys","key","i","length","indexOf","AccessibilityUtil","css","StyleSheet","styleResolver","STYLE_GROUPS","emptyObject","hasOwnProperty","prototype","isArray","Array","uppercasePattern","toHyphenLower","match","toLowerCase","hyphenateString","str","replace","processIDRefList","idRefList","join","classes","create","reset","backgroundColor","color","font","listStyle","margin","textAlign","textDecoration","cursor","classicReset","pointerEventsStyles","auto","pointerEvents","none","createDOMProps","elementType","props","_props","accessibilityActiveDescendant","accessibilityAtomic","accessibilityAutoComplete","accessibilityBusy","accessibilityChecked","accessibilityColumnCount","accessibilityColumnIndex","accessibilityColumnSpan","accessibilityControls","accessibilityCurrent","accessibilityDescribedBy","accessibilityDetails","accessibilityDisabled","accessibilityErrorMessage","accessibilityExpanded","accessibilityFlowTo","accessibilityHasPopup","accessibilityHidden","accessibilityInvalid","accessibilityKeyShortcuts","accessibilityLabel","accessibilityLabelledBy","accessibilityLevel","accessibilityLiveRegion","accessibilityModal","accessibilityMultiline","accessibilityMultiSelectable","accessibilityOrientation","accessibilityOwns","accessibilityPlaceholder","accessibilityPosInSet","accessibilityPressed","accessibilityReadOnly","accessibilityRequired","accessibilityRole","accessibilityRoleDescription","accessibilityRowCount","accessibilityRowIndex","accessibilityRowSpan","accessibilitySelected","accessibilitySetSize","accessibilitySort","accessibilityValueMax","accessibilityValueMin","accessibilityValueNow","accessibilityValueText","classList","dataSet","focusable","nativeID","providedStyle","style","testID","accessible","accessibilityState","accessibilityValue","domProps","disabled","role","propsToAriaRole","prop","value","_prop","_value","readOnly","required","dataProp","call","dataName","dataValue","_focusable","tabIndex","reactNativeStyle","compose","needsCursor","needsReset","finalClassList","_styleResolver$resolv","resolve","className","id"],"mappings":"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","sourcesContent":["function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\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 */\nimport AccessibilityUtil from '../AccessibilityUtil';\nimport css from '../../exports/StyleSheet/css';\nimport StyleSheet from '../../exports/StyleSheet';\nimport styleResolver from '../../exports/StyleSheet/styleResolver';\nimport { STYLE_GROUPS } from '../../exports/StyleSheet/constants';\nvar emptyObject = {};\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\nvar uppercasePattern = /[A-Z]/g;\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase();\n}\n\nfunction hyphenateString(str) {\n return str.replace(uppercasePattern, toHyphenLower);\n}\n\nfunction processIDRefList(idRefList) {\n return isArray(idRefList) ? idRefList.join(' ') : idRefList;\n} // Reset styles for heading, link, and list DOM elements\n\n\nvar classes = css.create({\n reset: {\n backgroundColor: 'transparent',\n color: 'inherit',\n font: 'inherit',\n listStyle: 'none',\n margin: 0,\n textAlign: 'inherit',\n textDecoration: 'none'\n },\n cursor: {\n cursor: 'pointer'\n }\n}, STYLE_GROUPS.classicReset);\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});\n\nvar createDOMProps = function createDOMProps(elementType, props) {\n if (!props) {\n props = emptyObject;\n }\n\n var _props = props,\n accessibilityActiveDescendant = _props.accessibilityActiveDescendant,\n accessibilityAtomic = _props.accessibilityAtomic,\n accessibilityAutoComplete = _props.accessibilityAutoComplete,\n accessibilityBusy = _props.accessibilityBusy,\n accessibilityChecked = _props.accessibilityChecked,\n accessibilityColumnCount = _props.accessibilityColumnCount,\n accessibilityColumnIndex = _props.accessibilityColumnIndex,\n accessibilityColumnSpan = _props.accessibilityColumnSpan,\n accessibilityControls = _props.accessibilityControls,\n accessibilityCurrent = _props.accessibilityCurrent,\n accessibilityDescribedBy = _props.accessibilityDescribedBy,\n accessibilityDetails = _props.accessibilityDetails,\n accessibilityDisabled = _props.accessibilityDisabled,\n accessibilityErrorMessage = _props.accessibilityErrorMessage,\n accessibilityExpanded = _props.accessibilityExpanded,\n accessibilityFlowTo = _props.accessibilityFlowTo,\n accessibilityHasPopup = _props.accessibilityHasPopup,\n accessibilityHidden = _props.accessibilityHidden,\n accessibilityInvalid = _props.accessibilityInvalid,\n accessibilityKeyShortcuts = _props.accessibilityKeyShortcuts,\n accessibilityLabel = _props.accessibilityLabel,\n accessibilityLabelledBy = _props.accessibilityLabelledBy,\n accessibilityLevel = _props.accessibilityLevel,\n accessibilityLiveRegion = _props.accessibilityLiveRegion,\n accessibilityModal = _props.accessibilityModal,\n accessibilityMultiline = _props.accessibilityMultiline,\n accessibilityMultiSelectable = _props.accessibilityMultiSelectable,\n accessibilityOrientation = _props.accessibilityOrientation,\n accessibilityOwns = _props.accessibilityOwns,\n accessibilityPlaceholder = _props.accessibilityPlaceholder,\n accessibilityPosInSet = _props.accessibilityPosInSet,\n accessibilityPressed = _props.accessibilityPressed,\n accessibilityReadOnly = _props.accessibilityReadOnly,\n accessibilityRequired = _props.accessibilityRequired,\n accessibilityRole = _props.accessibilityRole,\n accessibilityRoleDescription = _props.accessibilityRoleDescription,\n accessibilityRowCount = _props.accessibilityRowCount,\n accessibilityRowIndex = _props.accessibilityRowIndex,\n accessibilityRowSpan = _props.accessibilityRowSpan,\n accessibilitySelected = _props.accessibilitySelected,\n accessibilitySetSize = _props.accessibilitySetSize,\n accessibilitySort = _props.accessibilitySort,\n accessibilityValueMax = _props.accessibilityValueMax,\n accessibilityValueMin = _props.accessibilityValueMin,\n accessibilityValueNow = _props.accessibilityValueNow,\n accessibilityValueText = _props.accessibilityValueText,\n classList = _props.classList,\n dataSet = _props.dataSet,\n focusable = _props.focusable,\n nativeID = _props.nativeID,\n pointerEvents = _props.pointerEvents,\n providedStyle = _props.style,\n testID = _props.testID,\n accessible = _props.accessible,\n accessibilityState = _props.accessibilityState,\n accessibilityValue = _props.accessibilityValue,\n domProps = _objectWithoutPropertiesLoose(_props, [\"accessibilityActiveDescendant\", \"accessibilityAtomic\", \"accessibilityAutoComplete\", \"accessibilityBusy\", \"accessibilityChecked\", \"accessibilityColumnCount\", \"accessibilityColumnIndex\", \"accessibilityColumnSpan\", \"accessibilityControls\", \"accessibilityCurrent\", \"accessibilityDescribedBy\", \"accessibilityDetails\", \"accessibilityDisabled\", \"accessibilityErrorMessage\", \"accessibilityExpanded\", \"accessibilityFlowTo\", \"accessibilityHasPopup\", \"accessibilityHidden\", \"accessibilityInvalid\", \"accessibilityKeyShortcuts\", \"accessibilityLabel\", \"accessibilityLabelledBy\", \"accessibilityLevel\", \"accessibilityLiveRegion\", \"accessibilityModal\", \"accessibilityMultiline\", \"accessibilityMultiSelectable\", \"accessibilityOrientation\", \"accessibilityOwns\", \"accessibilityPlaceholder\", \"accessibilityPosInSet\", \"accessibilityPressed\", \"accessibilityReadOnly\", \"accessibilityRequired\", \"accessibilityRole\", \"accessibilityRoleDescription\", \"accessibilityRowCount\", \"accessibilityRowIndex\", \"accessibilityRowSpan\", \"accessibilitySelected\", \"accessibilitySetSize\", \"accessibilitySort\", \"accessibilityValueMax\", \"accessibilityValueMin\", \"accessibilityValueNow\", \"accessibilityValueText\", \"classList\", \"dataSet\", \"focusable\", \"nativeID\", \"pointerEvents\", \"style\", \"testID\", \"accessible\", \"accessibilityState\", \"accessibilityValue\"]);\n\n var disabled = accessibilityState != null && accessibilityState.disabled === true || accessibilityDisabled;\n var role = AccessibilityUtil.propsToAriaRole(props); // DEPRECATED\n\n if (accessibilityState != null) {\n for (var prop in accessibilityState) {\n var value = accessibilityState[prop];\n\n if (value != null) {\n if (prop === 'disabled' || prop === 'hidden') {\n if (value === true) {\n domProps[\"aria-\" + prop] = value; // also set prop directly to pick up host elementType behaviour\n\n domProps[prop] = value;\n }\n } else {\n domProps[\"aria-\" + prop] = value;\n }\n }\n }\n }\n\n if (accessibilityValue != null) {\n for (var _prop in accessibilityValue) {\n var _value = accessibilityValue[_prop];\n\n if (_value != null) {\n domProps[\"aria-value\" + _prop] = _value;\n }\n }\n } // ACCESSIBILITY\n\n\n if (accessibilityActiveDescendant != null) {\n domProps['aria-activedescendant'] = accessibilityActiveDescendant;\n }\n\n if (accessibilityAtomic != null) {\n domProps['aria-atomic'] = accessibilityAtomic;\n }\n\n if (accessibilityAutoComplete != null) {\n domProps['aria-autocomplete'] = accessibilityAutoComplete;\n }\n\n if (accessibilityBusy != null) {\n domProps['aria-busy'] = accessibilityBusy;\n }\n\n if (accessibilityChecked != null) {\n domProps['aria-checked'] = accessibilityChecked;\n }\n\n if (accessibilityColumnCount != null) {\n domProps['aria-colcount'] = accessibilityColumnCount;\n }\n\n if (accessibilityColumnIndex != null) {\n domProps['aria-colindex'] = accessibilityColumnIndex;\n }\n\n if (accessibilityColumnSpan != null) {\n domProps['aria-colspan'] = accessibilityColumnSpan;\n }\n\n if (accessibilityControls != null) {\n domProps['aria-controls'] = processIDRefList(accessibilityControls);\n }\n\n if (accessibilityCurrent != null) {\n domProps['aria-current'] = accessibilityCurrent;\n }\n\n if (accessibilityDescribedBy != null) {\n domProps['aria-describedby'] = processIDRefList(accessibilityDescribedBy);\n }\n\n if (accessibilityDetails != null) {\n domProps['aria-details'] = accessibilityDetails;\n }\n\n if (disabled === true) {\n domProps['aria-disabled'] = true; // Enhance with native semantics\n\n if (elementType === 'button' || elementType === 'form' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.disabled = true;\n }\n }\n\n if (accessibilityErrorMessage != null) {\n domProps['aria-errormessage'] = accessibilityErrorMessage;\n }\n\n if (accessibilityExpanded != null) {\n domProps['aria-expanded'] = accessibilityExpanded;\n }\n\n if (accessibilityFlowTo != null) {\n domProps['aria-flowto'] = processIDRefList(accessibilityFlowTo);\n }\n\n if (accessibilityHasPopup != null) {\n domProps['aria-haspopup'] = accessibilityHasPopup;\n }\n\n if (accessibilityHidden === true) {\n domProps['aria-hidden'] = accessibilityHidden;\n }\n\n if (accessibilityInvalid != null) {\n domProps['aria-invalid'] = accessibilityInvalid;\n }\n\n if (accessibilityKeyShortcuts != null && Array.isArray(accessibilityKeyShortcuts)) {\n domProps['aria-keyshortcuts'] = accessibilityKeyShortcuts.join(' ');\n }\n\n if (accessibilityLabel != null) {\n domProps['aria-label'] = accessibilityLabel;\n }\n\n if (accessibilityLabelledBy != null) {\n domProps['aria-labelledby'] = processIDRefList(accessibilityLabelledBy);\n }\n\n if (accessibilityLevel != null) {\n domProps['aria-level'] = accessibilityLevel;\n }\n\n if (accessibilityLiveRegion != null) {\n domProps['aria-live'] = accessibilityLiveRegion === 'none' ? 'off' : accessibilityLiveRegion;\n }\n\n if (accessibilityModal != null) {\n domProps['aria-modal'] = accessibilityModal;\n }\n\n if (accessibilityMultiline != null) {\n domProps['aria-multiline'] = accessibilityMultiline;\n }\n\n if (accessibilityMultiSelectable != null) {\n domProps['aria-multiselectable'] = accessibilityMultiSelectable;\n }\n\n if (accessibilityOrientation != null) {\n domProps['aria-orientation'] = accessibilityOrientation;\n }\n\n if (accessibilityOwns != null) {\n domProps['aria-owns'] = processIDRefList(accessibilityOwns);\n }\n\n if (accessibilityPlaceholder != null) {\n domProps['aria-placeholder'] = accessibilityPlaceholder;\n }\n\n if (accessibilityPosInSet != null) {\n domProps['aria-posinset'] = accessibilityPosInSet;\n }\n\n if (accessibilityPressed != null) {\n domProps['aria-pressed'] = accessibilityPressed;\n }\n\n if (accessibilityReadOnly != null) {\n domProps['aria-readonly'] = accessibilityReadOnly; // Enhance with native semantics\n\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.readOnly = true;\n }\n }\n\n if (accessibilityRequired != null) {\n domProps['aria-required'] = accessibilityRequired; // Enhance with native semantics\n\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.required = true;\n }\n }\n\n if (role != null) {\n // 'presentation' synonym has wider browser support\n domProps['role'] = role === 'none' ? 'presentation' : role;\n }\n\n if (accessibilityRoleDescription != null) {\n domProps['aria-roledescription'] = accessibilityRoleDescription;\n }\n\n if (accessibilityRowCount != null) {\n domProps['aria-rowcount'] = accessibilityRowCount;\n }\n\n if (accessibilityRowIndex != null) {\n domProps['aria-rowindex'] = accessibilityRowIndex;\n }\n\n if (accessibilityRowSpan != null) {\n domProps['aria-rowspan'] = accessibilityRowSpan;\n }\n\n if (accessibilitySelected != null) {\n domProps['aria-selected'] = accessibilitySelected;\n }\n\n if (accessibilitySetSize != null) {\n domProps['aria-setsize'] = accessibilitySetSize;\n }\n\n if (accessibilitySort != null) {\n domProps['aria-sort'] = accessibilitySort;\n }\n\n if (accessibilityValueMax != null) {\n domProps['aria-valuemax'] = accessibilityValueMax;\n }\n\n if (accessibilityValueMin != null) {\n domProps['aria-valuemin'] = accessibilityValueMin;\n }\n\n if (accessibilityValueNow != null) {\n domProps['aria-valuenow'] = accessibilityValueNow;\n }\n\n if (accessibilityValueText != null) {\n domProps['aria-valuetext'] = accessibilityValueText;\n } // \"dataSet\" replaced with \"data-*\"\n\n\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\n if (dataValue != null) {\n domProps[\"data-\" + dataName] = dataValue;\n }\n }\n }\n } // FOCUS\n // \"focusable\" indicates that an element may be a keyboard tab-stop.\n\n\n var _focusable = focusable != null ? focusable : accessible;\n\n if (_focusable === false) {\n domProps.tabIndex = '-1';\n }\n\n if ( // These native elements are 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 ( // These roles are made 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 } // STYLE\n\n\n var reactNativeStyle = StyleSheet.compose(pointerEvents && pointerEventsStyles[pointerEvents], providedStyle); // Additional style resets for interactive elements\n\n var needsCursor = (role === 'button' || role === 'link') && !disabled;\n var needsReset = elementType === 'a' || elementType === 'button' || elementType === 'li' || elementType === 'ul' || role === 'heading'; // Classic CSS styles\n\n var finalClassList = [needsReset && classes.reset, needsCursor && classes.cursor, classList]; // Resolve styles\n\n var _styleResolver$resolv = styleResolver.resolve(reactNativeStyle, finalClassList),\n className = _styleResolver$resolv.className,\n style = _styleResolver$resolv.style;\n\n if (className != null && className !== '') {\n domProps.className = className;\n }\n\n if (style) {\n domProps.style = style;\n } // OTHER\n // Native element ID\n\n\n if (nativeID != null) {\n domProps.id = nativeID;\n } // Automated test IDs\n\n\n if (testID != null) {\n domProps['data-testid'] = testID;\n }\n\n return domProps;\n};\n\nexport default createDOMProps;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/fb015ed2c550a913b3a0d63ba2b32b26.json b/.expo/web/cache/development/babel-loader/fb015ed2c550a913b3a0d63ba2b32b26.json new file mode 100644 index 0000000000000000000000000000000000000000..35e9d33c13e42b72efce1bbd124b31e5f71be0b9 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/fb015ed2c550a913b3a0d63ba2b32b26.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nimport StyleSheet from \"../StyleSheet\";\nimport TouchableOpacity from \"../TouchableOpacity\";\nimport Text from \"../Text\";\nvar Button = React.forwardRef(function (props, forwardedRef) {\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 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 }, 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;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/Button/index.js"],"names":["React","StyleSheet","TouchableOpacity","Text","Button","forwardRef","props","forwardedRef","accessibilityLabel","color","disabled","onPress","testID","title","createElement","accessibilityRole","focusable","ref","style","styles","button","backgroundColor","buttonDisabled","text","textDisabled","displayName","create","borderRadius","fontWeight","padding","textAlign","textTransform"],"mappings":"AASA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,UAAP;AACA,OAAOC,gBAAP;AACA,OAAOC,IAAP;AACA,IAAIC,MAAM,GAAgBJ,KAAK,CAACK,UAAN,CAAiB,UAAUC,KAAV,EAAiBC,YAAjB,EAA+B;AACxE,MAAIC,kBAAkB,GAAGF,KAAK,CAACE,kBAA/B;AAAA,MACIC,KAAK,GAAGH,KAAK,CAACG,KADlB;AAAA,MAEIC,QAAQ,GAAGJ,KAAK,CAACI,QAFrB;AAAA,MAGIC,OAAO,GAAGL,KAAK,CAACK,OAHpB;AAAA,MAIIC,MAAM,GAAGN,KAAK,CAACM,MAJnB;AAAA,MAKIC,KAAK,GAAGP,KAAK,CAACO,KALlB;AAMA,SAAoBb,KAAK,CAACc,aAAN,CAAoBZ,gBAApB,EAAsC;AACxDM,IAAAA,kBAAkB,EAAEA,kBADoC;AAExDO,IAAAA,iBAAiB,EAAE,QAFqC;AAGxDL,IAAAA,QAAQ,EAAEA,QAH8C;AAIxDM,IAAAA,SAAS,EAAE,CAACN,QAJ4C;AAKxDC,IAAAA,OAAO,EAAEA,OAL+C;AAMxDM,IAAAA,GAAG,EAAEV,YANmD;AAOxDW,IAAAA,KAAK,EAAE,CAACC,MAAM,CAACC,MAAR,EAAgBX,KAAK,IAAI;AAC9BY,MAAAA,eAAe,EAAEZ;AADa,KAAzB,EAEJC,QAAQ,IAAIS,MAAM,CAACG,cAFf,CAPiD;AAUxDV,IAAAA,MAAM,EAAEA;AAVgD,GAAtC,EAWJZ,KAAK,CAACc,aAAN,CAAoBX,IAApB,EAA0B;AACxCe,IAAAA,KAAK,EAAE,CAACC,MAAM,CAACI,IAAR,EAAcb,QAAQ,IAAIS,MAAM,CAACK,YAAjC;AADiC,GAA1B,EAEbX,KAFa,CAXI,CAApB;AAcD,CArByB,CAA1B;AAsBAT,MAAM,CAACqB,WAAP,GAAqB,QAArB;AACA,IAAIN,MAAM,GAAGlB,UAAU,CAACyB,MAAX,CAAkB;AAC7BN,EAAAA,MAAM,EAAE;AACNC,IAAAA,eAAe,EAAE,SADX;AAENM,IAAAA,YAAY,EAAE;AAFR,GADqB;AAK7BJ,EAAAA,IAAI,EAAE;AACJd,IAAAA,KAAK,EAAE,MADH;AAEJmB,IAAAA,UAAU,EAAE,KAFR;AAGJC,IAAAA,OAAO,EAAE,CAHL;AAIJC,IAAAA,SAAS,EAAE,QAJP;AAKJC,IAAAA,aAAa,EAAE;AALX,GALuB;AAY7BT,EAAAA,cAAc,EAAE;AACdD,IAAAA,eAAe,EAAE;AADH,GAZa;AAe7BG,EAAAA,YAAY,EAAE;AACZf,IAAAA,KAAK,EAAE;AADK;AAfe,CAAlB,CAAb;AAmBA,eAAeL,MAAf","sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport TouchableOpacity from '../TouchableOpacity';\nimport Text from '../Text';\nvar Button = /*#__PURE__*/React.forwardRef(function (props, forwardedRef) {\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;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/fb6375342f1aca47e9d7047f1b643c63.json b/.expo/web/cache/development/babel-loader/fb6375342f1aca47e9d7047f1b643c63.json new file mode 100644 index 0000000000000000000000000000000000000000..18f68b9ba3d1995f29697974ea66149e0148744f --- /dev/null +++ b/.expo/web/cache/development/babel-loader/fb6375342f1aca47e9d7047f1b643c63.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nimport createNavigationContainerRef from \"./createNavigationContainerRef\";\nexport default function useNavigationContainerRef() {\n var navigation = React.useRef(null);\n\n if (navigation.current == null) {\n navigation.current = createNavigationContainerRef();\n }\n\n return navigation.current;\n}","map":{"version":3,"sources":["useNavigationContainerRef.tsx"],"names":["navigation","React","createNavigationContainerRef"],"mappings":"AAAA,OAAO,KAAP,KAAA,MAAA,OAAA;AAEA,OAAA,4BAAA;AAGA,eAAe,SAAA,yBAAA,GAEmC;AAChD,MAAMA,UAAU,GACdC,KAAK,CAALA,MAAAA,CADF,IACEA,CADF;;AAGA,MAAID,UAAU,CAAVA,OAAAA,IAAJ,IAAA,EAAgC;AAC9BA,IAAAA,UAAU,CAAVA,OAAAA,GAAqBE,4BAArBF,EAAAA;AACD;;AAED,SAAOA,UAAU,CAAjB,OAAA;AACD","sourcesContent":["import * as React from 'react';\n\nimport createNavigationContainerRef from './createNavigationContainerRef';\nimport type { NavigationContainerRefWithCurrent } from './types';\n\nexport default function useNavigationContainerRef<\n ParamList extends {} = ReactNavigation.RootParamList\n>(): NavigationContainerRefWithCurrent<ParamList> {\n const navigation =\n React.useRef<NavigationContainerRefWithCurrent<ParamList> | null>(null);\n\n if (navigation.current == null) {\n navigation.current = createNavigationContainerRef<ParamList>();\n }\n\n return navigation.current;\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/fb6fd75d9007d5f4396c25430641b39c.json b/.expo/web/cache/development/babel-loader/fb6fd75d9007d5f4396c25430641b39c.json new file mode 100644 index 0000000000000000000000000000000000000000..9e154d6f85fc2ff9d5b086a7788ed4172ca5baa1 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/fb6fd75d9007d5f4396c25430641b39c.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef } from \"firebase/firestore\";\nimport { firebase } from '@react-native-firebase/firestore';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n listenOnChange();\n useeffect();\n\n function useeffect() {\n var querySnapshot = getDocs(collection(db, \"Users\"));\n querySnapshot.forEach(function (doc) {\n console.log(doc.id + \" => \" + doc.data());\n });\n }\n\n function listenOnChange() {\n onSnapshot(collection(getFirestore(), 'Users'), function (snapchot) {\n snapchot.docChanges().forEach(function (change) {\n if (change.type === 'removed') {} else {\n var message = change.doc.data();\n var itemData = {\n name: message.Name,\n email: message.Email,\n image: message.Image\n };\n DATA.push(itemData);\n }\n });\n });\n }\n\n if (route.params != null) {}\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsxs(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: [_jsx(Text, {\n children: item.name\n }), _jsx(Image, {\n style: styles.tinyLogo,\n source: {\n uri: item.image\n }\n })]\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n itemDetails: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: \" bla\"\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n },\n tinyLogo: {\n width: 50,\n height: 50\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDocs","docRef","firebase","DATA","UserLists","navigation","route","users","setUsers","listenOnChange","useeffect","querySnapshot","forEach","console","log","id","data","snapchot","docChanges","change","type","message","itemData","name","Name","email","Email","image","Image","push","params","Item","item","onPress","backgroundColor","textColor","styles","tinyLogo","uri","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","itemDetails","EmptyListMessage","Alert","alert","container","index","toString","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal","width","height"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from \"firebase/firestore\"\r\nimport { firebase } from '@react-native-firebase/firestore';\r\n\r\n\r\n\r\n\r\n\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState(null);\r\n\r\nlistenOnChange();\r\nuseeffect();\r\n\r\n/*useEffect(()=>{\r\n \r\nconst colRef = collection(db,\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n querySnapshot.forEach((doc)=>{\r\n const {email, image, name} = doc.data();\r\n const itemData = {name: name, email: email, image: image}\r\n DATA.push(itemData);\r\n Alert.alert(name);\r\n });\r\n \r\n //setUsers(users)\r\n});\r\n//Alert.alert(users.Name.toString);\r\n\r\n},[])*/\r\n\r\n/*useEffect(()=>{\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n},[])*/\r\n\r\nfunction useeffect(){\r\n const querySnapshot = getDocs(collection(db, \"Users\"));\r\nquerySnapshot.forEach((doc) => {\r\n console.log(`${doc.id} => ${doc.data()}`);\r\n});\r\n}\r\n\r\nfunction listenOnChange() {\r\n onSnapshot(collection(getFirestore(),'Users'), function(snapchot){\r\n snapchot.docChanges().forEach(function(change){\r\n if(change.type === 'removed'){\r\n //deleteMessage(change.doc.id);\r\n }\r\n else{\r\n var message = change.doc.data();\r\n const itemData = {name: message.Name, email: message.Email, image: message.Image}\r\n DATA.push(itemData);\r\n //Alert.alert(message.Name);\r\n //displayMessage(change.doc.id, message.timestamp, message.name,message.text, message.profilePicUrl, message.imageUrl);\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\n//Alert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {item.name} \r\n </Text>\r\n \r\n <Image style={styles.tinyLogo}\r\n source={{\r\n uri: item.image,\r\n }}\r\n />\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{itemDetails:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text> bla</Text>\r\n <Button title='addUser' /> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n tinyLogo: {\r\n width: 50,\r\n height: 50,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/fc0e59a99b76dced7fcf7901882a630b.json b/.expo/web/cache/development/babel-loader/fc0e59a99b76dced7fcf7901882a630b.json new file mode 100644 index 0000000000000000000000000000000000000000..cbf2c2054eb7f3508ef80b4dd6d2814ff87415d8 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/fc0e59a99b76dced7fcf7901882a630b.json @@ -0,0 +1 @@ +{"ast":null,"code":"import NativeEventEmitter from \"../../vendor/react-native/NativeEventEmitter\";\nexport default NativeEventEmitter;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/NativeEventEmitter/index.js"],"names":["NativeEventEmitter"],"mappings":"AAQA,OAAOA,kBAAP;AACA,eAAeA,kBAAf","sourcesContent":["/**\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 */\nimport NativeEventEmitter from '../../vendor/react-native/NativeEventEmitter';\nexport default NativeEventEmitter;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/fc1d8329ffc599173891bd52f493e424.json b/.expo/web/cache/development/babel-loader/fc1d8329ffc599173891bd52f493e424.json new file mode 100644 index 0000000000000000000000000000000000000000..02576e9803709a73a61beeb6a34f5eb9e4a444c8 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/fc1d8329ffc599173891bd52f493e424.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require(\"./cjs/react-is.production.min.js\");\n} else {\n module.exports = require(\"./cjs/react-is.development.js\");\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/@react-navigation/core/node_modules/react-is/index.js"],"names":["process","env","NODE_ENV","module","exports","require"],"mappings":"AAAA;;AAEA,IAAIA,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzCC,EAAAA,MAAM,CAACC,OAAP,GAAiBC,OAAO,oCAAxB;AACD,CAFD,MAEO;AACLF,EAAAA,MAAM,CAACC,OAAP,GAAiBC,OAAO,iCAAxB;AACD","sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n"]},"metadata":{},"sourceType":"script"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/fc224c9003cebc4fa6734c66fb60a25c.json b/.expo/web/cache/development/babel-loader/fc224c9003cebc4fa6734c66fb60a25c.json new file mode 100644 index 0000000000000000000000000000000000000000..186fe28531287433768f10ec00c8d4a9c430fb3e --- /dev/null +++ b/.expo/web/cache/development/babel-loader/fc224c9003cebc4fa6734c66fb60a25c.json @@ -0,0 +1 @@ +{"ast":null,"code":"function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nimport View from \"../View\";\nimport React from 'react';\n\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, [\"colors\", \"enabled\", \"onRefresh\", \"progressBackgroundColor\", \"progressViewOffset\", \"refreshing\", \"size\", \"tintColor\", \"title\", \"titleColor\"]);\n\n return React.createElement(View, rest);\n}\n\nexport default RefreshControl;","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/RefreshControl/index.js"],"names":["_objectWithoutPropertiesLoose","source","excluded","target","sourceKeys","Object","keys","key","i","length","indexOf","View","React","RefreshControl","props","colors","enabled","onRefresh","progressBackgroundColor","progressViewOffset","refreshing","size","tintColor","title","titleColor","rest","createElement"],"mappings":"AAAA,SAASA,6BAAT,CAAuCC,MAAvC,EAA+CC,QAA/C,EAAyD;AAAE,MAAID,MAAM,IAAI,IAAd,EAAoB,OAAO,EAAP;AAAW,MAAIE,MAAM,GAAG,EAAb;AAAiB,MAAIC,UAAU,GAAGC,MAAM,CAACC,IAAP,CAAYL,MAAZ,CAAjB;AAAsC,MAAIM,GAAJ,EAASC,CAAT;;AAAY,OAAKA,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGJ,UAAU,CAACK,MAA3B,EAAmCD,CAAC,EAApC,EAAwC;AAAED,IAAAA,GAAG,GAAGH,UAAU,CAACI,CAAD,CAAhB;AAAqB,QAAIN,QAAQ,CAACQ,OAAT,CAAiBH,GAAjB,KAAyB,CAA7B,EAAgC;AAAUJ,IAAAA,MAAM,CAACI,GAAD,CAAN,GAAcN,MAAM,CAACM,GAAD,CAApB;AAA4B;;AAAC,SAAOJ,MAAP;AAAgB;;AAWnT,OAAOQ,IAAP;AACA,OAAOC,KAAP,MAAkB,OAAlB;;AAEA,SAASC,cAAT,CAAwBC,KAAxB,EAA+B;AAC7B,MAAIC,MAAM,GAAGD,KAAK,CAACC,MAAnB;AAAA,MACIC,OAAO,GAAGF,KAAK,CAACE,OADpB;AAAA,MAEIC,SAAS,GAAGH,KAAK,CAACG,SAFtB;AAAA,MAGIC,uBAAuB,GAAGJ,KAAK,CAACI,uBAHpC;AAAA,MAIIC,kBAAkB,GAAGL,KAAK,CAACK,kBAJ/B;AAAA,MAKIC,UAAU,GAAGN,KAAK,CAACM,UALvB;AAAA,MAMIC,IAAI,GAAGP,KAAK,CAACO,IANjB;AAAA,MAOIC,SAAS,GAAGR,KAAK,CAACQ,SAPtB;AAAA,MAQIC,KAAK,GAAGT,KAAK,CAACS,KARlB;AAAA,MASIC,UAAU,GAAGV,KAAK,CAACU,UATvB;AAAA,MAUIC,IAAI,GAAGzB,6BAA6B,CAACc,KAAD,EAAQ,CAAC,QAAD,EAAW,SAAX,EAAsB,WAAtB,EAAmC,yBAAnC,EAA8D,oBAA9D,EAAoF,YAApF,EAAkG,MAAlG,EAA0G,WAA1G,EAAuH,OAAvH,EAAgI,YAAhI,CAAR,CAVxC;;AAYA,SAAoBF,KAAK,CAACc,aAAN,CAAoBf,IAApB,EAA0Bc,IAA1B,CAApB;AACD;;AAED,eAAeZ,cAAf","sourcesContent":["function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport View from '../View';\nimport React from 'react';\n\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, [\"colors\", \"enabled\", \"onRefresh\", \"progressBackgroundColor\", \"progressViewOffset\", \"refreshing\", \"size\", \"tintColor\", \"title\", \"titleColor\"]);\n\n return /*#__PURE__*/React.createElement(View, rest);\n}\n\nexport default RefreshControl;"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/fcbc12a0dcfc0443ae1a6e591a8918ce.json b/.expo/web/cache/development/babel-loader/fcbc12a0dcfc0443ae1a6e591a8918ce.json new file mode 100644 index 0000000000000000000000000000000000000000..c633f8c85e8b05879c6cebe0a166634dd5c6ee12 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/fcbc12a0dcfc0443ae1a6e591a8918ce.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users.toString);\n setUsers(users);\n });\n }, []);\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {})\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","params","post","Item","item","onPress","backgroundColor","textColor","styles","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users.toString);\r\n setUsers(users)\r\n});\r\n\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\n/*function writeData(){\r\n \r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})\r\n}*/\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async () => {\r\n const id = 'q5EOqKxKEsAO6lLmhbnc';\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUsers({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n Alert.alert(users[0])\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {/*item.Name*/} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser'/> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/fcfd51f919c4fe9ad7ece103c491e44e.json b/.expo/web/cache/development/babel-loader/fcfd51f919c4fe9ad7ece103c491e44e.json new file mode 100644 index 0000000000000000000000000000000000000000..d89fb88998a8a85539454ee3c7419357a8cbbd0c --- /dev/null +++ b/.expo/web/cache/development/babel-loader/fcfd51f919c4fe9ad7ece103c491e44e.json @@ -0,0 +1 @@ +{"ast":null,"code":"export 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}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/isSelectionValid/index.js"],"names":["isSelectionValid","selection","window","getSelection","string","toString","anchorNode","focusNode","isTextNode","nodeType","Node","TEXT_NODE","length"],"mappings":"AAQA,eAAe,SAASA,gBAAT,GAA4B;AACzC,MAAIC,SAAS,GAAGC,MAAM,CAACC,YAAP,EAAhB;AACA,MAAIC,MAAM,GAAGH,SAAS,CAACI,QAAV,EAAb;AACA,MAAIC,UAAU,GAAGL,SAAS,CAACK,UAA3B;AACA,MAAIC,SAAS,GAAGN,SAAS,CAACM,SAA1B;AACA,MAAIC,UAAU,GAAGF,UAAU,IAAIA,UAAU,CAACG,QAAX,KAAwBP,MAAM,CAACQ,IAAP,CAAYC,SAAlD,IAA+DJ,SAAS,IAAIA,SAAS,CAACE,QAAV,KAAuBP,MAAM,CAACQ,IAAP,CAAYC,SAAhI;AACA,SAAOP,MAAM,CAACQ,MAAP,IAAiB,CAAjB,IAAsBR,MAAM,KAAK,IAAjC,IAAyCI,UAAhD;AACD","sourcesContent":["/**\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 */\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}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/fd115f229dead66269566dc04250c6cf.json b/.expo/web/cache/development/babel-loader/fd115f229dead66269566dc04250c6cf.json new file mode 100644 index 0000000000000000000000000000000000000000..2d0f05c60545e4388917c5e8396becad6ff4f1e3 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/fd115f229dead66269566dc04250c6cf.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport { CommonActions } from '@react-navigation/routers';\nimport * as React from 'react';\nimport NavigationContext from \"./NavigationContext\";\nimport { PrivateValueStore } from \"./types\";\nimport UnhandledActionContext from \"./UnhandledActionContext\";\nPrivateValueStore;\nexport default function useNavigationHelpers(_ref) {\n var onAction = _ref.onAction,\n getState = _ref.getState,\n emitter = _ref.emitter,\n router = _ref.router;\n var onUnhandledAction = React.useContext(UnhandledActionContext);\n var parentNavigationHelpers = React.useContext(NavigationContext);\n return React.useMemo(function () {\n var dispatch = function dispatch(op) {\n var action = typeof op === 'function' ? op(getState()) : op;\n var handled = onAction(action);\n\n if (!handled) {\n onUnhandledAction === null || onUnhandledAction === void 0 ? void 0 : onUnhandledAction(action);\n }\n };\n\n var actions = _objectSpread(_objectSpread({}, router.actionCreators), CommonActions);\n\n var helpers = Object.keys(actions).reduce(function (acc, name) {\n acc[name] = function () {\n return dispatch(actions[name].apply(actions, arguments));\n };\n\n return acc;\n }, {});\n return _objectSpread(_objectSpread(_objectSpread({}, parentNavigationHelpers), helpers), {}, {\n dispatch: dispatch,\n emit: emitter.emit,\n isFocused: parentNavigationHelpers ? parentNavigationHelpers.isFocused : function () {\n return true;\n },\n canGoBack: function canGoBack() {\n var state = getState();\n return router.getStateForAction(state, CommonActions.goBack(), {\n routeNames: state.routeNames,\n routeParamList: {},\n routeGetIdList: {}\n }) !== null || (parentNavigationHelpers === null || parentNavigationHelpers === void 0 ? void 0 : parentNavigationHelpers.canGoBack()) || false;\n },\n getParent: function getParent() {\n return parentNavigationHelpers;\n },\n getState: getState\n });\n }, [emitter.emit, getState, onAction, onUnhandledAction, parentNavigationHelpers, router]);\n}","map":{"version":3,"sources":["useNavigationHelpers.tsx"],"names":["PrivateValueStore","router","onUnhandledAction","React","parentNavigationHelpers","dispatch","op","action","getState","handled","onAction","actions","CommonActions","helpers","acc","emit","emitter","isFocused","canGoBack","state","routeNames","routeParamList","routeGetIdList","getParent"],"mappings":";;;;;;AAAA,SAAA,aAAA,QAAA,2BAAA;AAOA,OAAO,KAAP,KAAA,MAAA,OAAA;AAEA,OAAA,iBAAA;AACA,SAAA,iBAAA;AACA,OAAA,sBAAA;AAKAA,iBAAiB;AAajB,eAAe,SAAA,oBAAA,CAAA,IAAA,EAKoD;AAAjE,MAAA,QAAA,GAAiE,IAAjE,CAAA,QAAA;AAAA,MAAA,QAAA,GAAiE,IAAjE,CAAA,QAAA;AAAA,MAAA,OAAA,GAAiE,IAAjE,CAAA,OAAA;AAAA,MAA+BC,MAA/B,GAAiE,IAAjE,CAA+BA,MAA/B;AACA,MAAMC,iBAAiB,GAAGC,KAAK,CAALA,UAAAA,CAA1B,sBAA0BA,CAA1B;AACA,MAAMC,uBAAuB,GAAGD,KAAK,CAALA,UAAAA,CAAhC,iBAAgCA,CAAhC;AAEA,SAAO,KAAK,CAAL,OAAA,CAAc,YAAM;AACzB,QAAME,QAAQ,GAAIC,SAAZD,QAAYC,CAAAA,EAAD,EAA6C;AAC5D,UAAMC,MAAM,GAAG,OAAA,EAAA,KAAA,UAAA,GAA2BD,EAAE,CAACE,QAA9B,EAA6B,CAA7B,GAAf,EAAA;AAEA,UAAMC,OAAO,GAAGC,QAAQ,CAAxB,MAAwB,CAAxB;;AAEA,UAAI,CAAJ,OAAA,EAAc;AACZR,QAAAA,iBAAiB,KAAjBA,IAAAA,IAAAA,iBAAiB,KAAA,KAAjBA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,iBAAiB,CAAjBA,MAAiB,CAAjBA;AACD;AAPH,KAAA;;AAUA,QAAMS,OAAO,mCACRV,MAAM,CADK,cAAH,GAERW,aAFQ,CAAb;;AAKA,QAAMC,OAAO,GAAG,MAAM,CAAN,IAAA,CAAA,OAAA,EAAA,MAAA,CACd,UAAA,GAAA,EAAA,IAAA,EAAe;AAEbC,MAAAA,GAAG,CAAHA,IAAG,CAAHA,GAAY,YAAA;AAAA,eAAkBT,QAAQ,CAACM,OAAO,CAAPA,IAAO,CAAPA,OAAAA,OAAO,EAAlC,SAAkC,CAAR,CAA1B;AAAZG,OAAAA;;AACA,aAAA,GAAA;AAJY,KAAA,EAAhB,EAAgB,CAAhB;AASA,yDAAO,uBAAP,GAAO,OAAP;AAGET,MAAAA,QAHK,EAGLA,QAHF;AAIEU,MAAAA,IAAI,EAAEC,OAAO,CAJR,IAAP;AAKEC,MAAAA,SAAS,EAAEb,uBAAuB,GAC9BA,uBAAuB,CADO,SAAA,GAE9B;AAAA,eAPC,IAOD;AAAA,OAPN;AAQEc,MAAAA,SAAS,EAAE,qBAAM;AACf,YAAMC,KAAK,GAAGX,QAAd,EAAA;AAEA,eACE,MAAM,CAAN,iBAAA,CAAA,KAAA,EAAgCI,aAAa,CAA7C,MAAgCA,EAAhC,EAAkE;AAChEQ,UAAAA,UAAU,EAAED,KAAK,CAD+C,UAAA;AAEhEE,UAAAA,cAAc,EAFkD,EAAA;AAGhEC,UAAAA,cAAc,EAAE;AAHgD,SAAlE,MAAA,IAAA,KAKAlB,uBALA,KAAA,IAKAA,IAAAA,uBALA,KAAA,KAAA,CAKAA,GALA,KAAA,CAKAA,GAAAA,uBAAuB,CALvB,SAKAA,EALA,KADF,KAAA;AAXG,OAAP;AAqBEmB,MAAAA,SAAS,EAAE;AAAA,eArBN,uBAqBM;AAAA,OArBb;AAsBEf,MAAAA,QAAAA,EAAAA;AAtBF;AAzBK,GAAA,EAmDJ,CACDQ,OAAO,CADN,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,uBAAA,EAnDH,MAmDG,CAnDI,CAAP;AA2DD","sourcesContent":["import {\n CommonActions,\n NavigationAction,\n NavigationState,\n ParamListBase,\n Router,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationContext from './NavigationContext';\nimport { NavigationHelpers, NavigationProp, PrivateValueStore } from './types';\nimport UnhandledActionContext from './UnhandledActionContext';\nimport type { NavigationEventEmitter } from './useEventEmitter';\n\n// This is to make TypeScript compiler happy\n// eslint-disable-next-line babel/no-unused-expressions\nPrivateValueStore;\n\ntype Options<State extends NavigationState, Action extends NavigationAction> = {\n onAction: (action: NavigationAction) => boolean;\n getState: () => State;\n emitter: NavigationEventEmitter<any>;\n router: Router<State, Action>;\n};\n\n/**\n * Navigation object with helper methods to be used by a navigator.\n * This object includes methods for common actions as well as methods the parent screen's navigation object.\n */\nexport default function useNavigationHelpers<\n State extends NavigationState,\n ActionHelpers extends Record<string, () => void>,\n Action extends NavigationAction,\n EventMap extends Record<string, any>\n>({ onAction, getState, emitter, router }: Options<State, Action>) {\n const onUnhandledAction = React.useContext(UnhandledActionContext);\n const parentNavigationHelpers = React.useContext(NavigationContext);\n\n return React.useMemo(() => {\n const dispatch = (op: Action | ((state: State) => Action)) => {\n const action = typeof op === 'function' ? op(getState()) : op;\n\n const handled = onAction(action);\n\n if (!handled) {\n onUnhandledAction?.(action);\n }\n };\n\n const actions = {\n ...router.actionCreators,\n ...CommonActions,\n };\n\n const helpers = Object.keys(actions).reduce<Record<string, () => void>>(\n (acc, name) => {\n // @ts-expect-error: name is a valid key, but TypeScript is dumb\n acc[name] = (...args: any) => dispatch(actions[name](...args));\n return acc;\n },\n {}\n );\n\n return {\n ...parentNavigationHelpers,\n ...helpers,\n dispatch,\n emit: emitter.emit,\n isFocused: parentNavigationHelpers\n ? parentNavigationHelpers.isFocused\n : () => true,\n canGoBack: () => {\n const state = getState();\n\n return (\n router.getStateForAction(state, CommonActions.goBack() as Action, {\n routeNames: state.routeNames,\n routeParamList: {},\n routeGetIdList: {},\n }) !== null ||\n parentNavigationHelpers?.canGoBack() ||\n false\n );\n },\n getParent: () => parentNavigationHelpers as any,\n getState,\n } as NavigationHelpers<ParamListBase, EventMap> &\n (NavigationProp<ParamListBase, string, any, any, any> | undefined) &\n ActionHelpers;\n }, [\n emitter.emit,\n getState,\n onAction,\n onUnhandledAction,\n parentNavigationHelpers,\n router,\n ]);\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/fd3296c6bd1d5335a17f1172b4076b2a.json b/.expo/web/cache/development/babel-loader/fd3296c6bd1d5335a17f1172b4076b2a.json new file mode 100644 index 0000000000000000000000000000000000000000..5dfcff2bb592531a27b8e1fbb247bce1271c6657 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/fd3296c6bd1d5335a17f1172b4076b2a.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { initializeApp } from \"firebase/app\";\nimport { getAnalytics } from \"firebase/analytics\";\nimport { getFirestore, collection, getDocs } from 'firebase/firestore';\nvar firebaseConfig = {\n apiKey: \"AIzaSyCNhZTcHSLaIGjP-fzpPrqRTAiWZB9jLos\",\n authDomain: \"exercise-react-native-433ff.firebaseapp.com\",\n projectId: \"exercise-react-native-433ff\",\n storageBucket: \"exercise-react-native-433ff.appspot.com\",\n messagingSenderId: \"293211634805\",\n appId: \"1:293211634805:web:e02756294908e9734ecc3c\",\n measurementId: \"G-R25TM36Y33\"\n};\nvar app = initializeApp(firebaseConfig);\n\nfunction getCities(db) {\n var citiesCol, citySnapshot, cityList;\n return _regeneratorRuntime.async(function getCities$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n citiesCol = collection(db, 'cities');\n _context.next = 3;\n return _regeneratorRuntime.awrap(getDocs(citiesCol));\n\n case 3:\n citySnapshot = _context.sent;\n cityList = citySnapshot.docs.map(function (doc) {\n return doc.data();\n });\n return _context.abrupt(\"return\", cityList);\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n}\n\nexport default getFirestore(app);","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/Firebase.js"],"names":["initializeApp","getAnalytics","getFirestore","collection","getDocs","firebaseConfig","apiKey","authDomain","projectId","storageBucket","messagingSenderId","appId","measurementId","app","getCities","db","citiesCol","citySnapshot","cityList","docs","map","doc","data"],"mappings":";AAAA,SAASA,aAAT,QAA8B,cAA9B;AACA,SAASC,YAAT,QAA6B,oBAA7B;AACA,SAASC,YAAT,EAAuBC,UAAvB,EAAmCC,OAAnC,QAAkD,oBAAlD;AAIA,IAAMC,cAAc,GAAG;AACnBC,EAAAA,MAAM,EAAE,yCADW;AAEnBC,EAAAA,UAAU,EAAE,6CAFO;AAGnBC,EAAAA,SAAS,EAAE,6BAHQ;AAInBC,EAAAA,aAAa,EAAE,yCAJI;AAKnBC,EAAAA,iBAAiB,EAAE,cALA;AAMnBC,EAAAA,KAAK,EAAE,2CANY;AAOnBC,EAAAA,aAAa,EAAE;AAPI,CAAvB;AAWE,IAAMC,GAAG,GAAGb,aAAa,CAACK,cAAD,CAAzB;;AAKF,SAAeS,SAAf,CAAyBC,EAAzB;AAAA;AAAA;AAAA;AAAA;AAAA;AACUC,UAAAA,SADV,GACsBb,UAAU,CAACY,EAAD,EAAK,QAAL,CADhC;AAAA;AAAA,2CAE+BX,OAAO,CAACY,SAAD,CAFtC;;AAAA;AAEUC,UAAAA,YAFV;AAGUC,UAAAA,QAHV,GAGqBD,YAAY,CAACE,IAAb,CAAkBC,GAAlB,CAAsB,UAAAC,GAAG;AAAA,mBAAIA,GAAG,CAACC,IAAJ,EAAJ;AAAA,WAAzB,CAHrB;AAAA,2CAIWJ,QAJX;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAOE,eAAehB,YAAY,CAACW,GAAD,CAA3B","sourcesContent":["import { initializeApp } from \"firebase/app\";\r\nimport { getAnalytics } from \"firebase/analytics\";\r\nimport { getFirestore, collection, getDocs } from 'firebase/firestore';\r\n\r\n\r\n\r\nconst firebaseConfig = {\r\n apiKey: \"AIzaSyCNhZTcHSLaIGjP-fzpPrqRTAiWZB9jLos\",\r\n authDomain: \"exercise-react-native-433ff.firebaseapp.com\",\r\n projectId: \"exercise-react-native-433ff\",\r\n storageBucket: \"exercise-react-native-433ff.appspot.com\",\r\n messagingSenderId: \"293211634805\",\r\n appId: \"1:293211634805:web:e02756294908e9734ecc3c\",\r\n measurementId: \"G-R25TM36Y33\"\r\n };\r\n \r\n // Initialize Firebase\r\n const app = initializeApp(firebaseConfig);\r\n //const analytics = getAnalytics(app);\r\n //const db = getFirestore(app);\r\n\r\n // Get a list of cities from your database\r\nasync function getCities(db) {\r\n const citiesCol = collection(db, 'cities');\r\n const citySnapshot = await getDocs(citiesCol);\r\n const cityList = citySnapshot.docs.map(doc => doc.data());\r\n return cityList;\r\n }\r\n \r\n export default getFirestore(app);\r\n\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/fd5e314e904e2a3d878cf477e73f6eff.json b/.expo/web/cache/development/babel-loader/fd5e314e904e2a3d878cf477e73f6eff.json new file mode 100644 index 0000000000000000000000000000000000000000..5c38354934f65c44020a8e02223e7b492c699246 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/fd5e314e904e2a3d878cf477e73f6eff.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport SafeAreaView from \"react-native-web/dist/exports/SafeAreaView\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport Alert from \"react-native-web/dist/exports/Alert\";\nimport { StatusBar } from 'expo-status-bar';\nimport db from \"../Firebase\";\nimport { collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef } from \"firebase/firestore\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DATA = [];\nexport default function UserLists(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n users = _useState2[0],\n setUsers = _useState2[1];\n\n useEffect(function () {\n var colRef = collection(db, \"Users\");\n onSnapshot(colRef, function (querySnapshot) {\n var users = [];\n querySnapshot.forEach(function (doc) {\n var _doc$data = doc.data(),\n Email = _doc$data.Email,\n Image = _doc$data.Image,\n Name = _doc$data.Name;\n\n users.push({\n id: doc.id,\n Email: Email,\n Image: Image,\n Name: Name\n });\n });\n Alert.alert(users.toString);\n setUsers(users);\n });\n\n if (users != null) {\n Alert.alert(' users load', users.id);\n }\n }, []);\n\n if (route.params != null) {\n Alert.alert(route.params.post);\n }\n\n var Item = function Item(_ref2) {\n var item = _ref2.item,\n onPress = _ref2.onPress,\n backgroundColor = _ref2.backgroundColor,\n textColor = _ref2.textColor;\n return _jsx(View, {\n children: _jsx(TouchableOpacity, {\n onPress: onPress,\n style: [styles.item, backgroundColor],\n children: _jsx(Text, {})\n })\n });\n };\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedId = _useState4[0],\n setSelectedId = _useState4[1];\n\n var renderItem = function renderItem(_ref3) {\n var item = _ref3.item;\n var backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\n var color = item.id === selectedId ? 'white' : 'black';\n return _jsx(Item, {\n item: item,\n onPress: function onPress() {\n return OpenEditVorlesungsliste(item);\n },\n textColor: {\n color: color\n }\n });\n };\n\n var OpenEditVorlesungsliste = function OpenEditVorlesungsliste(item) {\n setSelectedId(item.id);\n navigation.navigate('Details', {\n name: item\n });\n };\n\n var EmptyListMessage = function EmptyListMessage() {\n if (DATA != null) {} else {\n Alert.alert(\"fach is empty\");\n }\n\n return _jsx(Text, {\n children: \"No Data Found\"\n });\n };\n\n return _jsxs(SafeAreaView, {\n style: styles.container,\n children: [_jsxs(View, {\n children: [_jsx(Button, {\n onPress: function onPress() {\n navigation.navigate('CreateNewUser');\n },\n title: \"Create new User\"\n }), _jsx(StatusBar, {\n style: \"auto\"\n })]\n }), _jsx(Text, {\n children: users\n }), _jsx(Button, {\n title: \"addUser\"\n }), _jsx(Button, {\n title: \"UpdateUser\"\n }), _jsx(FlatList, {\n data: DATA,\n renderItem: renderItem,\n keyExtractor: function keyExtractor(item, index) {\n return index.toString();\n },\n extraData: selectedId,\n ListEmptyComponent: EmptyListMessage\n })]\n });\n}\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n alignItems: 'center',\n justifyContent: 'center',\n marginHorizontal: 16\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/UserList.js"],"names":["React","useState","useEffect","StatusBar","db","collection","doc","onSnapshot","QuerySnapshot","addDoc","Firestore","setDoc","getFirestore","getDoc","docRef","DATA","UserLists","navigation","route","users","setUsers","colRef","querySnapshot","forEach","data","Email","Image","Name","push","id","Alert","alert","toString","params","post","Item","item","onPress","backgroundColor","textColor","styles","selectedId","setSelectedId","renderItem","color","OpenEditVorlesungsliste","navigate","name","EmptyListMessage","container","index","StyleSheet","create","flex","alignItems","justifyContent","marginHorizontal"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert } from 'react-native';\r\nimport { StatusBar } from 'expo-status-bar';\r\n\r\nimport db from '../Firebase'\r\nimport {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from \"firebase/firestore\"\r\n\r\n\r\n/*import firestore from '@react-native-firebase/firestore';\r\n\r\nconst usersCollection = firestore().collection('Users');\r\n\r\nconst userDocument = firestore()\r\n .collection('Users')\r\n .doc('qDSGd9vFtY9kqlkKffgG')\r\n .then(docSnapshot => {\r\n if (docSnapshot.exists) {\r\n const userData = docSnapshot.data()\r\n console.log(userData)\r\n }\r\n });\r\n\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/*let DATA = [\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',\r\n title: 'First Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bc',\r\n title: 'Second Item',\r\n },\r\n {id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28bd',\r\n title: 'Third Item',\r\n },\r\n];*/\r\nlet DATA = [];\r\n\r\nexport default function UserLists({navigation, route}){\r\n\r\nconst [users, setUsers] = useState([]);\r\nuseEffect(()=>{\r\n \r\nconst colRef = collection(db,\"Users\");\r\nonSnapshot(colRef, (querySnapshot) => {\r\n const users = [];\r\n querySnapshot.forEach((doc)=>{\r\n const {Email, Image, Name} = doc.data();\r\n users.push({id:doc.id, Email, Image, Name})\r\n });\r\n Alert.alert(users.toString);\r\n setUsers(users)\r\n});\r\nif(users!= null){\r\n Alert.alert(' users load',users.id)\r\n}\r\n\r\n},[])\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//write data\r\n/*function writeData(){\r\n \r\n try {\r\n const docRef = async () =>{\r\n await addDoc(collection(db, \"Users\"), {\r\n Email: \"Ada\",\r\n Image: \"Lovelace\",\r\n Name: \"1815\"\r\n });\r\n }\r\n console.log(\"Document written with ID: \", docRef.id);\r\n Alert.alert(\"write Data worked: \");\r\n} catch (e) {\r\n console.error(\"Error adding document: \", e);\r\n}*/\r\n\r\n// Add a new document with a generated id.\r\n\r\n \r\n/*const firestore = getFirestore();\r\nconst document = doc(firestore, 'Users/qDSGd9vFtY9kqlkKffgG');\r\nfunction writeData(){\r\n const docData = {\r\n Name: \"Ada\",\r\n Email: \"Lovelace\",\r\n Image: \"1815\"\r\n };\r\n setDoc(document,docData);\r\n}\r\nwriteData();\r\n\r\n\r\n\r\nfirebase.firestore().collection('users').add({\r\n title: this.state.textInput,\r\n complete: false,\r\n})\r\n}*/\r\n\r\n\r\n\r\n//update user\r\n/*const getUserById = async () => {\r\n const id = 'q5EOqKxKEsAO6lLmhbnc';\r\n const docRef = doc(db, 'users', id);\r\n const docu = await getDoc(docRef);\r\n const user = docu.data();\r\n setUsers({\r\n ...user,\r\n id: docu.id,\r\n });\r\n setLoading(false);\r\n Alert.alert(users[0])\r\n };\r\n*/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nif(route.params != null){\r\n//DATA.push({id:'899', title:route.params.post})\r\nAlert.alert(route.params.post);\r\n}\r\n const Item = ({ item, onPress, backgroundColor, textColor }) => (\r\n <View>\r\n <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}>\r\n <Text>\r\n {/*item.Name*/} \r\n </Text>\r\n </TouchableOpacity>\r\n </View>\r\n );\r\n\r\nconst [selectedId, setSelectedId] = useState(null);\r\n\r\n const renderItem = ({ item }) => {\r\n const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff';\r\n const color = item.id === selectedId ? 'white' : 'black';\r\n\r\n return (\r\n <Item\r\n item={item}\r\n onPress={() => OpenEditVorlesungsliste(item)}\r\n /*onPress={OpenSetting(item.id)}*/\r\n textColor={{ color }}\r\n />\r\n );\r\n };\r\n\r\n\r\n const OpenEditVorlesungsliste = (item) =>{\r\n // frage wo di navigation übergeben. von Stundenplan aus der über useNavigation\r\n setSelectedId(item.id)\r\n //Alert.alert('opensettings müsste funktionieren', item.fach)\r\n navigation.navigate('Details',{name:item})\r\n \r\n}\r\n\r\n\r\nconst EmptyListMessage = () => {\r\n if(DATA != null ){\r\n //Alert.alert(fach.fach);\r\n }\r\n else{\r\n Alert.alert(\"fach is empty\");\r\n }\r\n \r\n return (\r\n // Flat List Item\r\n <Text>\r\n No Data Found \r\n \r\n </Text>\r\n );\r\n };\r\n \r\n return (\r\n <SafeAreaView style={styles.container}>\r\n <View >\r\n <Button onPress={()=> {navigation.navigate('CreateNewUser')}} title=\"Create new User\"></Button>\r\n <StatusBar style=\"auto\" />\r\n </View>\r\n <Text>{users}</Text>\r\n <Button title='addUser'/> \r\n <Button title='UpdateUser' />\r\n <FlatList\r\n data={DATA}\r\n renderItem={renderItem}\r\n keyExtractor={ (item, index) => index.toString()}//item => item.id\r\n extraData={selectedId}\r\n ListEmptyComponent={EmptyListMessage}\r\n />\r\n </SafeAreaView>\r\n );\r\n\r\n \r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: '#fff',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 16,\r\n },\r\n });\r\n "]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/fdee30fed2c5985c279be0e0b69976f4.json b/.expo/web/cache/development/babel-loader/fdee30fed2c5985c279be0e0b69976f4.json new file mode 100644 index 0000000000000000000000000000000000000000..b6bbb2552f738891396bae2278418c1f18d21d21 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/fdee30fed2c5985c279be0e0b69976f4.json @@ -0,0 +1 @@ +{"ast":null,"code":"import { Platform } from 'expo-modules-core';\nvar LOCAL_STORAGE_KEY = 'EXPO_ERROR_RECOVERY_STORAGE';\n\nfunction _consumeRecoveryProps() {\n if (!Platform.isDOMAvailable) return null;\n\n try {\n var props = localStorage.getItem(LOCAL_STORAGE_KEY);\n localStorage.removeItem(LOCAL_STORAGE_KEY);\n return props;\n } catch (e) {}\n\n return null;\n}\n\nexport default {\n get name() {\n return 'ExpoErrorRecovery';\n },\n\n saveRecoveryProps: function saveRecoveryProps(props) {\n if (!Platform.isDOMAvailable) return;\n\n try {\n localStorage.setItem(LOCAL_STORAGE_KEY, props);\n } catch (e) {}\n },\n recoveredProps: _consumeRecoveryProps()\n};","map":{"version":3,"sources":["../src/ExpoErrorRecovery.web.ts"],"names":[],"mappings":"AAAA,SAAS,QAAT,QAAyB,mBAAzB;AACA,IAAM,iBAAiB,GAAG,6BAA1B;;AAEA,SAAS,qBAAT,GAA8B;AAC5B,MAAI,CAAC,QAAQ,CAAC,cAAd,EAA8B,OAAO,IAAP;;AAC9B,MAAI;AACF,QAAM,KAAK,GAAG,YAAY,CAAC,OAAb,CAAqB,iBAArB,CAAd;AACA,IAAA,YAAY,CAAC,UAAb,CAAwB,iBAAxB;AACA,WAAO,KAAP;AACD,GAJD,CAIE,OAAO,CAAP,EAAU,CAEX;;AACD,SAAO,IAAP;AACD;;AAED,eAAe;AACb,MAAI,IAAJ,GAAQ;AACN,WAAO,mBAAP;AACD,GAHY;;AAKb,EAAA,iBALa,6BAKK,KALL,EAKkB;AAC7B,QAAI,CAAC,QAAQ,CAAC,cAAd,EAA8B;;AAC9B,QAAI;AACF,MAAA,YAAY,CAAC,OAAb,CAAqB,iBAArB,EAAwC,KAAxC;AACD,KAFD,CAEE,OAAO,CAAP,EAAU,CAEX;AACF,GAZY;AAcb,EAAA,cAAc,EAAE,qBAAqB;AAdxB,CAAf","sourcesContent":["import { Platform } from 'expo-modules-core';\nconst LOCAL_STORAGE_KEY = 'EXPO_ERROR_RECOVERY_STORAGE';\n\nfunction _consumeRecoveryProps(): string | null {\n if (!Platform.isDOMAvailable) return null;\n try {\n const props = localStorage.getItem(LOCAL_STORAGE_KEY);\n localStorage.removeItem(LOCAL_STORAGE_KEY);\n return props;\n } catch (e) {\n // Catches localStorage SecurityError https://github.com/expo/expo/issues/8355\n }\n return null;\n}\n\nexport default {\n get name(): string {\n return 'ExpoErrorRecovery';\n },\n\n saveRecoveryProps(props: string): void {\n if (!Platform.isDOMAvailable) return;\n try {\n localStorage.setItem(LOCAL_STORAGE_KEY, props);\n } catch (e) {\n // Catches localStorage SecurityError https://github.com/expo/expo/issues/8355\n }\n },\n\n recoveredProps: _consumeRecoveryProps(),\n};\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/fe60c02fb8b6448d8daa3ae128a0573e.json b/.expo/web/cache/development/babel-loader/fe60c02fb8b6448d8daa3ae128a0573e.json new file mode 100644 index 0000000000000000000000000000000000000000..b98c7fb9313431a6b15cd63a1d90bc7388641395 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/fe60c02fb8b6448d8daa3ae128a0573e.json @@ -0,0 +1 @@ +{"ast":null,"code":"import * as React from 'react';\nimport BackHandler from \"react-native-web/dist/exports/BackHandler\";\nexport default function useBackButton(ref) {\n React.useEffect(function () {\n var subscription = BackHandler.addEventListener('hardwareBackPress', function () {\n var navigation = ref.current;\n\n if (navigation == null) {\n return false;\n }\n\n if (navigation.canGoBack()) {\n navigation.goBack();\n return true;\n }\n\n return false;\n });\n return function () {\n return subscription.remove();\n };\n }, [ref]);\n}","map":{"version":3,"sources":["useBackButton.tsx"],"names":["React","subscription","navigation","ref"],"mappings":"AAIA,OAAO,KAAP,KAAA,MAAA,OAAA;;AAGA,eAAe,SAAA,aAAA,CAAA,GAAA,EAEb;AACAA,EAAAA,KAAK,CAALA,SAAAA,CAAgB,YAAM;AACpB,QAAMC,YAAY,GAAG,WAAW,CAAX,gBAAA,CAAA,mBAAA,EAEnB,YAAM;AACJ,UAAMC,UAAU,GAAGC,GAAG,CAAtB,OAAA;;AAEA,UAAID,UAAU,IAAd,IAAA,EAAwB;AACtB,eAAA,KAAA;AACD;;AAED,UAAIA,UAAU,CAAd,SAAIA,EAAJ,EAA4B;AAC1BA,QAAAA,UAAU,CAAVA,MAAAA;AAEA,eAAA,IAAA;AACD;;AAED,aAAA,KAAA;AAfJ,KAAqB,CAArB;AAmBA,WAAO;AAAA,aAAMD,YAAY,CAAzB,MAAaA,EAAN;AAAA,KAAP;AApBFD,GAAAA,EAqBG,CArBHA,GAqBG,CArBHA;AAsBD","sourcesContent":["import type {\n NavigationContainerRef,\n ParamListBase,\n} from '@react-navigation/core';\nimport * as React from 'react';\nimport { BackHandler } from 'react-native';\n\nexport default function useBackButton(\n ref: React.RefObject<NavigationContainerRef<ParamListBase>>\n) {\n React.useEffect(() => {\n const subscription = BackHandler.addEventListener(\n 'hardwareBackPress',\n () => {\n const navigation = ref.current;\n\n if (navigation == null) {\n return false;\n }\n\n if (navigation.canGoBack()) {\n navigation.goBack();\n\n return true;\n }\n\n return false;\n }\n );\n\n return () => subscription.remove();\n }, [ref]);\n}\n"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/fe9ce30126887ab4d7f9427df66c3028.json b/.expo/web/cache/development/babel-loader/fe9ce30126887ab4d7f9427df66c3028.json new file mode 100644 index 0000000000000000000000000000000000000000..264011662c5a6092811bc5018a2bb660d94b83c3 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/fe9ce30126887ab4d7f9427df66c3028.json @@ -0,0 +1 @@ +{"ast":null,"code":"import createEventHandle from \"../createEventHandle\";\nimport useLayoutEffect from \"../useLayoutEffect\";\nimport useStable from \"../useStable\";\nexport default function useEvent(event, options) {\n var targetListeners = useStable(function () {\n return new Map();\n });\n var addListener = useStable(function () {\n var addEventListener = createEventHandle(event, options);\n return function (target, callback) {\n var removeTargetListener = targetListeners.get(target);\n\n if (removeTargetListener != null) {\n removeTargetListener();\n }\n\n if (callback == null) {\n targetListeners.delete(target);\n }\n\n var removeEventListener = addEventListener(target, callback);\n targetListeners.set(target, removeEventListener);\n return removeEventListener;\n };\n });\n useLayoutEffect(function () {\n return function () {\n targetListeners.forEach(function (removeListener) {\n removeListener();\n });\n targetListeners.clear();\n };\n }, []);\n return addListener;\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/useEvent/index.js"],"names":["createEventHandle","useLayoutEffect","useStable","useEvent","event","options","targetListeners","Map","addListener","addEventListener","target","callback","removeTargetListener","get","delete","removeEventListener","set","forEach","removeListener","clear"],"mappings":"AAQA,OAAOA,iBAAP;AACA,OAAOC,eAAP;AACA,OAAOC,SAAP;AAWA,eAAe,SAASC,QAAT,CAAkBC,KAAlB,EAAyBC,OAAzB,EAAkC;AAC/C,MAAIC,eAAe,GAAGJ,SAAS,CAAC,YAAY;AAC1C,WAAO,IAAIK,GAAJ,EAAP;AACD,GAF8B,CAA/B;AAGA,MAAIC,WAAW,GAAGN,SAAS,CAAC,YAAY;AACtC,QAAIO,gBAAgB,GAAGT,iBAAiB,CAACI,KAAD,EAAQC,OAAR,CAAxC;AACA,WAAO,UAAUK,MAAV,EAAkBC,QAAlB,EAA4B;AACjC,UAAIC,oBAAoB,GAAGN,eAAe,CAACO,GAAhB,CAAoBH,MAApB,CAA3B;;AAEA,UAAIE,oBAAoB,IAAI,IAA5B,EAAkC;AAChCA,QAAAA,oBAAoB;AACrB;;AAED,UAAID,QAAQ,IAAI,IAAhB,EAAsB;AACpBL,QAAAA,eAAe,CAACQ,MAAhB,CAAuBJ,MAAvB;AACD;;AAED,UAAIK,mBAAmB,GAAGN,gBAAgB,CAACC,MAAD,EAASC,QAAT,CAA1C;AACAL,MAAAA,eAAe,CAACU,GAAhB,CAAoBN,MAApB,EAA4BK,mBAA5B;AACA,aAAOA,mBAAP;AACD,KAdD;AAeD,GAjB0B,CAA3B;AAkBAd,EAAAA,eAAe,CAAC,YAAY;AAC1B,WAAO,YAAY;AACjBK,MAAAA,eAAe,CAACW,OAAhB,CAAwB,UAAUC,cAAV,EAA0B;AAChDA,QAAAA,cAAc;AACf,OAFD;AAGAZ,MAAAA,eAAe,CAACa,KAAhB;AACD,KALD;AAMD,GAPc,EAOZ,EAPY,CAAf;AAQA,SAAOX,WAAP;AACD","sourcesContent":["/**\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 */\nimport createEventHandle from '../createEventHandle';\nimport useLayoutEffect from '../useLayoutEffect';\nimport useStable from '../useStable';\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 */\nexport default function useEvent(event, options) {\n var targetListeners = useStable(function () {\n return new Map();\n });\n var addListener = useStable(function () {\n var addEventListener = createEventHandle(event, options);\n return function (target, callback) {\n var removeTargetListener = targetListeners.get(target);\n\n if (removeTargetListener != null) {\n removeTargetListener();\n }\n\n if (callback == null) {\n targetListeners.delete(target);\n }\n\n var removeEventListener = addEventListener(target, callback);\n targetListeners.set(target, removeEventListener);\n return removeEventListener;\n };\n });\n useLayoutEffect(function () {\n return function () {\n targetListeners.forEach(function (removeListener) {\n removeListener();\n });\n targetListeners.clear();\n };\n }, []);\n return addListener;\n}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/fef0826fc378dd5f99da9fa466122659.json b/.expo/web/cache/development/babel-loader/fef0826fc378dd5f99da9fa466122659.json new file mode 100644 index 0000000000000000000000000000000000000000..ea042801620bb0b9c0452620c46df23fac43c101 --- /dev/null +++ b/.expo/web/cache/development/babel-loader/fef0826fc378dd5f99da9fa466122659.json @@ -0,0 +1 @@ +{"ast":null,"code":"export var STYLE_ELEMENT_ID = 'react-native-stylesheet';\nexport var STYLE_GROUPS = {\n reset: 0,\n modality: 0.1,\n classicReset: 0.5,\n classic: 1,\n atomic: 2.2,\n custom: {\n borderColor: 2,\n borderRadius: 2,\n borderStyle: 2,\n borderWidth: 2,\n display: 2,\n flex: 2,\n margin: 2,\n overflow: 2,\n overscrollBehavior: 2,\n padding: 2,\n marginHorizontal: 2.1,\n marginVertical: 2.1,\n paddingHorizontal: 2.1,\n paddingVertical: 2.1\n }\n};\nexport var STYLE_SHORT_FORM_EXPANSIONS = {\n borderColor: ['borderTopColor', 'borderRightColor', 'borderBottomColor', 'borderLeftColor'],\n borderRadius: ['borderTopLeftRadius', 'borderTopRightRadius', 'borderBottomRightRadius', 'borderBottomLeftRadius'],\n borderStyle: ['borderTopStyle', 'borderRightStyle', 'borderBottomStyle', 'borderLeftStyle'],\n borderWidth: ['borderTopWidth', 'borderRightWidth', 'borderBottomWidth', 'borderLeftWidth'],\n margin: ['marginTop', 'marginRight', 'marginBottom', 'marginLeft'],\n marginHorizontal: ['marginRight', 'marginLeft'],\n marginVertical: ['marginTop', 'marginBottom'],\n overflow: ['overflowX', 'overflowY'],\n overscrollBehavior: ['overscrollBehaviorX', 'overscrollBehaviorY'],\n padding: ['paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft'],\n paddingHorizontal: ['paddingRight', 'paddingLeft'],\n paddingVertical: ['paddingTop', 'paddingBottom']\n};\nexport var MONOSPACE_FONT_STACK = 'monospace,monospace';\nexport var SYSTEM_FONT_STACK = '-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif';","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/exports/StyleSheet/constants.js"],"names":["STYLE_ELEMENT_ID","STYLE_GROUPS","reset","modality","classicReset","classic","atomic","custom","borderColor","borderRadius","borderStyle","borderWidth","display","flex","margin","overflow","overscrollBehavior","padding","marginHorizontal","marginVertical","paddingHorizontal","paddingVertical","STYLE_SHORT_FORM_EXPANSIONS","MONOSPACE_FONT_STACK","SYSTEM_FONT_STACK"],"mappings":"AAQA,OAAO,IAAIA,gBAAgB,GAAG,yBAAvB;AACP,OAAO,IAAIC,YAAY,GAAG;AACxBC,EAAAA,KAAK,EAAE,CADiB;AAExBC,EAAAA,QAAQ,EAAE,GAFc;AAGxBC,EAAAA,YAAY,EAAE,GAHU;AAIxBC,EAAAA,OAAO,EAAE,CAJe;AAKxBC,EAAAA,MAAM,EAAE,GALgB;AAMxBC,EAAAA,MAAM,EAAE;AACNC,IAAAA,WAAW,EAAE,CADP;AAENC,IAAAA,YAAY,EAAE,CAFR;AAGNC,IAAAA,WAAW,EAAE,CAHP;AAINC,IAAAA,WAAW,EAAE,CAJP;AAKNC,IAAAA,OAAO,EAAE,CALH;AAMNC,IAAAA,IAAI,EAAE,CANA;AAONC,IAAAA,MAAM,EAAE,CAPF;AAQNC,IAAAA,QAAQ,EAAE,CARJ;AASNC,IAAAA,kBAAkB,EAAE,CATd;AAUNC,IAAAA,OAAO,EAAE,CAVH;AAWNC,IAAAA,gBAAgB,EAAE,GAXZ;AAYNC,IAAAA,cAAc,EAAE,GAZV;AAaNC,IAAAA,iBAAiB,EAAE,GAbb;AAcNC,IAAAA,eAAe,EAAE;AAdX;AANgB,CAAnB;AAuBP,OAAO,IAAIC,2BAA2B,GAAG;AACvCd,EAAAA,WAAW,EAAE,CAAC,gBAAD,EAAmB,kBAAnB,EAAuC,mBAAvC,EAA4D,iBAA5D,CAD0B;AAEvCC,EAAAA,YAAY,EAAE,CAAC,qBAAD,EAAwB,sBAAxB,EAAgD,yBAAhD,EAA2E,wBAA3E,CAFyB;AAGvCC,EAAAA,WAAW,EAAE,CAAC,gBAAD,EAAmB,kBAAnB,EAAuC,mBAAvC,EAA4D,iBAA5D,CAH0B;AAIvCC,EAAAA,WAAW,EAAE,CAAC,gBAAD,EAAmB,kBAAnB,EAAuC,mBAAvC,EAA4D,iBAA5D,CAJ0B;AAKvCG,EAAAA,MAAM,EAAE,CAAC,WAAD,EAAc,aAAd,EAA6B,cAA7B,EAA6C,YAA7C,CAL+B;AAMvCI,EAAAA,gBAAgB,EAAE,CAAC,aAAD,EAAgB,YAAhB,CANqB;AAOvCC,EAAAA,cAAc,EAAE,CAAC,WAAD,EAAc,cAAd,CAPuB;AAQvCJ,EAAAA,QAAQ,EAAE,CAAC,WAAD,EAAc,WAAd,CAR6B;AASvCC,EAAAA,kBAAkB,EAAE,CAAC,qBAAD,EAAwB,qBAAxB,CATmB;AAUvCC,EAAAA,OAAO,EAAE,CAAC,YAAD,EAAe,cAAf,EAA+B,eAA/B,EAAgD,aAAhD,CAV8B;AAWvCG,EAAAA,iBAAiB,EAAE,CAAC,cAAD,EAAiB,aAAjB,CAXoB;AAYvCC,EAAAA,eAAe,EAAE,CAAC,YAAD,EAAe,eAAf;AAZsB,CAAlC;AAcP,OAAO,IAAIE,oBAAoB,GAAG,qBAA3B;AACP,OAAO,IAAIC,iBAAiB,GAAG,+EAAxB","sourcesContent":["/**\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 */\nexport var STYLE_ELEMENT_ID = 'react-native-stylesheet';\nexport var STYLE_GROUPS = {\n reset: 0,\n modality: 0.1,\n classicReset: 0.5,\n classic: 1,\n atomic: 2.2,\n custom: {\n borderColor: 2,\n borderRadius: 2,\n borderStyle: 2,\n borderWidth: 2,\n display: 2,\n flex: 2,\n margin: 2,\n overflow: 2,\n overscrollBehavior: 2,\n padding: 2,\n marginHorizontal: 2.1,\n marginVertical: 2.1,\n paddingHorizontal: 2.1,\n paddingVertical: 2.1\n }\n};\nexport var STYLE_SHORT_FORM_EXPANSIONS = {\n borderColor: ['borderTopColor', 'borderRightColor', 'borderBottomColor', 'borderLeftColor'],\n borderRadius: ['borderTopLeftRadius', 'borderTopRightRadius', 'borderBottomRightRadius', 'borderBottomLeftRadius'],\n borderStyle: ['borderTopStyle', 'borderRightStyle', 'borderBottomStyle', 'borderLeftStyle'],\n borderWidth: ['borderTopWidth', 'borderRightWidth', 'borderBottomWidth', 'borderLeftWidth'],\n margin: ['marginTop', 'marginRight', 'marginBottom', 'marginLeft'],\n marginHorizontal: ['marginRight', 'marginLeft'],\n marginVertical: ['marginTop', 'marginBottom'],\n overflow: ['overflowX', 'overflowY'],\n overscrollBehavior: ['overscrollBehaviorX', 'overscrollBehaviorY'],\n padding: ['paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft'],\n paddingHorizontal: ['paddingRight', 'paddingLeft'],\n paddingVertical: ['paddingTop', 'paddingBottom']\n};\nexport var MONOSPACE_FONT_STACK = 'monospace,monospace';\nexport var SYSTEM_FONT_STACK = '-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif';"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/fef87b4fcca1e221a0a34f679d2e348b.json b/.expo/web/cache/development/babel-loader/fef87b4fcca1e221a0a34f679d2e348b.json new file mode 100644 index 0000000000000000000000000000000000000000..effdbee8f49d3b26d6e6e3ed20230b9fafac7e3f --- /dev/null +++ b/.expo/web/cache/development/babel-loader/fef87b4fcca1e221a0a34f679d2e348b.json @@ -0,0 +1 @@ +{"ast":null,"code":"'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});\n\nvar isActiveSignal = function isActiveSignal(signal) {\n return signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\n};\n\nvar isButtonRole = function isButtonRole(element) {\n return element.getAttribute('role') === 'button';\n};\n\nvar isPressStartSignal = function isPressStartSignal(signal) {\n return signal === RESPONDER_INACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\n};\n\nvar isTerminalSignal = function isTerminalSignal(signal) {\n return signal === RESPONDER_TERMINATED || signal === RESPONDER_RELEASE;\n};\n\nvar isValidKeyPress = function isValidKeyPress(event) {\n var key = event.key,\n target = event.target;\n var role = target.getAttribute('role');\n var isSpacebar = key === ' ' || key === 'Spacebar';\n return key === 'Enter' || isSpacebar && role === 'button';\n};\n\nvar DEFAULT_LONG_PRESS_DELAY_MS = 450;\nvar DEFAULT_PRESS_DELAY_MS = 50;\n\nvar PressResponder = function () {\n function PressResponder(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.configure(config);\n }\n\n var _proto = PressResponder.prototype;\n\n _proto.configure = function configure(config) {\n this._config = config;\n };\n\n _proto.reset = function reset() {\n this._cancelLongPressDelayTimeout();\n\n this._cancelPressDelayTimeout();\n\n this._cancelPressOutDelayTimeout();\n };\n\n _proto.getEventHandlers = function getEventHandlers() {\n if (this._eventHandlers == null) {\n this._eventHandlers = this._createEventHandlers();\n }\n\n return this._eventHandlers;\n };\n\n _proto._createEventHandlers = function _createEventHandlers() {\n var _this = this;\n\n var start = function start(event, shouldDelay) {\n event.persist();\n\n _this._cancelPressOutDelayTimeout();\n\n _this._longPressDispatched = false;\n _this._selectionTerminated = false;\n _this._touchState = NOT_RESPONDER;\n _this._isPointerTouch = event.nativeEvent.type === 'touchstart';\n\n _this._receiveSignal(RESPONDER_GRANT, event);\n\n var delayPressStart = normalizeDelay(_this._config.delayPressStart, 0, DEFAULT_PRESS_DELAY_MS);\n\n if (shouldDelay !== false && delayPressStart > 0) {\n _this._pressDelayTimeout = setTimeout(function () {\n _this._receiveSignal(DELAY, event);\n }, delayPressStart);\n } else {\n _this._receiveSignal(DELAY, event);\n }\n\n var delayLongPress = normalizeDelay(_this._config.delayLongPress, 10, DEFAULT_LONG_PRESS_DELAY_MS);\n _this._longPressDelayTimeout = setTimeout(function () {\n _this._handleLongPress(event);\n }, delayLongPress + delayPressStart);\n };\n\n var end = function end(event) {\n _this._receiveSignal(RESPONDER_RELEASE, event);\n };\n\n var keyupHandler = function keyupHandler(event) {\n var onPress = _this._config.onPress;\n var target = event.target;\n\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 = target.tagName.toLowerCase();\n var isNativeInteractiveElement = role === 'link' || elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea';\n\n if (onPress != null && !isNativeInteractiveElement) {\n onPress(event);\n }\n }\n };\n\n return {\n onStartShouldSetResponder: function onStartShouldSetResponder(event) {\n var disabled = _this._config.disabled;\n\n if (disabled && isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n\n if (disabled == null) {\n return true;\n }\n\n return !disabled;\n },\n onKeyDown: function onKeyDown(event) {\n var disabled = _this._config.disabled;\n var key = event.key,\n target = event.target;\n\n if (!disabled && isValidKeyPress(event)) {\n if (_this._touchState === NOT_RESPONDER) {\n start(event, false);\n document.addEventListener('keyup', keyupHandler);\n }\n\n var role = target.getAttribute('role');\n var isSpacebarKey = key === ' ' || key === 'Spacebar';\n\n var _isButtonRole = role === 'button' || role === 'menuitem';\n\n if (isSpacebarKey && _isButtonRole) {\n event.preventDefault();\n }\n\n event.stopPropagation();\n }\n },\n onResponderGrant: function onResponderGrant(event) {\n return start(event);\n },\n onResponderMove: function onResponderMove(event) {\n if (_this._config.onPressMove != null) {\n _this._config.onPressMove(event);\n }\n\n var touch = getTouchFromResponderEvent(event);\n\n if (_this._touchActivatePosition != null) {\n var deltaX = _this._touchActivatePosition.pageX - touch.pageX;\n var deltaY = _this._touchActivatePosition.pageY - touch.pageY;\n\n if (Math.hypot(deltaX, deltaY) > 10) {\n _this._cancelLongPressDelayTimeout();\n }\n }\n },\n onResponderRelease: function onResponderRelease(event) {\n return end(event);\n },\n onResponderTerminate: function onResponderTerminate(event) {\n if (event.nativeEvent.type === 'selectionchange') {\n _this._selectionTerminated = true;\n }\n\n _this._receiveSignal(RESPONDER_TERMINATED, event);\n },\n onResponderTerminationRequest: function onResponderTerminationRequest(event) {\n var _this$_config = _this._config,\n cancelable = _this$_config.cancelable,\n disabled = _this$_config.disabled,\n onLongPress = _this$_config.onLongPress;\n\n if (!disabled && onLongPress != null && _this._isPointerTouch && event.nativeEvent.type === 'contextmenu') {\n return false;\n }\n\n if (cancelable == null) {\n return true;\n }\n\n return cancelable;\n },\n onClick: function onClick(event) {\n var _this$_config2 = _this._config,\n disabled = _this$_config2.disabled,\n onPress = _this$_config2.onPress;\n\n if (!disabled) {\n event.stopPropagation();\n\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 onContextMenu: function onContextMenu(event) {\n var _this$_config3 = _this._config,\n disabled = _this$_config3.disabled,\n onLongPress = _this$_config3.onLongPress;\n\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 _proto._receiveSignal = function _receiveSignal(signal, event) {\n var prevState = this._touchState;\n var nextState = null;\n\n if (Transitions[prevState] != null) {\n nextState = Transitions[prevState][signal];\n }\n\n if (this._touchState === NOT_RESPONDER && signal === RESPONDER_RELEASE) {\n return;\n }\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\n this._touchState = nextState;\n }\n };\n\n _proto._performTransitionSideEffects = function _performTransitionSideEffects(prevState, nextState, signal, event) {\n if (isTerminalSignal(signal)) {\n this._isPointerTouch = false;\n this._touchActivatePosition = null;\n\n this._cancelLongPressDelayTimeout();\n }\n\n if (isPressStartSignal(prevState) && signal === LONG_PRESS_DETECTED) {\n var onLongPress = this._config.onLongPress;\n\n if (onLongPress != null && event.nativeEvent.key == null) {\n onLongPress(event);\n this._longPressDispatched = true;\n }\n }\n\n var isPrevActive = isActiveSignal(prevState);\n var isNextActive = isActiveSignal(nextState);\n\n if (!isPrevActive && isNextActive) {\n this._activate(event);\n } else if (isPrevActive && !isNextActive) {\n this._deactivate(event);\n }\n\n if (isPressStartSignal(prevState) && signal === RESPONDER_RELEASE) {\n var _this$_config4 = this._config,\n _onLongPress = _this$_config4.onLongPress,\n onPress = _this$_config4.onPress;\n\n if (onPress != null) {\n var isPressCanceledByLongPress = _onLongPress != null && prevState === RESPONDER_ACTIVE_LONG_PRESS_START;\n\n if (!isPressCanceledByLongPress) {\n if (!isNextActive && !isPrevActive) {\n this._activate(event);\n\n this._deactivate(event);\n }\n }\n }\n }\n\n this._cancelPressDelayTimeout();\n };\n\n _proto._activate = function _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\n if (onPressStart != null) {\n onPressStart(event);\n }\n\n if (onPressChange != null) {\n onPressChange(true);\n }\n };\n\n _proto._deactivate = function _deactivate(event) {\n var _this$_config6 = this._config,\n onPressChange = _this$_config6.onPressChange,\n onPressEnd = _this$_config6.onPressEnd;\n\n function end() {\n if (onPressEnd != null) {\n onPressEnd(event);\n }\n\n if (onPressChange != null) {\n onPressChange(false);\n }\n }\n\n var delayPressEnd = normalizeDelay(this._config.delayPressEnd);\n\n if (delayPressEnd > 0) {\n this._pressOutDelayTimeout = setTimeout(function () {\n end();\n }, delayPressEnd);\n } else {\n end();\n }\n };\n\n _proto._handleLongPress = function _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\n _proto._cancelLongPressDelayTimeout = function _cancelLongPressDelayTimeout() {\n if (this._longPressDelayTimeout != null) {\n clearTimeout(this._longPressDelayTimeout);\n this._longPressDelayTimeout = null;\n }\n };\n\n _proto._cancelPressDelayTimeout = function _cancelPressDelayTimeout() {\n if (this._pressDelayTimeout != null) {\n clearTimeout(this._pressDelayTimeout);\n this._pressDelayTimeout = null;\n }\n };\n\n _proto._cancelPressOutDelayTimeout = function _cancelPressOutDelayTimeout() {\n if (this._pressOutDelayTimeout != null) {\n clearTimeout(this._pressOutDelayTimeout);\n this._pressOutDelayTimeout = null;\n }\n };\n\n return PressResponder;\n}();\n\nexport { PressResponder as default };\n\nfunction normalizeDelay(delay, min, fallback) {\n if (min === void 0) {\n min = 0;\n }\n\n if (fallback === void 0) {\n fallback = 0;\n }\n\n return Math.max(min, delay !== null && delay !== void 0 ? delay : fallback);\n}\n\nfunction getTouchFromResponderEvent(event) {\n var _event$nativeEvent = event.nativeEvent,\n changedTouches = _event$nativeEvent.changedTouches,\n touches = _event$nativeEvent.touches;\n\n if (touches != null && touches.length > 0) {\n return touches[0];\n }\n\n if (changedTouches != null && changedTouches.length > 0) {\n return changedTouches[0];\n }\n\n return event.nativeEvent;\n}","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/node_modules/react-native-web/dist/modules/usePressEvents/PressResponder.js"],"names":["DELAY","ERROR","LONG_PRESS_DETECTED","NOT_RESPONDER","RESPONDER_ACTIVE_LONG_PRESS_START","RESPONDER_ACTIVE_PRESS_START","RESPONDER_INACTIVE_PRESS_START","RESPONDER_GRANT","RESPONDER_RELEASE","RESPONDER_TERMINATED","Transitions","Object","freeze","isActiveSignal","signal","isButtonRole","element","getAttribute","isPressStartSignal","isTerminalSignal","isValidKeyPress","event","key","target","role","isSpacebar","DEFAULT_LONG_PRESS_DELAY_MS","DEFAULT_PRESS_DELAY_MS","PressResponder","config","_eventHandlers","_isPointerTouch","_longPressDelayTimeout","_longPressDispatched","_pressDelayTimeout","_pressOutDelayTimeout","_touchState","configure","_proto","prototype","_config","reset","_cancelLongPressDelayTimeout","_cancelPressDelayTimeout","_cancelPressOutDelayTimeout","getEventHandlers","_createEventHandlers","_this","start","shouldDelay","persist","_selectionTerminated","nativeEvent","type","_receiveSignal","delayPressStart","normalizeDelay","setTimeout","delayLongPress","_handleLongPress","end","keyupHandler","onPress","document","removeEventListener","elementType","tagName","toLowerCase","isNativeInteractiveElement","onStartShouldSetResponder","disabled","currentTarget","stopPropagation","onKeyDown","addEventListener","isSpacebarKey","_isButtonRole","preventDefault","onResponderGrant","onResponderMove","onPressMove","touch","getTouchFromResponderEvent","_touchActivatePosition","deltaX","pageX","deltaY","pageY","Math","hypot","onResponderRelease","onResponderTerminate","onResponderTerminationRequest","_this$_config","cancelable","onLongPress","onClick","_this$_config2","altKey","onContextMenu","_this$_config3","defaultPrevented","prevState","nextState","console","error","_performTransitionSideEffects","isPrevActive","isNextActive","_activate","_deactivate","_this$_config4","_onLongPress","isPressCanceledByLongPress","_this$_config5","onPressChange","onPressStart","_this$_config6","onPressEnd","delayPressEnd","clearTimeout","default","delay","min","fallback","max","_event$nativeEvent","changedTouches","touches","length"],"mappings":"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","sourcesContent":["/**\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 * @format\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});\n\nvar isActiveSignal = function isActiveSignal(signal) {\n return signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\n};\n\nvar isButtonRole = function isButtonRole(element) {\n return element.getAttribute('role') === 'button';\n};\n\nvar isPressStartSignal = function isPressStartSignal(signal) {\n return signal === RESPONDER_INACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\n};\n\nvar isTerminalSignal = function isTerminalSignal(signal) {\n return signal === RESPONDER_TERMINATED || signal === RESPONDER_RELEASE;\n};\n\nvar isValidKeyPress = function isValidKeyPress(event) {\n var key = event.key,\n target = event.target;\n var role = target.getAttribute('role');\n var isSpacebar = key === ' ' || key === 'Spacebar';\n return key === 'Enter' || isSpacebar && role === 'button';\n};\n\nvar DEFAULT_LONG_PRESS_DELAY_MS = 450; // 500 - 50\n\nvar DEFAULT_PRESS_DELAY_MS = 50;\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 * <View {...this.state.pressResponder.getEventHandlers()} />\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 */\n\nvar PressResponder = /*#__PURE__*/function () {\n function PressResponder(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.configure(config);\n }\n\n var _proto = PressResponder.prototype;\n\n _proto.configure = function configure(config) {\n this._config = config;\n }\n /**\n * Resets any pending timers. This should be called on unmount.\n */\n ;\n\n _proto.reset = function reset() {\n this._cancelLongPressDelayTimeout();\n\n this._cancelPressDelayTimeout();\n\n this._cancelPressOutDelayTimeout();\n }\n /**\n * Returns a set of props to spread into the interactive element.\n */\n ;\n\n _proto.getEventHandlers = function getEventHandlers() {\n if (this._eventHandlers == null) {\n this._eventHandlers = this._createEventHandlers();\n }\n\n return this._eventHandlers;\n };\n\n _proto._createEventHandlers = function _createEventHandlers() {\n var _this = this;\n\n var start = function start(event, shouldDelay) {\n event.persist();\n\n _this._cancelPressOutDelayTimeout();\n\n _this._longPressDispatched = false;\n _this._selectionTerminated = false;\n _this._touchState = NOT_RESPONDER;\n _this._isPointerTouch = event.nativeEvent.type === 'touchstart';\n\n _this._receiveSignal(RESPONDER_GRANT, event);\n\n var delayPressStart = normalizeDelay(_this._config.delayPressStart, 0, DEFAULT_PRESS_DELAY_MS);\n\n if (shouldDelay !== false && delayPressStart > 0) {\n _this._pressDelayTimeout = setTimeout(function () {\n _this._receiveSignal(DELAY, event);\n }, delayPressStart);\n } else {\n _this._receiveSignal(DELAY, event);\n }\n\n var delayLongPress = normalizeDelay(_this._config.delayLongPress, 10, DEFAULT_LONG_PRESS_DELAY_MS);\n _this._longPressDelayTimeout = setTimeout(function () {\n _this._handleLongPress(event);\n }, delayLongPress + delayPressStart);\n };\n\n var end = function end(event) {\n _this._receiveSignal(RESPONDER_RELEASE, event);\n };\n\n var keyupHandler = function keyupHandler(event) {\n var onPress = _this._config.onPress;\n var target = event.target;\n\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 = target.tagName.toLowerCase();\n var isNativeInteractiveElement = role === 'link' || elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea';\n\n if (onPress != null && !isNativeInteractiveElement) {\n onPress(event);\n }\n }\n };\n\n return {\n onStartShouldSetResponder: function onStartShouldSetResponder(event) {\n var disabled = _this._config.disabled;\n\n if (disabled && isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n\n if (disabled == null) {\n return true;\n }\n\n return !disabled;\n },\n onKeyDown: function onKeyDown(event) {\n var disabled = _this._config.disabled;\n var key = event.key,\n target = event.target;\n\n if (!disabled && isValidKeyPress(event)) {\n if (_this._touchState === NOT_RESPONDER) {\n start(event, false); // Listen to 'keyup' on document to account for situations where\n // focus is moved to another element during 'keydown'.\n\n document.addEventListener('keyup', keyupHandler);\n }\n\n var role = target.getAttribute('role');\n var isSpacebarKey = key === ' ' || key === 'Spacebar';\n\n var _isButtonRole = role === 'button' || role === 'menuitem';\n\n if (isSpacebarKey && _isButtonRole) {\n // Prevent spacebar scrolling the window\n event.preventDefault();\n }\n\n event.stopPropagation();\n }\n },\n onResponderGrant: function onResponderGrant(event) {\n return start(event);\n },\n onResponderMove: function onResponderMove(event) {\n if (_this._config.onPressMove != null) {\n _this._config.onPressMove(event);\n }\n\n var touch = getTouchFromResponderEvent(event);\n\n if (_this._touchActivatePosition != null) {\n var deltaX = _this._touchActivatePosition.pageX - touch.pageX;\n var deltaY = _this._touchActivatePosition.pageY - touch.pageY;\n\n if (Math.hypot(deltaX, deltaY) > 10) {\n _this._cancelLongPressDelayTimeout();\n }\n }\n },\n onResponderRelease: function onResponderRelease(event) {\n return end(event);\n },\n onResponderTerminate: function onResponderTerminate(event) {\n if (event.nativeEvent.type === 'selectionchange') {\n _this._selectionTerminated = true;\n }\n\n _this._receiveSignal(RESPONDER_TERMINATED, event);\n },\n onResponderTerminationRequest: function onResponderTerminationRequest(event) {\n var _this$_config = _this._config,\n cancelable = _this$_config.cancelable,\n disabled = _this$_config.disabled,\n onLongPress = _this$_config.onLongPress; // If `onLongPress` is provided, don't terminate on `contextmenu` as default\n // behavior will be prevented for non-mouse pointers.\n\n if (!disabled && onLongPress != null && _this._isPointerTouch && event.nativeEvent.type === 'contextmenu') {\n return false;\n }\n\n if (cancelable == null) {\n return true;\n }\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: function onClick(event) {\n var _this$_config2 = _this._config,\n disabled = _this$_config2.disabled,\n onPress = _this$_config2.onPress;\n\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\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: function onContextMenu(event) {\n var _this$_config3 = _this._config,\n disabled = _this$_config3.disabled,\n onLongPress = _this$_config3.onLongPress;\n\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 * Receives a state machine signal, performs side effects of the transition\n * and stores the new state. Validates the transition as well.\n */\n ;\n\n _proto._receiveSignal = function _receiveSignal(signal, event) {\n var prevState = this._touchState;\n var nextState = null;\n\n if (Transitions[prevState] != null) {\n nextState = Transitions[prevState][signal];\n }\n\n if (this._touchState === NOT_RESPONDER && signal === RESPONDER_RELEASE) {\n return;\n }\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\n this._touchState = nextState;\n }\n }\n /**\n * Performs a transition between touchable states and identify any activations\n * or deactivations (and callback invocations).\n */\n ;\n\n _proto._performTransitionSideEffects = function _performTransitionSideEffects(prevState, nextState, signal, event) {\n if (isTerminalSignal(signal)) {\n this._isPointerTouch = false;\n this._touchActivatePosition = null;\n\n this._cancelLongPressDelayTimeout();\n }\n\n if (isPressStartSignal(prevState) && signal === LONG_PRESS_DETECTED) {\n var onLongPress = this._config.onLongPress; // Long press is not supported for keyboards because 'click' can be dispatched\n // immediately (and multiple times) after 'keydown'.\n\n if (onLongPress != null && event.nativeEvent.key == null) {\n onLongPress(event);\n this._longPressDispatched = true;\n }\n }\n\n var isPrevActive = isActiveSignal(prevState);\n var isNextActive = isActiveSignal(nextState);\n\n if (!isPrevActive && isNextActive) {\n this._activate(event);\n } else if (isPrevActive && !isNextActive) {\n this._deactivate(event);\n }\n\n if (isPressStartSignal(prevState) && signal === RESPONDER_RELEASE) {\n var _this$_config4 = this._config,\n _onLongPress = _this$_config4.onLongPress,\n onPress = _this$_config4.onPress;\n\n if (onPress != null) {\n var isPressCanceledByLongPress = _onLongPress != null && prevState === RESPONDER_ACTIVE_LONG_PRESS_START;\n\n if (!isPressCanceledByLongPress) {\n // If we never activated (due to delays), activate and deactivate now.\n if (!isNextActive && !isPrevActive) {\n this._activate(event);\n\n this._deactivate(event);\n }\n }\n }\n }\n\n this._cancelPressDelayTimeout();\n };\n\n _proto._activate = function _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\n if (onPressStart != null) {\n onPressStart(event);\n }\n\n if (onPressChange != null) {\n onPressChange(true);\n }\n };\n\n _proto._deactivate = function _deactivate(event) {\n var _this$_config6 = this._config,\n onPressChange = _this$_config6.onPressChange,\n onPressEnd = _this$_config6.onPressEnd;\n\n function end() {\n if (onPressEnd != null) {\n onPressEnd(event);\n }\n\n if (onPressChange != null) {\n onPressChange(false);\n }\n }\n\n var delayPressEnd = normalizeDelay(this._config.delayPressEnd);\n\n if (delayPressEnd > 0) {\n this._pressOutDelayTimeout = setTimeout(function () {\n end();\n }, delayPressEnd);\n } else {\n end();\n }\n };\n\n _proto._handleLongPress = function _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\n _proto._cancelLongPressDelayTimeout = function _cancelLongPressDelayTimeout() {\n if (this._longPressDelayTimeout != null) {\n clearTimeout(this._longPressDelayTimeout);\n this._longPressDelayTimeout = null;\n }\n };\n\n _proto._cancelPressDelayTimeout = function _cancelPressDelayTimeout() {\n if (this._pressDelayTimeout != null) {\n clearTimeout(this._pressDelayTimeout);\n this._pressDelayTimeout = null;\n }\n };\n\n _proto._cancelPressOutDelayTimeout = function _cancelPressOutDelayTimeout() {\n if (this._pressOutDelayTimeout != null) {\n clearTimeout(this._pressOutDelayTimeout);\n this._pressOutDelayTimeout = null;\n }\n };\n\n return PressResponder;\n}();\n\nexport { PressResponder as default };\n\nfunction normalizeDelay(delay, min, fallback) {\n if (min === void 0) {\n min = 0;\n }\n\n if (fallback === void 0) {\n fallback = 0;\n }\n\n return Math.max(min, delay !== null && delay !== void 0 ? delay : fallback);\n}\n\nfunction getTouchFromResponderEvent(event) {\n var _event$nativeEvent = event.nativeEvent,\n changedTouches = _event$nativeEvent.changedTouches,\n touches = _event$nativeEvent.touches;\n\n if (touches != null && touches.length > 0) {\n return touches[0];\n }\n\n if (changedTouches != null && changedTouches.length > 0) {\n return changedTouches[0];\n }\n\n return event.nativeEvent;\n}"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/development/babel-loader/ff4bcc0782f927b73305870cc59702d6.json b/.expo/web/cache/development/babel-loader/ff4bcc0782f927b73305870cc59702d6.json new file mode 100644 index 0000000000000000000000000000000000000000..55bbead38c93bcf22d7490c885cf25f8a00022ec --- /dev/null +++ b/.expo/web/cache/development/babel-loader/ff4bcc0782f927b73305870cc59702d6.json @@ -0,0 +1 @@ +{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport View from \"react-native-web/dist/exports/View\";\nimport Button from \"react-native-web/dist/exports/Button\";\nimport TextInput from \"react-native-web/dist/exports/TextInput\";\nimport React, { useState, useEffect } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport default function Details(_ref) {\n var navigation = _ref.navigation,\n route = _ref.route;\n\n var _useState = useState(route.params.name.title),\n _useState2 = _slicedToArray(_useState, 2),\n fach = _useState2[0],\n onChangeFach = _useState2[1];\n\n function update() {\n navigation.navigate({\n name: 'UserList',\n params: {\n post: fach\n },\n merge: true\n });\n }\n\n return _jsxs(View, {\n children: [_jsx(TextInput, {\n style: styles.input,\n onChangeText: onChangeFach,\n value: fach,\n multiline: true\n }), _jsx(Text, {\n children: \"Hrllo\"\n }), _jsx(Button, {\n title: \"Update\",\n onPress: update\n })]\n });\n}\nvar styles = StyleSheet.create({\n input: {\n borderBottomColor: '#CFCDCD',\n borderBottomWidth: 1,\n width: 220\n }\n});","map":{"version":3,"sources":["D:/Studium/MobileComputing/Aufgabe1_React/Exercise_React_Native/pages/Details.js"],"names":["React","useState","useEffect","Details","navigation","route","params","name","title","fach","onChangeFach","update","navigate","post","merge","styles","input","StyleSheet","create","borderBottomColor","borderBottomWidth","width"],"mappings":";;;;;;AACA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;;;AAGA,eAAe,SAASC,OAAT,OAAuC;AAAA,MAApBC,UAAoB,QAApBA,UAAoB;AAAA,MAARC,KAAQ,QAARA,KAAQ;;AAElD,kBAA6BJ,QAAQ,CAACI,KAAK,CAACC,MAAN,CAAaC,IAAb,CAAkBC,KAAnB,CAArC;AAAA;AAAA,MAAOC,IAAP;AAAA,MAAaC,YAAb;;AAEA,WAASC,MAAT,GAAiB;AACbP,IAAAA,UAAU,CAACQ,QAAX,CAAoB;AAChBL,MAAAA,IAAI,EAAE,UADU;AAEhBD,MAAAA,MAAM,EAAE;AAAEO,QAAAA,IAAI,EAAEJ;AAAR,OAFQ;AAGhBK,MAAAA,KAAK,EAAE;AAHS,KAApB;AAKH;;AAGD,SACI,MAAC,IAAD;AAAA,eACA,KAAC,SAAD;AAAW,MAAA,KAAK,EAAEC,MAAM,CAACC,KAAzB;AAAgC,MAAA,YAAY,EAAEN,YAA9C;AAA4D,MAAA,KAAK,EAAED,IAAnE;AAAyE,MAAA,SAAS,EAAI;AAAtF,MADA,EAEA,KAAC,IAAD;AAAA;AAAA,MAFA,EAGA,KAAC,MAAD;AAAQ,MAAA,KAAK,EAAC,QAAd;AAAuB,MAAA,OAAO,EAAEE;AAAhC,MAHA;AAAA,IADJ;AAOH;AAID,IAAMI,MAAM,GAAGE,UAAU,CAACC,MAAX,CAAkB;AAC7BF,EAAAA,KAAK,EAAC;AAEFG,IAAAA,iBAAiB,EAAC,SAFhB;AAGFC,IAAAA,iBAAiB,EAAC,CAHhB;AAIFC,IAAAA,KAAK,EAAE;AAJL;AADuB,CAAlB,CAAf","sourcesContent":["import { StyleSheet, Text, View, Button, TextInput } from 'react-native';\r\nimport React, { useState, useEffect } from 'react';\r\n\r\n\r\nexport default function Details({ navigation, route }){\r\n\r\n const [fach, onChangeFach] = useState(route.params.name.title);\r\n\r\n function update(){\r\n navigation.navigate({\r\n name: 'UserList',\r\n params: { post: fach },\r\n merge: true,\r\n });\r\n }\r\n \r\n\r\n return(\r\n <View>\r\n <TextInput style={styles.input} onChangeText={onChangeFach} value={fach} multiline = {true} />\r\n <Text>Hrllo</Text>\r\n <Button title='Update' onPress={update}/>\r\n </View>\r\n )\r\n}\r\n\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n input:{\r\n //underlineColorAndroid: '#CFCDCD',\r\n borderBottomColor:'#CFCDCD',\r\n borderBottomWidth:1,\r\n width: 220,\r\n },\r\n });"]},"metadata":{},"sourceType":"module"} \ No newline at end of file diff --git a/.expo/web/cache/production/images/favicon/favicon-24272cdaeff82cc5facdaccd982a6f05b60c4504704bbf94c19a6388659880bb-contain-transparent/favicon-16.png b/.expo/web/cache/production/images/favicon/favicon-24272cdaeff82cc5facdaccd982a6f05b60c4504704bbf94c19a6388659880bb-contain-transparent/favicon-16.png new file mode 100644 index 0000000000000000000000000000000000000000..cab176c8dde641cedf42af25d303782caf1f647b Binary files /dev/null and b/.expo/web/cache/production/images/favicon/favicon-24272cdaeff82cc5facdaccd982a6f05b60c4504704bbf94c19a6388659880bb-contain-transparent/favicon-16.png differ diff --git a/.expo/web/cache/production/images/favicon/favicon-24272cdaeff82cc5facdaccd982a6f05b60c4504704bbf94c19a6388659880bb-contain-transparent/favicon-32.png b/.expo/web/cache/production/images/favicon/favicon-24272cdaeff82cc5facdaccd982a6f05b60c4504704bbf94c19a6388659880bb-contain-transparent/favicon-32.png new file mode 100644 index 0000000000000000000000000000000000000000..f3cd62ae84c2824590fb5393f01b4c6da52a243a Binary files /dev/null and b/.expo/web/cache/production/images/favicon/favicon-24272cdaeff82cc5facdaccd982a6f05b60c4504704bbf94c19a6388659880bb-contain-transparent/favicon-32.png differ diff --git a/.expo/web/cache/production/images/favicon/favicon-24272cdaeff82cc5facdaccd982a6f05b60c4504704bbf94c19a6388659880bb-contain-transparent/favicon-48.png b/.expo/web/cache/production/images/favicon/favicon-24272cdaeff82cc5facdaccd982a6f05b60c4504704bbf94c19a6388659880bb-contain-transparent/favicon-48.png new file mode 100644 index 0000000000000000000000000000000000000000..c99b4f2291c114216521d2da5eb3b8f7de2383ea Binary files /dev/null and b/.expo/web/cache/production/images/favicon/favicon-24272cdaeff82cc5facdaccd982a6f05b60c4504704bbf94c19a6388659880bb-contain-transparent/favicon-48.png differ diff --git a/App.js b/App.js new file mode 100644 index 0000000000000000000000000000000000000000..5d1974c8d6b76b99885ab815ad8ff8d8801f4d87 --- /dev/null +++ b/App.js @@ -0,0 +1,31 @@ +import { NavigationContainer } from '@react-navigation/native'; +import { createNativeStackNavigator } from '@react-navigation/native-stack'; +import UserList from './pages/UserList' +import Details from './pages/Details' +import CreateNewUser from './pages/CreateNewUser' + +export default function App() { + + const Stack = createNativeStackNavigator(); + + + return ( + <NavigationContainer> + <Stack.Navigator> + <Stack.Screen name="UserList" component={UserList} options={{ title: 'User List' }}/> + <Stack.Screen name="Details" component={Details} options={{ title: 'Details' }}/> + <Stack.Screen name="CreateNewUser" component={CreateNewUser} options={{ title: 'Create a New User' }}/> + </Stack.Navigator> + </NavigationContainer> + ); + +} + + + + + + + + + diff --git a/Firebase.js b/Firebase.js new file mode 100644 index 0000000000000000000000000000000000000000..f1d5d9cc8af944d1747eca059a5a6a0a328e463f --- /dev/null +++ b/Firebase.js @@ -0,0 +1,21 @@ +import { initializeApp } from "firebase/app"; +import { getFirestore, collection, getDocs } from 'firebase/firestore'; + + +const firebaseConfig = { + apiKey: "AIzaSyCNhZTcHSLaIGjP-fzpPrqRTAiWZB9jLos", + authDomain: "exercise-react-native-433ff.firebaseapp.com", + projectId: "exercise-react-native-433ff", + storageBucket: "exercise-react-native-433ff.appspot.com", + messagingSenderId: "293211634805", + appId: "1:293211634805:web:99405940c89de56e4ecc3c", + measurementId: "G-JJPHT7LEPD" +}; + + +const app = initializeApp(firebaseConfig); + + export default getFirestore(); + + + \ No newline at end of file diff --git a/app.json b/app.json new file mode 100644 index 0000000000000000000000000000000000000000..011b1e21c2aff95d33911bed6fbc02b4919a85c6 --- /dev/null +++ b/app.json @@ -0,0 +1,32 @@ +{ + "expo": { + "name": "Exercise_React_Native", + "slug": "Exercise_React_Native", + "version": "1.0.0", + "orientation": "portrait", + "icon": "./assets/icon.png", + "splash": { + "image": "./assets/splash.png", + "resizeMode": "contain", + "backgroundColor": "#ffffff" + }, + "updates": { + "fallbackToCacheTimeout": 0 + }, + "assetBundlePatterns": [ + "**/*" + ], + "ios": { + "supportsTablet": true + }, + "android": { + "adaptiveIcon": { + "foregroundImage": "./assets/adaptive-icon.png", + "backgroundColor": "#FFFFFF" + } + }, + "web": { + "favicon": "./assets/favicon.png" + } + } +} diff --git a/assets/adaptive-icon.png b/assets/adaptive-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..03d6f6b6c6727954aec1d8206222769afd178d8d Binary files /dev/null and b/assets/adaptive-icon.png differ diff --git a/assets/favicon.png b/assets/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..e75f697b1801871ad8cd9309b05e8ffe8c6b6d01 Binary files /dev/null and b/assets/favicon.png differ diff --git a/assets/icon.png b/assets/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a0b1526fc7b78680fd8d733dbc6113e1af695487 Binary files /dev/null and b/assets/icon.png differ diff --git a/assets/splash.png b/assets/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..0e89705a9436743e42954d3744a0e7ff0d3d4701 Binary files /dev/null and b/assets/splash.png differ diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000000000000000000000000000000000000..2900afe9d85a54cf9552ec0b4107665c5c10e078 --- /dev/null +++ b/babel.config.js @@ -0,0 +1,6 @@ +module.exports = function(api) { + api.cache(true); + return { + presets: ['babel-preset-expo'], + }; +}; diff --git a/npm b/npm new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000000000000000000000000000000000000..89527f7235f9b66ef54c37d114b8c0c4d4e140a9 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,7941 @@ +{ + "name": "exercise_react_native", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@ampproject/remapping": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", + "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", + "requires": { + "@jridgewell/trace-mapping": "^0.3.0" + } + }, + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/compat-data": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz", + "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==" + }, + "@babel/core": { + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.8.tgz", + "integrity": "sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==", + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.7", + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helpers": "^7.17.8", + "@babel/parser": "^7.17.8", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.3", + "@babel/types": "^7.17.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "requires": { + "@babel/highlight": "^7.16.7" + } + }, + "json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/generator": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz", + "integrity": "sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==", + "requires": { + "@babel/types": "^7.17.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", + "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", + "requires": { + "@babel/helper-explode-assignable-expression": "^7.16.7", + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz", + "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==", + "requires": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-validator-option": "^7.16.7", + "browserslist": "^4.17.5", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz", + "integrity": "sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz", + "integrity": "sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "regexpu-core": "^5.0.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", + "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", + "requires": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", + "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", + "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-function-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", + "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", + "requires": { + "@babel/helper-get-function-arity": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", + "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz", + "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==", + "requires": { + "@babel/types": "^7.17.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", + "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-module-transforms": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz", + "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==", + "requires": { + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.3", + "@babel/types": "^7.17.0" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", + "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==" + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", + "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-wrap-function": "^7.16.8", + "@babel/types": "^7.16.8" + } + }, + "@babel/helper-replace-supers": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", + "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", + "requires": { + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-simple-access": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", + "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", + "requires": { + "@babel/types": "^7.17.0" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", + "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==" + }, + "@babel/helper-validator-option": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==" + }, + "@babel/helper-wrap-function": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", + "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", + "requires": { + "@babel/helper-function-name": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.8", + "@babel/types": "^7.16.8" + } + }, + "@babel/helpers": { + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz", + "integrity": "sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==", + "requires": { + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.3", + "@babel/types": "^7.17.0" + } + }, + "@babel/highlight": { + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", + "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", + "requires": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + } + } + }, + "@babel/parser": { + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz", + "integrity": "sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==" + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", + "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", + "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.7" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", + "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", + "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz", + "integrity": "sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.17.6", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.8.tgz", + "integrity": "sha512-U69odN4Umyyx1xO1rTII0IDkAEC+RNlcKXtqOblfpzqy1C+aOplb76BQNq0+XdpVkOaPlpEDwd++joY8FNFJKA==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.17.6", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/plugin-syntax-decorators": "^7.17.0", + "charcodes": "^0.2.0" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", + "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-default-from": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.16.7.tgz", + "integrity": "sha512-+cENpW1rgIjExn+o5c8Jw/4BuH4eGKKYvkMB8/0ZxFQ9mC0t4z09VsPIwNg6waF69QYC81zxGeAsREGuqQoKeg==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-export-default-from": "^7.16.7" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", + "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", + "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", + "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", + "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", + "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz", + "integrity": "sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==", + "requires": { + "@babel/compat-data": "^7.17.0", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.16.7" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", + "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", + "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz", + "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.16.10", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", + "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", + "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.17.0.tgz", + "integrity": "sha512-qWe85yCXsvDEluNP0OyeQjH63DlhAR3W7K9BxxU1MvbDb48tgBG+Ao6IJJ6smPDrrVzSQZrbF6donpkFBMcs3A==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-default-from": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.16.7.tgz", + "integrity": "sha512-4C3E4NsrLOgftKaTYTULhHsuQrGv3FHrBzOMDiS7UYKIpgGBkAdawg4h+EI8zPeK9M0fiIIh72hIwsI24K7MbA==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-flow": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.7.tgz", + "integrity": "sha512-UDo3YGQO0jH6ytzVwgSLv9i/CzMcUjbKenL67dTrAZPPv6GFAtDhe6jqnvmoKzC/7htNTohhos+onPtDMqJwaQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz", + "integrity": "sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", + "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", + "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", + "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", + "requires": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", + "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", + "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", + "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", + "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz", + "integrity": "sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", + "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", + "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", + "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.16.7.tgz", + "integrity": "sha512-mzmCq3cNsDpZZu9FADYYyfZJIOrSONmHcop2XEKPdBNMa4PDC4eEvcOvzZaCNcjKu72v0XQlA5y1g58aLRXdYg==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-flow": "^7.16.7" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", + "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", + "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", + "requires": { + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", + "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", + "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", + "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", + "requires": { + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.7.tgz", + "integrity": "sha512-ITPmR2V7MqioMJyrxUo2onHNC3e+MvfFiFIR0RP21d3PtlVb6sfzoxNKiphSZUOM9hEIdzCcZe83ieX3yoqjUA==", + "requires": { + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz", + "integrity": "sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==", + "requires": { + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", + "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", + "requires": { + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", + "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", + "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-object-assign": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.16.7.tgz", + "integrity": "sha512-R8mawvm3x0COTJtveuoqZIjNypn2FjfvXZr4pSQ8VhEFBuQGBz4XhHasZtHXjgXU4XptZ4HtGof3NoYc93ZH9Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", + "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", + "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", + "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz", + "integrity": "sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.17.3.tgz", + "integrity": "sha512-9tjBm4O07f7mzKSIlEmPdiE6ub7kfIe6Cd+w+oQebpATfTQMAgW+YOuWxogbKVTulA+MEO7byMeIUtQ1z+z+ZQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-jsx": "^7.16.7", + "@babel/types": "^7.17.0" + } + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.16.7.tgz", + "integrity": "sha512-oe5VuWs7J9ilH3BCCApGoYjHoSO48vkjX2CbA5bFVhIuO2HKxA3vyF7rleA4o6/4rTDbk6r8hBW7Ul8E+UZrpA==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.16.7.tgz", + "integrity": "sha512-rONFiQz9vgbsnaMtQlZCjIRwhJvlrPET8TabIUK2hzlXw9B9s2Ieaxte1SCOOXMbWRHodbKixNf3BLcWVOQ8Bw==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz", + "integrity": "sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==", + "requires": { + "regenerator-transform": "^0.14.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", + "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.0.tgz", + "integrity": "sha512-fr7zPWnKXNc1xoHfrIU9mN/4XKX4VLZ45Q+oMhfsYIaHvg7mHgmhfOy/ckRWqDK7XF3QDigRpkh5DKq6+clE8A==", + "requires": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", + "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", + "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", + "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", + "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", + "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz", + "integrity": "sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-typescript": "^7.16.7" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", + "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", + "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/preset-env": { + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", + "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", + "requires": { + "@babel/compat-data": "^7.16.8", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-async-generator-functions": "^7.16.8", + "@babel/plugin-proposal-class-properties": "^7.16.7", + "@babel/plugin-proposal-class-static-block": "^7.16.7", + "@babel/plugin-proposal-dynamic-import": "^7.16.7", + "@babel/plugin-proposal-export-namespace-from": "^7.16.7", + "@babel/plugin-proposal-json-strings": "^7.16.7", + "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", + "@babel/plugin-proposal-numeric-separator": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.16.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", + "@babel/plugin-proposal-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-private-methods": "^7.16.11", + "@babel/plugin-proposal-private-property-in-object": "^7.16.7", + "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.16.7", + "@babel/plugin-transform-async-to-generator": "^7.16.8", + "@babel/plugin-transform-block-scoped-functions": "^7.16.7", + "@babel/plugin-transform-block-scoping": "^7.16.7", + "@babel/plugin-transform-classes": "^7.16.7", + "@babel/plugin-transform-computed-properties": "^7.16.7", + "@babel/plugin-transform-destructuring": "^7.16.7", + "@babel/plugin-transform-dotall-regex": "^7.16.7", + "@babel/plugin-transform-duplicate-keys": "^7.16.7", + "@babel/plugin-transform-exponentiation-operator": "^7.16.7", + "@babel/plugin-transform-for-of": "^7.16.7", + "@babel/plugin-transform-function-name": "^7.16.7", + "@babel/plugin-transform-literals": "^7.16.7", + "@babel/plugin-transform-member-expression-literals": "^7.16.7", + "@babel/plugin-transform-modules-amd": "^7.16.7", + "@babel/plugin-transform-modules-commonjs": "^7.16.8", + "@babel/plugin-transform-modules-systemjs": "^7.16.7", + "@babel/plugin-transform-modules-umd": "^7.16.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", + "@babel/plugin-transform-new-target": "^7.16.7", + "@babel/plugin-transform-object-super": "^7.16.7", + "@babel/plugin-transform-parameters": "^7.16.7", + "@babel/plugin-transform-property-literals": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.16.7", + "@babel/plugin-transform-reserved-words": "^7.16.7", + "@babel/plugin-transform-shorthand-properties": "^7.16.7", + "@babel/plugin-transform-spread": "^7.16.7", + "@babel/plugin-transform-sticky-regex": "^7.16.7", + "@babel/plugin-transform-template-literals": "^7.16.7", + "@babel/plugin-transform-typeof-symbol": "^7.16.7", + "@babel/plugin-transform-unicode-escapes": "^7.16.7", + "@babel/plugin-transform-unicode-regex": "^7.16.7", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.16.8", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "core-js-compat": "^3.20.2", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/preset-flow": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.16.7.tgz", + "integrity": "sha512-6ceP7IyZdUYQ3wUVqyRSQXztd1YmFHWI4Xv11MIqAlE4WqxBSd/FZ61V9k+TS5Gd4mkHOtQtPp9ymRpxH4y1Ug==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-transform-flow-strip-types": "^7.16.7" + } + }, + "@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-typescript": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz", + "integrity": "sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-transform-typescript": "^7.16.7" + } + }, + "@babel/register": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.17.7.tgz", + "integrity": "sha512-fg56SwvXRifootQEDQAu1mKdjh5uthPzdO0N6t358FktfL4XjAVXuH58ULoiW8mesxiOgNIrxiImqEwv0+hRRA==", + "requires": { + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.5", + "source-map-support": "^0.5.16" + } + }, + "@babel/runtime": { + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.8.tgz", + "integrity": "sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "requires": { + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "requires": { + "@babel/highlight": "^7.16.7" + } + } + } + }, + "@babel/traverse": { + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz", + "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==", + "requires": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.3", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.17.3", + "@babel/types": "^7.17.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "requires": { + "@babel/highlight": "^7.16.7" + } + } + } + }, + "@babel/types": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", + "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", + "requires": { + "@babel/helper-validator-identifier": "^7.16.7", + "to-fast-properties": "^2.0.0" + } + }, + "@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "requires": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + } + }, + "@expo/config": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/@expo/config/-/config-6.0.6.tgz", + "integrity": "sha512-GPI8EIdMAtZ5VaB4p5GcfuX50xyfGFdpEqLi0QmcfrCfTsGry1/j/Qy28hovHM1oJYHlaZylTcbGy+1ET+AO2w==", + "requires": { + "@babel/code-frame": "~7.10.4", + "@expo/config-plugins": "4.0.6", + "@expo/config-types": "^43.0.1", + "@expo/json-file": "8.2.33", + "getenv": "^1.0.0", + "glob": "7.1.6", + "require-from-string": "^2.0.2", + "resolve-from": "^5.0.0", + "semver": "7.3.2", + "slugify": "^1.3.4", + "sucrase": "^3.20.0" + } + }, + "@expo/config-plugins": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-4.0.6.tgz", + "integrity": "sha512-K/KQaw/CU8uLQgk7sFnZC54YGHoGucKFfdjYeZx5ds2eyzbuMAiKzGFcxZ/S+1dVBZ8QHzwowsVBW3kuYhnQ3Q==", + "requires": { + "@expo/config-types": "^43.0.1", + "@expo/json-file": "8.2.33", + "@expo/plist": "0.0.15", + "@react-native/normalize-color": "^2.0.0", + "chalk": "^4.1.2", + "debug": "^4.3.1", + "find-up": "~5.0.0", + "fs-extra": "9.0.0", + "getenv": "^1.0.0", + "glob": "7.1.6", + "resolve-from": "^5.0.0", + "semver": "^7.3.5", + "slash": "^3.0.0", + "xcode": "^3.0.1", + "xml2js": "0.4.23" + }, + "dependencies": { + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@expo/config-types": { + "version": "43.0.1", + "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-43.0.1.tgz", + "integrity": "sha512-EtllpCGDdB/UdwAIs5YXJwBLpbFQNdlLLrxIvoILA9cXrpQMWkeDCT9lQPJzFRMFcLUaMuGvkzX2tR4tx5EQFQ==" + }, + "@expo/json-file": { + "version": "8.2.33", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.33.tgz", + "integrity": "sha512-CDnhjdirUs6OdN5hOSTJ2y3i9EiJMk7Z5iDljC5xyCHCrUex7oyI8vbRsZEojAahxZccgL/PrO+CjakiFFWurg==", + "requires": { + "@babel/code-frame": "~7.10.4", + "json5": "^1.0.1", + "write-file-atomic": "^2.3.0" + } + }, + "@expo/metro-config": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.2.8.tgz", + "integrity": "sha512-8g0QrHfvSgTLzryuE4JXRwFwBZ7EmqE55zR39Yy7jEVR3epYL0JbBK0/IDFmf6auwsDFtMjAZjFL4WEhRN5bEQ==", + "requires": { + "@expo/config": "6.0.6", + "chalk": "^4.1.0", + "debug": "^4.3.2", + "getenv": "^1.0.0", + "sucrase": "^3.20.0" + } + }, + "@expo/plist": { + "version": "0.0.15", + "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.0.15.tgz", + "integrity": "sha512-LDxiS0KNZAGJu4fIJhbEKczmb+zeftl1NU0LE0tj0mozoMI5HSKdMUchgvnBm35bwBl8ekKkAfJJ0ONxljWQjQ==", + "requires": { + "@xmldom/xmldom": "~0.7.0", + "base64-js": "^1.2.3", + "xmlbuilder": "^14.0.0" + } + }, + "@expo/sdk-runtime-versions": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@expo/sdk-runtime-versions/-/sdk-runtime-versions-1.0.0.tgz", + "integrity": "sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ==" + }, + "@expo/vector-icons": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/@expo/vector-icons/-/vector-icons-12.0.5.tgz", + "integrity": "sha512-zWvHBmkpbi1KrPma6Y+r/bsGI6MjbM1MBSe6W9A4uYMLhNI5NR4JtTnqxhf7g1XdpaDtBdv5aOWKEx4d5rxnhg==", + "requires": { + "lodash.frompairs": "^4.0.1", + "lodash.isequal": "^4.5.0", + "lodash.isstring": "^4.0.1", + "lodash.omit": "^4.5.0", + "lodash.pick": "^4.4.0", + "lodash.template": "^4.5.0" + } + }, + "@firebase/analytics": { + "version": "0.7.7", + "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.7.7.tgz", + "integrity": "sha512-duzzyDmBSF2ql6lp0m2jxmOH5PIgw0utqSXRjSgoYzD7lURncMAZVC2u3IgsAoUNTW/lcBSHpv+t4lnxTCNMCw==", + "requires": { + "@firebase/component": "0.5.12", + "@firebase/installations": "0.5.7", + "@firebase/logger": "0.3.2", + "@firebase/util": "1.5.1", + "tslib": "^2.1.0" + } + }, + "@firebase/analytics-compat": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.1.8.tgz", + "integrity": "sha512-2XBPTFD4DPVZUJZ2tPOib7BfyHB/Ucfq3DfYMNRZFUrgctABTO/lRwjm3oqv4EsoqEOlbxRurvfFN8BQEe28LA==", + "requires": { + "@firebase/analytics": "0.7.7", + "@firebase/analytics-types": "0.7.0", + "@firebase/component": "0.5.12", + "@firebase/util": "1.5.1", + "tslib": "^2.1.0" + } + }, + "@firebase/analytics-types": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.7.0.tgz", + "integrity": "sha512-DNE2Waiwy5+zZnCfintkDtBfaW6MjIG883474v6Z0K1XZIvl76cLND4iv0YUb48leyF+PJK1KO2XrgHb/KpmhQ==" + }, + "@firebase/app": { + "version": "0.7.20", + "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.7.20.tgz", + "integrity": "sha512-tTVrEYCbEKBcMp/bj5rUa35iM32W5z9l3jbLAqDh0ZM2yO4JvF08a3hHacZ32XDh9Av/yCgla0QmVPp/Z2klNg==", + "requires": { + "@firebase/component": "0.5.12", + "@firebase/logger": "0.3.2", + "@firebase/util": "1.5.1", + "tslib": "^2.1.0" + } + }, + "@firebase/app-check": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.5.5.tgz", + "integrity": "sha512-thGjl8Ys2VFKitUUM/xqkXXV8GS56yUdOBMpsjpTSH5iwa49dSBUTGzbwmUMARSkiSF+AzcjNonO6LQczTU/AA==", + "requires": { + "@firebase/component": "0.5.12", + "@firebase/logger": "0.3.2", + "@firebase/util": "1.5.1", + "tslib": "^2.1.0" + } + }, + "@firebase/app-check-compat": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.2.5.tgz", + "integrity": "sha512-W1jGGcXXw1sdFia3qqnhlkg/5aQGiV6lAurq0FxfMXiV+qUxVuQ2roRbkJrcuJ3jxth8OGOir/yxOk/4YwkfHA==", + "requires": { + "@firebase/app-check": "0.5.5", + "@firebase/app-check-types": "0.4.0", + "@firebase/component": "0.5.12", + "@firebase/logger": "0.3.2", + "@firebase/util": "1.5.1", + "tslib": "^2.1.0" + } + }, + "@firebase/app-check-interop-types": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.1.0.tgz", + "integrity": "sha512-uZfn9s4uuRsaX5Lwx+gFP3B6YsyOKUE+Rqa6z9ojT4VSRAsZFko9FRn6OxQUA1z5t5d08fY4pf+/+Dkd5wbdbA==" + }, + "@firebase/app-check-types": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.4.0.tgz", + "integrity": "sha512-SsWafqMABIOu7zLgWbmwvHGOeQQVQlwm42kwwubsmfLmL4Sf5uGpBfDhQ0CAkpi7bkJ/NwNFKafNDL9prRNP0Q==" + }, + "@firebase/app-compat": { + "version": "0.1.21", + "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.1.21.tgz", + "integrity": "sha512-zKRjOt6JXZ6gBdl3ELdjvEQ7cdrsrCjLEaLttBxioqW9VxXZfBOgP38uUb0baJk2XNEUA6YWM+H/bg1y+FGFYA==", + "requires": { + "@firebase/app": "0.7.20", + "@firebase/component": "0.5.12", + "@firebase/logger": "0.3.2", + "@firebase/util": "1.5.1", + "tslib": "^2.1.0" + } + }, + "@firebase/app-types": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.7.0.tgz", + "integrity": "sha512-6fbHQwDv2jp/v6bXhBw2eSRbNBpxHcd1NBF864UksSMVIqIyri9qpJB1Mn6sGZE+bnDsSQBC5j2TbMxYsJQkQg==" + }, + "@firebase/auth": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-0.19.11.tgz", + "integrity": "sha512-9bctXmQA5pRhLL03wkbg6ibmhoTMa8QRHm3uDnb+iyMcHTJ5AyILRc5AVPS9FsnpWPDOLiVjtuMC28D6iC+zew==", + "requires": { + "@firebase/component": "0.5.12", + "@firebase/logger": "0.3.2", + "@firebase/util": "1.5.1", + "node-fetch": "2.6.7", + "selenium-webdriver": "4.0.0-rc-1", + "tslib": "^2.1.0" + }, + "dependencies": { + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + } + } + }, + "@firebase/auth-compat": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.2.11.tgz", + "integrity": "sha512-6C42yXevri3F7H1LS3h524UsQsUlzGuszlIL3YsDuS+WJFqBe8I5AHOEM+Opi/VtIpWaXxPhWsp75TQndaCjKA==", + "requires": { + "@firebase/auth": "0.19.11", + "@firebase/auth-types": "0.11.0", + "@firebase/component": "0.5.12", + "@firebase/util": "1.5.1", + "node-fetch": "2.6.7", + "selenium-webdriver": "^4.0.0-beta.2", + "tslib": "^2.1.0" + }, + "dependencies": { + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + } + } + }, + "@firebase/auth-interop-types": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.1.6.tgz", + "integrity": "sha512-etIi92fW3CctsmR9e3sYM3Uqnoq861M0Id9mdOPF6PWIg38BXL5k4upCNBggGUpLIS0H1grMOvy/wn1xymwe2g==" + }, + "@firebase/auth-types": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.11.0.tgz", + "integrity": "sha512-q7Bt6cx+ySj9elQHTsKulwk3+qDezhzRBFC9zlQ1BjgMueUOnGMcvqmU0zuKlQ4RhLSH7MNAdBV2znVaoN3Vxw==" + }, + "@firebase/component": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.5.12.tgz", + "integrity": "sha512-gAKwxo0Ev+rp7Px+Yr71WbcC0CM9Tevhv0g38ORp2p57HqGjY65D3MD+jTKGZl58N/0nmX6MRRKym3bq/3k1gw==", + "requires": { + "@firebase/util": "1.5.1", + "tslib": "^2.1.0" + } + }, + "@firebase/database": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.12.7.tgz", + "integrity": "sha512-HL2NMQ3Ce5YNM2MdEuACHmU9NQEwq2F64R0XK+CReph40skxp+A7TvlJDO5bTAC0s3l3ebgCA9VmxfJu5R6UAA==", + "requires": { + "@firebase/auth-interop-types": "0.1.6", + "@firebase/component": "0.5.12", + "@firebase/logger": "0.3.2", + "@firebase/util": "1.5.1", + "faye-websocket": "0.11.4", + "tslib": "^2.1.0" + } + }, + "@firebase/database-compat": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-0.1.7.tgz", + "integrity": "sha512-T1mleRv2A8wyTV/jUuOdkN9Tl2lz0RGauqGc9nxP3AUzS9m3gIDN7u4CahZSdJlkR6tSU/MEWlfs5Q/oZStqxg==", + "requires": { + "@firebase/component": "0.5.12", + "@firebase/database": "0.12.7", + "@firebase/database-types": "0.9.6", + "@firebase/logger": "0.3.2", + "@firebase/util": "1.5.1", + "tslib": "^2.1.0" + } + }, + "@firebase/database-types": { + "version": "0.9.6", + "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.9.6.tgz", + "integrity": "sha512-E7U28X+FtVtug7EkIkaOXbdP8ghCPno21WWgEiDKsneY28N5WOwccfXqSzHgAAezkR40ht/ZqXlCsUhEpv6JXw==", + "requires": { + "@firebase/app-types": "0.7.0", + "@firebase/util": "1.5.1" + } + }, + "@firebase/firestore": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-3.4.7.tgz", + "integrity": "sha512-bE8k72cw0zJKOsKTOeRp2As0nNZIv3To9qQe0mTtHu4O8dSdst6izSXixZEXDOuMf/dp7VOY8+VBW/ZqeqWQsA==", + "requires": { + "@firebase/component": "0.5.12", + "@firebase/logger": "0.3.2", + "@firebase/util": "1.5.1", + "@firebase/webchannel-wrapper": "0.6.1", + "@grpc/grpc-js": "^1.3.2", + "@grpc/proto-loader": "^0.6.0", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" + }, + "dependencies": { + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + } + } + }, + "@firebase/firestore-compat": { + "version": "0.1.16", + "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.1.16.tgz", + "integrity": "sha512-nLSBYGTkcGDbNFHBBMl74e7gwNo++BDTALlWNBaYRjTNj0TctYt8q4lggNy+MxXRQhP+dZjq/mrClS9T8RJZ4g==", + "requires": { + "@firebase/component": "0.5.12", + "@firebase/firestore": "3.4.7", + "@firebase/firestore-types": "2.5.0", + "@firebase/util": "1.5.1", + "tslib": "^2.1.0" + } + }, + "@firebase/firestore-types": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-2.5.0.tgz", + "integrity": "sha512-I6c2m1zUhZ5SH0cWPmINabDyH5w0PPFHk2UHsjBpKdZllzJZ2TwTkXbDtpHUZNmnc/zAa0WNMNMvcvbb/xJLKA==" + }, + "@firebase/functions": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.7.10.tgz", + "integrity": "sha512-d+8M6RENmrF2/Y2J+V3fuad6Vq8aiwEzeJCl5sdUA4TydAnAPmGPaEz7uEyaxp8gIx/j373CZy2jTuI3PCxEyw==", + "requires": { + "@firebase/app-check-interop-types": "0.1.0", + "@firebase/auth-interop-types": "0.1.6", + "@firebase/component": "0.5.12", + "@firebase/messaging-interop-types": "0.1.0", + "@firebase/util": "1.5.1", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" + }, + "dependencies": { + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + } + } + }, + "@firebase/functions-compat": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.1.11.tgz", + "integrity": "sha512-4U3BU4hOPAhG5YKpLAY/qKhNxsEn4yWSJHLc83H81Y75o2jSsyVklFR2bZNHl0qfq6A7KwUbL8HU48qLbhPlGg==", + "requires": { + "@firebase/component": "0.5.12", + "@firebase/functions": "0.7.10", + "@firebase/functions-types": "0.5.0", + "@firebase/util": "1.5.1", + "tslib": "^2.1.0" + } + }, + "@firebase/functions-types": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.5.0.tgz", + "integrity": "sha512-qza0M5EwX+Ocrl1cYI14zoipUX4gI/Shwqv0C1nB864INAD42Dgv4v94BCyxGHBg2kzlWy8PNafdP7zPO8aJQA==" + }, + "@firebase/installations": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.5.7.tgz", + "integrity": "sha512-qt6crxYyzUc19OYmNunOilcPUrVd+g0VJ42C3+clFJXsYzHey9xfr4q+5vALTJKLXbsX3QPzqEFEpe37sGSRRQ==", + "requires": { + "@firebase/component": "0.5.12", + "@firebase/util": "1.5.1", + "tslib": "^2.1.0" + } + }, + "@firebase/logger": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.3.2.tgz", + "integrity": "sha512-lzLrcJp9QBWpo40OcOM9B8QEtBw2Fk1zOZQdvv+rWS6gKmhQBCEMc4SMABQfWdjsylBcDfniD1Q+fUX1dcBTXA==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@firebase/messaging": { + "version": "0.9.11", + "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.9.11.tgz", + "integrity": "sha512-AdUvAz3S6fAhGlaP0gAT83vuuLtieXzr8TKjEeREbz/cJHx3DKZuDPK1RVElQos0ACc5kFtSJrKlEa8N2rdYjQ==", + "requires": { + "@firebase/component": "0.5.12", + "@firebase/installations": "0.5.7", + "@firebase/messaging-interop-types": "0.1.0", + "@firebase/util": "1.5.1", + "tslib": "^2.1.0" + } + }, + "@firebase/messaging-compat": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.1.11.tgz", + "integrity": "sha512-icqaH66Fdn1704WRnF3NxPuDYA7SQTJv1klDuN2/LZi029w2jd9j7Tkld2egcwDgF2IrIIgxdCTRcwFZQIG2kQ==", + "requires": { + "@firebase/component": "0.5.12", + "@firebase/messaging": "0.9.11", + "@firebase/util": "1.5.1", + "tslib": "^2.1.0" + } + }, + "@firebase/messaging-interop-types": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.1.0.tgz", + "integrity": "sha512-DbvUl/rXAZpQeKBnwz0NYY5OCqr2nFA0Bj28Fmr3NXGqR4PAkfTOHuQlVtLO1Nudo3q0HxAYLa68ZDAcuv2uKQ==" + }, + "@firebase/performance": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.5.7.tgz", + "integrity": "sha512-V8dIYqCr+STiwY09JRPlRo1X59nwpT+s5gy34pdF4DNe/9Ck2XN0WkzDRb1oYwRtMl1cvWwLktbjtFICp4VYfA==", + "requires": { + "@firebase/component": "0.5.12", + "@firebase/installations": "0.5.7", + "@firebase/logger": "0.3.2", + "@firebase/util": "1.5.1", + "tslib": "^2.1.0" + } + }, + "@firebase/performance-compat": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.1.7.tgz", + "integrity": "sha512-U0kxTs5mhzLM4tEkLCnlThgdJUh43dZQsk3Q9/fhuI4FrI8I2uUhx6BMVnyeiT7O9G4lEmhV3ag3QSmzdw4hzQ==", + "requires": { + "@firebase/component": "0.5.12", + "@firebase/logger": "0.3.2", + "@firebase/performance": "0.5.7", + "@firebase/performance-types": "0.1.0", + "@firebase/util": "1.5.1", + "tslib": "^2.1.0" + } + }, + "@firebase/performance-types": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.1.0.tgz", + "integrity": "sha512-6p1HxrH0mpx+622Ql6fcxFxfkYSBpE3LSuwM7iTtYU2nw91Hj6THC8Bc8z4nboIq7WvgsT/kOTYVVZzCSlXl8w==" + }, + "@firebase/polyfill": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@firebase/polyfill/-/polyfill-0.3.36.tgz", + "integrity": "sha512-zMM9oSJgY6cT2jx3Ce9LYqb0eIpDE52meIzd/oe/y70F+v9u1LDqk5kUF5mf16zovGBWMNFmgzlsh6Wj0OsFtg==", + "requires": { + "core-js": "3.6.5", + "promise-polyfill": "8.1.3", + "whatwg-fetch": "2.0.4" + }, + "dependencies": { + "core-js": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", + "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==" + }, + "whatwg-fetch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", + "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" + } + } + }, + "@firebase/remote-config": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.3.6.tgz", + "integrity": "sha512-eec1gbwFWslZZKdwC/tAC1cM1cUQSr+beS/uNkevrrC0cOjAJ1xqFPayvd0e2kbjAO2+pbp1Oe0yreORe28Cvg==", + "requires": { + "@firebase/component": "0.5.12", + "@firebase/installations": "0.5.7", + "@firebase/logger": "0.3.2", + "@firebase/util": "1.5.1", + "tslib": "^2.1.0" + } + }, + "@firebase/remote-config-compat": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.1.7.tgz", + "integrity": "sha512-i3qfpqNL1iYRP8JSxorV9vQuReTst/xJ6voEodIiTR/JbTM0pXlQ4E+zlS5Nw+6GzsZUW21cmXwk1Yzz5a0AFQ==", + "requires": { + "@firebase/component": "0.5.12", + "@firebase/logger": "0.3.2", + "@firebase/remote-config": "0.3.6", + "@firebase/remote-config-types": "0.2.0", + "@firebase/util": "1.5.1", + "tslib": "^2.1.0" + } + }, + "@firebase/remote-config-types": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.2.0.tgz", + "integrity": "sha512-hqK5sCPeZvcHQ1D6VjJZdW6EexLTXNMJfPdTwbD8NrXUw6UjWC4KWhLK/TSlL0QPsQtcKRkaaoP+9QCgKfMFPw==" + }, + "@firebase/storage": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.9.4.tgz", + "integrity": "sha512-oDqIIxoGMuchwTDHugDE/ul0h+hFVh7eAmvIWHrchaj0R2BTivb+H5qgszWjlCs2pjHS6waGsnSGJgpBTW4AeA==", + "requires": { + "@firebase/component": "0.5.12", + "@firebase/util": "1.5.1", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" + }, + "dependencies": { + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + } + } + }, + "@firebase/storage-compat": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.1.12.tgz", + "integrity": "sha512-Qa21YWM5AZvRSH8/lmT4r//xdlEP01azt0GHgcX+MkKLi18qpPjgXpxCstVALH4XCKBP0RMaNiIToWIRTdRSxw==", + "requires": { + "@firebase/component": "0.5.12", + "@firebase/storage": "0.9.4", + "@firebase/storage-types": "0.6.0", + "@firebase/util": "1.5.1", + "tslib": "^2.1.0" + } + }, + "@firebase/storage-types": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.6.0.tgz", + "integrity": "sha512-1LpWhcCb1ftpkP/akhzjzeFxgVefs6eMD2QeKiJJUGH1qOiows2w5o0sKCUSQrvrRQS1lz3SFGvNR1Ck/gqxeA==" + }, + "@firebase/util": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.5.1.tgz", + "integrity": "sha512-ojwPg8sKVcoU/kC1QdTrD+eUDyjQkZyiH9tlouXeZdAeDddCYNvHgIeBQhZt62WIcjlNhy1zro/xdV5nUUU38A==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@firebase/webchannel-wrapper": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.6.1.tgz", + "integrity": "sha512-9FqhNjKQWpQ3fGnSOCovHOm+yhhiorKEqYLAfd525jWavunDJcx8rOW6i6ozAh+FbwcYMkL7b+3j4UR/30MpoQ==" + }, + "@grpc/grpc-js": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.6.1.tgz", + "integrity": "sha512-ix3rQS64rKL1s6CfIaRgnts+RNYZZ2NaYyTK7iimai6an/0GGDbukzy990hJ5vtKHjhaqJxJMB6Qq7BMZ0zZSQ==", + "requires": { + "@grpc/proto-loader": "^0.6.4", + "@types/node": ">=12.12.47" + } + }, + "@grpc/proto-loader": { + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.9.tgz", + "integrity": "sha512-UlcCS8VbsU9d3XTXGiEVFonN7hXk+oMXZtoHHG2oSA1/GcDP1q6OUgs20PzHDGizzyi8ufGSUDlk3O2NyY7leg==", + "requires": { + "@types/long": "^4.0.1", + "lodash.camelcase": "^4.3.0", + "long": "^4.0.0", + "protobufjs": "^6.10.0", + "yargs": "^16.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + } + } + }, + "@hapi/hoek": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.1.tgz", + "integrity": "sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==" + }, + "@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@jest/create-cache-key-function": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-26.6.2.tgz", + "integrity": "sha512-LgEuqU1f/7WEIPYqwLPIvvHuc1sB6gMVbT6zWhin3txYUNYK/kGQrC1F2WR4gR34YlI9bBtViTm5z98RqVZAaw==", + "requires": { + "@jest/types": "^26.6.2" + } + }, + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", + "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==" + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.11", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", + "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz", + "integrity": "sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==", + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", + "requires": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" + }, + "@react-native-community/cli-debugger-ui": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-5.0.1.tgz", + "integrity": "sha512-5gGKaaXYOVE423BUqxIfvfAVSj5Cg1cU/TpGbeg/iqpy2CfqyWqJB3tTuVUbOOiOvR5wbU8tti6pIi1pchJ+oA==", + "requires": { + "serve-static": "^1.13.1" + } + }, + "@react-native-community/cli-hermes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-5.0.1.tgz", + "integrity": "sha512-nD+ZOFvu5MfjLB18eDJ01MNiFrzj8SDtENjGpf0ZRFndOWASDAmU54/UlU/wj8OzTToK1+S1KY7j2P2M1gleww==", + "requires": { + "@react-native-community/cli-platform-android": "^5.0.1", + "@react-native-community/cli-tools": "^5.0.1", + "chalk": "^3.0.0", + "hermes-profile-transformer": "^0.0.6", + "ip": "^1.1.5" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@react-native-community/cli-platform-android": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-5.0.1.tgz", + "integrity": "sha512-qv9GJX6BJ+Y4qvV34vgxKwwN1cnveXUdP6y2YmTW7XoAYs5YUzKqHajpY58EyucAL2y++6+573t5y4U/9IIoww==", + "requires": { + "@react-native-community/cli-tools": "^5.0.1", + "chalk": "^3.0.0", + "execa": "^1.0.0", + "fs-extra": "^8.1.0", + "glob": "^7.1.3", + "jetifier": "^1.6.2", + "lodash": "^4.17.15", + "logkitty": "^0.7.1", + "slash": "^3.0.0", + "xmldoc": "^1.1.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + } + } + }, + "@react-native-community/cli-platform-ios": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-5.0.2.tgz", + "integrity": "sha512-IAJ2B3j2BTsQUJZ4R6cVvnTbPq0Vza7+dOgP81ISz2BKRtQ0VqNFv+VOALH2jLaDzf4t7NFlskzIXFqWqy2BLg==", + "requires": { + "@react-native-community/cli-tools": "^5.0.1", + "chalk": "^3.0.0", + "glob": "^7.1.3", + "js-yaml": "^3.13.1", + "lodash": "^4.17.15", + "plist": "^3.0.1", + "xcode": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "xcode": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/xcode/-/xcode-2.1.0.tgz", + "integrity": "sha512-uCrmPITrqTEzhn0TtT57fJaNaw8YJs1aCzs+P/QqxsDbvPZSv7XMPPwXrKvHtD6pLjBM/NaVwraWJm8q83Y4iQ==", + "requires": { + "simple-plist": "^1.0.0", + "uuid": "^3.3.2" + } + } + } + }, + "@react-native-community/cli-server-api": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-5.0.1.tgz", + "integrity": "sha512-OOxL+y9AOZayQzmSW+h5T54wQe+QBc/f67Y9QlWzzJhkKJdYx+S4VOooHoD5PFJzGbYaxhu2YF17p517pcEIIA==", + "requires": { + "@react-native-community/cli-debugger-ui": "^5.0.1", + "@react-native-community/cli-tools": "^5.0.1", + "compression": "^1.7.1", + "connect": "^3.6.5", + "errorhandler": "^1.5.0", + "nocache": "^2.1.0", + "pretty-format": "^26.6.2", + "serve-static": "^1.13.1", + "ws": "^1.1.0" + }, + "dependencies": { + "ws": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", + "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", + "requires": { + "options": ">=0.0.5", + "ultron": "1.0.x" + } + } + } + }, + "@react-native-community/cli-tools": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-5.0.1.tgz", + "integrity": "sha512-XOX5w98oSE8+KnkMZZPMRT7I5TaP8fLbDl0tCu40S7Epz+Zz924n80fmdu6nUDIfPT1nV6yH1hmHmWAWTDOR+Q==", + "requires": { + "chalk": "^3.0.0", + "lodash": "^4.17.15", + "mime": "^2.4.1", + "node-fetch": "^2.6.0", + "open": "^6.2.0", + "shell-quote": "1.6.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==" + }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@react-native-community/cli-types": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-5.0.1.tgz", + "integrity": "sha512-BesXnuFFlU/d1F3+sHhvKt8fUxbQlAbZ3hhMEImp9A6sopl8TEtryUGJ1dbazGjRXcADutxvjwT/i3LJVTIQug==", + "requires": { + "ora": "^3.4.0" + } + }, + "@react-native-firebase/app": { + "version": "14.7.0", + "resolved": "https://registry.npmjs.org/@react-native-firebase/app/-/app-14.7.0.tgz", + "integrity": "sha512-/TdFv0L4AOEdKbAqmUu0yDXWq0Viw9sEX5mprPQDQbnctEJVwDLWehJkKx2CMiGeZox7VU2cshBLD0AC82XTtQ==", + "requires": { + "@expo/config-plugins": "^4.0.18", + "opencollective-postinstall": "^2.0.1", + "superstruct": "^0.6.2" + }, + "dependencies": { + "@expo/config-plugins": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-4.1.0.tgz", + "integrity": "sha512-+Uq7kzi1StUZZZivnnqNV6+v8b+SMF6MDgH+cEZxCoM9uwLXOK0rTAURzBGtl+C6EEbKnoZmnKGuzABBGPRP7A==", + "requires": { + "@expo/config-types": "^44.0.0", + "@expo/json-file": "8.2.34", + "@expo/plist": "0.0.17", + "@expo/sdk-runtime-versions": "^1.0.0", + "@react-native/normalize-color": "^2.0.0", + "chalk": "^4.1.2", + "debug": "^4.3.1", + "find-up": "~5.0.0", + "fs-extra": "9.0.0", + "getenv": "^1.0.0", + "glob": "7.1.6", + "resolve-from": "^5.0.0", + "semver": "^7.3.5", + "slash": "^3.0.0", + "xcode": "^3.0.1", + "xml2js": "0.4.23" + } + }, + "@expo/config-types": { + "version": "44.0.0", + "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-44.0.0.tgz", + "integrity": "sha512-d+gpdKOAhqaD5RmcMzGgKzNtvE1w+GCqpFQNSXLliYlXjj+Tv0eL8EPeAdPtvke0vowpPFwd5McXLA90dgY6Jg==" + }, + "@expo/json-file": { + "version": "8.2.34", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.34.tgz", + "integrity": "sha512-ZxtBodAZGxdLtgKzmsC+8ViUxt1mhFW642Clu2OuG3f6PAyAFsU/SqEGag9wKFaD3x3Wt8VhL+3y5fMJmUFgPw==", + "requires": { + "@babel/code-frame": "~7.10.4", + "json5": "^1.0.1", + "write-file-atomic": "^2.3.0" + } + }, + "@expo/plist": { + "version": "0.0.17", + "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.0.17.tgz", + "integrity": "sha512-5Ul3d/YOYE6mfum0jCE25XUnkKHZ5vGlU/X2275ZmCtGrpRn1Fl8Nq+jQKSaks3NqTfxdyXROi/TgH8Zxeg2wg==", + "requires": { + "@xmldom/xmldom": "~0.7.0", + "base64-js": "^1.2.3", + "xmlbuilder": "^14.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@react-native-firebase/firestore": { + "version": "14.7.0", + "resolved": "https://registry.npmjs.org/@react-native-firebase/firestore/-/firestore-14.7.0.tgz", + "integrity": "sha512-vYmXJYs3VI3Ur4N9BFdls+kwFaQ0+hG5JQe/QA1L/o3UP0ho+oqZ5wyCnpA4uXyQwTgeWUukoedbI+iK0AHpWg==" + }, + "@react-native/assets": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@react-native/assets/-/assets-1.0.0.tgz", + "integrity": "sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ==" + }, + "@react-native/normalize-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@react-native/normalize-color/-/normalize-color-2.0.0.tgz", + "integrity": "sha512-Wip/xsc5lw8vsBlmY2MO/gFLp3MvuZ2baBZjDeTjjndMgM0h5sxz7AZR62RDPGgstp8Np7JzjvVqVT7tpFZqsw==" + }, + "@react-native/polyfills": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@react-native/polyfills/-/polyfills-1.0.0.tgz", + "integrity": "sha512-0jbp4RxjYopTsIdLl+/Fy2TiwVYHy4mgeu07DG4b/LyM0OS/+lPP5c9sbnt/AMlnF6qz2JRZpPpGw1eMNS6A4w==" + }, + "@react-navigation/core": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-6.1.1.tgz", + "integrity": "sha512-njysuiqztgvR1Z9Noxk2OGJfYtFGFDRyji5Vmm1jHzlql0m+q0wh1dUiyaIEtTyrhFXr/YNgdrKuiPaU9Jp8OA==", + "requires": { + "@react-navigation/routers": "^6.1.0", + "escape-string-regexp": "^4.0.0", + "nanoid": "^3.1.23", + "query-string": "^7.0.0", + "react-is": "^16.13.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "@react-navigation/elements": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.1.tgz", + "integrity": "sha512-jIDRJaG8YPIinl4hZXJu/W3TnhDe8hLYmGSEdL1mxZ1aoNMiApCBYkgTy11oq0EfK/koZd3DPSkJNbzBAQmPJw==" + }, + "@react-navigation/native": { + "version": "6.0.8", + "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-6.0.8.tgz", + "integrity": "sha512-6022M3+Btok3xJC/49B88er3SRrlDAZ4FdmGndhEVvBcGSHWmscU2qKCwFd0RY6A0AGCVmdIlXudrfdcdRAkpQ==", + "requires": { + "@react-navigation/core": "^6.1.1", + "escape-string-regexp": "^4.0.0", + "fast-deep-equal": "^3.1.3", + "nanoid": "^3.1.23" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + } + } + }, + "@react-navigation/native-stack": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.5.2.tgz", + "integrity": "sha512-aKnjDEljGPDbL8VflCRGVJ2SPD/6x5yuAWsxd1ouCuD+43clkMnz1e0piNf+t3EpNYIWdBNR66Xa+7U/UB4y3w==", + "requires": { + "@react-navigation/elements": "^1.3.1", + "warn-once": "^0.1.0" + } + }, + "@react-navigation/routers": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@react-navigation/routers/-/routers-6.1.0.tgz", + "integrity": "sha512-8xJL+djIzpFdRW/sGlKojQ06fWgFk1c5jER9501HYJ12LF5DIJFr/tqBI2TJ6bk+y+QFu0nbNyeRC80OjRlmkA==", + "requires": { + "nanoid": "^3.1.23" + } + }, + "@sideway/address": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", + "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@sideway/formula": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", + "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==" + }, + "@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" + }, + "@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/long": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", + "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" + }, + "@types/node": { + "version": "17.0.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", + "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==" + }, + "@types/yargs": { + "version": "15.0.14", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", + "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" + }, + "@xmldom/xmldom": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.5.tgz", + "integrity": "sha512-V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A==" + }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "requires": { + "event-target-shim": "^5.0.0" + } + }, + "absolute-path": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/absolute-path/-/absolute-path-0.0.0.tgz", + "integrity": "sha1-p4di+9rftSl76ZsV01p4Wy8JW/c=" + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "anser": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", + "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==" + }, + "ansi-fragments": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz", + "integrity": "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==", + "requires": { + "colorette": "^1.0.7", + "slice-ansi": "^2.0.0", + "strip-ansi": "^5.0.0" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "appdirsjs": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.6.tgz", + "integrity": "sha512-D8wJNkqMCeQs3kLasatELsddox/Xqkhp+J07iXGyL54fVN7oc+nmNfYzGuCs1IEP6uBw+TfpuO3JKwc+lECy4w==" + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-filter": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", + "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=" + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" + }, + "array-map": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", + "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=" + }, + "array-reduce": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", + "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "ast-types": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", + "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", + "requires": { + "tslib": "^2.0.1" + } + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "requires": { + "lodash": "^4.17.14" + } + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==" + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-module-resolver": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-4.1.0.tgz", + "integrity": "sha512-MlX10UDheRr3lb3P0WcaIdtCSRlxdQsB1sBqL7W0raF070bGl1HQQq5K3T2vf2XAYie+ww+5AKC/WrkjRO2knA==", + "requires": { + "find-babel-config": "^1.2.0", + "glob": "^7.1.6", + "pkg-up": "^3.1.0", + "reselect": "^4.0.0", + "resolve": "^1.13.1" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", + "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", + "requires": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.3.1", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz", + "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.1", + "core-js-compat": "^3.21.0" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", + "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.1" + } + }, + "babel-plugin-react-native-web": { + "version": "0.17.7", + "resolved": "https://registry.npmjs.org/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.17.7.tgz", + "integrity": "sha512-UBLfIsfU3vi//Ab4i0WSWAfm1whLTK9uJoH0RPZ6a67eS/h9JGYjKy7+1RpHxSBviHi9NIMiYfWseTLjyIsE1g==" + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "7.0.0-beta.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", + "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==" + }, + "babel-preset-expo": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-9.0.2.tgz", + "integrity": "sha512-NKVichCkbmb+ZIJ4hvuxzX3PnvHUKT42NxYIYTsKAfHPUKuaSAawtpsmMThph6pUc0GUYcLvCRql8ZX5A1zYNw==", + "requires": { + "@babel/plugin-proposal-decorators": "^7.12.9", + "@babel/plugin-transform-react-jsx": "^7.12.17", + "@babel/preset-env": "^7.12.9", + "babel-plugin-module-resolver": "^4.1.0", + "babel-plugin-react-native-web": "~0.17.1", + "metro-react-native-babel-preset": "~0.64.0" + } + }, + "babel-preset-fbjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz", + "integrity": "sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==", + "requires": { + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-syntax-class-properties": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoped-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-member-expression-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-property-literals": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "big-integer": { + "version": "1.6.51", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", + "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==" + }, + "blueimp-md5": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.19.0.tgz", + "integrity": "sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==" + }, + "bplist-creator": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.1.0.tgz", + "integrity": "sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==", + "requires": { + "stream-buffers": "2.2.x" + } + }, + "bplist-parser": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.1.tgz", + "integrity": "sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==", + "requires": { + "big-integer": "1.6.x" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.20.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz", + "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==", + "requires": { + "caniuse-lite": "^1.0.30001317", + "electron-to-chromium": "^1.4.84", + "escalade": "^3.1.1", + "node-releases": "^2.0.2", + "picocolors": "^1.0.0" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "requires": { + "callsites": "^2.0.0" + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "caniuse-lite": { + "version": "1.0.30001323", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001323.tgz", + "integrity": "sha512-e4BF2RlCVELKx8+RmklSEIVub1TWrmdhvA5kEUueummz1XyySW0DVk+3x9HyhU9MuWTa2BhqLgEuEmUwASAdCA==" + }, + "capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "requires": { + "rsvp": "^4.8.4" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "charcodes": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/charcodes/-/charcodes-0.2.0.tgz", + "integrity": "sha512-Y4kiDb+AM4Ecy58YkuZrrSRJBDQdQ2L+NyS1vHHFtNtUjgutcZfx3yp1dAONI/oPaPmyGfCLx5CxL+zauIMyKQ==" + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-spinners": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==" + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" + }, + "command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + }, + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "compare-versions": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", + "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==" + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + }, + "core-js-compat": { + "version": "3.21.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.21.1.tgz", + "integrity": "sha512-gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g==", + "requires": { + "browserslist": "^4.19.1", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" + } + } + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "create-react-class": { + "version": "15.7.0", + "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.7.0.tgz", + "integrity": "sha512-QZv4sFWG9S5RUvkTYWbflxeZX+JG7Cz0Tn33rQBJ+WFQTqTfUTjMjiv9tnfXazjsO5r0KhPs+AqCjyrQX6h2ng==", + "requires": { + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" + } + }, + "cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "requires": { + "node-fetch": "2.6.7" + }, + "dependencies": { + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + } + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "css-in-js-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-2.0.1.tgz", + "integrity": "sha512-PJF0SpJT+WdbVVt0AOYp9C8GnuruRlL/UFW7932nLWmFLQTaWEzTBQEx7/hn4BuV+WON75iAViSUJLiU3PKbpA==", + "requires": { + "hyphenate-style-name": "^1.0.2", + "isobject": "^3.0.1" + } + }, + "dayjs": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.0.tgz", + "integrity": "sha512-JLC809s6Y948/FuCZPm5IX8rRhQwOiyMb2TfVVQEixG7P8Lm/gt5S7yoQZmC8x1UehI9Pb7sksEt4xx14m+7Ug==" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "deepmerge": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz", + "integrity": "sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==" + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "requires": { + "clone": "^1.0.2" + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "denodeify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", + "integrity": "sha1-OjYof1A05pnnV3kBBSwubJQlFjE=" + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "electron-to-chromium": { + "version": "1.4.103", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.103.tgz", + "integrity": "sha512-c/uKWR1Z/W30Wy/sx3dkZoj4BijbXX85QKWu9jJfjho3LBAXNEGAEW3oWiGb+dotA6C6BzCTxL2/aLes7jlUeg==" + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "requires": { + "iconv-lite": "^0.6.2" + } + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==" + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.7.tgz", + "integrity": "sha512-chLOW0ZGRf4s8raLrDxa5sdkvPec5YdvwbFnqJme4rk0rFajP8mPtrDL1+I+CwrQDCjswDA5sREX7jYQDQs9vA==", + "requires": { + "stackframe": "^1.1.1" + } + }, + "errorhandler": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", + "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", + "requires": { + "accepts": "~1.3.7", + "escape-html": "~1.0.3" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" + }, + "exec-sh": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", + "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==" + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "expo": { + "version": "44.0.6", + "resolved": "https://registry.npmjs.org/expo/-/expo-44.0.6.tgz", + "integrity": "sha512-iHnra6uD5kXZgdSUrvxZ3sLjg1FtgtA4p4uaSKVQ39IaMHJBngo8RKqFUJ+BF2kPDpBLJ251eLlhgYUlnAyuag==", + "requires": { + "@babel/runtime": "^7.14.0", + "@expo/metro-config": "~0.2.6", + "@expo/vector-icons": "^12.0.4", + "babel-preset-expo": "~9.0.2", + "cross-spawn": "^6.0.5", + "expo-application": "~4.0.2", + "expo-asset": "~8.4.6", + "expo-constants": "~13.0.2", + "expo-error-recovery": "~3.0.5", + "expo-file-system": "~13.1.3", + "expo-font": "~10.0.5", + "expo-keep-awake": "~10.0.2", + "expo-modules-autolinking": "0.5.5", + "expo-modules-core": "0.6.5", + "fbemitter": "^2.1.1", + "invariant": "^2.2.4", + "md5-file": "^3.2.3", + "pretty-format": "^26.5.2", + "uuid": "^3.4.0" + } + }, + "expo-application": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/expo-application/-/expo-application-4.0.2.tgz", + "integrity": "sha512-ngTaFplTkWn0X45gMC+VNXGyJfGxX4wOwKmtr17rNMVWOQUhhLlyMkTj9bAamzsuwZh35l3S/eD/N1aMWWUwMw==" + }, + "expo-asset": { + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-8.4.6.tgz", + "integrity": "sha512-Kpzcmmf1lceHnZkAdJOvq7l7SU/hCL59vAj2xUZS66U6lFkUf7LNEA/NzILA56loCd4cka5ShYlWs+BMchyFDQ==", + "requires": { + "blueimp-md5": "^2.10.0", + "invariant": "^2.2.4", + "md5-file": "^3.2.3", + "path-browserify": "^1.0.0", + "url-parse": "^1.4.4" + } + }, + "expo-constants": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-13.0.2.tgz", + "integrity": "sha512-vGs/kI65vplPFvG8z4W1ariGEtVHHp9Avl28G0zJprt2v/q1E/BnXjwvFSBPc1GB+Zb/7crWSHWRwjaFULBjsg==", + "requires": { + "@expo/config": "^6.0.6", + "uuid": "^3.3.2" + } + }, + "expo-error-recovery": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/expo-error-recovery/-/expo-error-recovery-3.0.5.tgz", + "integrity": "sha512-VM6OOecjt0aPu5/eCdGGJfNjvAZIemaQym0JF/+SA5IlLiPpEfbVCDTO/5yiS8Zb5fKpeABx+GCRmtfnFqvRRw==", + "optional": true + }, + "expo-file-system": { + "version": "13.1.4", + "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-13.1.4.tgz", + "integrity": "sha512-/C2FKCzrdWuEt4m8Pzl9J4MhKgfU0denVLbqoKjidv8DnsLQrscFNlLhXuiooqWwsxB2OWAtGEVnPGJBWVuNEQ==", + "requires": { + "@expo/config-plugins": "^4.0.2", + "uuid": "^3.4.0" + } + }, + "expo-font": { + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-10.0.5.tgz", + "integrity": "sha512-x9YwM0xLkDdSvFjeNbyuh33Q1Hk3uc2jbMuuAN5W2ZVcUZqG0M8GCX/KV/D/7rYqdXKbliQA5r44MyDwZe/XRw==", + "requires": { + "fontfaceobserver": "^2.1.0" + } + }, + "expo-keep-awake": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-10.0.2.tgz", + "integrity": "sha512-Ro1lgyKldbFs4mxhWM+goX9sg0S2SRR8FiJJeOvaRzf8xNhrZfWA00Zpr+/3ocCoWQ3eEL+X9UF4PXXHf0KoOg==" + }, + "expo-modules-autolinking": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-0.5.5.tgz", + "integrity": "sha512-bILEG0Fg+ZhIhdEaShHzsEN1WC0hUmXJ5Kcd4cd+8rVk1Ead9vRZxA/yLx1cNBDCOwMe0GAMrhF7TKT+A1P+YA==", + "requires": { + "chalk": "^4.1.0", + "commander": "^7.2.0", + "fast-glob": "^3.2.5", + "find-up": "^5.0.0", + "fs-extra": "^9.1.0" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + } + } + }, + "expo-modules-core": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-0.6.5.tgz", + "integrity": "sha512-h/9+SJ3m8XkDUV1QrPO8WeXaeRYWLBJrOqhokDyhgWUYSqe6JOuRx1ZkoGq/GmTiwjouRDbXPsXUBiU9HWLYyA==", + "requires": { + "compare-versions": "^3.4.0", + "invariant": "^2.2.4" + } + }, + "expo-status-bar": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/expo-status-bar/-/expo-status-bar-1.2.0.tgz", + "integrity": "sha512-pVZZ/kDCXFK79E4dCtRecs3XLC8aiwlciutSd/fFmUPJSQZ1Txia6hlKajPt0GAYft8/YnT0V3URXzWZOBniYQ==" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "requires": { + "bser": "2.1.1" + } + }, + "fbemitter": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fbemitter/-/fbemitter-2.1.1.tgz", + "integrity": "sha1-Uj4U/a9SSIBbsC9i78M75wP1GGU=", + "requires": { + "fbjs": "^0.8.4" + } + }, + "fbjs": { + "version": "0.8.18", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.18.tgz", + "integrity": "sha512-EQaWFK+fEPSoibjNy8IxUtaFOMXcWsY0JaVrQoZR9zC8N2Ygf9iDITPWjUTVIax95b6I742JFLqASHfsag/vKA==", + "requires": { + "core-js": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.30" + } + }, + "fbjs-css-vars": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", + "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha1-mzERErxsYSehbgFsbF1/GeCAXFs=" + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + } + } + }, + "find-babel-config": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.2.0.tgz", + "integrity": "sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA==", + "requires": { + "json5": "^0.5.1", + "path-exists": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + } + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "firebase": { + "version": "9.6.10", + "resolved": "https://registry.npmjs.org/firebase/-/firebase-9.6.10.tgz", + "integrity": "sha512-pnWXhH2J/O5To/TXEp7Dx1nSKkDRspl1bo4f4p6f2noVrn3lvz+cbQNM7DTT0xyA0RsNM/V7aSv3ZbAQj8Od3Q==", + "requires": { + "@firebase/analytics": "0.7.7", + "@firebase/analytics-compat": "0.1.8", + "@firebase/app": "0.7.20", + "@firebase/app-check": "0.5.5", + "@firebase/app-check-compat": "0.2.5", + "@firebase/app-compat": "0.1.21", + "@firebase/app-types": "0.7.0", + "@firebase/auth": "0.19.11", + "@firebase/auth-compat": "0.2.11", + "@firebase/database": "0.12.7", + "@firebase/database-compat": "0.1.7", + "@firebase/firestore": "3.4.7", + "@firebase/firestore-compat": "0.1.16", + "@firebase/functions": "0.7.10", + "@firebase/functions-compat": "0.1.11", + "@firebase/installations": "0.5.7", + "@firebase/messaging": "0.9.11", + "@firebase/messaging-compat": "0.1.11", + "@firebase/performance": "0.5.7", + "@firebase/performance-compat": "0.1.7", + "@firebase/polyfill": "0.3.36", + "@firebase/remote-config": "0.3.6", + "@firebase/remote-config-compat": "0.1.7", + "@firebase/storage": "0.9.4", + "@firebase/storage-compat": "0.1.12", + "@firebase/util": "1.5.1" + } + }, + "flow-parser": { + "version": "0.121.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.121.0.tgz", + "integrity": "sha512-1gIBiWJNR0tKUNv8gZuk7l9rVX06OuLzY9AoGio7y/JT4V1IZErEMEq2TJS+PFcw/y0RshZ1J/27VfK1UQzYVg==" + }, + "fontfaceobserver": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fontfaceobserver/-/fontfaceobserver-2.1.0.tgz", + "integrity": "sha512-ReOsO2F66jUa0jmv2nlM/s1MiutJx/srhAe2+TE8dJCMi02ZZOcCTxTCQFr3Yet+uODUtnr4Mewg+tNQ+4V1Ng==" + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "requires": { + "for-in": "^1.0.1" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "fs-extra": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", + "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, + "getenv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/getenv/-/getenv-1.0.0.tgz", + "integrity": "sha512-7yetJWqbS9sbn0vIfliPsFgoXMKn/YMF+Wuiog97x+urnSRRRZ7xB+uVkwGKzRgq9CDFfMQnE9ruL5DHv9c6Xg==" + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "graceful-fs": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hermes-engine": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/hermes-engine/-/hermes-engine-0.7.2.tgz", + "integrity": "sha512-E2DkRaO97gwL98LPhgfkMqhHiNsrAjIfEk3wWYn2Y31xdkdWn0572H7RnVcGujMJVqZNJvtknxlpsUb8Wzc3KA==" + }, + "hermes-profile-transformer": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz", + "integrity": "sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==", + "requires": { + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + } + } + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "http-parser-js": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz", + "integrity": "sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA==" + }, + "hyphenate-style-name": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", + "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" + }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "image-size": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", + "integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==" + }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "inline-style-prefixer": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-6.0.1.tgz", + "integrity": "sha512-AsqazZ8KcRzJ9YPN1wMH2aNM7lkWQ8tSPrW5uDk1ziYwiAPWSZnUsC7lfZq+BDqLqz0B4Pho5wscWcJzVvRzDQ==", + "requires": { + "css-in-js-utils": "^2.0.0" + } + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "requires": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + } + }, + "jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" + }, + "jest-haste-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", + "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", + "requires": { + "@jest/types": "^26.6.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.1.2", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^26.0.0", + "jest-serializer": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" + } + }, + "jest-regex-util": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", + "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==" + }, + "jest-serializer": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", + "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", + "requires": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + } + }, + "jest-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", + "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "micromatch": "^4.0.2" + } + }, + "jest-validate": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", + "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", + "requires": { + "@jest/types": "^26.6.2", + "camelcase": "^6.0.0", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "leven": "^3.1.0", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + } + } + }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jetifier": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/jetifier/-/jetifier-1.6.8.tgz", + "integrity": "sha512-3Zi16h6L5tXDRQJTb221cnRoVG9/9OvreLdLU2/ZjRv/GILL+2Cemt0IKvkowwkDpvouAU1DQPOJ7qaiHeIdrw==" + }, + "joi": { + "version": "17.6.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz", + "integrity": "sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==", + "requires": { + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.0", + "@sideway/pinpoint": "^2.0.0" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsc-android": { + "version": "245459.0.0", + "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-245459.0.0.tgz", + "integrity": "sha512-wkjURqwaB1daNkDi2OYYbsLnIdC/lUM2nPXQKRs5pqEU9chDg435bjvo+LSaHotDENygHQDHe+ntUkkw2gwMtg==" + }, + "jscodeshift": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.11.0.tgz", + "integrity": "sha512-SdRK2C7jjs4k/kT2mwtO07KJN9RnjxtKn03d9JVj6c3j9WwaLcFYsICYDnLAzY0hp+wG2nxl+Cm2jWLiNVYb8g==", + "requires": { + "@babel/core": "^7.1.6", + "@babel/parser": "^7.1.6", + "@babel/plugin-proposal-class-properties": "^7.1.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.1.0", + "@babel/plugin-proposal-optional-chaining": "^7.1.0", + "@babel/plugin-transform-modules-commonjs": "^7.1.0", + "@babel/preset-flow": "^7.0.0", + "@babel/preset-typescript": "^7.1.0", + "@babel/register": "^7.0.0", + "babel-core": "^7.0.0-bridge.0", + "colors": "^1.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.2.4", + "micromatch": "^3.1.10", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.20.3", + "temp": "^0.8.1", + "write-file-atomic": "^2.3.0" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + }, + "dependencies": { + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + } + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + }, + "jszip": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.8.0.tgz", + "integrity": "sha512-cnpQrXvFSLdsR9KR5/x7zdf6c3m8IhZfZzSblFEHSqBaVwD2nvJ4CuCKLyvKvwBgZm08CgfSoiTBQLm5WW9hGw==", + "requires": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "set-immediate-shim": "~1.0.1" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "requires": { + "graceful-fs": "^4.1.9" + } + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" + }, + "lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "requires": { + "immediate": "~3.0.5" + } + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" + }, + "lodash.frompairs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.frompairs/-/lodash.frompairs-4.0.1.tgz", + "integrity": "sha1-vE5SB/onV8E25XNhTpZkUGsrG9I=" + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + }, + "lodash.omit": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", + "integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=" + }, + "lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" + }, + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "requires": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "requires": { + "chalk": "^2.0.1" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + } + } + }, + "logkitty": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz", + "integrity": "sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==", + "requires": { + "ansi-fragments": "^0.2.1", + "dayjs": "^1.8.15", + "yargs": "^15.1.0" + } + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "requires": { + "tmpl": "1.0.5" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "requires": { + "object-visit": "^1.0.0" + } + }, + "md5-file": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/md5-file/-/md5-file-3.2.3.tgz", + "integrity": "sha512-3Tkp1piAHaworfcCgH0jKbTvj1jWWFgbvh2cXaNCgHwyTCBxxvD1Y04rmfpvdPm1P4oXMOpm6+2H7sr7v9v8Fw==", + "requires": { + "buffer-alloc": "^1.1.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "metro": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.64.0.tgz", + "integrity": "sha512-G2OC08Rzfs0kqnSEuKo2yZxR+/eNUpA93Ru45c60uN0Dw3HPrDi+ZBipgFftC6iLE0l+6hu8roFFIofotWxybw==", + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.0.0", + "@babel/generator": "^7.5.0", + "@babel/parser": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "absolute-path": "^0.0.0", + "accepts": "^1.3.7", + "async": "^2.4.0", + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "connect": "^3.6.5", + "debug": "^2.2.0", + "denodeify": "^1.2.1", + "error-stack-parser": "^2.0.6", + "fs-extra": "^1.0.0", + "graceful-fs": "^4.1.3", + "image-size": "^0.6.0", + "invariant": "^2.2.4", + "jest-haste-map": "^26.5.2", + "jest-worker": "^26.0.0", + "lodash.throttle": "^4.1.1", + "metro-babel-register": "0.64.0", + "metro-babel-transformer": "0.64.0", + "metro-cache": "0.64.0", + "metro-cache-key": "0.64.0", + "metro-config": "0.64.0", + "metro-core": "0.64.0", + "metro-hermes-compiler": "0.64.0", + "metro-inspector-proxy": "0.64.0", + "metro-minify-uglify": "0.64.0", + "metro-react-native-babel-preset": "0.64.0", + "metro-resolver": "0.64.0", + "metro-runtime": "0.64.0", + "metro-source-map": "0.64.0", + "metro-symbolicate": "0.64.0", + "metro-transform-plugins": "0.64.0", + "metro-transform-worker": "0.64.0", + "mime-types": "^2.1.27", + "mkdirp": "^0.5.1", + "node-fetch": "^2.2.0", + "nullthrows": "^1.1.1", + "rimraf": "^2.5.4", + "serialize-error": "^2.1.0", + "source-map": "^0.5.6", + "strip-ansi": "^6.0.0", + "temp": "0.8.3", + "throat": "^5.0.0", + "ws": "^1.1.5", + "yargs": "^15.3.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "fs-extra": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "ws": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", + "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", + "requires": { + "options": ">=0.0.5", + "ultron": "1.0.x" + } + } + } + }, + "metro-babel-register": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-babel-register/-/metro-babel-register-0.64.0.tgz", + "integrity": "sha512-Kf6YvE3kIRumGnjK0Q9LqGDIdnsX9eFGtNBmBuCVDuB9wGGA/5CgX8We8W7Y44dz1RGTcHJRhfw5iGg+pwC3aQ==", + "requires": { + "@babel/core": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/register": "^7.0.0", + "escape-string-regexp": "^1.0.5" + } + }, + "metro-babel-transformer": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.64.0.tgz", + "integrity": "sha512-itZaxKTgmKGEZWxNzbSZBc22NngrMZzoUNuU92aHSTGkYi2WH4XlvzEHsstmIKHMsRVKl75cA+mNmgk4gBFJKw==", + "requires": { + "@babel/core": "^7.0.0", + "metro-source-map": "0.64.0", + "nullthrows": "^1.1.1" + } + }, + "metro-cache": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.64.0.tgz", + "integrity": "sha512-QvGfxe/1QQYM9XOlR8W1xqE9eHDw/AgJIgYGn/TxZxBu9Zga+Rgs1omeSZju45D8w5VWgMr83ma5kACgzvOecg==", + "requires": { + "metro-core": "0.64.0", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4" + } + }, + "metro-cache-key": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.64.0.tgz", + "integrity": "sha512-O9B65G8L/fopck45ZhdRosyVZdMtUQuX5mBWEC1NRj02iWBIUPLmYMjrunqIe8vHipCMp3DtTCm/65IlBmO8jg==" + }, + "metro-config": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.64.0.tgz", + "integrity": "sha512-QhM4asnX5KhlRWaugwVGNNXhX0Z85u5nK0UQ/A90bBb4xWyXqUe20e788VtdA75rkQiiI6wXTCIHWT0afbnjwQ==", + "requires": { + "cosmiconfig": "^5.0.5", + "jest-validate": "^26.5.2", + "metro": "0.64.0", + "metro-cache": "0.64.0", + "metro-core": "0.64.0", + "metro-runtime": "0.64.0" + } + }, + "metro-core": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.64.0.tgz", + "integrity": "sha512-v8ZQ5j72EaUwamQ8pLfHlOHTyp7SbdazvHPzFGDpHnwIQqIT0Bw3Syg8R4regTlVG3ngpeSEAi005UITljmMcQ==", + "requires": { + "jest-haste-map": "^26.5.2", + "lodash.throttle": "^4.1.1", + "metro-resolver": "0.64.0" + } + }, + "metro-hermes-compiler": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-hermes-compiler/-/metro-hermes-compiler-0.64.0.tgz", + "integrity": "sha512-CLAjVDWGAoGhbi2ZyPHnH5YDdfrDIx6+tzFWfHGIMTZkYBXsYta9IfYXBV8lFb6BIbrXLjlXZAOoosknetMPOA==" + }, + "metro-inspector-proxy": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.64.0.tgz", + "integrity": "sha512-KywbH3GNSz9Iqw4UH3smgaV2dBHHYMISeN7ORntDL/G+xfgPc6vt13d+zFb907YpUcXj5N0vdoiAHI5V/0y8IA==", + "requires": { + "connect": "^3.6.5", + "debug": "^2.2.0", + "ws": "^1.1.5", + "yargs": "^15.3.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "ws": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", + "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", + "requires": { + "options": ">=0.0.5", + "ultron": "1.0.x" + } + } + } + }, + "metro-minify-uglify": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.64.0.tgz", + "integrity": "sha512-DRwRstqXR5qfte9Nuwoov5dRXxL7fJeVlO5fGyOajWeO3+AgPjvjXh/UcLJqftkMWTPGUFuzAD5/7JC5v5FLWw==", + "requires": { + "uglify-es": "^3.1.9" + } + }, + "metro-react-native-babel-preset": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.64.0.tgz", + "integrity": "sha512-HcZ0RWQRuJfpPiaHyFQJzcym+/dDIVUPwUAXWoub/C4GkGu+mPjp8vqK6g0FxokCnnI2TK0gZTza2IDfiNNscQ==", + "requires": { + "@babel/core": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.2.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-exponentiation-operator": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-assign": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-regenerator": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "react-refresh": "^0.4.0" + } + }, + "metro-react-native-babel-transformer": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.64.0.tgz", + "integrity": "sha512-K1sHO3ODBFCr7uEiCQ4RvVr+cQg0EHQF8ChVPnecGh/WDD8udrTq9ECwB0dRfMjAvlsHtRUlJm6ZSI8UPgum2w==", + "requires": { + "@babel/core": "^7.0.0", + "babel-preset-fbjs": "^3.3.0", + "metro-babel-transformer": "0.64.0", + "metro-react-native-babel-preset": "0.64.0", + "metro-source-map": "0.64.0", + "nullthrows": "^1.1.1" + } + }, + "metro-resolver": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.64.0.tgz", + "integrity": "sha512-cJ26Id8Zf+HmS/1vFwu71K3u7ep/+HeXXAJIeVDYf+niE7AWB9FijyMtAlQgbD8elWqv1leJCnQ/xHRFBfGKYA==", + "requires": { + "absolute-path": "^0.0.0" + } + }, + "metro-runtime": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.64.0.tgz", + "integrity": "sha512-m7XbWOaIOeFX7YcxUhmnOi6Pg8EaeL89xyZ+quZyZVF1aNoTr4w8FfbKxvijpjsytKHIZtd+43m2Wt5JrqyQmQ==" + }, + "metro-source-map": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.64.0.tgz", + "integrity": "sha512-OCG2rtcp5cLEGYvAbfkl6mEc0J2FPRP4/UCEly+juBk7hawS9bCBMBfhJm/HIsvY1frk6nT2Vsl1O8YBbwyx2g==", + "requires": { + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.64.0", + "nullthrows": "^1.1.1", + "ob1": "0.64.0", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + } + }, + "metro-symbolicate": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.64.0.tgz", + "integrity": "sha512-qIi+YRrDWnLVmydj6gwidYLPaBsakZRibGWSspuXgHAxOI3UuLwlo4dpQ73Et0gyHjI7ZvRMRY8JPiOntf9AQQ==", + "requires": { + "invariant": "^2.2.4", + "metro-source-map": "0.64.0", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" + } + }, + "metro-transform-plugins": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.64.0.tgz", + "integrity": "sha512-iTIRBD/wBI98plfxj8jAoNUUXfXLNlyvcjPtshhpGvdwu9pzQilGfnDnOaaK+vbITcOk9w5oQectXyJwAqTr1A==", + "requires": { + "@babel/core": "^7.0.0", + "@babel/generator": "^7.5.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "nullthrows": "^1.1.1" + } + }, + "metro-transform-worker": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.64.0.tgz", + "integrity": "sha512-wegRtK8GyLF6IPZRBJp+zsORgA4iX0h1DRpknyAMDCtSbJ4VU2xV/AojteOgAsDvY3ucAGsvfuZLNDJHUdUNHQ==", + "requires": { + "@babel/core": "^7.0.0", + "@babel/generator": "^7.5.0", + "@babel/parser": "^7.0.0", + "@babel/types": "^7.0.0", + "babel-preset-fbjs": "^3.3.0", + "metro": "0.64.0", + "metro-babel-transformer": "0.64.0", + "metro-cache": "0.64.0", + "metro-cache-key": "0.64.0", + "metro-hermes-compiler": "0.64.0", + "metro-source-map": "0.64.0", + "metro-transform-plugins": "0.64.0", + "nullthrows": "^1.1.1" + } + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mixin-object": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", + "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", + "requires": { + "for-in": "^0.1.3", + "is-extendable": "^0.1.1" + }, + "dependencies": { + "for-in": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", + "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=" + } + } + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "requires": { + "minimist": "^1.2.6" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nanoid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz", + "integrity": "sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==" + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "nocache": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/nocache/-/nocache-2.1.0.tgz", + "integrity": "sha512-0L9FvHG3nfnnmaEQPjT9xhfN4ISk0A8/2j4M37Np4mcDesJjHgEUfgPhdCyZuFI954tjokaIj/A3NdpFNdEh4Q==" + }, + "node-dir": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", + "integrity": "sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU=", + "requires": { + "minimatch": "^3.0.2" + } + }, + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "requires": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" + }, + "node-releases": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz", + "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==" + }, + "node-stream-zip": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", + "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==" + }, + "normalize-css-color": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/normalize-css-color/-/normalize-css-color-1.0.2.tgz", + "integrity": "sha1-Apkel8zOxmI/5XOvu/Deah8+n40=" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "^2.0.0" + } + }, + "nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==" + }, + "ob1": { + "version": "0.64.0", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.64.0.tgz", + "integrity": "sha512-CO1N+5dhvy+MoAwxz8+fymEUcwsT4a+wHhrHFb02LppcJdHxgcBWviwEhUwKOD2kLMQ7ijrrzybOqpGcqEtvpQ==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "^3.0.1" + } + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "requires": { + "is-wsl": "^1.1.0" + } + }, + "opencollective-postinstall": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", + "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==" + }, + "options": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", + "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=" + }, + "ora": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", + "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", + "requires": { + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + } + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + }, + "pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==" + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "requires": { + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + } + } + }, + "pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "requires": { + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + } + } + }, + "plist": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.5.tgz", + "integrity": "sha512-83vX4eYdQp3vP9SxuYgEM/G/pJQqLUz/V/xzPrzruLs7fz7jxGQ1msZ/mg1nwZxUSuOp4sb+/bEIbRrbzZRxDA==", + "requires": { + "base64-js": "^1.5.1", + "xmlbuilder": "^9.0.7" + }, + "dependencies": { + "xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + } + } + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "~2.0.3" + } + }, + "promise-polyfill": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.1.3.tgz", + "integrity": "sha512-MG5r82wBzh7pSKDRa9y+vllNHz3e3d4CNj1PQE4BQYxLme0gKYYBm9YENq+UkEikyZ0XbiGWxYlVw3Rl9O/U8g==" + }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "protobufjs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz", + "integrity": "sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==", + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "query-string": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.1.tgz", + "integrity": "sha512-MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w==", + "requires": { + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + } + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "react": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.1.tgz", + "integrity": "sha512-lG9c9UuMHdcAexXtigOZLX8exLWkW0Ku29qPRU8uhF2R9BN96dLCt0psvzPLlHc5OWkgymP3qwTRgbnw5BKx3w==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "react-devtools-core": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.24.3.tgz", + "integrity": "sha512-+htKZxLxDN14jhRG3+IXRiJqNSGHUiPYrMtv9e7qlZxcbKeJjVs+C/hd8kZF5rydp3faBwFN6ZpTaZnLA3/ZGA==", + "requires": { + "shell-quote": "^1.6.1", + "ws": "^7" + }, + "dependencies": { + "ws": { + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", + "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==" + } + } + }, + "react-dom": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.1.tgz", + "integrity": "sha512-6eV150oJZ9U2t9svnsspTMrWNyHc6chX0KzDeAOXftRa8bNeOKTTfCJ7KorIwenkHd2xqVTBTCZd79yk/lx/Ug==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "scheduler": "^0.20.1" + } + }, + "react-freeze": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/react-freeze/-/react-freeze-1.0.0.tgz", + "integrity": "sha512-yQaiOqDmoKqks56LN9MTgY06O0qQHgV4FUrikH357DydArSZHQhl0BJFqGKIZoTqi8JizF9Dxhuk1FIZD6qCaw==" + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "react-native": { + "version": "0.64.3", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.64.3.tgz", + "integrity": "sha512-2OEU74U0Ek1/WeBzPbg6XDsCfjF/9fhrNX/5TFgEiBKd5mNc9LOZ/OlMmkb7iues/ZZ/oc51SbEfLRQdcW0fVw==", + "requires": { + "@jest/create-cache-key-function": "^26.5.0", + "@react-native-community/cli": "^5.0.1-alpha.1", + "@react-native-community/cli-platform-android": "^5.0.1-alpha.1", + "@react-native-community/cli-platform-ios": "^5.0.1-alpha.1", + "@react-native/assets": "1.0.0", + "@react-native/normalize-color": "1.0.0", + "@react-native/polyfills": "1.0.0", + "abort-controller": "^3.0.0", + "anser": "^1.4.9", + "base64-js": "^1.1.2", + "event-target-shim": "^5.0.1", + "hermes-engine": "~0.7.0", + "invariant": "^2.2.4", + "jsc-android": "^245459.0.0", + "metro-babel-register": "0.64.0", + "metro-react-native-babel-transformer": "0.64.0", + "metro-runtime": "0.64.0", + "metro-source-map": "0.64.0", + "nullthrows": "^1.1.1", + "pretty-format": "^26.5.2", + "promise": "^8.0.3", + "prop-types": "^15.7.2", + "react-devtools-core": "^4.6.0", + "react-native-codegen": "^0.0.6", + "react-refresh": "^0.4.0", + "regenerator-runtime": "^0.13.2", + "scheduler": "^0.20.1", + "shelljs": "^0.8.4", + "stacktrace-parser": "^0.1.3", + "use-subscription": "^1.0.0", + "whatwg-fetch": "^3.0.0", + "ws": "^6.1.4" + }, + "dependencies": { + "@react-native-community/cli": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-5.0.1.tgz", + "integrity": "sha512-9VzSYUYSEqxEH5Ib2UNSdn2eyPiYZ4T7Y79o9DKtRBuSaUIwbCUdZtIm+UUjBpLS1XYBkW26FqL8/UdZDmQvXw==", + "requires": { + "@react-native-community/cli-debugger-ui": "^5.0.1", + "@react-native-community/cli-hermes": "^5.0.1", + "@react-native-community/cli-server-api": "^5.0.1", + "@react-native-community/cli-tools": "^5.0.1", + "@react-native-community/cli-types": "^5.0.1", + "appdirsjs": "^1.2.4", + "chalk": "^3.0.0", + "command-exists": "^1.2.8", + "commander": "^2.19.0", + "cosmiconfig": "^5.1.0", + "deepmerge": "^3.2.0", + "envinfo": "^7.7.2", + "execa": "^1.0.0", + "find-up": "^4.1.0", + "fs-extra": "^8.1.0", + "glob": "^7.1.3", + "graceful-fs": "^4.1.3", + "joi": "^17.2.1", + "leven": "^3.1.0", + "lodash": "^4.17.15", + "metro": "^0.64.0", + "metro-config": "^0.64.0", + "metro-core": "^0.64.0", + "metro-react-native-babel-transformer": "^0.64.0", + "metro-resolver": "^0.64.0", + "metro-runtime": "^0.64.0", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "node-stream-zip": "^1.9.1", + "ora": "^3.4.0", + "pretty-format": "^26.6.2", + "prompts": "^2.4.0", + "semver": "^6.3.0", + "serve-static": "^1.13.1", + "strip-ansi": "^5.2.0", + "sudo-prompt": "^9.0.0", + "wcwidth": "^1.0.1" + } + }, + "@react-native/normalize-color": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@react-native/normalize-color/-/normalize-color-1.0.0.tgz", + "integrity": "sha512-xUNRvNmCl3UGCPbbHvfyFMnpvLPoOjDCcp5bT9m2k+TF/ZBklEQwhPZlkrxRx2NhgFh1X3a5uL7mJ7ZR+8G7Qg==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "promise": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", + "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", + "requires": { + "asap": "~2.0.6" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + } + } + }, + "react-native-codegen": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/react-native-codegen/-/react-native-codegen-0.0.6.tgz", + "integrity": "sha512-cMvrUelD81wiPitEPiwE/TCNscIVauXxmt4NTGcy18HrUd0WRWXfYzAQGXm0eI87u3NMudNhqFj2NISJenxQHg==", + "requires": { + "flow-parser": "^0.121.0", + "jscodeshift": "^0.11.0", + "nullthrows": "^1.1.1" + } + }, + "react-native-safe-area-context": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-3.3.2.tgz", + "integrity": "sha512-yOwiiPJ1rk+/nfK13eafbpW6sKW0jOnsRem2C1LPJjM3tfTof6hlvV5eWHATye3XOpu2cJ7N+HdkUvUDGwFD2Q==" + }, + "react-native-screens": { + "version": "3.10.2", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.10.2.tgz", + "integrity": "sha512-bMKSpwMeqAoXBqTJiDEG1ogM1cMk66sEmpp/4dGqdX59v+OwMqPeTuBk37qaSuS7gPOFFKsNW2X3ymGvBT4iEw==", + "requires": { + "react-freeze": "^1.0.0", + "warn-once": "^0.1.0" + } + }, + "react-native-web": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/react-native-web/-/react-native-web-0.17.1.tgz", + "integrity": "sha512-lUnn+2O8ynQ6/gJKylSxm7DLi2vHw6AujdDV1+LSa8Epe1bYFJNUcJTEhJf0jNYUFGOujzMtuG8Mkz3HdWTkag==", + "requires": { + "array-find-index": "^1.0.2", + "create-react-class": "^15.7.0", + "fbjs": "^3.0.0", + "hyphenate-style-name": "^1.0.4", + "inline-style-prefixer": "^6.0.0", + "normalize-css-color": "^1.0.2", + "prop-types": "^15.6.0" + }, + "dependencies": { + "fbjs": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.4.tgz", + "integrity": "sha512-ucV0tDODnGV3JCnnkmoszb5lf4bNpzjv80K41wd4k798Etq+UYD0y0TIfalLjZoKgjive6/adkRnszwapiDgBQ==", + "requires": { + "cross-fetch": "^3.1.5", + "fbjs-css-vars": "^1.0.0", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.30" + } + } + } + }, + "react-refresh": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", + "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "recast": { + "version": "0.20.5", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.20.5.tgz", + "integrity": "sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==", + "requires": { + "ast-types": "0.14.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "requires": { + "resolve": "^1.1.6" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "regenerate-unicode-properties": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", + "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + }, + "regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexpu-core": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz", + "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==", + "requires": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.0.1", + "regjsgen": "^0.6.0", + "regjsparser": "^0.8.2", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" + } + }, + "regjsgen": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", + "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==" + }, + "regjsparser": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", + "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" + } + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + }, + "reselect": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.5.tgz", + "integrity": "sha512-uVdlz8J7OO+ASpBYoz1Zypgx0KasCY20H+N8JD13oUMtPvSHQuscrHop4KbXrbsBcdB9Ds7lVK7eRkBIfO43vQ==" + }, + "resolve": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "requires": { + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==" + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "requires": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "selenium-webdriver": { + "version": "4.0.0-rc-1", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.0.0-rc-1.tgz", + "integrity": "sha512-bcrwFPRax8fifRP60p7xkWDGSJJoMkPAzufMlk5K2NyLPht/YZzR2WcIk1+3gR8VOCLlst1P2PI+MXACaFzpIw==", + "requires": { + "jszip": "^3.6.0", + "rimraf": "^3.0.2", + "tmp": "^0.2.1", + "ws": ">=7.4.6" + }, + "dependencies": { + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "ws": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", + "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==" + } + } + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "serialize-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", + "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=" + }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "shell-quote": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", + "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", + "requires": { + "array-filter": "~0.0.0", + "array-map": "~0.0.0", + "array-reduce": "~0.0.0", + "jsonify": "~0.0.0" + } + }, + "shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "simple-plist": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.3.1.tgz", + "integrity": "sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==", + "requires": { + "bplist-creator": "0.1.0", + "bplist-parser": "0.3.1", + "plist": "^3.0.5" + } + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + } + }, + "slugify": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.5.tgz", + "integrity": "sha512-8mo9bslnBO3tr5PEVFzMPIWwWnipGS0xVbYf65zxDqfNwmzYn1LpiKNrR6DlClusuvo+hDHd1zKpmfAe83NQSQ==" + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" + }, + "split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==" + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "stackframe": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.1.tgz", + "integrity": "sha512-h88QkzREN/hy8eRdyNhhsO7RSJ5oyTqxxmmn0dzBIMUclZsjpfmrsg81vp8mjjAs2vAZ72nyWxRUwSwmh0e4xg==" + }, + "stacktrace-parser": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", + "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "requires": { + "type-fest": "^0.7.1" + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + }, + "stream-buffers": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", + "integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ=" + }, + "strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=" + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" + } + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + }, + "sucrase": { + "version": "3.20.3", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.20.3.tgz", + "integrity": "sha512-azqwq0/Bs6RzLAdb4dXxsCgMtAaD2hzmUr4UhSfsxO46JFPAwMnnb441B/qsudZiS6Ylea3JXZe3Q497lsgXzQ==", + "requires": { + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + } + }, + "sudo-prompt": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", + "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==" + }, + "superstruct": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-0.6.2.tgz", + "integrity": "sha512-lvA97MFAJng3rfjcafT/zGTSWm6Tbpk++DP6It4Qg7oNaeM+2tdJMuVgGje21/bIpBEs6iQql1PJH6dKTjl4Ig==", + "requires": { + "clone-deep": "^2.0.1", + "kind-of": "^6.0.1" + }, + "dependencies": { + "clone-deep": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", + "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", + "requires": { + "for-own": "^1.0.0", + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.0", + "shallow-clone": "^1.0.0" + } + }, + "shallow-clone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz", + "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", + "requires": { + "is-extendable": "^0.1.1", + "kind-of": "^5.0.0", + "mixin-object": "^2.0.1" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + } + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "temp": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", + "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", + "requires": { + "os-tmpdir": "^1.0.0", + "rimraf": "~2.2.6" + }, + "dependencies": { + "rimraf": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=" + } + } + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==" + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "requires": { + "rimraf": "^3.0.0" + }, + "dependencies": { + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + }, + "type-fest": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==" + }, + "ua-parser-js": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz", + "integrity": "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==" + }, + "uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "requires": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "ultron": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", + "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=" + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==" + }, + "unicode-property-aliases-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==" + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + } + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + }, + "use-subscription": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/use-subscription/-/use-subscription-1.6.0.tgz", + "integrity": "sha512-0Y/cTLlZfw547tJhJMoRA16OUbVqRm6DmvGpiGbmLST6BIA5KU5cKlvlz8DVMrACnWpyEjCkgmhLatthP4jUbA==" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "vlq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", + "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==" + }, + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "requires": { + "makeerror": "1.0.12" + } + }, + "warn-once": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/warn-once/-/warn-once-0.1.0.tgz", + "integrity": "sha512-recZTSvuaH/On5ZU5ywq66y99lImWqzP93+AiUo9LUwG8gXHW+LJjhOd6REJHm7qb0niYqrEQJvbHSQfuJtTqA==" + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "requires": { + "defaults": "^1.0.3" + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" + }, + "whatwg-fetch": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", + "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "requires": { + "async-limiter": "~1.0.0" + } + }, + "xcode": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/xcode/-/xcode-3.0.1.tgz", + "integrity": "sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==", + "requires": { + "simple-plist": "^1.1.0", + "uuid": "^7.0.3" + }, + "dependencies": { + "uuid": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", + "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==" + } + } + }, + "xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "dependencies": { + "xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" + } + } + }, + "xmlbuilder": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-14.0.0.tgz", + "integrity": "sha512-ts+B2rSe4fIckR6iquDjsKbQFK2NlUk6iG5nf14mDEyldgoc2nEKZ3jZWMPTxGQwVgToSjt6VGIho1H8/fNFTg==" + }, + "xmldoc": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-1.1.2.tgz", + "integrity": "sha512-ruPC/fyPNck2BD1dpz0AZZyrEwMOrWTO5lDdIXS91rs3wtm4j+T8Rp2o+zoOYkkAxJTZRPOSnOGei1egoRmKMQ==", + "requires": { + "sax": "^1.2.1" + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + } + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000000000000000000000000000000000000..8018964c444cba4af7d8c9fc97f968240db2cc25 --- /dev/null +++ b/package.json @@ -0,0 +1,31 @@ +{ + "name": "exercise_react_native", + "version": "1.0.0", + "main": "node_modules/expo/AppEntry.js", + "scripts": { + "start": "expo start", + "android": "expo start --android", + "ios": "expo start --ios", + "web": "expo start --web", + "eject": "expo eject" + }, + "dependencies": { + "@react-native-firebase/app": "^14.7.0", + "@react-native-firebase/firestore": "^14.7.0", + "@react-navigation/native": "^6.0.8", + "@react-navigation/native-stack": "^6.5.2", + "expo": "~44.0.0", + "expo-status-bar": "~1.2.0", + "firebase": "^9.6.10", + "react": "17.0.1", + "react-dom": "17.0.1", + "react-native": "0.64.3", + "react-native-safe-area-context": "3.3.2", + "react-native-screens": "~3.10.1", + "react-native-web": "0.17.1" + }, + "devDependencies": { + "@babel/core": "^7.12.9" + }, + "private": true +} diff --git a/pages/CreateNewUser.js b/pages/CreateNewUser.js new file mode 100644 index 0000000000000000000000000000000000000000..db7a466096a55a857dc3c1f27ce7181e68a483bc --- /dev/null +++ b/pages/CreateNewUser.js @@ -0,0 +1,96 @@ +import { StyleSheet, Text, View, Button, TextInput, TouchableOpacity } from 'react-native'; +import React, { useState, useEffect } from 'react'; +import {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef} from "firebase/firestore" + + + +export default function CreateNewUser({ navigation}){ + + const [name, onChangeName] = useState(''); + const [email, onChangeEmail] = useState(''); + const [image, onChangeImage] = useState(''); + + + + async function newUser(){ + try{ + await addDoc(collection(getFirestore(), 'Users'),{ + Name: name, + Email: email, + Image: image, + }); + } + catch(error){ + } + }; + + + + + + function Submitt(){ + newUser(); + + navigation.navigate({ + name: 'UserList', + merge: true, + }); + } + + + + + + + +return( + <View style={styles.container}> + + <TextInput style={styles.input} onChangeText={onChangeName} value={name} multiline = {true} placeholder="Name" /> + <TextInput style={styles.input} onChangeText={onChangeEmail} value={email} multiline = {true} placeholder="Email"/> + <TextInput style={styles.input} onChangeText={onChangeImage} value={image} multiline = {true} placeholder="Image URL"/> + + <TouchableOpacity style={styles.button} onPress={Submitt}> + <Text style={styles.buttonText}> + Submitt + </Text> + </TouchableOpacity> + + </View> +) +}; + +const styles = StyleSheet.create({ + container:{ + marginLeft:10, + }, + + input:{ + borderBottomColor:'#CFCDCD', + borderBottomWidth:1, + width: 220, + marginTop: 20, + }, + + button:{ + marginTop:35, + width: 85, + height: 35, + backgroundColor: 'rgba(129, 158, 172, 0.5)', + borderRadius: 12, + justifyContent: 'center', + }, + + buttonText:{ + height: 28, + fontStyle: "normal", + fontWeight: "bold", + fontSize: 15, + lineHeight: 22, + textAlign:'center', + color: "#5E6A79", + }, + + + }); + \ No newline at end of file diff --git a/pages/Details.js b/pages/Details.js new file mode 100644 index 0000000000000000000000000000000000000000..a2f79c11e1ec405186aada7e6ef407bb89b9017e --- /dev/null +++ b/pages/Details.js @@ -0,0 +1,130 @@ +import { StyleSheet, Text, View, Button, TextInput, TouchableOpacity, Alert } from 'react-native'; +import React, { useState, useEffect } from 'react'; +import {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDoc, docRef, deleteDoc} from "firebase/firestore" + + + +export default function Details({ navigation, route }){ + + const [name, onChangeName] = useState(route.params.itemDetails.name); + const [email, onChangeEmail] = useState(route.params.itemDetails.email); + const [image, onChangeImage] = useState(route.params.itemDetails.image); + + + async function update(){ + await setDoc(doc(getFirestore(), "Users", route.params.itemDetails.id), { + Name: name, + Email: email, + Image: image, + }); + + navigation.navigate({ + name: 'UserList', + merge: true, + }); + } + + + + + + const showAlert = () => + Alert.alert( + "Delete", + "Do you want to delete the User?", + [ + { + text: "Cancel", + onPress: () => navigation.navigate({name: 'UserList', merge: true,}), + style: "alertButton", + }, + { + text: "Delete", + onPress: () => deleteUser(), + style: "alertButton", + }, + ], + + ); + + + + + + + function deleteUser(){ + deleteDoc(doc(getFirestore(), "Users", route.params.itemDetails.id)); + + navigation.navigate({ + name: 'UserList', + merge: true, + }); + } + + + + + + + + + return( + <View style={styles.container}> + <TextInput style={styles.input} onChangeText={onChangeName} value={name} multiline = {true} /> + <TextInput style={styles.input} onChangeText={onChangeEmail} value={email} multiline = {true} /> + <TextInput style={styles.input} onChangeText={onChangeImage} value={image} multiline = {true} /> + + <TouchableOpacity style={styles.button} onPress={update}> + <Text style={styles.buttonText}> + Update + </Text> + </TouchableOpacity> + + <TouchableOpacity style={styles.button} onPress={showAlert}> + <Text style={styles.buttonText}> + Delete + </Text> + </TouchableOpacity> + </View> + ) + } + + + +const styles = StyleSheet.create({ + container:{ + marginLeft:10, + }, + + input:{ + borderBottomColor:'#CFCDCD', + borderBottomWidth:1, + width: 220, + marginTop: 20, + }, + + button:{ + marginTop:35, + width: 85, + height: 35, + backgroundColor: 'rgba(129, 158, 172, 0.5)', + borderRadius: 12, + justifyContent: 'center', + + }, + + buttonText:{ + height: 28, + fontStyle: "normal", + fontWeight: "bold", + fontSize: 15, + lineHeight: 22, + textAlign:'center', + color: "#5E6A79", + }, + + alertButton:{ + color:'#819EAC', + } + + }); \ No newline at end of file diff --git a/pages/UserList.js b/pages/UserList.js new file mode 100644 index 0000000000000000000000000000000000000000..85af82199689a42647d863e662de97cb1a049d1f --- /dev/null +++ b/pages/UserList.js @@ -0,0 +1,185 @@ +import React, { useState, useEffect } from 'react'; +import { StyleSheet, Text, View, Button, SafeAreaView, FlatList,TouchableOpacity, Alert, Image } from 'react-native'; +import {collection, doc, onSnapshot, QuerySnapshot, addDoc, Firestore, setDoc, getFirestore, getDocs, docRef} from "firebase/firestore" + + + +export default function UserLists({navigation, route}){ + + const [User, setUsers] = useState(null); + + + + useEffect(()=>{ + + setUsers(null); + const colRef = collection(getFirestore(),"Users"); + let user= []; + + + onSnapshot(colRef, (querySnapshot) => { + querySnapshot.forEach((doc)=>{ + + const userData = {name: doc.data().Name, email: doc.data().Email, image: doc.data().Image, id: doc.id}; + user.push(userData); + setUsers(user); + + }); + }); + + },[]) + + + + + + const Item = ({ item, onPress, backgroundColor, textColor }) => ( + <View> + <TouchableOpacity onPress={onPress} style={[styles.item, backgroundColor]}> + + <Image style={styles.tinyLogo} source={{uri: item.image,}}/> + <Text style={styles.userName}> + {item.name} + </Text> + + </TouchableOpacity> + </View> + ); + + + + + + const [selectedId, setSelectedId] = useState(null); + + const renderItem = ({ item }) => { + const backgroundColor = item.id === selectedId ? '#6e3b6e' : '#f9c2ff'; + const color = item.id === selectedId ? 'white' : 'black'; + + return ( + <Item + item={item} + onPress={() => OpenDetails(item)} + textColor={{ color }} + /> + ); + }; + + + + + + const OpenDetails = (item) =>{ + setSelectedId(item.id) + navigation.navigate('Details',{itemDetails:item}) + } + + + + + + const EmptyListMessage = () => { + if(User == null ){ + Alert.alert("No Data!"); + } + + return ( + <View> + <Text> + No Data Found + </Text> + </View> + ); + }; + + + + + + + + return ( + <SafeAreaView style={styles.container}> + + <TouchableOpacity onPress={()=> {navigation.navigate('CreateNewUser')}} style={styles.button}> + <Text style={styles.buttonText}> + Create new User + </Text> + </TouchableOpacity> + + <FlatList + data={User} + renderItem={renderItem} + keyExtractor={(item, index) => item + index} + extraData={selectedId} + ListEmptyComponent={EmptyListMessage} + /> + </SafeAreaView> + ); + + +} + + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#fff', + alignItems: 'center', + justifyContent: 'center', + marginHorizontal: 16, + }, + + tinyLogo: { + width: 50, + height: 50, + borderRadius: 50 / 2, + overflow: "hidden", + borderWidth: 3, + borderColor: "#D9D9D9" + }, + + item: { + width: 250, + paddingTop: 20, + paddingBottom: 20, + paddingRight: 20, + marginVertical: 8, + marginHorizontal: 25, + borderBottomColor: '#D9D9D9', + borderBottomWidth: 2, + flexDirection: "row", + }, + + userName: { + marginLeft:10, + marginTop:10, + width: 180, + fontStyle: "normal", + fontWeight: "bold", + fontSize: 16, + lineHeight: 23, + color: "#5E6A79", + }, + + button:{ + marginTop:25, + marginBottom: 20, + height: 35, + backgroundColor: 'rgba(129, 158, 172, 0.5)', + borderRadius: 12, + justifyContent: 'center', + }, + + buttonText:{ + height: 28, + margin:10, + fontStyle: "normal", + fontWeight: "bold", + fontSize: 15, + lineHeight: 22, + textAlign:'center', + color: "#5E6A79", + }, + +}); \ No newline at end of file