This Flutter project is a chat application inspired by WhatsApp. The app features a familiar interface with a functional chat page, a Local Auth Screen, and user registration using email/password or Google Account.
![drawing](https://private-user-images.githubusercontent.com/75115429/311638731-7c602d05-8f31-4d3c-8d68-c565cedbb167.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMTE2Mzg3MzEtN2M2MDJkMDUtOGYzMS00ZDNjLThkNjgtYzU2NWNlZGJiMTY3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTJkNjlhODk5OWIyMzkwNjAyOGYwODkxZjY4Yjk1YzBkOWU4NzhiZTYwZDc3MDgxMTczYzk5OTUzODI5MjZlYjQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.7kAauwSU7pVp7xfw7tul6rx8YkjWUROlh0V0Zhs8j9g)
![drawing](https://private-user-images.githubusercontent.com/75115429/311638799-05f671fa-1307-4998-ab9a-0f4c073aae74.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMTE2Mzg3OTktMDVmNjcxZmEtMTMwNy00OTk4LWFiOWEtMGY0YzA3M2FhZTc0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWI4OWRlNWFlYjM5ZDI0NzM5ZjcxYmY0Y2VlOWI0YWQzOGE2MmRmZWFhMTE5ZjkzOGU1MjY3ZWNmMmE4OTMyZGEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.B5NVS9d-lmBxUc_NZmcx4Oo2HBsOTKcsK0yywdgS-m4)
![drawing](https://private-user-images.githubusercontent.com/75115429/328134514-56647ac8-b9fd-41f4-9aa9-e531b6b6607c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMjgxMzQ1MTQtNTY2NDdhYzgtYjlmZC00MWY0LTlhYTktZTUzMWI2YjY2MDdjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWM1YWQ5ZjA0YjMxMWI5ZmFlMTFmMTYwMjA0OGM5ZjQ1ZWY2MWYzYzg1ODdhZjY1MDlmMjNiNWJlY2FlZmU1MjYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.bdmeU1Wa-TFQH23yrbTwQf9msF1i3UN9XvtS3_J1Rxs)
![drawing](https://private-user-images.githubusercontent.com/75115429/328135653-6a7407df-504c-41f2-94f2-5668a14e685b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMjgxMzU2NTMtNmE3NDA3ZGYtNTA0Yy00MWYyLTk0ZjItNTY2OGExNGU2ODViLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWJhMTI0ZmZjNWE3M2M0ZGVjNGQyNTBjZjA0ZjdlNTg5ZGI0YTc3ZmIzMmFiOWRmMTc1NDMyYjcxNDkwOGU2NjgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.rsabo3kQFE5FkCroJE9Oduf94JKcRxgUIvxnw6pKBjs)
![drawing](https://private-user-images.githubusercontent.com/75115429/311364914-1cc7b06d-f7b2-4ea8-8895-faa002588433.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMTEzNjQ5MTQtMWNjN2IwNmQtZjdiMi00ZWE4LTg4OTUtZmFhMDAyNTg4NDMzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWFlYTg1NzY0ZDg4ZTBmZjU0ZjYwYTQwNTg3NWQ4ZGI4OTA5YjI1ZWM1OGZhYzg2ZjQ3YTg4YjVkN2YzNjc0MmImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.qjtbC7BCavmjut-S8D1bzKRp6f8wDJdikG7UzssDnzQ)
![drawing](https://private-user-images.githubusercontent.com/75115429/311365053-6898582c-fe9f-4168-acd1-55e15219fdfb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMTEzNjUwNTMtNjg5ODU4MmMtZmU5Zi00MTY4LWFjZDEtNTVlMTUyMTlmZGZiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTEzOGNmYzQzOGM2NTA2ODZjMjExM2Y3NDI0ZjFjY2I3MmYzMzgyMTJiYjljNjY0MjVlMTE1NmU5ZDRkMTFlZjQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.sPlzUOTv5pdGgPhWB3J6q3Craha5jcO2F9CRtXXYeKI)
![drawing](https://private-user-images.githubusercontent.com/75115429/311365108-e12a3e09-384f-4ae7-af0d-159c87be9ec9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMTEzNjUxMDgtZTEyYTNlMDktMzg0Zi00YWU3LWFmMGQtMTU5Yzg3YmU5ZWM5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWNmZWNhYzMwNTQyNzE2MGE3ZDk4ZWEzM2I4MWQyOTZkNzNjYzA0YzEzNjc3OTJlNDVlZWIxYWQ3M2YwMzU1YWMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.67z8E6bMqNdjT6dsdZcUPXi88iLEAjQFY2X6juKABfQ)
![drawing](https://private-user-images.githubusercontent.com/75115429/311365196-9e1f9c54-a438-4e4e-a3a8-c7f84a63466a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMTEzNjUxOTYtOWUxZjljNTQtYTQzOC00ZTRlLWEzYTgtYzdmODRhNjM0NjZhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTE4MDI0YWNjODQ4MWJlOGJjMWM5ZmY0N2VmN2Q4MmVlMTY0NmM2MGM4OTM3ZDE1ZDU2MDc3ZTdiNjI2NTA1MzUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.F1cbXFU3-5b14Dds1N7eXjI4voPGmN3Js4L6FSO1Bkk)
![drawing](https://private-user-images.githubusercontent.com/75115429/328136075-e9154925-34bb-4aa7-86a2-0031c540d444.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMjgxMzYwNzUtZTkxNTQ5MjUtMzRiYi00YWE3LTg2YTItMDAzMWM1NDBkNDQ0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTU0ZTNkNTc2Y2U1NGJmNjcwZTU0NGU2MjI3M2U5OTdjYmMxZTZlNjBiYTIyNmYxN2VkNDIyOWM0MzIwMjY4YjEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.O6nNGwXpBfoou_iyKfTSyb1HdqusBUbO7iTee1o5D38)
![drawing](https://private-user-images.githubusercontent.com/75115429/311365612-c950c7dc-f50c-4c9c-975e-f7e6abd60ba6.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMTEzNjU2MTItYzk1MGM3ZGMtZjUwYy00YzljLTk3NWUtZjdlNmFiZDYwYmE2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNmYjEwYjQ3YzFlMDJiMjJiYmU5NGNiY2I4MzNmYzQxODdmYzZkZWE5NzIxZDIwYzQxZjlmMDRjNzc4MWYzOTMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.qFaHs_w1Nwk1tNXhkHJi8qpNeXecTpvCInOnEXqevwk)
![drawing](https://private-user-images.githubusercontent.com/75115429/311365664-472d4063-88a9-488d-9a77-96bb16e5432d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMTEzNjU2NjQtNDcyZDQwNjMtODhhOS00ODhkLTlhNzctOTZiYjE2ZTU0MzJkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWNjNmUwNmZhNzQ0ZjZlYzJiMDgzNDZiMzFkMTBhN2I1YzQwOTc3ZmVhYzI0NzJjNmYyZWE1ZTcxY2I2MjFhNzAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.35MUsgxbXBj5N9SbU1N7ud8bIT-fRZLhvmheQLNOzxE)
![drawing](https://private-user-images.githubusercontent.com/75115429/328136375-817baebb-6dcc-4acb-a121-2b40bc279acb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMjgxMzYzNzUtODE3YmFlYmItNmRjYy00YWNiLWExMjEtMmI0MGJjMjc5YWNiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTYxMWFmODI2NTkxM2ZiZmU4YTViMWYwNGI1YjRlYzgzNDg1M2YzMzI5ZjA1ZjE5OWZlNDUyYzhmMjFkZThmYzcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.OyoLgKZIQU7cbf3DoS8rpk9l_lmqCi8j81aFj9s3Fl0)
![drawing](https://private-user-images.githubusercontent.com/75115429/311366392-f611aabb-3a7a-40d3-9913-34d82c49ff14.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMTEzNjYzOTItZjYxMWFhYmItM2E3YS00MGQzLTk5MTMtMzRkODJjNDlmZjE0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWY0ODM4MWYyOTI2ZTkwZTc3NWI0YjhlNGNlZTA1N2ViYjcwOWMzNmJiNzdlMjcxZWE2MjhjYmVkNzk1MTQwNDYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.wUa-FRZ0G30DKdkybdPuCU0gxkWfBLY1EBNQV2LpcCc)
![drawing](https://private-user-images.githubusercontent.com/75115429/311366479-cad93a1c-538f-4e31-b19b-a6ba890ee6e6.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMTEzNjY0NzktY2FkOTNhMWMtNTM4Zi00ZTMxLWIxOWItYTZiYTg5MGVlNmU2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPThlZWQ0MmQ4OTJkZWE5NWY3Y2NmNjg1Njg4OTM2ZjdmYzEzZjA4YmI4MGY0NTNkNGM4ZGFlZmI4MzE4MDgyYjMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.kf8sJ6mM263UPlysxvqihk4jMRv12zeTJzNhNL-Q9m8)
![drawing](https://private-user-images.githubusercontent.com/75115429/311366550-9bd02d42-86a9-4195-a9b1-7aeaaed92f2e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMTEzNjY1NTAtOWJkMDJkNDItODZhOS00MTk1LWE5YjEtN2FlYWFlZDkyZjJlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTE5NzVjODY1ZDZmMjE3OTA3YzUwZTU4MmE1M2Q4MDI1ZTMwZDIzOTY1ZTdjYzIzODdjM2VmNDJkMWFmMmQyNzAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.alwms12Ft0lRooqb1uZmfLDqll8a0csla3U6b37wf30)
![drawing](https://private-user-images.githubusercontent.com/75115429/328136671-066c809b-f7a1-4a02-94b5-48aa9b06f6fc.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMjgxMzY2NzEtMDY2YzgwOWItZjdhMS00YTAyLTk0YjUtNDhhYTliMDZmNmZjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNmOWZhNTI2YzE2ZTlmNjk0NmI4MTYzNWFkZmJhMTA3ZDFjN2MyOGI5OTIyZWFjNDliM2M0YmQyZGI4MmJjMGMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.HEItQY2gdHd8o2rEryS-kAHkjEcWoFK6rTAGo7Et42I)
![drawing](https://private-user-images.githubusercontent.com/75115429/311366899-e112a7fe-be28-40a8-b108-8f7d0def4556.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMTEzNjY4OTktZTExMmE3ZmUtYmUyOC00MGE4LWIxMDgtOGY3ZDBkZWY0NTU2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTJiYmU2MmRlMGY3MGRmZjIyNzk3MzRhZTllN2I4OGVhODEyOTlmMDE2MjQ1ZjQ0NTQ1MDcwZDk3ZGY4ZTZkYzMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.wrtcrZ7JUat8rx9nvQXYRwfyDW0Wve0BbD9cBheN5jc)
![drawing](https://private-user-images.githubusercontent.com/75115429/311367016-7d3ff005-98f6-483c-9c5f-b476eda97c18.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMTEzNjcwMTYtN2QzZmYwMDUtOThmNi00ODNjLTljNWYtYjQ3NmVkYTk3YzE4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWFiYjA5YmJlZmVmMmUwOThiZTZlODI0NTZhMWE3NmE5NjU0NjliYzk0ZDQ5ZmNkODAxYjIxMThjZDQzN2JmNjEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.7P_zj0DMEJY2NysdRkcAT0tvw2FIj8LPsz1MQeJCm8k)
![drawing](https://private-user-images.githubusercontent.com/75115429/328137397-728643a7-dae5-4afd-843f-cc52c782cc1b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMjgxMzczOTctNzI4NjQzYTctZGFlNS00YWZkLTg0M2YtY2M1MmM3ODJjYzFiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWYxZTFiYjZlZWYwZDYwMmFjNjU1MjFkMGQwMjk5MjA3NTQ0NWZkNDk5N2JjNzVkNmQ1N2MxOGZhZjlmMGU3ODgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.SRGDnk3aAOqIFoskS5ysezqPE1EJ8sZdywyO_uNTCV4)
![drawing](https://private-user-images.githubusercontent.com/75115429/328137315-fca11d40-e36e-467b-aeb3-fd7c71d2d3d4.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMjgxMzczMTUtZmNhMTFkNDAtZTM2ZS00NjdiLWFlYjMtZmQ3YzcxZDJkM2Q0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBmY2FiYmYyZTViYTZjNTgwOGM5Mzc5NWMzZjViOTQwN2M5ODRhNTBjMTZmZDgzYmUyOTgyM2FhZTFhMTY0YzAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.4oigB8q9RnKtdukp_G4CJmzoLc5dN38E2UgpWV07iAA)
![drawing](https://private-user-images.githubusercontent.com/75115429/328137167-c7730983-4dbf-4f5a-82bf-3d7ebd420958.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMjgxMzcxNjctYzc3MzA5ODMtNGRiZi00ZjVhLTgyYmYtM2Q3ZWJkNDIwOTU4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQxN2JjZWUwODVlNTZiZjg3ODM5NTU4MGVmOGMxMjkzOGY0MWI3NmE3N2JmODljOGVhNDZhYzMyMzIzZDY1OTcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.oboRoRtN9M1rVRl6OZfxMel-w5RpxuRgPp1ocVxJ7KQ)
![drawing](https://private-user-images.githubusercontent.com/75115429/328137970-0903c423-ae48-4e4f-b824-35e66b95859a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMjgxMzc5NzAtMDkwM2M0MjMtYWU0OC00ZTRmLWI4MjQtMzVlNjZiOTU4NTlhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWU0N2ExODZmYTIyMDY0MDgzMWU0YmUzZjZhMDI4MGJhM2M0MmZkOTNiYTc1MzVhMTljZjBjYTQ3M2QyNTZiMTImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.PauGbGfGSSoJHsPh1W0SxHLkv3jtNnPaDV__RKL1rT8)
![drawing](https://private-user-images.githubusercontent.com/75115429/328138093-961764ab-aa39-4358-9c49-46642c61a25b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMjgxMzgwOTMtOTYxNzY0YWItYWEzOS00MzU4LTljNDktNDY2NDJjNjFhMjViLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTVjYjE1ODVjYTg4ZTdlOWFjY2JmYjI0MjM1NTJhODZjZWIzMTRkNWY0Y2Y2NDhhYWQxYzdiNjFhYzY4MmU2MmEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.QYxxVj52Wj63Z5u9TmzOEe03VKJivVdrWaniX2mOXj4)
![drawing](https://private-user-images.githubusercontent.com/75115429/328138201-5c4007b0-e594-468c-94e8-2fb7d46aacb4.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMjgxMzgyMDEtNWM0MDA3YjAtZTU5NC00NjhjLTk0ZTgtMmZiN2Q0NmFhY2I0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWI3ZDNhZTg4OWJmNzkzODU3NmM5ODU4YTY2NzM2MzgxMzQ0MTA1NzdiNzk3MmJhMTM0MWY2ZjJkNWJmMjc0YWMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.VEJb7ueZVf97cDhfp0g9_YxyJ588j83Q7cDI2V59qEw)
![drawing](https://private-user-images.githubusercontent.com/75115429/362106703-7f9ddae1-be41-4bcb-ac6a-c911de9606b4.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zNjIxMDY3MDMtN2Y5ZGRhZTEtYmU0MS00YmNiLWFjNmEtYzkxMWRlOTYwNmI0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg4NjkxYTVmYzAxMDhjNDIwMGRkOTk1OGUwYTMwOGIwZDcyNzRlNGY5ZGIwMmVhMWQyOWUxNjE2MzY0ZjA5YWEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.gOBYbKgWcxDzOmb_s4tTJKs7RMVF3Isp_UuA0srM56M)
![drawing](https://private-user-images.githubusercontent.com/75115429/328138755-05581d7d-1543-47df-a42b-9c076effdc6f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMjgxMzg3NTUtMDU1ODFkN2QtMTU0My00N2RmLWE0MmItOWMwNzZlZmZkYzZmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWM5YzRhOGZkMjNiNzFhMTQzZGFmMjI4NDkyNzdjNDg2YjViOTE0ODczNWM2MjdjOWNmM2JhNDQzYzFmZjI5ZmUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.QI9ZMyknSI0yjkj2O53ZKwUy0kOoVzHW8Zk8TgLbwis)
![drawing](https://private-user-images.githubusercontent.com/75115429/328138876-3d138ba2-cd1f-4cb4-bb4c-afc56cc72387.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMjgxMzg4NzYtM2QxMzhiYTItY2QxZi00Y2I0LWJiNGMtYWZjNTZjYzcyMzg3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg1Zjk1YTQzY2U5ZTM1NThjNjVjYTk2ZjczZWQzMmYxYWQ5YmYwZTY0NmFiZjk1ZmFhNGEzMmJjZmVhNjdjYmMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.5GkemHMIpvH1UMw5jBZ4l6LXrXzd9O1VS0ZS-J_W18Y)
![drawing](https://private-user-images.githubusercontent.com/75115429/362107037-d1c66959-dff9-4e2d-8d97-02a624ebc0b0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zNjIxMDcwMzctZDFjNjY5NTktZGZmOS00ZTJkLThkOTctMDJhNjI0ZWJjMGIwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWViNTkwNjVmOWEzZGRmYzVkZjg2NjlhMGJmYzJmZDczYTNiYzEzNGEwNDY2MzZhNDA4YThjNzZiNGE3NjBiMTAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.RMyAUcaSQvHF9eTWAQLzcwaWxoedU2Q7D3fMDKkZKy8)
![drawing](https://private-user-images.githubusercontent.com/75115429/362107271-5eb836bf-d392-4157-8d71-7b4caf2667c7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zNjIxMDcyNzEtNWViODM2YmYtZDM5Mi00MTU3LThkNzEtN2I0Y2FmMjY2N2M3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTMwNTdjMWUyYjM3MGRiNTgxY2U2YTJjMmI4M2VlM2FlN2ViYzQ5M2YxNGM0ZmVjMTRmYWMyMTdkZDg3YmFhOTAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.epaQLK8n6KwEcxcYKxAV8vqvLbCAHEVvT5abK6nwD4M)
![drawing](https://private-user-images.githubusercontent.com/75115429/328139100-c5917daa-66dc-4ccf-9d04-67384061609d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMjgxMzkxMDAtYzU5MTdkYWEtNjZkYy00Y2NmLTlkMDQtNjczODQwNjE2MDlkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWY2N2RiYmFjMjIyMTQyNTYxMTViYjQ5NzA0M2E2MTVjYzc2M2ZmY2E4OTJlNzE2MTVkMjNjMjVkNmIyODEwNDImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.g1J4a9j-rM2lIHDj_sisSjU6MDKStujzYFSABkXBlJc)
![drawing](https://private-user-images.githubusercontent.com/75115429/328139699-bcce51d3-1d24-4819-977d-33a939f32dfc.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMjgxMzk2OTktYmNjZTUxZDMtMWQyNC00ODE5LTk3N2QtMzNhOTM5ZjMyZGZjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc4ZTFjNTdlMjhjZDRkZTk4MGIzOTI3MDliY2EzMmI4YmRlOTlkZjM0Mjk1NTc5MjNmODE3MjE4NTY1ZmNjZTEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.BoTFKnqjKHI0FGukOySPce8cR0RQMa2RRts_PfzXTn8)
![drawing](https://private-user-images.githubusercontent.com/75115429/328139800-1b4345a9-0057-42af-b4de-59b2d3b6ef67.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMjgxMzk4MDAtMWI0MzQ1YTktMDA1Ny00MmFmLWI0ZGUtNTliMmQzYjZlZjY3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWVkMjc4ZmRhMThhZDJjMzMyZDZkMDBkOTEwNzg1MzJlYjU2OTllNmQ4MTI4NmIwYTExZmE3ZGM5N2U0ZjhmYzImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Du2jO54utW3-EtMpivyyHM5uSGzSTrkjdNETH3y5sEc)
![drawing](https://private-user-images.githubusercontent.com/75115429/328155786-029149ef-bfd5-48ae-8cf7-fb0fd2c8fc92.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMjgxNTU3ODYtMDI5MTQ5ZWYtYmZkNS00OGFlLThjZjctZmIwZmQyYzhmYzkyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTYyOTI4MzA3ZWNlNjNjZWI1NTFmYjRmYzlmYjVkNTJhZjhiYWM5NTk3YTAyODU4YTY0YTA2NWZiOWQxNDhlMGImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.T8-UVGDbWtfnoGD4h2mDECH29memekPbnRx1Ihpc848)
![drawing](https://private-user-images.githubusercontent.com/75115429/328140048-9e93edda-23f3-47ca-9ed8-bdab22389e0c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMjgxNDAwNDgtOWU5M2VkZGEtMjNmMy00N2NhLTllZDgtYmRhYjIyMzg5ZTBjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWEwZWQ2NTJkYmMwNTcxZjA3NDcwZTU0YmUyZmJhMWE5ZDdmNjZkNGU3NTkzM2U1ODUxMmFjNTVkZDJmMTVlODAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.RYiQiyaPhV91GdNHLU1eGKMKYpBhSI9r98EjA4B-K_s)
![drawing](https://private-user-images.githubusercontent.com/75115429/328140384-5031ade5-8105-4467-af19-09077cf56091.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMjgxNDAzODQtNTAzMWFkZTUtODEwNS00NDY3LWFmMTktMDkwNzdjZjU2MDkxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTU4NmZlMDEzNmExMWY4ODA0NWJkNjI4NDA0Yjg0ZTBlM2NlMzQyYmJmM2RkMzY2ODBkYzhiNDgzOTRhZjJhMmEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.zlfN3c3vhDAVx1Lg_PEmf-c2_7gO6YNEBikLJP1H2jQ)
![drawing](https://private-user-images.githubusercontent.com/75115429/328140407-9c160fa2-3247-472d-a0e2-709bf87fbad3.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMjgxNDA0MDctOWMxNjBmYTItMzI0Ny00NzJkLWEwZTItNzA5YmY4N2ZiYWQzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWIyMWNhZWM4ZDlmMjg4NzRjZmQ0OTA3YTEyZDA5MjhmNzY2NjU3ZjNjZWE0ZjU0MGVjMGM0YjhmNGViNmUyYWEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.GkWP5s6Hl6EIUxNKKDlBdEWD1PolbotN_UkDY-0iOa0)
![drawing](https://private-user-images.githubusercontent.com/75115429/328140422-0a3a969c-c2f7-455e-8ed7-f8b374eb05f2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMjgxNDA0MjItMGEzYTk2OWMtYzJmNy00NTVlLThlZDctZjhiMzc0ZWIwNWYyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTJhZGE2YzcxNzRiNDA5NjY5MTllYzllNWIzZTU2N2FkYWE2NWUwYTAyZDM4ZDE3YTgyZjFjNjMwNjlkN2I5N2YmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.f78D52VvRXDfjvFJo7FcgzG2uLSS969eoqyzSjbBOKg)
![drawing](https://private-user-images.githubusercontent.com/75115429/311374817-6c78984a-d83e-43c4-b1db-bb16e58b12d4.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMTEzNzQ4MTctNmM3ODk4NGEtZDgzZS00M2M0LWIxZGItYmIxNmU1OGIxMmQ0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTViNTgwYmM4Yzk1MWUwYTc5MjU4MTQzZjRiOThiMmFlNjM3MDA2OTBiMTcyMzE3NjQ3ZWM1NDI0ZTVlYzU3ZjQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.oFQZFlx-3B0kVCSUoNF08RKqOpmCVp5uBkOVWzGYTlA)
![drawing](https://private-user-images.githubusercontent.com/75115429/311640091-5089d0cd-27b4-4fce-9bfd-d4390d85a69a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4ODg3NDMsIm5iZiI6MTcyNTg4ODQ0MywicGF0aCI6Ii83NTExNTQyOS8zMTE2NDAwOTEtNTA4OWQwY2QtMjdiNC00ZmNlLTliZmQtZDQzOTBkODVhNjlhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA5VDEzMjcyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQwYzJjM2E3MWRiYzY3NWM0NGVkMmE3ZDVkYmY3NThiMTcyZTk3ZTQ2NWJlNWRjNDg0M2VkNmUwYzlkMDlmYWMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.pnJn2Wg20j122j8QzUNYDl29pp-hRirCry3kFlER7QM)
-
User Authentication:
- Email/Password registration with placeholder image.
- Google Account registration with profile image.
-
Chat Functionality:
- Display all registered users on the home page.
- Clicking on a user tile opens the chat page.
- Chat page displays saved messages from Firebase store.
- Input text field and send button for sending messages.
- Real-time updates using Firebase Cloud Firestore.
- Push notifications using Firebase Cloud Messaging.
-
Notification Handling:
- Display notifications when the app is in the foreground using
flutter_local_notifications
package. - Open the chat with the sender when the app is in the background or terminated.
- Display notifications when the app is in the foreground using
-
Security:
- App lock feature using fingerprint or face ID with
local_auth
package. - Fingerprint/face ID attempts are limited to prevent unauthorized access.
- Lock screen request after multiple unsuccessful attempts.
- App lock feature using fingerprint or face ID with
-
Settings:
- Accessible from the home page's three dots menu.
- Option to enable/disable app lock with a Cupertino switch.
- Option to Change App Language
-
Camera Integration:
- Capture high-quality photos using the device's camera.
- Save pictures on the device.
- Send photos
awesome_dialog
: Provides versatile dialogs for various use cases.cached_network_image
: Library to load and cache network images.chat_bubbles
: Simplifies chat message UI creation.cloud_firestore
: Integrates with Firebase Firestore for data storage and retrieval.dio
: HTTP client for making API requests.easy_localization
: Internationalizing and localization App.firebase_auth
: Manages user authentication with Firebase.firebase_core
: Initializes the Firebase connection.firebase_messaging
: Enables FCM for notifications.firebase_storage
: Plugin for Firebase Cloud Storage.flutter_local_notifications
: Presents local notifications when the app is in the foreground.flutter_native_splash
: Customize the App's default white native splash screen with background color and splash image.flutter_offline
: Handles offline connectivity scenarios.flutter_screenutil
: Adapts UI elements to different screen sizes.flutter_speed_dial
: Plugin to implement a beautiful and dynamic Material Design Speed Dial with labels.flutter_svg
: An SVG rendering and widget library.gap
: Simplifies spacing management in layouts.flutter_link_previewer
: Customizable link and URL preview extracted from the provided text with the ability to render from the cache.gallery_saver
: Saves images and videos from network or temporary file to external storage. Both images and videos will be visible in Android Gallery and iOS Photos.restart_app
: A Flutter plugin that helps you to restart the whole Flutter app with a single function call by using native APIs.path_provider
: Flutter plugin for getting commonly used locations on host platform file systems, such as the temp and app data directories.google_sign_in
: Facilitates Google Sign-In authentication.googleapis_auth
: Obtain Access credentials for Google services using OAuth 2.0.image_picker
: Plugin for selecting images from the image library, and taking new pictures with the camera.intl
: Internationalization and localization support.local_auth
: Enables fingerprint and Face ID authentication.logger
: Assists with logging messages for debugging.shared_preferences
: Stores simple data locally on the device.pretty_dio_logger
: A Dio interceptor that logs network calls in a pretty, easy-to-read format.modal_bottom_sheet
: Create awesome and powerful modal bottom sheets.lottie
: Render After Effects animations natively on Flutter.package_info_plus
: Querying information about the application package.pub_semver
: in this App to compare versions.url_launcher
: Plugin for launching a URL.
- Clone the repository:
git clone https://github.com/MoazSayed7/Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like.git
- Navigate to the project directory:
cd Flutter-Chat-App-Firebase-Authentication-Messaging-WhatsApp-Like
- Install dependencies:
flutter pub get
-
Configure Firebase:
- Create a Firebase project at https://console.firebase.google.com/.
- Enable the required Firebase services for your app, including Firestore, Authentication, and Cloud Messaging.
-
Set up Firebase for your project by following the Using Firebase CLI.
- Update the app's launcher icon:
dart run flutter_launcher_icons
- Update the app's splash screen:
dart run flutter_native_splash:create --path=flutter_native_splash.yaml
- Run the app:
flutter run