From 7769802235dbe16d1d2304ec30e39502e2793f94 Mon Sep 17 00:00:00 2001 From: Dilip0552 Date: Sat, 28 Sep 2024 20:36:38 +0530 Subject: [PATCH 01/16] Files Added --- AI Maniacs Project Submission/AI_AID.HTML | 48 ++ AI Maniacs Project Submission/AI_Aid.ipynb | 301 ++++++++ ...loper_Studio_Logo__1_-removebg-preview.png | Bin 0 -> 38660 bytes AI Maniacs Project Submission/C.jpg | Bin 0 -> 10762 bytes .../Generate_Notes.ipynb | 642 +++++++++++++++++ .../Gradio_is_Generating_Questions.ipynb | 660 ++++++++++++++++++ AI Maniacs Project Submission/HTML.png | Bin 0 -> 9262 bytes AI Maniacs Project Submission/Kotlin.png | Bin 0 -> 133482 bytes AI Maniacs Project Submission/README.md | 24 + AI Maniacs Project Submission/SQL.jpeg | Bin 0 -> 5292 bytes AI Maniacs Project Submission/about-us.html | 133 ++++ AI Maniacs Project Submission/c-.png | Bin 0 -> 23890 bytes AI Maniacs Project Submission/contact.html | 187 +++++ AI Maniacs Project Submission/features.html | 182 +++++ .../generate_notes.html | 48 ++ .../generate_questions.html | 48 ++ .../get_started.html | 174 +++++ AI Maniacs Project Submission/index.html | 364 ++++++++++ AI Maniacs Project Submission/java-script.png | Bin 0 -> 13204 bytes AI Maniacs Project Submission/java.png | Bin 0 -> 34463 bytes AI Maniacs Project Submission/languages.html | 170 +++++ .../progress_bar.html | 14 + .../python-logo-only.png | Bin 0 -> 20637 bytes AI Maniacs Project Submission/take_test.html | 485 +++++++++++++ 24 files changed, 3480 insertions(+) create mode 100644 AI Maniacs Project Submission/AI_AID.HTML create mode 100644 AI Maniacs Project Submission/AI_Aid.ipynb create mode 100644 AI Maniacs Project Submission/Blue_and_Pink_Minimalist_Video_Game_Developer_Studio_Logo__1_-removebg-preview.png create mode 100644 AI Maniacs Project Submission/C.jpg create mode 100644 AI Maniacs Project Submission/Generate_Notes.ipynb create mode 100644 AI Maniacs Project Submission/Gradio_is_Generating_Questions.ipynb create mode 100644 AI Maniacs Project Submission/HTML.png create mode 100644 AI Maniacs Project Submission/Kotlin.png create mode 100644 AI Maniacs Project Submission/README.md create mode 100644 AI Maniacs Project Submission/SQL.jpeg create mode 100644 AI Maniacs Project Submission/about-us.html create mode 100644 AI Maniacs Project Submission/c-.png create mode 100644 AI Maniacs Project Submission/contact.html create mode 100644 AI Maniacs Project Submission/features.html create mode 100644 AI Maniacs Project Submission/generate_notes.html create mode 100644 AI Maniacs Project Submission/generate_questions.html create mode 100644 AI Maniacs Project Submission/get_started.html create mode 100644 AI Maniacs Project Submission/index.html create mode 100644 AI Maniacs Project Submission/java-script.png create mode 100644 AI Maniacs Project Submission/java.png create mode 100644 AI Maniacs Project Submission/languages.html create mode 100644 AI Maniacs Project Submission/progress_bar.html create mode 100644 AI Maniacs Project Submission/python-logo-only.png create mode 100644 AI Maniacs Project Submission/take_test.html diff --git a/AI Maniacs Project Submission/AI_AID.HTML b/AI Maniacs Project Submission/AI_AID.HTML new file mode 100644 index 0000000..ed2e2da --- /dev/null +++ b/AI Maniacs Project Submission/AI_AID.HTML @@ -0,0 +1,48 @@ + + + + + + AI Aid + + + +

AI Aid

