From 6c523d019e82bef866eedea67f1e1625adf80a15 Mon Sep 17 00:00:00 2001 From: MangoPig Date: Tue, 9 Dec 2025 22:10:27 +0000 Subject: [PATCH] Temp Finish (Lesson 01) --- .../frontend/.astro/data-store.json | 2 +- .../public/favicon/android-icon-144x144.png | Bin 0 -> 22262 bytes .../public/favicon/android-icon-192x192.png | Bin 0 -> 33592 bytes .../public/favicon/android-icon-36x36.png | Bin 0 -> 3170 bytes .../public/favicon/android-icon-48x48.png | Bin 0 -> 4567 bytes .../public/favicon/android-icon-72x72.png | Bin 0 -> 7863 bytes .../public/favicon/android-icon-96x96.png | Bin 0 -> 12193 bytes .../public/favicon/apple-icon-114x114.png | Bin 0 -> 15634 bytes .../public/favicon/apple-icon-120x120.png | Bin 0 -> 16691 bytes .../public/favicon/apple-icon-144x144.png | Bin 0 -> 22262 bytes .../public/favicon/apple-icon-152x152.png | Bin 0 -> 23888 bytes .../public/favicon/apple-icon-180x180.png | Bin 0 -> 31151 bytes .../public/favicon/apple-icon-57x57.png | Bin 0 -> 5780 bytes .../public/favicon/apple-icon-60x60.png | Bin 0 -> 6160 bytes .../public/favicon/apple-icon-72x72.png | Bin 0 -> 7863 bytes .../public/favicon/apple-icon-76x76.png | Bin 0 -> 8632 bytes .../public/favicon/apple-icon-precomposed.png | Bin 0 -> 34136 bytes .../frontend/public/favicon/apple-icon.png | Bin 0 -> 34136 bytes .../frontend/public/favicon/browserconfig.xml | 2 + .../frontend/public/favicon/favicon-16x16.png | Bin 0 -> 1585 bytes .../frontend/public/favicon/favicon-32x32.png | Bin 0 -> 2709 bytes .../frontend/public/favicon/favicon-96x96.png | Bin 0 -> 12193 bytes .../frontend/public/favicon/favicon.ico | Bin 0 -> 1150 bytes .../frontend/public/favicon/manifest.json | 41 +++ .../public/favicon/ms-icon-144x144.png | Bin 0 -> 22262 bytes .../public/favicon/ms-icon-150x150.png | Bin 0 -> 23471 bytes .../public/favicon/ms-icon-310x310.png | Bin 0 -> 68738 bytes .../frontend/public/favicon/ms-icon-70x70.png | Bin 0 -> 7632 bytes .../Post/Blockquotes/Homework.astro | 21 ++ .../Post/Blockquotes/Homework.module.scss | 41 +++ .../frontend/src/content/lessons/01-intro.mdx | 257 ++++++++++++++++-- .../frontend/src/layouts/LandingLayout.astro | 2 +- .../frontend/src/layouts/LessonLayout.astro | 2 +- .../frontend/src/pages/changelog.astro | 11 +- 00-Lesson-Site/frontend/src/pages/index.astro | 11 +- .../frontend/src/pages/lessons/index.astro | 11 +- .../src/pages/lessons/lessonPage.module.scss | 3 +- .../frontend/src/pages/resources.astro | 11 +- 38 files changed, 375 insertions(+), 40 deletions(-) create mode 100644 00-Lesson-Site/frontend/public/favicon/android-icon-144x144.png create mode 100644 00-Lesson-Site/frontend/public/favicon/android-icon-192x192.png create mode 100644 00-Lesson-Site/frontend/public/favicon/android-icon-36x36.png create mode 100644 00-Lesson-Site/frontend/public/favicon/android-icon-48x48.png create mode 100644 00-Lesson-Site/frontend/public/favicon/android-icon-72x72.png create mode 100644 00-Lesson-Site/frontend/public/favicon/android-icon-96x96.png create mode 100644 00-Lesson-Site/frontend/public/favicon/apple-icon-114x114.png create mode 100644 00-Lesson-Site/frontend/public/favicon/apple-icon-120x120.png create mode 100644 00-Lesson-Site/frontend/public/favicon/apple-icon-144x144.png create mode 100644 00-Lesson-Site/frontend/public/favicon/apple-icon-152x152.png create mode 100644 00-Lesson-Site/frontend/public/favicon/apple-icon-180x180.png create mode 100644 00-Lesson-Site/frontend/public/favicon/apple-icon-57x57.png create mode 100644 00-Lesson-Site/frontend/public/favicon/apple-icon-60x60.png create mode 100644 00-Lesson-Site/frontend/public/favicon/apple-icon-72x72.png create mode 100644 00-Lesson-Site/frontend/public/favicon/apple-icon-76x76.png create mode 100644 00-Lesson-Site/frontend/public/favicon/apple-icon-precomposed.png create mode 100644 00-Lesson-Site/frontend/public/favicon/apple-icon.png create mode 100644 00-Lesson-Site/frontend/public/favicon/browserconfig.xml create mode 100644 00-Lesson-Site/frontend/public/favicon/favicon-16x16.png create mode 100644 00-Lesson-Site/frontend/public/favicon/favicon-32x32.png create mode 100644 00-Lesson-Site/frontend/public/favicon/favicon-96x96.png create mode 100644 00-Lesson-Site/frontend/public/favicon/favicon.ico create mode 100644 00-Lesson-Site/frontend/public/favicon/manifest.json create mode 100644 00-Lesson-Site/frontend/public/favicon/ms-icon-144x144.png create mode 100644 00-Lesson-Site/frontend/public/favicon/ms-icon-150x150.png create mode 100644 00-Lesson-Site/frontend/public/favicon/ms-icon-310x310.png create mode 100644 00-Lesson-Site/frontend/public/favicon/ms-icon-70x70.png create mode 100644 00-Lesson-Site/frontend/src/components/Post/Blockquotes/Homework.astro create mode 100644 00-Lesson-Site/frontend/src/components/Post/Blockquotes/Homework.module.scss diff --git a/00-Lesson-Site/frontend/.astro/data-store.json b/00-Lesson-Site/frontend/.astro/data-store.json index 92c9195..e7bf679 100644 --- a/00-Lesson-Site/frontend/.astro/data-store.json +++ b/00-Lesson-Site/frontend/.astro/data-store.json @@ -1 +1 @@ -[["Map",1,2,7,8],"meta::meta",["Map",3,4,5,6],"astro-version","5.16.4","astro-config-digest","{\"root\":{},\"srcDir\":{},\"publicDir\":{},\"outDir\":{},\"cacheDir\":{},\"compressHTML\":true,\"base\":\"/\",\"trailingSlash\":\"ignore\",\"output\":\"static\",\"scopedStyleStrategy\":\"attribute\",\"build\":{\"format\":\"directory\",\"client\":{},\"server\":{},\"assets\":\"_astro\",\"serverEntry\":\"entry.mjs\",\"redirects\":true,\"inlineStylesheets\":\"auto\",\"concurrency\":1},\"server\":{\"open\":false,\"host\":true,\"port\":4321,\"streaming\":true,\"allowedHosts\":[]},\"redirects\":{},\"image\":{\"endpoint\":{\"route\":\"/_image\"},\"service\":{\"entrypoint\":\"astro/assets/services/sharp\",\"config\":{}},\"domains\":[],\"remotePatterns\":[],\"responsiveStyles\":false},\"devToolbar\":{\"enabled\":true},\"markdown\":{\"syntaxHighlight\":false,\"shikiConfig\":{\"langs\":[],\"langAlias\":{},\"theme\":\"github-dark\",\"themes\":{},\"wrap\":false,\"transformers\":[]},\"remarkPlugins\":[],\"rehypePlugins\":[[null,{\"themes\":[\"vitesse-dark\"]}]],\"remarkRehype\":{},\"gfm\":true,\"smartypants\":true},\"security\":{\"checkOrigin\":true,\"allowedDomains\":[]},\"env\":{\"schema\":{},\"validateSecrets\":false},\"experimental\":{\"clientPrerender\":false,\"contentIntellisense\":false,\"headingIdCompat\":false,\"preserveScriptOrder\":false,\"liveContentCollections\":false,\"csp\":false,\"staticImportMetaEnv\":false,\"chromeDevtoolsWorkspace\":false,\"failOnPrerenderConflict\":false,\"svgo\":false},\"legacy\":{\"collections\":false}}","lessons",["Map",9,10],"01-intro",{"id":9,"data":11,"body":15,"filePath":16,"digest":17,"legacyId":18,"deferredRender":19},{"title":12,"description":13,"style":14},"Introduction to Web Dev","Setting up the environment","type-1","{/* Blockquotes */}\nimport Ganbatte from \"../../components/Post/Blockquotes/Ganbatte.astro\";\nimport Important from \"../../components/Post/Blockquotes/Important.astro\";\nimport Info from \"../../components/Post/Blockquotes/Info.astro\";\nimport QA from \"../../components/Post/Blockquotes/QA.astro\";\n\nimport Spoiler from \"../../components/Post/Spoiler.tsx\";\n\n# Hosting a Large Language Model (LLM) Locally\n\n\u003Cpicture>\n \u003Cimg src=\"https://pic.mangopig.tech/i/879aaccd-6822-423f-883a-74cf5ba598e7.jpg\" alt=\"Web Development Illustration\" />\n\u003C/picture>\n\n\u003Cblockquote class=\"lesson-meta\">\n \u003Cspan>Lesson 01\u003C/span>\n \u003Cspan>Created at: **December 2025**\u003C/span>\n \u003Cspan>Last Updated: **December 2025**\u003C/span>\n\u003C/blockquote>\n\n\u003CGanbatte toc=\"Lesson Objectives\" tocLevel=\"1\" imageAlt=\"MangoPig Ganbatte\">\n ## Lesson Objectives\n\n - Setting up your Developer Environment\n - Setting up a isolated Docker environment for hosting LLMs\n - Fetching the AI model\n - Converting the model to GGUF format\n - Quantizing the model for better performance\n - Hosting a basic LLM model with llama.cpp locally\n - (To Be Added) Making a volume mount to persist LLM data across container restarts\n - (To Be Added) Tagging the Docker Image for future reuse\n\n\u003C/Ganbatte>\n\n\u003Csection data-toc=\"Setting Up Developer Environment\" data-toc-level=\"1\">\n \u003Ch2>Setting Up Your Developer Environment\u003C/h2>\n \u003Csection data-toc=\"WSL\" data-toc-level=\"2\">\n \u003Ch3>Setting Up WSL (Windows Subsystem for Linux)\u003C/h3>\n To set up WSL on your Windows machine, follow these steps:\n 1. Open PowerShell as Administrator.\n 2. Run the following command to enable WSL and install a Linux distribution (Ubuntu is recommended):\n\n ```zsh frame=\"none\"\n wsl --install\n ```\n\n 3. Restart your computer when prompted.\n 4. After restarting, open the Ubuntu application from the Start menu and complete the initial setup by creating a user account.\n 5. Update your package lists and upgrade installed packages by running:\n\n ```zsh frame=\"none\"\n sudo apt update && sudo apt upgrade -y\n ```\n \u003C/section>\n\n \u003Csection data-toc=\"ZSH\" data-toc-level=\"2\">\n \u003Ch3>Getting Your Environment Ready\u003C/h3>\n\n ```zsh frame=\"none\"\n sudo apt install -y git make curl sudo zsh\n ```\n\n ```zsh frame=\"none\"\n mkdir -p ~/Config/Dotfiles\n git clone https://git.mangopig.tech/MangoPig/Dot-Zsh.git ~/Config/Dotfiles/Zsh\n cd ~/Config/Dotfiles/Zsh\n ```\n\n Whenever there's a prompt to ask to install just confirm with `y` and hit enter.\n\n ```zsh frame=\"none\"\n make setup\n ```\n\n Restart the shell to finalize the zsh setup:\n\n ```zsh frame=\"none\"\n zsh\n ```\n\n With the above commands, you should have a zsh environment, coding language and Docker setup. We will get more in details of all the tools with this setup as we work through the lessons. \n \u003C/section>\n\n \u003Csection data-toc=\"Docker\" data-toc-level=\"2\">\n \u003Ch3>Installing Docker\u003C/h3>\n Docker should already be installed with the above steps. To verify, run:\n\n ```zsh frame=\"none\"\n docker --version\n ```\n and try to run a test container:\n\n ```zsh frame=\"none\"\n docker run hello-world\n ```\n\n If you run into permissions issues, you may need to add your user to the docker group:\n\n ```zsh frame=\"none\"\n sudo usermod -aG docker $USER\n ```\n\n Then restart the shell or log out and back in by doing:\n\n ```zsh frame=\"none\"\n zsh\n ```\n\n \u003C/section>\n\u003C/section>\n\n\u003Csection data-toc=\"Docker Environment Setup\" data-toc-level=\"1\">\n \u003Ch2>Setting Up the Isolated Docker Environment for Hosting LLMs\u003C/h2>\n Now that we have the local environment ready, we want to set up an isolated Docker environment for hosting LLMs so that it doesn't interfere with our main system.\n\n \u003Csection data-toc=\"What is Docker?\" data-toc-level=\"2\">\n \u003Ch3>What is Docker?\u003C/h3>\n Docker is a platform that allows you to package your application and its dependencies into containers.\n\n \u003CInfo>\n \u003Cspan>You can find more Docker Images on \u003Ca href=\"https://hub.docker.com/\">Docker Hub\u003C/a>.\u003C/span>\n \u003C/Info>\n\n \u003Csection data-doc=\"Installing Docker\" data-doc-level=\"3\">\n \u003Ch4>Installing Docker\u003C/h4>\n \n \u003C/section>\n\n \u003C/section>\n\n \u003Csection data-toc=\"Creating Docker Container\" data-toc-level=\"2\">\n \u003Ch3>Creating the Docker Container\u003C/h3>\n\n For our current purpose, we will be using the official \u003Ca href=\"https://hub.docker.com/r/nvidia/cuda/tags\">NVIDIA Docker image\u003C/a> so that we can leverage CUDA for GPU acceleration if available.\n\n We will create the Docker container and make it interactive by running:\n\n ```zsh frame=\"none\"\n docker run --gpus all -it --name llm-container -p 8080:8080 nvidia/cuda:13.0.2-cudnn-devel-ubuntu24.04 /bin/bash\n ```\n\n \u003CInfo>\n - `--gpus` all enables GPU support for the container. \n - `--it` makes the container interactive, allowing you to run commands inside it.\n - `--name` llm-container gives the container a name for easier reference.\n - `-p 8080:8080` = `-p HOST:CONTAINER` maps port 8080 on your host machine to port 8080 inside the container. This is useful if you plan to run a server inside the container and want to access it from your host machine.\n - `nvidia/cuda:13.0.2-cudnn-runtime-ubuntu24.04` specifies the Docker image to use.\n - `/bin/bash` starts a bash shell inside the container.\n \u003C/Info>\n\n Once you are inside the container, you can proceed to setup the environment like we did before in the \u003Ca href=\"#setting-up-developer-environment\">WSL section\u003C/a>.\n\n \u003CInfo>\n There's a few things you need to do before you can setup the Environment like we did before:\n 1. Update the package lists and install necessary packages:\n ```zsh frame=\"none\"\n apt update && apt install -y git make curl sudo zsh\n ```\n\n 2. Remove the default user (usually `ubuntu`) to avoid permission issues:\n ```zsh frame=\"none\"\n userdel -r ubuntu\n ```\n\n 3. Run my provisional script to setup users and permissions:\n ```zsh frame=\"none\"\n bash \u003C(curl -s https://git.mangopig.tech/mangopig/Dot-Zsh/raw/branch/main/scripts/provision.sh)\n ```\n You should create your own user when prompted, make it have 1000 as UID and GID for consistency and please remember the password you set here as you'll need it to use `sudo` later on.\n\n 4. Now change users by doing: **(replace `your-username` with the username you created)**\n ```zsh frame=\"none\"\n su - your-username\n ```\n\n OR you can exit the container and reattach with the new user by doing:\n ```zsh frame=\"none\"\n exit\n docker start llm-container\n docker exec -it --user your-username llm-container /bin/zsh\n ```\n Press `q` when they prompt you to create a zsh configuration file.\n\n 5. Now you can proceed to setup zsh and the rest of the environment as shown in the [previous section](#zsh).\n\n \u003C/Info>\n\n Try to do this on your own first! If you get stuck, you can check the solution below.\n\n \u003CSpoiler client:idle >\n ## Solution\n\n 1. Update the package lists and install necessary packages:\n ```zsh frame=\"none\"\n apt update && apt install -y git make curl sudo zsh\n ```\n\n 2. Remove the default user (usually `ubuntu`) to avoid permission issues:\n ```zsh frame=\"none\"\n userdel -r ubuntu\n ```\n\n 3. Run my provisional script to setup users and permissions:\n ```zsh frame=\"none\"\n bash \u003C(curl -s https://git.mangopig.tech/mangopig/Dot-Zsh/raw/branch/main/scripts/provision.sh)\n ```\n You should create your own user when prompted, make it have 1000 as UID and GID for consistency and please remember the password you set here as you'll need it to use `sudo` later on.\n\n 4. Now change users by doing: **(replace `your-username` with the username you created)**\n ```zsh frame=\"none\"\n su - your-username\n ```\n\n OR you can exit the container and reattach with the new user by doing:\n ```zsh frame=\"none\"\n exit\n docker start llm-container\n docker exec -it --user your-username llm-container /bin/zsh\n ```\n Press `q` when they prompt you to create a zsh configuration file.\n\n 5. Go into the dotfiles directory and setup zsh:\n ```zsh frame=\"none\"\n cd ~/Config/Dot-Zsh\n make base && \\\n make python && \\\n make clean && \\\n make stow\n ```\n\n 6. Restart the shell to finalize the zsh setup:\n ```zsh frame=\"none\"\n zsh\n ```\n\n 7. Verify that Pyenv and Miniforge is working by:\n ```zsh frame=\"none\"\n pyenv --version\n conda --version\n ```\n \u003C/Spoiler>\n \u003C/section>\n \n\u003C/section>\n\n\u003Csection data-toc=\"Python Setup\" data-toc-level=\"1\">\n \u003Ch2>Setting Up Python Environment\u003C/h2>\n Now that we have the Docker container set up, we can proceed to set up the environment to run llama.cpp inside the container.\n\n We have setup `pyenv` and `Miniforge` as part of the zsh setup. You can verify that they are working by running:\n\n ```zsh frame=\"none\"\n pyenv --version\n conda --version\n ```\n\n `pyenv` allows us to manage multiple Python versions easily. We can easily install different versions of Python and Conda environments as needed for different projects.\n\n `conda` (via Miniforge) allows us to create isolated Python environments, which is helpful for making sure that the dependencies for llama.cpp do not interfere with other projects.\n\n Let's first create a directory for llama.cpp and navigate into it:\n\n ```zsh frame=\"none\"\n mkdir -p ~/Projects/llama.cpp\n cd ~/Projects/llama.cpp\n ```\n\n Now, let's clone the llama.cpp repository:\n\n ```zsh frame=\"none\"\n git clone https://github.com/ggerganov/llama.cpp.git .\n ```\n\n \u003CInfo>\n - You can also the contents of the repository with `ls -la`\n - The `.` at the end of the git clone command ensures that the contents of the repository are cloned directly into the current directory.\n - For convenience, you can find the official llama.cpp repository at \u003Ca href=\"https://github.com/ggml-org/llama.cpp?tab=readme-ov-file\">llama.cpp GitHub\u003C/a>\n \u003C/Info>\n\n With the repository cloned, we can now proceed to build the llama.cpp.\n\n We first use `cmake` to configure the build system. It's like telling the app what our computer environment looks like and what options we want to enable.\n\n ```zsh frame=\"none\"\n cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DLLAMA_BUILD_TESTS=OFF -DLLAMA_BUILD_EXAMPLES=ON -DLLAMA_BUILD_SERVER=ON\n ```\n\n \u003CInfo>\n - `-S .` tells cmake where to find the source files (in this case, the current directory).\n - `-B build` specifies where all the temperary build files will go (in a folder named `build`).\n - `-G Ninja` tells cmake to use the Ninja build system.\n - `-DCMAKE_BUILD_TYPE=Release` sets the build type to Release for optimized performance.\n - `-DCMAKE_INSTALL_PREFIX=/your/install/dir` specifies where to install the built files. You can change this to your desired installation path.\n - `-DLLAMA_BUILD_TESTS=OFF` disables building tests.\n - `-DLLAMA_BUILD_EXAMPLES=ON` enables building example programs.\n - `-DLLAMA_BUILD_SERVER=ON` enables building the server component.\n \u003C/Info>\n\n Now we can build the project, this step is basically taking what we told cmake to do and actually making it into executable files.\n\n ```zsh frame=\"none\"\n cmake --build build --config Release -j $(nproc)\n ```\n\n \u003CInfo>\n - `--build build` tells cmake to build the project using the files in the `build` directory. (where we set with -B in the previous step)\n - `--config Release` specifies that we want to build the Release version.\n - `-j $(nproc)` tells cmake to use all available CPU cores for faster building.\n - `$(nproc)` is a command that returns the number of processing units available.\n \u003C/Info>\n\n After we are doing building, the binaries will be located in the `build/bin` directory. We want to move it to a more accessible location (`/usr/local` that we specified earlier), so we can run it easily. We can do this by running:\n\n ```zsh frame=\"none\"\n sudo cmake --install build && \\\n sudo ldconfig\n ```\n\n \u003CInfo>\n - `--install build` tells cmake to install the built files from the `build` directory to the location we specified earlier with `-DCMAKE_INSTALL_PREFIX`.\n - `sudo ldconfig` updates the system's library cache to recognize the newly installed binaries.\n \u003C/Info>\n\n Now you should be able to run the `llama.cpp` binary from anywhere, you can check what llama.cpp options are available by running:\n\n ```zsh frame=\"none\"\n ls /usr/local/bin\n ```\n\n ```zsh frame=\"none\"\n 󰡯 bat 󰡯 llama-eval-callback 󰡯 llama-lookup 󰡯 llama-save-load-state\n 󰡯 convert_hf_to_gguf.py 󰡯 llama-export-lora 󰡯 llama-lookup-create 󰡯 llama-server\n 󰡯 fd 󰡯 llama-finetune 󰡯 llama-lookup-merge 󰡯 llama-simple\n 󰡯 llama-batched 󰡯 llama-gen-docs 󰡯 llama-lookup-stats 󰡯 llama-simple-chat\n 󰡯 llama-batched-bench 󰡯 llama-gguf 󰡯 llama-mtmd-cli 󰡯 llama-speculative\n 󰡯 llama-bench 󰡯 llama-gguf-hash 󰡯 llama-parallel 󰡯 llama-speculative-simple\n 󰡯 llama-cli 󰡯 llama-gguf-split 󰡯 llama-passkey 󰡯 llama-tokenize\n 󰡯 llama-convert-llama2c-to-ggml 󰡯 llama-idle 󰡯 llama-perplexity 󰡯 llama-tts\n 󰡯 llama-cvector-generator 󰡯 llama-imatrix 󰡯 llama-quantize\n 󰡯 llama-diffusion-cli 󰡯 llama-logits 󰡯 llama-retrieval\n 󰡯 llama-embedding 󰡯 llama-lookahead 󰡯 llama-run\n ```\n\n We can further verify whether we can run `llama.cpp` by checking its version:\n\n ```zsh frame=\"none\"\n llama-cli --version\n ```\n\n ```zsh frame=\"none\"\n version: 7327 (c8554b66e)\n built with GNU 13.3.0 for Linux x86_64\n ```\n\n\u003C/section>\n\n\u003Csection data-toc=\"Getting the AI\" data-toc-level=\"1\">\n \u003Ch2>Fetching the AI Model Weights\u003C/h2>\n Now that we have llama.cpp set up, we need to get some AI models to run with it.\n The main place to get models is from [Hugging Face](https://huggingface.co/). You will need to create an account if you don't have one already.\n Once you have created an account, you should also setup your access token by going:\n \n \u003Cpicture>\n \u003Cimg src=\"https://pic.mangopig.tech/i/aea54c8e-9dd5-44c7-ab1f-6b57b076e7d8.webp\" alt=\"Hugging Face Access Token\" />\n \u003C/picture>\n\n And then give your token all the `read` permissions.\n\n \u003Cpicture>\n \u003Cimg src=\"https://pic.mangopig.tech/i/4360ee94-7f37-4897-91e9-882fd198b8b3.webp\" alt=\"Hugging Face Token Permissions\" />\n \u003C/picture>\n\n \u003CImportant>\n Make sure to copy the token somewhere safe and **DO NOT SHARE IT WITH ANYONE** or **USE IT DIRECTLY IN PUBLIC REPOSITORIES** and **DIRECTLY IN YOUR CODE**! Consult AIs on how to keep your tokens safe if you are unsure, but do not directly share them with the AI. \n \u003C/Important>\n\n Now that you have your token, you can use it to download models from Hugging Face. We will use `huggingface-cli` to do this. Let's first make the directory to store the models:\n\n ```zsh frame=\"none\"\n mkdir -p ~/Models\n cd ~/Models\n ```\n\n We can then install `huggingface-cli`\n\n ```zsh frame=\"none\"\n curl -LsSf https://hf.co/cli/install.sh | bash\n ```\n\n We will then login to Hugging Face using the CLI and provide our access token when prompted:\n\n ```zsh frame=\"none\"\n git config --global credential.helper store\n ```\n \n ```zsh frame=\"none\"\n hf auth login\n ```\n\n ```zsh frame=\"none\" \n _| _| _| _| _|_|_| _|_|_| _|_|_| _| _| _|_|_| _|_|_|_| _|_| _|_|_| _|_|_|_|\n _| _| _| _| _| _| _| _|_| _| _| _| _| _| _| _|\n _|_|_|_| _| _| _| _|_| _| _|_| _| _| _| _| _| _|_| _|_|_| _|_|_|_| _| _|_|_|\n _| _| _| _| _| _| _| _| _| _| _|_| _| _| _| _| _| _| _|\n _| _| _|_| _|_|_| _|_|_| _|_|_| _| _| _|_|_| _| _| _| _|_|_| _|_|_|_|\n\n To log in, `huggingface_hub` requires a token generated from https://huggingface.co/settings/tokens .\n Enter your token (input will not be visible): INPUT_YOUR_TOKEN_HERE\n Add token as git credential? [y/N]: y\n Token is valid (permission: fineGrained).\n The token `temp` has been saved to /home/mangopig/.cache/huggingface/stored_tokens\n Your token has been saved in your configured git credential helpers (store).\n Your token has been saved to /home/mangopig/.cache/huggingface/token\n Login successful.\n The current active token is: `temp`\n ```\n\n Now you can download models using the `hf download` command. I will be using the [`SmolLM3-3B`](https://huggingface.co/HuggingFaceTB/SmolLM3-3B) following this tutorial but if the model is too large for your system, you can choose a smaller model from Hugging Face, such as [`SmolLM2-1.7B`](https://huggingface.co/HuggingFaceTB/SmolLM2-1.7B) or [`SmolLM2-360M`](https://huggingface.co/HuggingFaceTB/SmolLM2-360M).\n\n ```zsh frame=\"none\"\n hf download HuggingFaceTB/SmolLM3-3B --local-dir ~/Models/SmolLM3-3B\n ```\n\n \u003CInfo>\n - `HuggingFaceTB/SmolLM3-3B` is the model identifier on Hugging Face. Get it from clicking the button to copy the name in the image below:\n \u003Cpicture>\n \u003Cimg src=\"https://pic.mangopig.tech/i/674714b4-736b-429c-b198-c9d57ba8bdee.webp\" alt=\"Hugging Face Model Page\" />\n \u003C/picture>\n - `--local-dir ~/Models/SmolLM3-3B` specifies where to save the downloaded model.\n\n You can find out more about what options you can use with `hf download` by doing `hf download --help`.\n\n ```zsh frame=\"none\"\n > hf download --help\n\n Usage: hf download [OPTIONS] REPO_ID [FILENAMES]...\n\n Download files from the Hub.\n\n Arguments:\n REPO_ID The ID of the repo (e.g. `username/repo-name`). [required]\n [FILENAMES]... Files to download (e.g. `config.json`,\n `data/metadata.jsonl`).\n\n Options:\n --repo-type [model|dataset|space]\n The type of repository (model, dataset, or\n space). [default: model]\n --revision TEXT Git revision id which can be a branch name,\n a tag, or a commit hash.\n --include TEXT Glob patterns to include from files to\n download. eg: *.json\n --exclude TEXT Glob patterns to exclude from files to\n download.\n --cache-dir TEXT Directory where to save files.\n --local-dir TEXT If set, the downloaded file will be placed\n under this directory. Check out https://hugg\n ingface.co/docs/huggingface_hub/guides/downl\n oad#download-files-to-local-folder for more\n details.\n --force-download / --no-force-download\n If True, the files will be downloaded even\n if they are already cached. [default: no-\n force-download]\n --dry-run / --no-dry-run If True, perform a dry run without actually\n downloading the file. [default: no-dry-run]\n --token TEXT A User Access Token generated from\n https://huggingface.co/settings/tokens.\n --quiet / --no-quiet If True, progress bars are disabled and only\n the path to the download files is printed.\n [default: no-quiet]\n --max-workers INTEGER Maximum number of workers to use for\n downloading files. Default is 8. [default:\n 8]\n --help Show this message and exit.\n ```\n \u003C/Info>\n\n With this, we have a model downloaded at `~/Models/SmolLM3-3B`. We can now proceed to try to run the model with llama.cpp.\n\n\u003C/section>\n\n\u003Csection data-toc=\"Converting Model to GGUF\" data-toc-level=\"1\">\n \u003Ch2>Converting the Model to GGUF\u003C/h2>\n \u003Cp>After downloading the model from Hugging Face, we need to convert it to the GGUF format so that llama.cpp can use it.\u003C/p>\n \u003Cp>Hugging Face usually store their models in the `.safetensors` format\u003C/p>\n \u003Cp>However, `llama.cpp` usually expect the models to be in the `.gguf` format.\u003C/p>\n \u003Cp>So we will need to convert the models to `.gguf`. Luckily, `llama.cpp` comes with a python script that helps us to do just that.\u003C/p>\n \u003Cp>We will first create a `Python` environment with `Conda` and activate it\u003C/p>\n\n ```zsh frame=\"none\"\n conda create -n llama-cpp python=3.10 -y\n conda activate llama-cpp\n python -m pip install --upgrade pip wheel setuptools\n ```\n\n \u003CInfo>\n - `conda create -n llama-cpp python=3.10 -y` creates a new conda environment named `llama-cpp` with Python 3.10 installed\n - `-n`: Specifies the name of the environment.\n - `python=3.10`: Specifies the Python version to install in the environment.\n - `-y`: Automatically confirms the creation.\n - `conda activate llama-cpp` activates the newly created conda environment.\n - `python -m pip install --upgrade pip wheel setuptools`\n - We are updating `pip`, `wheel`, and `setuptools`\n - `pip`: The package installer for Python. Similar to `npm` and `go get` in other languages.\n - `wheel`: A built-package format for Python.\n - `setuptools`: A package development and distribution library for Python.\n \u003C/Info>\n\n \u003Cp>`conda` is used to isolate the dependencies needed for the conversion process so that it doesn't interfere with other projects.\u003C/p>\n \u003Cp>We will then install the dependencies for `llama.cpp`\u003C/p>\n\n ```zsh frame=\"none\"\n pip install --upgrade -r ~/Projects/llama.cpp/requirements/requirements-convert_hf_to_gguf.txt\n ```\n\n \u003CInfo>\n - `pip install`: Installs Python packages.\n - `--upgrade`: Upgrades the packages to the latest versions.\n - `-r`: Specifies that we are installing packages from a requirements file.\n - `~/Projects/llama.cpp/requirements/requirements-convert_hf_to_gguf.txt`: The path to the requirements file that contains the list of packages needed for converting models to GGUF format.\n \u003C/Info>\n\n Nice! Now we are ready to convert the model to GGUF format. We can do this by running the conversion script provided by `llama.cpp`\n\n ```zsh frame=\"none\"\n python ~/Projects/llama.cpp/convert_hf_to_gguf.py \\\n ~/Models/SmolLM3-3B \\\n --outfile ~/Models/SmolLM3-3B/SmolLM3-3B.gguf\n ```\n\n \u003CInfo>\n - `python ~/Projects/llama.cpp/convert_hf_to_gguf.py`: `python` runs the conversion script located at `~/Projects/llama.cpp/scripts/convert_hf_to_gguf.py`.\n - `~/Models/SmolLM3-3B`: Specifies the path to the downloaded model in Hugging Face format.\n - `--outfile ~/Models/SmolLM3-3B/SmolLM3-3B.gguf`: Specifies where to save the converted model in GGUF format.\n \u003C/Info>\n\n When you see a similar output to:\n\n ```zsh frame=\"none\"\n INFO:hf-to-gguf:Model successfully exported to SmolLM3-3B.gguf\n ```\n\n Then you have succeeded in converting the model to GGUF format!\n\u003C/section>\n\n\u003Csection data-toc=\"Quantizing the Model\" data-toc-level=\"1\">\n \u003Ch2>Quantizing the Model for Better Performance\u003C/h2>\n \u003Cp>Quantization is a technique used to reduce the size of the model and improve inference speed and VRAM requirements by compressing and reducing the model's weight\u003C/p>\n\n We can learn what quantization `llama.cpp` supports by running:\n\n ```zsh frame=\"none\"\n llama-quantize --help\n ```\n\n ```zsh frame=\"none\"\n usage: llama-quantize [--help] [--allow-requantize] [--leave-output-tensor] [--pure] [--imatrix] [--include-weights]\n [--exclude-weights] [--output-tensor-type] [--token-embedding-type] [--tensor-type] [--prune-layers] [--keep-split] [--override-kv]\n model-f32.gguf [model-quant.gguf] type [nthreads]\n\n --allow-requantize: Allows requantizing tensors that have already been quantized. Warning: This can severely reduce quality compared to quantizing from 16bit or 32bit\n --leave-output-tensor: Will leave output.weight un(re)quantized. Increases model size but may also increase quality, especially when requantizing\n --pure: Disable k-quant mixtures and quantize all tensors to the same type\n --imatrix file_name: use data in file_name as importance matrix for quant optimizations\n --include-weights tensor_name: use importance matrix for this/these tensor(s)\n --exclude-weights tensor_name: use importance matrix for this/these tensor(s)\n --output-tensor-type ggml_type: use this ggml_type for the output.weight tensor\n --token-embedding-type ggml_type: use this ggml_type for the token embeddings tensor\n --tensor-type TENSOR=TYPE: quantize this tensor to this ggml_type. example: --tensor-type attn_q=q8_0\n Advanced option to selectively quantize tensors. May be specified multiple times.\n --prune-layers L0,L1,L2...comma-separated list of layer numbers to prune from the model\n Advanced option to remove all tensors from the given layers\n --keep-split: will generate quantized model in the same shards as input\n --override-kv KEY=TYPE:VALUE\n Advanced option to override model metadata by key in the quantized model. May be specified multiple times.\n Note: --include-weights and --exclude-weights cannot be used together\n\n Allowed quantization types:\n 2 or Q4_0 : 4.34G, +0.4685 ppl @ Llama-3-8B\n 3 or Q4_1 : 4.78G, +0.4511 ppl @ Llama-3-8B\n 38 or MXFP4_MOE : MXFP4 MoE\n 8 or Q5_0 : 5.21G, +0.1316 ppl @ Llama-3-8B\n 9 or Q5_1 : 5.65G, +0.1062 ppl @ Llama-3-8B\n 19 or IQ2_XXS : 2.06 bpw quantization\n 20 or IQ2_XS : 2.31 bpw quantization\n 28 or IQ2_S : 2.5 bpw quantization\n 29 or IQ2_M : 2.7 bpw quantization\n 24 or IQ1_S : 1.56 bpw quantization\n 31 or IQ1_M : 1.75 bpw quantization\n 36 or TQ1_0 : 1.69 bpw ternarization\n 37 or TQ2_0 : 2.06 bpw ternarization\n 10 or Q2_K : 2.96G, +3.5199 ppl @ Llama-3-8B\n 21 or Q2_K_S : 2.96G, +3.1836 ppl @ Llama-3-8B\n 23 or IQ3_XXS : 3.06 bpw quantization\n 26 or IQ3_S : 3.44 bpw quantization\n 27 or IQ3_M : 3.66 bpw quantization mix\n 12 or Q3_K : alias for Q3_K_M\n 22 or IQ3_XS : 3.3 bpw quantization\n 11 or Q3_K_S : 3.41G, +1.6321 ppl @ Llama-3-8B\n 12 or Q3_K_M : 3.74G, +0.6569 ppl @ Llama-3-8B\n 13 or Q3_K_L : 4.03G, +0.5562 ppl @ Llama-3-8B\n 25 or IQ4_NL : 4.50 bpw non-linear quantization\n 30 or IQ4_XS : 4.25 bpw non-linear quantization\n 15 or Q4_K : alias for Q4_K_M\n 14 or Q4_K_S : 4.37G, +0.2689 ppl @ Llama-3-8B\n 15 or Q4_K_M : 4.58G, +0.1754 ppl @ Llama-3-8B\n 17 or Q5_K : alias for Q5_K_M\n 16 or Q5_K_S : 5.21G, +0.1049 ppl @ Llama-3-8B\n 17 or Q5_K_M : 5.33G, +0.0569 ppl @ Llama-3-8B\n 18 or Q6_K : 6.14G, +0.0217 ppl @ Llama-3-8B\n 7 or Q8_0 : 7.96G, +0.0026 ppl @ Llama-3-8B\n 1 or F16 : 14.00G, +0.0020 ppl @ Mistral-7B\n 32 or BF16 : 14.00G, -0.0050 ppl @ Mistral-7B\n 0 or F32 : 26.00G @ 7B\n COPY : only copy tensors, no quantizing\n ```\n\n \u003CInfo>\n For a line `2 or Q4_0 : 4.34G, +0.4685 ppl @ Llama-3-8B`\n - `2` and `Q4_0` are the identifiers you can use to specify the quantization type.\n - `4.34G` indicates the size of the quantized model.\n - `+0.4685 ppl` indicates the increase in perplexity (a measure of model performance; lower is better) when using this quantization type\n \u003C/Info>\n\n \u003CQA>\n \u003Cspan slot=\"question\">How do I know how big of a model size can I fit in my computer\u003C/span>\n \u003Cp>It depends on whether you are running inference on your \u003Cstrong>CPU (System RAM)\u003C/strong> or \u003Cstrong>GPU (VRAM)\u003C/strong>.\u003C/p>\n \n \u003Cp>For CPU inference, you generally want the model size to be around 2x the size of your system RAM for comfortable operation. For example, if you have 16GB of RAM, you should aim for models that are around 8GB or smaller.\u003C/p>\n\n **Size (GB) ≈ (Parameters (Billions) × Bits Per Weight) / 8 + Overhead**\n\n - Bits Per Weight (bpw):\n - Qx = x bits per weight\n - Qx_K = K quants will keep some important weights at higher precision (Q4_K ≈ 5 bits per weight, Q5_K ≈ 6 bits per weight, Q6_K ≈ 7 bits per weight)\n - Qx_K_S = Small K quants\n - Qx_K_M = Medium K quants\n - Qx_K_L = Large K quants\n - IQx = Integer Quantization with x bits per weight, bpw is on the chart\n - TQx = Ternary Quantization with x bits per weight, bpw is on the chart\n \u003C/QA>\n\n **TO BE ADDED** - Quantization Calculator\n\n Once we have decided what quantization type to use, we can proceed to quantize the model by running:\n\n ```zsh frame=\"none\"\n llama-quantize \\\n ~/Models/SmolLM3-3B/SmolLM3-3B.gguf \\\n ~/Models/SmolLM3-3B/SmolLM3-3B.q4.gguf \\\n q4_0\n 4\n ```\n\n \u003CInfo>\n - `llama-quantize`: The command to run the quantization process.\n - `~/Models/SmolLM3-3B/SmolLM3-3B.gguf`: The path to the original GGUF model that we want to quantize.\n - `~/Models/SmolLM3-3B/SmolLM3-3B.q4.gguf`: The path where we want to save the quantized model.\n - `q4_0`: The quantization type we want to use (in this case, Q4_0).\n - `4`: Number of threads to use for quantization (optional, defaults to number of CPU cores).\n \u003C/Info>\n\n \u003Cp>After the quantization is complete, you should see a new file named `SmolLM3-3B.q4.gguf` in the model directory.\u003C/p>\n \u003Cp>We can now learn how to serve the model with `llama.cpp`\u003C/p>\n\n\u003C/section>\n\n\u003Csection data-toc=\"Inferencing the Model\" data-toc-level=\"1\">\n \u003Ch2>Inferencing the Model\u003C/h2>\n \u003Cp>Now that we have the model ready, we can proceed to run inference with it using `llama.cpp`.\u003C/p>\n \u003Cp>`llama.cpp` provides us with multiple ways of inferencing, we can: \u003C/p>\n - Use the command line interface (CLI) to interact with the model directly from the terminal. (llama-cli)\n - Use the server mode to host the model and interact with it via HTTP requests. (llama-server)\n\n For this tutorial, we will use the `llama-server` to serve the model.\n\n To start the server with our quantized model, we can run:\n\n ```zsh frame=\"none\"\n llama-server \\\n --model ~/Models/SmolLM3-3B/SmolLM3-3B.q4.gguf \\\n --host 0.0.0.0 \\\n --port 8080\n ```\n\n \u003CInfo>\n - `llama-server`: The command to start the server.\n - `--model ~/Models/SmolLM3-3B/SmolLM3-3B.q4.gguf`: Specifies the path to the quantized model we want to serve.\n - `--host 0.0.0.0`: This makes the server accessible from any IP address.\n - `--port 8080`: Specifies the port on which the server will listen for incoming requests.\n You can read all the options you can customize to run the server [here](https://github.com/ggml-org/llama.cpp/blob/master/tools/server/README.md)\n \u003C/Info>\n\n As soon as you see this\n\n ```zsh frame=\"none\"\n main: model loaded\n main: server is listening on http://0.0.0.0:8080\n main: starting the main loop...\n ```\n\n Your server is up and running! You can now interact with the model by going to [`http://localhost:8080`](http://localhost:8080) in your web browser or using tools like `curl` for API requests.\n\n Open another terminal window and use this example for API request using `curl`:\n\n ```zsh frame=\"none\"\n curl \\\n --request POST \\\n --url http://localhost:8080/completion \\\n --header \"Content-Type: application/json\" \\\n --data '{\"prompt\": \"Building a website can be done in 10 simple steps:\",\"n_predict\": 128}'\n ```\n\n \u003CInfo>\n - `--request POST`: Specifies that we are making a POST request. (We will get into REST HTTP APIs in future tutorials)\n - `--url http://localhost:8080/completion`: The URL of the server endpoint for completions.\n - `--header \"Content-Type: application/json\"`: Sets the content type to JSON.\n - `--data '{...}'`: The JSON payload containing the prompt and other parameters for the model.\n\n Read more about the API requests [here](https://github.com/ggml-org/llama.cpp/blob/master/tools/server/README.md#using-with-curl)\n \u003C/Info>\n \n\u003C/section>","src/content/lessons/01-intro.mdx","26a311c33fd00bb2","01-intro.mdx",true] \ No newline at end of file +[["Map",1,2,7,8],"meta::meta",["Map",3,4,5,6],"astro-version","5.16.4","astro-config-digest","{\"root\":{},\"srcDir\":{},\"publicDir\":{},\"outDir\":{},\"cacheDir\":{},\"compressHTML\":true,\"base\":\"/\",\"trailingSlash\":\"ignore\",\"output\":\"static\",\"scopedStyleStrategy\":\"attribute\",\"build\":{\"format\":\"directory\",\"client\":{},\"server\":{},\"assets\":\"_astro\",\"serverEntry\":\"entry.mjs\",\"redirects\":true,\"inlineStylesheets\":\"auto\",\"concurrency\":1},\"server\":{\"open\":false,\"host\":false,\"port\":4321,\"streaming\":true,\"allowedHosts\":[]},\"redirects\":{},\"image\":{\"endpoint\":{\"route\":\"/_image\"},\"service\":{\"entrypoint\":\"astro/assets/services/sharp\",\"config\":{}},\"domains\":[],\"remotePatterns\":[],\"responsiveStyles\":false},\"devToolbar\":{\"enabled\":true},\"markdown\":{\"syntaxHighlight\":false,\"shikiConfig\":{\"langs\":[],\"langAlias\":{},\"theme\":\"github-dark\",\"themes\":{},\"wrap\":false,\"transformers\":[]},\"remarkPlugins\":[],\"rehypePlugins\":[[null,{\"themes\":[\"vitesse-dark\"]}]],\"remarkRehype\":{},\"gfm\":true,\"smartypants\":true},\"security\":{\"checkOrigin\":true,\"allowedDomains\":[]},\"env\":{\"schema\":{},\"validateSecrets\":false},\"experimental\":{\"clientPrerender\":false,\"contentIntellisense\":false,\"headingIdCompat\":false,\"preserveScriptOrder\":false,\"liveContentCollections\":false,\"csp\":false,\"staticImportMetaEnv\":false,\"chromeDevtoolsWorkspace\":false,\"failOnPrerenderConflict\":false,\"svgo\":false},\"legacy\":{\"collections\":false}}","lessons",["Map",9,10],"01-intro",{"id":9,"data":11,"body":15,"filePath":16,"digest":17,"legacyId":18,"deferredRender":19},{"title":12,"description":13,"style":14},"Introduction to Web Dev","Setting up the environment","type-1","{/* Blockquotes */}\nimport Ganbatte from \"../../components/Post/Blockquotes/Ganbatte.astro\";\nimport Homework from \"../../components/Post/Blockquotes/Homework.astro\";\nimport Important from \"../../components/Post/Blockquotes/Important.astro\";\nimport Info from \"../../components/Post/Blockquotes/Info.astro\";\nimport QA from \"../../components/Post/Blockquotes/QA.astro\";\n\nimport Spoiler from \"../../components/Post/Spoiler.tsx\";\n\n# Hosting a Large Language Model (LLM) Locally\n\n\u003Cpicture>\n\t\u003Cimg src=\"https://pic.mangopig.tech/i/879aaccd-6822-423f-883a-74cf5ba598e7.jpg\" alt=\"Web Development Illustration\" />\n\u003C/picture>\n\n\u003Cblockquote class=\"lesson-meta\">\n\t\u003Cspan>Lesson 01\u003C/span>\n\t\u003Cspan>Created at: **December 2025**\u003C/span>\n\t\u003Cspan>Last Updated: **December 2025**\u003C/span>\n\u003C/blockquote>\n\n\u003CGanbatte toc=\"Lesson Objectives\" tocLevel=\"1\" imageAlt=\"MangoPig Ganbatte\">\n ## Lesson Objectives\n\n - Setting up your Developer Environment\n - Setting up a isolated Docker environment for hosting LLMs\n - Fetching the AI model\n - Converting the model to GGUF format\n - Quantizing the model for better performance\n - Hosting a basic LLM model with llama.cpp locally\n\n\u003C/Ganbatte>\n\n\u003Csection data-toc=\"Setting Up Developer Environment\" data-toc-level=\"1\">\n \u003Ch2>Setting Up Your Developer Environment\u003C/h2>\n \u003Csection data-toc=\"WSL\" data-toc-level=\"2\">\n \u003Ch3>Setting Up WSL (Windows Subsystem for Linux)\u003C/h3>\n To set up WSL on your Windows machine, follow these steps:\n 1. Open PowerShell as Administrator.\n 2. Run the following command to enable WSL and install a Linux distribution (Ubuntu is recommended):\n\n ```zsh frame=\"none\"\n wsl --install\n ```\n\n 3. Restart your computer when prompted.\n 4. After restarting, open the Ubuntu application from the Start menu and complete the initial setup by creating a user account.\n 5. Update your package lists and upgrade installed packages by running:\n\n ```zsh frame=\"none\"\n sudo apt update && sudo apt upgrade -y\n ```\n \u003C/section>\n\n \u003Csection data-toc=\"ZSH\" data-toc-level=\"2\">\n \u003Ch3>Getting Your Environment Ready\u003C/h3>\n\n ```zsh frame=\"none\"\n sudo apt install -y git make curl sudo zsh\n ```\n\n ```zsh frame=\"none\"\n mkdir -p ~/Config/Dotfiles\n git clone https://git.mangopig.tech/MangoPig/Dot-Zsh.git ~/Config/Dotfiles/Zsh\n cd ~/Config/Dotfiles/Zsh\n ```\n\n Whenever there's a prompt to ask to install just confirm with `y` and hit enter.\n\n ```zsh frame=\"none\"\n make setup\n ```\n\n Restart the shell to finalize the zsh setup:\n\n ```zsh frame=\"none\"\n zsh\n ```\n\n With the above commands, you should have a zsh environment, coding language and Docker setup. We will get more in details of all the tools with this setup as we work through the lessons.\n \u003C/section>\n\n \u003Csection data-toc=\"Docker\" data-toc-level=\"2\">\n \u003Ch3>Installing Docker\u003C/h3>\n Docker should already be installed with the above steps. To verify, run:\n\n ```zsh frame=\"none\"\n docker --version\n ```\n and try to run a test container:\n\n ```zsh frame=\"none\"\n docker run hello-world\n ```\n\n If you run into permissions issues, you may need to add your user to the docker group:\n\n ```zsh frame=\"none\"\n sudo usermod -aG docker $USER\n ```\n\n Then restart the shell or log out and back in by doing:\n\n ```zsh frame=\"none\"\n zsh\n ```\n\n \u003C/section>\n\n\u003C/section>\n\n\u003Csection data-toc=\"Docker Environment Setup\" data-toc-level=\"1\">\n \u003Ch2>Setting Up the Isolated Docker Environment for Hosting LLMs\u003C/h2>\n Now that we have the local environment ready, we want to set up an isolated Docker environment for hosting LLMs so that it doesn't interfere with our main system.\n\n \u003Csection data-toc=\"What is Docker?\" data-toc-level=\"2\">\n \u003Ch3>What is Docker?\u003C/h3>\n Docker is a platform that allows you to package your application and its dependencies into containers.\n\n \u003CInfo>\n \u003Cspan>You can find more Docker Images on \u003Ca href=\"https://hub.docker.com/\">Docker Hub\u003C/a>.\u003C/span>\n \u003C/Info>\n\n \u003Csection data-doc=\"Installing Docker\" data-doc-level=\"3\">\n \u003Ch4>Installing Docker\u003C/h4>\n\n \u003C/section>\n\n \u003C/section>\n\n \u003Csection data-toc=\"Creating Docker Container\" data-toc-level=\"2\">\n \u003Ch3>Creating the Docker Container\u003C/h3>\n\n For our current purpose, we will be using the official \u003Ca href=\"https://hub.docker.com/r/nvidia/cuda/tags\">NVIDIA Docker image\u003C/a> so that we can leverage CUDA for GPU acceleration if available.\n\n We will create the Docker container and make it interactive by running:\n\n ```zsh frame=\"none\"\n docker run --gpus all -it --name llm-container -p 8080:8080 nvidia/cuda:13.0.2-cudnn-devel-ubuntu24.04 /bin/bash\n ```\n\n \u003CInfo>\n - `--gpus` all enables GPU support for the container.\n - `--it` makes the container interactive, allowing you to run commands inside it.\n - `--name` llm-container gives the container a name for easier reference.\n - `-p 8080:8080` = `-p HOST:CONTAINER` maps port 8080 on your host machine to port 8080 inside the container. This is useful if you plan to run a server inside the container and want to access it from your host machine.\n - `nvidia/cuda:13.0.2-cudnn-runtime-ubuntu24.04` specifies the Docker image to use.\n - `/bin/bash` start point for the container, which opens a bash shell.\n \u003C/Info>\n\n Once you are inside the container, you can proceed to setup the environment like we did before in the \u003Ca href=\"#setting-up-developer-environment\">WSL section\u003C/a>.\n\n \u003CInfo>\n There's a few things you need to do before you can setup the Environment like we did before:\n 1. Update the package lists and install necessary packages:\n ```zsh frame=\"none\"\n apt update && apt install -y git make curl sudo zsh\n ```\n\n 2. Remove the default user (usually `ubuntu`) to avoid permission issues:\n ```zsh frame=\"none\"\n userdel -r ubuntu\n ```\n\n 3. Run my provisional script to setup users and permissions:\n ```zsh frame=\"none\"\n bash \u003C(curl -s https://git.mangopig.tech/mangopig/Dot-Zsh/raw/branch/main/scripts/provision.sh)\n ```\n You should create your own user when prompted, make it have 1000 as UID and GID for consistency and please remember the password you set here as you'll need it to use `sudo` later on.\n\n 4. Now change users by doing: **(replace `your-username` with the username you created)**\n ```zsh frame=\"none\"\n su - your-username\n ```\n\n OR you can exit the container and reattach with the new user by doing:\n ```zsh frame=\"none\"\n exit\n docker start llm-container\n docker exec -it --user your-username llm-container /bin/zsh\n ```\n Press `q` when they prompt you to create a zsh configuration file.\n\n 5. Now you can proceed to setup zsh and the rest of the environment as shown in the [previous section](#zsh).\n\n \u003C/Info>\n\n Try to do this on your own first! If you get stuck, you can check the solution below.\n\n \u003CSpoiler client:idle >\n ## Solution\n\n 1. Update the package lists and install necessary packages:\n ```zsh frame=\"none\"\n apt update && apt install -y git make curl sudo zsh\n ```\n\n 2. Remove the default user (usually `ubuntu`) to avoid permission issues:\n ```zsh frame=\"none\"\n userdel -r ubuntu\n ```\n\n 3. Run my provisional script to setup users and permissions:\n ```zsh frame=\"none\"\n bash \u003C(curl -s https://git.mangopig.tech/mangopig/Dot-Zsh/raw/branch/main/scripts/provision.sh)\n ```\n You should create your own user when prompted, make it have 1000 as UID and GID for consistency and please remember the password you set here as you'll need it to use `sudo` later on.\n\n 4. Now change users by doing: **(replace `your-username` with the username you created)**\n ```zsh frame=\"none\"\n su - your-username\n ```\n\n OR you can exit the container and reattach with the new user by doing:\n ```zsh frame=\"none\"\n exit\n docker start llm-container\n docker exec -it --user your-username llm-container /bin/zsh\n ```\n Press `q` when they prompt you to create a zsh configuration file.\n\n 5. Go into the dotfiles directory and setup zsh:\n ```zsh frame=\"none\"\n cd ~/Config/Dot-Zsh\n make base && \\\n make python && \\\n make clean && \\\n make stow\n ```\n\n 6. Restart the shell to finalize the zsh setup:\n ```zsh frame=\"none\"\n zsh\n ```\n\n 7. Verify that Pyenv and Miniforge is working by:\n ```zsh frame=\"none\"\n pyenv --version\n conda --version\n ```\n \u003C/Spoiler>\n \u003C/section>\n\n\u003C/section>\n\n\u003Csection data-toc=\"Python Setup\" data-toc-level=\"1\">\n \u003Ch2>Setting Up Python Environment\u003C/h2>\n Now that we have the Docker container set up, we can proceed to set up the environment to run llama.cpp inside the container.\n\n We have setup `pyenv` and `Miniforge` as part of the zsh setup. You can verify that they are working by running:\n\n ```zsh frame=\"none\"\n pyenv --version\n conda --version\n ```\n\n `pyenv` allows us to manage multiple Python versions easily. We can easily install different versions of Python and Conda environments as needed for different projects.\n\n `conda` (via Miniforge) allows us to create isolated Python environments, which is helpful for making sure that the dependencies for llama.cpp do not interfere with other projects.\n\n Let's first create a directory for llama.cpp and navigate into it:\n\n ```zsh frame=\"none\"\n mkdir -p ~/Projects/llama.cpp\n cd ~/Projects/llama.cpp\n ```\n\n Now, let's clone the llama.cpp repository:\n\n ```zsh frame=\"none\"\n git clone https://github.com/ggerganov/llama.cpp.git .\n ```\n\n \u003CInfo>\n - You can also the contents of the repository with `ls -la`\n - The `.` at the end of the git clone command ensures that the contents of the repository are cloned directly into the current directory.\n - For convenience, you can find the official llama.cpp repository at \u003Ca href=\"https://github.com/ggml-org/llama.cpp?tab=readme-ov-file\">llama.cpp GitHub\u003C/a>\n \u003C/Info>\n\n With the repository cloned, we can now proceed to build the llama.cpp.\n\n We first use `cmake` to configure the build system. It's like telling the app what our computer environment looks like and what options we want to enable.\n\n ```zsh frame=\"none\"\n cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DLLAMA_BUILD_TESTS=OFF -DLLAMA_BUILD_EXAMPLES=ON -DLLAMA_BUILD_SERVER=ON\n ```\n\n \u003CInfo>\n - `-S .` tells cmake where to find the source files (in this case, the current directory).\n - `-B build` specifies where all the temperary build files will go (in a folder named `build`).\n - `-G Ninja` tells cmake to use the Ninja build system.\n - `-DCMAKE_BUILD_TYPE=Release` sets the build type to Release for optimized performance.\n - `-DCMAKE_INSTALL_PREFIX=/your/install/dir` specifies where to install the built files. You can change this to your desired installation path.\n - `-DLLAMA_BUILD_TESTS=OFF` disables building tests.\n - `-DLLAMA_BUILD_EXAMPLES=ON` enables building example programs.\n - `-DLLAMA_BUILD_SERVER=ON` enables building the server component.\n \u003C/Info>\n\n Now we can build the project, this step is basically taking what we told cmake to do and actually making it into executable files.\n\n ```zsh frame=\"none\"\n cmake --build build --config Release -j $(nproc)\n ```\n\n \u003CInfo>\n - `--build build` tells cmake to build the project using the files in the `build` directory. (where we set with -B in the previous step)\n - `--config Release` specifies that we want to build the Release version.\n - `-j $(nproc)` tells cmake to use all available CPU cores for faster building.\n - `$(nproc)` is a command that returns the number of processing units available.\n \u003C/Info>\n\n After we are doing building, the binaries will be located in the `build/bin` directory. We want to move it to a more accessible location (`/usr/local` that we specified earlier), so we can run it easily. We can do this by running:\n\n ```zsh frame=\"none\"\n sudo cmake --install build && \\\n sudo ldconfig\n ```\n\n \u003CInfo>\n - `--install build` tells cmake to install the built files from the `build` directory to the location we specified earlier with `-DCMAKE_INSTALL_PREFIX`.\n - `sudo ldconfig` updates the system's library cache to recognize the newly installed binaries.\n \u003C/Info>\n\n Now you should be able to run the `llama.cpp` binary from anywhere, you can check what llama.cpp options are available by running:\n\n ```zsh frame=\"none\"\n ls /usr/local/bin\n ```\n\n ```zsh frame=\"none\"\n 󰡯 bat 󰡯 llama-eval-callback 󰡯 llama-lookup 󰡯 llama-save-load-state\n 󰡯 convert_hf_to_gguf.py 󰡯 llama-export-lora 󰡯 llama-lookup-create 󰡯 llama-server\n 󰡯 fd 󰡯 llama-finetune 󰡯 llama-lookup-merge 󰡯 llama-simple\n 󰡯 llama-batched 󰡯 llama-gen-docs 󰡯 llama-lookup-stats 󰡯 llama-simple-chat\n 󰡯 llama-batched-bench 󰡯 llama-gguf 󰡯 llama-mtmd-cli 󰡯 llama-speculative\n 󰡯 llama-bench 󰡯 llama-gguf-hash 󰡯 llama-parallel 󰡯 llama-speculative-simple\n 󰡯 llama-cli 󰡯 llama-gguf-split 󰡯 llama-passkey 󰡯 llama-tokenize\n 󰡯 llama-convert-llama2c-to-ggml 󰡯 llama-idle 󰡯 llama-perplexity 󰡯 llama-tts\n 󰡯 llama-cvector-generator 󰡯 llama-imatrix 󰡯 llama-quantize\n 󰡯 llama-diffusion-cli 󰡯 llama-logits 󰡯 llama-retrieval\n 󰡯 llama-embedding 󰡯 llama-lookahead 󰡯 llama-run\n ```\n\n We can further verify whether we can run `llama.cpp` by checking its version:\n\n ```zsh frame=\"none\"\n llama-cli --version\n ```\n\n ```zsh frame=\"none\"\n version: 7327 (c8554b66e)\n built with GNU 13.3.0 for Linux x86_64\n ```\n\n\u003C/section>\n\n\u003Csection data-toc=\"Getting the AI\" data-toc-level=\"1\">\n \u003Ch2>Fetching the AI Model Weights\u003C/h2>\n Now that we have llama.cpp set up, we need to get some AI models to run with it.\n The main place to get models is from [Hugging Face](https://huggingface.co/). You will need to create an account if you don't have one already.\n Once you have created an account, you should also setup your access token by going:\n \n \u003Cpicture>\n \u003Cimg src=\"https://pic.mangopig.tech/i/aea54c8e-9dd5-44c7-ab1f-6b57b076e7d8.webp\" alt=\"Hugging Face Access Token\" />\n \u003C/picture>\n\n And then give your token all the `read` permissions.\n\n \u003Cpicture>\n \u003Cimg src=\"https://pic.mangopig.tech/i/4360ee94-7f37-4897-91e9-882fd198b8b3.webp\" alt=\"Hugging Face Token Permissions\" />\n \u003C/picture>\n\n \u003CImportant>\n Make sure to copy the token somewhere safe and **DO NOT SHARE IT WITH ANYONE** or **USE IT DIRECTLY IN PUBLIC REPOSITORIES** and **DIRECTLY IN YOUR CODE**! Consult AIs on how to keep your tokens safe if you are unsure, but do not directly share them with the AI.\n \u003C/Important>\n\n Now that you have your token, you can use it to download models from Hugging Face. We will use `huggingface-cli` to do this. Let's first make the directory to store the models:\n\n ```zsh frame=\"none\"\n mkdir -p ~/Models\n cd ~/Models\n ```\n\n We can then install `huggingface-cli`\n\n ```zsh frame=\"none\"\n curl -LsSf https://hf.co/cli/install.sh | bash\n ```\n\n We will then login to Hugging Face using the CLI and provide our access token when prompted:\n\n ```zsh frame=\"none\"\n git config --global credential.helper store\n ```\n\n ```zsh frame=\"none\"\n hf auth login\n ```\n\n ```zsh frame=\"none\"\n _| _| _| _| _|_|_| _|_|_| _|_|_| _| _| _|_|_| _|_|_|_| _|_| _|_|_| _|_|_|_|\n _| _| _| _| _| _| _| _|_| _| _| _| _| _| _| _|\n _|_|_|_| _| _| _| _|_| _| _|_| _| _| _| _| _| _|_| _|_|_| _|_|_|_| _| _|_|_|\n _| _| _| _| _| _| _| _| _| _| _|_| _| _| _| _| _| _| _|\n _| _| _|_| _|_|_| _|_|_| _|_|_| _| _| _|_|_| _| _| _| _|_|_| _|_|_|_|\n\n To log in, `huggingface_hub` requires a token generated from https://huggingface.co/settings/tokens .\n Enter your token (input will not be visible): INPUT_YOUR_TOKEN_HERE\n Add token as git credential? [y/N]: y\n Token is valid (permission: fineGrained).\n The token `temp` has been saved to /home/mangopig/.cache/huggingface/stored_tokens\n Your token has been saved in your configured git credential helpers (store).\n Your token has been saved to /home/mangopig/.cache/huggingface/token\n Login successful.\n The current active token is: `temp`\n ```\n\n Now you can download models using the `hf download` command. I will be using the [`SmolLM3-3B`](https://huggingface.co/HuggingFaceTB/SmolLM3-3B) following this tutorial but if the model is too large for your system, you can choose a smaller model from Hugging Face, such as [`SmolLM2-1.7B`](https://huggingface.co/HuggingFaceTB/SmolLM2-1.7B) or [`SmolLM2-360M`](https://huggingface.co/HuggingFaceTB/SmolLM2-360M).\n\n ```zsh frame=\"none\"\n hf download HuggingFaceTB/SmolLM3-3B --local-dir ~/Models/SmolLM3-3B\n ```\n\n \u003CInfo>\n - `HuggingFaceTB/SmolLM3-3B` is the model identifier on Hugging Face. Get it from clicking the button to copy the name in the image below:\n \u003Cpicture>\n \u003Cimg src=\"https://pic.mangopig.tech/i/674714b4-736b-429c-b198-c9d57ba8bdee.webp\" alt=\"Hugging Face Model Page\" />\n \u003C/picture>\n - `--local-dir ~/Models/SmolLM3-3B` specifies where to save the downloaded model.\n\n You can find out more about what options you can use with `hf download` by doing `hf download --help`.\n\n ```zsh frame=\"none\"\n > hf download --help\n\n Usage: hf download [OPTIONS] REPO_ID [FILENAMES]...\n\n Download files from the Hub.\n\n Arguments:\n REPO_ID The ID of the repo (e.g. `username/repo-name`). [required]\n [FILENAMES]... Files to download (e.g. `config.json`,\n `data/metadata.jsonl`).\n\n Options:\n --repo-type [model|dataset|space]\n The type of repository (model, dataset, or\n space). [default: model]\n --revision TEXT Git revision id which can be a branch name,\n a tag, or a commit hash.\n --include TEXT Glob patterns to include from files to\n download. eg: *.json\n --exclude TEXT Glob patterns to exclude from files to\n download.\n --cache-dir TEXT Directory where to save files.\n --local-dir TEXT If set, the downloaded file will be placed\n under this directory. Check out https://hugg\n ingface.co/docs/huggingface_hub/guides/downl\n oad#download-files-to-local-folder for more\n details.\n --force-download / --no-force-download\n If True, the files will be downloaded even\n if they are already cached. [default: no-\n force-download]\n --dry-run / --no-dry-run If True, perform a dry run without actually\n downloading the file. [default: no-dry-run]\n --token TEXT A User Access Token generated from\n https://huggingface.co/settings/tokens.\n --quiet / --no-quiet If True, progress bars are disabled and only\n the path to the download files is printed.\n [default: no-quiet]\n --max-workers INTEGER Maximum number of workers to use for\n downloading files. Default is 8. [default:\n 8]\n --help Show this message and exit.\n ```\n \u003C/Info>\n\n With this, we have a model downloaded at `~/Models/SmolLM3-3B`. We can now proceed to try to run the model with llama.cpp.\n\n\u003C/section>\n\n\u003Csection data-toc=\"Converting Model to GGUF\" data-toc-level=\"1\">\n \u003Ch2>Converting the Model to GGUF\u003C/h2>\n \u003Cp>After downloading the model from Hugging Face, we need to convert it to the GGUF format so that llama.cpp can use it.\u003C/p>\n \u003Cp>Hugging Face usually store their models in the `.safetensors` format\u003C/p>\n \u003Cp>However, `llama.cpp` usually expect the models to be in the `.gguf` format.\u003C/p>\n \u003Cp>So we will need to convert the models to `.gguf`. Luckily, `llama.cpp` comes with a python script that helps us to do just that.\u003C/p>\n \u003Cp>We will first create a `Python` environment with `Conda` and activate it\u003C/p>\n\n ```zsh frame=\"none\"\n conda create -n llama-cpp python=3.10 -y\n conda activate llama-cpp\n python -m pip install --upgrade pip wheel setuptools\n ```\n\n \u003CInfo>\n - `conda create -n llama-cpp python=3.10 -y` creates a new conda environment named `llama-cpp` with Python 3.10 installed\n - `-n`: Specifies the name of the environment.\n - `python=3.10`: Specifies the Python version to install in the environment.\n - `-y`: Automatically confirms the creation.\n - `conda activate llama-cpp` activates the newly created conda environment.\n - `python -m pip install --upgrade pip wheel setuptools`\n - We are updating `pip`, `wheel`, and `setuptools`\n - `pip`: The package installer for Python. Similar to `npm` and `go get` in other languages.\n - `wheel`: A built-package format for Python.\n - `setuptools`: A package development and distribution library for Python.\n \u003C/Info>\n\n \u003Cp>`conda` is used to isolate the dependencies needed for the conversion process so that it doesn't interfere with other projects.\u003C/p>\n \u003Cp>We will then install the dependencies for `llama.cpp`\u003C/p>\n\n ```zsh frame=\"none\"\n pip install --upgrade -r ~/Projects/llama.cpp/requirements/requirements-convert_hf_to_gguf.txt\n ```\n\n \u003CInfo>\n - `pip install`: Installs Python packages.\n - `--upgrade`: Upgrades the packages to the latest versions.\n - `-r`: Specifies that we are installing packages from a requirements file.\n - `~/Projects/llama.cpp/requirements/requirements-convert_hf_to_gguf.txt`: The path to the requirements file that contains the list of packages needed for converting models to GGUF format.\n \u003C/Info>\n\n Nice! Now we are ready to convert the model to GGUF format. We can do this by running the conversion script provided by `llama.cpp`\n\n ```zsh frame=\"none\"\n python ~/Projects/llama.cpp/convert_hf_to_gguf.py \\\n ~/Models/SmolLM3-3B \\\n --outfile ~/Models/SmolLM3-3B/SmolLM3-3B.gguf\n ```\n\n \u003CInfo>\n - `python ~/Projects/llama.cpp/convert_hf_to_gguf.py`: `python` runs the conversion script located at `~/Projects/llama.cpp/scripts/convert_hf_to_gguf.py`.\n - `~/Models/SmolLM3-3B`: Specifies the path to the downloaded model in Hugging Face format.\n - `--outfile ~/Models/SmolLM3-3B/SmolLM3-3B.gguf`: Specifies where to save the converted model in GGUF format.\n \u003C/Info>\n\n When you see a similar output to:\n\n ```zsh frame=\"none\"\n INFO:hf-to-gguf:Model successfully exported to SmolLM3-3B.gguf\n ```\n\n Then you have succeeded in converting the model to GGUF format!\n\n\u003C/section>\n\n\u003Csection data-toc=\"Quantizing the Model\" data-toc-level=\"1\">\n \u003Ch2>Quantizing the Model for Better Performance\u003C/h2>\n \u003Cp>Quantization is a technique used to reduce the size of the model and improve inference speed and VRAM requirements by compressing and reducing the model's weight\u003C/p>\n\n We can learn what quantization `llama.cpp` supports by running:\n\n ```zsh frame=\"none\"\n llama-quantize --help\n ```\n\n ```zsh frame=\"none\"\n usage: llama-quantize [--help] [--allow-requantize] [--leave-output-tensor] [--pure] [--imatrix] [--include-weights]\n [--exclude-weights] [--output-tensor-type] [--token-embedding-type] [--tensor-type] [--prune-layers] [--keep-split] [--override-kv]\n model-f32.gguf [model-quant.gguf] type [nthreads]\n\n --allow-requantize: Allows requantizing tensors that have already been quantized. Warning: This can severely reduce quality compared to quantizing from 16bit or 32bit\n --leave-output-tensor: Will leave output.weight un(re)quantized. Increases model size but may also increase quality, especially when requantizing\n --pure: Disable k-quant mixtures and quantize all tensors to the same type\n --imatrix file_name: use data in file_name as importance matrix for quant optimizations\n --include-weights tensor_name: use importance matrix for this/these tensor(s)\n --exclude-weights tensor_name: use importance matrix for this/these tensor(s)\n --output-tensor-type ggml_type: use this ggml_type for the output.weight tensor\n --token-embedding-type ggml_type: use this ggml_type for the token embeddings tensor\n --tensor-type TENSOR=TYPE: quantize this tensor to this ggml_type. example: --tensor-type attn_q=q8_0\n Advanced option to selectively quantize tensors. May be specified multiple times.\n --prune-layers L0,L1,L2...comma-separated list of layer numbers to prune from the model\n Advanced option to remove all tensors from the given layers\n --keep-split: will generate quantized model in the same shards as input\n --override-kv KEY=TYPE:VALUE\n Advanced option to override model metadata by key in the quantized model. May be specified multiple times.\n Note: --include-weights and --exclude-weights cannot be used together\n\n Allowed quantization types:\n 2 or Q4_0 : 4.34G, +0.4685 ppl @ Llama-3-8B\n 3 or Q4_1 : 4.78G, +0.4511 ppl @ Llama-3-8B\n 38 or MXFP4_MOE : MXFP4 MoE\n 8 or Q5_0 : 5.21G, +0.1316 ppl @ Llama-3-8B\n 9 or Q5_1 : 5.65G, +0.1062 ppl @ Llama-3-8B\n 19 or IQ2_XXS : 2.06 bpw quantization\n 20 or IQ2_XS : 2.31 bpw quantization\n 28 or IQ2_S : 2.5 bpw quantization\n 29 or IQ2_M : 2.7 bpw quantization\n 24 or IQ1_S : 1.56 bpw quantization\n 31 or IQ1_M : 1.75 bpw quantization\n 36 or TQ1_0 : 1.69 bpw ternarization\n 37 or TQ2_0 : 2.06 bpw ternarization\n 10 or Q2_K : 2.96G, +3.5199 ppl @ Llama-3-8B\n 21 or Q2_K_S : 2.96G, +3.1836 ppl @ Llama-3-8B\n 23 or IQ3_XXS : 3.06 bpw quantization\n 26 or IQ3_S : 3.44 bpw quantization\n 27 or IQ3_M : 3.66 bpw quantization mix\n 12 or Q3_K : alias for Q3_K_M\n 22 or IQ3_XS : 3.3 bpw quantization\n 11 or Q3_K_S : 3.41G, +1.6321 ppl @ Llama-3-8B\n 12 or Q3_K_M : 3.74G, +0.6569 ppl @ Llama-3-8B\n 13 or Q3_K_L : 4.03G, +0.5562 ppl @ Llama-3-8B\n 25 or IQ4_NL : 4.50 bpw non-linear quantization\n 30 or IQ4_XS : 4.25 bpw non-linear quantization\n 15 or Q4_K : alias for Q4_K_M\n 14 or Q4_K_S : 4.37G, +0.2689 ppl @ Llama-3-8B\n 15 or Q4_K_M : 4.58G, +0.1754 ppl @ Llama-3-8B\n 17 or Q5_K : alias for Q5_K_M\n 16 or Q5_K_S : 5.21G, +0.1049 ppl @ Llama-3-8B\n 17 or Q5_K_M : 5.33G, +0.0569 ppl @ Llama-3-8B\n 18 or Q6_K : 6.14G, +0.0217 ppl @ Llama-3-8B\n 7 or Q8_0 : 7.96G, +0.0026 ppl @ Llama-3-8B\n 1 or F16 : 14.00G, +0.0020 ppl @ Mistral-7B\n 32 or BF16 : 14.00G, -0.0050 ppl @ Mistral-7B\n 0 or F32 : 26.00G @ 7B\n COPY : only copy tensors, no quantizing\n ```\n\n \u003CInfo>\n For a line `2 or Q4_0 : 4.34G, +0.4685 ppl @ Llama-3-8B`\n - `2` and `Q4_0` are the identifiers you can use to specify the quantization type.\n - `4.34G` indicates the size of the quantized model.\n - `+0.4685 ppl` indicates the increase in perplexity (a measure of model performance; lower is better) when using this quantization type\n \u003C/Info>\n\n \u003CQA>\n \u003Cspan slot=\"question\">How do I know how big of a model size can I fit in my computer\u003C/span>\n \u003Cp>It depends on whether you are running inference on your \u003Cstrong>CPU (System RAM)\u003C/strong> or \u003Cstrong>GPU (VRAM)\u003C/strong>.\u003C/p>\n\n \u003Cp>For CPU inference, you generally want the model size to be around 2x the size of your system RAM for comfortable operation. For example, if you have 16GB of RAM, you should aim for models that are around 8GB or smaller.\u003C/p>\n\n **Size (GB) ≈ (Parameters (Billions) × Bits Per Weight) / 8 + Overhead**\n\n - Bits Per Weight (bpw):\n - Qx = x bits per weight\n - Qx_K = K quants will keep some important weights at higher precision (Q4_K ≈ 5 bits per weight, Q5_K ≈ 6 bits per weight, Q6_K ≈ 7 bits per weight)\n - Qx_K_S = Small K quants\n - Qx_K_M = Medium K quants\n - Qx_K_L = Large K quants\n - IQx = Integer Quantization with x bits per weight, bpw is on the chart\n - TQx = Ternary Quantization with x bits per weight, bpw is on the chart\n \u003C/QA>\n\n **TO BE ADDED** - Quantization Calculator\n\n Once we have decided what quantization type to use, we can proceed to quantize the model by running:\n\n ```zsh frame=\"none\"\n llama-quantize \\\n ~/Models/SmolLM3-3B/SmolLM3-3B.gguf \\\n ~/Models/SmolLM3-3B/SmolLM3-3B.q4.gguf \\\n q4_0\n 4\n ```\n\n \u003CInfo>\n - `llama-quantize`: The command to run the quantization process.\n - `~/Models/SmolLM3-3B/SmolLM3-3B.gguf`: The path to the original GGUF model that we want to quantize.\n - `~/Models/SmolLM3-3B/SmolLM3-3B.q4.gguf`: The path where we want to save the quantized model.\n - `q4_0`: The quantization type we want to use (in this case, Q4_0).\n - `4`: Number of threads to use for quantization (optional, defaults to number of CPU cores).\n \u003C/Info>\n\n \u003Cp>After the quantization is complete, you should see a new file named `SmolLM3-3B.q4.gguf` in the model directory.\u003C/p>\n \u003Cp>We can now learn how to serve the model with `llama.cpp`\u003C/p>\n\n\u003C/section>\n\n\u003Csection data-toc=\"Inferencing the Model\" data-toc-level=\"1\">\n \u003Ch2>Inferencing the Model\u003C/h2>\n \u003Cp>Now that we have the model ready, we can proceed to run inference with it using `llama.cpp`.\u003C/p>\n \u003Cp>`llama.cpp` provides us with multiple ways of inferencing, we can: \u003C/p>\n - Use the command line interface (CLI) to interact with the model directly from the terminal. (llama-cli)\n - Use the server mode to host the model and interact with it via HTTP requests. (llama-server)\n\n For this tutorial, we will use the `llama-server` to serve the model.\n\n To start the server with our quantized model, we can run:\n\n ```zsh frame=\"none\"\n llama-server \\\n --model ~/Models/SmolLM3-3B/SmolLM3-3B.q4.gguf \\\n --host 0.0.0.0 \\\n --port 8080\n ```\n\n \u003CInfo>\n - `llama-server`: The command to start the server.\n - `--model ~/Models/SmolLM3-3B/SmolLM3-3B.q4.gguf`: Specifies the path to the quantized model we want to serve.\n - `--host 0.0.0.0`: This makes the server accessible from any IP address.\n - `--port 8080`: Specifies the port on which the server will listen for incoming requests.\n You can read all the options you can customize to run the server [here](https://github.com/ggml-org/llama.cpp/blob/master/tools/server/README.md)\n \u003C/Info>\n\n As soon as you see this\n\n ```zsh frame=\"none\"\n main: model loaded\n main: server is listening on http://0.0.0.0:8080\n main: starting the main loop...\n ```\n\n Your server is up and running! You can now interact with the model by going to [`http://localhost:8080`](http://localhost:8080) in your web browser or using tools like `curl` for API requests.\n\n Open another terminal window and use this example for API request using `curl`:\n\n ```zsh frame=\"none\"\n curl \\\n --request POST \\\n --url http://localhost:8080/completion \\\n --header \"Content-Type: application/json\" \\\n --data '{\"prompt\": \"Building a website can be done in 10 simple steps:\",\"n_predict\": 128}'\n ```\n\n \u003CInfo>\n - `--request POST`: Specifies that we are making a POST request. (We will get into REST HTTP APIs in future tutorials)\n - `--url http://localhost:8080/completion`: The URL of the server endpoint for completions.\n - `--header \"Content-Type: application/json\"`: Sets the content type to JSON.\n - `--data '{...}'`: The JSON payload containing the prompt and other parameters for the model.\n\n Read more about the API requests [here](https://github.com/ggml-org/llama.cpp/blob/master/tools/server/README.md#using-with-curl)\n \u003C/Info>\n\n\u003C/section>\n\n\u003Csection data-toc=\"Docker Volume Mount\" data-toc-level=\"1\">\n \u003Ch2>Docker Volume Mount\u003C/h2>\n\n Before we continue, we are going to destroy everything that we have worked on so far:\n\n ```zsh frame=\"none\"\n exit # As many times as needed to exit the container to your host shell\n docker stop llm-container\n docker rm llm-container\n ```\n\n This is to show that, whenever we remove the Docker container, all the data inside the container will be lost. This is bad because we don't want to redownload and reconvert the models every time we restart the container.\n\n To solve this issue, we can use Docker volume mounts to persist our data.\n\n Docker volume maps directories from your host machine to the Docker container.\n It's a little bit like plugging in a USB drive to your computer, so that the data on the USB drive is accessible even if you remove the USB drive.\n\n When you run the Docker container, you can use the `-v` option to specify volume mounts.\n\n ```zsh frame=\"none\"\n docker run \\\n --gpus all \\\n -it \\\n -v ~/Models:/Models \\\n --name llm-container \\\n -p 8080:8080 \\ \n nvidia/cuda:13.0.2-cudnn-devel-ubuntu24.04 \\\n /bin/bash\n ```\n\n \u003CInfo>\n - `-v ~/Models:/Models`: This maps the `~/Models` directory on your host machine to the `/Models` directory inside the Docker container.\n - The left side (`~/Models`) is the path on your host machine.\n - The right side (`/Models`) is the path inside the Docker container.\n - With this setup, any models you download to `~/Models` on your host machine will be accessible at `/Models` inside the Docker container, and vice versa.\n \u003C/Info>\n\n Now, it's your turn to set up everything again inside the Docker container, but this time, when you download and convert the models, make sure to save them to the `/Models` directory inside the container. Try to do it own your own!\n\n \u003CHomework>\n \u003Ch3>Your Task\u003C/h3>\n 1. Setting up Hugging Face CLI and downloading the model to `~/Models` in your host machine\n 2. Starting a docker container and mount `~/Models` to `/Models` in the container\n 3. Initializing the container with the scripts provided\n - apt update and install dependencies\n - delete default user\n - provisional script\n - log into to your own user account\n 4. Cloning llama.cpp and building it\n 5. Converting the model to GGUF and quantizing it (Remember your models are in `/Models` now!)\n 6. Running the server with the model from `/Models`\n \u003C/Homework>\n\n The solution is below if you get stuck:\n\n \u003CSpoiler client:idle>\n\n 1. Setting up Hugging Face CLI and downloading the model to `~/Models` in your host machine\n\n ```zsh frame=\"none\"\n mkdir -p ~/Models\n cd ~/Models\n curl -LsSf https://hf.co/cli/install.sh | bash\n git config --global credential.helper store\n hf auth login\n hf download HuggingFaceTB/SmolLM3-3B --local-dir ~/Models/SmolLM3-3B\n ```\n\n 2. Starting a docker container and mount `~/Models` to `/Models` in the container\n\n ```zsh frame=\"none\"\n docker run \\\n --gpus all \\\n -it \\\n -v ~/Models:/Models \\\n --name llm-container \\\n -p 8080:8080 \\\n nvidia/cuda:13.0.2-cudnn-devel-ubuntu24.04 \\\n /bin/bash\n ```\n\n 3. Initializing the container with the scripts provided\n\n ```zsh frame=\"none\"\n apt update && apt install -y git make curl sudo zsh\n userdel -r ubuntu\n bash \u003C(curl -s https://git.mangopig.tech/mangopig/Dot-Zsh/raw/branch/main/scripts/provision.sh)\n su - mangopig\n ```\n\n ```zsh frame=\"none\"\n cd ~/Config/Dot-Zsh\n make base && \\\n make python && \\\n make clean && \\\n make stow && \\\n zsh\n ```\n\n OR you can just run:\n\n ```zsh frame=\"none\"\n cd ~/Config/Dot-Zsh\n make setup && \\\n zsh\n ```\n 4. Cloning llama.cpp and building it\n\n ```zsh frame=\"none\"\n mkdir -p ~/Projects/llama.cpp\n cd ~/Projects/llama.cpp\n git clone https://github.com/ggerganov/llama.cpp.git .\n cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DLLAMA_BUILD_TESTS=OFF -DLLAMA_BUILD_EXAMPLES=ON -DLLAMA_BUILD_SERVER=ON\n cmake --build build --config Release -j $(nproc)\n sudo cmake --install build && \\\n sudo ldconfig\n ```\n\n 5. Converting the model to GGUF and quantizing it (Remember your models are in `/Models` now!)\n\n ```zsh frame=\"none\"\n conda create -n llama-cpp python=3.10 -y\n conda activate llama-cpp\n python -m pip install --upgrade pip wheel setuptools\n pip install --upgrade -r ~/Projects/llama.cpp/requirements/requirements-convert_hf_to_gguf.txt\n python ~/Projects/llama.cpp/convert_hf_to_gguf.py \\\n /Models/SmolLM3-3B \\\n --outfile /Models/SmolLM3-3B/SmolLM3-3B.gguf\n llama-quantize \\\n /Models/SmolLM3-3B/SmolLM3-3B.gguf \\\n /Models/SmolLM3-3B/SmolLM3-3B.q4.gguf \\\n q4_0\n 4\n ```\n\n 6. Running the server with the model from `/Models`\n\n ```zsh frame=\"none\"\n llama-server \\\n --model /Models/SmolLM3-3B/SmolLM3-3B.q4.gguf \\\n --host 0.0.0.0\n --port 8080\n ```\n\n \u003C/Spoiler>\n\n If you have done it without help! Congratulations! You have successfully set up a persistent environment for running llama.cpp with Docker volume mounts!\n\n \u003Ch3 data-toc=\"Conclusion\" data-toc-level=\"1\">Wrapping Up\u003C/h3>\n\n Your LLM setup will still stop when you stop the container tho. In the future, we will learn more about that will help solve these issues:\n\n - Creating Custom Docker Images to Preserve Setup\n - Deploying LLM Server to the Cloud\n - Hosting Multiple Models and Switching Between Them\n - Using docker-compose to Manage Multiple Containers\n\n \u003Ch3 data-toc=\"Tmux Session Persistence\" data-toc-level=\"2\">Tmux Session Persistence\u003C/h3>\n For now, if you want to keep the server running after exiting the terminal, you can use `tmux` or `screen` to create a persistent session inside the Docker container.\n\n 1. Enter the Docker container again (if you have exited it):\n\n ```zsh frame=\"none\"\n docker start llm-container\n ```\n\n ```zsh frame=\"none\"\n docker exec -it --user YOUR_USERNAME llm-container /bin/zsh\n ```\n\n 2. Install `tmux` inside the container\n\n ```zsh frame=\"none\"\n sudo apt install -y tmux\n tmux new -s llm-server\n ```\n\n 3. Start the server inside the `tmux` session\n\n ```zsh frame=\"none\"\n llama-server \\\n --model /Models/SmolLM3-3B/SmolLM3-3B.q4.gguf \\\n --host 0.0.0.0\n --port 8080\n ```\n\n 4. To detach from the `tmux` session and keep it running in the background, press `Ctrl + B`, then `D`.\n \n 5. To reattach to the `tmux` session later, use:\n ```zsh frame=\"none\"\n tmux attach -t llm-server\n ```\n\n \u003Ch3 data-toc=\"Basic Container Management\" data-toc-level=\"2\">Basic Container Management\u003C/h3>\n\n This session will persist as long as the Docker container is running. Your setup will also persist as long as you don't remove the Docker container. But if you want to free up some resources, you should stop the container when not in use.\n\n You can stop the docker container with:\n\n ```zsh frame=\"none\"\n docker stop llm-container\n ```\n\n You can remove the container with:\n\n ```zsh frame=\"none\"\n docker rm llm-container\n ```\n\n Start it back up anytime with:\n \n ```zsh frame=\"none\"\n docker start llm-container\n ```\n\n Reattach to the container with:\n\n ```zsh frame=\"none\"\n docker exec -it --user YOUR_USERNAME llm-container /bin/zsh\n ```\n\n\u003C/section>","src/content/lessons/01-intro.mdx","ede26369144d854e","01-intro.mdx",true] \ No newline at end of file diff --git a/00-Lesson-Site/frontend/public/favicon/android-icon-144x144.png b/00-Lesson-Site/frontend/public/favicon/android-icon-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..58fc3f293d8e501ad5ef6c6bc1d7ebf26bbd56f1 GIT binary patch literal 22262 zcmV*rKt#WZP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 Ak^lez literal 0 HcmV?d00001 diff --git a/00-Lesson-Site/frontend/public/favicon/android-icon-192x192.png b/00-Lesson-Site/frontend/public/favicon/android-icon-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..63c01012d1bddf1930c72da45b3b6d320a24bc5c GIT binary patch literal 33592 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 P?5T6+i4p&_OW6w_;{LG8S^@byGh_iVD(8XR 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 KMNUMnLSTXp3L;Vf literal 0 HcmV?d00001 diff --git a/00-Lesson-Site/frontend/public/favicon/android-icon-36x36.png b/00-Lesson-Site/frontend/public/favicon/android-icon-36x36.png new file mode 100644 index 0000000000000000000000000000000000000000..400b0642901a3bd324ee5ea08df21e5a0577993e GIT binary patch literal 3170 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 literal 0 HcmV?d00001 diff --git a/00-Lesson-Site/frontend/public/favicon/android-icon-48x48.png b/00-Lesson-Site/frontend/public/favicon/android-icon-48x48.png new file mode 100644 index 0000000000000000000000000000000000000000..e37f0c53a86ec1a48d45bfda382b8cce06a4a2fb GIT binary patch literal 4567 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 Rf26DcFfp_+!0Wjs{ttUUhlv0H literal 0 HcmV?d00001 diff --git a/00-Lesson-Site/frontend/public/favicon/android-icon-72x72.png b/00-Lesson-Site/frontend/public/favicon/android-icon-72x72.png new file mode 100644 index 0000000000000000000000000000000000000000..7b08daa4e5e4cc6ac933b3232e5186ad027d821d GIT binary patch literal 7863 zcmZ{J1yIyq^zRo~mZg^vmtHy~c3E;oTBKV*K)SoTTPdYP%B2Jaq@+6pL?k4nL%Kmq z`tf`7X5N3^%$x6=@0okf=bU@LckcI|Gv~b0PUmq`}gy` znrHV6WFxIA4FFY1gx6-c_hYz)f|e=(__G5*Xe0n!-ityv0l*6Z0NbVjfX)DbhpyR8 zn&S5gu(|RxIpFTU2h&=daxcMmRe0e60E86(5f+e{4Z9cOc`B+t#oHpne;~qnDf&nd z0O*ty<)n3dXZ8XD-ju(1zUZ>o+P>lUVXWAszWKmG-Zb>B8!L!XNhJ*aN|yVL7ArU( zj!BLc4;QC<%S42or~yKPC{&@^_JFM2Hy}Nf)0_zei~02aYB%8OY{m1##`#P@#r09p z#>v*~yvNnT`|sD?O%vziVvFZ{eFhE{r-n(S|M-I5wJ9etk5&Y&J{&Ep{Z`+8TzkPu zFZ863`sXm6$==Ci@?zjI<8I@{PW$nq^uSwg<9$I^h#}5R?{p?n0J2R5-5|c*Wnkk2D*Ymb~Gikv!>cIB915 zG|lN3u6i=2lKvzrLF}pHEHD5Vg@S;gyQ=38MHqaaS>j1*e=4msI(lOTp5I&MFFUa0 z$Xc8JV7QmvipZ6-M6&wTyJkv^@up!0gx;jWp+G2aw>{1zwP$)zh0yvlNAUqs24k7} zE3383cAo>6yLZFIIclCeS;1s-g3|zMW!U%z&2u|~qO5R)1@n`R3XI*co zG7zf}Q9_zmhg*R2`$dEXtyz%u;m@R7k(;fO_&?!L11*U37o0UwXkxeq0V^&9+q8oQ$A5Gum!W<=$Yo3J!2lB!E9WQ7=HQ?@ z;#afD*_>YMp3DAKvfpv(Vp2uxGO_C{%4LbuZ+P(27-SX|nhZcp!DU#e4o9>2upt4< z8?5{x;bdn<$35Z3A;$0idrxK=Z~xsKANW5B_fPX*Y-|6FH@YJFv+YAdTTYq8(++IZ zFv6qX6fYD+76t(!0G#OPwG3RZSlhJ7z)-r4N2~rOZ%+q&wuk+6?|$p4t=LE$8md355sOEJzT z2D^T0b?2S%( zWgv(LT?i`nAEv)3(Q23#7+SeAnwZt;O|l6K(_IpDC_N$N_uB$zVguq-8X?~zppZ_g zB%4gPo0ZEmyUUWROxRT!tHu6-{gLkjV>lKe6f#J}EaM>DQMveJl-}`fN&ftgNXn0Q zM;4ER0$08?Kk5N#k-(%}ydEf45GIq$tP{B_vH4EWwAkYgXliKXjoUMq{2p1H%fH>; zMh%{w^-a@YaZ#mhq%3~!;(fOi&7`v_i{^`@1VB=xW=0vEy($mvJ5xH$k!UhAY7v+&EcIhXiqw#hKgc{Y)9V_9Gk^S$%;`X?ktBbQzOt&B z)*4LkSa5*?h4B^a_ z>En-Mt^;e=OLW2{WQFeD)FAe$Klu4CuLPz+Skw;J-&NHCvS^@V5-^4IiFuZSu#uS5 zxW8T4g$GZRX51&rJb|p&ei7F65CY5gYf8>k5P{3B(#F1Gg`qkSd@X*_4I42a&&P*j^?%h8{zBOW7e#!~PIkbPSF#K4f zwrC^YdmGgCe!XBISpjtSq& zeUUbeL%n0@sQB9EH(UHT)riSyzqEXuBoD@G<Frua#y7DjM3`hGJ>k%cRm;6U6?vJ4NMCjSD9btq#XKO?sEmnO2r zmAtxY&>9{hefjri&f!`tV9ONLIoL0d#lrN%f(3*vD+c<}M8C5+?tk#Nl<7p$F85@_ zf%t7NGCzmD!=OPrcIGd6;SQD-rn)6k>v*PbyPtOYd`YnQEXilwuP>r;jr?;QAv{*R z3_nO8`_h3{V-mX;(F3~PdtGAWHZmQXlw%@!WtOmdGT8FS!He`=D?@sd6Or!kCA|R+ z>Cnn~Y%YBIr<}t>5`{6oqH@}?XKznp%mToQ_4h*=@p!;mZuT*B5)t3o6QLUS(Z~&n zddQiVJe%cIEHOsH1cP1R^9?$hk00a(>|=}m0GL4uXzsXUIQcW5jlhWw*_z_Ygp*hS z4oO~uiM6Ltta&^}x${9kM4S$Fx2XgBnduB4L^{I|GMY>H(MT-pm0Me5Sml9K*_wVy zT{RI>Er{}HtcU5BEbkYo3)~cv)^}W_X1y(zyC|uZiop4SEXk#Gr9&kvB7PGvmk8Cw zWnU!H!qqpn7#^4E$!_X=NLV=}<)v=vl2 zb%h63uZVM-@WP4)Ok!OBTB$952tZco;^4&ji;6S-8kgbT-4^xzy9A?EO{tA%MM72d zr|g+c8O@q;nI;xqRTxHF>`~%*qQarzjwPx)18S!V#>;5zWJEH=0>7PAU|`{Wi}a%qSkw*}LA!;Z!zy6)U~6 z>G{`&6fCdzc7kTM^j&4p5wmBenR-)9D8@L-GZk);Tb=>y-GAA^8r*3AjYyu(F48LO zA_06o9wwrPEw-H*hmNi0>`J@Ze>QUPAu!YhKS^jFDM#TgJZD++3$4rJPNOHfq86Tfrf~LDEl$F5 z$ixBm^LOnqAk1NhonFHBJfWxlCH(v>wv*Cu&?%bAnRkOIh2SblNVbt6VWkh=JAuyx z*=vMGNJlTjXYnxAsbtZ7_KFZI)@d!F;e$3bwVe9ayJq*wsKO%`*N?-oRz|L%8{Vz3eq6vG;&mW$@65@#mU_Mq|d*W{*M4uWg~;S zwFr3ReH1xJ()+bQ4R?l31#+}OGk<9)H6ibN2;SaXs82J@Xj;neW0ZT%TfL`PmYVUF zq61?+cx;0Jt6RL_YoN|Gko0GfMWwt&LoL39(vmJjMWyEj-NPb~^+To2Q*xph>R6!Q zn3x;#?-Py!cEa;H2D55eEgI6Oy7#}#oR(d!6W%K| zS-xwIoT0psP&M*Gx72`AO~FsPtMuxPb-fW}_v-Ji zkvys%OPruZo`jRY6Gi$g74=9iI@~%ccCkz_R_OMD?HeGnzr39i z!~{_y82l<*mV3a0PnT-X&EH2A|9*+p0m}){WAOXsK*6N`l`;i_6dPC}IP64j=}goe z4voEIPsI8r1pZ=G^*r6y_UB0S@izCy6FDu20vEhUt|AMA+`y7i`Dv))d<jq_MfxD<^z+vCx;_SP{OiY`;hvP& z2DqcTcxbg{N-GDB!)3jJ5p;wefpp7k0y22+(YvKIWw^|3ww1mEnOA^D7->Ca;^}eb zw7O8vuQ$nXwoW$~9VGQLfy_VHxVDkFNJkyc4qco{KxU1?qPJ>p_$JpAsX7R4g=?bFdlUute5jokNKhk9hKjIX=@#{JRY zOAM(a(l`A`-$f9YUfRd?n4=))?*k>=i2(ia4opZ65{q<2mfJ^2Iv`%UK#3dT!VINvcnso1p0cBZu0 z99pb}n2*~TY0TMZ&Q#>wgdXDQ4n%Yk$eSFK;IcuKVt_e4ye&Z}Ht*UWRb z=yX=3#^rwaQ%N{r80r?3fPd9kGm8z8rfA6T0;CJDDzw5}DS2SJ4wj1Hf{A&xSom1= z2J%*B45w=rknPhhjblr3mFX519^8MM91ARZk2hu>iVU~9Lw!OndQ_iR7(K_Maq5iZ zFxKz=zV~80>1Q{gax*fW($(Hd>QhV~#@wuKGpel#l|T@N@W|D)%)-%=hCbDohBor@ zfP7eb8ZE&3w#T`PS0kB`P49?Lq!-MLgi)4NFZQHmS*YU)6kev9#78BXk9fV`GACKM z>I2GzrW$?m-E4|8WOfCLIYpC`p@}$KjnG8YsXgexewo;f!-wJTY5Oe!$X%Y7e$v{u2 zvKP*Zm40k*Taf;{r?)&}>OeIqSF_)R&Kv!vIM<-vA@#(>#6h&YD9!!Wpo_^UM@kBt zybrTLxI~1-afmUpu@4+-rO{+~{NQLJ>?fJF1p})cb|=2Q(^%mpCz|%x(34!YByvl6AlCVY2-6$3O_|5S0EWx zc`>1I@v((SGaI}C4@{vp=sQt0*c%ZpOvOBCf|^=e6!k{Sd{ECDRD(+K;&Q(C(=YFI zJob^*A!|{4x*oHPkg(k?bv6a;Dw1+g8<>?I&b2qcGx6aM_Qcf2v^11t2CjvexO<$+ zzhQ)XipuHf7QGR>yO=q9=@HMOFtdD!qhRELY{PzTL2rY%xL_+8HgJCvH#gV2;arn- zEKd9`jxYiPgshKWdJg406Mn5loi6dkyQ*_acULuel`F|@RpNxRyhkt4 zjYVfX4AYi6^fCEwc=A3jb0dD8<8&@VQN-ge0^Tp#WwP9uvY_mJ9#iLL5=I84S|#IE zZTD?Xqaq|oYSmP|;j=FV;rw2B?=Ep# z7kUxjRz3(8NT2=t5NvnLidv~{Kcn#7PWiAFxD(cHSA=#V|B*a+blBhFX_FNf!9myV zH0g6_92~tfgRh6+25&+vo5@+58tbo|8$J^|#HxcTKuZ1vV#q+F-dW z^IsQU-mEC4Xol3nvK*)3kZyipoovTQ&E zw1RbHe)+*=#M-&rp@-Po2C}#$I2%vp%TcVOknfx_RNpG2Dco}^@Q1G|@^x=g42@66 zN^?*)BWSPfjvHg2gE`Ym+`V+?@1Fi1<(d%>6{g(wDt)8E?u++=>*6QjAd|T!(ubL< zsbU>66%31(h7mlfG^3ULMeccYc)#4-t;Go3%ebbTzGfHtTzqEO{iEvSnwufgE5*T8 zEh?SPI$}p)!JC5da?j@P@3={I6qY!T)N9-Q71e$@Ae6M{g({)cSrY4vdP{Az??|j} zZ?S}~?k8OHGv_n5Pa#>tBM~27YI~Fw%BJ9WeL7sH*4CPONCE$MRg0{@uaPP`s3gQj zY7l6x@n8JNXOq`>+XW3s%Po%*qH-is`Dpev8VR0+Aw(^hCi~smn9?ruPr`>EAMf1- z?29Z)`uDzT540rmo`1I6+I~zmsPk}jF=&JEu1sXcUp4ciI=f6xtd$x31?0O7!4L{t zS05*>&_JJ%(_KPL@5$K;F*WPm`dLU3xYTC0X|{Q~=ZJS?>nGGaiifejcaYp8jTg^! zCth=GVTSPqn3_Bl`idd4K}IH5snVNje`6&(egbTi^D`Z`GSBGcDk$GdmEu2R6A3fA><{L`ZR_kTnb0TW9K}40~x-hef#j zfY^_V;#4Z1<)x2u(*n)KLQ}KoY`OTxv|C+WqD9;fk?Pi%VayJbbuWkH&4iFoLnsJto{D~1~h6f3hxcz|IOgxV(sZ;=57VpdV0Egp!xaj zoXl*j?#a%=fzQR=re&Bu=N=3D536JA0jZa6&+jo0|A(LdgVD3I^tAmCGFHX}xrb2y4~VLrla;5Rs}=CS zSHo+QPsIe0Z0*HArw*sg%W|1>gL`n{Qq~$`7KfAR>BAYO93k@l%SQFhyco5 n03j$QU@0n$5dC literal 0 HcmV?d00001 diff --git a/00-Lesson-Site/frontend/public/favicon/android-icon-96x96.png b/00-Lesson-Site/frontend/public/favicon/android-icon-96x96.png new file mode 100644 index 0000000000000000000000000000000000000000..737543c6764cebd9bb1312baea7c8b58e0444fe6 GIT binary patch literal 12193 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 GA^!_mx?42> literal 0 HcmV?d00001 diff --git a/00-Lesson-Site/frontend/public/favicon/apple-icon-120x120.png b/00-Lesson-Site/frontend/public/favicon/apple-icon-120x120.png new file mode 100644 index 0000000000000000000000000000000000000000..ad90e03f977df858710a6155fa494d112fe4c3d5 GIT binary patch literal 16691 zcmZ|01yEc~&@R0A;u6vr3&rbK#J>klV( }C;$KeT~KY2~Lr`{`g3sD78 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 JLd+2IzW{N~zfS-F literal 0 HcmV?d00001 diff --git a/00-Lesson-Site/frontend/public/favicon/apple-icon-144x144.png b/00-Lesson-Site/frontend/public/favicon/apple-icon-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..58fc3f293d8e501ad5ef6c6bc1d7ebf26bbd56f1 GIT binary patch literal 22262 zcmV*rKt#WZP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv0RI600RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_000McNliru=?n=KHz@iz zD>MKAREbGMK~#9!?Y()tZAo1p`u$ban)bZUc&EO%Cz=KX6ckWV6fl~Ad=xZl-V6>O~_B1wVglaPY7(VUxHN~NJFCm|B)g)`Z0 zXL5ZxUVicuFR2EcXAv<%XcZh@4<%A@!51bxgC?_ys`EUYs_tAOrKb{31|Y;0K)^b zur(qBW+s3cU;q|?CT7OJf6Xh;TpM2gr-Rw%*CqMvthEqe0L)+jLNI*g$E~pQSKU_c z2X8y|l(!gT@^5*?_Z&I#_q_T?A(T9y4M#sG^85>g0<4s%hz2v58O+5S41fS)_W}V- z1O|gpOxt~$vlKB&xg-7HBM5`P_I&Rh##8STOG_KK{(~1y#}7Tk>v!GpSnu6qHkcWI z`tSY?&Oh(@Uh=?$%OXzi(AqwSXZbUbXHPa(-@@87nAs<0S?vjt12YOpgB%KR?K8^& z7;G8z13&YfXYRZFq3;-HgMX6SyaQPHzCai#5CE+WGOb}PAeh(}(LKwZ(?9rWPkQd} zZtZTQ|MDNd>d-~J?}vU2q~x9XaP-TRrOyU2hy+MTKoTGbmH;q;FrO^*90;%sFoT%k z{*~)wKnO4iKnO!pY+Ira3+dfM&E}h;<(0p<YQD*V>QB1_6N0wb=f^hh*~5 zLlS8maFzx-&y+SsFd&!#0kBlk2&Jr)A{U+)`=?In@b0@zdwI={Y{oqq+_ZUZ{Lvpn zc%DDF_r5#x-JLIhPCg%Oo@_1O!j?mFAT40;U`t%Uo&XXA2mt~hM8&~CBmgF`wP0hx z%urW0@BfBTy!+J|=N&06dVL?O>urRQET{vJ#2Kz_jxZTmiu2^tHb)!(_B|hY``|~u z{k8u)*E9atU;D!cE`|aLp_CDx$f3zSu-QP^?LmeC$WtIm5F{M(02RSx%V1++wFMgk zn`JOMht6{7JO>-&(1|UWt>oOU5!*FJ`k6Y3zl6u*w|@MWe(qPorPV)UV0`ay{XU-X zvKQYFl6?3rZxzXX4=E4E7e2Q+&DKBklRtIFXuW2wIc<&UvoUS5++*erV0{J@Kt#+0 zkR<^PkOoo0pl$lt10(Sl?-~nWTaeiJo1gmGOEwBG6Vr~2bs|o!={sNgqU)0L{^pl{ z6&nDJuU|CY4%hQw@C^x5lZqeh(Jm}N)OWWAUy@)c@RoMdJ0NPuv89_ zh(I84Nr~7Ykc9<()hnO3nc8%PJb~5q0H@D1;Rl}E9AXF}2$GmgQe1p+h{1LSYc03E z-tRu?{8PT^z4yN7(y#s4A0N1&54`3-gFJO>zBBmm9LJvv19Z=vMfaAoAkR$>g0P3p zR;Qxkwg4>L-)t;Qu94>{bdo?%V`S4Qbdtj48f2|oD8Z5p9-zSg1J!H2w*Qo;+{4=B zXFvaWN1xu`eiK^f&xx&%ezctocGg*^x2Ab|7iak`((+kBe3p$p%f>8$ZOCAc8L|)$ z<^pGZ>f?tdm?0G1e*En5OoC^=#&uMp?~0dYxq-u)^HKg@yuvBpYoWBpmrnXt7s zx^T;ZbN}$`eitBWXIHPikVm7Ja~waPv%CY#?y*up`aZly2(J;rk0PibfbxBi=Ygas z5Y(&z!5~dC$-MEKWV^S#tc5k1l09!@EozKZCRU>151P*yvlB z?J`*t2m&#vLJlszKWDipgtv0q1zP|LC>G)byKggdak--m%*AF40)a9TavM^9oRs%| z4*YxksPWg{nYDX6Pq}-*#@O|{?#6>}`6E2=b8p0{mwe`Gc5VCRb~gQHRo z;34dG&{*yxY&SuH50bK)G#3-5+5rZmCRWVXQOq0=1SW!FB7~v9>UtYqAPdSj)eC1^_p)oMURA;L}v>3D)2y z2m%N^7wmt1BtGng$H@S*K#()zT` zvd`jpI!>pPi`jT^Pkisae`^){&|<~Nbi5(n>p8C1;&aM667f; zPa*6y(dc&IHyaS12cm+NRm8HO_B8}4Nk*w^v9SfBF(4R1O1GWNP|6cnUJcRiE3hcg zrUX>&?65;RbeBVn1}R2UgT&09xjDT2xj*zTfARi5eCPjQ)JC$sh4|uSwC{Ryiw(D6 z7~~Pi_nZ)I+=SwtA>!c>LJE+QfDn*MLMR30`%ndMW+mMON`bpPC2R|p2T%||20p@` zL!{}oEu^CfEE^KJzLm$5f0fy*t#Ebe=U@3#Khqez{jXl2wf-W?&C>w8%xrzqmKL-_ zK_KN2-}8N_Fo238$S{ENJV@n(qyQ=eq5|P-YGX1w*(4L89RG#$97AjMgw&4xMB$Sqhz{u(<|n16T(69(rd^!)rBQ z8Bpz>kKSq%QaKVz5PMc#3X@KP3POo?-$$HiFz5YoJb3QU{KgOc&hB_?P)8s$*oD~| zgOc2bwmw^cP-tKfj(o5|Iv!zq_38rOB_fcN5K2OL3SJb#YqsD=4X7}J@V$b4*aDgA zQWQZd56%7({ALT&?JZ0;w_(!^Fs5%t<8Msk_%kTax~%h0fuN?Nd~V$=2&CNURelIR zir_UH@EQ&|g>nagM5XuEkM3NBoQpgaS3@ONNWddV0G=ar003(&j4?1-ihLF$j}zpx z7+I3QnjA0;VkR&*NbB28I=1VllVn7EMp+}~alpmXjlRHK3MrOU`BW3W#9 zNYlS(3jh)eXJ?WGKWZarHW74MkWuKg6IoC`K?Uoq2|)W!8WzXizYqCdgP`wBt>Dap<;~$hAl(^hS52a z$r#D*5N0}qNi$e$9I{nn+~Q$y#LyzoGDMakNI-RaAxIdo#et(lhzdCf2pbZ9sE{NY zn)6i_dgZS_^tO-x$vfXreb43w$<8LMwUQa4e!ogqB7)uX;Q4bL5{LqE4I3acj=T>? zm~L*P+3zD-?t>ap!QN`~t?nh!US0wbWAH!@9!;G3X$7QI5RDK)r-iWFLC|VL`aXn^ z4txZZfFa9sRrXRVE0sTg6TFdh+@Y@dZa{b#>&5g+-|56%(D80a{LWyg7G4xa@; zT5Bsq=U#-ZuBSydVA+DF6O3jt;?WR|wG}j%`VgMCuor>>h6Y0*>h_`6Qj8`Etgr|> zT|`TL1l=~gFangbkP}zxL+vD@wt|O0jEvlNc_mlg%5 z7;BR|R$vtT`{O^YA{A5qXp*z2G%i!s~UM!Y+8hye?$GsHW) z$l?U;=`x~r3&YK8m~HO@xv9)MdzM=Odv4UN@Pg;3$vMQFrmPN{dv(Ja)T$d43s6cr z;}XNSMz6i;ZLgDYJh6*2Dr`xm1(Y0iqkgXg4&z=VD*vwAU+NT*wZ{0`CYTwmGpC*W zVnxMn$_}-4F{_CID+&`xFZr1!1(thNrKsuLW*c!ps_IC$6!f0JvB!LWr zNH7s`$qq}#R60g|Eii!YE$6_>!@lijpbSo++Wr4FgoKb(2)Z5k zttP^LAES*8WWy1p)_^sznTCL@h22l z?KygX8<58V$U50YN<{rGR3pG_YZvjgE$HbC1ZS{aFqYHN6m~Dn9RVPxnHFvjvF9sr zczHbGrb5tj@|5+35R{vI{&^Ikb=!GBi5x_xqG-%>iHiitS2zfRxG?4&`uqc4V1`Xo zj5e+!A5RX%OTvwi?N5SHEKC%BL_dhoJ#z}Z+b^8Rn`TiN2D+T;sBXq{R^ z>+ETG;HeNa;X<8eYn=re&I&C(-}%6<2jB2L#@ZVCx1ERIZdD|0!LYk$K9w!5=8aIE58?ZT1j0}!jQ6$s%0HGB*^Jv7d&L$DbWVZd-kL#uPZ7N$i8lpjC_0ZNj_HT%br0Ec5) zT!g)P-8Oo+pGUN^3`q*|vD3c~-_#Q#K%HI9qazN!-`;!jTp(O9fQrIE9QHcs-F_ba zQm=>zEdeF=-Mfx~W!Q=g0#G4#5G@GNB?8S|7JK5Ks`L7AN5QKoCqV z#5E`P80a*cTfPBE&x0RDPJ<|XStkKA&tpB{cRT3batoqv7lNG6=MxZrY8!Kc^_7R? z1ozp8L=G%9Heb46oQxW@+vs1o1%9trTz{}tXpTgM0hkD06oQ1ipCE#$2elh*V5}{i z#$5aIp2bzzQ<6a#5VH`A*LvM0w9cQOk@7Bs$hzRK)X71`LP-fk-45V+ATDjkC)fzK z5DWxMee`a`o z^ZPNpW&`c>XA!hJIM^Ov*pAq#+F`2=)o2v*gOg>&+@QwLxh;aC+ykmb1BGl-n+)dU zk;*X7+G1bx3*U(cJiGj-@BZK4@Q&RNzbNHgkdQ7&DM@O67Njc2pdgjo_`qFbF(&U!OTE(Xh960lupTIGG$IfI0lJIsg+KFrm|R#Hl-UP6Ewk^r)WA@Qew{XgJ2PyL+s z)y@0<+2-iVw_i@TPUps{@7CnVXR{)V(lIQO3eA2WUNfqYrwUmu)+4AeauVQoJLuhV z4t}duM}zBz;a;S!lJO90KsFB-Tt+Q5=#L60rfBEu%kB>ZX&u0y$o8Ojlc8eDff;E9@ zFNH4RNYcp+SsWKYVo)JeH+QL76!S_*W)DZ4W_&Jf&cy;%bTOi|2WapPazWM^n5Ix3o-4+$b@m& zoo0xKBapR@Bw7n$7)k|bpFV}4(_Tm+AqG^~MDy%vgzZ+5rD{(Kzr#1~5jfR1w!_EI z?cvPvu0~58IVdqc`mI*bAHPx-hRp#efF1kHn%UmVw?AFT)O zIhfpht?RI{*Glc2u+B8%w_E70uR$sWBEVRK>Fy8)3{o!90RX0>5loywzThkF{yq?4 zI?j>j2Ay62syR2S1?`E}69PzP8fk1{S%=o5vo+j!^7ioR*CskWEhS@REkds!IgC{n z#0o3ZE))bk5pgvC&8ej-rV!yqa9j8 z`~GmLKGO4{;}|AQ0i|G>pju6M%_cyEY%<00(q-5*fqcPN-1U86f$=a0vqifb9J?5D z<{MZRm`yTdIg42w-!YjDo}HLkUr3<89ARZGa4ZoFKtd~nPS!vxjR4EgNeUJE@S2T% zOB242pw&d!Y@xZdRK+`gvIT(Av2Q#Eb2`WcQYuGGfagJZ3fXi9Yq-jmiMkzFYcY7} zGW1{!OGUN>vtwcPN(_hc+akIdL}+(B^p`_O$zYR9o#!6NrAe=@H=&er21h1HCgfg@ zOUv7cy$lu%6DJs7+<>0W_AJIdMutAZ)jnhpKB55KyVjd26Y;TcJo@9H_0>!2ND#t) z57GKEq;%1q@$L@dYu7NldKJmezy+2GA8PIcGw?id;0hP9waDB6pcG+ctqJ8x%tk3l zFoI@)Za;+Yl_7{l{2{p@_wD8cS9-fRcdZAHC6eI~yANK(@`YO<8;v5KrHqSl+Lsfg zYr0`QUa7t>H*mVk+;pmmVx`^vhWDEHp6-1YoM28z-twl5g*c=#ULA#iAS9a0OUSl| z$j4)Fo@4ic`@y8Z8G{8uc>bV3Aci&?Qu_0ho;?q#Jr?z7c+Uq`*CUvfu!tclJ}b-v zm3hDL?&mVc14~yCP88OMT}aD_uWn(72))}bKn4LM3JsyQsC_VZWey%50BZoN|Ezz0 z-5bYPm=_;*(I?>GGL5SMj2A@k+ifJnvCHQlO~Ar~l|F>>cKlxVX9b904Z|7>xyKoL zc#zXxU@)X4h(kP~3)WsRWbL48AfHB)1VD!*s*f=>@L8nD@p_{x1H;--6 z5r3UVNEQ;#&4?i)t?q%f+++gA?wwsj#@hH`JE~T zT8|K^lgQGhREki;PK@;^S{=pki$v}W(LCz@23vPd+V?0jv zoE;p3JYbkyLr8Kj0raOWEF~T17O{jze+gc^iYdFnv+wS|9vy! z#!fEt97HWn?lr%WdELx=9T$Ie(C^iIWgxvDAnFyN972LD&YC27_A~z5k9fkBn{k9m zlq9ISAszeRQM&LdJccR zZqW(uI)9xk9(T|84h$TgKmVrT6r(C~MT-=5ZeLr3NjY5=h49Lv5)k*EJYs;gMw%wD#=;9is2~8y!inWG3_MNcd5+0Mqt*6ZG~x*+To&+2GUqV1Ont42nehUyJ*ZpfHcVS5p?LZD=E?+8)HHe|*3UpbOR#(KGN!`;7>s78gQc@)q1r`! z6(1t3lgq$pwAz>i0dk$g8rv61`T_+K$a4dd?#pz5X5wyAD>j7_2zz7!5Om5&VvWv{ z4hRp$XA%)~l3?qhhcLdj3DO!2#&9x&)ds6~-T~o9hpJ0e@L3Q*MFFzu z1hA}ZJbkw6F9#UxB$!PM@*X1y7X2gDBx-*jjXaE^fFHmL@l3;73+20lMBP~v?YIF! z79asXj37N#R5yKiu)AJQeKOd^`07=VHegv4J!eKf9$~U^6+x>7Sp<#-Z`7l|tiE^MA5n@*7oMo8lstah~qVTzjBL=aL!g#p5D8&R(d83eB33~>?M zcZj2x>;W?=jFMU-8H~W%7CuQ)`1u$%%aIJn=$u;Lhp;tWwAz0!3?1dP7G&TlA%X5v zfXO7q_T~&x=%L;9KqZnKYZSvFNXy7lgE+~sy4HjwLX?N-&l-?Su!5mNC$P@T?AL*Q z#3N5gX^zX!%F?V#Eh=kGmsHkdIdrb!p9pOZx_>DQJ0U$83^Ciwn%#}LRs@9b-qyPp{lS_k1DJb zOqbpRDO?o}E1&>|9}t#T8hG%&5w@<)5JqkIesS{nn2kMRRY`0>1o#btfJArJK`ReI z0w5{jH$qnnT3lb4>P@kglm$ME>ZYa9t#l-mMI^76rBdw|VuDUmOt-d?PG|5N0h;T} z@S6=N&$Sz<>Qh(GFE-B>9g4~{V$@nH9JroC_M*_NtTBL@Q>il2ptS7Q<)1lxX^&h) z5S|ZG9+0@?P*tWix7t3s{Sdp`Gwf_BtetKYCW9LZ9~H2MF`FicLJxs2;IoIdNf*kh zqMosjAc}xTz!-O;jTXY0F3QtCKax&{saH?C0lBOURJX<;h#F`uFG2e5dDdF!EQirE zTPNztx6XZz>&NZyoFxFIdAR;RBE#dkG2ngjt1p&fV3x2Z! zuhDSzpHWhaS|yIU`KSnzP)b2HB48V?NgR=@9W4N&!hx;CJP&VgIoz5-Q%C_7g&-ke zh#daK(T$hR|sdbNe*Kyf=Ggy(3!Om<~{^m zp-UA6MTP~<3qM|m7Iiaxi;Zp%<7m@WurGq)$S_z41l_KaPmVKJa9uN<2f$e(2qIXc zkxgcp?d~Gp*@d3Puv)wQ74xE(Ri>|S0xnsXTIF)-Vq_r1+dHnBNu%isqxZV-nh~Us zMdW6|F{brtGBVVP&RtQ|-JuMq*B0<2jq z^D6{nX*t4Vq%qu`q1lMBdb&|zdEG#G1VmvBV>;20O2G30X$ie)2cD5&7)VdS_x+kh zeeUOaG>6}6qqDY--6Vy{GFSkD1e*ON^iG|E6!HZ5XN$r|Rq@?eWRn>tTib|7L+B)d z&0X&a5=Aqaz=!gShHt8D?&dbnYS)NG=Q&KC!Dbr9XqZGJOJdA+ci}Y~Xs)iHy|w~T zG*xk-xwMa^wU+vrt*>HwHsSOC%s&_8twQLhVI86NnEl{zDF*y+G)H(^E-hd^Az zIOPK?s{v-y7=zsyt!{`$%L8C)r}2o5CPJQB#BqvNJAjZtkSR20Az)oe5WfT%Q1nE- zd3M9=%5@h4?bB;eN?@`*KyID9(qCUk&}_nxxq+}*hDlN++q;-t+d`JaU~3_SfFFkN z!T?^QfgpLk6nk#YR zsUrHLW)fkB^nI*exPTyPAQ_JVL1=V)=&r5;vP?%lz@}A$p(v=EY((gsT6HFng+klK zPPV%qmX;&zY$n*=oFWL@kc#HE20n_i6Vk-O8jD6#frt@hKB80t%n%Sze&B$19c*YZ z==~6+p+nw31ewS>S*LY+9ns2)Q{|O{kn&`eG|D~axdS#G3^BNT1?gx4);S;qydXrg z*KrQxFaQbRO6V*+qR@Ee!VpLaD5c;90fJ@=k?p}~jcgVp9*vMpW?-X{?d)KCIzwY= z3GLJC@WRm9>I$v0^t`F4f&Te(FjhPNmQWBRigK05Zw8ecAqb779q+GVFt3;KnX(FP>>|h$b3jsEJz9{-z!wrQq(-5+ym^hkT0(8 z`UVkDwt7(hJnzhPOgw>0rL?OO01G68A$IP65ZTDdRMJyubi3%Rt{`YM=6xxOn5KHz zNZssGmtg8Yg%FTI06z%O>~;`OrZ^xOi4P{t2jzpg?W~@5s+!2W1-Z#um0d zb|13Q5U#j*LCy9G$Tu3e#wgO!*){520G<>70T6^>bhA>(+S{nY=9isj5rLy?hSV-Fq0XumY|fQLSDew-kM>so4_7X&zT6wG6Q1? ze&m4!!#5I97F6*j%J(3Pp5!+rY~e=laRPndxbHH6Y&OI2q07i7Q?LNSP76yH&LUjy zfd$PGr)XcfpXx0J4Ih{#yO+EcLb9~%9KisZy&k$}PeC>U2)3AQ?_hZG3T&1a%e)D8 zkGaVUWd&cc|B8Yc7rWbN`RFZ&&>Gm>m>`L@v)(S+?5jIu2>?q_feXm;w1RJn()fa) zl<%k!mpt`^PD(oXRerV?=%sJ#uor-$5fvSJ?|t_z0EeQ(H*16O)hn0{c3mx1-HTK;afVBa63Z2yzMD5o6+A2J@ z(70;#wr%mc9>U=8mMUj!QLep+p>hgJYpIXU@)AfYXrnRR-F3xNA0Zo?IJz>ZV|qcT zu)NlQQUW{MF^0pe2S_sq8`}nbn$+X9k`xou9=5LGD4=!Wtn6B+CY{n3L|uvO3rij@r1CEeyPWp_p`*AiN!(Rc&Z-?B3PYcvbzJLGY|vuV2E@w1yB})E0`Mbfv+;uIGxNe+1>?=2Im@+ z-2w7q4g>*^01M$%{7wtLAAl_*9#4=b@v$28jUiASz(@K)7(uA8vf6_5fWaWaWSrH! z8w8^n)&fcu)()mh{sB2d*xau+*J#Vi^`GdYT&lGO>C9D~g%k*z4MKZv*_>_ZEJK#0n4824`HUG};KPeTfPpNYA)8Dd zkvfov3ejbAjrnjQTf66>zvM$}i_NPs($p3)H3E5Nz|5|8A^^z}o^{>rTtk)ufeL}L zjF~a!lLLXuePV5)ldOo3kq8@6v7~u(n%Y;8C#j>frN#$>$u(f@vBGT`>}9P*o@8~m zEubxQmK6`G*^Zb&LPAENlQHugdKOng{LLH-2y|dTTV0@rg_4A&l?Iwk57V*6_T~)6 zxWWQimH~pHJW-^mNO&x&bu9?#H9NgE=0t+@V_8Xco>EO~R!TU7nIcHjC@2e^hcyJLsA$$w1TEDx zE))p5*GtI8fQ_zl!fqs3>_&ldocVr%YE~fN`Oh+!i^SaSvoNpX>N;DiIo%I?CTa(p zYIiDuSy4nR7K5o;brqCn?yfHWac$l=0Y>WDm03}l!)<(7enm=xlmfDN-$k7k)#;g_ z6k}Ikd>PYFmV_SrTZ40tjAs%BB;njG|r(AV_H=tx0T3XC<*MIq{e zakYDt8vp=hz8Is9B*psc*X@-*socb>vB1177KtjRYHv?jW1LLNb zmh0kc<_v%ec2+t0jPvPmEyZ~slI(GS^1^=ysKIo|_ZQv-$`B)-->^!1*@r~TP*TEc zL`a7t7^9KKF&h1DNfIgyC>!SbVFZ#2Y;|$`U62_`S;R2!pZ}beIm8nr5QHHnf?Q-L z03``t5gJ^!geWsgjMm7L1OP(_Iqx)x`803FP|B|>VzQFaN@3bLk{L!bv}TyxB1wF+L&!_fwe(8ox16C2ke+h2kc2Ff z{OWRIeJS%dNCTbwTvkHl`Ttq-b|Tbe8}FiJbE4gxNy# zpndaj8U`B+QAKIf5%cCl-@9I5oFsIW_R2OwAZWGVHyX%B6X-ZWI-a80_v@sr(q@$> z(OT*v&th0>&}g?2H5=tAJ;5ZM_UAPtw3quBU3J9~8vPzb;E+}nN{$c&s}17e*cly3 z!0)x8n$cll&o?wG_Iw!fEX=-A8w%<{43Y#-68um>NR26YRuoi>CxdD6>T;Onoc(kg5m1lKP7FrF6yAnHc*;XAidYnK)>O6! z#NZYxr_~ygZI$kOEKE_Vsn<95X-CIUuSFTCu$W1OaH)&w&NlQU#%wT#R9onuT?cux z#(kW9jeH-i<>gAqwp<2c96si;K{Pj~cnZyxz7wJiR~@izu~#}tFxuQko~E$GXm#2M z+pU{x{Hcv&cdDYYCHUV#*O+W`V_)mr|3#}n3ixIu&M$K=3l%n1Ufj-yo~vEyjV%X@=Am#5}3w0 zu8fD!!Z;O@E!fl(6zA)xDrD&WpO+i9n0kBDcINnC^2LcP{4V_fopY`wq$R-U9K&my z7;bJ={<1?2ghxJRZ;;%c3aW)JP7LU2jN!!%OtyDmje(F7-SsuJ*H>Kykn-P6^d(kR z%Z@7Ndw_{+Kk!k|(;D4xwSBCeiXc70AWM;wsT`BVjqb zk$W-_G@Dqu?Hq!Y9;_r7onv%u3)`2jAep!Z!}G>{$8X}Xed7zBW{t*lcYvLXmoXXa z!mx$(6k4a(&^Uh@!tBTV=5hF?u{wkEc< zI*`v|^#yQagpkXpsGqH?Joa3zv%Ph4q<$IO9v9MVOG12R&>Tx5Zjyz@C zs)fx50HT5tUBIN(#AM?d%q&K(Cm6;vOm=nv7E*c(HpiI(0tTtl z1#-Mr^=OX0sW;`^nFulr(LQ?`UL(Tz@&@wp1UlES(*!0?kqm|qfsY`J;6(wvz=x2Y zD<~yuh2E{JFQ9XcJWY_t3DP)$$@4;WFMMiYglMVj5(^uVbFLmFLq0;VP_M5{0Rd50+;YSSwy)L5V9>Qi5LKY^yL*vUIj=$&dp_V(nH{@EM&2_e( z+q|PK2We_WmTSZ_gEVEVthM3!rr2Fk6=FQ_Bm!08Y=9sX13gAI%n`&2mJISZ1$Qh! zi;bP;9RL_M%OFEX<`?Q$J;LnjK+xCa6|Paly%jdf_?*H$B*PGmbss^$gKRiKIv63H z&S3J?$$5qQhK&X1^B!HLFS0yX1OQS(`U)xv(d_jQb-PfF!XaCj(zrz8`D|-b+Y^(t zr*g?jgWC39r=IcT=e&F}oh*+gyJvStJ9j5WKNVy?J=O7(k}Pd*U7dlg!20P3(&K#^ zRDIM<_j8C6QZL6ONYI{j;le9Z7_FfKc_?kQT7$9-A`B`(d?I#h<{A;*2baR;<@o{p z)c}p99(0z$BnfnyIo6hIAkSS(No!$C`??U2Qo8zxz6TKouBvSqxSk@lkObyM??64a zsQ%`OEbT{(1KmpHFIRRxj#K^H=y(6*m!pq8@WDGTZ9VkT&Eb`o&yx5y2iJv&RjW*4smX zY(aev{cg3kV*9NVkl7Zm(pN=Aa38r6crKN^s2^K4GG@E~=9O`G&*t91I!^#J05tc7 zonE@Vcm~ft_iN9;_q)IL$3FJPxBf<&WgFkE^Q@K347yz^<=le-v}Xb3gBXlKV}ev^ z_-O!Ui!4bHwpvFni1ShwdSrT5?49?CVON+GOqwAXPZ7485P^4ygyA;4-r#qheocT7 z3#~@ySJfcNs49DupX@uvbP(fuc8Ln0mVi`QY;{J^QUmNxZx+XM zN?dcUF31zcKqrZ-LV+SXZIAcwW|`gq==Tn1 zgO_S;g0KOsuD9R^2j_kt^gGu%F*%oqC4r@B6H(^Fxn3E56oS;=HoJ?GDO(1FE56MO zEc9T+x$y`)93Q1u7w?MthuLI;WOEzYXa*9}wXTwCF6-dNChm>KtMy%n3=+y3vp^|haVW%q&a9>#+&XPZZUKv+8+q1}sWP_Etb0H4ibW@gzS z#2w*A9#$30jIofO=WIgto0heg%kTw;YZO8fLP?Ng3J1=k{`d6{KK}cA-gZU6edN# zej{oca}^)->~uh09ZTKKz})^G6)X5ZRKq)Hen(9ovNTJD*y;WFKNR!E*{vj zMHod8YEOzlVWKX5Z^R614T!|NEH28^ST|=c&gsapFQ9sl_E=t05CT5r;L9*T5Qfk? zL!QRavl)`{80mD1JWgC!9%Ec8bLsOc1FbAO|6gIDCn5I8dWXw>jQ!JInA<_@xV-!Z z5U$)!6v#8#-UfZc|NABQ)VrU(^r8FT`%kazT>h3cPtFM;&}d4moo=AF9J*62SenOi8Gq!IdqzXc{bPV3QKm`yd>&((Om8WO5vc=yVtv} z>vde5=I- z2pwg3JISa6ro{IHZh2g9wGv)7Nin>18S!8MFhgx@Z+uh6*_!kS%gX_l*P8Hshdd`Q zK|SxcWeuRUb(yY~i{yV>WFWYiYYj}}6cPJ4i#7xcq_Y{kS%|3JI+T^UnB_ty$PJ8* zfskFhqN4KIQ8V73YJ78KPsfUAA!dP<2d~?O*Xe?_g|)h}I)ey8I#&frS-^!Cc6DJx zAI>EA3Fh-3`|z?3kV>AN%a}G#F}ZRT@zyphTL={j6%Toip?nV&kqkdIkXt(0Y0OHI#ibx^XtO(ob}8t$e^NS0r~Yu z%r~*jljHe4D*xKUu^dxT*nO|lbT8FC0EYm$3iklYLVPw(Fxt3^$<<94b}R%)$V4#= z{J=x6--MK6o^EoOWWQIKD}d_xvgmT?5T@)0QC5p^z=CV4W*vP?>d;hh&1* zDQ3I7kje*quN0dOCgCNJ*+SB_1N6G5@d_+gnGrY z1I5S%r}N@lH^Ve~*g-gGZSxdsCvMpCWEcyRq!?Y>z~tH%jL}5}7daN)&TlJ#5k($+ zUw~nY1<*cnf7k?-R8X=+xKiM*6UfEig^+->kR-vxxVXBDB^_aT+J%Nh7H635jL=%{ zIeBOgC>Q6&mD>PXLmLZtIaC-xD6gjKqtce@Q+lMm`v>Kn?Um1nsET!*cTiK^w!lM= z6yZ~PM-WhfKxiMKgkGeHDAFS(h7Qs@(o{MKg0#>Hy$VQ66cj<4fD|brA{`_UIw>#T zeQ)O8xijyNGv|-}TWgnd&YZRPDl65W^_DhAPG;Vy4F!A}n_ggl#@RHlZi;y0<>}bf z%QTkK`raTn!DJ`k!`3m$R7SZwwzYnan{pRXB>(lX5GA90(U`*{4v4Qo26cfolu0%` z+>_%lFU?|++C9lx1<=h{!VwW%3V1bP+nu4ja z<+)D-BECc>rN>K{3F@!0^eujU#D%vFtPzfDuy-VUI=*3Xvl>-8AScnFLlxfBk?_q= z9`M~oq)bS3LHVmyYRjSamEG9Ocaw|mo^?r`T&5)`+1bGAbxgzONtIVT{(KzDtBa*c z`_GHQ(nkUZr;{*j(cw?Hh51rsx&oP|3i&Mio3sUQnNN5TvoYwy2-C9{pv$j~(ptcw zH=mRgq|!1(DmNW%y}WK+`@__I$GsdxFaGerRfFwL9j~{~pw%&T{k$zCWYZe)^71l& zP=~gKazOgm1m{#e-=fMZjx7uU#au6rcZT4d;@ z=v64J3V$?CD+r^Y6Qi^wJAjd6=_#K%J-r+toa#J#zlBP!`Oi1v#tVtWZp=lkn(wjz zdMH6UrMOLXSZugk`AYK4rljJ8M;JE3<{gN>L*t=Ty*BSD7aQL$P2}hEJMYua3!2ZZS?R3AKD5d8p)T-qc2lPq!^#FJ9d zUb0^{vU>+po@_1(j!Pce3J){+8h@RCpQW)954i(0F=iIYlN4C;dM18Dn#b}^215$n zMYpuYYWp5s8$y}+ECnIGuzOfLKN>SCRr8G@VI) z;QUb)jnU%Qs@A&eT+~CZj|$+@G{4k&M9Qw{_EV5g$R%a3U}Kpk_K3E@p#=FUIw{ZH zq=d-6J=4o-ZIp2PS(gy>!2T~#CZbRi@bb@Q+JwJ_tSs;sSJFQd*jQw zq{z!ZxkAe4ldSN>jCFv`rd+?r-d8}QlSDAsnB010hZ1-|ip#lnU|rRT$sq0Ng@?crn%V4oGAEjCQ_Rzrv(CYF zp0-Xr(dt@^w07%)4yUfpK9kzyt`F}{vpgp2NCmj2MCWTI+VLEGTq7jbd0G~&!dCh% zX8IkH(ap9Ugitcd?(Aa*)H(c~;;M|b6EXPpk({h@PuC1rPy8~UCO5uxf%5S5UD=23 zzwcxL^c;*w3Bb;*Kz-w+#-dHN;Dc4u{1M$EE<`Ls^!#^$Or>e@Rav^3CZFHb?8S^M z!q?=??p}>x^SZSKyMNydD`7_!%J@;aV3Pf%{q`@94;Ha)6dN?3ZdEbx zBuN{9`<;-@Y23t*}M(V3Q^mWCR=Q4 zafJgLyGCPkE=fj4ni5>h$F!WGN@Mmr4scZTU|04u*?Vd%E7HoDV#4FldWGvkhvvZp zoAC5C7l*PhMRJNkB~|+4UDDP-3gFtWu&mm9%m%Od=)%(5T7n;;3qBd}uHFBh_P3w= zYPgq4L+kvA-!OgotuViIzeJ4NYbXJ%5AcUiCq z#%o#JvXd*xdM0kfDu*dc`tqiAmcUnfN|X;8wCJ@kj8kCukejo7w4UmjA*q5&xH<$V ztkkb;-kHm+Y+?kq(-ibpCzl2#=;AmC$J2_72h5nG?K9O=pAB>9-p8;Slkl~E-l)S= zs3zus8jl_CJ=}WKE^vVqDT>TaH`+6K>D4%s8JVUyv1P3D)Z|Wj=q*tcc(G{D5#AJ! zIzu%530euG&$g>ER=b;F@)?TYyxw0dpL};H@(Dz$PAK}pr zrg7K5#QW?v_}`wjR)4_X4?aPq+i_OSyOljQ^w=0Qx3u4&8QoFqjj3-YA7wFa$?1ag zH4q_ib+*S%#k?9=ndv`7w|8A9`R+x8T!GF*l=rM+U!VXR{n5(ha*Dv^`J>goTxAp0 zcLybpm{AL)oSXF!0$>M~5A4fZ>wti*2?Dv>}AzuTrpxZe?RG8OH^sfpt^kKZnaMO-fCh6Spf zm7HxYUl=P&w5r|)9%VKXD8g~W7@lR~b`<`Vq0K4D=+(GMP?(TcXK#|O4I3NQjG}A) znzhGRA0yD6L62Uj(9*+}`-ZXP*hzP=+rFI1C%(73LOn(?yDA*RSH4nCnv>HSq4eYw zc52a)^WL#~jvqm5^-)N*)iBId^ZW}Lem3^@=8!9xGk547 zVVZ6kpDZyxs~#5!(q_@O9G<>$GPCr<=6dt(HRc!*-CD7y1MaKauVti61JiYs#v1*b zzX2x}J#X+*Z{`6c=>-eem~>@FMg&dG)AQ6r`LoDbDr)7Z0?8`rf^4Q=cT2kZ;5E(Y zyl@M0G|D&u_Qij0{N_%MMO$x;&FrqvOrIN7=6H3=7b->-_3vWL+v)uxrMWALjHq-du+XkkYG~aea&}SuI+91 zH5L8YJ9^fv6BJ_>+LSD>CiZCV-TgJG)jc=QtHl$0;KratJI7zXna@)6{J68^MGEH9w?N=xn_;FVB=S2uBza^`(X6V zwq?sbt;hU-+kTX1r5hSj8{pnld0`^^+km!k<6(yuN40B7jW`{JzEZr{evTP#uVy-= zS0Fy>*2Ntg4tsoz3YE_Z4jE>CdSa$g92vw_gmVRbJ%tgl1SIzuc#OM$h1JabhTDa> zW}x&wLI*G$5@$_qn z@o2kEY)*p22)>XqT&JXP_wb+^cvWl0W*Sq^_`zs|_GT^nEw1VuGV4ZXMCS=3CnPT-Jw#kBD)r)DJW zc7cvo$n_PP)1;=S%y}y?ebc3~7;MSRcfVOtX0@vEUTl0?V*Z+0D-~gpbm6f0^z!=e zBJ}Yns0Z@yY;V>1RLKhYHd!I{CU8Zec%9m|%F{N&{=T5p+qD=S7Ile?3hsg5sfnGB zi|Y7J(EFGOk^ug3C)b)PoxsJL#a@z=F@M?&ZsqJxc(%%?%B>}c;XVrlc2mKQy;P$( zT|%Wj+qU%jXp&wrJGWWPTkT@&Vm$An%7)A9V)Khxx1&T`il^ycV^}hauNZniqF$i_ z1OFWGtaR(3&LgK`=sC5Z$O}8ut|{V?6N~R*mD(QPKAu5*ty&R{Q{11M?>yAW494RB z&Q-O_4`*}c8QHax(hsoGubw;7^m4owQ>*LgF=VYZ!~Mv#$%E6(^#P@`(vCvtG7d&s z+9%u#Y3z;7b@*}0^6{>X?d8wQyfXKkoYs}cOCN{0>5 zdEU1$4^N&0IciVtSv52eM;tSUfhGv3<8zkhaU*f**MZH3ckScva~KTK-AuTwFEy;0 z?VYq%4uEehp6?AT1y#PN-re6U2?{Vae#pC#zwGeHq+2^;i){4PwZJCTWnuE7qw#VJ??!(b)4l=Es^I!??*k0qt z1%8D;=!p5w<1uH*kB@f|dlNqzoIX48i?u!7qt6>Kej=BomnG7S)mn1}7almjg>ZWp<=t$>bsE@98>2|?EmJJY zjxjSi`)3CrVu5$qM$r<^9bXS46e_B0B-TGM;t@Dc=k>D9<}`)ZP5`yDLq!eB+jaYJ zl)&nHE)gG_v_Ix4{dM2@_hskUR95NpKRz0^P z&(oEMjiJ*{s%xh62OZaGB`OcPq-Kt#37r9&&*E}Pru<=Pi2E%?mJjt_Jc_U`oR zZp=#Tbl>NL>9?GjXG(PLlyNLa9jD@g?0X1Pvm-VzQtIc>FGUYly;Uh+uY#8G_C1#o z-lj#78?wvLykrn6eamE42D@7P0E1deQWFj%GW@B`90E(oK6 zxmbuiX-57L!=EW@kyp+JgI7N5%ZWgTtldHHM>9w6686VhdtCiP5l;@+deyg@_Hb?P)iVSwgd~KvcGr@OUxnkM!m&N!*H+n zr9;{s+Eg0@y0UZ6M&xqCPh3<&f6bg7dIan(PTLgC7?2J}_oM1igeyu!3wH;-6!QMU zoB|NLax%>kMZ7~C&V9XrE}PoK7-Vp4h}v+E24Xy%ELJhQL~QX)*&up*H4R3J!s02+*VBe^#KRY*Sq&I z<3ZW<`bAXek5(97AX)yv5c88Q?bshGG_V{(|3JX|vOj1gAH8RDm=nG-yBN0h>+`Z} zfSS|X)#&+=cDCRTT6cyKWS0kGXeaXc_flGj=BLt%D?G)e% z_wt88?vYVHfDDS%4f-#};2$jzh(6pE;o=XFQ39*mJ$*=KIQ~P=|1pnTo&8<@L8j`2 zfMkU0KM-SAPq=@G4;=8XQGtBC5YQG2lmF6V{D4dWWE2(TWn~m)WffVNEs$h{`9JiS zyN1F6(wdrCrE0t6CX4@QdU)Re@Wj;vPM$i*)63t(8v%Oa5a{aU?d1ph_mYF0WgX!P z(qLyW94;#dcTfb&I)bI;l)%n^E66I!ILk|sC8WsXgY`RnCHDX@&@s_&(0m;8Kf8q# Ak^lez literal 0 HcmV?d00001 diff --git a/00-Lesson-Site/frontend/public/favicon/apple-icon-152x152.png b/00-Lesson-Site/frontend/public/favicon/apple-icon-152x152.png new file mode 100644 index 0000000000000000000000000000000000000000..5ac150cddd39b4ca53f053a4143d26c4b7e15811 GIT binary patch literal 23888 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 WnDbfn*-T<~0H`Wyy{uNS4*xIwYvtDf literal 0 HcmV?d00001 diff --git a/00-Lesson-Site/frontend/public/favicon/apple-icon-180x180.png b/00-Lesson-Site/frontend/public/favicon/apple-icon-180x180.png new file mode 100644 index 0000000000000000000000000000000000000000..57310872005a7ec639b9df77a7923b1f8ee54d97 GIT binary patch literal 31151 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 A*8l(j literal 0 HcmV?d00001 diff --git a/00-Lesson-Site/frontend/public/favicon/apple-icon-72x72.png b/00-Lesson-Site/frontend/public/favicon/apple-icon-72x72.png new file mode 100644 index 0000000000000000000000000000000000000000..7b08daa4e5e4cc6ac933b3232e5186ad027d821d GIT binary patch literal 7863 zcmZ{J1yIyq^zRo~mZg^vmtHy~c3E;oTBKV*K)SoTTPdYP%B2Jaq@+6pL?k4nL%Kmq z`tf`7X5N3^%$x6=@0okf=bU@LckcI|Gv~b0PUmq`}gy` znrHV6WFxIA4FFY1gx6-c_hYz)f|e=(__G5*Xe0n!-ityv0l*6Z0NbVjfX)DbhpyR8 zn&S5gu(|RxIpFTU2h&=daxcMmRe0e60E86(5f+e{4Z9cOc`B+t#oHpne;~qnDf&nd z0O*ty<)n3dXZ8XD-ju(1zUZ>o+P>lUVXWAszWKmG-Zb>B8!L!XNhJ*aN|yVL7ArU( zj!BLc4;QC<%S42or~yKPC{&@^_JFM2Hy}Nf)0_zei~02aYB%8OY{m1##`#P@#r09p z#>v*~yvNnT`|sD?O%vziVvFZ{eFhE{r-n(S|M-I5wJ9etk5&Y&J{&Ep{Z`+8TzkPu zFZ863`sXm6$==Ci@?zjI<8I@{PW$nq^uSwg<9$I^h#}5R?{p?n0J2R5-5|c*Wnkk2D*Ymb~Gikv!>cIB915 zG|lN3u6i=2lKvzrLF}pHEHD5Vg@S;gyQ=38MHqaaS>j1*e=4msI(lOTp5I&MFFUa0 z$Xc8JV7QmvipZ6-M6&wTyJkv^@up!0gx;jWp+G2aw>{1zwP$)zh0yvlNAUqs24k7} zE3383cAo>6yLZFIIclCeS;1s-g3|zMW!U%z&2u|~qO5R)1@n`R3XI*co zG7zf}Q9_zmhg*R2`$dEXtyz%u;m@R7k(;fO_&?!L11*U37o0UwXkxeq0V^&9+q8oQ$A5Gum!W<=$Yo3J!2lB!E9WQ7=HQ?@ z;#afD*_>YMp3DAKvfpv(Vp2uxGO_C{%4LbuZ+P(27-SX|nhZcp!DU#e4o9>2upt4< z8?5{x;bdn<$35Z3A;$0idrxK=Z~xsKANW5B_fPX*Y-|6FH@YJFv+YAdTTYq8(++IZ zFv6qX6fYD+76t(!0G#OPwG3RZSlhJ7z)-r4N2~rOZ%+q&wuk+6?|$p4t=LE$8md355sOEJzT z2D^T0b?2S%( zWgv(LT?i`nAEv)3(Q23#7+SeAnwZt;O|l6K(_IpDC_N$N_uB$zVguq-8X?~zppZ_g zB%4gPo0ZEmyUUWROxRT!tHu6-{gLkjV>lKe6f#J}EaM>DQMveJl-}`fN&ftgNXn0Q zM;4ER0$08?Kk5N#k-(%}ydEf45GIq$tP{B_vH4EWwAkYgXliKXjoUMq{2p1H%fH>; zMh%{w^-a@YaZ#mhq%3~!;(fOi&7`v_i{^`@1VB=xW=0vEy($mvJ5xH$k!UhAY7v+&EcIhXiqw#hKgc{Y)9V_9Gk^S$%;`X?ktBbQzOt&B z)*4LkSa5*?h4B^a_ z>En-Mt^;e=OLW2{WQFeD)FAe$Klu4CuLPz+Skw;J-&NHCvS^@V5-^4IiFuZSu#uS5 zxW8T4g$GZRX51&rJb|p&ei7F65CY5gYf8>k5P{3B(#F1Gg`qkSd@X*_4I42a&&P*j^?%h8{zBOW7e#!~PIkbPSF#K4f zwrC^YdmGgCe!XBISpjtSq& zeUUbeL%n0@sQB9EH(UHT)riSyzqEXuBoD@G<Frua#y7DjM3`hGJ>k%cRm;6U6?vJ4NMCjSD9btq#XKO?sEmnO2r zmAtxY&>9{hefjri&f!`tV9ONLIoL0d#lrN%f(3*vD+c<}M8C5+?tk#Nl<7p$F85@_ zf%t7NGCzmD!=OPrcIGd6;SQD-rn)6k>v*PbyPtOYd`YnQEXilwuP>r;jr?;QAv{*R z3_nO8`_h3{V-mX;(F3~PdtGAWHZmQXlw%@!WtOmdGT8FS!He`=D?@sd6Or!kCA|R+ z>Cnn~Y%YBIr<}t>5`{6oqH@}?XKznp%mToQ_4h*=@p!;mZuT*B5)t3o6QLUS(Z~&n zddQiVJe%cIEHOsH1cP1R^9?$hk00a(>|=}m0GL4uXzsXUIQcW5jlhWw*_z_Ygp*hS z4oO~uiM6Ltta&^}x${9kM4S$Fx2XgBnduB4L^{I|GMY>H(MT-pm0Me5Sml9K*_wVy zT{RI>Er{}HtcU5BEbkYo3)~cv)^}W_X1y(zyC|uZiop4SEXk#Gr9&kvB7PGvmk8Cw zWnU!H!qqpn7#^4E$!_X=NLV=}<)v=vl2 zb%h63uZVM-@WP4)Ok!OBTB$952tZco;^4&ji;6S-8kgbT-4^xzy9A?EO{tA%MM72d zr|g+c8O@q;nI;xqRTxHF>`~%*qQarzjwPx)18S!V#>;5zWJEH=0>7PAU|`{Wi}a%qSkw*}LA!;Z!zy6)U~6 z>G{`&6fCdzc7kTM^j&4p5wmBenR-)9D8@L-GZk);Tb=>y-GAA^8r*3AjYyu(F48LO zA_06o9wwrPEw-H*hmNi0>`J@Ze>QUPAu!YhKS^jFDM#TgJZD++3$4rJPNOHfq86Tfrf~LDEl$F5 z$ixBm^LOnqAk1NhonFHBJfWxlCH(v>wv*Cu&?%bAnRkOIh2SblNVbt6VWkh=JAuyx z*=vMGNJlTjXYnxAsbtZ7_KFZI)@d!F;e$3bwVe9ayJq*wsKO%`*N?-oRz|L%8{Vz3eq6vG;&mW$@65@#mU_Mq|d*W{*M4uWg~;S zwFr3ReH1xJ()+bQ4R?l31#+}OGk<9)H6ibN2;SaXs82J@Xj;neW0ZT%TfL`PmYVUF zq61?+cx;0Jt6RL_YoN|Gko0GfMWwt&LoL39(vmJjMWyEj-NPb~^+To2Q*xph>R6!Q zn3x;#?-Py!cEa;H2D55eEgI6Oy7#}#oR(d!6W%K| zS-xwIoT0psP&M*Gx72`AO~FsPtMuxPb-fW}_v-Ji zkvys%OPruZo`jRY6Gi$g74=9iI@~%ccCkz_R_OMD?HeGnzr39i z!~{_y82l<*mV3a0PnT-X&EH2A|9*+p0m}){WAOXsK*6N`l`;i_6dPC}IP64j=}goe z4voEIPsI8r1pZ=G^*r6y_UB0S@izCy6FDu20vEhUt|AMA+`y7i`Dv))d<jq_MfxD<^z+vCx;_SP{OiY`;hvP& z2DqcTcxbg{N-GDB!)3jJ5p;wefpp7k0y22+(YvKIWw^|3ww1mEnOA^D7->Ca;^}eb zw7O8vuQ$nXwoW$~9VGQLfy_VHxVDkFNJkyc4qco{KxU1?qPJ>p_$JpAsX7R4g=?bFdlUute5jokNKhk9hKjIX=@#{JRY zOAM(a(l`A`-$f9YUfRd?n4=))?*k>=i2(ia4opZ65{q<2mfJ^2Iv`%UK#3dT!VINvcnso1p0cBZu0 z99pb}n2*~TY0TMZ&Q#>wgdXDQ4n%Yk$eSFK;IcuKVt_e4ye&Z}Ht*UWRb z=yX=3#^rwaQ%N{r80r?3fPd9kGm8z8rfA6T0;CJDDzw5}DS2SJ4wj1Hf{A&xSom1= z2J%*B45w=rknPhhjblr3mFX519^8MM91ARZk2hu>iVU~9Lw!OndQ_iR7(K_Maq5iZ zFxKz=zV~80>1Q{gax*fW($(Hd>QhV~#@wuKGpel#l|T@N@W|D)%)-%=hCbDohBor@ zfP7eb8ZE&3w#T`PS0kB`P49?Lq!-MLgi)4NFZQHmS*YU)6kev9#78BXk9fV`GACKM z>I2GzrW$?m-E4|8WOfCLIYpC`p@}$KjnG8YsXgexewo;f!-wJTY5Oe!$X%Y7e$v{u2 zvKP*Zm40k*Taf;{r?)&}>OeIqSF_)R&Kv!vIM<-vA@#(>#6h&YD9!!Wpo_^UM@kBt zybrTLxI~1-afmUpu@4+-rO{+~{NQLJ>?fJF1p})cb|=2Q(^%mpCz|%x(34!YByvl6AlCVY2-6$3O_|5S0EWx zc`>1I@v((SGaI}C4@{vp=sQt0*c%ZpOvOBCf|^=e6!k{Sd{ECDRD(+K;&Q(C(=YFI zJob^*A!|{4x*oHPkg(k?bv6a;Dw1+g8<>?I&b2qcGx6aM_Qcf2v^11t2CjvexO<$+ zzhQ)XipuHf7QGR>yO=q9=@HMOFtdD!qhRELY{PzTL2rY%xL_+8HgJCvH#gV2;arn- zEKd9`jxYiPgshKWdJg406Mn5loi6dkyQ*_acULuel`F|@RpNxRyhkt4 zjYVfX4AYi6^fCEwc=A3jb0dD8<8&@VQN-ge0^Tp#WwP9uvY_mJ9#iLL5=I84S|#IE zZTD?Xqaq|oYSmP|;j=FV;rw2B?=Ep# z7kUxjRz3(8NT2=t5NvnLidv~{Kcn#7PWiAFxD(cHSA=#V|B*a+blBhFX_FNf!9myV zH0g6_92~tfgRh6+25&+vo5@+58tbo|8$J^|#HxcTKuZ1vV#q+F-dW z^IsQU-mEC4Xol3nvK*)3kZyipoovTQ&E zw1RbHe)+*=#M-&rp@-Po2C}#$I2%vp%TcVOknfx_RNpG2Dco}^@Q1G|@^x=g42@66 zN^?*)BWSPfjvHg2gE`Ym+`V+?@1Fi1<(d%>6{g(wDt)8E?u++=>*6QjAd|T!(ubL< zsbU>66%31(h7mlfG^3ULMeccYc)#4-t;Go3%ebbTzGfHtTzqEO{iEvSnwufgE5*T8 zEh?SPI$}p)!JC5da?j@P@3={I6qY!T)N9-Q71e$@Ae6M{g({)cSrY4vdP{Az??|j} zZ?S}~?k8OHGv_n5Pa#>tBM~27YI~Fw%BJ9WeL7sH*4CPONCE$MRg0{@uaPP`s3gQj zY7l6x@n8JNXOq`>+XW3s%Po%*qH-is`Dpev8VR0+Aw(^hCi~smn9?ruPr`>EAMf1- z?29Z)`uDzT540rmo`1I6+I~zmsPk}jF=&JEu1sXcUp4ciI=f6xtd$x31?0O7!4L{t zS05*>&_JJ%(_KPL@5$K;F*WPm`dLU3xYTC0X|{Q~=ZJS?>nGGaiifejcaYp8jTg^! zCth=GVTSPqn3_Bl`idd4K}IH5snVNje`6&(egbTi^D`Z`GSBGcDk$GdmEu2R6A3fA><{L`ZR_kTnb0TW9K}40~x-hef#j zfY^_V;#4Z1<)x2u(*n)KLQ}KoY`OTxv|C+WqD9;fk?Pi%VayJbbuWkH&4iFoLnsJto{D~1~h6f3hxcz|IOgxV(sZ;=57VpdV0Egp!xaj zoXl*j?#a%=fzQR=re&Bu=N=3D536JA0jZa6&+jo0|A(LdgVD3I^tAmCGFHX}xrb2y4~VLrla;5Rs}=CS zSHo+QPsIe0Z0*HArw*sg%W|1>gL`n{Qq~$`7KfAR>BAYO93k@l%SQFhyco5 n03j$QU@0n$5dC literal 0 HcmV?d00001 diff --git a/00-Lesson-Site/frontend/public/favicon/apple-icon-76x76.png b/00-Lesson-Site/frontend/public/favicon/apple-icon-76x76.png new file mode 100644 index 0000000000000000000000000000000000000000..e9bbd2c8e752f06f6ede916bf615e0c8162aaefb GIT binary patch literal 8632 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 literal 0 HcmV?d00001 diff --git a/00-Lesson-Site/frontend/public/favicon/apple-icon-precomposed.png b/00-Lesson-Site/frontend/public/favicon/apple-icon-precomposed.png new file mode 100644 index 0000000000000000000000000000000000000000..2cbc05cddac88b6559ce54a547bd4642595941e5 GIT binary patch literal 34136 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ß&@gOdah3~2~5iV)PQ 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 literal 0 HcmV?d00001 diff --git a/00-Lesson-Site/frontend/public/favicon/apple-icon.png b/00-Lesson-Site/frontend/public/favicon/apple-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2cbc05cddac88b6559ce54a547bd4642595941e5 GIT binary patch literal 34136 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ß&@gOdah3~2~5iV)PQ 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 literal 0 HcmV?d00001 diff --git a/00-Lesson-Site/frontend/public/favicon/browserconfig.xml b/00-Lesson-Site/frontend/public/favicon/browserconfig.xml new file mode 100644 index 0000000..c554148 --- /dev/null +++ b/00-Lesson-Site/frontend/public/favicon/browserconfig.xml @@ -0,0 +1,2 @@ + +#ffffff \ No newline at end of file diff --git a/00-Lesson-Site/frontend/public/favicon/favicon-16x16.png b/00-Lesson-Site/frontend/public/favicon/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..7f589ee7b5abfa8fa8e8f79c0fb5095eae2289f7 GIT binary patch literal 1585 zcmZ{j2~bmK5P*NQUVs%v1+_XlQyp88T##tSDj=8yNaP5Y7&Ig=5HSQzfC>l-B3A_w z2v-h5f{8JJoH?*o)Tz{FKn;f{H{m{JYIVve^rh{Lj5B@n_U-Kc-|oM=voFhsLRf3L z)e-=(mPB;-gSCxWRxgLYd-t#Nht*dRu4GpL>hi2U(pSLtP6pAB3_!vj04`ktU>?O7pd8unb}=g*E&+K>KPGLhupNGv_@)hM{+9c?EWb)uAIav@c2FBYG0YKPbeCw zkiIGuyvi@=D=Y68OZr8Ux5cGBIk|o1qJELMUnq_jlUi~v^%j?n*VInd)s5X&$BR7$ z>Cl_Y1t{XG#6KD+E)GO>pDWP0bTEcZMru zCRx>lx^_rbHGES!QB#|u@V-zNZYri#YLi4ds#MKtbt&+; zgakoBm`Ns|)9S`lw@p&nut+kYP!5&}P4cRgD(@7f_l=^^L6LZ-sd=itVZ2H)rBsbb zq+=>|o;(f7w^jIXi9U8(j)M*r}jX<%e1!p3G}ICI11^^lEi@%6$Rg8ZU_ARnqX$qgvwgo9m(u#c zBgYD}Mc_bdPFnFa8?K}}tO1KDXnnzaJHOWD^0jg-_vMMz8SEnNx0dD>b{}k?rPt1oN46K7?nShhPQJNVM~Q6na1MAQg?m zJ3HesxP3?@9*K;y9Wc-Ma{!0SWV0^(f528sh#U^sX}*ESW%1+b=OGZu=g08y2n3r$ zkAPrdGol>1=OgZRY!|_-y_uy(#&W{(cy}%%mIFoe@pvB??g*|G#7vpEp|LJS1{sR|Jj9dV>Skn%+y zG8Lu(3Ws&Zpl}!r&SqVp7)I7D$>YyXfB@3Xt+4X&6nqr8L{P4~lz@+v(K50hENu2mk;8 literal 0 HcmV?d00001 diff --git a/00-Lesson-Site/frontend/public/favicon/favicon-32x32.png b/00-Lesson-Site/frontend/public/favicon/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..12fbc1e508045998f498003f47996eb7b4521be4 GIT binary patch literal 2709 zcmZ{mc{JNu8^?d8t)-=7sMy-7s&z;t2th54eK(eh(khW;Dz?PFR$C>L)>vz+BKBo$ zv9=hk+6`jg$2MpYR4Jm~c+Y#z^vpT$x#zjhInVd=Ecf1jZj6PQJ{PADCjbCkh6YG0 zrWZXm_Vdi05EQh_bZ0TzrrH2d8GC`@eC||qF|aZPfFKC~h^>tF- z1gXn16b(`Tz_^IUT(U;89m9^b(m^~%lgFA8>~1|#KrNQeBS(y<;=g6@5e-_>uL{IQ zy$-34dBOkS-N#*Gmd0x_Q%JLC6Uz6QaaAlgKZq_QCwFDL#x|@ZsPpTr+2YZoZH+_) zQJuK_C0rT^7bYRho#_*(Z1;M~4})){kkloGxut33ET<2(`8sXd)|JB!t>1#>8LABX zW%=jOi~Rfo_nOHxp>kAS4T0^IqndCS->v)aBeDjygjtQUCA@lMHpNCSf7qmI)@wSU z^r{kDpPq|)$uC{Shb;7%iOkd@TXB}z1jk;}HIgm>%D%XQuWx)=d!_no^gzm#-tb!D zpFM29#Z>+hp&V5)lM}kgg)HO8mFvez@a{=dYgWZT8N3!2?b%(9ac|V$mmnYF0xglD zQ_57OPcOcK-rMU-xYw<&H^pF!e@4*KvTXG+ftBaeS@Nk9+fxr4(;MqSMkJnl*7}+k6RU-IX!`}`c!#7}ZwHp)9YV*mK zcmpgUIY*-I#5haL8i9}Zh~0cxaBtX(-6$#hC_8_4%iB!g2?vM0efij9JJYbvw$V-8 z4^7-3Ce=8VDw+36VqCr=X&*C%TG!bW8Ja;14PKo5+#NogWXL{4SXl$#MfpP~Zj&M( zsJAZ*+Ud{Ut2fwZu!!jl6fVL)(JPFk+r63Z2&nK_=cJlrIMluvTEab+b|RC8FqPT{ zcsHRuV{3QspS(v4NKIH$C=A%m%FOMk3}3G^>Ko40i+LLJWV&D9A|3=$&s zTDomhTcf_E5tQa5fJvdWsoETBrivXOt{v+gBlf~Ff{zq1|Dy{bHETo^t6b!nD%S%E zlytADY{sy&+-`YE`{ihi&^kRtQQW*e{YRRa(dE)nji_U?7~#o6_H%8Yx}pxd#|>3wB*mM>Bc1V2 zk_anZLwt(jl$7P6743)A8u8;+3F{54gBU9&mZ<3duGW$oPY9k;vbN8>6P zbFPlzxE%xn@kmA!qS=3!>ZB!V*BL90v*xraiSu0g7Zr^MvS`;S8ztOYdJn z_q9YErbAZnbC-x^8K+piqHf^T$$g8_JAk;=*DvYKY|>%#UVewY z)wYsf=;_ph8*uAK@+Lfcdj*&J!kn&3bBF3?-=a>7?1XGVCC%l$7QJ4SB?&S_|G2;^ zZfM!acWrq>i3jCi=4G#kAQ>LA8b)nzD+->ZKmy3>4k}-p^x=fhggJ%)CCoCeeW$;m zHpm}U!o#z3cfhf4bF;UEUg?SWXd}x;R(SKg##z;}{55%DIydoY4{hBlIS?cdO{YnwM5##v{q3X&)=1j_`z^|!uBFp2ja<8qu^p`r|!{9W@I?DLTUK2ee z3|;Y)`SDJ}C+@#A6-1`XG==x2ncs+;MBO_?S7#y`;o^g4IsgiRD#3;)%hP|hjS%jPm!V0>+DQK@H@m5hes0wz0kmarviIFitPBA+oI9F% zbTHn7=iE*Tk zivs>H`4r^ze)35Y$3j*i@^PIOzhYsj+sjAf=(xD(VZW`d#)V9D_4Oz7Vo*V!+Y#4R z1zsWD?TtHnK0cyOQHO?z7KG7dZtdm6(D)+u6;%*H2bNhxP3L2^4B%+wo@i;_#BXJD z@s883r1qdW`7d75FZMyp`>**OrDyBHlhI-1B#~~vyf9LNswR1tGxHY#tOHA>Yp5cv62p80pUXYv4y2V zXQXZcn2r`qSN**hsIkM#j_2e592o7VJsv(U7+*)YUH1k`KbD=EjY!|LOZ(dw4&Uuj z!?f#CKVRa8)kgb7j9Cv^&ssz?!w89S#&Y58!r@rppLi7wnJGl6n+1MfClgNgDuM+e zI}&C$X>3$}(*z%1hSGCt_zU;BXW*mP?W z9sBf>oIQNC_mpfCQla_9rXM50_KTjM@}gLlznUFhyHB6U|rp0 znA8|IEU+!9s_LfQ@zfAo`I6;YY?Ds}m zwCuoUErAevJt6OEzm%rud(4Y)5DlksWZ830iq%Lmh zGa1HERr6WJ+Vk&Pw#3|OT4%zb;AjybTv)G6=bKuhv&EYyFY z^)=z`Zo#8LiZ<`$!r~$4vL5+C3#n^8t`Zu^!atGH976;j-8}30ieQpZT*^6CthiK9 z`%Bdi=*$XhU*7kttS5Em`8_x^G#1RC-=i=9O;^Vn%V(mJq(p7|w6KOoM1RQ^T{??~ zsKE{MpElehPU>-65i~)G0dBO|@a?__40I%vKqeiA4wE9c%#-<8>N%9Y8}upY(d*}E zllx6GYGyb05x3^y-mUi@ajw?~{nledjrtYwK;-pII#cj@)Ml64#FDV1dl#VJhk*v0 znfXf!fU(e8MFN8y5PZv3F!;Cf&9_DE2wfmX0=p$tnSdv#A|j$)cX)c!?D6Zz`#b8z z^JUc3<3Yir;+Zeu(XRr3sqk^T4kLQ+kn!WY!r3XqC$}jrg)R0TA{P0BFwXJ%ZU1ye{ zxh|*|H#Y;y@ti^h4RmV)LSsbxoXdb8Q6K$BC~=BU9K)&d10|4=7}igqeNwyjf}WA( zvER(_x_FzQa(nRsvBG`JV4F{>(p94e9ui%ibOI+kQ4%F;W9I}(4oxx&We=(A09z^!vnBdIh8OP zOjg;pQ264Mh!So}MoMz{YO`h-5gG8QiRMuV7(YY%%fK*`y$IMRaI40Rf$mJ>*!(Kp zprL){o4z!q^jYRd_;n7_Hmd%@0wRw-cDfu%H_r#hm19Rm=n^U!tjU2iVb0G!p?1us zu*CnGuRt80G120uCPw$I^oSbxe$WXf7Z1k4$SHxH;qW!nu<4a} z;J5zSH=4`QNKWg-wC!Cd3VoKRfr`nbc$7ogvxdW=I3y$v&n)U%omdcH7!1l$BuTGc zA7A(nZd4`9j%i^)s?DLhVdTCm>|Nt*{=L~i@P6@qXBM!B45U2fvpl`uuFev<8whqy zb|)!Y$VU3&=unxcAX(S}x|QMC7Kveh1gy0Zt@-4~4w<$uGwEKHi_wKh{K&LikFx*9 z(^Wa$ISa3Eu%cA>lnC}|RT7sf?PmBX7Cnl^*V4lgDdSTIC^!5;0vI!wl7cb5#$PAl z6ehY~gsQ4}AGjReJ|0ztULscAvW54~{Vedg)^_Sgd?dHg$)X4NW~^h!Uao`?byvAu zonvvn#yiUK`CIiutU9K7yc{Xsy>voG!ED^97lCr@auZp?Vkq_WEFVfd4g!wV;6{~4 zqVuA69TyrCnYI%`lDx%w+#dmdhS1WM0lko|Wf1lzy@HPqW#>FiWXgy`{PGat4YiR{ zGzKzpk_XKk2Bp&&FQr7{V~UU(yFHfSXoLCNWWr-J(1sQt^LhXJ1sye>)f)a4V^_l& zhpZa6z;&FSljFd%pX{=CqtHSm?2Iu|RaSyk40$Xt7+9#dxWHKMPGnbJYD&}f^0q@Y zt8rRxBq@K&q5urbdQR?~Z?=BD>dE7YHj;=9l#;)_Rl>pm?)y)WZ;YZAewlk==h{q7 zJ%d=NLLPoFdsa8-76pL%k|q*&f5FqH5Td=@h(jjC=GiSal@}Hz00xxndKuQd)@6xg z)b8!^D`unth^dXX{zRL?Iv+2GW^y)<;{??W7kc3t=U#yt&J+;DQqXla~hy>nq-GYhVL^L9^yZ>u-$y%+q&l7(;OxQzG?i z-m!OHHB;yrL2#+c@^Dwh$nHb2PP8k&jU3$n| zREgJc!a5Otj*nR|hK0$4eJ5}Li) zUhk>_IgCNtAfr=vidn!YtDu6on#E6i{BTbbc2px!%$5K@91XytB~c&0ku9wB+u!)@ zgJZ0XxFlx(!tS5jrata9yk{!K9S!j}**YT7JZO4wbdnZ6Y3U)19fvWT{Y$}TgKZu) zweLq&RhO2rnl~X8+OffI?{R`j+4_nnc7zo>-9(^DvNW$TqEkrf$DO|98UCn+yg<^ZAIhLL1V(02J8B2NNr2Wg*JenM+M?9x@4;uEHhmTH{GglIk;O4R;o+69vVYcVJQi%~zO4Ica_~hB{Q>->4^+?#l0I?JPBI zE`Ay1J*0^2KVkg(_b)tU9LR^y3nHG_^*2?LOZnbWF@>LIO{~zYA@BcIK{v7`&44uP zcpxx;Jy~4e^da-$S7>XVuWU3-a%_`SJVn zX433lP~i7QR#a*u1+!?gH*AsK(TpI1jI>66NHMkQM&5{m0x zI$-?98+j{%Nd|1T26sihn$Z8CF>sw8D~3a{h#zToD7Jo%IRt_>ENb0PaF%)_qg|4a zmjI4JpXkM2LZFP2wxFJ%DzpK`F>Jy0>L?g52 zeG&q|#}{cxC5-kjPFx-q9%`pOzzGgYQCjh@N&7O>>10s;cnvOmyNUu}Is$zs*PRM0`a<@U;_EO#b}Jd|F{g zjoc2c{6~O3*jpy1icj;(b2xfwP1wvM}kZN0v!I>+*oW=wh>#F$r(QKCy9%}M~E3uDBz`c zC~%v-X_E8pjCP&-v&h}V1w)ChiT9-6?5Na(P)*P5@dUm1+Iy@Nk49w;r2DdYW~F7s zw-~lBQqL5i>xs_<8D0xZx+UImNQ*sklp)7dVx!8y^8V4|?%R0~h_SN^!=Cut1-GT8 zE+)A47oIvVtJkYk$G|YW9#gK!@)F1y@G`6-ajSe>GHC7ea|a4a+$&7{Gns(+P60!u zSt-CI3kLKJPt~b>Xfd}+`VM{(WBmM%HC$KBS_bbpDesw?czbe{9)-i_QU5EFV)e$Y z=oj+yyO_OJZjo+Sszalnf8&?#cDV^ZpQh{{OAUo?&PhMVC!OId%~ghxJ9Lg2 zAm&?sgv0AB`Rvz#WawR5S!(PQ#CF#cq$81k0UpHxDvBoZtI{X$LL?o+*s6{u>h-j* zZMO<2p`gfp^3p@2-}wW!x7ivfvZzrOYSNFSJgL&>dC5H=L=uGtk@8>4(LMxvK^e3h zhP$gG1zF@0Ln#{xO>zJ%R;pl&f#-^hwa$-OmW3;VUZ}mz$g}`sT`8_@V6@JUOerOt z^z6;Upu1H&`49X+{!-{sMp$mh(j;G|JXY_Fn59K1;bbb&b|A=5EvGoI=gsxGxDM{> zA5|th+-3dtQ~t1jZKG$0q%f*~N@Dhd{{rIp8(H$&%j4Sf7$ToR9sa(^_3B$rgnpjX z?hxrt6q-s&hJR$QyR3v-fhRcKPXW&T4WnnnyXaNKm$ynWslv$LreY&HFy%=pp0_aR?h?wY!6BcGOI zf3!xIq)5M_a_WnY!0*SD+&AAY#Hql{*o9%55-ZI=+j4PTSxWs2uVOSm?83at#GQ9s z7ytd;x6_^=y_CWgaV|(^$GR?qWsM^-Tvi? zeE;~AQdmy3#&g@H-NaIo6K+mOV&UA%{5#&Mzi{e?`cEoTNMyy`jVaW@G68g7tUqTz zQz4X9(OkSAM29NM1`zfVXpZ|Sl`S>V4L}=$VY1*23OQrRP?F8SvFy%ML&tQI5%q*COc&}pH=UeL`uVs;vnn%1KIzI4_#lYj58(pxhv zqY|z|kn&y2t;+BwZM7~k6QWI`<gt`<}YCD_-8|WzWzQVDeMK_Z|3ObQUX$G|EfmZO>eas$g6a0${STb^cmg>%NJ?rIX{#pSLYlA`G z!vW#gGI#{5{}ddFMuUp*Hrb69L}n{|Vs3u@qRZS4yE~7zsh-NQk_$BF1=dz0tK#%h z6VlV?o0-RY9riSDuFh{%T^;t4(=|bJ&+#Rsa*}!6=N$vL{Ft2GlD?C(8;uR@3PxQS zRWRaXa~NwNnZgvL0S?ig#$V>&nPdWLlPq6FN(iI22eM8i>kgX;&O5=(WOpiq76x!s=HQH$UgF3xPPZ8 znY9Re19REa9fi6m{_3f{9%dLF-e{J z=vx!n)3dJ&J)Ky5w()b6=@_)#(18?6IhCl5egRIr=TDLD1+Q^ra&cwNWtQGOWBp6w z6EZE{rE8L^C~#govG^^Ht&LP1B&uZfHxDyuX)%DTOc9+^;UXhgF_fWDbuL2 zsq9-f=*~I+3<|-D_CCwD8H=CG7jvLKNY|04K?EyS@w2YhfD8?_5_XCzh;f?yIJ1r# z=Cx*`v0(iZFYNvDC(>#>t;U4q3%XLz(YMZX{>M$86z5no?e8c(-1vC3>9+Z1mK?r^ z!WR^)p>eC)r0gg;D;u1yRLI^Q^tHBe&Cc@;CRRM2GD85A%)+4_7o&IR0@V95?(V@(NDcTPZ~_F7S2__Ecayl@9~i{9 zjHd(aKzy~}{JJ2ls)iVqU!5DhU=Qos&xTIyF;Igpe&5T+KEEJngY&8-_Se?EA1BNj203TdTH#?v^|Vm5INA#L)(n zcE3Q*3mn6oAh(~GUTdeUHzkQ2d4T*Q5;$9p;tg0;U!L5va)Vh6T_)jc{#m- zbbQ-+nXQh$_p=0ThPqByex51Vc$)wNzp1@UW|4(nd#Y8{2?SNBMg zi&=TizfPH+p;;pMd6f1pwRsL-Q(3V_Vd324Pz$4(`X7`Eau?1xLxS(ETz~lBRZ`ep z&<<10GHJJ^`)7CmnCgKD-9M^uG}YriF-{(#@Iup^mT3Z6vHTcjDp{-s4>&7#Fs0k~ zOk#v~m^Y2J2R_?bQAQp0kj13I{B8uWv*rzh=ZdP^>vj>hinJ9H_fq)kTQ2E}%fuf* ze&>;Y8sBS$nm#Fvm@_dPJ*oZoUzb$p+R?Izk8#8@)U)<-v$WI{6*8mV69HtQ zSvlSIffQQhcngl}Im_IZG{dm^1=&#gFT=wyPJec6p`l`dT$R{aOX?C=qRi_TPF!A0 z`DZb)0T@cC#wu3DPGM$vb`fh{emHeP^}Y7FGV+a{^}URRkm?T)2Y9~&5ywA*wB9X` zCtC4Ex=l(i{B&SR*-)$c7r)MJo$aAHvSxZ&WCyZOS6JH-)hyh4A9wQ8%EbdMb1HWM z98%wz1qIoE<1TKPh-O9;!IuN(m2SDXFum3h`be=1Tpm4bo%QtUNmzXlanMcZfLeVk zGJRXk7)LNQ9SG6-P{5mUm^O$Zfd$C>mzPf3>tvf0^KzOQe5%VeA_RkUrG9zNE6X1B zFvZi7Gw192YFl4r_vMQHJ>L-S3l2dzYya7vVa%X>*rR+nOSz2l@yqGif3 zzI_zfh135?idPpC0{zB5&=|bur!W&A0FQii7AZy{zpSc3xwSh>?DfUfeLq>)HX7yp z#I#^S75sup+Xr2!Kd!NKRhEe-tL5W_aVxvKJJ7c8nSqp zk|e}xni&AQ3j_UWv2${i(t!2F;Lx>nPqG)vON`8XSS1gDCmRyQpC}x;(|Jl@Rde^A zcb5;Dl4gV{dIhMTI3-PmpUN*rE#8r`3wezBLE{ZykeEUjRq|-x82;GcDQ`2k=Vupj zsGnlOz)76Hb^rJas#rT-^OOwx>gq0>U~gWNPIEsBj~YCLp4{8YZX67y@-MLlXBrC4 zy%1}M_;-9gU&dh*hjP?U9AMbZwhn0b{BCys5V2^i8PXoG^$^S+vxJG8*%D*800VOx zG5vZc8>5Sjk@*Ru9eCDg8L7aSMEcI+?aP8VfD1AX3sba4ZGA>KvpjXJ5XkvNb9904 zxu_ur2PKI1nB_&ZjLlAhV6l9=RJ0>CnFJlRG9Pq;!au zxn9q{+P8weV7$su|GDm(+aPX2+e9~d7ykZ28&k#LT3Xv}lbUE=gn^EAgcjvXCA8!F zDD#i0o6iG(drk)<0msbE>tM1_^Gy`Ch=Co{w#g!Pqq!DDLC!b(Pi|rx#zq{CZ35EV z7E+~S0{}{&%_|U0>fwbr5vrSd=DCcw{ZJBMLoV1A+>N6nqgpjA%RW%ZW-~@V!kpbf0IsLP#qAQZJn(I!>&ak5<_zZfHx{{rzL# z{O7IhoAxyN;!6m)5P+4|3GVlTC5s!E4Ayie-in*fs_LMPXM7a&`7m0N%NFrFi8l0Z zNc#7fR0mGGqwmPVts>mOp<&NWAb2oR%c`=b5Pv6_}4KN1cAPuh6zOy5XahvM?xZ;}mnt0J^*t5| zyRv_XpJ$D0smp_2s@5rsYBpcA6?aaFV71;Z3H|sgr#jKGeRSHN|G6tnEKOWA0&oEn zSA$&!FQ>1FqHYs-jZsFSa<*x9y43M{8v0rlU!7)rc{p$YY0R!D(@t9I*D1`SZw=t0 z&C<^3I%}MLhQEA4AH&GaXs^q7q+j}r`aj1|x@Z+^^2SjP1u(E!FLfUW&&6jIOj}j@ zVTH8ghF0_EA0~d1>>rknS7M9D&O(0jaK9$8UN=6Zck>Ym+-MQa1ULwM*D3g9R(6QB^|3uyYHLP9<8>>5W!cQvoZz`FcyS({!;AWfGRI5|Aw zC^n&7wvn`)?A=uIz)%&`{@~Y7i$q^PkE0`&Cl_G(U8@Rv;V1~YuIn8fdC9aS24C&_ zDQ5Cc^w-s|N3%rVkq%=R3nAZ(6g-26W|&qn<<**Nj(=ecvDhFq2$e5mI^k$Hc~6l0 z;Z2AlvC`n3l;V&Wwy*5kY2u)`rSyWe>v-ub zexLg*9m(MN$zE_*L%BB>F`egu7vm#&nbVLc&e#>wxMG`lOmlD#+Wzp<@;m;-z z8!U{u*oQ9c|Hm3w)L{i4_`h*$6Mxsg;HGv-nAU1`VWOGfie*&0Wx zN2BZ5fLV5wUOyzkY|6S6Jk+`#{pATUgtg z5I+TSdZT2J`yr%9wiBAynJD0%EAyo%|LZQN635?fo7~5)lKesFJ*)2YT9m_^hjdF~ zQE{ZD5e!(j*boA&2DhHmmmEe_1wc@pR(HW2xc#xj4dHWZejiw3 z?d{fEGDlEO27g9P-V6C2#y~c z&zoR%_#MCI_ADR1lA!7*!=7^ARlkW{tEN!6&})D)|8-|z?o^k?!aZ-uQpf4x9qIf9 zEpL7h)zODW1aZ=AZot;^?FT>c_mU2f%W38puNA!5k_j2F%>weTt zN2a66a$Z@$3k{>Fu?l5T^m1^|F6RU(=6&jf!crC`x&?Kd2?ExK-e2|IQD0V)G;>*e z?X2nE_I5L13$8CaWeIgmc1zCSb{ahn~=KiiU)cbo4fonJ)v{BE!2k(zt3 z;8^Ms!9T1{NAr6g}2a z5Q@%ElX$LY`{>V$1qNpjBrs<@$>tDTzvkCp@J%#r z7c^LGnvE7Jfhoxn=lR+HUa3}A$H8lmg6o65*91Df0mWI;JSBsPND)LP3-QV__?VB= zY(!3$d9Ar1z4}tbQRKn?95eK?Xb8hh#Ln!bYPzSOWrJ)Qj@=PNZ+iaI%w75_`|*-R zi|RQ~wXkND1dE=kfhv_BC8=NrfP4yl?;S?aw^J79$xHX@MOl~D@ExR_)cIZ*O$392 z6n1|jruTYFipsz7-+0q?@;_-eA?>)`*U@tMB=CwGSr}wUf=TrQ!)u*Vtwgc-6xO(P zUqEG1)-fLc8llqQFD|{&PZ4AnoPO8O^t`C+fN%^69 zfO(Qj^tbTDv|RgM{wRF&u#7197xzNQMa%K!7aVuTZSuR3%lmg{yk?IYkCJpfmj}*% zm0G!7r$A#xSf2-~jsJS*^jSln*Xv2cSW~v{OvM2Aj0iNgZS1SNn&4e2-hj*QkMu!l z{KwP$TW;Gz!B~pN2I;KlLbg%MBcJQy`X?Ite591a3uP}$<`H_bA*_)@b6ZIb^RC|2 zk6v*$;TFnL+7JHk7TKao9{P_f3-E_?L$=m=LoDtT-wS}+I25kx5hqNb2*=aZs#D%W ze7_FfWW~+IFgE!R*A44cw+Baz&YMSb}hBjaG+~0;K)@w*JHdm)9lVoI?8dzo$lYerHlK6 zA<2RC; zD;+iZGtH*(f~!5nwR^Lc;e|uzgr3Ab1+3{!!x78rV~91F4dX1}mhlgxsE9|&ILatK zeRRJ>DBxAG;wC3-mBQ65u)oF!D==ajv7)ao#IuqyC4D=+V}Ad0m9>H`z3=asJd9&{ zM-J;B-D)HaTl6!n??IdnD1W;h-a5KV(O~HiraZvnshwN5bU>%ys`T9~7vf=g5Ie*H za$Z3Gu3nV4;X~;4edu}hAkp28zmU@)Tfiq#GP>L7!Cg4&cHeJ>_Ar#o^daxjcXjdb z-6-2l!~<=+#o=wSz4wKKpXB8Oh4i6BL(V4i;$^;cXmNSK_)=v&0C04H@~3z>vkFZ# zyUv?Fl-#f0d>H0VGV&0=N)DO0oeMqwbLq0!;Cmaj*>+TMgK>DjMJhF!gFbypmGB$q z;QN3+o$7f1%XqWE$s`#whjRzDmS4u^yg+X+kUeanux0gvzzqxxq{kQ>5!)| zXLP*X_3Gbs9Z#ck#?>vwF|?D%I5cDEQN0?j}~jH~k$%%f#FJ?!1Vk zh{wBC#AQ=U>U;8z9hO44-`)F50H9-iuEQd<+2@8Ax$(fQrlDwX_KlggJr>_AU={Ir zuYo!zC_frP-FLGEw6I0js4xWyU&Yb;Gi^BHl}rac*0gU9jO|O$RP%Ne?Mxn~kNxYe zf{XkspaDl6g}05km8Z>91`yyA5Pr@t@SN|3t^mKd zu&}tGC>I}}I3J%A>GFSfu>Y@si<`BBt^faDfJ)t<^hp5vUkhGtw%&dgo;Cn`Z*O-m zab8{r7YjR^r{rMe#N*~^*EUR>_k@M~ht;+Baj_H^mv^)Baj|jr78loif_ee?%O6{L z{~wIJCZ0rUi+{2vfC2NxS} ze|H)>qj)OB7LS8r!GJ6>B0Uk58US1;cGJLJ69f|fQSd;-=2Ha3Dn uHWs1+f|de&LN5fY#Y6-}`K^U{o+Nml>@(}O79loe;7c4PEGo`f(xz_qJ_`8oU0-kS07!G6a0Wt>SOv2=a3{!u(z7l^6aI zx$epoTqcN#j6F)$`wh|OONKU&#TkUeK#2bzs$zKic#nP zs#Sh|FKhWAyI(WD_smI4Tt@57kxccSHyMi3(NmAbbCrr`z-VTnt0N2p_C;_!U4r4^ zNX#6LC9wB}LErA3ejuGJ%utlQ$?g=dW?RKjsu%>5Zl29^I-@yG=Mwbx1X*)BBH$Wc zX0e=z)79bsdc66XhG!A}%r&*ZBjqGwFUGhiFXij8%|nMJ0G-wV^!J5e4V&)s%p%}* zh#;@+5inXWJRSPG-ob$dFzDvMY7Qdb0_d4JuyxJHICvHja5QDWm&w6o^hdF2?apPa zH3HojYt;LpUF$>s5NK3hFq{6wQGTlkxP}V2sA>hH$%nYKzx5vN{oyFTC4{_-sGA?_ z2p~S?h(M)w2WG6V&lbXY7WMG4{w$La zPV`6+qXsG&7oJyCcdDDM8+mZ1eK-(@YVLAHz-|w*X3%>VvMu)@%T)D^rxpYy%nQ^y z7}Iy{tfk{nPwL_;71Q5qYsNv2dwspZUv_(VmG(jJ5H*@->z-fLs%N0S zb^=vf;U<*iedvWHVw)hds!otYV8v@`um#V2XA zbh1RN@{Hm-h_R8>s{B1i1Q(JTtKV&rHcaeqYJ7V@A|6XFDsaUY6+9zH4;kb0&O0~d mo_exzN0J!dTq3C!jwNE;z6VY2lob&nqY3M8`G5Z6F!(o`_^8DI literal 0 HcmV?d00001 diff --git a/00-Lesson-Site/frontend/public/favicon/manifest.json b/00-Lesson-Site/frontend/public/favicon/manifest.json new file mode 100644 index 0000000..013d4a6 --- /dev/null +++ b/00-Lesson-Site/frontend/public/favicon/manifest.json @@ -0,0 +1,41 @@ +{ + "name": "App", + "icons": [ + { + "src": "\/android-icon-36x36.png", + "sizes": "36x36", + "type": "image\/png", + "density": "0.75" + }, + { + "src": "\/android-icon-48x48.png", + "sizes": "48x48", + "type": "image\/png", + "density": "1.0" + }, + { + "src": "\/android-icon-72x72.png", + "sizes": "72x72", + "type": "image\/png", + "density": "1.5" + }, + { + "src": "\/android-icon-96x96.png", + "sizes": "96x96", + "type": "image\/png", + "density": "2.0" + }, + { + "src": "\/android-icon-144x144.png", + "sizes": "144x144", + "type": "image\/png", + "density": "3.0" + }, + { + "src": "\/android-icon-192x192.png", + "sizes": "192x192", + "type": "image\/png", + "density": "4.0" + } + ] +} \ No newline at end of file diff --git a/00-Lesson-Site/frontend/public/favicon/ms-icon-144x144.png b/00-Lesson-Site/frontend/public/favicon/ms-icon-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..58fc3f293d8e501ad5ef6c6bc1d7ebf26bbd56f1 GIT binary patch literal 22262 zcmV*rKt#WZP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 Ak^lez literal 0 HcmV?d00001 diff --git a/00-Lesson-Site/frontend/public/favicon/ms-icon-150x150.png b/00-Lesson-Site/frontend/public/favicon/ms-icon-150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..1c58ab52df027fb1f6d48d52a56558d9ebd50289 GIT binary patch literal 23471 zcmV)^K!CrAP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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

8@&H?bP4&o=4964QK6!b@r5V=CrZR z`No>_jk9Mx^H~PYF#HC?6&{vCCR)H*pk@!x4S-Mpd9tRUvteo&@M@gfjYx2TXRL6K zreB%hiP0znqYNy0C>8@x5;M0Bgf1Zd#vVYz9eL+K&IU+~6kVde{d^OzLuPgq+IL1I zsbgR^!O-$?;DvjJ_;fN6gbH>tr4{_BfHM;~6EI}nH1O8InPAjUOpbl@RQixAUc~Sv zMoN#Buxm>IrN|VMlS2rKwmA{2r{;Dm#4|Hqz4n5-eC=ZK!b?w&E?s?Py1jd4eQW#5+1X-tzBJ7_=lz2W zei(3%IyMhmZ_YQ)tQl*wprU#R!6Ce9nq%Wsf$>B_YV`fxM|H)l9H0RM>{k|Abu1C2 z7Z^7R4_-Tkhp(N&q|P8cMTw1Kab1OCZHm#x6f(=ggjuyn4lzcwU`Ht+avjtItU>liQWNZQ49q?xG42qIE zypKYij|{HYj(CHVvOECbMJzreL&0#R0%MDCl7O32(ODq6zV6qhRVwH~eLq5}#iJZ| zyXgA7q5!ULU3RZsxv-cmcFNk+Th#rJcB%aN|WiP{Ig^13L+cYokMmWYz^=BD2lWgrhX11q5%WyyryneL$ zqKgeT>O7cTWQf6z+k(H-d7@)xt)wOd1W^~!AO%>6R-$WR zz0}nLp_Ft1`)vC65M3|hyq>w8g5djeqOFecxu^a;0N|l>k6wG~xi7x<^b22l<NQYc0mLWIlT=-}@;Zyy(9N>h^(<}w&o zFe=qxp=*rA2nwaMY2iJv(<)ro}D3&m>^mX8<$Ni%gF6Gt*C#|N^40K zMXZXIw2vjbET>uCH;nZ>SO=`B)ux&i{XfJGmh8Z{N^(2S>v7-AfI~9qe&gFelumMI z-~Z_RV_*K&`A0tV0~aq`dg19WKmFv3SFT;$_ReMOQFw0)1_|~+Q#+W(2QQ&Ww>ySi zW$=vmN+<0O8B2>X7_~N7BtFhdX&B$6Afxk+@%`9GW>^d#MIzKgeRZ<6u$36zZdU& z(+A9x*(a~f%iSlNx-w-|p100#7;7J6uwVwP4F!$84?9ds)qJDtdL?M~pyN61iVUMH z%DhISEw~2YL}ar*{BQ%smv%1Tkuz_wKlEGv_?7j^sjp`; zdsYg0B}V3gH~<&D^T82%lfcv)9n>^ItaPZfL8BU2X?rk58e~y$#)eeN#~`$^51CC} zOeu3xm+xr(A2e`AI<2Gwki+0`w~x3*Bv7x32g7)?@IhY&Yf`mWz3;=Qtz@4bM- zrf(0I(!O}<^C7RLs|~-7sx5UejuToY+VlRpi@Ch?%5&k(L%?jd?Ywsld*8Gu>Xg6^ zK*%{P2DYzbrxn*sOpQRW1k}o+&KekHP#6Uu8EDa^S8fcHwvbsgC z(#sd0!^;<+1HZy5&x%dw+(X{`v&=yaO~qG|lPTG{4x{Ul%!s>J=qxY25RI<_o&*{R zEV3GPR>4afqYsc87!vt42EH-Db_Z&Aa$3IOp4Wa4fWaRAkB4#?qz8*%)9=G#n$!D@54rxU-vavOSE@(CH!i79a&=gg^&Ft0N{H*^!w-+ z{{2s?zxv~U{-LeewfEMhdWUuP95aa&9wKDO??w_mL;ew(dm}l~d7r&9K3`9O6O2V( zW1d%7s|rXjLELj!`oP$%HsHd6uM4cZSJ&+0aKPJdq6gw=MXAHza-=?M=7rFS&bLODm`#N*!Qv1k;0VrTJCPrvU490 zE&c62^|{Ou>MH^N>ree9T$^vf)N{Q2>eJb!YZuSG@al6P+@4?k{#m*6Esbp+WKRNM z5{glbC8lc`#^bDqQ9T6Yx^L#u>wk=aX%kp*w~K?Iy~3oudURx0bIwP6~1xB8CiA^P9|gY$||v^$OVzLgiEnCFZ@U>9m=+Qz_} z^s<0s2#8RaMG$=4NYZ>rjH@q=AG+nA)&iS69xLjZx^ z^2Yb7pZ~QVf8^TsYaia4UHP6_Is1@t=0VRalj~ecpePiwOoj|Tx43fnex2`jHxGh9 zqZ}5Q!6G*pH4d3m0Ju#k>Aid9-PCJ⪼fMU``DW;!ch9{3kSuFAfYo$feWayc1 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 literal 0 HcmV?d00001 diff --git a/00-Lesson-Site/frontend/public/favicon/ms-icon-70x70.png b/00-Lesson-Site/frontend/public/favicon/ms-icon-70x70.png new file mode 100644 index 0000000000000000000000000000000000000000..c827b7804b482b2d25eb2a6f4f8eb300a673e464 GIT binary patch literal 7632 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 PX8<%*byO;q>`?y)_TLq_ literal 0 HcmV?d00001 diff --git a/00-Lesson-Site/frontend/src/components/Post/Blockquotes/Homework.astro b/00-Lesson-Site/frontend/src/components/Post/Blockquotes/Homework.astro new file mode 100644 index 0000000..53754ba --- /dev/null +++ b/00-Lesson-Site/frontend/src/components/Post/Blockquotes/Homework.astro @@ -0,0 +1,21 @@ +--- +// Path: frontend/src/components/Post/Blockquotes/Homework.astro + +import styles from "./Homework.module.scss"; + +interface Props { + toc?: string; + tocLevel?: string; + imageAlt?: string; +} + +const { toc = "Homework", tocLevel = "1", imageAlt = "MangoPig Homework" } = Astro.props; +--- + +

+ + + + {imageAlt} + +
diff --git a/00-Lesson-Site/frontend/src/components/Post/Blockquotes/Homework.module.scss b/00-Lesson-Site/frontend/src/components/Post/Blockquotes/Homework.module.scss new file mode 100644 index 0000000..16ad58f --- /dev/null +++ b/00-Lesson-Site/frontend/src/components/Post/Blockquotes/Homework.module.scss @@ -0,0 +1,41 @@ +/* Path: frontend/src/components/Post/Blockquotes/Homework.module.scss */ + +.homework { + background-color: #a95eff1a; + padding: 30px; + border-radius: 10px; + position: relative; + min-height: 100px; + + picture { + position: absolute; + bottom: -10px; + right: -10px; + + margin: 0; + + width: 200px; + max-width: 30%; + + transform: rotate(10deg); + + img { + width: 100%; + height: auto; + box-shadow: none; + } + } + + ul { + list-style-type: disc; + padding-left: 20px; + margin-right: 220px; + } + + span { + position: absolute; + top: 50%; + left: 30px; + transform: translateY(-50%); + } +} diff --git a/00-Lesson-Site/frontend/src/content/lessons/01-intro.mdx b/00-Lesson-Site/frontend/src/content/lessons/01-intro.mdx index 35623f9..e5fa331 100644 --- a/00-Lesson-Site/frontend/src/content/lessons/01-intro.mdx +++ b/00-Lesson-Site/frontend/src/content/lessons/01-intro.mdx @@ -1,5 +1,5 @@ --- -# Path: src/content/lessons/01-intro.mdx +# Path: frontend/src/content/lessons/01-intro.mdx title: "Introduction to Web Dev" description: "Setting up the environment" @@ -8,6 +8,7 @@ style: "type-1" {/* Blockquotes */} import Ganbatte from "../../components/Post/Blockquotes/Ganbatte.astro"; +import Homework from "../../components/Post/Blockquotes/Homework.astro"; import Important from "../../components/Post/Blockquotes/Important.astro"; import Info from "../../components/Post/Blockquotes/Info.astro"; import QA from "../../components/Post/Blockquotes/QA.astro"; @@ -17,13 +18,13 @@ import Spoiler from "../../components/Post/Spoiler.tsx"; # Hosting a Large Language Model (LLM) Locally - Web Development Illustration + Web Development Illustration
- Lesson 01 - Created at: **December 2025** - Last Updated: **December 2025** + Lesson 01 + Created at: **December 2025** + Last Updated: **December 2025**
@@ -35,8 +36,6 @@ import Spoiler from "../../components/Post/Spoiler.tsx"; - Converting the model to GGUF format - Quantizing the model for better performance - Hosting a basic LLM model with llama.cpp locally - - (To Be Added) Making a volume mount to persist LLM data across container restarts - - (To Be Added) Tagging the Docker Image for future reuse @@ -86,7 +85,7 @@ import Spoiler from "../../components/Post/Spoiler.tsx"; zsh ``` - With the above commands, you should have a zsh environment, coding language and Docker setup. We will get more in details of all the tools with this setup as we work through the lessons. + With the above commands, you should have a zsh environment, coding language and Docker setup. We will get more in details of all the tools with this setup as we work through the lessons.
@@ -115,6 +114,7 @@ import Spoiler from "../../components/Post/Spoiler.tsx"; ```
+
@@ -131,7 +131,7 @@ import Spoiler from "../../components/Post/Spoiler.tsx";

Installing Docker

- +
@@ -148,12 +148,12 @@ import Spoiler from "../../components/Post/Spoiler.tsx"; ``` - - `--gpus` all enables GPU support for the container. + - `--gpus` all enables GPU support for the container. - `--it` makes the container interactive, allowing you to run commands inside it. - `--name` llm-container gives the container a name for easier reference. - `-p 8080:8080` = `-p HOST:CONTAINER` maps port 8080 on your host machine to port 8080 inside the container. This is useful if you plan to run a server inside the container and want to access it from your host machine. - `nvidia/cuda:13.0.2-cudnn-runtime-ubuntu24.04` specifies the Docker image to use. - - `/bin/bash` starts a bash shell inside the container. + - `/bin/bash` start point for the container, which opens a bash shell. Once you are inside the container, you can proceed to setup the environment like we did before in the
WSL section. @@ -248,7 +248,7 @@ import Spoiler from "../../components/Post/Spoiler.tsx"; ``` - +
@@ -379,7 +379,7 @@ import Spoiler from "../../components/Post/Spoiler.tsx"; - Make sure to copy the token somewhere safe and **DO NOT SHARE IT WITH ANYONE** or **USE IT DIRECTLY IN PUBLIC REPOSITORIES** and **DIRECTLY IN YOUR CODE**! Consult AIs on how to keep your tokens safe if you are unsure, but do not directly share them with the AI. + Make sure to copy the token somewhere safe and **DO NOT SHARE IT WITH ANYONE** or **USE IT DIRECTLY IN PUBLIC REPOSITORIES** and **DIRECTLY IN YOUR CODE**! Consult AIs on how to keep your tokens safe if you are unsure, but do not directly share them with the AI. Now that you have your token, you can use it to download models from Hugging Face. We will use `huggingface-cli` to do this. Let's first make the directory to store the models: @@ -400,12 +400,12 @@ import Spoiler from "../../components/Post/Spoiler.tsx"; ```zsh frame="none" git config --global credential.helper store ``` - + ```zsh frame="none" hf auth login ``` - ```zsh frame="none" + ```zsh frame="none" _| _| _| _| _|_|_| _|_|_| _|_|_| _| _| _|_|_| _|_|_|_| _|_| _|_|_| _|_|_|_| _| _| _| _| _| _| _| _|_| _| _| _| _| _| _| _| _|_|_|_| _| _| _| _|_| _| _|_| _| _| _| _| _| _|_| _|_|_| _|_|_|_| _| _|_|_| @@ -550,6 +550,7 @@ import Spoiler from "../../components/Post/Spoiler.tsx"; ``` Then you have succeeded in converting the model to GGUF format! +
@@ -634,7 +635,7 @@ import Spoiler from "../../components/Post/Spoiler.tsx"; How do I know how big of a model size can I fit in my computer

It depends on whether you are running inference on your CPU (System RAM) or GPU (VRAM).

- +

For CPU inference, you generally want the model size to be around 2x the size of your system RAM for comfortable operation. For example, if you have 16GB of RAM, you should aim for models that are around 8GB or smaller.

**Size (GB) ≈ (Parameters (Billions) × Bits Per Weight) / 8 + Overhead** @@ -728,5 +729,229 @@ import Spoiler from "../../components/Post/Spoiler.tsx"; Read more about the API requests [here](https://github.com/ggml-org/llama.cpp/blob/master/tools/server/README.md#using-with-curl) + +
+ +
+

Docker Volume Mount

+ + Before we continue, we are going to destroy everything that we have worked on so far: + + ```zsh frame="none" + exit # As many times as needed to exit the container to your host shell + docker stop llm-container + docker rm llm-container + ``` + + This is to show that, whenever we remove the Docker container, all the data inside the container will be lost. This is bad because we don't want to redownload and reconvert the models every time we restart the container. + + To solve this issue, we can use Docker volume mounts to persist our data. + + Docker volume maps directories from your host machine to the Docker container. + It's a little bit like plugging in a USB drive to your computer, so that the data on the USB drive is accessible even if you remove the USB drive. + + When you run the Docker container, you can use the `-v` option to specify volume mounts. + + ```zsh frame="none" + docker run \ + --gpus all \ + -it \ + -v ~/Models:/Models \ + --name llm-container \ + -p 8080:8080 \ + nvidia/cuda:13.0.2-cudnn-devel-ubuntu24.04 \ + /bin/bash + ``` + + + - `-v ~/Models:/Models`: This maps the `~/Models` directory on your host machine to the `/Models` directory inside the Docker container. + - The left side (`~/Models`) is the path on your host machine. + - The right side (`/Models`) is the path inside the Docker container. + - With this setup, any models you download to `~/Models` on your host machine will be accessible at `/Models` inside the Docker container, and vice versa. + + + Now, it's your turn to set up everything again inside the Docker container, but this time, when you download and convert the models, make sure to save them to the `/Models` directory inside the container. Try to do it own your own! + + +

Your Task

+ 1. Setting up Hugging Face CLI and downloading the model to `~/Models` in your host machine + 2. Starting a docker container and mount `~/Models` to `/Models` in the container + 3. Initializing the container with the scripts provided + - apt update and install dependencies + - delete default user + - provisional script + - log into to your own user account + 4. Cloning llama.cpp and building it + 5. Converting the model to GGUF and quantizing it (Remember your models are in `/Models` now!) + 6. Running the server with the model from `/Models` +
+ + The solution is below if you get stuck: + + + + 1. Setting up Hugging Face CLI and downloading the model to `~/Models` in your host machine + + ```zsh frame="none" + mkdir -p ~/Models + cd ~/Models + curl -LsSf https://hf.co/cli/install.sh | bash + git config --global credential.helper store + hf auth login + hf download HuggingFaceTB/SmolLM3-3B --local-dir ~/Models/SmolLM3-3B + ``` + + 2. Starting a docker container and mount `~/Models` to `/Models` in the container + + ```zsh frame="none" + docker run \ + --gpus all \ + -it \ + -v ~/Models:/Models \ + --name llm-container \ + -p 8080:8080 \ + nvidia/cuda:13.0.2-cudnn-devel-ubuntu24.04 \ + /bin/bash + ``` + + 3. Initializing the container with the scripts provided + + ```zsh frame="none" + apt update && apt install -y git make curl sudo zsh + userdel -r ubuntu + bash <(curl -s https://git.mangopig.tech/mangopig/Dot-Zsh/raw/branch/main/scripts/provision.sh) + su - mangopig + ``` + + ```zsh frame="none" + cd ~/Config/Dot-Zsh + make base && \ + make python && \ + make clean && \ + make stow && \ + zsh + ``` + + OR you can just run: + + ```zsh frame="none" + cd ~/Config/Dot-Zsh + make setup && \ + zsh + ``` + 4. Cloning llama.cpp and building it + + ```zsh frame="none" + mkdir -p ~/Projects/llama.cpp + cd ~/Projects/llama.cpp + git clone https://github.com/ggerganov/llama.cpp.git . + cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DLLAMA_BUILD_TESTS=OFF -DLLAMA_BUILD_EXAMPLES=ON -DLLAMA_BUILD_SERVER=ON + cmake --build build --config Release -j $(nproc) + sudo cmake --install build && \ + sudo ldconfig + ``` + + 5. Converting the model to GGUF and quantizing it (Remember your models are in `/Models` now!) + + ```zsh frame="none" + conda create -n llama-cpp python=3.10 -y + conda activate llama-cpp + python -m pip install --upgrade pip wheel setuptools + pip install --upgrade -r ~/Projects/llama.cpp/requirements/requirements-convert_hf_to_gguf.txt + python ~/Projects/llama.cpp/convert_hf_to_gguf.py \ + /Models/SmolLM3-3B \ + --outfile /Models/SmolLM3-3B/SmolLM3-3B.gguf + llama-quantize \ + /Models/SmolLM3-3B/SmolLM3-3B.gguf \ + /Models/SmolLM3-3B/SmolLM3-3B.q4.gguf \ + q4_0 + 4 + ``` + + 6. Running the server with the model from `/Models` + + ```zsh frame="none" + llama-server \ + --model /Models/SmolLM3-3B/SmolLM3-3B.q4.gguf \ + --host 0.0.0.0 + --port 8080 + ``` + + + + If you have done it without help! Congratulations! You have successfully set up a persistent environment for running llama.cpp with Docker volume mounts! + +

Wrapping Up

+ + Your LLM setup will still stop when you stop the container tho. In the future, we will learn more about that will help solve these issues: + + - Creating Custom Docker Images to Preserve Setup + - Deploying LLM Server to the Cloud + - Hosting Multiple Models and Switching Between Them + - Using docker-compose to Manage Multiple Containers + +

Tmux Session Persistence

+ For now, if you want to keep the server running after exiting the terminal, you can use `tmux` or `screen` to create a persistent session inside the Docker container. + + 1. Enter the Docker container again (if you have exited it): + + ```zsh frame="none" + docker start llm-container + ``` + + ```zsh frame="none" + docker exec -it --user YOUR_USERNAME llm-container /bin/zsh + ``` + + 2. Install `tmux` inside the container + + ```zsh frame="none" + sudo apt install -y tmux + tmux new -s llm-server + ``` + + 3. Start the server inside the `tmux` session + + ```zsh frame="none" + llama-server \ + --model /Models/SmolLM3-3B/SmolLM3-3B.q4.gguf \ + --host 0.0.0.0 + --port 8080 + ``` + + 4. To detach from the `tmux` session and keep it running in the background, press `Ctrl + B`, then `D`. + 5. To reattach to the `tmux` session later, use: + ```zsh frame="none" + tmux attach -t llm-server + ``` + +

Basic Container Management

+ + This session will persist as long as the Docker container is running. Your setup will also persist as long as you don't remove the Docker container. But if you want to free up some resources, you should stop the container when not in use. + + You can stop the docker container with: + + ```zsh frame="none" + docker stop llm-container + ``` + + You can remove the container with: + + ```zsh frame="none" + docker rm llm-container + ``` + + Start it back up anytime with: + + ```zsh frame="none" + docker start llm-container + ``` + + Reattach to the container with: + + ```zsh frame="none" + docker exec -it --user YOUR_USERNAME llm-container /bin/zsh + ``` +
\ No newline at end of file diff --git a/00-Lesson-Site/frontend/src/layouts/LandingLayout.astro b/00-Lesson-Site/frontend/src/layouts/LandingLayout.astro index 3b679c2..afd02b2 100644 --- a/00-Lesson-Site/frontend/src/layouts/LandingLayout.astro +++ b/00-Lesson-Site/frontend/src/layouts/LandingLayout.astro @@ -1,5 +1,5 @@ --- -// Path: src/layouts/LandingLayout.astro +// Path: 00-Lesson-Site/frontend/src/layouts/LandingLayout.astro import { ClientRouter } from "astro:transitions"; diff --git a/00-Lesson-Site/frontend/src/layouts/LessonLayout.astro b/00-Lesson-Site/frontend/src/layouts/LessonLayout.astro index 97dba79..4adf16a 100644 --- a/00-Lesson-Site/frontend/src/layouts/LessonLayout.astro +++ b/00-Lesson-Site/frontend/src/layouts/LessonLayout.astro @@ -1,5 +1,5 @@ --- -// Path: src/layouts/LessonLayout.astro +// Path: 00-Lesson-Site/frontend/src/layouts/LessonLayout.astro import { ClientRouter } from "astro:transitions"; diff --git a/00-Lesson-Site/frontend/src/pages/changelog.astro b/00-Lesson-Site/frontend/src/pages/changelog.astro index 1b13458..291495d 100644 --- a/00-Lesson-Site/frontend/src/pages/changelog.astro +++ b/00-Lesson-Site/frontend/src/pages/changelog.astro @@ -1,12 +1,13 @@ --- -// Path: src/pages/changelog.astro +// Path: 00-Lesson-Site/frontend/src/pages/changelog.astro import Layout from "../layouts/LessonLayout.astro"; --- -

Welcome to the Lesson Site

-

This is the homepage of the lesson site built with Astro.

- - Lesson 1 +

THIS PAGE IS EMPTY

+

But you can find the lessons here!

+
diff --git a/00-Lesson-Site/frontend/src/pages/index.astro b/00-Lesson-Site/frontend/src/pages/index.astro index add46b4..6b24801 100644 --- a/00-Lesson-Site/frontend/src/pages/index.astro +++ b/00-Lesson-Site/frontend/src/pages/index.astro @@ -1,12 +1,13 @@ --- -// Path: 00-Lesson-Site/src/pages/index.astro +// Path: 00-Lesson-Site/frontend/src/pages/index.astro import Layout from "../layouts/LessonLayout.astro"; --- -

Welcome to the Lesson Site

-

This is the homepage of the lesson site built with Astro.

- - Lesson 1 +

THIS PAGE IS EMPTY

+

But you can find the lessons here!

+
diff --git a/00-Lesson-Site/frontend/src/pages/lessons/index.astro b/00-Lesson-Site/frontend/src/pages/lessons/index.astro index d193d2d..e7e07ce 100644 --- a/00-Lesson-Site/frontend/src/pages/lessons/index.astro +++ b/00-Lesson-Site/frontend/src/pages/lessons/index.astro @@ -1,12 +1,13 @@ --- -// Path: src/pages/lessons/index.astro +// Path: 00-Lesson-Site/frontend/src/pages/lessons/index.astro import Layout from "../../layouts/LessonLayout.astro"; --- -

Welcome to the Lesson Site

-

This is the homepage of the lesson site built with Astro.

- - Lesson 1 +

THIS PAGE IS EMPTY

+

But you can find the lessons here!

+
diff --git a/00-Lesson-Site/frontend/src/pages/lessons/lessonPage.module.scss b/00-Lesson-Site/frontend/src/pages/lessons/lessonPage.module.scss index eec64f5..63faced 100644 --- a/00-Lesson-Site/frontend/src/pages/lessons/lessonPage.module.scss +++ b/00-Lesson-Site/frontend/src/pages/lessons/lessonPage.module.scss @@ -1,9 +1,10 @@ -/* Path: src/pages/lessons/lessonPage.module.scss */ +/* Path: frontend/src/pages/lessons/lessonPage.module.scss */ .content { width: 1000px; margin: 0 auto; padding: 20px; + margin-bottom: 200px; } html { diff --git a/00-Lesson-Site/frontend/src/pages/resources.astro b/00-Lesson-Site/frontend/src/pages/resources.astro index 2a01e0d..9062580 100644 --- a/00-Lesson-Site/frontend/src/pages/resources.astro +++ b/00-Lesson-Site/frontend/src/pages/resources.astro @@ -1,12 +1,13 @@ --- -// Path: src/pages/resources.astro +// Path: 00-Lesson-Site/frontend/src/pages/resources.astro import Layout from "../layouts/LessonLayout.astro"; --- -

Welcome to the Lesson Site

-

This is the homepage of the lesson site built with Astro.

- - Lesson 1 +

THIS PAGE IS EMPTY

+

But you can find the lessons here!

+