+ + + + diff --git a/AI Maniacs Project Submission/AI_Aid.ipynb b/AI Maniacs Project Submission/AI_Aid.ipynb new file mode 100644 index 0000000..4ac1642 --- /dev/null +++ b/AI Maniacs Project Submission/AI_Aid.ipynb @@ -0,0 +1,301 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "paFgtKg-BqsR", + "outputId": "fa0e51d7-a08d-48cd-efcc-111a28c7ec61" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Collecting groq\n", + " Downloading groq-0.11.0-py3-none-any.whl.metadata (13 kB)\n", + "Requirement already satisfied: anyio<5,>=3.5.0 in /usr/local/lib/python3.10/dist-packages (from groq) (3.7.1)\n", + "Requirement already satisfied: distro<2,>=1.7.0 in /usr/lib/python3/dist-packages (from groq) (1.7.0)\n", + "Collecting httpx<1,>=0.23.0 (from groq)\n", + " Downloading httpx-0.27.2-py3-none-any.whl.metadata (7.1 kB)\n", + "Requirement already satisfied: pydantic<3,>=1.9.0 in /usr/local/lib/python3.10/dist-packages (from groq) (2.9.2)\n", + "Requirement already satisfied: sniffio in /usr/local/lib/python3.10/dist-packages (from groq) (1.3.1)\n", + "Requirement already satisfied: typing-extensions<5,>=4.7 in /usr/local/lib/python3.10/dist-packages (from groq) (4.12.2)\n", + "Requirement already satisfied: idna>=2.8 in /usr/local/lib/python3.10/dist-packages (from anyio<5,>=3.5.0->groq) (3.10)\n", + "Requirement already satisfied: exceptiongroup in /usr/local/lib/python3.10/dist-packages (from anyio<5,>=3.5.0->groq) (1.2.2)\n", + "Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from httpx<1,>=0.23.0->groq) (2024.8.30)\n", + "Collecting httpcore==1.* (from httpx<1,>=0.23.0->groq)\n", + " Downloading httpcore-1.0.5-py3-none-any.whl.metadata (20 kB)\n", + "Collecting h11<0.15,>=0.13 (from httpcore==1.*->httpx<1,>=0.23.0->groq)\n", + " Downloading h11-0.14.0-py3-none-any.whl.metadata (8.2 kB)\n", + "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from pydantic<3,>=1.9.0->groq) (0.7.0)\n", + "Requirement already satisfied: pydantic-core==2.23.4 in /usr/local/lib/python3.10/dist-packages (from pydantic<3,>=1.9.0->groq) (2.23.4)\n", + "Downloading groq-0.11.0-py3-none-any.whl (106 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m106.5/106.5 kB\u001b[0m \u001b[31m4.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading httpx-0.27.2-py3-none-any.whl (76 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m76.4/76.4 kB\u001b[0m \u001b[31m3.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading httpcore-1.0.5-py3-none-any.whl (77 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m77.9/77.9 kB\u001b[0m \u001b[31m3.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading h11-0.14.0-py3-none-any.whl (58 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m58.3/58.3 kB\u001b[0m \u001b[31m2.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: h11, httpcore, httpx, groq\n", + "Successfully installed groq-0.11.0 h11-0.14.0 httpcore-1.0.5 httpx-0.27.2\n", + "Collecting gradio\n", + " Downloading gradio-4.44.0-py3-none-any.whl.metadata (15 kB)\n", + "Collecting aiofiles<24.0,>=22.0 (from gradio)\n", + " Downloading aiofiles-23.2.1-py3-none-any.whl.metadata (9.7 kB)\n", + "Requirement already satisfied: anyio<5.0,>=3.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (3.7.1)\n", + "Collecting fastapi<1.0 (from gradio)\n", + " Downloading fastapi-0.115.0-py3-none-any.whl.metadata (27 kB)\n", + "Collecting ffmpy (from gradio)\n", + " Downloading ffmpy-0.4.0-py3-none-any.whl.metadata (2.9 kB)\n", + "Collecting gradio-client==1.3.0 (from gradio)\n", + " Downloading gradio_client-1.3.0-py3-none-any.whl.metadata (7.1 kB)\n", + "Requirement already satisfied: httpx>=0.24.1 in /usr/local/lib/python3.10/dist-packages (from gradio) (0.27.2)\n", + "Requirement already satisfied: huggingface-hub>=0.19.3 in /usr/local/lib/python3.10/dist-packages (from gradio) (0.24.7)\n", + "Requirement already satisfied: importlib-resources<7.0,>=1.3 in /usr/local/lib/python3.10/dist-packages (from gradio) (6.4.5)\n", + "Requirement already satisfied: jinja2<4.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (3.1.4)\n", + "Requirement already satisfied: markupsafe~=2.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (2.1.5)\n", + "Requirement already satisfied: matplotlib~=3.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (3.7.1)\n", + "Requirement already satisfied: numpy<3.0,>=1.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (1.26.4)\n", + "Collecting orjson~=3.0 (from gradio)\n", + " Downloading orjson-3.10.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (50 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m50.4/50.4 kB\u001b[0m \u001b[31m138.2 kB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from gradio) (24.1)\n", + "Requirement already satisfied: pandas<3.0,>=1.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (2.1.4)\n", + "Requirement already satisfied: pillow<11.0,>=8.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (10.4.0)\n", + "Requirement already satisfied: pydantic>=2.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (2.9.2)\n", + "Collecting pydub (from gradio)\n", + " Downloading pydub-0.25.1-py2.py3-none-any.whl.metadata (1.4 kB)\n", + "Collecting python-multipart>=0.0.9 (from gradio)\n", + " Downloading python_multipart-0.0.11-py3-none-any.whl.metadata (1.9 kB)\n", + "Requirement already satisfied: pyyaml<7.0,>=5.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (6.0.2)\n", + "Collecting ruff>=0.2.2 (from gradio)\n", + " Downloading ruff-0.6.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (25 kB)\n", + "Collecting semantic-version~=2.0 (from gradio)\n", + " Downloading semantic_version-2.10.0-py2.py3-none-any.whl.metadata (9.7 kB)\n", + "Collecting tomlkit==0.12.0 (from gradio)\n", + " Downloading tomlkit-0.12.0-py3-none-any.whl.metadata (2.7 kB)\n", + "Requirement already satisfied: typer<1.0,>=0.12 in /usr/local/lib/python3.10/dist-packages (from gradio) (0.12.5)\n", + "Requirement already satisfied: typing-extensions~=4.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (4.12.2)\n", + "Requirement already satisfied: urllib3~=2.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (2.2.3)\n", + "Collecting uvicorn>=0.14.0 (from gradio)\n", + " Downloading uvicorn-0.31.0-py3-none-any.whl.metadata (6.6 kB)\n", + "Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from gradio-client==1.3.0->gradio) (2024.6.1)\n", + "Collecting websockets<13.0,>=10.0 (from gradio-client==1.3.0->gradio)\n", + " Downloading websockets-12.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.6 kB)\n", + "Requirement already satisfied: idna>=2.8 in /usr/local/lib/python3.10/dist-packages (from anyio<5.0,>=3.0->gradio) (3.10)\n", + "Requirement already satisfied: sniffio>=1.1 in /usr/local/lib/python3.10/dist-packages (from anyio<5.0,>=3.0->gradio) (1.3.1)\n", + "Requirement already satisfied: exceptiongroup in /usr/local/lib/python3.10/dist-packages (from anyio<5.0,>=3.0->gradio) (1.2.2)\n", + "Collecting starlette<0.39.0,>=0.37.2 (from fastapi<1.0->gradio)\n", + " Downloading starlette-0.38.6-py3-none-any.whl.metadata (6.0 kB)\n", + "Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from httpx>=0.24.1->gradio) (2024.8.30)\n", + "Requirement already satisfied: httpcore==1.* in /usr/local/lib/python3.10/dist-packages (from httpx>=0.24.1->gradio) (1.0.5)\n", + "Requirement already satisfied: h11<0.15,>=0.13 in /usr/local/lib/python3.10/dist-packages (from httpcore==1.*->httpx>=0.24.1->gradio) (0.14.0)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from huggingface-hub>=0.19.3->gradio) (3.16.1)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from huggingface-hub>=0.19.3->gradio) (2.32.3)\n", + "Requirement already satisfied: tqdm>=4.42.1 in /usr/local/lib/python3.10/dist-packages (from huggingface-hub>=0.19.3->gradio) (4.66.5)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib~=3.0->gradio) (1.3.0)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib~=3.0->gradio) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib~=3.0->gradio) (4.53.1)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib~=3.0->gradio) (1.4.7)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib~=3.0->gradio) (3.1.4)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib~=3.0->gradio) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas<3.0,>=1.0->gradio) (2024.2)\n", + "Requirement already satisfied: tzdata>=2022.1 in /usr/local/lib/python3.10/dist-packages (from pandas<3.0,>=1.0->gradio) (2024.1)\n", + "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from pydantic>=2.0->gradio) (0.7.0)\n", + "Requirement already satisfied: pydantic-core==2.23.4 in /usr/local/lib/python3.10/dist-packages (from pydantic>=2.0->gradio) (2.23.4)\n", + "Requirement already satisfied: click>=8.0.0 in /usr/local/lib/python3.10/dist-packages (from typer<1.0,>=0.12->gradio) (8.1.7)\n", + "Requirement already satisfied: shellingham>=1.3.0 in /usr/local/lib/python3.10/dist-packages (from typer<1.0,>=0.12->gradio) (1.5.4)\n", + "Requirement already satisfied: rich>=10.11.0 in /usr/local/lib/python3.10/dist-packages (from typer<1.0,>=0.12->gradio) (13.8.1)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.7->matplotlib~=3.0->gradio) (1.16.0)\n", + "Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from rich>=10.11.0->typer<1.0,>=0.12->gradio) (3.0.0)\n", + "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.10/dist-packages (from rich>=10.11.0->typer<1.0,>=0.12->gradio) (2.18.0)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->huggingface-hub>=0.19.3->gradio) (3.3.2)\n", + "Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.10/dist-packages (from markdown-it-py>=2.2.0->rich>=10.11.0->typer<1.0,>=0.12->gradio) (0.1.2)\n", + "Downloading gradio-4.44.0-py3-none-any.whl (18.1 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m18.1/18.1 MB\u001b[0m \u001b[31m1.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading gradio_client-1.3.0-py3-none-any.whl (318 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m318.7/318.7 kB\u001b[0m \u001b[31m1.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading tomlkit-0.12.0-py3-none-any.whl (37 kB)\n", + "Downloading aiofiles-23.2.1-py3-none-any.whl (15 kB)\n", + "Downloading fastapi-0.115.0-py3-none-any.whl (94 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m94.6/94.6 kB\u001b[0m \u001b[31m1.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading orjson-3.10.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (141 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m141.9/141.9 kB\u001b[0m \u001b[31m1.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading python_multipart-0.0.11-py3-none-any.whl (22 kB)\n", + "Downloading ruff-0.6.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.9 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.9/10.9 MB\u001b[0m \u001b[31m1.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading semantic_version-2.10.0-py2.py3-none-any.whl (15 kB)\n", + "Downloading uvicorn-0.31.0-py3-none-any.whl (63 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m63.7/63.7 kB\u001b[0m \u001b[31m1.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading ffmpy-0.4.0-py3-none-any.whl (5.8 kB)\n", + "Downloading pydub-0.25.1-py2.py3-none-any.whl (32 kB)\n", + "Downloading starlette-0.38.6-py3-none-any.whl (71 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m71.5/71.5 kB\u001b[0m \u001b[31m1.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading websockets-12.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (130 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m130.2/130.2 kB\u001b[0m \u001b[31m1.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: pydub, websockets, uvicorn, tomlkit, semantic-version, ruff, python-multipart, orjson, ffmpy, aiofiles, starlette, gradio-client, fastapi, gradio\n", + "Successfully installed aiofiles-23.2.1 fastapi-0.115.0 ffmpy-0.4.0 gradio-4.44.0 gradio-client-1.3.0 orjson-3.10.7 pydub-0.25.1 python-multipart-0.0.11 ruff-0.6.8 semantic-version-2.10.0 starlette-0.38.6 tomlkit-0.12.0 uvicorn-0.31.0 websockets-12.0\n" + ] + } + ], + "source": [ + "!pip install groq\n", + "!pip install gradio\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "id": "y0h30k5pCY3X" + }, + "outputs": [], + "source": [ + "question=\"Write code to print factorial using functions and loops in python\"\n", + "apiKey = \"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\"" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 645 + }, + "id": "n2WNObL-B77U", + "outputId": "7eca3ea0-952d-4740-c49a-e7efbab057fd" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Setting queue=True in a Colab notebook requires sharing enabled. Setting `share=True` (you can turn this off by setting `share=False` in `launch()` explicitly).\n", + "\n", + "Colab notebook detected. To show errors in colab notebook, set debug=True in launch()\n", + "Running on public URL: https://8af799ebd5264850d8.gradio.live\n", + "\n", + "This share link expires in 72 hours. For free permanent hosting and GPU upgrades, run `gradio deploy` from Terminal to deploy to Spaces (https://huggingface.co/spaces)\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "text/html": [ + "
" + ] + }, + "metadata": {} + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [] + }, + "metadata": {}, + "execution_count": 5 + } + ], + "source": [ + "import gradio as gr\n", + "from groq import Groq\n", + "\n", + "\n", + "def getResponse(code):\n", + " client = Groq(api_key=\"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\")\n", + "\n", + " chat_completion = client.chat.completions.create(\n", + " messages=[\n", + " {\n", + " \"role\": \"system\",\n", + " \"content\": (\n", + " \"You are a computer science professor and You know knowledge about various programming languages. I will give you detailed information about writing a code or for making something using coding languages. The type of the output should be a string with proper alignment for ease of readability for user.\"\n", + " )\n", + " },\n", + " {\n", + " \"role\": \"user\",\n", + " \"content\": (\n", + " \"Code: \" + code\n", + " )\n", + " }\n", + " ],\n", + " model=\"llama3-8b-8192\",\n", + " temperature=0.5,\n", + " max_tokens=1024,\n", + " top_p=1,\n", + " stop=None,\n", + " stream=False,\n", + " )\n", + "\n", + " return chat_completion.choices[0].message.content\n", + "\n", + "\n", + "def generate_response(input_code):\n", + " return getResponse(input_code)\n", + "\n", + "iface = gr.Interface(\n", + " fn=generate_response,\n", + " inputs=\"text\",\n", + " outputs=\"text\",\n", + " title=\"AI Code Helper\",\n", + " description=\"Input your code to get AI-generated suggestions and feedback.\"\n", + ")\n", + "\n", + "iface.launch()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 139 + }, + "id": "IGpIvu_gFLTt", + "outputId": "50cdc4cf-1c21-4a4e-f7fd-9667e0c56e9e" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "'Here is a Python code that calculates the factorial of a given number using a function and a loop:\\n\\n```Python\\ndef factorial(n):\\n if n == 0:\\n return 1\\n else:\\n result = 1\\n for i in range(1, n + 1):\\n result *= i\\n return result\\n\\nnum = int(input(\"Enter a positive integer: \"))\\nprint(\"Factorial of\", num, \"is\", factorial(num))\\n```\\n\\nTo run this code, you can save it in a file with a `.py` extension (for example, `factorial.py`) and then run it using Python (for example, `python factorial.py`). When you run the code, it will ask you to enter a positive integer. After you enter the number, it will print the factorial of that number.\\n\\nHere\\'s how the output will look like:\\n\\n```\\nEnter a positive integer: 5\\nFactorial of 5 is 120\\n```\\n\\nIn this code, we define a function `factorial` that takes an integer `n` as input and returns its factorial. The function uses a loop to calculate the factorial. If `n` is 0, the function returns 1, because the factorial of 0 is 1.\\n\\nThe main part of the code asks the user to enter a positive integer, calculates its factorial using the `factorial` function, and then prints the result.'" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "string" + } + }, + "metadata": {}, + "execution_count": 4 + } + ], + "source": [ + "getResponse(question)" + ] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3", + "name": "python3" + }, + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file diff --git a/AI Maniacs Project Submission/Blue_and_Pink_Minimalist_Video_Game_Developer_Studio_Logo__1_-removebg-preview.png b/AI Maniacs Project Submission/Blue_and_Pink_Minimalist_Video_Game_Developer_Studio_Logo__1_-removebg-preview.png new file mode 100644 index 0000000000000000000000000000000000000000..94b677d77a149c912b8ae8dd48f84e52de8e486e GIT binary patch literal 38660 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 Q58lnCrS=F~qhc5FKh?#FUjP6A literal 0 HcmV?d00001 diff --git a/AI Maniacs Project Submission/C.jpg b/AI Maniacs Project Submission/C.jpg new file mode 100644 index 0000000000000000000000000000000000000000..046dd72caef027dd999f4eb1603072ea75880b6b GIT binary patch literal 10762 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

bD7q9pvL^8-2)gJifog?HYIhO$Q#qL^G;f{7mGT z9_61=G=NT1V1X5L@DxiJ`=!KZOo+t6Cm#FftAfuDNBoG)ONt_JCVjkfDxXYsIMiHa zfIc&S9;q1oXnywoD+xrxFY;k%Mp#}sJG1J~>Gf)i5|nq+u1&Ht&CGk0h@{1Gr8e5Vk=j1{|l1 z2Ay;ZUzYOL4W2U@3eDvJ&&8#DrLR&@co@I^HvPzi^9#s38hS7CjpQhf1%w zQsM&chidp6nR(wF=9m{R-dazKNB!^$q>|v>Y0-vjnb;P765UzkBtpD+!!Iy#^&SJ< z*&8j1nZw|8nLt;0S7~Qp|00m@hu}IoZ)%EjdCo0g)43prg8TYgQr;?Q%UW3dEY)Au z>ygD8)HU*vHg8|dhHA`Wt|Ju*o7d8phBme~ku*HBYrtm_uR)N3-=E&7(lhclol0qj z)NkMTp8DiTpc|_OpXdbIbaf^gcJgV8gBM&1B3;Y!EsbwCE$)x%W=LCg+%c zAEs%0DP|lIE5}7;HNt%#8v&`1azp866Qqk&z6NgmEfO+&pX5~3$w|c4?19xGT9N#n zaQ_7{>4+#`SP?Gw=W2mdBBbsQm#cEr%w7kWqc3TzGSYE1uN2Oap$+N@r0?C9_dJDOtgV!Hk#n8*;ys z&n|;b)vz1`|D|KPu$B&|>xBNy7lO#gn-)bgUvQ#E-D&=KK*8Dse?e;EX;BHBalhYq z(p_6(ShO#tC*S3Gm*(P`V4Ifr2lOUdwOqAh#F9`3U5^52ndY0J!&jR=X}5ej(EyZe z?{gF0^n>RQGFiZnvni)FGmPCvG^QJNr>wMl>V7%pp>Vtu5J{3vCWJpXA83SW`U9n% zsn^~$Y(|mEnUnqrXxV?tmlINoj3s(9%yW%f<20HhzahxHYijSt zMjfR2!H#EIHKr{~fEKJ=^U}oXxV>Xf^-O~hu@#gUVX#z$)$E8Ew);SfFB}Wi698^) zL5U7*cl<2-^ySH$T@k{>5 zdnd`G>zes%L)va?ri<^s%z!SWgfVg&l#blO4R|)VE5-fo+gS5ay=?vPoUm`uwXLL}|EhsGUWS1qO_R85sebOvJKqO0C zc|RofE}?nJB7MIVBY9buP?Xk-EmfGbtZEi_S*tW06mNl1jmsRywL#If6FuBWHhi~s zhM}|6dP~AlZW)`9^coP2^*xrTYONScw1^^bq@~H;G2`yr)voI-3@}P z8JATjqS&z0lRO#N8-2_o&__(@@+_`@_;QFn;?DL~SfNmY1^irT?O6ZnBKN3WhG^^M zsSOjsi>vtOQ;iK3%T3>EwaLBx?^U;XFv;N&)^6E9sI0cBbzL1P|K?_aQH82mT|4|E z#3hMD+Kl-Fk21!O5FzF6^mm!BWZrsc;hf@R^WrB?9YKH=IvVw!pSAv0 zv|-r-dzs}01fTcBHvxm=!DdE=p=3.5.0 in /usr/local/lib/python3.10/dist-packages (from groq) (3.7.1)\n", + "Requirement already satisfied: distro<2,>=1.7.0 in /usr/lib/python3/dist-packages (from groq) (1.7.0)\n", + "Collecting httpx<1,>=0.23.0 (from groq)\n", + " Downloading httpx-0.27.2-py3-none-any.whl.metadata (7.1 kB)\n", + "Requirement already satisfied: pydantic<3,>=1.9.0 in /usr/local/lib/python3.10/dist-packages (from groq) (2.9.2)\n", + "Requirement already satisfied: sniffio in /usr/local/lib/python3.10/dist-packages (from groq) (1.3.1)\n", + "Requirement already satisfied: typing-extensions<5,>=4.7 in /usr/local/lib/python3.10/dist-packages (from groq) (4.12.2)\n", + "Requirement already satisfied: idna>=2.8 in /usr/local/lib/python3.10/dist-packages (from anyio<5,>=3.5.0->groq) (3.10)\n", + "Requirement already satisfied: exceptiongroup in /usr/local/lib/python3.10/dist-packages (from anyio<5,>=3.5.0->groq) (1.2.2)\n", + "Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from httpx<1,>=0.23.0->groq) (2024.8.30)\n", + "Collecting httpcore==1.* (from httpx<1,>=0.23.0->groq)\n", + " Downloading httpcore-1.0.5-py3-none-any.whl.metadata (20 kB)\n", + "Collecting h11<0.15,>=0.13 (from httpcore==1.*->httpx<1,>=0.23.0->groq)\n", + " Downloading h11-0.14.0-py3-none-any.whl.metadata (8.2 kB)\n", + "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from pydantic<3,>=1.9.0->groq) (0.7.0)\n", + "Requirement already satisfied: pydantic-core==2.23.4 in /usr/local/lib/python3.10/dist-packages (from pydantic<3,>=1.9.0->groq) (2.23.4)\n", + "Downloading groq-0.11.0-py3-none-any.whl (106 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m106.5/106.5 kB\u001b[0m \u001b[31m5.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading httpx-0.27.2-py3-none-any.whl (76 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m76.4/76.4 kB\u001b[0m \u001b[31m5.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading httpcore-1.0.5-py3-none-any.whl (77 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m77.9/77.9 kB\u001b[0m \u001b[31m4.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading h11-0.14.0-py3-none-any.whl (58 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m58.3/58.3 kB\u001b[0m \u001b[31m2.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: h11, httpcore, httpx, groq\n", + "Successfully installed groq-0.11.0 h11-0.14.0 httpcore-1.0.5 httpx-0.27.2\n", + "Collecting gradio\n", + " Downloading gradio-4.44.0-py3-none-any.whl.metadata (15 kB)\n", + "Collecting aiofiles<24.0,>=22.0 (from gradio)\n", + " Downloading aiofiles-23.2.1-py3-none-any.whl.metadata (9.7 kB)\n", + "Requirement already satisfied: anyio<5.0,>=3.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (3.7.1)\n", + "Collecting fastapi<1.0 (from gradio)\n", + " Downloading fastapi-0.115.0-py3-none-any.whl.metadata (27 kB)\n", + "Collecting ffmpy (from gradio)\n", + " Downloading ffmpy-0.4.0-py3-none-any.whl.metadata (2.9 kB)\n", + "Collecting gradio-client==1.3.0 (from gradio)\n", + " Downloading gradio_client-1.3.0-py3-none-any.whl.metadata (7.1 kB)\n", + "Requirement already satisfied: httpx>=0.24.1 in /usr/local/lib/python3.10/dist-packages (from gradio) (0.27.2)\n", + "Requirement already satisfied: huggingface-hub>=0.19.3 in /usr/local/lib/python3.10/dist-packages (from gradio) (0.24.7)\n", + "Requirement already satisfied: importlib-resources<7.0,>=1.3 in /usr/local/lib/python3.10/dist-packages (from gradio) (6.4.5)\n", + "Requirement already satisfied: jinja2<4.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (3.1.4)\n", + "Requirement already satisfied: markupsafe~=2.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (2.1.5)\n", + "Requirement already satisfied: matplotlib~=3.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (3.7.1)\n", + "Requirement already satisfied: numpy<3.0,>=1.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (1.26.4)\n", + "Collecting orjson~=3.0 (from gradio)\n", + " Downloading orjson-3.10.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (50 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m50.4/50.4 kB\u001b[0m \u001b[31m875.6 kB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from gradio) (24.1)\n", + "Requirement already satisfied: pandas<3.0,>=1.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (2.1.4)\n", + "Requirement already satisfied: pillow<11.0,>=8.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (10.4.0)\n", + "Requirement already satisfied: pydantic>=2.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (2.9.2)\n", + "Collecting pydub (from gradio)\n", + " Downloading pydub-0.25.1-py2.py3-none-any.whl.metadata (1.4 kB)\n", + "Collecting python-multipart>=0.0.9 (from gradio)\n", + " Downloading python_multipart-0.0.11-py3-none-any.whl.metadata (1.9 kB)\n", + "Requirement already satisfied: pyyaml<7.0,>=5.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (6.0.2)\n", + "Collecting ruff>=0.2.2 (from gradio)\n", + " Downloading ruff-0.6.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (25 kB)\n", + "Collecting semantic-version~=2.0 (from gradio)\n", + " Downloading semantic_version-2.10.0-py2.py3-none-any.whl.metadata (9.7 kB)\n", + "Collecting tomlkit==0.12.0 (from gradio)\n", + " Downloading tomlkit-0.12.0-py3-none-any.whl.metadata (2.7 kB)\n", + "Requirement already satisfied: typer<1.0,>=0.12 in /usr/local/lib/python3.10/dist-packages (from gradio) (0.12.5)\n", + "Requirement already satisfied: typing-extensions~=4.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (4.12.2)\n", + "Requirement already satisfied: urllib3~=2.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (2.2.3)\n", + "Collecting uvicorn>=0.14.0 (from gradio)\n", + " Downloading uvicorn-0.31.0-py3-none-any.whl.metadata (6.6 kB)\n", + "Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from gradio-client==1.3.0->gradio) (2024.6.1)\n", + "Collecting websockets<13.0,>=10.0 (from gradio-client==1.3.0->gradio)\n", + " Downloading websockets-12.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.6 kB)\n", + "Requirement already satisfied: idna>=2.8 in /usr/local/lib/python3.10/dist-packages (from anyio<5.0,>=3.0->gradio) (3.10)\n", + "Requirement already satisfied: sniffio>=1.1 in /usr/local/lib/python3.10/dist-packages (from anyio<5.0,>=3.0->gradio) (1.3.1)\n", + "Requirement already satisfied: exceptiongroup in /usr/local/lib/python3.10/dist-packages (from anyio<5.0,>=3.0->gradio) (1.2.2)\n", + "Collecting starlette<0.39.0,>=0.37.2 (from fastapi<1.0->gradio)\n", + " Downloading starlette-0.38.6-py3-none-any.whl.metadata (6.0 kB)\n", + "Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from httpx>=0.24.1->gradio) (2024.8.30)\n", + "Requirement already satisfied: httpcore==1.* in /usr/local/lib/python3.10/dist-packages (from httpx>=0.24.1->gradio) (1.0.5)\n", + "Requirement already satisfied: h11<0.15,>=0.13 in /usr/local/lib/python3.10/dist-packages (from httpcore==1.*->httpx>=0.24.1->gradio) (0.14.0)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from huggingface-hub>=0.19.3->gradio) (3.16.1)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from huggingface-hub>=0.19.3->gradio) (2.32.3)\n", + "Requirement already satisfied: tqdm>=4.42.1 in /usr/local/lib/python3.10/dist-packages (from huggingface-hub>=0.19.3->gradio) (4.66.5)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib~=3.0->gradio) (1.3.0)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib~=3.0->gradio) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib~=3.0->gradio) (4.53.1)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib~=3.0->gradio) (1.4.7)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib~=3.0->gradio) (3.1.4)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib~=3.0->gradio) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas<3.0,>=1.0->gradio) (2024.2)\n", + "Requirement already satisfied: tzdata>=2022.1 in /usr/local/lib/python3.10/dist-packages (from pandas<3.0,>=1.0->gradio) (2024.1)\n", + "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from pydantic>=2.0->gradio) (0.7.0)\n", + "Requirement already satisfied: pydantic-core==2.23.4 in /usr/local/lib/python3.10/dist-packages (from pydantic>=2.0->gradio) (2.23.4)\n", + "Requirement already satisfied: click>=8.0.0 in /usr/local/lib/python3.10/dist-packages (from typer<1.0,>=0.12->gradio) (8.1.7)\n", + "Requirement already satisfied: shellingham>=1.3.0 in /usr/local/lib/python3.10/dist-packages (from typer<1.0,>=0.12->gradio) (1.5.4)\n", + "Requirement already satisfied: rich>=10.11.0 in /usr/local/lib/python3.10/dist-packages (from typer<1.0,>=0.12->gradio) (13.8.1)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.7->matplotlib~=3.0->gradio) (1.16.0)\n", + "Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from rich>=10.11.0->typer<1.0,>=0.12->gradio) (3.0.0)\n", + "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.10/dist-packages (from rich>=10.11.0->typer<1.0,>=0.12->gradio) (2.18.0)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->huggingface-hub>=0.19.3->gradio) (3.3.2)\n", + "Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.10/dist-packages (from markdown-it-py>=2.2.0->rich>=10.11.0->typer<1.0,>=0.12->gradio) (0.1.2)\n", + "Downloading gradio-4.44.0-py3-none-any.whl (18.1 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m18.1/18.1 MB\u001b[0m \u001b[31m45.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading gradio_client-1.3.0-py3-none-any.whl (318 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m318.7/318.7 kB\u001b[0m \u001b[31m18.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading tomlkit-0.12.0-py3-none-any.whl (37 kB)\n", + "Downloading aiofiles-23.2.1-py3-none-any.whl (15 kB)\n", + "Downloading fastapi-0.115.0-py3-none-any.whl (94 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m94.6/94.6 kB\u001b[0m \u001b[31m5.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading orjson-3.10.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (141 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m141.9/141.9 kB\u001b[0m \u001b[31m8.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading python_multipart-0.0.11-py3-none-any.whl (22 kB)\n", + "Downloading ruff-0.6.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.9 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.9/10.9 MB\u001b[0m \u001b[31m62.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading semantic_version-2.10.0-py2.py3-none-any.whl (15 kB)\n", + "Downloading uvicorn-0.31.0-py3-none-any.whl (63 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m63.7/63.7 kB\u001b[0m \u001b[31m4.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading ffmpy-0.4.0-py3-none-any.whl (5.8 kB)\n", + "Downloading pydub-0.25.1-py2.py3-none-any.whl (32 kB)\n", + "Downloading starlette-0.38.6-py3-none-any.whl (71 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m71.5/71.5 kB\u001b[0m \u001b[31m4.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading websockets-12.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (130 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m130.2/130.2 kB\u001b[0m \u001b[31m7.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: pydub, websockets, uvicorn, tomlkit, semantic-version, ruff, python-multipart, orjson, ffmpy, aiofiles, starlette, gradio-client, fastapi, gradio\n", + "Successfully installed aiofiles-23.2.1 fastapi-0.115.0 ffmpy-0.4.0 gradio-4.44.0 gradio-client-1.3.0 orjson-3.10.7 pydub-0.25.1 python-multipart-0.0.11 ruff-0.6.8 semantic-version-2.10.0 starlette-0.38.6 tomlkit-0.12.0 uvicorn-0.31.0 websockets-12.0\n" + ] + } + ], + "source": [ + "!pip install groq\n", + "!pip install gradio\n" + ] + }, + { + "cell_type": "code", + "source": [ + "import gradio as gr\n", + "from groq import Groq\n", + "\n", + "def getResponse(Topic, SubTopic):\n", + " client = Groq(api_key=\"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\")\n", + "\n", + " chat_completion = client.chat.completions.create(\n", + " messages=[\n", + " {\n", + " \"role\": \"system\",\n", + " \"content\": (\n", + " \"You are a computer science professor and I will give you the topic name, sub-topic \"\n", + " \"You need to generate notes and add important points as well\"\n", + " \"The type of the output should be a string with proper alignment for ease readability for user\"\n", + "\n", + " )\n", + " },\n", + " {\n", + " \"role\": \"user\",\n", + " \"content\": (\n", + " \"Topic: \" + Topic + \" Sub-topic: \" + SubTopic\n", + " )\n", + " }\n", + " ],\n", + " model=\"llama3-8b-8192\",\n", + " temperature=0.5,\n", + " max_tokens=1024,\n", + " top_p=1,\n", + " stop=None,\n", + " stream=False,\n", + " )\n", + "\n", + " return chat_completion.choices[0].message.content\n", + "\n", + "def update_subtopics(topic):\n", + " if topic == \"Python\":\n", + " return gr.update(choices=[\n", + " \"Introduction to Python\",\n", + " \"Variables and Data Types\",\n", + " \"Operators (Arithmetic, Comparison, Logical)\",\n", + " \"Control Flow (if, else, loops)\",\n", + " \"Functions and Lambda Functions\",\n", + " \"Lists, Tuples, Sets, and Dictionaries\",\n", + " \"List Comprehensions\",\n", + " \"File Handling\",\n", + " \"Exception Handling\",\n", + " \"Object-Oriented Programming (OOP)\",\n", + " \"Inheritance and Polymorphism\",\n", + " \"Encapsulation and Abstraction\",\n", + " \"Modules and Packages\",\n", + " \"Iterators and Generators\",\n", + " \"Decorators and Closures\",\n", + " \"Regular Expressions\",\n", + " \"Multithreading and Concurrency\",\n", + " \"Asynchronous Programming (asyncio)\",\n", + " \"Working with Databases (SQLite, MySQL)\",\n", + " \"Web Development (Flask, Django)\",\n", + " \"Web Scraping (BeautifulSoup, Scrapy)\",\n", + " \"Unit Testing (unittest, pytest)\",\n", + " \"Virtual Environments\",\n", + " \"Standard Libraries and External Libraries\",\n", + " \"Metaprogramming\",\n", + " \"Context Managers\",\n", + " \"Memory Management and Garbage Collection\",\n", + " \"Networking (Sockets, HTTP Requests)\"\n", + "])\n", + " elif topic == \"Java\":\n", + " return gr.update(choices=[\n", + " \"Introduction to Java\",\n", + " \"Variables and Data Types\",\n", + " \"Operators\",\n", + " \"Control Flow (if, else, switch, loops)\",\n", + " \"Classes and Objects\",\n", + " \"Methods and Constructors\",\n", + " \"Inheritance and Polymorphism\",\n", + " \"Abstraction and Encapsulation\",\n", + " \"Interfaces and Abstract Classes\",\n", + " \"Exception Handling\",\n", + " \"File Handling (IO)\",\n", + " \"Collections Framework (List, Set, Map, etc.)\",\n", + " \"Generics\",\n", + " \"Multithreading and Concurrency\",\n", + " \"Java Input/Output (Streams and File I/O)\",\n", + " \"Lambda Expressions\",\n", + " \"Streams API\",\n", + " \"JDBC (Java Database Connectivity)\",\n", + " \"Annotations\",\n", + " \"Enums\",\n", + " \"Inner Classes\",\n", + " \"JavaFX (GUI Programming)\",\n", + " \"Java Memory Management\",\n", + " \"JVM Architecture\",\n", + " \"Garbage Collection\",\n", + " \"Networking (Sockets, HTTP)\",\n", + " \"Unit Testing (JUnit)\",\n", + " \"Spring Framework Basics\",\n", + " \"Maven and Gradle (Build Tools)\",\n", + " \"JAR and WAR Files\"\n", + "])\n", + " elif topic == \"C++\":\n", + " return gr.update(choices=[\n", + " \"Introduction to C++\",\n", + " \"Variables and Data Types\",\n", + " \"Operators (Arithmetic, Logical, Bitwise)\",\n", + " \"Control Flow (if, else, switch, loops)\",\n", + " \"Functions\",\n", + " \"Pointers and References\",\n", + " \"Arrays and Strings\",\n", + " \"Object-Oriented Programming (OOP)\",\n", + " \"Classes and Objects\",\n", + " \"Constructors and Destructors\",\n", + " \"Inheritance and Polymorphism\",\n", + " \"Encapsulation and Abstraction\",\n", + " \"Friend Functions and Friend Classes\",\n", + " \"Function Overloading and Operator Overloading\",\n", + " \"Templates (Function and Class Templates)\",\n", + " \"STL (Standard Template Library)\",\n", + " \"Exception Handling\",\n", + " \"File Handling\",\n", + " \"Multithreading\",\n", + " \"Lambda Expressions\",\n", + " \"Smart Pointers\",\n", + " \"Namespaces\",\n", + " \"Memory Management (Dynamic Memory, new and delete)\",\n", + " \"Input/Output Streams\",\n", + " \"Move Semantics and R-value References\",\n", + " \"C++11, C++14, C++17, and C++20 Features\"\n", + "])\n", + " elif topic == \"C\":\n", + " return gr.update(choices=[\n", + " \"Introduction to C\",\n", + " \"Variables and Data Types\",\n", + " \"Operators (Arithmetic, Logical, Bitwise)\",\n", + " \"Control Flow (if, else, switch, loops)\",\n", + " \"Functions\",\n", + " \"Pointers\",\n", + " \"Arrays and Strings\",\n", + " \"Structures and Unions\",\n", + " \"Dynamic Memory Allocation (malloc, calloc, free)\",\n", + " \"Preprocessor Directives\",\n", + " \"File Handling\",\n", + " \"Standard Input/Output (printf, scanf)\",\n", + " \"Command Line Arguments\",\n", + " \"Recursion\",\n", + " \"Bitwise Operations\",\n", + " \"Storage Classes\",\n", + " \"Function Pointers\",\n", + " \"Linked Lists\",\n", + " \"Stacks and Queues\",\n", + " \"Memory Management\",\n", + " \"Multithreading (POSIX Threads)\",\n", + " \"Macros and Inline Functions\"\n", + "])\n", + " elif topic == \"JavaScript\":\n", + " return gr.update(choices=[\n", + " \"Introduction to JavaScript\",\n", + " \"Variables (var, let, const)\",\n", + " \"Data Types\",\n", + " \"Operators\",\n", + " \"Control Flow (if, else, switch, loops)\",\n", + " \"Functions\",\n", + " \"Arrow Functions\",\n", + " \"Objects and Arrays\",\n", + " \"Prototypes and Inheritance\",\n", + " \"Closures\",\n", + " \"Callbacks and Promises\",\n", + " \"Async/Await\",\n", + " \"Event Handling\",\n", + " \"DOM Manipulation\",\n", + " \"Form Validation\",\n", + " \"Error Handling\",\n", + " \"Modules (ES6)\",\n", + " \"Classes (ES6)\",\n", + " \"JSON Handling\",\n", + " \"LocalStorage and SessionStorage\",\n", + " \"AJAX and Fetch API\",\n", + " \"REST APIs\",\n", + " \"WebSockets\",\n", + " \"JavaScript Frameworks (React, Angular, Vue)\",\n", + " \"Browser APIs (Geolocation, Canvas, etc.)\",\n", + " \"Node.js Basics\",\n", + " \"Event Loop and Concurrency\",\n", + " \"Testing (Jest, Mocha)\"\n", + "])\n", + " elif topic == \"HTML\":\n", + " return gr.update(choices=[\n", + " \"Introduction to HTML\",\n", + " \"Basic Structure of an HTML Document\",\n", + " \"HTML Tags and Attributes\",\n", + " \"Headings, Paragraphs, and Text Formatting\",\n", + " \"Links and Anchor Tags\",\n", + " \"Images and Image Maps\",\n", + " \"Lists (Ordered, Unordered)\",\n", + " \"Tables\",\n", + " \"Forms (Input, Button, Textarea)\",\n", + " \"Form Validation\",\n", + " \"HTML5 Semantic Elements (header, footer, article, section)\",\n", + " \"Multimedia (Audio, Video)\",\n", + " \"HTML5 APIs (Canvas, Geolocation, Web Storage)\",\n", + " \"Meta Tags and SEO\",\n", + " \"Inline vs Block Elements\",\n", + " \"iframes\",\n", + " \"Responsive Web Design (Viewport, Media Queries)\"\n", + "])\n", + "\n", + " elif topic == \"CSS\":\n", + " return gr.update(choices=[\n", + " \"Introduction to CSS\",\n", + " \"CSS Syntax and Selectors\",\n", + " \"Colors and Backgrounds\",\n", + " \"Fonts and Typography\",\n", + " \"Box Model (Padding, Margin, Border)\",\n", + " \"CSS Units (px, %, em, rem, vh, vw)\",\n", + " \"Positioning (Static, Relative, Absolute, Fixed)\",\n", + " \"Flexbox\",\n", + " \"CSS Grid\",\n", + " \"Responsive Web Design (Media Queries)\",\n", + " \"CSS Transitions and Animations\",\n", + " \"Pseudo-classes and Pseudo-elements\",\n", + " \"CSS Variables\",\n", + " \"CSS Preprocessors (Sass, LESS)\",\n", + " \"CSS Frameworks (Bootstrap, Tailwind)\",\n", + " \"CSS Specificity and Inheritance\",\n", + " \"CSS Layout Techniques (Float, Clear, etc.)\"\n", + "])\n", + "\n", + " elif topic == \"Kotlin\":\n", + " return gr.update(choices=[\n", + " \"Introduction to Kotlin\",\n", + " \"Variables and Data Types\",\n", + " \"Operators\",\n", + " \"Control Flow (if, when, loops)\",\n", + " \"Functions\",\n", + " \"Null Safety\",\n", + " \"Classes and Objects\",\n", + " \"Inheritance and Polymorphism\",\n", + " \"Interfaces and Abstract Classes\",\n", + " \"Extension Functions\",\n", + " \"Lambda Expressions\",\n", + " \"Higher-Order Functions\",\n", + " \"Collections and Iterators\",\n", + " \"Coroutines\",\n", + " \"Exception Handling\",\n", + " \"Type Inference\",\n", + " \"Smart Casts\",\n", + " \"Data Classes\",\n", + " \"Sealed Classes\",\n", + " \"Generics\",\n", + " \"Companion Objects\",\n", + " \"Kotlin for Android Development\",\n", + " \"Kotlin DSL\"\n", + "])\n", + "\n", + " elif topic == \"PHP\":\n", + " return gr.update(choices=[\n", + " \"Introduction to PHP\",\n", + " \"Variables and Data Types\",\n", + " \"Operators\",\n", + " \"Control Flow (if, else, switch, loops)\",\n", + " \"Functions\",\n", + " \"Arrays\",\n", + " \"Superglobals ($_GET, $_POST, $_SESSION)\",\n", + " \"Forms and User Input\",\n", + " \"Cookies and Sessions\",\n", + " \"File Handling\",\n", + " \"Object-Oriented Programming (OOP)\",\n", + " \"Classes and Objects\",\n", + " \"Inheritance and Polymorphism\",\n", + " \"Error Handling\",\n", + " \"Working with Databases (MySQL, PDO)\",\n", + " \"Prepared Statements\",\n", + " \"AJAX with PHP\",\n", + " \"Security (SQL Injection, XSS, CSRF)\",\n", + " \"PHP Frameworks (Laravel, Symfony)\",\n", + " \"REST API with PHP\",\n", + " \"Email Handling\"\n", + "])\n", + "\n", + " elif topic == \"SQL\":\n", + " return gr.update(choices=[\n", + " \"Introduction to SQL\",\n", + " \"Database Basics\",\n", + " \"Data Types\",\n", + " \"DDL (Data Definition Language)\",\n", + " \"DML (Data Manipulation Language)\",\n", + " \"DCL (Data Control Language)\",\n", + " \"Creating Tables\",\n", + " \"Inserting Data\",\n", + " \"Updating Data\",\n", + " \"Deleting Data\",\n", + " \"Basic SELECT Queries\",\n", + " \"WHERE Clauses and Operators\",\n", + " \"JOINs (INNER, LEFT, RIGHT, FULL)\",\n", + " \"GROUP BY and HAVING\",\n", + " \"Aggregate Functions (SUM, AVG, COUNT)\",\n", + " \"Subqueries\",\n", + " \"Indexes\",\n", + " \"Views\",\n", + " \"Stored Procedures and Functions\",\n", + " \"Transactions\",\n", + " \"Normalization\",\n", + " \"Constraints (PRIMARY KEY, FOREIGN KEY, UNIQUE, etc.)\",\n", + " \"SQL Triggers\",\n", + " \"Database Security\",\n", + " \"SQL Optimization Techniques\"\n", + "])\n", + "\n", + " else:\n", + " return gr.update(choices=[])\n", + "\n", + "def clear_inputs():\n", + " return \"\", \"\", 1, \"Easy\", \"\"\n", + "\n", + "css = \"\"\"\n", + "/* Styling for glowing buttons */\n", + "button {\n", + " background-color: #1e3a8a;\n", + " color: white;\n", + " border: none;\n", + " padding: 10px 20px;\n", + " border-radius: 5px;\n", + " box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);\n", + " transition: 0.3s;\n", + "}\n", + "\n", + "/* Button hover effect for glowing effect */\n", + "button:hover {\n", + " box-shadow: 0 0 10px #4ade80, 0 0 30px #34d399, 0 0 50px #10b981;\n", + " transform: scale(1.05);\n", + "}\n", + "\n", + "/* Background for the whole interface */\n", + "body {\n", + " background-color: #f3f4f6;\n", + " color: #1f2937;\n", + "}\n", + "\n", + "/* Styling for textboxes and dropdowns */\n", + ".gradio-container {\n", + " font-family: 'Arial', sans-serif;\n", + " color: #1e40af;\n", + "}\n", + "\n", + "/* Container for the text output */\n", + ".gr-textbox {\n", + " background-color: #e0f2fe;\n", + " border: 1px solid #0284c7;\n", + " border-radius: 10px;\n", + " padding: 15px;\n", + "}\n", + "\n", + "# /* Slider theme */\n", + "# input[type=range] {\n", + "# accent-color: #2563eb;\n", + "# }\n", + "\"\"\"\n", + "\n", + "with gr.Blocks(css=css) as demo:\n", + "\n", + " topic_dropdown = gr.Dropdown(choices=[\"Python\", \"Java\", \"C++\",\"C\",\"JavaScript\",\"HTML\",\"CSS\",\"Kotlin\",\"PHP\",\"SQL\"], label=\"Select Topic\", value=\"Python\")\n", + "\n", + " subtopic_dropdown = gr.Dropdown(choices=[\n", + " \"Introduction to Python\",\n", + " \"Variables and Data Types\",\n", + " \"Operators (Arithmetic, Comparison, Logical)\",\n", + " \"Control Flow (if, else, loops)\",\n", + " \"Functions and Lambda Functions\",\n", + " \"Lists, Tuples, Sets, and Dictionaries\",\n", + " \"List Comprehensions\",\n", + " \"File Handling\",\n", + " \"Exception Handling\",\n", + " \"Object-Oriented Programming (OOP)\",\n", + " \"Inheritance and Polymorphism\",\n", + " \"Encapsulation and Abstraction\",\n", + " \"Modules and Packages\",\n", + " \"Iterators and Generators\",\n", + " \"Decorators and Closures\",\n", + " \"Regular Expressions\",\n", + " \"Multithreading and Concurrency\",\n", + " \"Asynchronous Programming (asyncio)\",\n", + " \"Working with Databases (SQLite, MySQL)\",\n", + " \"Web Development (Flask, Django)\",\n", + " \"Web Scraping (BeautifulSoup, Scrapy)\",\n", + " \"Unit Testing (unittest, pytest)\",\n", + " \"Virtual Environments\",\n", + " \"Standard Libraries and External Libraries\",\n", + " \"Metaprogramming\",\n", + " \"Context Managers\",\n", + " \"Memory Management and Garbage Collection\",\n", + " \"Networking (Sockets, HTTP Requests)\"\n", + "], label=\"Select Sub-topic\", value=\"Basics\")\n", + "\n", + "\n", + " submit_button = gr.Button(\"Generate Notes\")\n", + "\n", + " clear_button = gr.Button(\"Clear Inputs\")\n", + "\n", + " cancel_button = gr.Button(\"Cancel\")\n", + "\n", + " output_text = gr.Textbox(label=\"Notes\", placeholder=\"Notes will appear here...\")\n", + "\n", + " topic_dropdown.change(fn=update_subtopics, inputs=topic_dropdown, outputs=subtopic_dropdown)\n", + "\n", + " submit_button.click(\n", + " fn=getResponse,\n", + " inputs=[topic_dropdown, subtopic_dropdown],\n", + " outputs=output_text\n", + " )\n", + "\n", + " clear_button.click(\n", + " fn=clear_inputs,\n", + " inputs=[],\n", + " outputs=[topic_dropdown, subtopic_dropdown, output_text]\n", + " )\n", + "\n", + " cancel_button.click(\n", + " fn=lambda: \"Action Cancelled!\",\n", + " inputs=[],\n", + " outputs=output_text\n", + " )\n", + "\n", + "demo.launch(share=True)\n" + ], + "metadata": { + "id": "qoVcCrfLpmXG", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 645 + }, + "outputId": "07e8be2c-b1e2-4404-a488-7fbf0a3ee8e5" + }, + "execution_count": 3, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.10/dist-packages/gradio/components/dropdown.py:188: UserWarning: The value passed into gr.Dropdown() is not in the list of choices. Please update the list of choices to include: Basics or set allow_custom_value=True.\n", + " warnings.warn(\n" + ] + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Colab notebook detected. To show errors in colab notebook, set debug=True in launch()\n", + "Running on public URL: https://339ee461b1caa01357.gradio.live\n", + "\n", + "This share link expires in 72 hours. For free permanent hosting and GPU upgrades, run `gradio deploy` from Terminal to deploy to Spaces (https://huggingface.co/spaces)\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "text/html": [ + "

" + ] + }, + "metadata": {} + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [] + }, + "metadata": {}, + "execution_count": 3 + } + ] + } + ] +} \ No newline at end of file diff --git a/AI Maniacs Project Submission/Gradio_is_Generating_Questions.ipynb b/AI Maniacs Project Submission/Gradio_is_Generating_Questions.ipynb new file mode 100644 index 0000000..2d14525 --- /dev/null +++ b/AI Maniacs Project Submission/Gradio_is_Generating_Questions.ipynb @@ -0,0 +1,660 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "code", + "source": [ + "!pip install groq\n", + "!pip install gradio\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "pBrHRvAY9Cfb", + "outputId": "0f02e796-b51a-4adf-d90f-5a3500168465" + }, + "execution_count": 1, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Collecting groq\n", + " Downloading groq-0.11.0-py3-none-any.whl.metadata (13 kB)\n", + "Requirement already satisfied: anyio<5,>=3.5.0 in /usr/local/lib/python3.10/dist-packages (from groq) (3.7.1)\n", + "Requirement already satisfied: distro<2,>=1.7.0 in /usr/lib/python3/dist-packages (from groq) (1.7.0)\n", + "Collecting httpx<1,>=0.23.0 (from groq)\n", + " Downloading httpx-0.27.2-py3-none-any.whl.metadata (7.1 kB)\n", + "Requirement already satisfied: pydantic<3,>=1.9.0 in /usr/local/lib/python3.10/dist-packages (from groq) (2.9.2)\n", + "Requirement already satisfied: sniffio in /usr/local/lib/python3.10/dist-packages (from groq) (1.3.1)\n", + "Requirement already satisfied: typing-extensions<5,>=4.7 in /usr/local/lib/python3.10/dist-packages (from groq) (4.12.2)\n", + "Requirement already satisfied: idna>=2.8 in /usr/local/lib/python3.10/dist-packages (from anyio<5,>=3.5.0->groq) (3.10)\n", + "Requirement already satisfied: exceptiongroup in /usr/local/lib/python3.10/dist-packages (from anyio<5,>=3.5.0->groq) (1.2.2)\n", + "Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from httpx<1,>=0.23.0->groq) (2024.8.30)\n", + "Collecting httpcore==1.* (from httpx<1,>=0.23.0->groq)\n", + " Downloading httpcore-1.0.5-py3-none-any.whl.metadata (20 kB)\n", + "Collecting h11<0.15,>=0.13 (from httpcore==1.*->httpx<1,>=0.23.0->groq)\n", + " Downloading h11-0.14.0-py3-none-any.whl.metadata (8.2 kB)\n", + "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from pydantic<3,>=1.9.0->groq) (0.7.0)\n", + "Requirement already satisfied: pydantic-core==2.23.4 in /usr/local/lib/python3.10/dist-packages (from pydantic<3,>=1.9.0->groq) (2.23.4)\n", + "Downloading groq-0.11.0-py3-none-any.whl (106 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m106.5/106.5 kB\u001b[0m \u001b[31m5.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading httpx-0.27.2-py3-none-any.whl (76 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m76.4/76.4 kB\u001b[0m \u001b[31m4.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading httpcore-1.0.5-py3-none-any.whl (77 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m77.9/77.9 kB\u001b[0m \u001b[31m4.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading h11-0.14.0-py3-none-any.whl (58 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m58.3/58.3 kB\u001b[0m \u001b[31m3.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: h11, httpcore, httpx, groq\n", + "Successfully installed groq-0.11.0 h11-0.14.0 httpcore-1.0.5 httpx-0.27.2\n", + "Collecting gradio\n", + " Downloading gradio-4.44.0-py3-none-any.whl.metadata (15 kB)\n", + "Collecting aiofiles<24.0,>=22.0 (from gradio)\n", + " Downloading aiofiles-23.2.1-py3-none-any.whl.metadata (9.7 kB)\n", + "Requirement already satisfied: anyio<5.0,>=3.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (3.7.1)\n", + "Collecting fastapi<1.0 (from gradio)\n", + " Downloading fastapi-0.115.0-py3-none-any.whl.metadata (27 kB)\n", + "Collecting ffmpy (from gradio)\n", + " Downloading ffmpy-0.4.0-py3-none-any.whl.metadata (2.9 kB)\n", + "Collecting gradio-client==1.3.0 (from gradio)\n", + " Downloading gradio_client-1.3.0-py3-none-any.whl.metadata (7.1 kB)\n", + "Requirement already satisfied: httpx>=0.24.1 in /usr/local/lib/python3.10/dist-packages (from gradio) (0.27.2)\n", + "Requirement already satisfied: huggingface-hub>=0.19.3 in /usr/local/lib/python3.10/dist-packages (from gradio) (0.24.7)\n", + "Requirement already satisfied: importlib-resources<7.0,>=1.3 in /usr/local/lib/python3.10/dist-packages (from gradio) (6.4.5)\n", + "Requirement already satisfied: jinja2<4.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (3.1.4)\n", + "Requirement already satisfied: markupsafe~=2.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (2.1.5)\n", + "Requirement already satisfied: matplotlib~=3.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (3.7.1)\n", + "Requirement already satisfied: numpy<3.0,>=1.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (1.26.4)\n", + "Collecting orjson~=3.0 (from gradio)\n", + " Downloading orjson-3.10.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (50 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m50.4/50.4 kB\u001b[0m \u001b[31m4.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from gradio) (24.1)\n", + "Requirement already satisfied: pandas<3.0,>=1.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (2.1.4)\n", + "Requirement already satisfied: pillow<11.0,>=8.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (10.4.0)\n", + "Requirement already satisfied: pydantic>=2.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (2.9.2)\n", + "Collecting pydub (from gradio)\n", + " Downloading pydub-0.25.1-py2.py3-none-any.whl.metadata (1.4 kB)\n", + "Collecting python-multipart>=0.0.9 (from gradio)\n", + " Downloading python_multipart-0.0.11-py3-none-any.whl.metadata (1.9 kB)\n", + "Requirement already satisfied: pyyaml<7.0,>=5.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (6.0.2)\n", + "Collecting ruff>=0.2.2 (from gradio)\n", + " Downloading ruff-0.6.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (25 kB)\n", + "Collecting semantic-version~=2.0 (from gradio)\n", + " Downloading semantic_version-2.10.0-py2.py3-none-any.whl.metadata (9.7 kB)\n", + "Collecting tomlkit==0.12.0 (from gradio)\n", + " Downloading tomlkit-0.12.0-py3-none-any.whl.metadata (2.7 kB)\n", + "Requirement already satisfied: typer<1.0,>=0.12 in /usr/local/lib/python3.10/dist-packages (from gradio) (0.12.5)\n", + "Requirement already satisfied: typing-extensions~=4.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (4.12.2)\n", + "Requirement already satisfied: urllib3~=2.0 in /usr/local/lib/python3.10/dist-packages (from gradio) (2.2.3)\n", + "Collecting uvicorn>=0.14.0 (from gradio)\n", + " Downloading uvicorn-0.31.0-py3-none-any.whl.metadata (6.6 kB)\n", + "Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from gradio-client==1.3.0->gradio) (2024.6.1)\n", + "Collecting websockets<13.0,>=10.0 (from gradio-client==1.3.0->gradio)\n", + " Downloading websockets-12.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.6 kB)\n", + "Requirement already satisfied: idna>=2.8 in /usr/local/lib/python3.10/dist-packages (from anyio<5.0,>=3.0->gradio) (3.10)\n", + "Requirement already satisfied: sniffio>=1.1 in /usr/local/lib/python3.10/dist-packages (from anyio<5.0,>=3.0->gradio) (1.3.1)\n", + "Requirement already satisfied: exceptiongroup in /usr/local/lib/python3.10/dist-packages (from anyio<5.0,>=3.0->gradio) (1.2.2)\n", + "Collecting starlette<0.39.0,>=0.37.2 (from fastapi<1.0->gradio)\n", + " Downloading starlette-0.38.6-py3-none-any.whl.metadata (6.0 kB)\n", + "Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from httpx>=0.24.1->gradio) (2024.8.30)\n", + "Requirement already satisfied: httpcore==1.* in /usr/local/lib/python3.10/dist-packages (from httpx>=0.24.1->gradio) (1.0.5)\n", + "Requirement already satisfied: h11<0.15,>=0.13 in /usr/local/lib/python3.10/dist-packages (from httpcore==1.*->httpx>=0.24.1->gradio) (0.14.0)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from huggingface-hub>=0.19.3->gradio) (3.16.1)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from huggingface-hub>=0.19.3->gradio) (2.32.3)\n", + "Requirement already satisfied: tqdm>=4.42.1 in /usr/local/lib/python3.10/dist-packages (from huggingface-hub>=0.19.3->gradio) (4.66.5)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib~=3.0->gradio) (1.3.0)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib~=3.0->gradio) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib~=3.0->gradio) (4.53.1)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib~=3.0->gradio) (1.4.7)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib~=3.0->gradio) (3.1.4)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib~=3.0->gradio) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas<3.0,>=1.0->gradio) (2024.2)\n", + "Requirement already satisfied: tzdata>=2022.1 in /usr/local/lib/python3.10/dist-packages (from pandas<3.0,>=1.0->gradio) (2024.1)\n", + "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from pydantic>=2.0->gradio) (0.7.0)\n", + "Requirement already satisfied: pydantic-core==2.23.4 in /usr/local/lib/python3.10/dist-packages (from pydantic>=2.0->gradio) (2.23.4)\n", + "Requirement already satisfied: click>=8.0.0 in /usr/local/lib/python3.10/dist-packages (from typer<1.0,>=0.12->gradio) (8.1.7)\n", + "Requirement already satisfied: shellingham>=1.3.0 in /usr/local/lib/python3.10/dist-packages (from typer<1.0,>=0.12->gradio) (1.5.4)\n", + "Requirement already satisfied: rich>=10.11.0 in /usr/local/lib/python3.10/dist-packages (from typer<1.0,>=0.12->gradio) (13.8.1)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.7->matplotlib~=3.0->gradio) (1.16.0)\n", + "Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from rich>=10.11.0->typer<1.0,>=0.12->gradio) (3.0.0)\n", + "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.10/dist-packages (from rich>=10.11.0->typer<1.0,>=0.12->gradio) (2.18.0)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->huggingface-hub>=0.19.3->gradio) (3.3.2)\n", + "Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.10/dist-packages (from markdown-it-py>=2.2.0->rich>=10.11.0->typer<1.0,>=0.12->gradio) (0.1.2)\n", + "Downloading gradio-4.44.0-py3-none-any.whl (18.1 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m18.1/18.1 MB\u001b[0m \u001b[31m53.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading gradio_client-1.3.0-py3-none-any.whl (318 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m318.7/318.7 kB\u001b[0m \u001b[31m23.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading tomlkit-0.12.0-py3-none-any.whl (37 kB)\n", + "Downloading aiofiles-23.2.1-py3-none-any.whl (15 kB)\n", + "Downloading fastapi-0.115.0-py3-none-any.whl (94 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m94.6/94.6 kB\u001b[0m \u001b[31m7.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading orjson-3.10.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (141 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m141.9/141.9 kB\u001b[0m \u001b[31m11.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading python_multipart-0.0.11-py3-none-any.whl (22 kB)\n", + "Downloading ruff-0.6.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.9 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.9/10.9 MB\u001b[0m \u001b[31m70.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading semantic_version-2.10.0-py2.py3-none-any.whl (15 kB)\n", + "Downloading uvicorn-0.31.0-py3-none-any.whl (63 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m63.7/63.7 kB\u001b[0m \u001b[31m6.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading ffmpy-0.4.0-py3-none-any.whl (5.8 kB)\n", + "Downloading pydub-0.25.1-py2.py3-none-any.whl (32 kB)\n", + "Downloading starlette-0.38.6-py3-none-any.whl (71 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m71.5/71.5 kB\u001b[0m \u001b[31m5.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading websockets-12.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (130 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m130.2/130.2 kB\u001b[0m \u001b[31m11.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: pydub, websockets, uvicorn, tomlkit, semantic-version, ruff, python-multipart, orjson, ffmpy, aiofiles, starlette, gradio-client, fastapi, gradio\n", + "Successfully installed aiofiles-23.2.1 fastapi-0.115.0 ffmpy-0.4.0 gradio-4.44.0 gradio-client-1.3.0 orjson-3.10.7 pydub-0.25.1 python-multipart-0.0.11 ruff-0.6.8 semantic-version-2.10.0 starlette-0.38.6 tomlkit-0.12.0 uvicorn-0.31.0 websockets-12.0\n" + ] + } + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 645 + }, + "id": "viNzXYwE7YY_", + "outputId": "75357b5f-aa68-4d6e-cea7-d725a50aa29a" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.10/dist-packages/gradio/components/dropdown.py:188: UserWarning: The value passed into gr.Dropdown() is not in the list of choices. Please update the list of choices to include: Basics or set allow_custom_value=True.\n", + " warnings.warn(\n" + ] + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Colab notebook detected. To show errors in colab notebook, set debug=True in launch()\n", + "Running on public URL: https://8bb1d8e4db7904ca14.gradio.live\n", + "\n", + "This share link expires in 72 hours. For free permanent hosting and GPU upgrades, run `gradio deploy` from Terminal to deploy to Spaces (https://huggingface.co/spaces)\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "text/html": [ + "
" + ] + }, + "metadata": {} + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [] + }, + "metadata": {}, + "execution_count": 5 + } + ], + "source": [ + "import gradio as gr\n", + "from groq import Groq\n", + "\n", + "def getResponse(Topic, SubTopic, QuestionNumbers, level):\n", + " client = Groq(api_key=\"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\")\n", + "\n", + " chat_completion = client.chat.completions.create(\n", + " messages=[\n", + " {\n", + " \"role\": \"system\",\n", + " \"content\": (\n", + " \"You are a computer science professor and I will give you the topic name, sub-topic, number of questions, \"\n", + " \"and level of the questions. You have to generate practice questions and \"\n", + " \"also give answers. The type of the output should be a string with proper alignment for ease readability for user\"\n", + " \"generate questions only if the topic is related to coding and technology\"\n", + " )\n", + " },\n", + " {\n", + " \"role\": \"user\",\n", + " \"content\": (\n", + " \"Topic: \" + Topic + \" Sub-topic: \" + SubTopic + \" Number of questions: \" + str(QuestionNumbers) +\n", + " \" Level: \" + level\n", + " )\n", + " }\n", + " ],\n", + " model=\"llama3-8b-8192\",\n", + " temperature=0.5,\n", + " max_tokens=1024,\n", + " top_p=1,\n", + " stop=None,\n", + " stream=False,\n", + " )\n", + "\n", + " return chat_completion.choices[0].message.content\n", + "\n", + "\n", + "def update_subtopics(topic):\n", + " if topic == \"Python\":\n", + " return gr.update(choices=[\n", + " \"Introduction to Python\",\n", + " \"Variables and Data Types\",\n", + " \"Operators (Arithmetic, Comparison, Logical)\",\n", + " \"Control Flow (if, else, loops)\",\n", + " \"Functions and Lambda Functions\",\n", + " \"Lists, Tuples, Sets, and Dictionaries\",\n", + " \"List Comprehensions\",\n", + " \"File Handling\",\n", + " \"Exception Handling\",\n", + " \"Object-Oriented Programming (OOP)\",\n", + " \"Inheritance and Polymorphism\",\n", + " \"Encapsulation and Abstraction\",\n", + " \"Modules and Packages\",\n", + " \"Iterators and Generators\",\n", + " \"Decorators and Closures\",\n", + " \"Regular Expressions\",\n", + " \"Multithreading and Concurrency\",\n", + " \"Asynchronous Programming (asyncio)\",\n", + " \"Working with Databases (SQLite, MySQL)\",\n", + " \"Web Development (Flask, Django)\",\n", + " \"Web Scraping (BeautifulSoup, Scrapy)\",\n", + " \"Unit Testing (unittest, pytest)\",\n", + " \"Virtual Environments\",\n", + " \"Standard Libraries and External Libraries\",\n", + " \"Metaprogramming\",\n", + " \"Context Managers\",\n", + " \"Memory Management and Garbage Collection\",\n", + " \"Networking (Sockets, HTTP Requests)\"\n", + "])\n", + " elif topic == \"Java\":\n", + " return gr.update(choices=[\n", + " \"Introduction to Java\",\n", + " \"Variables and Data Types\",\n", + " \"Operators\",\n", + " \"Control Flow (if, else, switch, loops)\",\n", + " \"Classes and Objects\",\n", + " \"Methods and Constructors\",\n", + " \"Inheritance and Polymorphism\",\n", + " \"Abstraction and Encapsulation\",\n", + " \"Interfaces and Abstract Classes\",\n", + " \"Exception Handling\",\n", + " \"File Handling (IO)\",\n", + " \"Collections Framework (List, Set, Map, etc.)\",\n", + " \"Generics\",\n", + " \"Multithreading and Concurrency\",\n", + " \"Java Input/Output (Streams and File I/O)\",\n", + " \"Lambda Expressions\",\n", + " \"Streams API\",\n", + " \"JDBC (Java Database Connectivity)\",\n", + " \"Annotations\",\n", + " \"Enums\",\n", + " \"Inner Classes\",\n", + " \"JavaFX (GUI Programming)\",\n", + " \"Java Memory Management\",\n", + " \"JVM Architecture\",\n", + " \"Garbage Collection\",\n", + " \"Networking (Sockets, HTTP)\",\n", + " \"Unit Testing (JUnit)\",\n", + " \"Spring Framework Basics\",\n", + " \"Maven and Gradle (Build Tools)\",\n", + " \"JAR and WAR Files\"\n", + "])\n", + " elif topic == \"C++\":\n", + " return gr.update(choices=[\n", + " \"Introduction to C++\",\n", + " \"Variables and Data Types\",\n", + " \"Operators (Arithmetic, Logical, Bitwise)\",\n", + " \"Control Flow (if, else, switch, loops)\",\n", + " \"Functions\",\n", + " \"Pointers and References\",\n", + " \"Arrays and Strings\",\n", + " \"Object-Oriented Programming (OOP)\",\n", + " \"Classes and Objects\",\n", + " \"Constructors and Destructors\",\n", + " \"Inheritance and Polymorphism\",\n", + " \"Encapsulation and Abstraction\",\n", + " \"Friend Functions and Friend Classes\",\n", + " \"Function Overloading and Operator Overloading\",\n", + " \"Templates (Function and Class Templates)\",\n", + " \"STL (Standard Template Library)\",\n", + " \"Exception Handling\",\n", + " \"File Handling\",\n", + " \"Multithreading\",\n", + " \"Lambda Expressions\",\n", + " \"Smart Pointers\",\n", + " \"Namespaces\",\n", + " \"Memory Management (Dynamic Memory, new and delete)\",\n", + " \"Input/Output Streams\",\n", + " \"Move Semantics and R-value References\",\n", + " \"C++11, C++14, C++17, and C++20 Features\"\n", + "])\n", + " elif topic == \"C\":\n", + " return gr.update(choices=[\n", + " \"Introduction to C\",\n", + " \"Variables and Data Types\",\n", + " \"Operators (Arithmetic, Logical, Bitwise)\",\n", + " \"Control Flow (if, else, switch, loops)\",\n", + " \"Functions\",\n", + " \"Pointers\",\n", + " \"Arrays and Strings\",\n", + " \"Structures and Unions\",\n", + " \"Dynamic Memory Allocation (malloc, calloc, free)\",\n", + " \"Preprocessor Directives\",\n", + " \"File Handling\",\n", + " \"Standard Input/Output (printf, scanf)\",\n", + " \"Command Line Arguments\",\n", + " \"Recursion\",\n", + " \"Bitwise Operations\",\n", + " \"Storage Classes\",\n", + " \"Function Pointers\",\n", + " \"Linked Lists\",\n", + " \"Stacks and Queues\",\n", + " \"Memory Management\",\n", + " \"Multithreading (POSIX Threads)\",\n", + " \"Macros and Inline Functions\"\n", + "])\n", + " elif topic == \"JavaScript\":\n", + " return gr.update(choices=[\n", + " \"Introduction to JavaScript\",\n", + " \"Variables (var, let, const)\",\n", + " \"Data Types\",\n", + " \"Operators\",\n", + " \"Control Flow (if, else, switch, loops)\",\n", + " \"Functions\",\n", + " \"Arrow Functions\",\n", + " \"Objects and Arrays\",\n", + " \"Prototypes and Inheritance\",\n", + " \"Closures\",\n", + " \"Callbacks and Promises\",\n", + " \"Async/Await\",\n", + " \"Event Handling\",\n", + " \"DOM Manipulation\",\n", + " \"Form Validation\",\n", + " \"Error Handling\",\n", + " \"Modules (ES6)\",\n", + " \"Classes (ES6)\",\n", + " \"JSON Handling\",\n", + " \"LocalStorage and SessionStorage\",\n", + " \"AJAX and Fetch API\",\n", + " \"REST APIs\",\n", + " \"WebSockets\",\n", + " \"JavaScript Frameworks (React, Angular, Vue)\",\n", + " \"Browser APIs (Geolocation, Canvas, etc.)\",\n", + " \"Node.js Basics\",\n", + " \"Event Loop and Concurrency\",\n", + " \"Testing (Jest, Mocha)\"\n", + "])\n", + " elif topic == \"HTML\":\n", + " return gr.update(choices=[\n", + " \"Introduction to HTML\",\n", + " \"Basic Structure of an HTML Document\",\n", + " \"HTML Tags and Attributes\",\n", + " \"Headings, Paragraphs, and Text Formatting\",\n", + " \"Links and Anchor Tags\",\n", + " \"Images and Image Maps\",\n", + " \"Lists (Ordered, Unordered)\",\n", + " \"Tables\",\n", + " \"Forms (Input, Button, Textarea)\",\n", + " \"Form Validation\",\n", + " \"HTML5 Semantic Elements (header, footer, article, section)\",\n", + " \"Multimedia (Audio, Video)\",\n", + " \"HTML5 APIs (Canvas, Geolocation, Web Storage)\",\n", + " \"Meta Tags and SEO\",\n", + " \"Inline vs Block Elements\",\n", + " \"iframes\",\n", + " \"Responsive Web Design (Viewport, Media Queries)\"\n", + "])\n", + "\n", + " elif topic == \"CSS\":\n", + " return gr.update(choices=[\n", + " \"Introduction to CSS\",\n", + " \"CSS Syntax and Selectors\",\n", + " \"Colors and Backgrounds\",\n", + " \"Fonts and Typography\",\n", + " \"Box Model (Padding, Margin, Border)\",\n", + " \"CSS Units (px, %, em, rem, vh, vw)\",\n", + " \"Positioning (Static, Relative, Absolute, Fixed)\",\n", + " \"Flexbox\",\n", + " \"CSS Grid\",\n", + " \"Responsive Web Design (Media Queries)\",\n", + " \"CSS Transitions and Animations\",\n", + " \"Pseudo-classes and Pseudo-elements\",\n", + " \"CSS Variables\",\n", + " \"CSS Preprocessors (Sass, LESS)\",\n", + " \"CSS Frameworks (Bootstrap, Tailwind)\",\n", + " \"CSS Specificity and Inheritance\",\n", + " \"CSS Layout Techniques (Float, Clear, etc.)\"\n", + "])\n", + "\n", + " elif topic == \"Kotlin\":\n", + " return gr.update(choices=[\n", + " \"Introduction to Kotlin\",\n", + " \"Variables and Data Types\",\n", + " \"Operators\",\n", + " \"Control Flow (if, when, loops)\",\n", + " \"Functions\",\n", + " \"Null Safety\",\n", + " \"Classes and Objects\",\n", + " \"Inheritance and Polymorphism\",\n", + " \"Interfaces and Abstract Classes\",\n", + " \"Extension Functions\",\n", + " \"Lambda Expressions\",\n", + " \"Higher-Order Functions\",\n", + " \"Collections and Iterators\",\n", + " \"Coroutines\",\n", + " \"Exception Handling\",\n", + " \"Type Inference\",\n", + " \"Smart Casts\",\n", + " \"Data Classes\",\n", + " \"Sealed Classes\",\n", + " \"Generics\",\n", + " \"Companion Objects\",\n", + " \"Kotlin for Android Development\",\n", + " \"Kotlin DSL\"\n", + "])\n", + "\n", + " elif topic == \"PHP\":\n", + " return gr.update(choices=[\n", + " \"Introduction to PHP\",\n", + " \"Variables and Data Types\",\n", + " \"Operators\",\n", + " \"Control Flow (if, else, switch, loops)\",\n", + " \"Functions\",\n", + " \"Arrays\",\n", + " \"Superglobals ($_GET, $_POST, $_SESSION)\",\n", + " \"Forms and User Input\",\n", + " \"Cookies and Sessions\",\n", + " \"File Handling\",\n", + " \"Object-Oriented Programming (OOP)\",\n", + " \"Classes and Objects\",\n", + " \"Inheritance and Polymorphism\",\n", + " \"Error Handling\",\n", + " \"Working with Databases (MySQL, PDO)\",\n", + " \"Prepared Statements\",\n", + " \"AJAX with PHP\",\n", + " \"Security (SQL Injection, XSS, CSRF)\",\n", + " \"PHP Frameworks (Laravel, Symfony)\",\n", + " \"REST API with PHP\",\n", + " \"Email Handling\"\n", + "])\n", + "\n", + " elif topic == \"SQL\":\n", + " return gr.update(choices=[\n", + " \"Introduction to SQL\",\n", + " \"Database Basics\",\n", + " \"Data Types\",\n", + " \"DDL (Data Definition Language)\",\n", + " \"DML (Data Manipulation Language)\",\n", + " \"DCL (Data Control Language)\",\n", + " \"Creating Tables\",\n", + " \"Inserting Data\",\n", + " \"Updating Data\",\n", + " \"Deleting Data\",\n", + " \"Basic SELECT Queries\",\n", + " \"WHERE Clauses and Operators\",\n", + " \"JOINs (INNER, LEFT, RIGHT, FULL)\",\n", + " \"GROUP BY and HAVING\",\n", + " \"Aggregate Functions (SUM, AVG, COUNT)\",\n", + " \"Subqueries\",\n", + " \"Indexes\",\n", + " \"Views\",\n", + " \"Stored Procedures and Functions\",\n", + " \"Transactions\",\n", + " \"Normalization\",\n", + " \"Constraints (PRIMARY KEY, FOREIGN KEY, UNIQUE, etc.)\",\n", + " \"SQL Triggers\",\n", + " \"Database Security\",\n", + " \"SQL Optimization Techniques\"\n", + "])\n", + "\n", + " else:\n", + " return gr.update(choices=[])\n", + "\n", + "def clear_inputs():\n", + " return \"\", \"\", 1, \"Easy\", \"\"\n", + "\n", + "css = \"\"\"\n", + "/* Styling for glowing buttons */\n", + "button {\n", + " background-color: #1e3a8a;\n", + " color: white;\n", + " border: none;\n", + " padding: 10px 20px;\n", + " border-radius: 5px;\n", + " box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);\n", + " transition: 0.3s;\n", + "}\n", + "\n", + "/* Button hover effect for glowing effect */\n", + "button:hover {\n", + " box-shadow: 0 0 10px #4ade80, 0 0 30px #34d399, 0 0 50px #10b981;\n", + " transform: scale(1.05);\n", + "}\n", + "\n", + "/* Background for the whole interface */\n", + "body {\n", + " background-color: #f3f4f6;\n", + " color: #1f2937;\n", + "}\n", + "\n", + "/* Styling for textboxes and dropdowns */\n", + ".gradio-container {\n", + " font-family: 'Arial', sans-serif;\n", + " color: #1e40af;\n", + "}\n", + "\n", + "/* Container for the text output */\n", + ".gr-textbox {\n", + " background-color: #e0f2fe;\n", + " border: 1px solid #0284c7;\n", + " border-radius: 10px;\n", + " padding: 15px;\n", + "}\n", + "\n", + "/* Slider theme */\n", + "input[type=range] {\n", + " accent-color: #2563eb;\n", + "}\n", + "\"\"\"\n", + "\n", + "\n", + "with gr.Blocks(css=css) as demo:\n", + "\n", + " topic_dropdown = gr.Dropdown(choices=[\"Python\", \"Java\", \"C++\",\"C\",\"JavaScript\",\"HTML\",\"CSS\",\"Kotlin\",\"PHP\",\"SQL\"], label=\"Select Topic\", value=\"Python\")\n", + "\n", + "\n", + " subtopic_dropdown = gr.Dropdown(choices=[\n", + " \"Introduction to Python\",\n", + " \"Variables and Data Types\",\n", + " \"Operators (Arithmetic, Comparison, Logical)\",\n", + " \"Control Flow (if, else, loops)\",\n", + " \"Functions and Lambda Functions\",\n", + " \"Lists, Tuples, Sets, and Dictionaries\",\n", + " \"List Comprehensions\",\n", + " \"File Handling\",\n", + " \"Exception Handling\",\n", + " \"Object-Oriented Programming (OOP)\",\n", + " \"Inheritance and Polymorphism\",\n", + " \"Encapsulation and Abstraction\",\n", + " \"Modules and Packages\",\n", + " \"Iterators and Generators\",\n", + " \"Decorators and Closures\",\n", + " \"Regular Expressions\",\n", + " \"Multithreading and Concurrency\",\n", + " \"Asynchronous Programming (asyncio)\",\n", + " \"Working with Databases (SQLite, MySQL)\",\n", + " \"Web Development (Flask, Django)\",\n", + " \"Web Scraping (BeautifulSoup, Scrapy)\",\n", + " \"Unit Testing (unittest, pytest)\",\n", + " \"Virtual Environments\",\n", + " \"Standard Libraries and External Libraries\",\n", + " \"Metaprogramming\",\n", + " \"Context Managers\",\n", + " \"Memory Management and Garbage Collection\",\n", + " \"Networking (Sockets, HTTP Requests)\"\n", + "], label=\"Select Sub-topic\", value=\"Basics\")\n", + "\n", + "\n", + " question_slider = gr.Slider(1, 20, step=1, label=\"Number of Questions\", value=1)\n", + "\n", + "\n", + " difficulty_radio = gr.Radio(choices=[\"Easy\", \"Medium\", \"Hard\", \"Expert\"], label=\"Select Difficulty Level\", value=\"Easy\")\n", + "\n", + "\n", + " submit_button = gr.Button(\"Generate Questions\")\n", + "\n", + "\n", + " clear_button = gr.Button(\"Clear Inputs\")\n", + "\n", + "\n", + " cancel_button = gr.Button(\"Cancel\")\n", + "\n", + "\n", + " output_text = gr.Textbox(label=\"Generated Questions\", placeholder=\"Questions will appear here...\")\n", + "\n", + "\n", + " topic_dropdown.change(fn=update_subtopics, inputs=topic_dropdown, outputs=subtopic_dropdown)\n", + "\n", + "\n", + " submit_button.click(\n", + " fn=getResponse,\n", + " inputs=[topic_dropdown, subtopic_dropdown, question_slider, difficulty_radio],\n", + " outputs=output_text\n", + " )\n", + "\n", + "\n", + " clear_button.click(\n", + " fn=clear_inputs,\n", + " inputs=[],\n", + " outputs=[topic_dropdown, subtopic_dropdown, question_slider, difficulty_radio, output_text]\n", + " )\n", + "\n", + "\n", + " cancel_button.click(\n", + " fn=lambda: \"Action Cancelled!\",\n", + " inputs=[],\n", + " outputs=output_text\n", + " )\n", + "\n", + "demo.launch(share=True)\n", + "\n" + ] + } + ] +} \ No newline at end of file diff --git a/AI Maniacs Project Submission/HTML.png b/AI Maniacs Project Submission/HTML.png new file mode 100644 index 0000000000000000000000000000000000000000..4bf7c1fffc68887a7b1bc18b44cb2679e9103657 GIT binary patch literal 9262 zcmaKSbyQo=w{M_@mf}T2urKbCU_ncZ7BBA5gyIt1p-?uQXHSzejmN=L;BTVUy8UWzS1^@(q006ErUBNp5fQJA8uxkMTh^GSp zR4&=AT9Oz7_FEN2IRKzEmKls`;khUox&Z)WxBnI_Z@X(kOy?7KWi|OH8#qMIz}&1> z%n1O%KSRoLvO3<22cLY9EOP;CGF8{+F(qIWr;js z4DSKFPwdqr5*uWIk~|7W&sT?XG&-;cKUP#?k|iM+jP#D2bLDjP;T-O;-v09^<9AzI zY1!^({O62MdGTx0?HRkDOUAL`ULGE!d)Kpm=c`qLPX?|YxlaXE{g~S@_JS;~`|D7}1&jQzTs;hn%#UI6w5`SQef}3nec1>&~i*bLKX6nfugC zKz+9lRRYyVyEz{B8-?mDXrudQ=8u0e9O=xfB|aB*r;RZavK#fxS;aL5p|#{iZ}W@# zHn)BW*(QRHn$C{xZxaG;zvjBt;iM-WTXx2-S+o_#KkA0vLS?30{F2r-Y6{nUBZ8(h z1^QCIb!}W6KISXl=4y`)-n!xSqqnAEc1x^Oeu+IVdxqml3rKKFEF zj(@Ln{9if5FS;@Tzpp>b;S#!M1mW7N^0SRubpB-I|OExh* z&x;#&K5m@ss*m5sA)X}HmHzgT?neqz|7wO!I~XmwMge{qzP3fsrso*YcNu&wv_`sb zB{-xZ$R+_l`v8NkZN^^~aX02){v83{bJrA3T5~7LxWxa7J8f&H_snCF z16RUB)(V@?{?K*Kw%|5zVmh{hj{EVe-d)Y9-I9u97RAi;r77Q|BjG?2Pgp*NzDe^y z8bN${$F?^>#FAMevYsV5L<}Ts17fBGq_t)46w z-C^t3)ZDk%B1)NV?~0CxtW7WeO3tksoL+gp5-Q|2BI3hF!p>b=m!d3c`>L$5DqkVG zGyH~&i+fD9j8dg$V1P<;uf>k2u4s^0FNNCi#4v=6*L6s>0Xc3Ud5yr$y5E#UV*@?i zntxAbH3hKVEw7yU+bVFz81WRLD*j~hE6V+UpT~-XxB22TbXu=S)ijqik7Z6fX+0&F zL=@IR2w@tJKBxXJC!dUJ5NVC95R@BQk{!#y$t1Tw&s+9!Hjy8$pJ&4Fd~RLA7egOy zAYUVDl?n+&pcSK^CYF9`QsAl~(#WTnq_Gdow@7sj6w*JiyLG69)49SXzbwx5ZXZ_l zDLM+%d%j{436VHOjD~nmgW59XD0z-rIS@*{Ms_d@!(NpY%49mklY-s%K-QTF2OV7V7Gtma27ygm#-@H7|s!NTv%rpqg#iGcsszGF=>Dix;qx>{Kvaubi ztGnfMcjyfHzr3-I9Ew{YVffBJW_`9|De8ObolW(jp;sI)#@?T6K`?cMbKOTrm#W+8 z?A_N%(|M3^rOj5!Q0tZ@-8Pa;1^*&`{_U2PZ6#aan6&aOmp7L$Y7)U=S1Xu*q}!2j z&2QWKL#{V`5-xw!$7U&uT7=KX#u>z#eGI9j_>+yz6PY+tIuJKydC3G!%~CZC#*rS& zkISZ&Akc>=PYSc=Vd4A!<~3eg1WW{Q*y*s|=w7>a1mg(X*~)dRmB=U-*!Rx5#9^F2ZfWp$#d)0Zucmri+_|64n^ChtQ+t>bB$$kk!#rn&5 z3gWglEPVA7MCyP&?dHdkv}Ht*zb zSSg*p;De32-wco%hn0(7gF1OVsSUE5rp+WhE5#%RIqO$$c{5B-UYYBNZuD(vK#u^O7LBeJf7fZn?5qn z^bQy$4H2cK+NEpwyuqeOowtdIcG$lrX3}vHVBv>7L~EW|;ipFO%D$tXyL!_QNZbG* za_x@wg|R16Re)f>6+fXdD&k!Ww&d@{=t93TWtRA6;I9f>SZdx8C2%;I%Mf*iF2}Og zCMxsFL!-(lZhvNa8ty28w~2{`$3 zqw`VCUm?tpzAGquLvyQ1QetU~#SGI$E7#;9t;3}61eMw#PutudV}H|!HO4z1D;`Ow zxVJ2@R}OX|vcmi)C6mLb@i0FaF0I?W7%p+cXmRv)26N_9+oops>af-Hd@3skS3^d! zb5wW=4mRf&yim-miQde+gAt9O_j)^3NVE4Q3hof;aQ%;oTYSK%bj^{grDg|8SVNhT zn~Aot@o3teOuqgnHWg7!L5}GnV&Q}@5xlS*si5@uBoQabxGAlp^Yn)>b-&=Otlo(F z%dI9hV~?9Fi926q6txsCEH2MwP{I4F)@#ZyrFKyz5&%MHWJPAizLS;H z6#QCmZrJ}Mssg^4GH*mKOcXM^nLJ|Ivt=dF)GfGoIQ-GZ3UqV`73{}Zwi&F!)u>NN z2#eWs^|>Dl9QK9fI4XDYGjXdvsjVyi`BW7F_Tnn5E^ECRYwM$uHd6;>l~FQ1dhy8a z>nevz@$Yd;e6P=;JcH?9)`YjAW^ACr=I|sNAlnl6M~U4(roK%q=xwE?MFVe>41X3h z4ek3E(ILg-zR99?8hjnbNynz&Oq|_Er9xK~$Z>`Rcum~cPmT@>yto5+kv{z`awSr; zOr%QqYKT7vn}_8T{Dhe=>k_dnC~B=bcy`SbIr=_!G<^&r&(T4Br7gmw4!>e%Lo16# z?Uq31fjOrC<4`??)T;%CrciPMpFMIp6ENy{-$!B93AU$?ww`DH75Wl>y zJXy3`I(ApAq+O@A$cZ#XIf}GZ8w=BL*aWwFTPnp|FBk|*Come+wBVSSgf|jFm7mkO zKn+vm%@8&VOv4ySJh8nxl95?D zi%ru{5xNz)-%VOUM6FXWu#T+Aa2q2}J8bVdog_06rgqyWnKnQ9d17xL@lPz|V%zMP zkKeCL73GYDfDy-ed~1k#2Y)im5etc{s`aRhHa~TWiDPnjBXB{@px5>Uk$uc%Jxu{d zDN&cZWj|xdf0wWdSX-ihTITF6<;J~zGCLINjb2P=?sxcN+gTX@>wk%2VdZC^#&W1c(3dUsNsE+QkFia9phrvSpLKKyXla>toAoL~f>` zZBBz;M@=dwf?Oc}#45SkXsc_9Y9@#E>f-LFPJN@mtlu2=vvgPk>@fCCOlgkmDfgz? zKQN&2RxM9Ao{esUSS?;rv4o4&jOfs-KSK+*&w%l#NqNWxMD%-D+|8qavYSK{@CH3~ zQ9@y?N3F`|w$OxZsc%Wa9`a84Ob1M69Tp(co7`SWHP$KqTC+T;}Xz ze;%$2<}wNOhzo7$u)8>zSB`Uu(lc7QDW7rn0}svjv>XS=+mqokfV{}McR}h7YVtKR zg$OQA%ur*ntm-{&P*BTr!g0O|=_-3%-Q+|nviI$1p;!A5zra>(L@*bk!?)gu6~=HU z@8%K5{XRrj81H)auHqn==SAwv@%>$$tTK3g4P@(Wob@AVadp>;{i_8to&D}zEvHmu z4}rKKth018ID;0AbhsPDqq99HVo-UvW9Ha z2FKA3L>dS}xoMC~qKUdI9M{xmjDf_BuN~4GH#nvui_+@@LRq1qH|YKL)I6cF`A_%x zo`Exsx?nQ^4{Tg4q@VVX+46+I17}?fP3s>p)2OibZyfnvi)R-e%Li@kSumirUbd(= zfrW~I+$0$$B%DOsIDs{rHc7p&;(sNun3JJ^dvXXzU?gt*^Kt~Ob^&+cqrsiJ9GRy( z*tH+gv`<@PeA{JP52`SpYeU=f4+(=&6Y~EC|1E62jh$bdubAwv)pVoqkozIzDB#?4 zt62lT*@5(LL(Mqa#6OD=*y6-lG4G!}jByCoat?uudb2+p-o(thr_y)|ej!tPRQh!~ zd5O+2yN10@R2*S_pxL5;GDW8FzzqARum}N5_=A1r1B3K+<1DWBRwj_*vAm&9!5~`Y z#gKz|-b~KnH+W^yl@%QkmA_-Xj$iOP32lk(##$vJPr+1iQ8{%Ql?%-ZsGJSvrguEr z1{3M%gD~D5>*&mK5~t&`>pWrOxq-_Fi)!gOvdy?xnJ4_*;(F!3a%uQ>pZ^=%vA1eN z2#j_VsqJ@!7c~{;enR2~CkQPq(HSvCfaMki(GpzD7X3IvSk^*h5Ev0dnE~!apfVJs zs=kXbc#W9I$9?%;y7YvXCO#j5@+{SAvSEY~BQPH7wmlO;k&eu!PH>NvUQp3Ub=%K_ z?reY6bG{578DKlrI>%34P@s1vgsYNxr3j86({9prx|T=o57n9=YJONWX!)!3$O>mb znwDeWDNpk`B5`$POnHSCtKK7p-PM32Wp=KuE3pG7lEeFzH9rFN=Rq1LRuUFAZ+jR7 z+j{)+Bp?zBgdZKO*(@j)9l(;E&RxcW72C@4VI2Q z;#i@;0tD*50<{Dhn#U9DU&7&aFG$c`i%bRml_)z#!H2T3EZ!;_>q==Af-vs%)FHF? zdIc0#R{+)JQg}8a59~!=OQBNBRANJ!Xoluh%vZsU8}kbkP!{FSDFXVmSKh6NxTJ9K zqRzHItP{OSXUaH7;oBF5E3?EaY8EPzf}moaNf!i8Nwj{<>m_F=)YQ%R?vK`i5Z>63 znjV1*10!Rp?8xPt(=^r2hON$#ck3o(4WJ>LP?5j&qQeXbF*zW^#$|XAa{Y7g`+fOD zPIbLT*~Ay3eiO5O%vF9|slW)F%AXN^ zuI6a3mN)AU!%W(Hxu4ldNr)Fl0X>d(zZ)|hNNscZdpL8oFNl5Xq3&-CohD%M)&KYkPX|N+RT^Fl*Q>aI#fzLD^UsYL>hz zHlituM`rFEr1Nui=P5lthozN^6l^ndB{%B~C0SZ3Kd$bHEr^R9SjV+%9XDWMt^3xg z?k;n{FIzD?y+$=|Mg3^ifby#NS(#64fRWU~Mjl(ovA8!^5^3>v%d^aDRgn%7KD_AB zGMokhb(ZasQN-uYQiFp>f-Be6U3~+>F1TN0m3l#xFdNpA`(L@ zM5+oMiRUWFMKe{eCGnuZt+d3psszELps{LFy{q$0QC?Q#i?YyQa7>Un{N$s&NU4#3 zYYS^hi!H5nw@I~KbvkU6(N9&_^3fSi$|PCeo56J?!hT_kK_s;%?Q^u%NU1noHIt%- zq7L05;m*_br?a8!yP$&mt1aT;%prq35m;r)tADKWi%+-NsY1QcV(|cB5@)>NnF?dy1qGtEl98p&Kq^%p=qk*Vrt2jR`)(Sf+6j zxl9oa?^ii8awNc2&D~m6SF9^KsJ1H)5Ns9kT?P8VJdv5QIsF4i4V$5%_qX2Ia0JRD zbLbMUD|d7T;PNPb+){sIg5{A0f(0MX_7>I-kg>V8RiR2g3eXjPl)HooG1e*jDhA7t zpRxa4GXGK`tc9n)mb-2;ei>AY^O+*~8J=T~N0eIy=+WL%BYo=C#kNDCMB#llsyNmuVd`>|E++mueY= z{i!qE2zTKxNM-{4x2WaP5WS73otGl7Tx7CK2fiAStjH=8lN+g>8;umiXdcBvp^I2# zPy<^0Gb!!IT}b#W&@iV!r^Z-~)c6b~MSC&AO2>^mMn~nY2??cW7R^LL8VkpvUQG^G z+G7H{-eiU95oBUs%fCnt#6VFFDF!;J92CII(<<+rhRgOaV0PskibEH zfrBO}6oEQ;c&X=J?wyr9w?*KC3emj_PLz`Vdje|jVb5>mfs`r0CVK!+nz^gvOX0X& z6`fitWgn^JRe-SG;aX6`2b~v9r2*|DYs{l+tDD$42_l!|&gW}CUS$7s;g<4>V3O*x zra|b1u3lrVSEEPp3l*U7eR`vsVb8lqnP?$;M4T&fn*%cTq5Tb@~qs6umZO zL$2(Jh|Ht4NJ#&uiPUfb7n3(mfT(qnf6n-8hwjo=z8`!oMd_08L%{wviQkUk{y7Z%LKhlfwemxCVr#YdM?*U&MtgJ&PJ1n-(hPr!)8QoDIK8Zn+63VB7>9?=EHit7&}Pu8xbluNyR9saBjVs zn|Imh?4MOh+iapfS$~^r3g^uNE*AQo;#@wEhKu?Dnd`Aex+93IdJA7q_>qEF=s<)KR$ft64u%cK46rxCyfCTHvnhPaWhyG8B(d!JX{ zplC~XL6A7A0hgSTP+@qD$dc3NE!!b@^LGhav>_2#buHXFXD^q@zw@7y=rV%l3N=q& zE6Fjl?T&iRCjf?^nCyr>*9#Y_exJnEZ}^w7niRK2w%Ii@B91aMwIUerRk_Y+qfSbP zPHeOCJC*SI4^2EDC3=vSIiji?(W>1BJIx(=T&_xQ>|djiEh|nDjo{f3!+Ox$k+Icd zB}MvQmpV4=+F9eUGkB_?#Mpcs=O$yBHBVV*ZuY!)TfpML4q7!M2KsUHXocwVYhRau zXz(_Lh_~~8UKOq92txENcr5+pxI3XHMx=kDJ5=k#~-)OApyOCiT zV*FJ%Z-hLJqu#s_5AKi(b?Gqq_3R;*IeQa9|MQ=V=VXO8e;oXW;7SnrOfdb>d~%Qr zj^LW3l@Q2{;HOKB@vZYUbTl~|&C|al>rs*|?5YY;kH+Ss346XORKGJ;tVFqV^Rzy7 zl1XrL?u_knE$u2j{z{w3E&N8TKa`f`y>qR>3fsE2MYt_^LtZ=EkFCAK*`cr3K5B&0*5Xg4{SYtWKOpS~7WumBElDj6rAK__KNA*+E$l7w zAId>QMtEmKBnM=ZvZSYdHO7&_82$*(78@A=)z_I*Wb z{fo+eG0|ddz5b^Liqv0>XewWGB|e4k7s+Vo&$;gNVD0g8VGaoVrhH0;FEQWM>RR4+ zOORVelO05|v4*V9tK>Ac!osJ7IdVDq%%J;+Wc%z1$B)OwX4Rjm?K9riaNd}G4-An# z2d4#agD!{{%?7~8P~8(BmD-&Baa1f0KyErw>SpRCq*wr|%6p65vlMdOI%7qoyl5j| zo^OSPog_ogoKbNt?l7gOpQm|Ap1w)hL`~5Lw2x@SBrI~^>v`=(B36FoIqkzBqPpcR z@w|~L*g>I5w4hr@4Y6+Nd>{+DwYs=1G@p7?97aC(AX%Rej8Z_1%(MHQliGJ9TWN;D@?Nmim^?y%K7YMrkH zx)_ctkUku7)2=R3LQR=e_wWxcC{IU>GjTe(ei~$)qQWxU3i$O&l?9En`z|-~`mEq} zrm;VY{7OyDIz2trmt{!%mSz|*5z9lA14U7z*`~VfL_j?hG6^I@HZ`y}i{*Elmnlka zsoWz8YqcEDH~(&gVPT)FQfD2}(s?%Q@aC^Rl#aN@XrTrju9Dpj#K?ZAC@h1d3@_p< zttY)r-)3?z3sqm^M{l0#<*N_A1SS`&wp4dil%D@q$sliPR)}s%Afwpz=Vk2({s7j~ zn%d>}{utWYvl2HqzJ6qAk-2BWJcAXdSlV0f+aTg>fXdk#-}ZdCJCVH${@Wg?E>rB~ z^`&j0wMNsMTnQ06oWGRvcHy~ysvd)(bFZ1c{*x)-u}ihO;2-Ps@$h}W6}NlzHBZje zFG_mKV^%W*4`cKFAc(4K*4~Jt5BNsdCRIPpXRS5eyXg>RvWd59JU92~qU7$Zbj0lN zp9h==!@I~;hE~x4{67N*Y2$g{Sms&=dq0-nFa9j$JP+LW*cJUf4?BHSH(S_I)8G zaVjurWp_yFK>E<|!RIbr+M;wl57;^4vjyCy5zY7={42RMv!2hW%7DtZ$~s1-=Pv>6 zw8h~hhbL=U|B9bjmH83Fw4XSvSW2EB0`D=u@U=s=_S&1MnlWT#d#J@d$r5SIe|@I@+;so$%w^yAN!4?!`

ynv%b@p*7unhq8yzyX+tZ z2FAvWpfWNoVYX?%*}dbY^|=em=+52}!Jp=f`#C49orCwC-79~f56bj2#Ji@S#0bI2 zsyDl2(n#}2)BT+ED#uR2fMNCDceLw@J!2iKkZYd@L;(CW2`@aVv{dW7^4xC!(`Vy_ zlRN)L-5{^BARDCV;7QFQ?3(lr8EA00hqRptN6e&nM2S|!KW88s(P^)!L{ar%TP9)F(YzlwKrfV_b{QPiC##EjtV2WOP+k z_{x_}NBlOdSZD$Vt;hJa#vbHabw1on7p59e%-6T7?qART38L>a3J3K#y>J^tyk7~J z(QYU@i@D|uc)Q17P!@7M(rVH1{AO}Oj?3NHclcxYO7I1N05vy#`KRNtqxwKqhDq0= zkuU58L%e%meMLPvkAF`(7zxQ1OAP5Wz(Id zC?kj9MZcS3yJAP$nPEV@G_^xti34heVvlaGp*Q~TsNP6w>GIoFJ(M^xiGJSQnBbxE z1OM-$b38-`NyW)-t?!gC@4c+#dHE-^qC=IU$xSd{ZBDMiZt!Ws-|WEjx^%QH+ zFjubw-jXUxydS6o^D8YnXTF98s2^&J&KS>vW;Zut8Pd!)eCJ1(9yb;sV+aIE#u-kD zQO^5W71vXiqSj(c3 z#DxUKAtKxY0^$M!>O)02{}+R!Gu-x_&;Mb7=m?653krz~L;r_CMuxoBxlX{{`vW!rg5EU?Bm4ACU$BUWoZmL29;+ zR_;D7R)GJui{Hh`TBcS{9Rs5J4{d5X7!*KISPTk*LPVfYCDWBk4CMKLK(uXrF$l1b z%FCDjJki4#D#L$Jb>Aoh-q|`>VdlWb-O+*9!P(lG52NdL)-4VL1t`m_%T>O#2>CC3 CDbh>; literal 0 HcmV?d00001 diff --git a/AI Maniacs Project Submission/Kotlin.png b/AI Maniacs Project Submission/Kotlin.png new file mode 100644 index 0000000000000000000000000000000000000000..c6d3c5377afb6b7ef4987a14d87a638a4f1db1d4 GIT binary patch literal 133482 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

nDCFmT8 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Ν&Ps5u7sNorE^ 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 Q4n{0iSed6TbNcE30SMvf2LJ#7 literal 0 HcmV?d00001 diff --git a/AI Maniacs Project Submission/README.md b/AI Maniacs Project Submission/README.md new file mode 100644 index 0000000..096c7d9 --- /dev/null +++ b/AI Maniacs Project Submission/README.md @@ -0,0 +1,24 @@ +# Codify - Elevate Your Coding with AI + +Codify is an all-in-one platform designed to enhance your coding skills through AI-powered tools and curated resources. Whether you're a beginner or an advanced coder, Codify offers personalized practice questions, expert guidance, and simplified theoretical content to boost your learning experience. + +## Features + +- **AI-Powered Practice Questions**: Access personalized coding challenges tailored to your skill level, generated using advanced AI models. +- **Short Notes & Theory**: Concise notes and explanations that break down complex concepts for easier understanding. +- **Problem-Solving Assistance**: AI-driven insights to debug code and overcome challenges quickly. +- **Project Guidance**: Receive expert advice and AI support to help you complete projects successfully. +- **Curated Content**: Well-organized resources curated using AI models to provide accurate and helpful information. +- **Multi-Language Support**: Learn and practice coding in various programming languages with tailored content. + +## Live Demo + +[Insert Link to Live Demo] + +## Installation + +To run Codify locally: + +1. Clone the repository: + ```bash + git clone https://github.com/yourusername/codify.git diff --git a/AI Maniacs Project Submission/SQL.jpeg b/AI Maniacs Project Submission/SQL.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..7147f84d33e7cf4584b779fb1b340b6d835b3ebe GIT binary patch literal 5292 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 D9FCm# literal 0 HcmV?d00001 diff --git a/AI Maniacs Project Submission/about-us.html b/AI Maniacs Project Submission/about-us.html new file mode 100644 index 0000000..c943559 --- /dev/null +++ b/AI Maniacs Project Submission/about-us.html @@ -0,0 +1,133 @@ + + + + + + Codify - About Us + + + + +

+ +
+ +
+

About Us

+

We are four friends who came together with a shared passion for coding and innovation. Our journey began during a hackathon where we decided to create a platform that not only simplifies coding practice but also harnesses the power of AI to offer personalized learning experiences. We believe in breaking down complex coding concepts into manageable steps, making learning fun, interactive, and effective for developers of all skill levels.

+
+

Codify was born out of our desire to help others improve their coding skills by providing an intuitive platform that adapts to each user's learning style. Whether you are a beginner looking to learn the fundamentals or an experienced developer aiming to hone advanced skills, Codify is designed to cater to your needs.

+
+

Our platform offers a wide range of features, including AI-powered practice questions, concise notes, theory explanations, and real-time problem-solving assistance. We’ve also integrated curated resources and expert project guidance, making Codify a one-stop solution for your coding journey.

+
+

As a team, we are committed to constantly evolving and enhancing Codify based on user feedback and the latest technological advancements. Together, we aim to inspire a new generation of coders to reach their full potential by leveraging the power of artificial intelligence.

+
+

Thank you for joining us on this journey. We are excited to be part of your coding adventure and look forward to helping you achieve your goals!

+
+ +
+

Copyright © 2024 Codify. All Rights Reserved.

+
+ + diff --git a/AI Maniacs Project Submission/c-.png b/AI Maniacs Project Submission/c-.png new file mode 100644 index 0000000000000000000000000000000000000000..59e7c2c7728f05a9ce4bbbc88d38d9b0146c171b GIT binary patch literal 23890 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

jlL~bH0DwRU7OeV@alJokBv62Q3W`c78a>i> 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 avmx6*L~lhf&Vcuy1FDMZ2<&6Sfd2t=D-e$W literal 0 HcmV?d00001 diff --git a/AI Maniacs Project Submission/contact.html b/AI Maniacs Project Submission/contact.html new file mode 100644 index 0000000..efbf66a --- /dev/null +++ b/AI Maniacs Project Submission/contact.html @@ -0,0 +1,187 @@ + + + + + + Contact Us - Codify + + + + +
+ +
+ +
+

Contact Us

+

If you have any questions or need support, feel free to reach out to us!

+ +
+
+
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+
+
+ +
+

Copyright © 2024 Codify. All Rights Reserved.

+
+ + diff --git a/AI Maniacs Project Submission/features.html b/AI Maniacs Project Submission/features.html new file mode 100644 index 0000000..49fb4b5 --- /dev/null +++ b/AI Maniacs Project Submission/features.html @@ -0,0 +1,182 @@ + + + + + + Codify + + + +
+ +
+ +
+

Explore Our Features

+

Discover how Codify can transform your coding journey with AI-powered tools and curated content.

+
+
+

AI-Powered Practice Questions

+

Access personalized coding challenges tailored to your skill level, all generated using advanced AI models for accuracy and relevance.

+ Learn More → +
+
+

Short Notes & Theory

+

Dive into concise notes and theoretical explanations that simplify complex concepts, neatly arranged for your convenience.

+ Learn More → +
+
+

Problem-Solving Assistance

+

Utilize AI-driven insights to debug your code and overcome challenges swiftly, enhancing your problem-solving skills.

+ Learn More → +
+
+

Project Guidance

+

Receive expert advice and AI support for your projects, ensuring you stay on the right track from start to finish.

+ Learn More → +
+
+

Curated Content

+

Benefit from well-organized resources, curated using multiple AI models to provide the most accurate and helpful information.

+ Learn More → +
+
+

Multi-Language Support

+

Learn and practice coding in various programming languages with content tailored to each language's specifics.

+ Learn More → +
+
+
+ +
+

Copyright © 2024 Codify. All Rights Reserved.

+
+ + + + + diff --git a/AI Maniacs Project Submission/generate_notes.html b/AI Maniacs Project Submission/generate_notes.html new file mode 100644 index 0000000..e30d7b1 --- /dev/null +++ b/AI Maniacs Project Submission/generate_notes.html @@ -0,0 +1,48 @@ + + + + + + AI Notes Generator + + + +

AI Notes Generator

+ + + + diff --git a/AI Maniacs Project Submission/generate_questions.html b/AI Maniacs Project Submission/generate_questions.html new file mode 100644 index 0000000..3a49fce --- /dev/null +++ b/AI Maniacs Project Submission/generate_questions.html @@ -0,0 +1,48 @@ + + + + + + AI Question Generator + + + +

AI Question Generator

+ + + + diff --git a/AI Maniacs Project Submission/get_started.html b/AI Maniacs Project Submission/get_started.html new file mode 100644 index 0000000..119c644 --- /dev/null +++ b/AI Maniacs Project Submission/get_started.html @@ -0,0 +1,174 @@ + + + + + + Codify Dashboard + + + + + + + + + + +
Dashboard
+ + +
+ + + + + + + + + + + +
+ +
+

© 2024 Codify. All Rights Reserved.

+
+ + + diff --git a/AI Maniacs Project Submission/index.html b/AI Maniacs Project Submission/index.html new file mode 100644 index 0000000..fa90cdb --- /dev/null +++ b/AI Maniacs Project Submission/index.html @@ -0,0 +1,364 @@ + + + + + + Codify - Elevate Your Coding with AI + + + + +
+ +
+ +
+
+

Welcome to Codify

+

Your all-in-one platform to master coding effortlessly with the power of AI.
Practice, learn, and grow with curated resources tailored just for you.

+ +
+
+ +
+

Explore Our Features

+

Discover how Codify can transform your coding journey with AI-powered tools and curated content.

+
+
+

AI-Powered Practice Questions

+

Access personalized coding challenges tailored to your skill level, all generated using advanced AI models for accuracy and relevance.

+ +
+
+

Short Notes & Theory

+

Dive into concise notes and theoretical explanations that simplify complex concepts, neatly arranged for your convenience.

+ +
+
+

Problem-Solving Assistance

+

Utilize AI-driven insights to debug your code and overcome challenges swiftly, enhancing your problem-solving skills.

+ +
+
+

Project Guidance

+

Receive expert advice and AI support for your projects, ensuring you stay on the right track from start to finish.

+ +
+
+

Curated Content

+

Benefit from well-organized resources, curated using multiple AI models to provide the most accurate and helpful information.

+ +
+
+

Multi-Language Support

+

Learn and practice coding in various programming languages with content tailored to each language's specifics.

+ +
+
+ + +
+

What Users Say

+
+
+

"Codify helped me solve complex coding problems with ease. Highly recommended!"

+
+
+

"The curated notes and project guidance were exactly what I needed to improve my coding skills."

+
+
+

"A fantastic app for any aspiring developer, especially with its AI-powered insights!"

+
+
+
+ +
+

Copyright © 2024 Codify. All Rights Reserved.

+
+ + diff --git a/AI Maniacs Project Submission/java-script.png b/AI Maniacs Project Submission/java-script.png new file mode 100644 index 0000000000000000000000000000000000000000..c87fcf94d8ac3379396e5e83bc1be2caa0a530b1 GIT binary patch literal 13204 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 literal 0 HcmV?d00001 diff --git a/AI Maniacs Project Submission/java.png b/AI Maniacs Project Submission/java.png new file mode 100644 index 0000000000000000000000000000000000000000..0d157a47af93ca4a383093134416e8e18cebbeda GIT binary patch literal 34463 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 + + + + Languages - Codify + + + + +
+ +
+ +
+

Programming Languages Supported

+
+
+ Python +

Python

+
+
+ JavaScript +

JavaScript

+
+
+ Java +

Java

+
+
+ C++ +

C++

+
+
+ C +

C

+
+
+ Kotlin +

Kotlin

+
+
+ HTML +

HTML

+
+ + +
+
+ +
+

© 2024 Codify. All Rights Reserved.

+
+ + diff --git a/AI Maniacs Project Submission/progress_bar.html b/AI Maniacs Project Submission/progress_bar.html new file mode 100644 index 0000000..8ad9673 --- /dev/null +++ b/AI Maniacs Project Submission/progress_bar.html @@ -0,0 +1,14 @@ +
+

Your Progress

+
+
50%
+
+
+ + diff --git a/AI Maniacs Project Submission/python-logo-only.png b/AI Maniacs Project Submission/python-logo-only.png new file mode 100644 index 0000000000000000000000000000000000000000..20f36f4d4521494f8de713879e9ad1c948dad5e0 GIT binary patch literal 20637 zcmb@uWmuGL*ET#u4BaUm(nvQ*ND4^DphJU%bV+x2h=77fr*tX;LpKaa2}n0ccYP<< zbwBs_zR$LO|Gpoyv2o7H5i9n!uXU`0C=E45983yK5D0|xQb|q=1Onp#9|d#>@Wd%@ zpa}SZ;iP2X3IZ{EoaZ{6OTx>$nVzkknVwnbpFN_`}Wc)3us3?^zv?{b}Y|Ty(nADwA_xo|~)oN%siN?#%8BV)tYxl*w@=Y*4^RITF==q6ZXrf67MX)|md)SJLh}UsKA|DN0eV_^X z(j)l=cj@If3eG#ZTykf4q+PwR4-2{GNk-F1@U}x@03P`T$W8d_RQ8wNLcRM0+bie? zh@Jo>(zUYL-L8W7LPEri0hxv81j6HAr2E?)zmN#Kib17@5kq07#!L=@Tya8oO%V8* z`f}0hcKJ@+;bG_s2a1iYCvY9<+GtlYbocfwO4W_RHxsji7Kyx{ICS4a0{u-?E{d#4 zqA`zmr#mFpkzh+@q%UWBPE+Z@R6eg)#QmfJK|*x@MDwY0$9dTqU`A?&Wifq+ru8TRdIt;Bs~G|(AtXM9ukqGXsfS4dh(Ff<9X>qy4cN( z;3`XwA`@)9X?dR3olD=@S7~j3i=2^3qv`R!xS zt_B>*2On*aR{U2Oe~HhfEJS}hA3 z7O;1DI`z5Ib0MpSE#}q<^2#LL`CM@BKG<(_lNv5+p*2t^cJ1-xFcS`WoiDM1NEDwYb(DVN=DRm*f$FYbiE7Fu8#;^;oZx|8ucuu0d7+ZN?o@4^0q zs})4_)H5wWu*#V~EL94|VVCMWQqy}gk@m#Ruo62uGmcLgF=e?~6-}fKb+6H5R07a>Ik>EP;Y5}=cW-#4ttqNMfvI{E1UXJn5FnP>cz9$ zn6^t>c_u8Ja%*yFP<28~UNg1gTbnn54!bFsupa^)kcuvik#TF_165^h0B(_ zcZ~}9SyIm=?jcZF&!nG7J=YdAbM<-mkLxvF%5O>c6QRb}Z!Wcuo!MADCyh;1aEFY_ zCG+uKm=<$S>=5baBo_FMyP(dPX4ajUJI-TZF_v3fJN^CmEVcOtcMi+s6*zvM;AGM8 z;tN05=)fw|=e8f8%5DWgMeGsR1sEOBnCI&hg2wpz9XO4KXNCMGrlCJ25GH@`Wgqa{ zDL{szLV@82V;mu>7OV&80;Ui$G7n z?J(=(iCZ&@QoFI=Me;=JEKce>VSAXH{_z{>%b=ORfoU9Ja+vTjr#R?`CgsA;xGyg5 zmxNGqQ+Zjmj&M&mOLx2b9rpmA>!O&it_$MEuPv88H7kdeV|7SyFkQ!L zY(O;`x%G4CIP{ON3P!6N(5d+c_Aod)wIw%fy#!g(UesbUDd$GbFU?|Xtczt4y zEkR?WPZFBcG(Z%3%qmN-v-0s+F8hSOF37cDn$;Fs2TU8pGW^_wI4~MfO~6e|{Tbtp zH++9Lz;$F55SytGU_r+vK&rOrYfp zSStK-#CTt+DpQQfqvW-$u7%Hju6EWwui^a7(|=t66^sQ%Xmp@e+84NppD#>1{BD}z z@Ta-@ksPe?9L2_}|CS$>UPX5$FT@jnVDo~0N%?eMgc7SgI-F1rI+)x-4Sy5WvC)wNWQ3V1Ph4GeZJk|V0WJcDz_*GK^7Pdg=Aykc) z=7qL}TwQ}I?98kOgl;D+KnQsEeVpDf0FOcvtgG4 zK6F7C6U~CN?*0_@bdsoJK`^2wf&_ot0LbuVfY%!B!C`cwwGQ=t2? zv`b!qL*KFMO%7e-9-u>vwzIs$%{rAp+#5$m;(%ATinP~LkU$|hirwUQ&N8goiv}yH zL1m>Rx_r;3p?ZANrTW#b6qr!Nn9TB?0o7-jQPI_!gO&#C*SME_p=LTG>jO@2R#Kxl zcAL(R4D(5qp$H{8NG~ZSIf&QLeP_e5f-Sm#8<>LfQrhQQ?hhyP!*6UC_(WG_7d?g2r6zd4(OjpQH){!{M3hMk zkpKFj^vnWS5<|B6pb)u;P2u-r%72KBS4QSlj$=#U>=ka{(U>g)hGkemoYFZo`2v-L z0zzC5>u-8GccD^?zTNDXw4hZRYH=GXaXkHxrL2mo zg>MtN(FftW&rzz!;L+ib=dUZCGH0UYo{U@`x?cocLU+l|ofS#LywF?zvn6z%3V z)IVYeQ!Q61s#%>=RU;_fGg?qVfaO)u7Uo`siFl;D3#9+S1ff7`J@pm6d%5;qER8B^ zfEZpc8;ctPrDoLkNed_RP?L=@5^a#&auGfM+T8QbVy#r@>uTx7}^^An8SMZk>yhu3&ahnLLV~fa=yj^{Q1bEdHCdmB>d9 z94mXAhZ%y?>!4-<*fX=L+#FfkUcG(2ujVQ^I0r6FDpI0N=Qly3SWH0RF-hY{X)cYR z+vm&(7;PTln?cpbdIo?s@O;wUq9S?QDenMgPCdn>582BtqtFvbrW4T->eaI(Ihc`u z_RTheoElOsX6Q_UiMdRH_-*7|4=T6L?@HvG|)}Sd82kPRklNSCFxUH7@?kk&S6lKxnkMr?`qv| z?*0IvRKIUa<48l%$08}WW<`8w6xeYjxX{V0*mGIeaM7(dL+wQ8prEku*n{e|#P7`j zYd7CYWMbG;IZ3$Jbwd$#y~o%LK0RV*RZ8yv8qhHP2zPiJI5v2nqRw_aI15k@+fG0p|dDa_I3N(+JeAR zXnAo2dzM?3Ynl^IJ4*2j*_9bS*8N@+_G|@smK2!ph3&p(NrbKY(JY=plZVeKb)U8A zb+M^@XGfp_QTCBv4Q7ut&0lkVeXQr@)==^!_kyQFQ8qK!6g=v_J{F9;1jVpMg3r8A$sTE%gG-eCA#nVy2Xb?3TX_t%KU;R##>?6$?vv6sM4 zfIjcFC2(s#5Ks5iZRADllvPyM4#41C_MrUVJ{;!cwZy+lVnEf8b{TGiy-a#uJOQhF z``cd^VyX#?Bf0LHM3F>mfBD3t4}9d<0}>59K*lq?#cvlzY9b(cn1i|wyE%Hf@$eu# zy9MXs&z`p=!MQ7Qy^%uRq$%r=T0PmDNX=;OsR>Vb*Ol9)%SY|-=xKzjQJ^feB?-?| zW}5GpbD#&JFP;yLf$x4A3C-&x{>fC1NIV${{vh>4(G{jMe&{lQT)A0pHxGF5IZfj7 ziea0%Lwek;+qnX3;Ubhi3Aaz25NL<_Wo=VsAv-bFnKvc&92=WQMMNA<7=er(Qm@x6 z^ck$S2Pabf)+j2IlFEJu#+QB4=TQH6X;I+}-^H5F3H01Ez1|KCcy@k2X}|RTC&_Nb zl?~$Cx!c*={IfUgn=sc2abQSFh$QY(q~1$|OnI5_*zwVwdjjE2UEd-)+;=FqWM#-VsLky$ejrJ32JZj;p5) zD1Jj47B4VzHPcX3>EnCe2L6rm5fvHPjTDHdqh=}@Ww|ek6(z%#K>fCZ`tPH}l^AL(`lKB*g_! z$%8?~-O{YnYwuCkpU}Y)j18TXgkv!Y;%X~rJ?O7a?LlRMGGc@Hoch3YIbD1qP#}%L zM4fHkxv6%8sbC#>>YCBzn+G%GcfNuI67jtLK`PRioTfXS>wG>b{F72OTY*Q4Pj!SZ za(w`$!q(_pi?sso#R-gA`i_CkewrkruzhI5_b@DV?XS$vZli_cD!i}PL zA^ia}kgOm~`1f_=wa=z>|E6KKss^yVUw1N^U9>Kk z;Hj?Jn3}7G13vP%uXPu?7?>y7D?yD?!dR=Sxz2w#76h5^@j&l_6(V{K!fk-OL~zQ~ za``_nj(em05+94xNf$ljB{svln2hO}|1H2Rl45R%WydU{`%7pIf!yt84? z#0UWchBp=ROnPsBlxbo`~ zF7ib`$ss%^dmFzYU5qQZ^?cf91h`F?yqjm!N3dDDZ5Q2MC5j9p z3T!clNvT|&jDjkHadAIen-b5eDIig(0xIuc<&4J6BAg9^?9HsNu+MIX|Cdr4G~-fK z2NE9_xUG2}V@AWn^~!_u6FqLR>LQ4Bcu87UqNzDDj&M_Ii~AcJ%zG(Nbla%KH>&?% zZNWSJ9=Q)1mJGJC;4IsTHU{QTFy2qE4mURigh`__I8gVfE$>t@Ml@yxdb7^SUcpJ4 z8dWB_6%FVqQDVOLE#Ltmq4+K9nR_2D+3d@u^RAWGm+Ny#;!wZ6`Nh%z~a~Es^oI! z>&h)ClC(A+q}{wY0|p=OT-JF2!d|rTn@#Vfp@EJp_DpEtuPB*(7z=CpA8yssVX_7dZ8w^&hgJO>1HEuLTmH6u8OpJc>=> zW51g29Dz(wjQm0Om^2#&_sv=(3s~}v{CBqzvosEsPF>9$ZH5!>54#`&2&{?VRWFhj zJ>)gqIz|RsL4aJ~h;H_lkl1i8G>tu;G*CgHnD^WkWL|yV9jhf0V_2~#JRKZx{p|6D`GsULEtQPpP zE;4A$E-JHtd+>h+A?{C~!{5OUuRH2{XAUlFHz*`Zu$8jNWiSso-k>ltFKi;<5N`$?CjEg$#>fium8oNfdRWg?HG+)FT;}{3CzRm^H|F0q8l%w zp!}J+7kjAvn~rnoDiNOm2MN91HSfpypaHa$VeVOqIoasHYCaIvH-P+DDz#-2p1uzv zZ{wL>TK(8=Q4|#L1GihA@ff_72CF{1STcF#m?f`V=ngPiDXJfUA;b_)rw5?QOlkx9 zad5MXGwcQfvhcQInU-ZLKL3>&!M1wH*L?QrUx#64_2%kgq8+5_02dw4G^*KbVREn{0XQg_swBtp=w>ap3Xl>xv^!V}aTe0uJ#4 z?u%Q~(U-Kv=1Kwi%5c)@f;rYB0*FJ%L#1AtSrQUwL61bfxLh7!WsJ+Q9z_-W6MwiW zqCLD@kp$6s{1%|Cn^~hsPEc}BX5Pr#I9-`%XyptGbNy_=Nyn7;zsNv@--gJrYk2vxzNoGDpia4Z&CQNAY>MrEAeV@BP5 zD?W7mH+;FELjq}Uw`l*oH4-&FurvwQ<7Du&#{ZzR{z>e0wKBVUr#k!Q7N)YuINj)? z2JT}Zb6IwBO-)`W#l~OO?!lZ0I1)GU)@%q|v;OXulJ(;C^J`JaMeAF`Dg*&e?rJI; z9h^&_qNzu$T%`gA!^fQjRw&(mr^dfL-c=-wJReUPM$U@Nr^Jq2lR`6NQPi$JD}-De zZmhSb8hX8d@Ckd|06Ts-t7ql^3S?Mv&M;lpMOkZRo~`3KDOdkaXjHKNatV@N679#& zNQ4>*Ty&|FcKL+FT^HKNDRYpq(@vQ%9^^_ss zt){*`q*M?5dEZLhK9SqY4k=f_Rt@gp!BWnLnKI6I(?OK|`2wih&i&OkmAg;_!)|bW z*q0J;7XBHnuGUWf>jyt6DE<~VQMT>b-G#dlVK7eM(H=G1^slHhq9RW9PHwCK&=4Xi zeDmZw2Zlt&4A2hK*Fn)PmfJ<3iV(=^yZ8P(_KQMOvnTNr;7sB@d@1SpLNuY-S%=Rg zH(~oM=nA36RkZ4;j>opcHdPm~TlbKJzdZ(oX`mBvkB8>}1i(Izh^XB_xaZfEiMbSx zakL@ulcy<2<8%P*C}aP&Ng-$LR)wq2HpCk@t+M*ZnFlpk^B|7cX}2F-3RDGmW}-2X z*Zy}Xq-w>xPXUB|&)D;N;y?s%DPq@JetY*KGX3EEwfA-lVrAoE{@T0R)7b@ZlYnU6;Xz0_a;mk@;Tsd}(qMcFrQ z2nLJ4NFe2yT~~G{^BW`S)eWQfYDyRe{0)MKRMC2(y%``;y#hNqkP(4Bu>-|g9Vj&y zs+G67fy=5*2}8P$1#TI#ut(eXlZK~?O#eB^3!hG=g!y3UD0^=S0!{X za;!Bvd(6J^n4n;7La7aNP`g37aKg^#TF#sG0n?Sz-|EBl+U3dLlS?40+EV^2r*Awb zm=~c3%Z<+o4%@Jum}aWY8DH{1`_d+)Zx6}|u|wj11?N=fWbf%5678rTF4ErNSkz#_9qdfHY^EaGPkZ`u^U)5R+8ZaR~S@&FYoUn#+9wd#Lh)WvBZ4IMA& zN<4HR&Hu9N`Jy^ZA&!zx!fBZqUkKbso`@PF<5121LZj=P=t`;|mFLSJ1ALj~_-BF^ zX&kR$=EEN%-Z@s$hGr9O6%Ad|Rt8f(Y|@Ujah$Cy4*fP(GrR8yKsr(Yb?{nXKJ?#f-Aeg}MpKQLL zN@%?ouG-@M+w?V>W&DTCNC8OU=DmkdD&-Eb*frY=4N!Zw(-R5OMJx1=96y#Q$k=SM z$@S$Q3Rka1q~G|WWk0~z16mj_G=As$?0MZ_9X`EQ1oe`+hI0e*yKOQ1T7^i3GNodr zv6z{j)BVCi!Fo^;HL7&h7}`Utxva6~E_r#o{Sxb5rT3(JptgkV=tb;Yn^| zpM3>&czdq#%+0y^(vi>d*c*Ztqz*NY!lksC^Cm14nt3k)qgOmLvD5t|p~sR(8~Jy? zf)S5wn5H5#h6C&aZuRU<-MlONiSmT*Q7D}p+z|LVWE;YD8%JF7xEHT~s&;uE^PKw1;!*&$ zqZ%}YR7WWJEik0IYe5BVIb78^r%A@EC1g@4T~Qi}QTVdmIIeSn5ndepyzVav+u*FI zO8d?w2|ZxsUa0bR#Vo0PCg`ZMD6*Zpdl!2!KeLBB z@d}B9yyi`=^Sj~Nr7NpoCo!kfm(p*jiVNlzp3hs!83AB!(Ak4`>z)no;vdS zO}NR_jfrveA@VRg2qi*E6L$Qa?U8)%&pAeJBq}0>t-55>%2AI#w|jB~mdq@q$;P!j z;vKe-D%ilASHo#1+L-iS%zxlmJ}n)ur$dDx#1C2#i&m>l=iLvShRoelRku0ckZczC zoM;C=C!-F-mVL%Q4*=rjo;NF8%ZTwvP>Wq52m|tnQ^cCWY zQS-E^%r!anqZAc+4wLuwGvCJqH&Z11d`Ge~5}}cE0{*3SAS}?gduZlOhg-R%ANo}( zQ>*b?t>H?msn`HP z+jQ%mogkRsaoVjO5mE_;W|!WN(N|8alMsjCX#W>%^z8(N#t*Gje@Nb>Zlj7$E6Q z`y0s+%yGwjRXWGqHU8qk5p!xXAx~@xefu8qLasDX`^Vz3mk#ag8leY@Wd>3Te zLcoFHMQx;-HoRPWJYC;be)INsR`1Lo_KoMD)b>bGbdnacpbP~bXek#K3Ww0DJLcxV z>BeWN;~tx*%Q-P4NLx}M9im-a>g(l0>8p_uud8=URH0P% z!g?~K*d*NbCagDfM$tyjOg(LXn^xSXInouYFIJ>LTV>GkV0fgMDh-@xMrnVHf|3{D zlv(ydhbdQ-cGg$@x9+#9cc1CV%U8K)gcdO!@FhqGNQ5K~zASaDS(!*OkZy{Gj9KK@ z9WXErft2o(FJ;pto`mj#RG&^!vs<`(YBw`WDfQk%o*+%JLcD%|v?Cu(I-0qe7k=&U zb=7Mp!259d^BZ0#{vrw93%2wEIvu%^VEwwPp#uiXCBHfDfV(fAI0T;!1KY4o;+p?d z$+$z3M+G=jv2IYeoyg*F_Mh-6F=K=WrwmE)(%}ecq2>1|6e1D|1Kj;mln=4}h?Xl? z(`MQ(%sTgR$Urlz3v|(xnuHGaz4wy)aXK7KFS6`{a|YOh%K{dMpl7btJr;XecdY26 z>g9mRuV{R_RRzDRN)j`1zdZ)jsKp z76k_V;1k3TA$yok;@;A7j2a3;zDGm#Z7_Yn}_xLU&M-DJ-Iq$p+{nTn(K>r``&w|h4=196w1$XpKiKbH_TT3G86{5yk{Bri z4S~Bdv5LPp7rYYoy9>Mk z>(`H+1wHp%LC}&WK1n>rk#B+VtuwHqAtgpg;jxF9CbsIj555I{<*s z8-2Tgz&jPUcZo#N;hR2QATbidFQ*rc+Wpr4)EC>^2gt&F1}r`T#W8v>C~cTc|? zd2}PPyEoR0k=rz%trtzT2#pC%b?ay=tpl zKA7acx6a`r-X2n8sek^f(@*KYTd~aABfffn{-)i6k;=wxL*VuL!@|qAxE)X1KXAr?AB0Q#a;%fdRoLqD7M_6e0XcX z8_%2M-on#F=q1Ww_izO_h1=hhf>i49S$QUbg4gU=;O%K2j;frczIG8 zfmB??y&K3-soPp^-T!qN!gFpPZ-f(zg8x`%nJ_%jc#w#8$BGd9V`(3Jrc9m1wpr41 zj^z&z(IUUux{j;Y6MU-l|EfY~-r(ImeKe7qomJF8g5!h%h!lKPiPwhJWY)d^!cJN*n7u`Ny+Pts2A0>Y4Z5!U+~ zi}>QK=s}bl{lWBeG7_aXKk7=?1|)~x2M6n?58nKXRQ4?5IJZC%1OiZ^+kRq-dv~14)eMBol`skm^l}YgTd@ zuoTLTk*c-s;Lu*(FZs_nRKZc!uXlN5m;P~rW-6nt&jpg#nvdoW2)=c^0kl$Cj3tl@ zbbPYC!oTMr4SgYNfGR7v6L}e+%0nE`Cr9j|f^3i2?A;SPjsown)oM zjc}JH?i2nQp0l`**(QuBU#-oT6-69+4Zpt_RzeO;2#CqBBiisR^r%gpu6*oSVR3qf z^WFW@<2yHQrSlYd8v~V5&GZB!VaV8Y?pIp@^i7^{-hM(=v02YO z@mA*Y51cqLvalYP9|f0oxu`m6a5=2iU?-1u(mCqZ%^q!^!=9x*CqT8_jD7z5c50jH z(jwzRbIK=XQ1ofc5O4T05;yPn+LuRT;b`KfaG9Sls@=W=Pz3ybZVO3?i zL-|Y!uD~qQzjiR^JU{%NS(h&w0!lnE%n(GsX{~##%GU>MO)bxDw~Dm%7?|HiJ9+m1 zNzT~&b^6MSS)63)A*)a?*V^vx@STIzQqM1$^tU#GMvQqT#W-6ivcqM@iO5<*Y2zL> z6YZlMpaEf(g9DOq8-7X_=B$Xt(s;j>Ru`5&8> zStB1@UK=F+~Q5 zM}K(MUTmi`S4Z{qB>#SL!SU3qA_2d`MkH%N!qsP}4uG59*#Z#;MV7UXo&2XZwyyMf z-*T!N+0$A;ShBl^NNpX|M*m|z8Ex<$m-M~ZRd1^Iu6y0^mwituKu#x$Mt&?oi&@?U zPqk!8lb*sOpP-k^HRQSf3f63~_&;RdspesOSsj!;WZXOYZz!EOd$s3SRHZp@Q4||; zxV`V?F~ms$s@m_Yyd&lh-Q2eX+%``q+iUNd>)3(H$c>yep5xKTpB)sfrcEp}KH6wh zn_l@^1BnnJvX(21*FXFoI9FRM+BPsf2P9&>X7&BdDb>i`;H3%3cO>yB?SqW zqB64MTiyLSL*c-qI7Els&SXf+D{*E&uSlUyUFAA-rTiyZ?ue1ET5O zL{GQ!u-`NOzerl>;nhUY>z9Ps-G8DBCZQ^ZXKhr8?0Gg+Ul@Dy>j=chT5v0?5d0Bj zS2pn~{l>lO=8Qe+HN3x4vVa(dADW#vCDBGn)C~AQgM;_Fxqs*LVKo1l0n=>}OE|u= z0OnZR`=qx)>~ubBhss4UG_nGVYya^B7x9+9Q99P|4d%B1r`)Avk^(60e-XZMhBVsd z^45jQ=S>I8%i%3$0gwrhsd{@3^_GAfl293^B7#80ViCH*^i0|q;p{3SO5!D^m`eQ( z|GLNjr-~3i`qc;$f}J4oi${YFIPT9VK!-mEg=nCnKUT0o+33gL39)nN%1nwCsFRx1 z?i9BlAwSAhee*C^cJOBVa^39`{SmQODoHq+?Ze`_0)J8I$7bgQ=-#kh*<9;SHza45 z1o$wKpMqwt7**{Tbwlf4$RUF&Zn{)<8+}jb+mKGOc|3&x7GnKCFY={i0h=OnKShP- zcFagJf^6<@eJ5qGSbgU^JMyb-D#@1`a{h*=m05eLF|@hc&+&Q}Z&PxyNtr3YK=H=i zIB-Gfw8T(d`Inu{_k~vzrMdJAE_V@RMqfJ+ZM&#VS`SdFvIgBobsngp0 zkBGhV^ZVj5Eb3Ek&%;j7zMFAM9aC)1v0R6C`O49Y|0|8jUJv8Fi1}>g^ZxA z^6#w$Xy3Uzt|NN{JV$5Wihv&|i~|vIeI2l0-G}IXJnaY4a7CG0_x3A^LWkKuF%XMW zn1I~;HDdY!(yj>dUF&-9Xb@+65_Wh;1ipSAm_4wxh-&>b%S8G}I5H-hlN>uxt9p2a zN2MRYGefK|`=33t<~>nDf54k4+Y_W)NVLTRkenQi2^e!KbLq`CCn+zGFWdG5=z(tG zkGvrBR|0w&&#b>}q>==!e0Dv%iqKBtw78cZ;s&Z+ah*2@as@8bX2pvB$ughnV#Den zsIJU&XLVL+ad9XW8QX7}C;klE1l}3k+AUxU8Hx8fI);*`TW?jJ?8KdbHo)XkGvnHq zpyI7%>tqw+$HLjdm*uPo=hHOT=VKNKWC`;z6fxE;>kr7|nc?YNCr(mP#)ZrNY-+Zo zOraz=&#s?AlAoJfdkM)2fT`zF2#Ch zVTB}xg@syfy)~Ay>`xHP(6HEvNC*o9?zq&EFFk2>1i*XlgKN~7S$`+cygZ(%a44?C zyESW3RG4{Xe|h#!Jp|pjfttC<3xK7F(2B(=YcZhy9iP&8UN`9ZUb}0=<+BsKa*PP%8?uD%)bf5}!;Ji5FMGZ7_vT7dl`{tO@6{d|pep9Uh zv^!!JTB+|jNihQHWT(J&HNL4lBY~xdXTK5m=%FkNB>CsOpE*6SBT`FI@e3%n%h4O< zJX-PZeV9N)Yvcv)huP)s^Ffz?s@3Oc2w_rYVD)D0R-WRs8NtSYn5L_h9$O_<)vO`_ zz`&W<>ScIrALUiWH6DB7zttsOW2H#u7es=?)MZ6@?dbthnwb8;6+VR z03^5vpR~3kM%%A@7`V%=pPE`Ti^t$2_ZzV(NXer|!+LWmfmz|Wz&R#I%u>O!qb5qZ zb#Z&NC=Ty){0QzXY$-Q0{6bo=CsJ&+?=5Ha3-z{jv0MDCw*9f8F^D`gU$nDUWNj*z zMpb5*6SY1*yC=NHJ}SFn|Eu4mvwRnOf(iQV8ymbO#}Fql)dAa5r-IY`RHxH?gEQwi z(b5T)bQ9H*@y^v7_!h~Yk}O8|=O3|vUpf{={KYn2+G2S#C)^H1@(G7a3?0v@sb0{Y z-Cf>=>BY-R@TxMXji}Kcfi;s9PVk-I8Ui1S=W@$KYqqCb*vjq7%a((ifaXySH%0#5 zSXrYoLe6>J2T7Z5vGH3iQS+n#s|_Phd|^}$8%hf4G@1@&5YaOpJ2 zv&HELDPaA@aBGw(Pw7u1Baub>fUntuaQ$$8w*Q(k04;9+#(gIAou&2^XvL4~Jp)In ziIFBU%OEnB<$YYd*P(>ujJ9j8ntgKY>F)1sEv1^3H52 zXkZd?Kmu1b`Q!xdo)^2(Q^@g)SiY+jd7**^^evm**13~;Wpqo|2;1e+_DFbROlQPs z^kHro6Zcp~!AES0m#B|j>m1%G++0(diphPdttC(NLdp9{i)Awloi{%;hU*J6<5nq;na#HtO5J>TB+F`T!jof>ZE{lG^<4JD~ zLpqDl|5X`4zZA(Vselv=M<_izo;G_%cKNIJkGaLRYH}JCJOJF599hsTO2Thmczr=6 z*tj855O_JSy+pkso0(i5Uw}-BmP`RybaXgwLir5tQchDROJ-KuW>yxp|M!NF^X@y} z2c$rB`PCwBPx|)Wbz$kn4<9C91Ok{K?oHVqr{)xfr{<@5-Tm#Qjw^~q70TKMQ9sng zkcS>nzfvAu@y0J24gGljkp}>!<>Jac@PzJ9%D;@S-`sqvaHY#vNjgZCsqFFF@S%~M$LjRE1yl`scL{z7rwx~<2 z|M+8ZBRt?O5BhZQl{vKS#AExbSktCgO7V|Mq(d-BeY;Qw1Ue$)tzR8BoHKv`p@8(F z#p5~ErUxkRH-AeeS-v*f4NsH|h5te@4e0T*0@fv7kTr3;CJ4CAnE;9qa%30&#nx%Q_u4-!jtdecUlqU}zu4?LCKrwhT$aQ7 za$CIX?{hE8k_3i+k9N>6b5JxM#_P82xvgXHcrNqq;k zzYp2cP5i6fWv_t{d^bl%7P6Zt-$THXrL~=(2Tt#6>@nLrxguPZlN*&U9xlj zl8VM@9L4!Gq!mIEXSA|e>B-D~Z)xIRlC`&o<%=Ki5T5-S*akSMr}NXUEX7W z96?p!_D{*`9@lj9I2+(oud;W!ph=7MiK_}YM zB9J8#WRqI5c89>WK|xCTc-i*k>T@T1cG_1P{XckV)+4N>EE$i9kg1nzlv2UCbLHWGNI z$vKbjaQfRDvi{FszQo(9zj|eQ@aLxje5NfRfL+Gmr*}QV^vh{J%hBJ3AC~?}euYIv z=0b&qg(CQrnigC?PsgXo?7roFe7qtKVqi#REjMnHBy0*Ik7TIwKHK5>hIxvNhC8OI zNKMlJIU_?8BaTlBi4y5DhpF|x#cBz$kS*UIuvtr^W|1oS62c8@+VI; zqdPh}kihNq5me*rhz6&nb}*=YYpZxXY3I!QX@IY<#Qc}+Y%4l;o}2T1tS~0>{$doS zxb(-JA=6i-V!Vo7iG%_;&N$_0Sp+ae4IXyDNa+ml<>>K|jZ>v~c?rY|ySuw#X>9ecpKXYs;WbDuvtthK z?b$Uw+lWEp7ZV%c=jS)QZVy7vX+qhSRt;9kF>&J)7Vh0|kd=AK$gsi`_cOB}!a;$d z#7JD2Bu7WMy1I%|r+^Q)3{#`Ca7IU=L%;X_sm7sKCkZjGoMyuhkp}hj_A;6+eRoJ# zBaAvaa<;smpULRCX(l&k5%ScW@4vuk-6UxL|Icduo{gRHV zCJ`k~EH5vQDl&qVVMXaFKK_vl^GoS2g2%gu4?wtC3VE9J3@n$MB5LVx-&(o3{gT;rFe#d~ z3wKvkRLruiFTLBmX_b|WKez!VMWGw2)M0;GM^Nau_`av7r|(3fNUuy&JR!30$&)8J zfbb(Csixgav`RGUUl$}L5gbd5KB1;AXl@n-){waA)iop_B&3j%l2Saqt5c#wHG1;@ zRB$cOOt*i0*cxF*qA>T6w7JEqy)0%fNfL5zRBo@!sAM(%44Jzrky|U>5D}7l8=CjU z>)vwLQX?hTsZ{=tb9TSWd8O~0>A=)S%_ z#$wY*pmAViq|D~@jc_vip+_YV08b?nzqZu^_@`oDvMgLgv$H(J z3gu~3$kWkaMkvaQD~Xm?pV+vL!Y|4^0{#DJ`*u0Iy}CM1wg2i=wGa8=*^1HV*jVM! z;3K_zFunzST0MD&tV`*iWr%H52H(81QR>Hw1FtGvT0*2jZqi$1);th$)c@z8_)RQp z|71{^OnOaCO*b_Odw+kg3sjxqsz;-U8l0C+#oJtDAYtmr+a8s2yJ<(jyO%YxhW| z5eGiuK&Hsfx#;FrqaZtMs9$5BhajW}c|5-XEg>eUipT@ANe!dW?x$m#1M0wz4z7!yg+dxqwm9!@X z0D?G)RnD6?I>;pazD^4LCB)f_do{mtsDvc>KOmM#bT9SD!oJ57AtqC#<2nJK?5d@V z&IuQ`eM=5~Ri&8fq^~VQMky+$&7ITTtAIi!MTfB3nOO=My8u}DICYI$LD89aoDJCH)D*=9R;b_rp=5&UlsUNq>yAC9q-O791!rWdy zkS2jQWGAoH_;&1~mr5`eUP zlFB^srCK4d2jht(w8pl+2LG&0Bg)Ka6Gfniyj_P}pXpCOF8*L91`*{Sj+@u?ADSdM z0-bWI_ekPXSaz_^P=j{xa!W?{t@1#VbGF)B+k%TOCuGG{r%yL24!*$0GEWo6xiCFb zw?RDrqXB-=^}>ol=#R1<2=8n$%hIzcxq)We1QO5#*NPgd_{(VcC33BE9O;2$5l+HY zl{zD(Et8Pa4UC`cG_?8KW~!^pO5bR!t-sHI_?i+Yz&}cfvx(~mk8qPhWg}Ct+S-p( zfG_lK#+Xlnq3$Z23^Z14cw`6P^U%*5BAR&^>tBPRop1a``)7dU*>X@%va|3tL^WTc zb^Fhj&=pswp>a<%SUgs53;0FXr#&|2`>OnCk1xUA!69;aU?g?#p=dup8i&IF!+}oEhZYC2g z6r-J5+gRidudf?F_iR864-dPwUO%#9O+dnNM~|i~EChLgNY~%nO9G}1LO(Wo=|Wf- z0+jQJ4-dqD;oy3O`Xmv^K%g;u#=kZNh=gj3vuFc~^Iq^Vt~U?Gxi3IH-lwSefmnJX zbcG3=I2djp(&%Cj&%>mprTG@zy|5Wd&;Hhj%=6@b`ZU{whPP*aNGy%J-inBj9SSsl z7oh}MJC-g=tR0&pmI?u4HxxgSPAA<~Gh4n> zH#e@#crkz6`_;^VpL^P_2JUK3q6h>`EepgFC0w*Vb+)`UhYh@YpNdKrZp7s|cSn_3 zgrX1F$&!cSz>))*fO;RWno#|QVbCk~j2p0$hzJI*|HG_uMie>c19pz0oVFPPy_E`v zOo7ZcRq4pd(uD@@UPG=Cpqn0aZ=Db$qn(yKDkE=DZWs1xd2v4i6YrMvVI4R%p|wX^ zH+MG%jo!5xp7>z6P47hQ*hNmntHb3;D-C2Cu~aP;M%RhT0!)%C2ock* zHyUD|DGNSTA)A^lgc1+wmN#3(f8X;gD12RJxV*3xLRfV+r3w|phiJKS%*%VYz_jE3 zO9(LKQd*%JkrNA@jEVLH z+g_jnAo6sE?G5lpgp33q3F}WLl*Il;p2b&Vj%Oy2>IThX&7zl8fkEA+vj?qOeK?;- zD>@imY_^5H9%Q+UGk9#Lcio3q9_UB&> zBy(+AB0^S}V2#56s)??#k5w{rYqR&5&RvA+SdG`A2QfF=G9IX8 z$tMa2SrWB$|UgIqJHFEYH98-v?J5V4;fA9 zJQ1t?^gGRW)JB+|)`_|{84vO@E^`tvS$G4ZfbBPF`dwaBD$`t(60z%7R4uKhD`i2mk;8 literal 0 HcmV?d00001 diff --git a/AI Maniacs Project Submission/take_test.html b/AI Maniacs Project Submission/take_test.html new file mode 100644 index 0000000..bc6f46e --- /dev/null +++ b/AI Maniacs Project Submission/take_test.html @@ -0,0 +1,485 @@ + + + + + + Codify Test Platform + + + + + + +

Welcome to Codify's Coding Test!

+ + +
+

Test Settings

+ + + + + + + + + + + + +
Start Test
+
+ + + + + +
+

Test Solutions

+
+
+ + + + + + + + + + From caa954acd63b8b383fb0773470cfd3e58846f056 Mon Sep 17 00:00:00 2001 From: Dilip0552 Date: Sat, 28 Sep 2024 20:42:44 +0530 Subject: [PATCH 02/16] Update generate_questions.html --- AI Maniacs Project Submission/generate_questions.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AI Maniacs Project Submission/generate_questions.html b/AI Maniacs Project Submission/generate_questions.html index 3a49fce..ffb810b 100644 --- a/AI Maniacs Project Submission/generate_questions.html +++ b/AI Maniacs Project Submission/generate_questions.html @@ -43,6 +43,6 @@

AI Question Generator

- + From fb8df1ab5642edd7233d4ff07d8ea807ca85d5a6 Mon Sep 17 00:00:00 2001 From: Dilip0552 Date: Sat, 28 Sep 2024 20:43:21 +0530 Subject: [PATCH 03/16] Update generate_notes.html --- AI Maniacs Project Submission/generate_notes.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AI Maniacs Project Submission/generate_notes.html b/AI Maniacs Project Submission/generate_notes.html index e30d7b1..f994940 100644 --- a/AI Maniacs Project Submission/generate_notes.html +++ b/AI Maniacs Project Submission/generate_notes.html @@ -43,6 +43,6 @@

AI Notes Generator

- + From 7755a1e59ed430411f7d738c9181305322424fc3 Mon Sep 17 00:00:00 2001 From: Dilip0552 Date: Sat, 28 Sep 2024 20:44:38 +0530 Subject: [PATCH 04/16] Update AI_AID.HTML --- AI Maniacs Project Submission/AI_AID.HTML | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AI Maniacs Project Submission/AI_AID.HTML b/AI Maniacs Project Submission/AI_AID.HTML index ed2e2da..f54f9b7 100644 --- a/AI Maniacs Project Submission/AI_AID.HTML +++ b/AI Maniacs Project Submission/AI_AID.HTML @@ -43,6 +43,6 @@

AI Aid

- + From 4423844192feaeee6339b4601a7a37404d280f05 Mon Sep 17 00:00:00 2001 From: Dilip0552 Date: Sat, 28 Sep 2024 20:45:58 +0530 Subject: [PATCH 05/16] Update AI_AID.HTML --- AI Maniacs Project Submission/AI_AID.HTML | 1 - 1 file changed, 1 deletion(-) diff --git a/AI Maniacs Project Submission/AI_AID.HTML b/AI Maniacs Project Submission/AI_AID.HTML index f54f9b7..8babbe4 100644 --- a/AI Maniacs Project Submission/AI_AID.HTML +++ b/AI Maniacs Project Submission/AI_AID.HTML @@ -42,7 +42,6 @@

AI Aid

- From d57ea285e46375cedee510403b5240329aef2dcc Mon Sep 17 00:00:00 2001 From: Dilip0552 Date: Sat, 28 Sep 2024 20:47:27 +0530 Subject: [PATCH 06/16] Update generate_notes.html --- AI Maniacs Project Submission/generate_notes.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/AI Maniacs Project Submission/generate_notes.html b/AI Maniacs Project Submission/generate_notes.html index f994940..c93400f 100644 --- a/AI Maniacs Project Submission/generate_notes.html +++ b/AI Maniacs Project Submission/generate_notes.html @@ -13,7 +13,7 @@ body { height: 100vh; - background: linear-gradient(180deg, #001f3f 0%, #001a33 100%); /* Dark blue gradient background */ + background: linear-gradient(180deg, #001f3f 0%, #001a33 100%); font-family: Arial, sans-serif; display: flex; flex-direction: column; @@ -30,7 +30,7 @@ iframe { border: none; - background: rgba(0, 15, 30, 0.6); /* Dark blue box with 60% transparency */ + background: rgba(0, 15, 30, 0.6); border-radius: 10px; } @@ -42,7 +42,7 @@

AI Notes Generator

- + From ee1716518b674d8a85d62dbf55ec4ae72e3a43c2 Mon Sep 17 00:00:00 2001 From: Dilip0552 Date: Sat, 28 Sep 2024 20:47:49 +0530 Subject: [PATCH 07/16] Update generate_questions.html --- AI Maniacs Project Submission/generate_questions.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AI Maniacs Project Submission/generate_questions.html b/AI Maniacs Project Submission/generate_questions.html index ffb810b..d8a87be 100644 --- a/AI Maniacs Project Submission/generate_questions.html +++ b/AI Maniacs Project Submission/generate_questions.html @@ -13,7 +13,7 @@ body { height: 100vh; - background: linear-gradient(180deg, #001f3f 0%, #001a33 100%); /* Dark blue gradient background */ + background: linear-gradient(180deg, #001f3f 0%, #001a33 100%); font-family: Arial, sans-serif; display: flex; flex-direction: column; @@ -30,7 +30,7 @@ iframe { border: none; - background: rgba(0, 15, 30, 0.6); /* Dark blue box with 60% transparency */ + background: rgba(0, 15, 30, 0.6); border-radius: 10px; } From b0271e33f6aefbb10915b7cc04ea570fccbf1854 Mon Sep 17 00:00:00 2001 From: Dilip0552 Date: Sat, 28 Sep 2024 20:49:12 +0530 Subject: [PATCH 08/16] Update get_started.html --- .../get_started.html | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/AI Maniacs Project Submission/get_started.html b/AI Maniacs Project Submission/get_started.html index 119c644..ce7ed72 100644 --- a/AI Maniacs Project Submission/get_started.html +++ b/AI Maniacs Project Submission/get_started.html @@ -15,7 +15,7 @@ } body { - background: radial-gradient(circle, #2e2e3e, #1f1f2e); /* Darker theme for the dashboard */ + background: radial-gradient(circle, #2e2e3e, #1f1f2e); color: #fff; } @@ -29,7 +29,7 @@ } nav .logo img { - width: 140px; /* Logo width */ + width: 140px; height: 50px; } @@ -54,7 +54,7 @@ font-weight: 700; margin: 20px 0; color: #ffdd57; - padding-left: 30px; /* Align with the navigation bar */ + padding-left: 30px; } .dashboard { @@ -69,10 +69,10 @@ .dashboard-btn:hover { transform: scale(1.05); - background-color: rgba(255, 221, 87, 0.1); /* Slight color change on hover */ + background-color: rgba(255, 221, 87, 0.1); } .dashboard-btn { - width: 220px; /* Same width as others */ + width: 220px; padding: 20px; background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); @@ -83,17 +83,17 @@ color: #ffdd57; cursor: pointer; transition: transform 0.3s, background-color 0.3s; - text-align: center; /* Center-align text */ - display: flex; /* Flex display for better control */ - justify-content: center; /* Center both text and icon */ - align-items: center; /* Vertical alignment */ + text-align: center; + display: flex; + justify-content: center; + align-items: center; } .dashboard-btn i { - font-size: 1.5rem; /* Icon size */ - margin-right: 10px; /* Space between icon and text */ + font-size: 1.5rem; + margin-right: 10px; color: #ff6347; - vertical-align: middle; /* Align icon vertically */ + vertical-align: middle; } .dashboard-btn span { @@ -102,7 +102,7 @@ } .footer { - position:relative; /* Changed to relative for better control */ + position:relative; bottom: 0; margin-top: 20px; color: #ffdd57; @@ -111,12 +111,12 @@ text-align: center; } - /* Button icon styles */ + .fa-book, .fa-code, .fa-robot, .fa-tasks { color: #ff6347; } - /* Subtle animations */ + .dashboard-btn:hover span, .dashboard-btn:hover i { color: #ffdd57; } @@ -124,7 +124,7 @@ - + - +
Dashboard
- +
- + - + - + - +