diff --git a/.ipynb_checkpoints/L4_Deployment_Tricks-checkpoint.ipynb b/.ipynb_checkpoints/L4_Deployment_Tricks-checkpoint.ipynb
new file mode 100644
index 0000000..5c25463
--- /dev/null
+++ b/.ipynb_checkpoints/L4_Deployment_Tricks-checkpoint.ipynb
@@ -0,0 +1,273 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "9f307d83-f207-40a4-9d66-6ee8fd6b6c00",
+ "metadata": {
+ "tags": []
+ },
+ "source": [
+ "# Lesson 4: Node Deployment Tips & Tricks!\n",
+ "\n",
+ "Instructors : Ishan Mishra, Phil Culliton\n",
+ " \n",
+ "Special Thanks to : Madhava Jay\n",
+ "\n",
+ "Our stack is constantly evolving and getting better and more user-friendly. For the current release version of PyGrid and Hagrid, here are a few tips and tricks I've found useful on a Linux/OS X/WSL environment when it comes to working with this infrastructure.\n",
+ "\n",
+ "If you come up with any useful tricks of your own, please do share them with us and the community!"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "715eee4b-fa7f-4484-ab71-b092835dcb11",
+ "metadata": {},
+ "source": [
+ "
"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "cd624d42-0392-447a-9de4-2f3822af2446",
+ "metadata": {},
+ "source": [
+ "## Aliases\n",
+ "Here are some bash aliases I use for varous purposes, such as in order to ease the process of launching my local domain node."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "de4e0e91-01dc-48a9-96b4-b2c4d1c6c028",
+ "metadata": {},
+ "source": [
+ "```\n",
+ "# Activates the venv, and navigates to the Syft directory\n",
+ "alias syft=\"conda activate && cd \n",
+ "```"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "5f59b557-5853-4fe8-a951-7c90bde50379",
+ "metadata": {},
+ "source": [
+ "```\n",
+ "# Launches the local domain node with one word\n",
+ "alias launch=\"hagrid launch domain to docker:8081+ tail=True\"\n",
+ "```"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "f2f6bdc8-f1cb-4b75-a97d-d3277c40d77a",
+ "metadata": {},
+ "source": [
+ "```\n",
+ "# Shuts down all local domain nodes\n",
+ "alias land=\"hagrid land all\"\n",
+ "```"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "d782924b-3deb-4002-8a02-1cc75ef0336c",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "50fc4c9a-eb7c-490c-98f1-edd19b91f8db",
+ "metadata": {},
+ "source": [
+ "# Clearing Up Space\n",
+ "Docker has a reputation for taking up a suprisingly large amount of space as its containers are running. Here are a few ways I've found to mitigate those effects. "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "7ff124a8-75c0-4a0e-be47-091f4d19883e",
+ "metadata": {},
+ "source": [
+ "```\n",
+ "# This cleans up after docker\n",
+ "# WARNING: will delete all currently unused or inactive containers, networks, volumes, etc- this will result in losing any data you uploaded to #Domain Nodes that aren't currently running\n",
+ "\n",
+ "hard_reset() {\n",
+ " echo \"Pruning Network\"\n",
+ " docker network prune -f\n",
+ " echo \"Pruning Volume\"\n",
+ " docker volume prune -f\n",
+ " echo \"Pruning System\"\n",
+ " docker system prune -f\n",
+ " echo \"Pruning Containers\"\n",
+ " docker container prune -f\n",
+ "}\n",
+ "\n",
+ "# This will delete active or unused containers, networks, but won't delete any data you've uploaded or stored.\n",
+ "\n",
+ "cleanup() {\n",
+ " echo \"Pruning Network\"\n",
+ " docker network prune -f\n",
+ " echo \"Pruning System\"\n",
+ " docker system prune -f\n",
+ " echo \"Pruning Containers\"\n",
+ " docker container prune -f\n",
+ "}\n",
+ "\n",
+ "\n",
+ "```"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "c530773e-0973-455d-8884-b6a83147ed6c",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "dba2e61a-dc86-4dba-9e44-fb2555c11227",
+ "metadata": {},
+ "source": [
+ "# Testing and debugging\n",
+ "Here are some commands that will make it easier to work with Docker containers, while testing, debugging, or for other purposes. "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "fb5c3696-ce57-4874-abb2-2a0f3dcb7add",
+ "metadata": {},
+ "source": [
+ "#### ctop \n",
+ "ctop is a handy tool that lets you quickly monitor and manage all your containers (both active and inactive):"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "e7ad64d8-83da-496c-86e6-0bcb32006762",
+ "metadata": {},
+ "source": [
+ "```\n",
+ "# To install, simply\n",
+ "sudo apt install ctop\n",
+ "\n",
+ "# An alternative version of this package can be obtained from:\n",
+ "https://github.com/bcicen/ctop\n",
+ "```"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "d86de22f-1b91-41b7-8f05-2070c7b815bc",
+ "metadata": {},
+ "source": [
+ "```\n",
+ "# ctop is a quick way to monitor containers\n",
+ "ctop\n",
+ "```"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "526c5add-40c9-465f-a2ba-990112a082ac",
+ "metadata": {},
+ "source": [
+ "By hovering over a container and pressing enter, you gain the ability to:\n",
+ "\n",
+ "- View: \n",
+ " - Single View (keybind 'o'): view details of that specific container, including ports, health, CPU/MEM usage, NET/IO, environment variables, and much more.\n",
+ " - Log View (keybind 'l'): View the logs of just this container. This is in contrast to launching a local domain node with tail=True, as that method continuousy outputs all the container logs in real time.\n",
+ "- Interact: \n",
+ " - Stop (keybind 's'): Stop the container.\n",
+ " - Pause (keybind 'p'): Pause the container.\n",
+ " - Restart (keybind 'r'): Restart the container.\n",
+ " - Exec shell (keybind 'e'): This lets you run commands inside this shell. This is very handy if you want to run test files inside a container, for instance."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "ed81829b-fe69-4dd8-8848-f4da1a060e91",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "745b115e-48ee-45e0-ac93-7bbbb7bba742",
+ "metadata": {},
+ "source": [
+ "## Miscellaneous Hagrid Tricks\n",
+ "\n",
+ " Seeing the logs from Hagrid in real time: \n",
+ "``` \n",
+ "# Add the \"tail=True\" parameter!\n",
+ "hagrid launch local_node tail=True\n",
+ "```\n",
+ "\n",
+ " Seeing a list of commands being run in Hagrid: \n",
+ "``` \n",
+ "# Use the cmd=True parameter!\n",
+ "hagrid launch local_node cmd=True\n",
+ "```\n",
+ "\n",
+ " Shutting down your docker containers without losing data: \n",
+ "```\n",
+ "# This is great if the \"hagrid land\" command isn't working\n",
+ "docker rm `docker ps -aq` --force\n",
+ "```"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "d0613e05-9a03-429b-8188-0508d4c7aa54",
+ "metadata": {},
+ "source": [
+ " Resetting Domain Node Storage/Memory \n",
+ "\n",
+ " By deleting the db container, you can do a hard reset on the domain node's storage and memory."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "30b313f7-82e0-4cf5-8500-d43fdd10b8f0",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "eb4cf1af-b20a-4a3b-9a36-16e7f33edf7f",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.7"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/.ipynb_checkpoints/L4_NodeMaintenance-checkpoint.ipynb b/.ipynb_checkpoints/L4_NodeMaintenance-checkpoint.ipynb
new file mode 100644
index 0000000..d151495
--- /dev/null
+++ b/.ipynb_checkpoints/L4_NodeMaintenance-checkpoint.ipynb
@@ -0,0 +1,1104 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "2658e30a-4ce1-4e3c-a631-a5bcf7b096aa",
+ "metadata": {},
+ "source": [
+ "# Lesson 4: Node Management\n",
+ "\n",
+ "Instructors : Ishan Mishra, Phil Culliton\n",
+ "\n",
+ "\n",
+ "In this lesson, we'll pull back the curtain a bit and show you how to manage, maintain and customize your node. We'll be walking you through adding new users, changing priviledges, creating and responding to requests, and everything to do with network nodes!\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "0aeb1825-a452-48fa-b8b0-687dd7eef4f1",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "b655bad5-1774-4c2d-936e-a35a9719e884",
+ "metadata": {},
+ "source": [
+ "## Concept 1. Logging in! \n",
+ "\n",
+ "\n",
+ "### 1.1 Via PySyft\n",
+ "There are two ways to log into your own node, as the Data Owner. The first way is using the PySyft library:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "ac1b13ac-b456-449c-825b-7d5629d62f0d",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import syft as sy\n",
+ "import numpy as np\n",
+ "from syft.core.adp.entity import Entity"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "9e7745e9-0cc0-417a-aa51-456ceba2e67a",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "WARNING: CHANGE YOUR USERNAME AND PASSWORD!!! \n",
+ "\n",
+ "Anyone can login as an admin to your node right now because your password is still the default PySyft username and password!!!\n",
+ "\n",
+ "Connecting to http://localhost:8081... done! \t Logging into adp... done!\n"
+ ]
+ }
+ ],
+ "source": [
+ "domain_node = sy.login(email=\"info@openmined.org\", password=\"changethis\", port=8081)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "63431254-02bb-4fd1-a4df-e848d6042b58",
+ "metadata": {
+ "tags": []
+ },
+ "source": [
+ "\n",
+ "### 1.2 Via the UI\n",
+ "\n",
+ "The second way involves using the same username and password, but logging in through the UI, which is accessible at localhost:8081 \n",
+ "\n",
+ "Please note, if you launched Hagrid to a different port, please replace 8081 with the appropriate portnumber!\n",
+ "\n",
+ "![alt text](ui_images/login_screen.png \"UI Login Screen\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "1d4eaa2a-72aa-4f5b-aa45-65ea0b8d6df4",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "2cef3b59-837c-4909-82ba-a82e7af312a2",
+ "metadata": {},
+ "source": [
+ "## Concept 2. Users!\n",
+ "\n",
+ "You might not be the only person using your domain node! Let's see how you can go about checking all the users on your domain node, as well as how to add and configure new ones!"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "698d72df-b9dd-448d-ad60-fa692dc41a35",
+ "metadata": {},
+ "source": [
+ "### 2.1 Seeing all users\n",
+ "To see all the current users on a domain node, you can simply do the following once you've signed in using the PySyft library:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "950009d8-e448-46ea-8de9-67fe9352fd4c",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " added_by \n",
+ " allocated_budget \n",
+ " budget \n",
+ " budget_spent \n",
+ " created_at \n",
+ " daa_pdf \n",
+ " email \n",
+ " id \n",
+ " institution \n",
+ " name \n",
+ " role \n",
+ " verify_key \n",
+ " website \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " <syft.lib.python._SyNone object at 0x7fbb154c3... \n",
+ " 0.0 \n",
+ " 5.55 \n",
+ " 0.0 \n",
+ " 2021-11-03 02:48:47.495871 \n",
+ " <syft.lib.python._SyNone object at 0x7fbb154c3... \n",
+ " info@openmined.org \n",
+ " 1 \n",
+ " <syft.lib.python._SyNone object at 0x7fbb154c3... \n",
+ " Jane Doe \n",
+ " Owner \n",
+ " dd784cd6c0278a9cd11b69cdf4c4ca0076e661e3dd2e74... \n",
+ " <syft.lib.python._SyNone object at 0x7fbb154c3... \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# See all the users\n",
+ "domain_node.users"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "8fd5c9d6-3d25-42c8-ad43-faee2d310757",
+ "metadata": {},
+ "source": [
+ " \n",
+ "\n",
+ "Alternatively, if you logged in using the UI, you are able to see the Users by clicking the \"Users\" field.\n",
+ "\n",
+ "![alt text](ui_images/users.png)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "d162ad28-789d-43c8-b16a-6f77414216fa",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "9bc5e346-31a0-4798-9ac4-7dabc935f8cc",
+ "metadata": {},
+ "source": [
+ "### 2.2 Creating a New User!\n",
+ "\n",
+ "Creating a new user is again a really simple process. We just need to specify the following parameters when we're creating the account. Note that many of these can be changed and updated retroactively!\n",
+ "\n",
+ "Let's now try creating a user via PySyft, and validating that it worked."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "19d2b482-dcf3-4237-b426-76122c004495",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Create a new user\n",
+ "domain_node.users.create(\n",
+ " **{\n",
+ " \"name\": \"Sheldon Cooper\",\n",
+ " \"email\": \"sheldon@caltech.edu\",\n",
+ " \"password\": \"bazinga\",\n",
+ " \"budget\": 100\n",
+ " }\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "id": "505904f9-f962-4e97-879a-7539bfe37eeb",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " added_by \n",
+ " allocated_budget \n",
+ " budget \n",
+ " budget_spent \n",
+ " created_at \n",
+ " daa_pdf \n",
+ " email \n",
+ " id \n",
+ " institution \n",
+ " name \n",
+ " role \n",
+ " verify_key \n",
+ " website \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " <syft.lib.python._SyNone object at 0x7fbb154c3... \n",
+ " 0.0 \n",
+ " 5.55 \n",
+ " 0.0 \n",
+ " 2021-11-03 02:48:47.495871 \n",
+ " <syft.lib.python._SyNone object at 0x7fbb154c3... \n",
+ " info@openmined.org \n",
+ " 1 \n",
+ " <syft.lib.python._SyNone object at 0x7fbb154c3... \n",
+ " Jane Doe \n",
+ " Owner \n",
+ " dd784cd6c0278a9cd11b69cdf4c4ca0076e661e3dd2e74... \n",
+ " <syft.lib.python._SyNone object at 0x7fbb154c3... \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " Jane Doe \n",
+ " 0.0 \n",
+ " 100.00 \n",
+ " 0.0 \n",
+ " 2021-11-03 06:24:10.657167 \n",
+ " 1 \n",
+ " sheldon@caltech.edu \n",
+ " 2 \n",
+ " \n",
+ " Sheldon Cooper \n",
+ " Data Scientist \n",
+ " 2fef564b79c4fef21d1549a891d624d84e71c482af0c07... \n",
+ " \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "domain_node.users"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "ccda843e-7fc8-4708-9d30-5caf6a5960f4",
+ "metadata": {},
+ "source": [
+ "By default, this new user is a Data Scientist. However, other roles are also possible. You can see all the roles that are available by accessing the UI at localhost:8081/permissions "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "3cc7630b-ba2d-4f7c-a09a-5fce6dcd95a0",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "03f7fd2c-0d90-40bd-a2f5-e6d3d33a505b",
+ "metadata": {},
+ "source": [
+ "### 2.3 User Permissions\n",
+ "\n",
+ "It's understandable that you might want to control how much a given user can change and tinker with your domain node. To allow for this, we've added customizable user permissions!\n",
+ "\n",
+ "As mentioned previously, these are accessible by accessing the the UI at localhost:8081/permissions "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "9a55018a-432c-413c-bb65-737affb6d181",
+ "metadata": {},
+ "source": [
+ "![alt text](ui_images/permissions_unexpanded.png)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "83f1895c-824f-44eb-9ceb-55eea4fe0f11",
+ "metadata": {},
+ "source": [
+ "Each of the 4 roles can be configured as you see fit. The parameters you can adjust are shown below:\n",
+ "\n",
+ "![alt text](ui_images/permissions_all.png)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "179c9cec-8ed2-4695-baf8-c627773d1d6c",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "ea1b2b82-1787-4c68-a8a5-1964c2bcf10b",
+ "metadata": {
+ "tags": []
+ },
+ "source": [
+ "### Concept 3. Requests\n",
+ "\n",
+ "Requests are instances where a User wants to do something that they don't have authorization to do.\n",
+ "\n",
+ "\n",
+ "As of the current release, there are 3 major types of requests:\n",
+ "- Data Access requests: Occurs when someone wanting to use the data on the node.\n",
+ "- Privacy budget upgrade requests: Occurs when a DS needs an upgrade of the privacy budget allocated to them.\n",
+ "- New Data Scientist Account requests: Occurs when a Data Scientist wishes to create an account on the domain node.\n",
+ "\n",
+ "With each type of request, they can either be accepted, rejected, approved or granted. We'll show you how to do each, but first, let's show you how a user would put in a request."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "c1b3f494-d5e0-45b0-9a61-bd94ebb08167",
+ "metadata": {},
+ "source": [
+ "### 3.1 Putting in a Request\n",
+ "\n",
+ "Remember that data scientist account we created awhile back? We'll be making use of him now. Let's first use him to sign into our domain node."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "id": "e39b28cd-0ab8-4148-b598-1fb6f0fcd654",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Connecting to http://localhost:8081... done! \t Logging into adp... done!\n"
+ ]
+ }
+ ],
+ "source": [
+ "data_scientist_node = sy.login(email=\"sheldon@caltech.edu\", password=\"bazinga\", port=8081)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "e0673d45-427e-4d17-bfdf-5649eebc326f",
+ "metadata": {},
+ "source": [
+ "Now that he's logged in, let's say he checks the privacy budget available to him:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "id": "fc3e5be4-fd01-42e4-8800-48d9dd22808d",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "100.0"
+ ]
+ },
+ "execution_count": 15,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "data_scientist_node.privacy_budget"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "ef10606d-577f-484d-af24-4531c46e7997",
+ "metadata": {},
+ "source": [
+ "Now let's say our data scientist isn't happy with this much privacy budget, and that he wants more. He could put in a request for more privacy budget, as follows:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "id": "5a6a2f31-da50-4d28-93be-3d9103cc6653",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Requested 1000 epsilon of budget. Call .privacy_budget to see if your budget has arrived!\n"
+ ]
+ }
+ ],
+ "source": [
+ "data_scientist_node.request_budget(eps=1000, reason=\"I want to do data exploration\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "68ec4bdc-5f10-4665-8141-27d5c87b5df5",
+ "metadata": {},
+ "source": [
+ "### 3.2 Responding to a Request"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "190a0c54-c4d4-4695-9190-6f598dd695df",
+ "metadata": {},
+ "source": [
+ "The request that the Data Scientist put in would be logged in the domain node, and could be viewed by the Data Owner at any time:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "id": "3636a5fa-5f9c-483c-a800-ecff0e18cf2e",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " Requested Object's tags \n",
+ " Reason \n",
+ " Request ID \n",
+ " Requested Object's ID \n",
+ " Requested Object's type \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " [] \n",
+ " I want to do data exploration \n",
+ " <UID: 3ece116558bf41cfb4680847173b6c41> \n",
+ " <UID: 6e2fecb392834b6589f616b7c19cd72f> \n",
+ " <Budget> \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "[]"
+ ]
+ },
+ "execution_count": 16,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# See all the requests made to the domain node\n",
+ "domain_node.requests"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "bf3d6c9c-493e-49a7-bcaf-f8aa519580ba",
+ "metadata": {},
+ "source": [
+ "Now, the Data Owner could investigate this request:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "id": "3bd573af-ffbd-4a2c-8333-315e0169a32f",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'I want to do data exploration'"
+ ]
+ },
+ "execution_count": 19,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "domain_node.requests[0].request_description"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "b3c83a73-afdb-47cb-ace7-da82b4a91fb8",
+ "metadata": {},
+ "source": [
+ "Let's say he decides to turn it down due to how much privacy budget is requested. He would run this:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 60,
+ "id": "b0aef9d8-6a76-4c09-b472-150848fd5f5e",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "domain_node.requests[0].deny()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "id": "c082af80-b4b0-448f-a8f4-fc75d04cb371",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "domain_node.requests[0].reject()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "5e2a6f80-f97b-4c8b-9f3d-9fe0b6d84979",
+ "metadata": {},
+ "source": [
+ "If instead he wanted to accept the request, he could instead run:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "id": "e5afb00e-2066-41c0-88ad-cb0941cfeb9a",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "domain_node.requests[0].accept()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "b5432f70-f755-48c5-8699-d0f7dddd42bc",
+ "metadata": {},
+ "source": [
+ "It's important to note that after each grant or refusal, the request disappears from the object store and is no longer visible.\n",
+ "\n",
+ "![alt text](ui_images/no_requests.png)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "1bcda20d-6003-42b8-80dc-4b764f3ea2c3",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "152d1127-f5fc-4087-9268-bd1c01a9dac4",
+ "metadata": {},
+ "source": [
+ "## Concept 4. Network Nodes!\n",
+ "\n",
+ "A Network Node is a level of abstraction above a domain node. It's a server which exists outside of any data owner's institution, providing services to a network fo data owners and data scientists, such as dataset searching and bulk project approval (the ability to participate in projects across groups of domains and data scientsts at a time).\n",
+ "\n",
+ "We can view the available networks, and put in a request to join them via the UI:"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "2c6424c2-2809-4786-8eee-5280eb33cc63",
+ "metadata": {},
+ "source": [
+ "![alt text](ui_images/networks.png)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "24b12e20-14f2-4b83-a256-422a24253fdf",
+ "metadata": {},
+ "source": [
+ "We can also do this via PySyft. To see the list of available networks we could join, we simply need to do:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 40,
+ "id": "ae83711a-b72f-439b-8527-dc4a55560af0",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " name \n",
+ " host_or_ip \n",
+ " vpn_host_or_ip \n",
+ " protocol \n",
+ " port \n",
+ " admin_email \n",
+ " website \n",
+ " slack \n",
+ " slack_channel \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " omnet \n",
+ " 13.64.187.229 \n",
+ " 100.64.0.1 \n",
+ " http \n",
+ " 80 \n",
+ " support@openmined.org \n",
+ " https://www.openmined.org/ \n",
+ " https://slack.openmined.org/ \n",
+ " omnet \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " United Nations PET Lab (Mock) \n",
+ " 13.64.14.221 \n",
+ " 100.64.0.1 \n",
+ " http \n",
+ " 80 \n",
+ " support@openmined.org \n",
+ " https://www.openmined.org/ \n",
+ " https://slack.openmined.org/ \n",
+ " petlab \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 40,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "sy.networks"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "2c0ff222-26ab-466e-b6bd-f3dab4dad402",
+ "metadata": {},
+ "source": [
+ "To join one, we would call:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 41,
+ "id": "8c19b159-c6df-47ab-8e44-84034ffa98f4",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Connecting to http://13.64.14.221... done! \t Logging into united_nations_mock... as GUEST...done!\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 41,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "un_network = sy.networks[1]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "deaec0c0-9404-4365-8213-92c6e5a6e964",
+ "metadata": {},
+ "source": [
+ "A few things to note here- \n",
+ "- We joined the Network as a Guest. This has limited capabilities.\n",
+ "- Instead of indexing by its position in the networks, we could also index by name\n",
+ "\n",
+ "- Upon selecting a network, we have access to all the public properties of the network! "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "34d67d98-1ea2-423c-9c25-2f7cc730dee5",
+ "metadata": {},
+ "source": [
+ "After joining the network node, we can see all the domains that are attached to that network:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "id": "93b276ae-8e1e-4c3c-b29e-41858ad53dbb",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\t\t opengrid network"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " host_or_ip \n",
+ " id \n",
+ " is_vpn \n",
+ " name \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 100.64.0.3 \n",
+ " 84a28770a17d4b6199d78d66b3bdc8c3 \n",
+ " 1 \n",
+ " relaxed_song \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 100.64.0.1 \n",
+ " a2f53454633f4896852aae45d7bc4096 \n",
+ " 1 \n",
+ " strange_he \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 100.64.0.4 \n",
+ " 201e5de97fc94b53a39b37a729efbb69 \n",
+ " 1 \n",
+ " kind_kaliouby \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 19,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "opengrid = sy.networks[0]\n",
+ "opengrid"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "8243d0bc-3cff-4d5e-8b01-a23da83e04f2",
+ "metadata": {},
+ "source": [
+ "Let's try to join one of these domains. We start by indexing into it:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "afcf7957-9a9c-44a8-bf8c-4ec19f5c0eea",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "pclient = opengrid[2]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "id": "dab09d83-2f6e-4384-9dc2-69977bceaa88",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(This is a logged out ProxyClient() object for a domain called 'kind_kaliouby'. Please call .login(email, password) to get a full client you can use for stuff.)"
+ ]
+ },
+ "execution_count": 11,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pclient"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "f2c64318-35b2-4086-bde2-5de21879c5a7",
+ "metadata": {},
+ "source": [
+ "We then we login as normal, as we would do to any domain!"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "id": "66f0da43-d60a-41be-859e-06d2c606593e",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Logged in to kind_kaliouby as info@openmined.org\n"
+ ]
+ }
+ ],
+ "source": [
+ "client = pclient.login(email=\"info@openmined.org\", password=\"changethis\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "7177ffd3-17da-4ac5-a617-5d5ec8199ede",
+ "metadata": {},
+ "source": [
+ "Now we can view datasets, and use this domain node like we would any other:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "id": "388d28ae-c830-4ef7-93c7-f0e674a7dbac",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "(no datasets found)"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 18,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "client.datasets"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "fda5d207-1f49-4da6-851c-7179c5d849e9",
+ "metadata": {},
+ "source": [
+ "In the event that we wanted our domain node to join a network, we could proceed as follows:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "316ced1e-9690-4720-8850-28c274c303e8",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "WARNING: CHANGE YOUR USERNAME AND PASSWORD!!! \n",
+ "\n",
+ "Anyone can login as an admin to your node right now because your password is still the default PySyft username and password!!!\n",
+ "\n",
+ "Connecting to None... done! \t Logging into ecstatic_chollet... done!\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Login to our local domain node\n",
+ "domain = sy.login(email=\"info@openmined.org\", password=\"changethis\", port=8081)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "id": "73412218-3132-46da-bfec-4b7d704cbb7d",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "🔌 > successfully connected to the VPN: http://40.83.192.48:80/api/v1\n",
+ "Waiting to connect to VPN.\n",
+ "Connected to VPN\n",
+ "Application submitted.\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Applying to join is as simple as a one liner.\n",
+ "domain.apply_to_network(opengrid)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "021df7bb-46a7-47e3-ad4f-66b920b74fad",
+ "metadata": {},
+ "source": [
+ "# Summary\n",
+ "In this notebook, you created a new user, learned how to change the user permissions, file and respond to requests, and even join a network node!\n",
+ "In the next lesson, we'll be giving you a bigger taste of remote data science, and what you can do with it. Stay tuned!"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "695b6f6e-0bcb-4939-9f6e-602f28fe8b2d",
+ "metadata": {},
+ "source": [
+ "\n",
+ " \n",
+ " "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "46d6b0fa-77c3-4adf-a963-7f18bdd697e5",
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.7"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/L3_DataPreparation.ipynb b/L3_DataPreparation.ipynb
new file mode 100644
index 0000000..bad438c
--- /dev/null
+++ b/L3_DataPreparation.ipynb
@@ -0,0 +1,1722 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "089363e9-1bf8-4ace-8487-0670192ad039",
+ "metadata": {},
+ "source": [
+ "# Lesson 3: Data Preparation\n",
+ "Instructors : Ishan Mishra, Phil Culliton\n",
+ "\n",
+ "\n",
+ " \n",
+ "Data preparation is particularly important when doing Remote Data Science and Machine Learning. This is because the data scientist doesn't inherently have the ability to freely check how clean the data is, and whether it needs pre-processing. As such, the responsibility falls onto the Data Owner to ensure the data is clean, annotated, and usable.\n",
+ "\n",
+ "\n",
+ "In this notebook, you'll walk in the steps of a Data Owner (someone who has new and potentially sensitive information) and learn about:\n",
+ "\n",
+ " Data Acquisition \n",
+ " Quality Checks \n",
+ " Annotation \n",
+ " Converting your data to a PyGrid compatible format \n",
+ " How to load data into the node \n",
+ " Linking data from multiple sources \n",
+ " \n",
+ "\n",
+ "\n",
+ "Let's get started!"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "b8c5cd9b-1ffa-4f9e-b585-3493d897bc60",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "5f3eebeb-6139-4fcf-b7f0-cf2bd5c0d4b4",
+ "metadata": {},
+ "source": [
+ "### Here's what you'll need to install for this lesson\n",
+ "\n",
+ "In this lesson, we'll be using the new library `matplotlib`. If you haven't already, please install it using:\n",
+ "\n",
+ "`conda install matplotlib`"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "650a2141-63fa-4248-a0ec-9323e779d6fb",
+ "metadata": {
+ "tags": []
+ },
+ "source": [
+ "## 3.1 Data Acquisition!\n",
+ "\n",
+ "Data Acquisition focuses on generating and capturing data into a system. Broadly speaking, it's made up of two phases: data harvesting , and data ingestion . The former, we'll cover in this lesson, and the latter, we'll show you over the next two lessons.\n",
+ "\n",
+ "### 3.1.1 Data Harvesting\n",
+ "\n",
+ "In this course, we're using generated or pre-gathered datasets, but in the real world data comes in many forms and contexts — we'll cover some in the next section. How do you get your own data? The phrase \"data harvesting\" might sound like a callback to movies about robotic uprisings, but the wording is truly operative! In this process we are:\n",
+ "\n",
+ "1. Identifying sources of potentially fruitful data\n",
+ "2. Building a process to gather it\n",
+ "3. Running that process\n",
+ "4. Carefully checking the outcomes\n",
+ "5. Putting the data in a shareable format\n",
+ "6. Delivering the data to intended recipient\n",
+ "\n",
+ "Thinking of the data gathering process as akin to a farmer's harvest is actually a useful framing of the relevant tasks and problems.\n",
+ "\n",
+ "- There may be better sources of data\n",
+ "- The data may be flawed or need care and pruning\n",
+ "- The data and format should align with the intended recipient's needs\n",
+ "- etc.\n",
+ "\n",
+ "The key problem here, however, is `Is this the data that we need?` No amount of harvesting improvements or fancy formatting can solve for data that doesn't suit the problem you're trying to solve in some key aspect. To help with this, let's consider some useful ways to think about data.\n",
+ "\n",
+ "### 3.1.2 The 4 V's of Data \n",
+ "\n",
+ "When it comes to thinking about data, there are usually four major things to think about, commonly referred to in the industry as the 4 V's of data. They are:\n",
+ "\n",
+ "\n",
+ " Volume refers to the quantity or amount of data in question.\n",
+ "An example of low volume: if you're collecting sensitive data about people with a rare condition.\n",
+ "An example of high volume would be most social media applications that you've heard of. For instance, Facebook has more users than China has people. And each of those people are making posts, uploading pictures, liking content — that adds up to trillions of photos that they can use for data science and machine learning. \n",
+ " \n",
+ " Velocity refers to the rate at which new data is being gathered or collected.\n",
+ "For instance, if you're a company, performance reviews might only come once a quarter.\n",
+ "But if you're YouTube, then in one day, you have over 700,000 hours of new videos added. For context, that's longer than the average human lifespan. So if a new person was born tomorrow, and they spent every moment of their life just trying to watch the YouTube videos uploaded on the day they were born, on average they wouldn't be able to get through them all. \n",
+ " \n",
+ " Variety refers to the diversity of the data that's being collected. For example, think of the difference between a dataset consisting of polls, and a dataset consisting of emails. No two emails are necessarily quite the same. They could contain quite literally, anything — text about anything, pictures of anything, attachments of any kind, etc. \n",
+ " \n",
+ "\n",
+ " Value refers to the idea that not all kinds of data are of equal value. Let's say you're collecting medical images, and some of the images were corrupted during the acquisition process, and were blurry and grainy as a result. That data isn't quite as valuable as a pristine scan. "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "5d908198-3f7f-4cb3-bea3-587026333b8e",
+ "metadata": {},
+ "source": [
+ "### 3.1.3 Hands-on\n",
+ "In our case, let's say we use data concerning the number of COVID cases per country. Let's load it and take a look at the first few rows!"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "c0a85288-4f43-4732-98b1-1b9e3bc6eae5",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Load data\n",
+ "import pandas as pd\n",
+ "raw_data = pd.read_csv(\"dataset/L3_raw_data.csv\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "03a5c8e2-642c-4686-921c-51b9ca9ab89b",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1 \n",
+ " 2 \n",
+ " 3 \n",
+ " 4 \n",
+ " 5 \n",
+ " 6 \n",
+ " 7 \n",
+ " 8 \n",
+ " 9 \n",
+ " ... \n",
+ " 165 \n",
+ " 166 \n",
+ " 167 \n",
+ " 168 \n",
+ " 169 \n",
+ " 170 \n",
+ " 171 \n",
+ " 172 \n",
+ " 173 \n",
+ " 174 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 2280 \n",
+ " 2226 \n",
+ " 6198 \n",
+ " 184 \n",
+ " 1242 \n",
+ " 688 \n",
+ " 566 \n",
+ " 568 \n",
+ " 2190 \n",
+ " 88 \n",
+ " ... \n",
+ " 1030 \n",
+ " 414 \n",
+ " 1444 \n",
+ " 802 \n",
+ " 468 \n",
+ " 1042 \n",
+ " 568 \n",
+ " 930 \n",
+ " 1044 \n",
+ " 2352 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1140 \n",
+ " 1113 \n",
+ " 3099 \n",
+ " 92 \n",
+ " 621 \n",
+ " 344 \n",
+ " 283 \n",
+ " 284 \n",
+ " 1095 \n",
+ " 44 \n",
+ " ... \n",
+ " 515 \n",
+ " 207 \n",
+ " 722 \n",
+ " 401 \n",
+ " 234 \n",
+ " 521 \n",
+ " 284 \n",
+ " 465 \n",
+ " 522 \n",
+ " 1176 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1211 \n",
+ " 1378 \n",
+ " 2821 \n",
+ " 113 \n",
+ " 575 \n",
+ " 319 \n",
+ " 267 \n",
+ " 295 \n",
+ " 1167 \n",
+ " 52 \n",
+ " ... \n",
+ " 577 \n",
+ " 231 \n",
+ " 655 \n",
+ " 449 \n",
+ " 224 \n",
+ " 600 \n",
+ " 224 \n",
+ " 577 \n",
+ " 492 \n",
+ " 1258 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1238 \n",
+ " 1587 \n",
+ " 2356 \n",
+ " 107 \n",
+ " 520 \n",
+ " 265 \n",
+ " 296 \n",
+ " 316 \n",
+ " 1186 \n",
+ " 42 \n",
+ " ... \n",
+ " 473 \n",
+ " 209 \n",
+ " 620 \n",
+ " 473 \n",
+ " 231 \n",
+ " 607 \n",
+ " 275 \n",
+ " 407 \n",
+ " 421 \n",
+ " 1109 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1093 \n",
+ " 2075 \n",
+ " 2964 \n",
+ " 117 \n",
+ " 578 \n",
+ " 371 \n",
+ " 359 \n",
+ " 349 \n",
+ " 1151 \n",
+ " 48 \n",
+ " ... \n",
+ " 550 \n",
+ " 227 \n",
+ " 648 \n",
+ " 447 \n",
+ " 232 \n",
+ " 563 \n",
+ " 188 \n",
+ " 338 \n",
+ " 432 \n",
+ " 1148 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 175 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " 0 1 2 3 4 5 6 7 8 9 ... 165 166 167 \\\n",
+ "0 2280 2226 6198 184 1242 688 566 568 2190 88 ... 1030 414 1444 \n",
+ "1 1140 1113 3099 92 621 344 283 284 1095 44 ... 515 207 722 \n",
+ "2 1211 1378 2821 113 575 319 267 295 1167 52 ... 577 231 655 \n",
+ "3 1238 1587 2356 107 520 265 296 316 1186 42 ... 473 209 620 \n",
+ "4 1093 2075 2964 117 578 371 359 349 1151 48 ... 550 227 648 \n",
+ "\n",
+ " 168 169 170 171 172 173 174 \n",
+ "0 802 468 1042 568 930 1044 2352 \n",
+ "1 401 234 521 284 465 522 1176 \n",
+ "2 449 224 600 224 577 492 1258 \n",
+ "3 473 231 607 275 407 421 1109 \n",
+ "4 447 232 563 188 338 432 1148 \n",
+ "\n",
+ "[5 rows x 175 columns]"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "raw_data.head()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "8ee93c43-ee4f-4848-ba08-4a31b7366805",
+ "metadata": {},
+ "source": [
+ "In this dataset, each column corresponds to a country , each row corresponds to a new month where data was collected, and each value in this DataFrame corresponds to the number of COVID19 cases in the country at the start of that month. \n",
+ "\n",
+ "So for instance, Country 0 had 2280 COVID cases at the start of when this data was collected (row 0), and only 451 when the data was last collected (row 53)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "58d63f95-0b88-428d-94a9-58bb588aea0d",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(2280, 451)"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "raw_data[\"0\"][0], raw_data[\"0\"][53]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "7c3080f0-973d-4437-a133-21193e315bc3",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "f4727484-454a-4a96-b9e1-a806997137a4",
+ "metadata": {},
+ "source": [
+ "## 3.2 Quality Check\n",
+ "Checking the quality of a dataset can involve finding missing values, identifying outliers and anomalies (using methods such as an [Isolation Forest](https://scikit-learn.org/stable/auto_examples/ensemble/plot_isolation_forest.html) or [k-Nearest Neighbours](https://scikit-learn.org/stable/auto_examples/neighbors/plot_classification.html#sphx-glr-auto-examples-neighbors-plot-classification-py)) or visualizing the dataset. \n",
+ "It might also involve using external information that we know — for instance, about the sources or about how the data was collected.\n",
+ "\n",
+ "Let's walk through an example using the dataset again:\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "0001c907-e0c5-4a3c-b4ab-c7562e06c638",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1 \n",
+ " 2 \n",
+ " 3 \n",
+ " 4 \n",
+ " 5 \n",
+ " 6 \n",
+ " 7 \n",
+ " 8 \n",
+ " 9 \n",
+ " ... \n",
+ " 165 \n",
+ " 166 \n",
+ " 167 \n",
+ " 168 \n",
+ " 169 \n",
+ " 170 \n",
+ " 171 \n",
+ " 172 \n",
+ " 173 \n",
+ " 174 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 2280 \n",
+ " 2226 \n",
+ " 6198 \n",
+ " 184 \n",
+ " 1242 \n",
+ " 688 \n",
+ " 566 \n",
+ " 568 \n",
+ " 2190 \n",
+ " 88 \n",
+ " ... \n",
+ " 1030 \n",
+ " 414 \n",
+ " 1444 \n",
+ " 802 \n",
+ " 468 \n",
+ " 1042 \n",
+ " 568 \n",
+ " 930 \n",
+ " 1044 \n",
+ " 2352 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1140 \n",
+ " 1113 \n",
+ " 3099 \n",
+ " 92 \n",
+ " 621 \n",
+ " 344 \n",
+ " 283 \n",
+ " 284 \n",
+ " 1095 \n",
+ " 44 \n",
+ " ... \n",
+ " 515 \n",
+ " 207 \n",
+ " 722 \n",
+ " 401 \n",
+ " 234 \n",
+ " 521 \n",
+ " 284 \n",
+ " 465 \n",
+ " 522 \n",
+ " 1176 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1211 \n",
+ " 1378 \n",
+ " 2821 \n",
+ " 113 \n",
+ " 575 \n",
+ " 319 \n",
+ " 267 \n",
+ " 295 \n",
+ " 1167 \n",
+ " 52 \n",
+ " ... \n",
+ " 577 \n",
+ " 231 \n",
+ " 655 \n",
+ " 449 \n",
+ " 224 \n",
+ " 600 \n",
+ " 224 \n",
+ " 577 \n",
+ " 492 \n",
+ " 1258 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1238 \n",
+ " 1587 \n",
+ " 2356 \n",
+ " 107 \n",
+ " 520 \n",
+ " 265 \n",
+ " 296 \n",
+ " 316 \n",
+ " 1186 \n",
+ " 42 \n",
+ " ... \n",
+ " 473 \n",
+ " 209 \n",
+ " 620 \n",
+ " 473 \n",
+ " 231 \n",
+ " 607 \n",
+ " 275 \n",
+ " 407 \n",
+ " 421 \n",
+ " 1109 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1093 \n",
+ " 2075 \n",
+ " 2964 \n",
+ " 117 \n",
+ " 578 \n",
+ " 371 \n",
+ " 359 \n",
+ " 349 \n",
+ " 1151 \n",
+ " 48 \n",
+ " ... \n",
+ " 550 \n",
+ " 227 \n",
+ " 648 \n",
+ " 447 \n",
+ " 232 \n",
+ " 563 \n",
+ " 188 \n",
+ " 338 \n",
+ " 432 \n",
+ " 1148 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 175 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " 0 1 2 3 4 5 6 7 8 9 ... 165 166 167 \\\n",
+ "0 2280 2226 6198 184 1242 688 566 568 2190 88 ... 1030 414 1444 \n",
+ "1 1140 1113 3099 92 621 344 283 284 1095 44 ... 515 207 722 \n",
+ "2 1211 1378 2821 113 575 319 267 295 1167 52 ... 577 231 655 \n",
+ "3 1238 1587 2356 107 520 265 296 316 1186 42 ... 473 209 620 \n",
+ "4 1093 2075 2964 117 578 371 359 349 1151 48 ... 550 227 648 \n",
+ "\n",
+ " 168 169 170 171 172 173 174 \n",
+ "0 802 468 1042 568 930 1044 2352 \n",
+ "1 401 234 521 284 465 522 1176 \n",
+ "2 449 224 600 224 577 492 1258 \n",
+ "3 473 231 607 275 407 421 1109 \n",
+ "4 447 232 563 188 338 432 1148 \n",
+ "\n",
+ "[5 rows x 175 columns]"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "raw_data.head()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "8913dbd4-dfa6-40e7-acf2-2285d401d79d",
+ "metadata": {},
+ "source": [
+ "Now let's say, for instance, that when we were given the dataset, we were told that a lot of immigration and emmigration happened in the first month of this dataset, and as such a lot of double counting of COVID19 cases happened, and the global numbers of COVID19 were reported as twice of what they really were.\n",
+ "\n",
+ "We could try to naively tackle this by just dividing the data from the first month by half. Let's try it out and see what happens!"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "id": "31f5b683-61cc-4390-b8bb-ed6e0dfae50b",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Divide the data from the first month by half\n",
+ "raw_data.iloc[0] /= 2"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "72f5b5ee-a7a6-40b1-a875-72e344e2cab2",
+ "metadata": {},
+ "source": [
+ "Now let's try to visualize the dataset and see if anything suspicious looking appears:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "id": "5abf254c-7063-4d37-8b44-88964fa05d33",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1 \n",
+ " 2 \n",
+ " 3 \n",
+ " 4 \n",
+ " 5 \n",
+ " 6 \n",
+ " 7 \n",
+ " 8 \n",
+ " 9 \n",
+ " ... \n",
+ " 165 \n",
+ " 166 \n",
+ " 167 \n",
+ " 168 \n",
+ " 169 \n",
+ " 170 \n",
+ " 171 \n",
+ " 172 \n",
+ " 173 \n",
+ " 174 \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 1140 \n",
+ " 1113 \n",
+ " 3099 \n",
+ " 92 \n",
+ " 621 \n",
+ " 344 \n",
+ " 283 \n",
+ " 284 \n",
+ " 1095 \n",
+ " 44 \n",
+ " ... \n",
+ " 515 \n",
+ " 207 \n",
+ " 722 \n",
+ " 401 \n",
+ " 234 \n",
+ " 521 \n",
+ " 284 \n",
+ " 465 \n",
+ " 522 \n",
+ " 1176 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 1140 \n",
+ " 1113 \n",
+ " 3099 \n",
+ " 92 \n",
+ " 621 \n",
+ " 344 \n",
+ " 283 \n",
+ " 284 \n",
+ " 1095 \n",
+ " 44 \n",
+ " ... \n",
+ " 515 \n",
+ " 207 \n",
+ " 722 \n",
+ " 401 \n",
+ " 234 \n",
+ " 521 \n",
+ " 284 \n",
+ " 465 \n",
+ " 522 \n",
+ " 1176 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 1211 \n",
+ " 1378 \n",
+ " 2821 \n",
+ " 113 \n",
+ " 575 \n",
+ " 319 \n",
+ " 267 \n",
+ " 295 \n",
+ " 1167 \n",
+ " 52 \n",
+ " ... \n",
+ " 577 \n",
+ " 231 \n",
+ " 655 \n",
+ " 449 \n",
+ " 224 \n",
+ " 600 \n",
+ " 224 \n",
+ " 577 \n",
+ " 492 \n",
+ " 1258 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1238 \n",
+ " 1587 \n",
+ " 2356 \n",
+ " 107 \n",
+ " 520 \n",
+ " 265 \n",
+ " 296 \n",
+ " 316 \n",
+ " 1186 \n",
+ " 42 \n",
+ " ... \n",
+ " 473 \n",
+ " 209 \n",
+ " 620 \n",
+ " 473 \n",
+ " 231 \n",
+ " 607 \n",
+ " 275 \n",
+ " 407 \n",
+ " 421 \n",
+ " 1109 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1093 \n",
+ " 2075 \n",
+ " 2964 \n",
+ " 117 \n",
+ " 578 \n",
+ " 371 \n",
+ " 359 \n",
+ " 349 \n",
+ " 1151 \n",
+ " 48 \n",
+ " ... \n",
+ " 550 \n",
+ " 227 \n",
+ " 648 \n",
+ " 447 \n",
+ " 232 \n",
+ " 563 \n",
+ " 188 \n",
+ " 338 \n",
+ " 432 \n",
+ " 1148 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
5 rows × 175 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " 0 1 2 3 4 5 6 7 8 9 ... 165 166 167 \\\n",
+ "0 1140 1113 3099 92 621 344 283 284 1095 44 ... 515 207 722 \n",
+ "1 1140 1113 3099 92 621 344 283 284 1095 44 ... 515 207 722 \n",
+ "2 1211 1378 2821 113 575 319 267 295 1167 52 ... 577 231 655 \n",
+ "3 1238 1587 2356 107 520 265 296 316 1186 42 ... 473 209 620 \n",
+ "4 1093 2075 2964 117 578 371 359 349 1151 48 ... 550 227 648 \n",
+ "\n",
+ " 168 169 170 171 172 173 174 \n",
+ "0 401 234 521 284 465 522 1176 \n",
+ "1 401 234 521 284 465 522 1176 \n",
+ "2 449 224 600 224 577 492 1258 \n",
+ "3 473 231 607 275 407 421 1109 \n",
+ "4 447 232 563 188 338 432 1148 \n",
+ "\n",
+ "[5 rows x 175 columns]"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# See the resultant data\n",
+ "raw_data.head()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "36db95d0-22a3-4a20-9593-f904bf7fcfca",
+ "metadata": {},
+ "source": [
+ "Well that's odd — the data from the first month and second month appear to be exactly the same. If this happened to just one or two countries, that might be plausible, but for every country? That seems unlikely.\n",
+ "\n",
+ "There likely was an error when transferring this data, and a duplication error occurred. We can fix this by simply removing the first month from our dataset, and starting our analysis from the second month (row 1 in the table above), and onwards."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "id": "d33b2214-8fe5-4787-8d56-5c5aa29acf54",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Remove duplicated row\n",
+ "raw_data.drop([0], inplace=True)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "8326c068-5e4a-40cf-ba7b-3e707469a1a3",
+ "metadata": {},
+ "source": [
+ "At this point, we might decide to visualize our dataset and see if there are any obvious outliers or anomalies. Let's look at the first country!"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "id": "ddd7fef2-7ca3-440c-8bbd-6e17690f0db7",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import matplotlib.pyplot as plt"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "id": "d31e7c01-7a4b-428c-8a5b-78a344bb9366",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "[]"
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plt.plot(raw_data[\"24\"], \"r-*\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "id": "ed96e05f-68c7-4390-8571-6c481fe5818f",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "53"
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "raw_data[\"0\"].shape[0]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "id": "bb0378da-80cd-43e4-bb0e-1778b132785e",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import numpy as np\n",
+ "def plot_extrapolated_country(idx):\n",
+ " x = list(range(53))\n",
+ " y = raw_data[str(idx)]\n",
+ " \n",
+ " plt.plot(y)\n",
+ " \n",
+ " for x1, y1 in zip(x, y):\n",
+ " plt.plot(x1, y1) #, 'ro')\n",
+ "\n",
+ " z = np.polyfit(x, y, 2)\n",
+ " f = np.poly1d(z)\n",
+ "\n",
+ " new_points = range(12)\n",
+ " for x2 in new_points:\n",
+ " plt.plot(55 + x2, f(55 + x2), 'bo')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "id": "f252c345-c5e2-4f00-83c1-5f24f5992656",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plot_extrapolated_country(129)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "id": "9c67efe9-764f-4ce0-9c71-a5519e949885",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "129"
+ ]
+ },
+ "execution_count": 13,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "thingies = []\n",
+ "for i in range(raw_data.shape[-1]):\n",
+ " x = range(53)\n",
+ " y = raw_data[str(i)]\n",
+ " slope, intercept = np.polyfit(x, y, 1)\n",
+ " thingies.append(slope) #raw_data.T[i, -1] - raw_data.T[i, 0])\n",
+ " \n",
+ "thingies.index(max(thingies))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "id": "0fdaf6f8-d371-43fe-a064-f5a7a14073a0",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "pd.DataFrame(raw_data).plot(legend=False)\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "c34d0da1-0e3e-4aaf-b26a-744e9a5c9dac",
+ "metadata": {},
+ "source": [
+ "This seems alright, and doesn't seem to have any clear outliers or anomalies. We could do this for other countries, and maybe even employ other visualization methods such as clustering or PCA, depending on the type of data we're working with."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "70939805-bc5c-40d6-8fd1-183680c81db2",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "0584e48f-0ed6-4e0a-a0a6-465bf1383c91",
+ "metadata": {},
+ "source": [
+ "## 3.3. Data Annotation\n",
+ "\n",
+ "In many cases, it's not just data that we need. It's annotated, or in other words, labelled data. For example, let's say I wanted to train a Neural Network to classify images of lungs based on whether or not the person had a healthy lung. Having the images alone wouldn't be enough; I'd also need a way of knowing which image corresponded to a healthy lung, and which ones don't.\n",
+ "\n",
+ "There are other kinds of annotation as well, such as semantic segmentation, bounding boxes, landmark and keypoint, and others. We won't go into too much detail about these, but feel free to check out some of the external resources and references at the bottom of this notebook!\n",
+ "\n",
+ "### 3.3.1 Common annotation types\n",
+ "\n",
+ "Most often annotations (or *labels*) will take the form of:\n",
+ "1. Binary values (true or false)\n",
+ "2. Classes (discrete states of being — cat or dog or airplane)\n",
+ "3. Continuous values (population counts, dollars and cents, stock market returns)\n",
+ "\n",
+ "In the data we're using here, we've got a good example of number 3 — population counts. While it is bounded by physical realities, in theory it could be any number between -infinity and +infinity. A machine learning model would need to be able to predict anything in that range.\n",
+ "\n",
+ "Binary values and classes are considerably more constrained — while some multi-class problems have thousands (or millions!) of classes, they are all discrete and map to defined states.\n",
+ "\n",
+ "### 3.3.2 Creating annotations\n",
+ "\n",
+ "The process of labelling can be very simple, or very complex, depending on the nature of the annotations. For example, the annotations mentioned at the top of this section — healthy or unhealthy lungs — would most likely need to be:\n",
+ "\n",
+ "1. Diagnosed by a radiologist (or several radiologists)\n",
+ "2. Recorded (and adjudicated when several radiologists were involved)\n",
+ "3. Checked for accuracy\n",
+ "\n",
+ "More complex annotations (like identifying features of an unhealthy lung) would require bounding boxes or segmentations to be drawn as well, which would need to go through the same process.\n",
+ "\n",
+ "On the other hand, dog vs. cat labels might be applied very quickly, using an automated system or by having humans hand-label them."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "42c468b9-885a-4979-96bc-2ea120784426",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "261de034-408c-43e9-b55a-61ad66e55869",
+ "metadata": {},
+ "source": [
+ "## 3.4. Data and PyGrid\n",
+ "\n",
+ "As mentioned earlier in the course, PyGrid is the library we've made that lets you deploy nodes and conduct remote data science. Currently, we primarily support data in the form of NumPy arrays; however, we plan to expand this further. Additionally, many common data science formats are easily convertible to NumPy arrays, such as Pandas DataFrames, Tensorflow or PyTorch tensors, etc."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "id": "ddeb8d90-2dac-4637-a938-485d1548f94e",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "raw_data is of type: \n",
+ "raw_data is of type: \n"
+ ]
+ }
+ ],
+ "source": [
+ "# Convert a Pandas Dataframe to NumPy array\n",
+ "print(f'raw_data is of type: {type(raw_data)}')\n",
+ "raw_data = raw_data.values\n",
+ "print(f'raw_data is of type: {type(raw_data)}')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "id": "a69125e4-579e-4b1c-a2bf-d72040d58d45",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "test_data is of type: \n",
+ "test_data is of type: \n"
+ ]
+ }
+ ],
+ "source": [
+ "# Convert a PyTorch Tensor to a NumPy array\n",
+ "import torch\n",
+ "test_data = torch.Tensor([1, 2, 3, 4, 5])\n",
+ "print(f'test_data is of type: {type(test_data)}')\n",
+ "test_data = test_data.numpy()\n",
+ "print(f'test_data is of type: {type(test_data)}')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "5b06fe90-62bf-46bc-b99b-96710b497d5d",
+ "metadata": {},
+ "source": [
+ "Additionally, to make use of Differential Privacy, the current version of PySyft (0.6.0) supports NumPy arrays having the np.int32 datatype. You can initialize a NumPy array to have this datatype as shown below: "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "id": "90c1d0f3-e33b-4985-a9ac-0d0626a18792",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import numpy as np\n",
+ "some_data = np.ndarray([1, 0, 1, 0, 1, 0], dtype=np.int32)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "ab723c0a-d880-41ee-827c-8899b526d39d",
+ "metadata": {},
+ "source": [
+ "You can also convert other NumPy arrays to the np.int32 datatype using the astype() method, as shown below:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "id": "805c2b1a-8a1f-47c3-8de2-4fafab86a2ef",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "random_data is of dtype: float64\n",
+ "random_data is now of type: int32\n"
+ ]
+ }
+ ],
+ "source": [
+ "random_data = np.random.random((5, 5)) * 10\n",
+ "print(f'random_data is of dtype: {random_data.dtype}')\n",
+ "random_data = random_data.astype(np.int32)\n",
+ "print(f'random_data is now of type: {random_data.dtype}')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "96026f42-62d8-4a55-8a7f-2a8ed830371c",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "6568aaca-1d32-4ef7-8550-a16e4d48fcd0",
+ "metadata": {},
+ "source": [
+ "## 3.5. Differential Privacy & Datasets\n",
+ "\n",
+ "### 3.5.1. A Primer on Differential Privacy\n",
+ "\n",
+ "You were introduced to the idea(s) behind Differential Privacy (DP) in Lesson 1. Feel free to go back to the video if you need a refresher!\n",
+ "\n",
+ "### 3.5.2. DP Metadata needed for PyGrid\n",
+ "\n",
+ "We've made it pretty simple to use PyGrid for Data Owners who want their data to be protected with DP; you only need to add 3 simple pieces of metadata:\n",
+ "* min_val\n",
+ "* max_val\n",
+ "* entitities\n",
+ "\n",
+ "min_val and max_val correspond to the lowest and highest values found in the dataset. Ideally, they'd be data independent; so for instance, if you had regular .png images, the min_val could be 0 and the max_val could be 255, since a pixel value in that format can't go higher than that. If your dataset consisted of ages of various people, the min_val might be 0 years old, and the max_val might be 120 years old (the highest age any human being has ever reached).\n",
+ "\n",
+ "The tighter these bounds are, the more accurate and less privacy budget will be lost when a data scientist performs a computation with the data.\n",
+ "\n",
+ "On the other hand, entities corresponds to the Data Subjects; i.e. the people whose data is in the dataset, whose privacy we're protecting using Differential Privacy.\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ " \n",
+ " \n",
+ "\n",
+ "### 3.5.3 Understanding Why\n",
+ "\n",
+ "\n",
+ " Let's pause for a moment. \n",
+ "Why do we have to specify min and max values? Why exactly is this necessary? Let's try to understand with two contrasting examples:\n",
+ "\n",
+ "\n",
+ "\n",
+ "Let's say dataset A was a series of populations of various countries, such as [7,000,000, 10,000,000, 200,000, etc]. Because we're working with such large numbers (often in the millions and occassionally in the billions), it stands to reason that if we want to protect anonymity using differential privacy, we'd have to add a proportionate amount of noise. Adding a noise value of 5 to a result of 10,000,000 wouldn't really offer much in the way of privacy protection; we'd have to add noise values that's on the order of tens or maybe even hundreds of thousands to offer meaningful protection. \n",
+ "\n",
+ "\n",
+ "Now let's say dataset B was a series of probabilities. For instance, let's say it was an array where every index corresponded to the probability that a person had a given disease. Something like: [0.0, 0.1, 0.9, 0.3, 0.4], which means the person has a 0% probability of having disease 1, a 0.1 probability (or 10% chance) of having disease 2, and so forth. \n",
+ " \n",
+ "\n",
+ "\n",
+ "If we're going to add noise to dataset A to obscure the results of querying it, we'd have to adjust the magnitude of noise being added proportionally. If we added a value of 10,000 to our probability values, the results would immediately become meaningless. In this case, we might see the magnitude of noise needed to be added to be on the order of 0.1 or 0.01. \n",
+ "\n",
+ "\n",
+ "\n",
+ "This is (one of) the reasons why annotating minimum and maximum values in differential privacy is so important — it increases the accuracy of your computations, and still allows you to get meaningful results while still protecting privacy. \n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ " \n",
+ " \n",
+ "\n",
+ "### 3.5.4 Annotation with PySyft\n",
+ "\n",
+ "Let's go back to our COVID dataset that we were preparing.\n",
+ "\n",
+ "Now, the actual process of annotating data with DP Metadata is pretty straight forward. We start by importing the PySyft library, and then by calling .private() to the end of your Syft Tensor, as shown below:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "id": "7c765d97-e091-4351-a0d4-420fb1121c32",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import syft as sy\n",
+ "\n",
+ "# select all of Country 0's data\n",
+ "country0_data = raw_data[0, :]\n",
+ "\n",
+ "# Specify it to be a np.int32 dtype\n",
+ "country0_data = country0_data.astype(np.int32)\n",
+ "\n",
+ "# Create an Entity or Data Subject corresponding to country1\n",
+ "from syft.core.adp.entity import Entity\n",
+ "country0 = Entity(name=\"Country 0\")\n",
+ "\n",
+ "# Create a Syft tensor\n",
+ "data = sy.Tensor(country0_data)\n",
+ "\n",
+ "# Add DP metadata\n",
+ "data = data.private(min_val=0, max_val=150000, entities=country0)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "db66daad-d51b-43cf-bf31-b8687aa31cb9",
+ "metadata": {},
+ "source": [
+ "Now that we're familiar with how to do this, let's repeat this process for all the Countries in our dataset."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "id": "0f741fe4-5adf-4406-8727-18af72477dbe",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "dataset = dict()\n",
+ "entities = []\n",
+ "for i in range(raw_data.shape[-1]):\n",
+ " country_name = f\"Country {i}\"\n",
+ " \n",
+ " # Create a new Entity correspoinding to the country and add it to the list\n",
+ " new_entity = Entity(name=country_name)\n",
+ " entities.append(new_entity)\n",
+ " \n",
+ " # Add it to the Dataset Dictionary\n",
+ " dataset[country_name] = sy.Tensor(raw_data[:, i].astype(np.int32)).private(min_val=0, max_val=150000, entities=new_entity)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "61e913e3-0831-42bf-8017-0d94de7c9ece",
+ "metadata": {},
+ "source": [
+ "### 3.5.3. Loading the data to PyGrid!\n",
+ "\n",
+ "Once the appropriate data, metadata, and labels are prepared, uploading the data to your domain node is as simple as running a simple command:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "id": "c3d7642b-00f2-486a-80d8-9fee4a41bdae",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "WARNING: CHANGE YOUR USERNAME AND PASSWORD!!! \n",
+ "\n",
+ "Anyone can login as an admin to your node right now because your password is still the default PySyft username and password!!!\n",
+ "\n",
+ "Connecting to http://localhost:8081... done! \t Logging into adp... done!\n",
+ "Loading dataset... uploading... SUCCESS! \n",
+ "\n",
+ "Run .datasets to see your new dataset loaded into your machine!\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Login to Domain Node\n",
+ "domain_node = sy.login(email=\"info@openmined.org\", password=\"changethis\", port=8081)\n",
+ "\n",
+ "# Upload the dataset!\n",
+ "domain_node.load_dataset(\n",
+ " assets=dataset, \n",
+ " name=\"COVID19 Cases in 175 countries\", \n",
+ " description=\"Weekly data for an entire year\", \n",
+ " metadata=\"Any metadata you'd like to include goes here\"\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "58e6b255-8490-412f-9a87-e6fefd6d56d8",
+ "metadata": {},
+ "source": [
+ "Notes:\n",
+ "* PyGrid will raise a warning if the data you've uploaded isn't compatible with the Differential Privacy framework we've made."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "id": "a397bf1c-c32e-4dbd-a53d-d5464b37c412",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ " \n",
+ " \n",
+ " \n",
+ "\n",
+ " \n",
+ " [0] \n",
+ " COVID19 Cases in 175 countries \n",
+ " Weekly data for an entire year \n",
+ " [\"Country 0\"] -> Tensor [\"Country 1\"] -> Tensor [\"Country 2\"] -> Tensor ... \n",
+ " 21223f33-aab6-4455-8198-19bc80c3e914 \n",
+ " \n",
+ "
\n",
+ "\n",
+ " "
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 22,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "domain_node.datasets"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "id": "e0a56393-dd5c-4c84-8258-cbbe3d04a648",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Dataset: COVID19 Cases in 175 countries\n",
+ "Description: Weekly data for an entire year\n",
+ "\n",
+ "WARNING: Too many assets to print... truncating... You may run \n",
+ "\n",
+ " assets = my_dataset.assets \n",
+ "\n",
+ "to view receive a dictionary you can parse through using Python\n",
+ "(as opposed to blowing up your notebook with a massive printed table).\n",
+ "\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ " \n",
+ " \n",
+ " \n",
+ "\n",
+ " \n",
+ " [\"Country 0\"] \n",
+ " Tensor \n",
+ " (53,) \n",
+ " \n",
+ "\n",
+ " \n",
+ " [\"Country 1\"] \n",
+ " Tensor \n",
+ " (53,) \n",
+ " \n",
+ "\n",
+ " \n",
+ " [\"Country 2\"] \n",
+ " Tensor \n",
+ " (53,) \n",
+ " \n",
+ "\n",
+ " \n",
+ " [\"Country 3\"] \n",
+ " Tensor \n",
+ " (53,) \n",
+ " \n",
+ "\n",
+ " \n",
+ " [\"Country 4\"] \n",
+ " Tensor \n",
+ " (53,) \n",
+ " \n",
+ "\n",
+ " \n",
+ " [\"Country 5\"] \n",
+ " Tensor \n",
+ " (53,) \n",
+ " \n",
+ "\n",
+ " \n",
+ " [\"Country 6\"] \n",
+ " Tensor \n",
+ " (53,) \n",
+ " \n",
+ "\n",
+ " \n",
+ " [\"Country 7\"] \n",
+ " Tensor \n",
+ " (53,) \n",
+ " \n",
+ "\n",
+ " \n",
+ " [\"Country 8\"] \n",
+ " Tensor \n",
+ " (53,) \n",
+ " \n",
+ "\n",
+ " \n",
+ " [\"Country 9\"] \n",
+ " Tensor \n",
+ " (53,) \n",
+ " \n",
+ "\n",
+ " \n",
+ " [\"Country 10\"] \n",
+ " Tensor \n",
+ " (53,) \n",
+ " \n",
+ "\n",
+ " \n",
+ " [\"Country 11\"] \n",
+ " Tensor \n",
+ " (53,) \n",
+ " \n",
+ "\n",
+ " \n",
+ " [\"Country 12\"] \n",
+ " Tensor \n",
+ " (53,) \n",
+ " \n",
+ "\n",
+ " \n",
+ " [\"Country 13\"] \n",
+ " Tensor \n",
+ " (53,) \n",
+ " \n",
+ "\n",
+ " \n",
+ " [\"Country 14\"] \n",
+ " Tensor \n",
+ " (53,) \n",
+ " \n",
+ "
\n",
+ "\n",
+ " "
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 23,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "domain_node.datasets[0]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "075926db-d98b-47a7-918d-e5e63e4c17d5",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "7b0cc7fd-e3a4-4939-97b7-54576f80bc75",
+ "metadata": {},
+ "source": [
+ "## 3.6. Linking Data From Multiple Sources\n",
+ "\n",
+ "In this course, we'll be using the PySyft and PyGrid frameworks to link data from multiple sources (called nodes). This is both really cool and very useful because it lets us perform data science and machine learning on private data on someone else's machine or server, without compromising the privacy of anyone in the dataset.\n",
+ "\n",
+ "\n",
+ "In remote data science, because there's a high likelihood that all of our data is not coming from the same source, proper data annotation and cleaning becomes particularly important. This is an important distinction, because:\n",
+ "* Different sources may generate data at different rates; some sources stream data whereas others produce data in batches (i.e. in a periodic manner, or at a certain time interval)\n",
+ "* Different sources may also have different measuring capabilities, and this might affect the reliability of a dataset. \n",
+ "* Different nodes may have different privacy budgets alloted to their respective datasets, which means some datasets may be seen and used much less than others.\n",
+ "\n",
+ " DID YOU KNOW? A historical example of data sources having different measuring capabilities were the Geiger counters used in Chernobyl. Immediately after the Chernobyl nuclear accident, many people at the time weren't too concerned because measurements from their Geiger counters showed a measurement of 3.6 Roentgen/hour — the equivalent measurement of 10 X-rays. However, it was later discovered that the Geiger counters in use had a maximum detection limit and sensitivity which meant they couldn't detect or measure radiation amounts higher than 3.6 Roentgen per hour. \n",
+ " \n",
+ "When new, higher range Geiger counters were used, it was quickly (and shockingly) realized that the radiation being leaked wasn't 3.6 R/h, but around 5.6 R per SECOND. This was the equivalent of 2 Hiroshima nuclear bombs worth of radiation being released per hour.
\n",
+ "\n",
+ "Although this is an extreme example, it shows the importance of proper data acquisition and annotating data. Had the authorities known the differences of their data sources at the time, they might have intervened and helped out sooner, and could have saved countless more lives."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "c989f9aa-9d92-4acd-b408-cec78d3353bb",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "c9712504-7093-4645-b20b-b94185d4e1e0",
+ "metadata": {},
+ "source": [
+ "## Additional Resources and References\n",
+ "\n",
+ " Lyko K., Nitzschke M., Ngonga Ngomo AC. (2016) Big Data Acquisition. In: Cavanillas J., Curry E., Wahlster W. (eds) New Horizons for a Data-Driven Economy. Springer, Cham. https://doi.org/10.1007/978-3-319-21569-3_4 \n",
+ " Implementing a Smart Data Platform, O'Reilly Media 2017 \n",
+ " Python Data Cleaning, O'Reilly Media 2020 \n",
+ " Examples of Image Annotation Types \n",
+ " Good description of annotations / labels \n",
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "c4500071-50fb-494c-b2d0-8e9ba6a18877",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "4693b37c-6e72-46d3-9f84-e0e1c565a20c",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.7"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/L4_Deployment_Tricks.ipynb b/L4_Deployment_Tricks.ipynb
new file mode 100644
index 0000000..0edb04d
--- /dev/null
+++ b/L4_Deployment_Tricks.ipynb
@@ -0,0 +1,284 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "9f307d83-f207-40a4-9d66-6ee8fd6b6c00",
+ "metadata": {
+ "tags": []
+ },
+ "source": [
+ "# Lesson 4: Node Deployment Tips & Tricks!\n",
+ "\n",
+ "Instructors : Ishan Mishra, Phil Culliton\n",
+ " \n",
+ "Special Thanks to : Madhava Jay\n",
+ "\n",
+ "Our stack is constantly evolving and getting better and more user-friendly. For the current release version of PyGrid and HAGrid, here are a few tips and tricks I've found useful on a Linux/OS X/WSL environment when it comes to working with this infrastructure.\n",
+ "\n",
+ "If you come up with any useful tricks of your own, please do share them with us and the community!"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "715eee4b-fa7f-4484-ab71-b092835dcb11",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "cd624d42-0392-447a-9de4-2f3822af2446",
+ "metadata": {},
+ "source": [
+ "## Aliases\n",
+ "Here are some bash aliases I use for varous purposes, such as in order to ease the process of launching my local domain node."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "de4e0e91-01dc-48a9-96b4-b2c4d1c6c028",
+ "metadata": {},
+ "source": [
+ "```\n",
+ "# Activates the venv, and navigates to the Syft directory\n",
+ "alias syft=\"conda activate && cd \n",
+ "```"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "5f59b557-5853-4fe8-a951-7c90bde50379",
+ "metadata": {},
+ "source": [
+ "```\n",
+ "# Launches the local domain node with one word\n",
+ "alias launch=\"hagrid launch domain to docker:8081+ --tail=True\"\n",
+ "```"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "f2f6bdc8-f1cb-4b75-a97d-d3277c40d77a",
+ "metadata": {},
+ "source": [
+ "```\n",
+ "# Shuts down all local domain nodes\n",
+ "alias land=\"hagrid land all\"\n",
+ "```"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "d782924b-3deb-4002-8a02-1cc75ef0336c",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "50fc4c9a-eb7c-490c-98f1-edd19b91f8db",
+ "metadata": {},
+ "source": [
+ "# Clearing Up Space\n",
+ "Docker has a reputation for taking up a suprisingly large amount of space as its containers are running. Here are a few ways I've found to mitigate those effects. "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "7ff124a8-75c0-4a0e-be47-091f4d19883e",
+ "metadata": {},
+ "source": [
+ "```\n",
+ "# This cleans up after docker\n",
+ "# WARNING: will delete all currently unused or inactive containers, networks, volumes, etc - this will result in losing any data you uploaded to #Domain Nodes that aren't currently running\n",
+ "\n",
+ "hard_reset() {\n",
+ " echo \"Pruning Network\"\n",
+ " docker network prune -f\n",
+ " echo \"Pruning Volume\"\n",
+ " docker volume prune -f\n",
+ " echo \"Pruning System\"\n",
+ " docker system prune -f\n",
+ " echo \"Pruning Containers\"\n",
+ " docker container prune -f\n",
+ "}\n",
+ "\n",
+ "# This will delete active or unused containers, networks, but won't delete any data you've uploaded or stored.\n",
+ "\n",
+ "cleanup() {\n",
+ " echo \"Pruning Network\"\n",
+ " docker network prune -f\n",
+ " echo \"Pruning System\"\n",
+ " docker system prune -f\n",
+ " echo \"Pruning Containers\"\n",
+ " docker container prune -f\n",
+ "}\n",
+ "\n",
+ "\n",
+ "```"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "c530773e-0973-455d-8884-b6a83147ed6c",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "dba2e61a-dc86-4dba-9e44-fb2555c11227",
+ "metadata": {},
+ "source": [
+ "# Testing and debugging\n",
+ "Here are some commands that will make it easier to work with Docker containers, while testing, debugging, or for other purposes. "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "fb5c3696-ce57-4874-abb2-2a0f3dcb7add",
+ "metadata": {},
+ "source": [
+ "#### ctop \n",
+ "ctop is a handy tool that lets you quickly monitor and manage all your containers (both active and inactive):"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "e7ad64d8-83da-496c-86e6-0bcb32006762",
+ "metadata": {},
+ "source": [
+ "```\n",
+ "# To install on Ubuntu, simply\n",
+ "sudo apt install ctop\n",
+ "\n",
+ "# To install on MacOS, simply\n",
+ "brew install ctop\n",
+ "\n",
+ "# An alternative version of this package can be obtained from:\n",
+ "https://github.com/bcicen/ctop\n",
+ "```"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "d86de22f-1b91-41b7-8f05-2070c7b815bc",
+ "metadata": {},
+ "source": [
+ "```\n",
+ "# ctop is a quick way to monitor containers\n",
+ "ctop\n",
+ "```"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "f3cde045",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "526c5add-40c9-465f-a2ba-990112a082ac",
+ "metadata": {},
+ "source": [
+ "By hovering over a container and pressing enter, you gain the ability to:\n",
+ "\n",
+ "- View: \n",
+ " - Single View (keybind 'o'): view details of that specific container, including ports, health, CPU/MEM usage, NET/IO, environment variables, and much more.\n",
+ " - Log View (keybind 'l'): View the logs of just this container. This is in contrast to launching a local domain node with --tail=True, as that method continuousy outputs all the container logs in real time.\n",
+ "- Interact: \n",
+ " - Stop (keybind 's'): Stop the container.\n",
+ " - Pause (keybind 'p'): Pause the container.\n",
+ " - Restart (keybind 'r'): Restart the container.\n",
+ " - Exec shell (keybind 'e'): This lets you run commands inside this shell. This is very handy if you want to run test files inside a container, for instance."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "ed81829b-fe69-4dd8-8848-f4da1a060e91",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "745b115e-48ee-45e0-ac93-7bbbb7bba742",
+ "metadata": {},
+ "source": [
+ "## Miscellaneous Hagrid Tricks\n",
+ "\n",
+ " Seeing the logs from Hagrid in real time: \n",
+ "``` \n",
+ "# Add the \"--tail=True\" parameter!\n",
+ "hagrid launch local_node --tail=True\n",
+ "```\n",
+ "\n",
+ " Seeing a list of commands being run in Hagrid: \n",
+ "``` \n",
+ "# Use the --cmd=True parameter!\n",
+ "hagrid launch local_node --cmd=True\n",
+ "```\n",
+ "\n",
+ " Shutting down your docker containers without losing data: \n",
+ "```\n",
+ "# This is great if the \"hagrid land\" command isn't working\n",
+ "docker rm `docker ps -aq` --force\n",
+ "```"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "d0613e05-9a03-429b-8188-0508d4c7aa54",
+ "metadata": {},
+ "source": [
+ " Resetting Domain Node Storage/Memory \n",
+ "\n",
+ " By deleting the db container, you can do a hard reset on the domain node's storage and memory."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "30b313f7-82e0-4cf5-8500-d43fdd10b8f0",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "eb4cf1af-b20a-4a3b-9a36-16e7f33edf7f",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.7"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/L4_NodeMaintenance.ipynb b/L4_NodeMaintenance.ipynb
new file mode 100644
index 0000000..b41378b
--- /dev/null
+++ b/L4_NodeMaintenance.ipynb
@@ -0,0 +1,1106 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "2658e30a-4ce1-4e3c-a631-a5bcf7b096aa",
+ "metadata": {
+ "tags": []
+ },
+ "source": [
+ "# Lesson 4: Node Management\n",
+ "\n",
+ "Instructors : Ishan Mishra, Phil Culliton\n",
+ "\n",
+ "\n",
+ "In this lesson, we'll pull back the curtain a bit and show you how to manage, maintain and customize your node. We'll be walking you through adding new users, changing priviledges, creating and responding to requests, and everything to do with network nodes!\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "0aeb1825-a452-48fa-b8b0-687dd7eef4f1",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "b655bad5-1774-4c2d-936e-a35a9719e884",
+ "metadata": {},
+ "source": [
+ "## Concept 1. Logging in! \n",
+ "\n",
+ "\n",
+ "### 1.1 Via PySyft\n",
+ "There are two ways to log into your own node, as the Data Owner. The first way is using the PySyft library:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "ac1b13ac-b456-449c-825b-7d5629d62f0d",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import syft as sy\n",
+ "import numpy as np\n",
+ "from syft.core.adp.entity import Entity"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "9e7745e9-0cc0-417a-aa51-456ceba2e67a",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "WARNING: CHANGE YOUR USERNAME AND PASSWORD!!! \n",
+ "\n",
+ "Anyone can login as an admin to your node right now because your password is still the default PySyft username and password!!!\n",
+ "\n",
+ "Connecting to http://localhost:8081... done! \t Logging into adp... done!\n"
+ ]
+ }
+ ],
+ "source": [
+ "domain_node = sy.login(email=\"info@openmined.org\", password=\"changethis\", port=8081)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "63431254-02bb-4fd1-a4df-e848d6042b58",
+ "metadata": {
+ "tags": []
+ },
+ "source": [
+ "\n",
+ "### 1.2 Via the UI\n",
+ "\n",
+ "The second way involves using the same username and password, but logging in through the UI, which is accessible at localhost:8081 \n",
+ "\n",
+ "Please note, if you launched Hagrid to a different port, please replace 8081 with the appropriate portnumber!\n",
+ "\n",
+ "![alt text](ui_images/login_screen.png \"UI Login Screen\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "1d4eaa2a-72aa-4f5b-aa45-65ea0b8d6df4",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "2cef3b59-837c-4909-82ba-a82e7af312a2",
+ "metadata": {},
+ "source": [
+ "## Concept 2. Users!\n",
+ "\n",
+ "You might not be the only person using your domain node! Let's see how you can go about checking all the users on your domain node, as well as how to add and configure new ones!"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "698d72df-b9dd-448d-ad60-fa692dc41a35",
+ "metadata": {},
+ "source": [
+ "### 2.1 Seeing all users\n",
+ "To see all the current users on a domain node, you can simply do the following once you've signed in using the PySyft library:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "950009d8-e448-46ea-8de9-67fe9352fd4c",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " added_by \n",
+ " allocated_budget \n",
+ " budget \n",
+ " budget_spent \n",
+ " created_at \n",
+ " daa_pdf \n",
+ " email \n",
+ " id \n",
+ " institution \n",
+ " name \n",
+ " role \n",
+ " verify_key \n",
+ " website \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " <syft.lib.python._SyNone object at 0x7fbb154c3... \n",
+ " 0.0 \n",
+ " 5.55 \n",
+ " 0.0 \n",
+ " 2021-11-03 02:48:47.495871 \n",
+ " <syft.lib.python._SyNone object at 0x7fbb154c3... \n",
+ " info@openmined.org \n",
+ " 1 \n",
+ " <syft.lib.python._SyNone object at 0x7fbb154c3... \n",
+ " Jane Doe \n",
+ " Owner \n",
+ " dd784cd6c0278a9cd11b69cdf4c4ca0076e661e3dd2e74... \n",
+ " <syft.lib.python._SyNone object at 0x7fbb154c3... \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# See all the users\n",
+ "domain_node.users"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "8fd5c9d6-3d25-42c8-ad43-faee2d310757",
+ "metadata": {},
+ "source": [
+ " \n",
+ "\n",
+ "Alternatively, if you logged in using the UI, you are able to see the Users by clicking the \"Users\" field.\n",
+ "\n",
+ "![alt text](ui_images/users.png)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "d162ad28-789d-43c8-b16a-6f77414216fa",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "9bc5e346-31a0-4798-9ac4-7dabc935f8cc",
+ "metadata": {},
+ "source": [
+ "### 2.2 Creating a New User!\n",
+ "\n",
+ "Creating a new user is again a really simple process. We just need to specify the following parameters when we're creating the account. Note that many of these can be changed and updated retroactively!\n",
+ "\n",
+ "Let's now try creating a user via PySyft, and validating that it worked."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "19d2b482-dcf3-4237-b426-76122c004495",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Create a new user\n",
+ "domain_node.users.create(\n",
+ " **{\n",
+ " \"name\": \"Sheldon Cooper\",\n",
+ " \"email\": \"sheldon@caltech.edu\",\n",
+ " \"password\": \"bazinga\",\n",
+ " \"budget\": 100\n",
+ " }\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "id": "505904f9-f962-4e97-879a-7539bfe37eeb",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " added_by \n",
+ " allocated_budget \n",
+ " budget \n",
+ " budget_spent \n",
+ " created_at \n",
+ " daa_pdf \n",
+ " email \n",
+ " id \n",
+ " institution \n",
+ " name \n",
+ " role \n",
+ " verify_key \n",
+ " website \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " <syft.lib.python._SyNone object at 0x7fbb154c3... \n",
+ " 0.0 \n",
+ " 5.55 \n",
+ " 0.0 \n",
+ " 2021-11-03 02:48:47.495871 \n",
+ " <syft.lib.python._SyNone object at 0x7fbb154c3... \n",
+ " info@openmined.org \n",
+ " 1 \n",
+ " <syft.lib.python._SyNone object at 0x7fbb154c3... \n",
+ " Jane Doe \n",
+ " Owner \n",
+ " dd784cd6c0278a9cd11b69cdf4c4ca0076e661e3dd2e74... \n",
+ " <syft.lib.python._SyNone object at 0x7fbb154c3... \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " Jane Doe \n",
+ " 0.0 \n",
+ " 100.00 \n",
+ " 0.0 \n",
+ " 2021-11-03 06:24:10.657167 \n",
+ " 1 \n",
+ " sheldon@caltech.edu \n",
+ " 2 \n",
+ " \n",
+ " Sheldon Cooper \n",
+ " Data Scientist \n",
+ " 2fef564b79c4fef21d1549a891d624d84e71c482af0c07... \n",
+ " \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "domain_node.users"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "ccda843e-7fc8-4708-9d30-5caf6a5960f4",
+ "metadata": {},
+ "source": [
+ "By default, this new user is a Data Scientist. However, other roles are also possible. You can see all the roles that are available by accessing the UI and clicking on \"Permissions\" in the Menu bar on the left side of the screen."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "3cc7630b-ba2d-4f7c-a09a-5fce6dcd95a0",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "03f7fd2c-0d90-40bd-a2f5-e6d3d33a505b",
+ "metadata": {},
+ "source": [
+ "### 2.3 User Permissions\n",
+ "\n",
+ "It's understandable that you might want to control how much a given user can change and tinker with your domain node. To allow for this, we've added customizable user permissions!\n",
+ "\n",
+ "As mentioned previously, these are accessible by accessing the the UI and clicking on \"Permissions\" in the Menu bar on the left side of the screen."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "9a55018a-432c-413c-bb65-737affb6d181",
+ "metadata": {},
+ "source": [
+ "![alt text](ui_images/permissions_unexpanded.png)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "83f1895c-824f-44eb-9ceb-55eea4fe0f11",
+ "metadata": {},
+ "source": [
+ "Each of the 4 roles can be configured as you see fit. The parameters you can adjust are shown below:\n",
+ "\n",
+ "![alt text](ui_images/permissions_all.png)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "179c9cec-8ed2-4695-baf8-c627773d1d6c",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "ea1b2b82-1787-4c68-a8a5-1964c2bcf10b",
+ "metadata": {
+ "tags": []
+ },
+ "source": [
+ "### Concept 3. Requests\n",
+ "\n",
+ "Requests are instances where a User wants to do something that they don't have authorization to do.\n",
+ "\n",
+ "\n",
+ "As of the current release, there are 3 major types of requests:\n",
+ "- Data Access requests: Occurs when someone wanting to use the data on the node.\n",
+ "- Privacy budget upgrade requests: Occurs when a DS needs an upgrade of the privacy budget allocated to them.\n",
+ "- New Data Scientist Account requests: Occurs when a Data Scientist wishes to create an account on the domain node.\n",
+ "\n",
+ "With each type of request, they can either be accepted, rejected, approved or granted. We'll show you how to do each, but first, let's show you how a user would put in a request."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "c1b3f494-d5e0-45b0-9a61-bd94ebb08167",
+ "metadata": {},
+ "source": [
+ "### 3.1 Putting in a Request\n",
+ "\n",
+ "Remember that data scientist account we created awhile back? We'll be making use of him now. Let's first use him to sign into our domain node."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "id": "e39b28cd-0ab8-4148-b598-1fb6f0fcd654",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Connecting to http://localhost:8081... done! \t Logging into adp... done!\n"
+ ]
+ }
+ ],
+ "source": [
+ "data_scientist_node = sy.login(email=\"sheldon@caltech.edu\", password=\"bazinga\", port=8081)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "e0673d45-427e-4d17-bfdf-5649eebc326f",
+ "metadata": {},
+ "source": [
+ "Now that he's logged in, let's say he checks the privacy budget available to him:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "id": "fc3e5be4-fd01-42e4-8800-48d9dd22808d",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "100.0"
+ ]
+ },
+ "execution_count": 15,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "data_scientist_node.privacy_budget"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "ef10606d-577f-484d-af24-4531c46e7997",
+ "metadata": {},
+ "source": [
+ "Now let's say our data scientist isn't happy with this much privacy budget, and that he wants more. He could put in a request for more privacy budget, as follows:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "id": "5a6a2f31-da50-4d28-93be-3d9103cc6653",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Requested 1000 epsilon of budget. Call .privacy_budget to see if your budget has arrived!\n"
+ ]
+ }
+ ],
+ "source": [
+ "data_scientist_node.request_budget(eps=1000, reason=\"I want to do data exploration\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "68ec4bdc-5f10-4665-8141-27d5c87b5df5",
+ "metadata": {},
+ "source": [
+ "### 3.2 Responding to a Request"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "190a0c54-c4d4-4695-9190-6f598dd695df",
+ "metadata": {},
+ "source": [
+ "The request that the Data Scientist put in would be logged in the domain node, and could be viewed by the Data Owner at any time:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "id": "3636a5fa-5f9c-483c-a800-ecff0e18cf2e",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " Requested Object's tags \n",
+ " Reason \n",
+ " Request ID \n",
+ " Requested Object's ID \n",
+ " Requested Object's type \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " [] \n",
+ " I want to do data exploration \n",
+ " <UID: 3ece116558bf41cfb4680847173b6c41> \n",
+ " <UID: 6e2fecb392834b6589f616b7c19cd72f> \n",
+ " <Budget> \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "[]"
+ ]
+ },
+ "execution_count": 16,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# See all the requests made to the domain node\n",
+ "domain_node.requests"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "bf3d6c9c-493e-49a7-bcaf-f8aa519580ba",
+ "metadata": {},
+ "source": [
+ "Now, the Data Owner could investigate this request:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "id": "3bd573af-ffbd-4a2c-8333-315e0169a32f",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'I want to do data exploration'"
+ ]
+ },
+ "execution_count": 19,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "domain_node.requests[0].request_description"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "b3c83a73-afdb-47cb-ace7-da82b4a91fb8",
+ "metadata": {},
+ "source": [
+ "Let's say he decides to turn it down due to how much privacy budget is requested. He would run this:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 60,
+ "id": "b0aef9d8-6a76-4c09-b472-150848fd5f5e",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "domain_node.requests[0].deny()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "id": "c082af80-b4b0-448f-a8f4-fc75d04cb371",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "domain_node.requests[0].reject()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "5e2a6f80-f97b-4c8b-9f3d-9fe0b6d84979",
+ "metadata": {},
+ "source": [
+ "If instead he wanted to accept the request, he could instead run:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "id": "e5afb00e-2066-41c0-88ad-cb0941cfeb9a",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "domain_node.requests[0].accept()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "b5432f70-f755-48c5-8699-d0f7dddd42bc",
+ "metadata": {},
+ "source": [
+ "It's important to note that after each grant or refusal, the request disappears from the object store and is no longer visible.\n",
+ "\n",
+ "![alt text](ui_images/no_requests.png)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "1bcda20d-6003-42b8-80dc-4b764f3ea2c3",
+ "metadata": {},
+ "source": [
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "152d1127-f5fc-4087-9268-bd1c01a9dac4",
+ "metadata": {},
+ "source": [
+ "## Concept 4. Network Nodes!\n",
+ "\n",
+ "A Network Node is a level of abstraction above a domain node. It's a server which exists outside of any data owner's institution, providing services to a network of data owners and data scientists, such as dataset searching and bulk project approval (the ability to participate in projects across groups of domains and data scientsts at a time).\n",
+ "\n",
+ "We can view the available networks, and put in a request to join them via the UI:"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "2c6424c2-2809-4786-8eee-5280eb33cc63",
+ "metadata": {},
+ "source": [
+ "![alt text](ui_images/networks.png)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "24b12e20-14f2-4b83-a256-422a24253fdf",
+ "metadata": {},
+ "source": [
+ "We can also do this via PySyft. To see the list of available networks we could join, we simply need to do:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 40,
+ "id": "ae83711a-b72f-439b-8527-dc4a55560af0",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " name \n",
+ " host_or_ip \n",
+ " vpn_host_or_ip \n",
+ " protocol \n",
+ " port \n",
+ " admin_email \n",
+ " website \n",
+ " slack \n",
+ " slack_channel \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " omnet \n",
+ " 13.64.187.229 \n",
+ " 100.64.0.1 \n",
+ " http \n",
+ " 80 \n",
+ " support@openmined.org \n",
+ " https://www.openmined.org/ \n",
+ " https://slack.openmined.org/ \n",
+ " omnet \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " United Nations PET Lab (Mock) \n",
+ " 13.64.14.221 \n",
+ " 100.64.0.1 \n",
+ " http \n",
+ " 80 \n",
+ " support@openmined.org \n",
+ " https://www.openmined.org/ \n",
+ " https://slack.openmined.org/ \n",
+ " petlab \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 40,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "sy.networks"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "2c0ff222-26ab-466e-b6bd-f3dab4dad402",
+ "metadata": {},
+ "source": [
+ "To join one, we would call:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 41,
+ "id": "8c19b159-c6df-47ab-8e44-84034ffa98f4",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Connecting to http://13.64.14.221... done! \t Logging into united_nations_mock... as GUEST...done!\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 41,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "un_network = sy.networks[1]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "deaec0c0-9404-4365-8213-92c6e5a6e964",
+ "metadata": {},
+ "source": [
+ "A few things to note here- \n",
+ "- We joined the Network as a Guest. This has limited capabilities.\n",
+ "- Instead of indexing by its position in the networks, we could also index by name\n",
+ "\n",
+ "- Upon selecting a network, we have access to all the public properties of the network! "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "34d67d98-1ea2-423c-9c25-2f7cc730dee5",
+ "metadata": {},
+ "source": [
+ "After joining the network node, we can see all the domains that are attached to that network:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "id": "93b276ae-8e1e-4c3c-b29e-41858ad53dbb",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\t\t opengrid network"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " host_or_ip \n",
+ " id \n",
+ " is_vpn \n",
+ " name \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 100.64.0.3 \n",
+ " 84a28770a17d4b6199d78d66b3bdc8c3 \n",
+ " 1 \n",
+ " relaxed_song \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 100.64.0.1 \n",
+ " a2f53454633f4896852aae45d7bc4096 \n",
+ " 1 \n",
+ " strange_he \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 100.64.0.4 \n",
+ " 201e5de97fc94b53a39b37a729efbb69 \n",
+ " 1 \n",
+ " kind_kaliouby \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 19,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "opengrid = sy.networks[0]\n",
+ "opengrid"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "8243d0bc-3cff-4d5e-8b01-a23da83e04f2",
+ "metadata": {},
+ "source": [
+ "Let's try to join one of these domains. We start by indexing into it:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "afcf7957-9a9c-44a8-bf8c-4ec19f5c0eea",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "pclient = opengrid[2]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "id": "dab09d83-2f6e-4384-9dc2-69977bceaa88",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(This is a logged out ProxyClient() object for a domain called 'kind_kaliouby'. Please call .login(email, password) to get a full client you can use for stuff.)"
+ ]
+ },
+ "execution_count": 11,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pclient"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "f2c64318-35b2-4086-bde2-5de21879c5a7",
+ "metadata": {},
+ "source": [
+ "We then we login as normal, as we would do to any domain!"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "id": "66f0da43-d60a-41be-859e-06d2c606593e",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Logged in to kind_kaliouby as info@openmined.org\n"
+ ]
+ }
+ ],
+ "source": [
+ "client = pclient.login(email=\"info@openmined.org\", password=\"changethis\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "7177ffd3-17da-4ac5-a617-5d5ec8199ede",
+ "metadata": {},
+ "source": [
+ "Now we can view datasets, and use this domain node like we would any other:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "id": "388d28ae-c830-4ef7-93c7-f0e674a7dbac",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "(no datasets found)"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 18,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "client.datasets"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "fda5d207-1f49-4da6-851c-7179c5d849e9",
+ "metadata": {},
+ "source": [
+ "In the event that we wanted our domain node to join a network, we could proceed as follows:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "316ced1e-9690-4720-8850-28c274c303e8",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "WARNING: CHANGE YOUR USERNAME AND PASSWORD!!! \n",
+ "\n",
+ "Anyone can login as an admin to your node right now because your password is still the default PySyft username and password!!!\n",
+ "\n",
+ "Connecting to None... done! \t Logging into ecstatic_chollet... done!\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Login to our local domain node\n",
+ "domain = sy.login(email=\"info@openmined.org\", password=\"changethis\", port=8081)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "id": "73412218-3132-46da-bfec-4b7d704cbb7d",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "🔌 > successfully connected to the VPN: http://40.83.192.48:80/api/v1\n",
+ "Waiting to connect to VPN.\n",
+ "Connected to VPN\n",
+ "Application submitted.\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Applying to join is as simple as a one liner.\n",
+ "domain.apply_to_network(opengrid)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "021df7bb-46a7-47e3-ad4f-66b920b74fad",
+ "metadata": {},
+ "source": [
+ "# Summary\n",
+ "In this notebook, you created a new user, learned how to change the user permissions, file and respond to requests, and even join a network node!\n",
+ "In the next lesson, we'll be giving you a bigger taste of remote data science, and what you can do with it. Stay tuned!"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "695b6f6e-0bcb-4939-9f6e-602f28fe8b2d",
+ "metadata": {},
+ "source": [
+ "\n",
+ " \n",
+ " "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "46d6b0fa-77c3-4adf-a963-7f18bdd697e5",
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.7"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/L5_RemoteDataScience.ipynb b/L5_RemoteDataScience.ipynb
new file mode 100644
index 0000000..25749aa
--- /dev/null
+++ b/L5_RemoteDataScience.ipynb
@@ -0,0 +1,718 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "1a49837a",
+ "metadata": {},
+ "source": [
+ "# Lesson 5: Remote Data Science!\n",
+ "\n",
+ "Instructors: Ishan Mishra, Phil Culliton\n",
+ "\n",
+ "\n",
+ "In this lesson, we're going to see what it's like to be a data scientist working with remote data through PySyft. We'll be making use of the same tabular COVID19 dataset that we cleaned, annotated, and uploaded in Lesson 3."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "e01d0573-872b-4aef-a44b-3060ee72fea9",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import syft as sy\n",
+ "import numpy as np\n",
+ "import matplotlib, matplotlib.pyplot as plt\n",
+ "import os\n",
+ "import pandas as pd\n",
+ "\n",
+ "%matplotlib inline"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "71e5107a-90ea-40f3-9239-d9f92ab165e5",
+ "metadata": {},
+ "source": [
+ "#### Log into domain\n",
+ "\n",
+ "Here we log into your new node using a non-admin data scientist account. If you used a different email / password\n",
+ "combination to create the data scientist account, enter it here."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "234dc92d-0d4d-428d-8b4c-41c3e91e056b",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Connecting to http://localhost:8081... done! \t Logging into new_phil_node... done!\n"
+ ]
+ }
+ ],
+ "source": [
+ "ds_domain = sy.login(\n",
+ " email = \"sheldon@caltech.edu\",\n",
+ " password = \"bazinga\",\n",
+ " port = 8081\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "70d17a6e-145a-4c0c-9c56-b4154ef166c9",
+ "metadata": {},
+ "source": [
+ "#### Check privacy budget\n",
+ "\n",
+ "The privacy budget represents how much noise the data scientist can remove from a dataset when accessing it. Domains will set a privacy budget per data scientist. More (in this case, 100) can be requested using:\n",
+ "\n",
+ "`ds_domain.request_budget(100)`"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "ec021724-1a82-4e4b-abc4-ccea399cc5f6",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "100.0"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "ds_domain.privacy_budget"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "263aa7de-4f25-4a60-9f4e-dc2184c04d5a",
+ "metadata": {},
+ "source": [
+ "#### List datasets on domain\n",
+ "\n",
+ "There is only one dataset attached to this domain currently - let's take a look! The following command shows the data scientist:\n",
+ "1. The name and index of the available datasets.\n",
+ "2. A description, as entered by the data owner.\n",
+ "3. Any assets contained within the dataset - usually tensors or groups of tensors - and their names. In this case we just have string indices.\n",
+ "4. A unique ID - this can be used to access the dataset in addition to the index."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "d7a97e0a-f7e9-418d-bd6c-8623bfa6f01b",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ " \n",
+ "\n",
+ " \n",
+ " \n",
+ " \n",
+ "\n",
+ " \n",
+ " [0] \n",
+ " COVID Synthetic Weekly Cases \n",
+ " Synthetically-generated COVID weekly case dataset \n",
+ " [\"0\"] -> Tensor [\"1\"] -> Tensor [\"2\"] -> Tensor [\"3\"] -> Tensor [\"4\"] -> Tensor [\"5\"] -> Tensor [\"6\"] -> Tensor [\"7\"] -> Tensor [\"8\"] -> Tensor [\"9\"] -> Tensor \n",
+ " cb441fdc-aefa-4a44-8f1e-fe61c4e0eb3a \n",
+ " \n",
+ "\n",
+ " \n",
+ " [1] \n",
+ " COVID Synthetic Weekly Cases v6 \n",
+ " Synthetically-generated COVID weekly case dataset \n",
+ " [\"weeklyCases\"] -> Tensor [\"nextWeekCases\"] -> Tensor \n",
+ " 8d1e7ac7-a562-4f05-805f-9f6cac0a0d54 \n",
+ " \n",
+ "\n",
+ " \n",
+ " [2] \n",
+ " COVID Synthetic Weekly Cases v7 \n",
+ " Synthetically-generated COVID weekly case dataset \n",
+ " [\"weeklyCases\"] -> Tensor \n",
+ " 32ea0eaf-5c47-4b27-8d2b-7a899e227dcc \n",
+ " \n",
+ "\n",
+ " \n",
+ " [3] \n",
+ " COVID19 Cases in 175 countries \n",
+ " Weekly data for an entire year \n",
+ " [\"Country 0\"] -> Tensor [\"Country 1\"] -> Tensor [\"Country 2\"] -> Tensor [\"Country 3\"] -> Tensor [\"Country 4\"] -> Tensor [\"Country 5\"] -> Tensor [\"Country 6\"] -> Tensor [\"Country 7\"] -> Tensor [\"Country 8\"] -> Tensor [\"Country 9\"] -> Tensor [\"Country 10\"] -> Tensor [\"Country 11\"] -> Tensor [\"Country 12\"] -> Tensor [\"Country 13\"] -> Tensor [\"Country 14\"] -> Tensor [\"Country 15\"] -> Tensor [\"Country 16\"] -> Tensor [\"Country 17\"] -> Tensor [\"Country 18\"] -> Tensor [\"Country 19\"] -> Tensor [\"Country 20\"] -> Tensor [\"Country 21\"] -> Tensor [\"Country 22\"] -> Tensor [\"Country 23\"] -> Tensor [\"Country 24\"] -> Tensor [\"Country 25\"] -> Tensor [\"Country 26\"] -> Tensor [\"Country 27\"] -> Tensor [\"Country 28\"] -> Tensor [\"Country 29\"] -> Tensor [\"Country 30\"] -> Tensor [\"Country 31\"] -> Tensor [\"Country 32\"] -> Tensor [\"Country 33\"] -> Tensor [\"Country 34\"] -> Tensor [\"Country 35\"] -> Tensor [\"Country 36\"] -> Tensor [\"Country 37\"] -> Tensor [\"Country 38\"] -> Tensor [\"Country 39\"] -> Tensor [\"Country 40\"] -> Tensor [\"Country 41\"] -> Tensor [\"Country 42\"] -> Tensor [\"Country 43\"] -> Tensor [\"Country 44\"] -> Tensor [\"Country 45\"] -> Tensor [\"Country 46\"] -> Tensor [\"Country 47\"] -> Tensor [\"Country 48\"] -> Tensor [\"Country 49\"] -> Tensor [\"Country 50\"] -> Tensor [\"Country 51\"] -> Tensor [\"Country 52\"] -> Tensor [\"Country 53\"] -> Tensor [\"Country 54\"] -> Tensor [\"Country 55\"] -> Tensor [\"Country 56\"] -> Tensor [\"Country 57\"] -> Tensor [\"Country 58\"] -> Tensor [\"Country 59\"] -> Tensor [\"Country 60\"] -> Tensor [\"Country 61\"] -> Tensor [\"Country 62\"] -> Tensor [\"Country 63\"] -> Tensor [\"Country 64\"] -> Tensor [\"Country 65\"] -> Tensor [\"Country 66\"] -> Tensor [\"Country 67\"] -> Tensor [\"Country 68\"] -> Tensor [\"Country 69\"] -> Tensor [\"Country 70\"] -> Tensor [\"Country 71\"] -> Tensor [\"Country 72\"] -> Tensor [\"Country 73\"] -> Tensor [\"Country 74\"] -> Tensor [\"Country 75\"] -> Tensor [\"Country 76\"] -> Tensor [\"Country 77\"] -> Tensor [\"Country 78\"] -> Tensor [\"Country 79\"] -> Tensor [\"Country 80\"] -> Tensor [\"Country 81\"] -> Tensor [\"Country 82\"] -> Tensor [\"Country 83\"] -> Tensor [\"Country 84\"] -> Tensor [\"Country 85\"] -> Tensor [\"Country 86\"] -> Tensor [\"Country 87\"] -> Tensor [\"Country 88\"] -> Tensor [\"Country 89\"] -> Tensor [\"Country 90\"] -> Tensor [\"Country 91\"] -> Tensor [\"Country 92\"] -> Tensor [\"Country 93\"] -> Tensor [\"Country 94\"] -> Tensor [\"Country 95\"] -> Tensor [\"Country 96\"] -> Tensor [\"Country 97\"] -> Tensor [\"Country 98\"] -> Tensor [\"Country 99\"] -> Tensor [\"Country 100\"] -> Tensor [\"Country 101\"] -> Tensor [\"Country 102\"] -> Tensor [\"Country 103\"] -> Tensor [\"Country 104\"] -> Tensor [\"Country 105\"] -> Tensor [\"Country 106\"] -> Tensor [\"Country 107\"] -> Tensor [\"Country 108\"] -> Tensor [\"Country 109\"] -> Tensor [\"Country 110\"] -> Tensor [\"Country 111\"] -> Tensor [\"Country 112\"] -> Tensor [\"Country 113\"] -> Tensor [\"Country 114\"] -> Tensor [\"Country 115\"] -> Tensor [\"Country 116\"] -> Tensor [\"Country 117\"] -> Tensor [\"Country 118\"] -> Tensor [\"Country 119\"] -> Tensor [\"Country 120\"] -> Tensor [\"Country 121\"] -> Tensor [\"Country 122\"] -> Tensor [\"Country 123\"] -> Tensor [\"Country 124\"] -> Tensor [\"Country 125\"] -> Tensor [\"Country 126\"] -> Tensor [\"Country 127\"] -> Tensor [\"Country 128\"] -> Tensor [\"Country 129\"] -> Tensor [\"Country 130\"] -> Tensor [\"Country 131\"] -> Tensor [\"Country 132\"] -> Tensor [\"Country 133\"] -> Tensor [\"Country 134\"] -> Tensor [\"Country 135\"] -> Tensor [\"Country 136\"] -> Tensor [\"Country 137\"] -> Tensor [\"Country 138\"] -> Tensor [\"Country 139\"] -> Tensor [\"Country 140\"] -> Tensor [\"Country 141\"] -> Tensor [\"Country 142\"] -> Tensor [\"Country 143\"] -> Tensor [\"Country 144\"] -> Tensor [\"Country 145\"] -> Tensor [\"Country 146\"] -> Tensor [\"Country 147\"] -> Tensor [\"Country 148\"] -> Tensor [\"Country 149\"] -> Tensor [\"Country 150\"] -> Tensor [\"Country 151\"] -> Tensor [\"Country 152\"] -> Tensor [\"Country 153\"] -> Tensor [\"Country 154\"] -> Tensor [\"Country 155\"] -> Tensor [\"Country 156\"] -> Tensor [\"Country 157\"] -> Tensor [\"Country 158\"] -> Tensor [\"Country 159\"] -> Tensor [\"Country 160\"] -> Tensor [\"Country 161\"] -> Tensor [\"Country 162\"] -> Tensor [\"Country 163\"] -> Tensor [\"Country 164\"] -> Tensor [\"Country 165\"] -> Tensor [\"Country 166\"] -> Tensor [\"Country 167\"] -> Tensor [\"Country 168\"] -> Tensor [\"Country 169\"] -> Tensor [\"Country 170\"] -> Tensor [\"Country 171\"] -> Tensor [\"Country 172\"] -> Tensor [\"Country 173\"] -> Tensor [\"Country 174\"] -> Tensor \n",
+ " c0f71066-0ca1-4062-a356-bf5793ab9070 \n",
+ " \n",
+ "\n",
+ " \n",
+ " [4] \n",
+ " COVID19 Cases in 175 countries \n",
+ " Weekly data for an entire year \n",
+ " [\"Country 0\"] -> Tensor [\"Country 1\"] -> Tensor [\"Country 2\"] -> Tensor [\"Country 3\"] -> Tensor [\"Country 4\"] -> Tensor [\"Country 5\"] -> Tensor [\"Country 6\"] -> Tensor [\"Country 7\"] -> Tensor [\"Country 8\"] -> Tensor [\"Country 9\"] -> Tensor [\"Country 10\"] -> Tensor [\"Country 11\"] -> Tensor [\"Country 12\"] -> Tensor [\"Country 13\"] -> Tensor [\"Country 14\"] -> Tensor [\"Country 15\"] -> Tensor [\"Country 16\"] -> Tensor [\"Country 17\"] -> Tensor [\"Country 18\"] -> Tensor [\"Country 19\"] -> Tensor [\"Country 20\"] -> Tensor [\"Country 21\"] -> Tensor [\"Country 22\"] -> Tensor [\"Country 23\"] -> Tensor [\"Country 24\"] -> Tensor [\"Country 25\"] -> Tensor [\"Country 26\"] -> Tensor [\"Country 27\"] -> Tensor [\"Country 28\"] -> Tensor [\"Country 29\"] -> Tensor [\"Country 30\"] -> Tensor [\"Country 31\"] -> Tensor [\"Country 32\"] -> Tensor [\"Country 33\"] -> Tensor [\"Country 34\"] -> Tensor [\"Country 35\"] -> Tensor [\"Country 36\"] -> Tensor [\"Country 37\"] -> Tensor [\"Country 38\"] -> Tensor [\"Country 39\"] -> Tensor [\"Country 40\"] -> Tensor [\"Country 41\"] -> Tensor [\"Country 42\"] -> Tensor [\"Country 43\"] -> Tensor [\"Country 44\"] -> Tensor [\"Country 45\"] -> Tensor [\"Country 46\"] -> Tensor [\"Country 47\"] -> Tensor [\"Country 48\"] -> Tensor [\"Country 49\"] -> Tensor [\"Country 50\"] -> Tensor [\"Country 51\"] -> Tensor [\"Country 52\"] -> Tensor [\"Country 53\"] -> Tensor [\"Country 54\"] -> Tensor [\"Country 55\"] -> Tensor [\"Country 56\"] -> Tensor [\"Country 57\"] -> Tensor [\"Country 58\"] -> Tensor [\"Country 59\"] -> Tensor [\"Country 60\"] -> Tensor [\"Country 61\"] -> Tensor [\"Country 62\"] -> Tensor [\"Country 63\"] -> Tensor [\"Country 64\"] -> Tensor [\"Country 65\"] -> Tensor [\"Country 66\"] -> Tensor [\"Country 67\"] -> Tensor [\"Country 68\"] -> Tensor [\"Country 69\"] -> Tensor [\"Country 70\"] -> Tensor [\"Country 71\"] -> Tensor [\"Country 72\"] -> Tensor [\"Country 73\"] -> Tensor [\"Country 74\"] -> Tensor [\"Country 75\"] -> Tensor [\"Country 76\"] -> Tensor [\"Country 77\"] -> Tensor [\"Country 78\"] -> Tensor [\"Country 79\"] -> Tensor [\"Country 80\"] -> Tensor [\"Country 81\"] -> Tensor [\"Country 82\"] -> Tensor [\"Country 83\"] -> Tensor [\"Country 84\"] -> Tensor [\"Country 85\"] -> Tensor [\"Country 86\"] -> Tensor [\"Country 87\"] -> Tensor [\"Country 88\"] -> Tensor [\"Country 89\"] -> Tensor [\"Country 90\"] -> Tensor [\"Country 91\"] -> Tensor [\"Country 92\"] -> Tensor [\"Country 93\"] -> Tensor [\"Country 94\"] -> Tensor [\"Country 95\"] -> Tensor [\"Country 96\"] -> Tensor [\"Country 97\"] -> Tensor [\"Country 98\"] -> Tensor [\"Country 99\"] -> Tensor [\"Country 100\"] -> Tensor [\"Country 101\"] -> Tensor [\"Country 102\"] -> Tensor [\"Country 103\"] -> Tensor [\"Country 104\"] -> Tensor [\"Country 105\"] -> Tensor [\"Country 106\"] -> Tensor [\"Country 107\"] -> Tensor [\"Country 108\"] -> Tensor [\"Country 109\"] -> Tensor [\"Country 110\"] -> Tensor [\"Country 111\"] -> Tensor [\"Country 112\"] -> Tensor [\"Country 113\"] -> Tensor [\"Country 114\"] -> Tensor [\"Country 115\"] -> Tensor [\"Country 116\"] -> Tensor [\"Country 117\"] -> Tensor [\"Country 118\"] -> Tensor [\"Country 119\"] -> Tensor [\"Country 120\"] -> Tensor [\"Country 121\"] -> Tensor [\"Country 122\"] -> Tensor [\"Country 123\"] -> Tensor [\"Country 124\"] -> Tensor [\"Country 125\"] -> Tensor [\"Country 126\"] -> Tensor [\"Country 127\"] -> Tensor [\"Country 128\"] -> Tensor [\"Country 129\"] -> Tensor [\"Country 130\"] -> Tensor [\"Country 131\"] -> Tensor [\"Country 132\"] -> Tensor [\"Country 133\"] -> Tensor [\"Country 134\"] -> Tensor [\"Country 135\"] -> Tensor [\"Country 136\"] -> Tensor [\"Country 137\"] -> Tensor [\"Country 138\"] -> Tensor [\"Country 139\"] -> Tensor [\"Country 140\"] -> Tensor [\"Country 141\"] -> Tensor [\"Country 142\"] -> Tensor [\"Country 143\"] -> Tensor [\"Country 144\"] -> Tensor [\"Country 145\"] -> Tensor [\"Country 146\"] -> Tensor [\"Country 147\"] -> Tensor [\"Country 148\"] -> Tensor [\"Country 149\"] -> Tensor [\"Country 150\"] -> Tensor [\"Country 151\"] -> Tensor [\"Country 152\"] -> Tensor [\"Country 153\"] -> Tensor [\"Country 154\"] -> Tensor [\"Country 155\"] -> Tensor [\"Country 156\"] -> Tensor [\"Country 157\"] -> Tensor [\"Country 158\"] -> Tensor [\"Country 159\"] -> Tensor [\"Country 160\"] -> Tensor [\"Country 161\"] -> Tensor [\"Country 162\"] -> Tensor [\"Country 163\"] -> Tensor [\"Country 164\"] -> Tensor [\"Country 165\"] -> Tensor [\"Country 166\"] -> Tensor [\"Country 167\"] -> Tensor [\"Country 168\"] -> Tensor [\"Country 169\"] -> Tensor [\"Country 170\"] -> Tensor [\"Country 171\"] -> Tensor [\"Country 172\"] -> Tensor [\"Country 173\"] -> Tensor [\"Country 174\"] -> Tensor \n",
+ " f1e37695-43f1-4d44-9242-b0d62391e406 \n",
+ " \n",
+ "
\n",
+ "\n",
+ " "
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "ds_domain.datasets"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "81d3dffd-b4e2-4f51-b8d2-bc54029dbafb",
+ "metadata": {},
+ "source": [
+ "#### Select the COVID dataset\n",
+ "\n",
+ "`covid_ds` is a pointer to the dataset above."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "id": "b6e02425-e5ba-4b09-af2f-dcb535d6b5c9",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "covid_ds = ds_domain.datasets[-1]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "id": "b049e413-7754-4d0b-8875-cb220c94f307",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# covid_ds"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "970dca10-da81-4f63-b73e-1c3322d9d4ff",
+ "metadata": {},
+ "source": [
+ "#### Access the tensors in the dataset\n",
+ "\n",
+ "1. Create `result` - a pointer to one of the selected dataset's tensors."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "id": "016d9fb0-30fa-4da5-8f4b-b015921d5d7f",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "result = covid_ds[\"Country 0\"]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "93b04a87-89e9-4f3e-843a-9a24044ef6fa",
+ "metadata": {},
+ "source": [
+ "2. `publish` uses the privacy budget approved by the data owner to access the data in a noised format that does not compromise the original dataset. `sigma` is the amount of privacy budget the data scientist plans to use."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "id": "c79c1042-c168-4846-960d-1c04b33dbbfe",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "published_result = result.publish(sigma=10)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "cc49d4a2-12e2-428d-a2ca-55d33ea1caa7",
+ "metadata": {},
+ "source": [
+ "3. We call `get()` to access the contents of the `published_result` pointer created above."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "id": "b71f2d2f-a2ca-4c4c-89e2-97746ed033c5",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([ 1.87962505, 4.71938444, 0.21009209, 11.6951488 ,\n",
+ " 1.65871529, 7.51741406, -2.69433908, 6.69456906,\n",
+ " 9.47428484, 2.95521849, 6.6730533 , -5.14659351,\n",
+ " 17.93966438, 2.96712695, 1.68368624, -7.09433619,\n",
+ " -19.40986988, -5.46137163, -4.09276642, 13.18786713,\n",
+ " 17.52276474, 22.4753219 , -23.93438919, -5.97426366,\n",
+ " -10.57195696, 8.46965483, -2.20720727, -3.57068655,\n",
+ " 2.16387452, 13.52685285, -1.19839955, -10.9106257 ,\n",
+ " 4.29427713, -0.13939782, -7.40138386, 13.52924455,\n",
+ " 3.6314732 , 0.54333269, -8.26701998, -13.7421667 ,\n",
+ " -17.83994344, -6.27095021, 2.80863972, -11.48666258,\n",
+ " 9.6186131 , -16.55402525, 13.72067735, -17.28392862,\n",
+ " -4.05404757, -10.67938915, -3.42309606, -9.16542317,\n",
+ " -3.10181604, -0.25535211])"
+ ]
+ },
+ "execution_count": 11,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "published_result.block_with_timeout(30).get()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "1934519f-b545-4d0d-bfeb-5047810bead1",
+ "metadata": {},
+ "source": [
+ "#### Great! Now let's access a portion of the dataset in the same way.\n",
+ "\n",
+ "Note that we are setting `sigma=10` for each object. In this case each object represents a different country's weekly COVID numbers - each country is a \"data subject\" or \"entity\". We pause between each `.publish()` and `.get()` call to allow the server to receive the request and prepare the necessary data."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "id": "e168badb-9544-436c-a5da-c545da7e715b",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "100.0\n",
+ "100.0\n",
+ "100.0\n",
+ "100.0\n",
+ "100.0\n",
+ "100.0\n",
+ "100.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "published_data = []\n",
+ "\n",
+ "## \"countries\" 24 and 129 had the best / worst rates of infection\n",
+ "for i in [24, 129] + list(range(5)):\n",
+ " result = covid_ds[f'Country {i}']\n",
+ " published_result = result.publish(sigma=10)\n",
+ " published_result.block_with_timeout(30)\n",
+ " published_data.append(published_result.get())\n",
+ " print(ds_domain.privacy_budget)\n",
+ " \n",
+ "published_data = np.asarray(published_data)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "id": "dd79a501-6a69-4aad-8090-0ccc9d95c1b0",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "7"
+ ]
+ },
+ "execution_count": 13,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "len(published_data)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "ba1b5f83-8e9d-435c-9f61-eab3d15572a9",
+ "metadata": {},
+ "source": [
+ "#### Load the dataset portion into a Pandas dataframe.\n",
+ "\n",
+ "Let's plot the noisy data as well. In comparison to the data visualized in Lesson 3, it is impossible (thanks to differential privacy) to tell which country is which - but the machine learning properties of the data remain the same."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "id": "c8e687fb-9a07-425d-9ccb-64cd5d6a2d79",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(,\n",
+ " 0 1 2 3 4 5 6 \\\n",
+ " 0 20.336905 -8.964656 -2.982325 10.859373 5.490088 -1.173325 2.693699 \n",
+ " 1 -6.128690 -13.911575 2.626617 12.566412 4.911579 -3.845937 9.437008 \n",
+ " 2 1.371150 -3.700766 8.279892 -8.007940 -0.912172 0.194758 3.440402 \n",
+ " 3 24.991676 -4.794710 -0.667047 0.743543 6.049031 13.066630 14.961670 \n",
+ " 4 -1.400285 -7.923442 -8.091082 3.726426 34.372218 -8.666324 4.028763 \n",
+ " 5 9.683693 1.340415 2.241332 -3.487355 10.334584 1.303773 -12.435732 \n",
+ " 6 -4.006095 8.412063 -1.585492 5.913141 16.689908 -8.757812 -14.523390 \n",
+ " \n",
+ " 7 8 9 ... 44 45 46 \\\n",
+ " 0 -9.795669 -5.619013 -3.486675 ... 8.072695 -2.876978 -7.555695 \n",
+ " 1 8.366968 -2.278678 7.517804 ... -7.568879 5.685375 3.052952 \n",
+ " 2 -7.312792 -6.719416 -7.905397 ... 9.455157 22.467539 5.925469 \n",
+ " 3 20.595809 -6.638701 -1.254496 ... 3.641747 13.607257 4.160950 \n",
+ " 4 -3.296568 8.948958 4.032766 ... -9.105121 -5.144218 1.019476 \n",
+ " 5 -7.018836 2.712449 -14.644314 ... 8.092646 -2.664616 0.421414 \n",
+ " 6 11.204030 6.967486 17.121681 ... -3.987955 6.548862 3.968059 \n",
+ " \n",
+ " 47 48 49 50 51 52 53 \n",
+ " 0 6.163197 0.657244 6.995522 8.539384 7.510291 6.401523 9.131963 \n",
+ " 1 -5.662325 3.755135 5.259989 4.081813 2.294437 -1.378383 2.477861 \n",
+ " 2 6.255276 -18.542731 7.226785 1.458280 -15.884218 9.274611 -13.721612 \n",
+ " 3 8.728846 15.814909 13.126770 15.093443 11.260606 3.461493 -0.786025 \n",
+ " 4 8.247414 5.094191 -0.036105 -15.232789 -7.120206 8.294720 -15.700254 \n",
+ " 5 -0.187400 5.944428 -13.169132 -1.339957 -1.416009 9.221461 -13.140464 \n",
+ " 6 5.439363 -14.932491 -14.367184 17.864755 2.847410 -16.724201 6.841550 \n",
+ " \n",
+ " [7 rows x 54 columns])"
+ ]
+ },
+ "execution_count": 14,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "data_df = pd.DataFrame(published_data)\n",
+ "data_df.plot(legend=False), data_df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "id": "ffded385-2d2f-4cd1-adc2-3284acc7d154",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# data_df[\"total_cases_per_week\"] = data_df.sum(1)\n",
+ "# data_df.plot(legend=False)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "42a2d945-b120-49bf-87ec-e3f8ccdc2f96",
+ "metadata": {},
+ "source": [
+ "#### Let's focus on two countries\n",
+ "\n",
+ "One had the best (lowest) infection rate and one had the worst (highest) infection rate."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "id": "a09108b5-1792-4353-b53f-9725b7bbb958",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 16,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "data_df.loc[1].plot()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "id": "8cea0971-8fa6-4281-85e8-2be130addd1e",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 17,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "data_df.loc[0].plot()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "4bd73585-51b7-40a1-b542-bfeee8c11f81",
+ "metadata": {},
+ "source": [
+ "#### And extrapolate out 3 more months"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "id": "d67247e6-0654-4248-aa0e-4b45d1ff0014",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def plot_extrapolated_country(idx):\n",
+ " x = list(range(53))\n",
+ " y = data_df.loc[idx].values\n",
+ "\n",
+ " plt.plot(y)\n",
+ " \n",
+ " z = np.polyfit(x, y, 2)\n",
+ " f = np.poly1d(z)\n",
+ "\n",
+ " new_points = range(12)\n",
+ " new_y = []\n",
+ " for x2 in new_points:\n",
+ " new_y.append(f(53+x2))\n",
+ " \n",
+ " plt.plot(range(53, 65), new_y)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "id": "a1e0c97c-4d6c-4278-ba0c-19f36ef00228",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plot_extrapolated_country(0)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "id": "fa728248-8a71-47cb-8796-b9aa1b8f3343",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plot_extrapolated_country(1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "2154a1e0-1a54-4915-82d2-0b7b80a873d0",
+ "metadata": {},
+ "source": [
+ "#### We've done some data science!\n",
+ "\n",
+ "As you can see above, again, the data is obscured by noise, but the trends / modeling move in the expected direction for each set of data."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "436d3908-115d-4206-8ddf-7363aa01093d",
+ "metadata": {},
+ "source": [
+ "### Congratulations!\n",
+ "\n",
+ "We've done data science work with a dataset on your node - a dataset that's protected by privacy enhancing technologies!"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "f121c968-5dc9-4e37-96c2-b0b0c0c4d724",
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.7"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/README.md b/README.md
index 9e3edda..b01d85f 100644
--- a/README.md
+++ b/README.md
@@ -9,3 +9,5 @@ If you have technical issues with the website itself, or want to provide feedbac
Notebooks, code, and other resources associated with our courses are kept on separate branches in the repo. Here's a list for easy access:
[Foundations of Private Computation](https://github.com/OpenMined/courses/tree/foundations-of-private-computation)
+
+[Introduction to Remote Data Science](https://github.com/OpenMined/courses/tree/introduction-to-remote-data-science)
diff --git a/dataset/L3_data.csv b/dataset/L3_data.csv
new file mode 100644
index 0000000..cc86083
--- /dev/null
+++ b/dataset/L3_data.csv
@@ -0,0 +1,55 @@
+0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174
+1140,1113,3099,92,621,344,283,284,1095,44,1258,64,1746,139,200,406,248,830,255,1596,335,214,1902,145,2854,149,1273,96,31,407,437,982,2337,61,198,218,242,1382,1037,735,139,2458,550,284,736,551,505,2394,685,295,701,144,1244,253,38,551,703,1104,329,371,208,447,1112,646,157,28,172,588,1059,162,980,3461,333,273,450,3191,970,333,1613,672,360,203,2675,68,123,190,513,510,324,521,1901,1393,115,791,581,1523,552,284,1204,69,602,557,303,603,906,352,27,534,1732,478,3321,131,9,1471,59,1045,276,1247,725,2540,308,513,165,412,419,248,989,746,203,4514,8,511,994,1193,1934,909,67,2567,467,281,1983,218,165,1043,326,72,1985,736,1977,116,446,170,1546,1058,600,500,3171,281,69,1651,166,110,807,795,64,515,207,722,401,234,521,284,465,522,1176
+1140,1113,3099,92,621,344,283,284,1095,44,1258,64,1746,139,200,406,248,830,255,1596,335,214,1902,145,2854,149,1273,96,31,407,437,982,2337,61,198,218,242,1382,1037,735,139,2458,550,284,736,551,505,2394,685,295,701,144,1244,253,38,551,703,1104,329,371,208,447,1112,646,157,28,172,588,1059,162,980,3461,333,273,450,3191,970,333,1613,672,360,203,2675,68,123,190,513,510,324,521,1901,1393,115,791,581,1523,552,284,1204,69,602,557,303,603,906,352,27,534,1732,478,3321,131,9,1471,59,1045,276,1247,725,2540,308,513,165,412,419,248,989,746,203,4514,8,511,994,1193,1934,909,67,2567,467,281,1983,218,165,1043,326,72,1985,736,1977,116,446,170,1546,1058,600,500,3171,281,69,1651,166,110,807,795,64,515,207,722,401,234,521,284,465,522,1176
+1211,1378,2821,113,575,319,267,295,1167,52,1314,64,1807,134,193,304,260,926,264,1632,346,214,2086,154,2544,144,1261,86,26,437,430,942,2691,69,201,176,202,1194,985,851,126,2560,626,292,817,602,566,1929,677,262,735,132,1269,324,41,576,708,1196,353,438,181,440,1209,654,165,29,176,561,881,158,902,3768,320,291,464,3662,1011,254,1270,680,456,177,2338,61,115,190,407,506,313,677,2218,1414,112,775,591,1285,503,295,1266,65,574,550,320,611,865,353,26,649,1055,495,3164,146,9,1174,75,954,239,1252,712,2516,284,477,182,171,412,286,1199,863,258,5296,8,479,990,1313,2126,1209,58,2556,434,273,1835,194,161,878,314,65,2022,702,2115,118,486,180,1467,1077,523,565,2989,245,67,1643,167,102,884,850,68,577,231,655,449,224,600,224,577,492,1258
+1238,1587,2356,107,520,265,296,316,1186,42,1387,70,1629,142,184,338,301,1035,256,1900,316,257,2314,171,2397,174,1207,78,26,404,548,934,2481,69,174,212,180,1186,1021,1064,109,2673,591,318,871,694,558,1146,819,277,861,142,1315,401,44,781,769,1329,394,500,184,362,1125,634,165,31,180,660,769,145,993,3912,319,285,512,4673,1008,245,1331,672,418,218,1678,75,104,198,418,577,321,678,2270,1747,120,799,633,1155,572,326,1255,91,623,537,305,597,869,373,22,696,1207,514,3094,178,9,1177,77,1014,231,1259,763,2390,261,556,213,91,377,245,1157,619,282,4537,7,482,923,1016,1992,903,20,2388,442,311,2013,191,158,1069,309,59,1812,685,2199,104,490,184,1072,1117,528,531,3545,292,67,1784,122,123,948,948,52,473,209,620,473,231,607,275,407,421,1109
+1093,2075,2964,117,578,371,359,349,1151,48,1418,70,1783,149,176,305,314,1285,259,2629,321,238,1905,222,2279,166,1230,86,26,376,566,1020,2472,71,204,203,232,1420,1235,1202,110,2586,579,381,762,792,533,1284,891,297,704,144,1288,222,51,894,729,1311,228,523,187,370,1326,659,172,28,179,853,775,124,1189,3978,381,260,384,4959,1105,240,1162,585,471,209,1499,85,102,207,432,700,307,863,2659,1668,124,960,748,924,545,364,978,119,728,549,308,680,1137,380,20,655,1226,799,2536,190,10,1244,103,977,236,1231,814,2472,216,521,229,105,249,238,1117,614,290,5689,6,636,941,1318,2143,643,22,2986,466,348,2412,221,176,1164,299,42,1530,762,2671,93,467,188,1324,1032,439,509,3084,307,58,1794,142,114,916,1029,42,550,227,648,447,232,563,188,338,432,1148
+966,2269,3390,135,614,432,341,428,1107,49,1091,76,1802,132,169,371,324,1134,258,2805,319,197,1492,220,2377,151,1364,101,25,357,468,1163,2741,74,200,234,238,1399,1402,1147,52,2640,481,424,815,809,533,1468,649,248,650,126,1323,217,47,993,735,1565,197,585,212,424,1651,576,185,31,156,871,844,91,992,4503,365,283,384,6470,1361,245,1140,598,527,217,1516,82,113,199,472,706,285,944,3382,1932,185,847,792,813,455,385,963,121,669,589,284,723,1140,355,25,609,1176,828,1986,150,11,1379,115,1143,191,1167,894,3183,194,482,248,94,258,228,1060,623,275,5616,5,582,1044,1384,2032,818,18,1884,590,347,2523,203,198,1046,289,44,1418,600,2834,88,409,196,1279,1096,469,480,3107,260,69,2138,160,117,1270,1006,46,285,189,640,398,250,535,183,382,459,1181
+758,2430,3575,178,802,511,330,552,1046,43,1198,70,1942,151,161,375,314,1166,296,2232,326,224,1535,200,2236,152,1489,109,27,341,443,1305,2597,79,203,265,264,1724,1509,1530,27,1610,443,405,878,815,565,1176,535,254,638,123,1356,299,50,971,708,1351,215,622,206,485,1719,585,140,32,161,1025,655,110,982,4257,363,303,402,5355,936,227,1152,553,570,232,1277,91,124,199,417,735,332,934,3707,1571,182,846,804,640,466,310,957,114,741,533,303,840,1253,383,24,614,1245,888,2014,160,11,1389,84,1311,214,1220,928,3268,188,493,296,99,261,227,978,523,267,6538,5,594,1179,1506,1672,827,19,1946,618,344,2546,248,195,1104,279,48,1348,619,3107,109,435,215,1258,1160,489,468,3019,301,73,1945,136,125,1188,1027,50,248,167,608,471,266,570,130,360,495,1173
+858,2709,4260,180,696,455,347,488,1014,42,1221,82,2039,151,176,427,308,1160,298,2183,304,250,924,215,2266,136,1502,125,34,376,445,1341,2420,88,205,279,270,2330,1639,1551,23,1662,485,353,912,669,483,1056,276,285,649,120,1435,234,50,1405,695,1091,205,573,200,504,1894,526,145,32,150,965,604,107,943,4228,232,275,375,5306,1250,227,1127,432,760,255,1072,92,172,199,408,1001,336,1017,4223,1991,180,814,959,738,448,353,1143,125,580,579,305,723,1351,359,21,598,1247,775,1536,169,10,1803,88,1530,227,1113,979,2938,207,490,293,97,237,237,1094,484,278,6386,5,552,1092,1377,1609,866,22,1984,584,409,3427,247,216,1075,221,53,1215,599,4139,116,445,195,1180,1217,374,441,3667,278,77,1486,144,147,1108,940,47,260,194,529,464,258,458,100,288,424,1197
+877,2556,4860,178,747,309,458,457,1000,46,1197,84,2086,161,158,592,329,1117,294,2429,295,239,917,190,2556,129,1732,139,35,469,490,1448,2268,94,201,278,276,2202,1704,1290,15,1953,564,352,981,752,372,631,291,285,706,129,1577,239,60,1495,738,991,219,541,205,460,1930,496,134,33,161,1044,812,107,1071,4343,190,313,357,5525,1030,230,1132,484,727,312,1056,114,166,210,370,1074,354,1182,4359,2211,239,1018,993,603,423,432,1181,136,511,663,305,721,1299,247,21,723,1247,911,1408,193,11,2220,83,1390,219,1214,1013,2965,193,525,303,115,160,241,1244,473,224,6257,5,520,1196,1328,1276,860,20,1732,587,430,3816,272,224,1052,243,45,1376,641,4932,120,462,197,1242,1070,251,507,3416,264,82,1886,165,144,1195,948,48,247,190,412,436,250,411,107,450,440,1193
+925,2765,4145,251,770,283,462,495,1131,46,1474,88,2133,164,146,690,375,1077,288,2241,304,236,796,201,2779,127,1684,115,31,500,491,1355,2059,99,182,386,213,2521,1593,1204,12,2003,494,332,1097,678,352,575,285,159,696,88,1643,331,55,1353,845,1003,205,542,212,520,1836,455,139,35,183,950,728,132,879,4259,177,349,366,5708,1132,213,1694,530,589,297,700,120,218,215,280,1309,383,1313,5330,2824,258,1326,914,668,395,437,1125,137,462,568,324,604,1232,251,20,732,1058,986,1558,223,10,2974,84,1458,215,1328,1173,2815,179,584,296,143,244,315,1302,549,209,7084,4,489,1274,1163,1316,665,21,1683,553,416,5113,283,225,1140,313,53,1636,674,4751,133,274,210,1402,1007,264,533,3210,291,81,1793,175,130,1179,984,47,349,177,371,434,205,419,114,509,458,1224
+629,3071,5022,259,775,287,507,438,1207,62,1348,81,2451,252,123,819,374,1057,292,2484,283,207,745,191,2719,129,2048,112,36,583,506,1378,2313,101,174,317,200,2707,1861,1241,11,2278,465,281,1125,677,309,646,231,84,674,82,1984,338,62,1642,725,1008,196,505,211,597,2187,409,138,37,150,968,671,149,803,4192,126,354,424,5480,1067,235,1473,533,631,335,562,117,203,209,335,1346,388,1377,5153,3033,223,1848,977,468,368,455,1131,153,399,584,384,590,1315,237,14,725,1032,1047,2073,266,10,3084,79,1388,242,1303,1123,2681,163,569,320,225,242,315,1455,691,221,7904,5,481,1677,1468,901,744,17,1789,574,357,5423,296,246,1436,322,55,1737,627,6654,114,327,209,1488,1152,241,524,3192,330,84,1848,161,140,1130,942,49,228,197,418,512,206,348,75,490,486,1337
+806,3147,5101,295,845,266,585,433,1259,60,1361,84,2416,270,140,789,396,1113,320,2130,319,209,838,195,3222,140,1522,92,35,573,535,1214,2235,67,224,348,181,2358,1939,1579,13,2414,464,288,930,614,293,651,304,79,748,83,1750,289,64,1694,748,1161,163,484,208,541,2218,452,149,36,171,1123,780,120,860,4018,130,357,465,5112,925,239,1536,545,694,290,543,115,245,197,368,1438,398,1437,4709,2863,236,2137,1020,605,394,468,902,208,336,566,473,575,1173,246,14,834,956,1120,2266,256,11,3110,76,1434,223,1229,1129,2416,161,530,350,186,269,316,1414,727,220,7855,5,532,2113,1461,911,825,18,1964,694,371,4982,253,247,1239,285,64,1804,595,5988,129,261,201,1650,1072,184,524,3307,297,87,2095,171,158,1014,840,55,378,221,436,499,213,337,24,566,448,1057
+895,3740,5833,294,843,308,606,451,1567,64,1475,90,2993,284,129,805,474,1137,322,1626,375,233,1070,216,3298,165,1986,81,41,622,641,1222,2342,65,209,298,173,2568,1964,1488,13,2070,477,296,928,499,289,610,308,100,797,77,1710,299,66,1621,761,1116,146,512,208,576,2295,427,128,40,164,1335,551,124,664,4073,128,377,474,4125,913,252,1501,603,715,306,396,109,286,193,337,1445,354,1377,4564,3642,245,2271,989,660,403,464,1164,202,350,606,667,612,1250,295,14,771,625,1110,3377,278,10,3963,90,1318,251,1159,1014,2323,137,527,366,221,264,291,1413,696,215,8409,5,579,2392,1539,1098,760,16,542,991,401,4285,241,299,1217,256,63,1778,458,7427,132,253,177,2024,1241,205,511,3226,341,92,1941,149,162,1090,909,45,397,211,428,506,211,321,18,609,336,1173
+818,3559,7090,342,680,278,662,468,1612,63,1676,79,3562,307,138,718,434,1127,335,1583,441,220,797,214,3350,166,2113,97,42,540,591,1232,2199,59,238,278,197,2837,1668,1501,13,2409,438,348,755,526,276,578,272,87,840,80,1519,258,66,1451,652,1109,152,588,234,544,2723,509,132,47,162,1356,543,121,663,4565,129,344,503,3944,944,254,1302,617,619,326,379,101,298,175,351,1374,323,1331,4689,3290,223,2041,938,331,395,518,1125,202,342,532,618,614,1201,355,14,889,605,1267,3661,250,10,3866,82,1480,245,1155,891,2248,136,545,339,198,182,301,1309,621,189,9696,4,637,2622,1696,1278,698,17,688,1092,376,4279,270,256,1212,271,62,1619,493,7076,126,247,184,2398,1173,189,582,4879,371,78,2121,137,154,1183,1022,48,406,217,459,553,196,349,20,690,360,956
+735,4470,6549,337,622,370,702,583,1702,70,1649,66,5667,269,144,617,427,915,357,1170,480,240,808,234,2231,182,2010,96,52,539,621,1445,2141,66,256,256,186,2576,1650,1817,12,1922,457,335,740,376,316,196,272,92,850,79,1726,260,75,1405,596,632,148,607,232,595,2729,652,124,52,147,1307,516,137,655,4150,115,345,487,3297,918,307,1152,673,620,340,376,97,289,166,302,1516,292,1397,4370,3060,218,2142,910,369,351,472,1120,205,355,619,700,653,1250,349,14,976,501,1443,3340,433,9,4384,94,1363,264,1222,920,2546,148,640,447,206,168,377,1630,870,187,9430,4,886,2367,1606,1537,812,16,576,1072,387,5022,261,242,1178,282,68,1878,504,6490,139,101,223,2572,1190,186,714,4932,341,70,1728,121,240,1200,1027,48,294,220,400,544,214,340,21,792,354,703
+661,3814,5180,361,707,364,775,720,1620,71,1925,68,6850,245,163,618,421,744,358,1457,543,251,971,254,3192,169,1728,97,54,509,716,1412,2054,70,268,329,183,3128,1636,2238,15,1936,435,345,724,417,326,179,293,81,934,77,1597,194,77,1370,567,609,167,590,282,904,3040,662,140,49,150,1252,477,151,628,4994,109,271,503,3633,715,326,1416,653,571,317,368,96,344,169,366,1336,310,1310,4295,3320,221,2371,861,372,345,499,1082,199,380,519,800,699,1147,320,13,979,467,1404,3580,366,9,4321,67,1098,266,1182,854,3254,96,826,425,206,155,415,1483,1223,201,11116,4,898,2770,1758,1916,605,16,508,1025,373,4590,265,239,1140,274,56,1866,575,5814,152,101,235,2238,1168,164,649,4620,333,77,1574,124,240,1495,1065,49,265,158,402,503,160,380,14,603,364,965
+629,3665,4548,324,790,425,694,725,1403,56,2156,65,7154,259,160,642,398,345,352,1611,490,266,737,207,2565,142,1713,82,52,609,772,1424,2041,67,279,441,175,3017,1850,2042,15,1692,434,322,578,385,336,190,220,75,872,95,1516,203,65,1294,505,646,196,623,282,650,3162,579,167,60,151,1394,433,163,613,5231,114,295,500,3149,730,310,1618,739,554,360,438,129,363,167,291,1372,312,1586,6249,3713,211,2417,838,418,354,598,1131,197,390,507,777,849,1048,339,17,977,388,1456,3887,198,9,3720,56,1321,325,1211,849,3357,51,870,458,124,180,412,1640,1530,188,10382,4,881,2689,1887,1505,726,16,455,1132,366,4737,224,250,883,295,57,1780,552,5405,170,108,245,2365,1069,173,661,4998,383,94,1294,98,243,1428,904,51,332,136,330,730,198,383,14,634,361,1264
+632,4217,4414,386,760,365,709,741,1432,41,1585,66,7205,258,145,599,409,439,402,1760,597,253,851,188,2256,137,1470,76,57,567,821,1458,2374,64,295,375,135,2568,1868,2021,11,1057,458,350,557,41,357,259,198,87,803,97,1498,204,73,1362,469,378,199,617,347,753,3938,562,249,51,167,1599,333,152,617,5775,144,249,451,2274,850,335,1890,762,587,321,443,132,378,151,129,1377,284,1780,6680,4670,196,2932,768,422,365,579,1176,226,416,529,851,822,1298,326,17,959,326,1546,3683,163,13,3660,63,1380,297,1178,986,4035,38,1129,428,156,192,466,1705,1729,103,10718,3,824,2425,2052,1217,649,14,308,1175,275,5585,211,282,924,234,63,1961,603,5990,145,119,225,2371,981,158,780,6081,324,88,1483,124,266,1310,947,61,312,149,341,909,122,452,15,318,369,917
+622,6409,5078,420,799,351,743,847,1567,36,1104,58,6875,277,122,616,388,239,394,1813,586,244,802,159,1600,170,1233,67,56,514,774,1392,2431,62,265,233,132,2353,1817,1906,12,1039,458,346,473,42,316,304,227,96,863,84,1500,225,81,1294,439,342,222,760,385,774,4130,613,272,52,155,2252,307,174,547,5844,111,286,475,2322,827,280,2661,777,650,249,438,175,432,151,129,1359,300,1679,6250,4037,206,2950,797,447,371,578,1242,244,413,492,881,745,1167,339,16,1164,296,1807,2204,184,14,3381,65,1232,280,1120,1140,3556,39,1149,407,118,173,518,1798,1603,107,13068,3,980,2310,2043,1245,673,15,247,1246,269,5063,235,281,911,251,70,1946,538,6531,186,136,240,2591,911,212,744,6449,368,72,1297,115,280,1368,1189,47,333,136,350,1014,161,389,18,219,397,896
+589,6073,6003,509,1021,381,777,756,2056,23,1159,49,8375,233,88,743,402,201,391,1661,678,199,742,191,1692,188,1292,58,54,534,753,1280,2083,59,259,255,113,2340,2375,1764,9,984,438,305,518,29,349,191,223,74,723,85,1645,237,86,1920,422,296,204,735,372,1001,4545,594,291,45,180,2223,212,123,556,6322,128,277,480,2412,758,284,2428,678,573,264,422,167,523,143,133,1346,317,1805,6786,4591,215,3001,822,505,337,634,1164,293,364,451,1033,763,1102,317,14,1089,537,2091,2394,180,15,3014,69,1212,237,784,1393,3937,46,1233,442,127,232,490,1734,1843,138,12847,3,1003,2687,1946,1510,854,14,353,1325,295,4886,205,241,825,257,87,2137,392,6914,233,136,213,3008,925,230,677,6280,399,80,1418,101,315,1467,1031,34,586,143,360,1062,159,452,23,268,323,764
+604,5948,3024,461,1018,311,866,724,1860,18,1085,50,7836,235,89,760,510,192,546,1667,626,187,1022,189,1482,229,1304,61,49,538,724,1446,1871,51,259,246,97,2569,2017,1793,9,981,433,305,635,26,346,232,227,72,729,92,1559,242,76,1737,451,203,197,697,421,994,4296,490,266,40,192,2786,239,103,608,4154,130,271,464,2874,749,293,2345,698,551,262,485,182,492,141,138,1391,295,1556,9045,5068,230,2866,851,486,256,635,1111,351,402,461,913,702,1052,325,14,1119,245,3042,1482,176,15,3136,63,1142,211,403,1622,3681,21,1190,434,143,215,496,1839,1775,142,13247,3,1487,2218,1702,2060,918,15,326,1502,276,4752,220,261,908,232,91,2049,389,8226,225,140,222,3327,1007,188,791,7647,420,87,1817,100,301,1350,967,30,525,147,402,1006,153,433,21,271,360,759
+527,5790,3037,427,1017,253,905,878,1689,19,941,48,7590,228,96,832,543,210,128,1703,552,209,881,222,1257,227,1396,54,55,518,1050,1304,2455,42,337,189,75,2884,1983,1850,9,998,430,317,512,28,369,262,221,47,706,97,1615,262,69,1830,458,202,215,683,357,1112,5515,496,256,42,194,2955,229,96,653,4575,132,254,545,2963,574,297,2442,640,495,294,589,186,510,144,98,1472,294,1628,8759,3707,202,2446,845,198,302,724,957,347,379,465,854,806,1210,298,15,1169,253,3755,1562,230,17,3076,63,1143,226,371,2012,3944,27,1310,510,163,352,513,1645,1647,121,14623,3,1830,2179,1965,1436,886,13,259,1791,278,4652,224,281,992,198,83,2258,367,11346,179,114,193,3895,1016,182,749,8769,425,77,1838,91,301,1097,1125,41,541,165,434,1182,137,497,17,299,353,880
+498,5565,2936,478,1036,341,801,791,1897,19,971,38,8078,226,101,951,563,265,115,1712,578,190,952,186,964,219,1757,57,59,604,1115,1131,2875,42,308,203,70,2729,1492,1956,10,755,414,325,636,21,330,295,153,46,607,87,2037,215,56,1870,623,171,205,599,425,880,5852,555,254,48,191,2979,224,72,576,3421,132,246,372,2774,632,287,2434,599,426,286,693,207,726,162,90,1898,310,1554,8337,3536,198,2750,830,233,262,762,993,324,343,465,795,783,1150,334,14,1008,221,3833,1307,286,19,2876,68,1235,263,364,2099,4315,21,1324,469,133,547,562,1506,1823,116,15500,3,2359,2172,2052,1351,957,14,204,2063,257,5349,218,226,989,201,56,2479,328,10541,159,114,286,2849,1012,173,674,10377,509,76,1867,92,309,1203,1029,44,586,143,381,1112,74,556,15,349,411,1140
+483,6992,2568,475,1099,372,848,689,1864,21,907,43,7275,231,85,1376,550,288,112,1600,535,175,1098,175,756,198,1779,41,69,626,1162,1208,3438,47,281,207,78,2524,1589,2145,10,649,403,359,639,24,278,290,128,50,550,112,2236,223,58,2099,611,190,212,565,438,845,6138,604,274,57,185,2676,272,63,506,3938,106,281,355,3164,699,258,2391,550,481,255,743,198,691,172,90,2619,283,1658,9790,3207,247,2843,950,222,210,699,741,285,337,505,847,739,1076,314,15,978,261,3526,1341,263,22,3112,70,1314,284,408,1910,3880,25,1358,499,130,468,547,1397,1377,132,17108,2,2298,1462,2006,1174,895,12,224,2655,266,6119,212,226,938,229,56,2807,358,10766,227,101,263,1874,1135,175,605,9893,617,84,1838,86,330,1571,1119,45,491,148,426,1214,67,397,17,451,392,1203
+478,7560,2056,449,1061,255,773,571,2339,24,921,37,6149,231,94,1434,670,301,135,1605,817,186,752,189,782,209,1837,34,58,668,1620,1348,3349,44,269,288,71,2598,1877,2265,11,657,467,307,606,10,301,278,125,40,544,111,2011,188,50,2034,655,222,181,517,341,675,5981,541,323,64,180,2939,289,73,475,5565,87,211,277,3215,713,237,2311,491,592,283,607,183,596,151,79,2833,299,1756,10045,2942,230,2595,956,221,213,835,757,286,306,485,816,704,1192,335,10,1181,218,3908,1343,228,27,3484,69,1348,284,445,1719,4189,25,2086,524,150,432,606,1761,967,121,19138,3,2866,1255,2573,1307,809,12,263,3056,260,6025,202,190,969,224,56,2608,401,10835,230,97,237,1676,1140,205,551,12598,579,85,1704,70,366,1625,1202,34,405,147,417,1434,53,417,23,537,365,1131
+519,9143,1917,459,1125,244,719,734,2737,25,906,47,7054,233,88,1639,797,303,108,1602,773,194,806,193,843,191,1411,30,53,791,1815,1287,3171,46,403,253,65,2929,1768,2175,17,632,494,281,493,9,313,255,109,36,601,98,1882,236,42,2549,744,226,188,466,352,878,6076,564,291,63,183,3306,150,95,459,5270,89,238,299,2427,688,240,2359,596,561,286,548,195,600,150,94,3088,308,1884,11598,4135,240,2483,1077,114,177,895,859,331,293,500,968,755,1059,292,10,1140,270,4269,767,268,30,3109,87,1348,259,417,1959,4484,26,2626,514,138,429,589,1646,947,124,22435,3,2800,1451,1803,1382,1271,11,235,4487,236,6865,194,177,915,205,52,2586,405,9792,223,93,209,2046,1078,212,564,12411,615,76,1688,63,346,1529,1099,39,398,136,335,1468,56,458,23,533,360,1178
+471,8515,2455,472,906,237,689,713,3123,26,937,44,7577,233,80,2172,891,250,65,2390,877,207,1046,203,808,177,1543,32,54,853,1750,1231,3624,49,517,243,69,3550,1991,2193,14,671,479,299,493,10,284,187,76,34,561,88,1620,174,47,2365,777,317,222,443,457,967,6018,518,346,70,179,3286,192,87,450,4813,86,246,314,2491,751,213,2397,675,623,258,382,182,621,152,72,3308,278,1839,11320,4378,303,2583,970,113,162,846,990,404,304,475,1428,743,1374,315,11,1403,277,5164,724,328,27,3029,91,1494,282,387,1969,5465,26,2907,486,136,458,743,1577,926,122,24223,3,3149,1682,2116,1107,1411,12,145,4493,267,7242,212,161,846,209,45,3090,398,9704,210,92,299,2362,970,154,610,13385,730,72,1758,61,363,2296,1130,43,380,125,331,1604,52,519,21,497,378,1085
+472,8535,2273,533,937,263,681,730,3452,28,899,46,6850,228,74,2787,996,312,50,2769,800,183,841,177,802,194,1480,34,51,1079,2085,1266,3750,44,588,247,59,4400,1884,2017,12,695,513,277,537,9,260,164,89,43,630,74,1622,169,51,2231,761,310,265,438,367,1085,5773,475,363,76,168,3298,170,78,470,5178,102,217,301,3061,760,251,2126,805,758,273,481,203,575,137,71,3938,284,1882,12621,4787,310,2308,1027,162,171,740,980,383,314,435,1985,695,1624,285,10,1905,111,5531,753,334,26,3451,106,1206,255,357,1994,5408,26,2686,549,123,464,691,1926,1126,111,27230,2,2915,1534,3391,1099,1495,11,126,4927,292,6937,203,175,899,247,46,3014,400,9549,196,93,349,2543,1094,164,910,12925,673,70,2506,40,377,2651,1345,45,414,128,353,1745,58,458,20,412,367,1336
+482,9314,2290,657,941,234,576,715,2865,28,975,53,6682,246,74,2283,968,334,41,2748,1345,230,1023,202,864,180,2034,33,52,1472,2141,1176,3522,44,703,280,72,4295,2209,2125,12,777,495,284,565,7,289,146,125,65,634,81,1826,183,49,2546,815,312,290,665,371,1311,5379,540,372,80,171,3597,134,71,368,4825,99,193,314,2932,840,184,2114,706,887,274,514,208,511,139,77,3823,294,1683,13842,6573,329,2961,952,147,202,777,971,389,286,422,2010,811,1667,292,10,2031,128,7340,883,352,26,3629,112,1116,221,343,1884,5990,31,3180,545,121,624,717,2345,908,122,26849,2,2764,1832,4090,1185,1406,13,91,4294,274,6641,239,177,672,257,49,3259,374,9132,204,109,347,2759,1057,85,1162,11368,689,68,3186,45,388,2658,1450,43,307,136,317,1579,50,485,19,396,388,1590
+367,11850,2488,603,921,199,641,626,2814,26,827,61,8693,154,63,2197,1089,345,31,2825,1373,202,1062,218,515,194,2347,32,52,1757,2444,1084,3425,41,751,286,72,4556,2365,2139,11,815,554,215,435,7,255,145,142,45,717,69,2142,180,48,2418,742,453,321,696,396,1079,5904,503,338,73,157,3249,150,64,269,5459,87,226,307,2679,866,178,2138,711,754,280,569,194,494,143,69,3568,276,1892,12980,6244,305,2670,899,140,210,804,789,390,272,401,2110,742,1692,322,9,1702,129,6669,1067,314,24,3461,120,1007,214,343,1803,6066,34,3111,583,146,684,756,2870,729,130,26470,3,2446,2055,4684,1334,990,15,71,4953,288,6976,246,154,560,271,70,4005,395,11041,200,106,475,3029,996,96,1230,13763,758,79,3770,47,408,2938,1414,34,416,136,359,1643,61,494,17,374,373,1628
+376,13020,2349,552,877,151,567,617,3018,23,896,74,8328,158,63,2035,1088,370,30,3019,1325,205,1113,227,477,214,2368,36,65,1547,3522,1180,3509,48,680,299,71,4165,2588,2140,11,802,574,273,351,6,296,161,167,50,673,60,2479,139,36,2313,711,399,329,707,435,1051,6056,470,263,84,162,3046,150,43,263,4595,92,204,329,2200,939,180,2170,619,987,278,524,212,520,138,73,3202,261,2316,13546,7117,350,3460,862,151,200,818,822,374,301,383,2176,744,1686,316,10,1983,121,6595,1060,358,27,3541,98,1108,170,338,1872,6133,34,2710,629,143,594,761,4154,601,135,27426,3,2258,1987,4444,815,649,13,69,5378,303,6661,232,167,319,305,76,3265,334,11931,254,141,604,3877,930,103,1313,15104,605,74,4555,49,458,3231,1648,35,240,138,326,1368,62,516,17,383,375,1508
+336,14235,3180,552,824,146,656,580,2930,22,864,62,7857,160,66,1557,1130,392,31,2215,1485,202,1164,211,649,213,1903,21,63,1582,3975,1251,3549,55,711,262,73,4041,1728,2164,14,836,568,266,344,7,270,159,148,47,670,67,3449,142,40,2313,718,510,340,779,427,846,5689,158,267,129,158,3464,146,54,276,3962,87,181,326,1821,959,190,1982,576,937,308,613,188,525,135,84,3326,234,2477,13407,6929,330,3541,821,174,199,737,907,366,316,428,3242,793,2372,283,8,1961,130,5576,1164,378,25,3524,94,1026,147,310,1675,5986,27,2589,619,147,467,762,4250,392,125,26305,3,2033,2204,3910,986,663,13,61,5816,323,6261,255,143,281,319,82,3173,298,10454,266,151,688,4498,1043,94,1521,14337,656,83,4497,50,552,3889,1666,37,249,131,310,1370,49,567,10,409,459,1376
+267,13853,4212,601,757,158,582,539,2666,20,1031,55,7600,169,73,1642,1148,405,29,2560,1714,178,1064,218,670,233,2248,19,75,1389,3453,1415,3670,50,1017,307,61,4668,2177,2122,15,787,593,298,326,7,287,115,195,45,695,64,3692,150,37,2488,729,352,277,854,388,773,4827,179,277,165,169,3914,130,47,250,5221,87,201,319,1772,941,172,2113,523,875,341,549,227,515,156,72,3264,224,2487,14297,8244,337,3260,782,168,163,687,842,345,382,417,3436,663,2094,297,9,2286,155,5151,1075,378,30,3405,106,894,175,268,1718,5799,21,2920,663,141,504,911,3702,291,105,24700,4,1897,2912,4309,1014,740,11,61,8590,268,6222,271,148,226,294,85,3174,275,9470,289,152,710,4724,983,86,1626,16019,584,75,4790,52,677,4335,1638,31,256,125,290,1216,47,633,9,565,475,913
+328,13833,3753,652,581,114,656,507,2357,18,1037,56,7239,173,74,1810,1079,537,28,2886,2130,171,1349,211,598,233,2559,22,71,1468,3287,1238,4053,52,1129,298,64,4691,2308,2399,16,748,500,288,301,7,277,151,168,50,682,46,4264,163,38,2774,502,344,270,753,292,712,4446,195,253,151,186,4044,132,45,258,5444,92,208,385,1840,1174,192,1482,588,637,360,197,318,594,163,89,3048,223,2318,15782,6997,434,3647,877,155,156,802,828,443,427,389,3355,695,2741,272,8,2228,154,5380,1004,274,33,3414,98,943,147,169,1978,5988,24,2666,720,139,420,880,3905,311,106,25052,2,1865,2864,3953,1162,751,11,54,8072,295,7062,226,136,334,243,115,2603,290,8743,274,157,727,5050,1081,98,1894,18290,595,81,5817,65,654,4482,1779,32,208,115,240,1193,41,592,9,621,496,1049
+416,12753,3749,635,566,141,655,537,3021,21,1410,61,6837,191,64,2121,1150,625,24,2861,2328,171,1739,176,603,235,2179,23,68,1613,2903,1176,4127,57,1478,244,60,4953,2194,2478,14,813,444,300,283,9,294,193,218,63,747,36,4534,154,29,3144,613,255,265,693,298,708,4787,201,256,151,204,3884,119,24,241,6088,107,189,358,1392,1184,165,1431,565,634,304,187,291,626,170,91,3235,211,2517,15811,9024,379,3810,881,197,149,847,922,429,476,390,3535,622,3253,261,9,2306,147,5547,862,340,33,3501,84,857,130,149,1556,6533,25,3286,677,81,475,980,4003,302,107,25142,1,2178,2531,3343,1329,876,11,70,10837,278,7866,203,131,315,220,119,2484,281,9187,223,132,971,4392,1056,111,1774,17272,664,75,5564,34,744,4592,1749,30,172,109,216,1324,35,607,6,658,423,1028
+456,13324,3433,583,628,138,542,611,3230,23,1468,61,7916,239,65,1704,1106,647,23,2790,2374,160,1828,176,564,239,1989,22,67,1669,3020,1209,4063,62,1965,261,73,5027,2430,3025,17,803,391,345,310,9,278,218,332,81,582,31,4078,158,31,3446,644,280,348,649,295,664,5518,215,288,168,211,5088,146,28,277,5825,116,193,307,1774,1212,156,1549,625,501,338,192,368,590,183,84,3557,180,2502,18629,7875,391,4167,901,211,151,887,1051,401,410,394,3438,673,4639,268,9,2276,160,6409,883,355,41,3387,80,827,130,157,1316,6143,24,3437,829,73,437,896,3508,337,97,27910,1,2428,3236,3779,1136,581,12,85,9715,268,8631,200,138,277,196,134,2243,319,8576,223,147,1135,4678,928,104,1958,14733,505,84,7358,24,957,4561,1615,32,195,116,201,1810,35,610,4,613,480,953
+434,16070,3117,537,607,122,485,653,3934,17,1286,51,8956,230,58,2038,1172,678,23,2621,2872,175,2063,173,571,257,2257,27,89,1760,3670,1097,3768,63,2188,227,61,4880,2290,3244,22,876,396,385,370,11,274,321,362,84,723,28,4312,155,29,3153,643,293,339,691,362,558,5737,189,320,195,220,5003,127,31,320,6078,121,173,313,1974,1113,165,1570,663,445,352,190,310,586,189,81,3196,167,2713,20048,7304,433,3704,860,169,181,848,975,445,441,348,3894,608,4722,305,9,2614,167,6716,814,304,39,3298,74,1024,132,146,1405,6753,26,3168,819,71,405,848,3937,503,76,25644,2,2776,3373,3481,899,550,12,88,8937,339,10432,168,145,257,209,164,2435,345,11152,212,150,1176,4536,897,95,1976,15036,545,87,7108,20,912,4694,1687,32,236,124,198,1728,38,595,4,409,531,942
+363,15712,2100,515,645,94,550,600,4286,16,1482,54,8952,212,52,2158,1269,524,24,2609,3087,173,2157,191,460,263,1923,30,98,2146,3755,1167,3764,71,2435,177,62,4639,2604,3374,25,967,465,377,363,11,275,327,506,79,785,30,3992,166,25,3946,772,318,345,988,285,497,5563,187,382,216,213,4981,153,40,304,6205,127,192,400,2043,1145,183,1468,816,411,370,225,275,623,200,75,3298,160,2724,22956,8131,453,3500,934,125,146,855,986,444,439,337,3692,650,4254,305,9,2532,192,6147,620,318,42,3300,88,1105,129,145,1596,6986,31,3160,921,75,222,921,3673,536,62,35155,2,2797,2651,4306,984,485,11,82,9175,350,11624,204,164,310,226,196,2013,317,13190,193,204,1188,3760,894,97,2047,16723,656,106,7399,17,1075,5113,1810,28,214,108,139,1739,46,587,5,372,493,1084
+379,15150,2193,513,575,80,575,711,5007,11,1387,53,8174,208,45,2345,1122,546,12,1977,4537,149,2144,148,374,265,2387,27,109,2141,3943,1310,3629,65,2329,209,64,4352,2215,3356,9,1089,569,372,423,14,247,434,520,89,772,26,4021,172,24,3722,762,302,350,1233,299,436,5779,181,370,261,227,5645,156,46,280,6349,155,212,389,2365,1163,157,1540,695,470,358,177,328,618,231,82,3422,173,2514,22556,7780,422,3426,967,124,140,849,891,487,415,326,3736,722,4215,306,10,2103,202,7962,668,341,40,3566,99,1082,103,148,1518,7452,33,3359,1305,74,241,874,3760,379,88,38133,2,2897,2728,5022,818,475,11,78,9397,336,13306,221,163,311,229,191,2394,337,14016,239,210,1406,4296,884,51,2647,17854,621,105,8061,14,1077,6536,2035,28,208,98,149,1743,47,598,6,416,545,872
+375,15444,2196,638,500,101,570,734,4987,11,1300,51,8965,197,36,2889,1301,413,12,2218,4295,128,2287,152,307,271,2314,28,118,2444,3698,1234,4262,63,2025,206,42,4886,2331,2987,9,1284,605,409,405,11,266,325,466,79,729,22,4527,174,23,4037,1010,286,370,1354,209,563,6019,150,353,234,245,5570,181,42,275,6637,147,224,308,1788,1047,198,1563,783,562,409,181,337,746,245,93,3979,184,2849,20166,8122,465,3467,937,108,114,693,750,431,422,320,4275,785,3984,329,9,2084,187,7413,727,345,42,3799,99,1069,112,170,1215,6961,37,3715,1527,69,191,946,3824,297,96,37194,2,2693,2729,5883,960,354,9,76,9342,262,13969,220,168,301,200,155,2559,323,14598,236,234,1501,4314,872,38,2370,20852,657,99,10445,15,1172,6492,2050,27,196,91,159,2161,62,562,3,360,563,1029
+322,14844,1556,749,463,107,444,832,5342,11,856,40,9072,202,34,3037,1607,421,11,1631,5147,136,2335,134,391,286,1770,30,147,2452,4538,1239,4467,57,2181,228,40,6574,2351,3012,6,1265,635,505,403,12,252,307,454,82,666,24,4899,155,25,4160,1012,199,410,1915,187,605,5658,150,378,224,207,4993,198,37,254,6745,57,232,296,1771,824,181,1703,873,515,434,182,390,796,309,108,4841,199,3037,16762,7941,537,3280,789,97,108,870,879,577,462,343,4834,804,5704,330,8,2165,225,8062,685,377,49,3321,78,1166,107,196,1389,7358,41,3995,1537,65,215,1158,4155,357,113,46430,2,2393,3215,6600,1054,461,10,83,10010,298,12752,213,160,343,236,139,2289,339,16327,211,255,1373,5939,843,31,2438,20099,744,97,9267,15,1407,6595,1896,25,146,91,178,2151,80,612,3,392,566,1253
+321,15415,1408,687,415,108,505,843,6060,12,872,43,8946,237,38,2829,1545,702,12,1562,5713,115,2428,139,431,407,2033,28,132,2440,4720,1419,6553,62,2307,208,44,6379,1964,2919,6,1208,521,514,371,12,246,269,471,77,709,25,6091,58,24,3969,863,186,359,2693,185,770,6112,178,372,235,215,6510,214,40,265,6642,53,273,296,1866,844,157,1811,788,608,369,165,413,760,314,155,4545,184,2548,17623,8782,643,3508,806,116,99,989,969,585,485,348,4840,786,5845,351,8,1961,190,7391,515,390,48,4027,83,1243,120,209,1276,7886,38,4131,1505,58,214,1021,4236,361,103,53849,3,2550,3254,7920,1230,404,10,81,9968,258,15563,200,163,335,226,109,2524,368,17665,191,246,1109,5383,777,26,2666,19304,626,99,10266,23,1495,6518,2074,28,156,75,151,2260,95,689,3,405,639,1613
+235,15880,1731,692,366,115,600,785,6771,11,884,43,9401,207,47,3268,1955,710,13,1873,7989,119,2740,144,360,412,1928,27,134,2880,5577,1675,7380,58,2164,235,51,7774,1822,3021,4,1229,493,615,383,11,222,231,351,82,780,25,6641,49,27,3664,928,234,363,2448,183,760,5699,133,307,218,244,7131,198,38,293,6247,49,273,263,2160,907,165,1856,867,717,361,190,527,866,293,175,4567,187,2368,19799,7712,710,3692,852,89,84,1053,1040,685,442,391,4563,740,6128,389,6,2772,178,6623,500,503,53,4496,85,1252,112,153,1230,7762,35,4527,2084,73,242,1015,5327,417,129,54477,3,2639,2906,9047,1125,504,10,96,13042,232,15186,161,171,321,240,92,2675,409,20717,180,229,946,5342,778,26,3135,17890,673,130,10352,20,2123,6786,2215,17,181,69,147,2680,95,633,3,341,606,1546
+275,16807,1531,1016,382,112,701,726,7317,13,832,51,9190,174,44,3085,1838,707,13,1992,8444,124,2719,143,307,481,1949,25,148,3675,6099,1799,7188,57,2416,186,47,8530,1148,3019,4,1193,454,600,504,12,165,189,369,72,767,25,6559,39,28,3979,969,223,420,2398,191,716,6070,126,290,246,235,7524,175,39,306,6729,51,240,273,2438,911,159,1852,896,802,415,211,600,1003,286,182,4992,142,2411,20861,5569,681,3592,769,97,92,1143,798,670,475,390,4846,849,6355,376,6,2697,178,6553,488,358,56,4670,109,1265,123,156,1269,7825,40,3963,2771,73,250,1066,5131,491,113,55552,3,2304,3119,9423,1039,489,10,123,16812,224,14957,133,169,293,241,83,2664,417,21542,300,226,874,5230,820,39,3412,24355,742,117,9315,18,1994,6990,2360,16,166,59,161,2601,77,716,3,306,562,1348
+257,22958,1259,1244,451,123,658,821,8195,16,1010,51,8425,162,49,2054,1940,673,13,1878,7932,112,1860,154,338,480,1546,26,158,3522,5922,1906,6060,60,2844,175,53,13278,1141,3807,4,1220,426,658,516,13,162,199,515,62,852,24,8259,38,31,4170,1045,258,414,2637,224,781,6629,114,284,240,222,6899,152,19,338,6195,52,251,420,2204,839,151,1607,876,661,317,233,647,892,309,170,5764,148,2488,19545,5097,712,3885,746,87,94,1580,891,780,445,460,5432,790,8002,253,7,2485,181,6495,522,282,70,4393,111,1078,139,169,1184,9528,38,3569,2537,42,190,1138,5692,617,113,53914,3,2564,3172,8606,1113,695,9,115,17640,256,18392,158,138,285,246,80,2472,484,20558,281,224,934,4192,700,42,4735,24822,790,115,10475,26,2059,4660,2406,10,243,62,177,3026,67,658,4,305,574,1278
+267,27940,1254,1233,420,86,683,750,8609,13,817,54,8443,172,47,2381,1764,577,15,1750,8485,122,1557,135,281,463,625,26,167,3693,6180,1743,7429,65,2659,242,72,13098,1083,4274,3,1284,418,730,499,6,201,224,440,77,775,24,9473,40,31,4430,1289,302,374,3151,232,748,6962,106,269,224,212,6080,179,14,330,6496,53,304,416,2814,873,160,1503,803,714,398,278,683,1021,383,173,5885,157,2760,22411,5044,808,4941,786,97,101,1950,879,883,454,439,5051,708,7887,232,9,3169,118,6824,482,238,70,5149,106,896,133,112,1081,9855,46,3313,3190,25,212,1245,5247,798,125,51134,3,2448,2794,10390,731,710,9,118,18039,276,16664,183,143,272,260,80,2608,505,20394,269,208,921,4067,791,30,5111,28353,796,111,10695,30,2450,4700,2730,8,182,61,204,3571,72,717,4,295,604,1189
+255,37563,1784,1885,349,88,717,758,11550,15,759,58,8657,175,39,2229,1721,613,11,946,9860,101,1519,150,248,480,660,30,168,4732,6645,1806,7924,59,3468,275,84,15324,1107,4616,3,1345,399,700,516,5,216,231,499,60,691,24,10168,35,35,6343,1393,286,398,3256,287,709,6710,124,258,242,180,6404,206,14,292,6001,35,273,402,2265,713,136,1476,746,917,416,305,592,1143,440,119,5962,151,2848,19921,4237,946,6206,662,107,96,1924,846,917,440,405,5000,755,8169,260,9,3332,127,6421,519,257,69,5729,107,880,145,113,988,9574,34,3513,2932,34,157,1072,5656,816,121,61275,3,2782,2877,12117,803,895,6,91,16627,272,16954,172,148,284,242,85,2640,512,24822,279,240,977,3698,499,31,5253,30834,717,106,11409,30,2771,3886,2581,8,194,58,206,4277,69,811,7,332,663,1006
+256,37519,1580,2213,372,74,607,822,12837,15,702,48,9133,147,42,2503,1731,555,9,994,9528,104,1666,139,329,492,664,32,173,3945,7104,1907,7547,65,3480,274,67,15227,1049,4823,3,1306,320,648,444,5,216,190,613,60,816,23,8753,45,31,7007,1428,302,460,4959,328,655,8055,123,244,234,183,6194,201,14,310,6174,37,263,393,2706,704,112,1509,899,987,429,269,562,1000,450,131,6834,156,2667,21657,3984,1031,7509,619,54,95,1780,854,834,431,427,5260,695,7866,260,11,3824,123,5662,618,272,75,7268,141,824,125,128,1172,8064,24,3456,3328,30,156,1280,6714,762,119,85707,3,2745,3316,11986,934,427,6,78,20288,280,18299,188,138,268,274,77,2458,496,25821,265,243,973,3086,502,31,4874,29508,816,103,10564,30,2915,2742,2852,6,190,52,205,4014,57,803,9,366,653,1049
+258,41175,1694,2263,319,59,618,805,13653,15,541,61,9269,174,43,2362,1542,473,9,762,9107,104,1729,117,294,437,689,24,157,5059,7449,1867,8662,68,3547,256,74,12840,995,6300,3,1163,344,722,511,5,210,218,786,53,864,27,8377,22,31,7348,1607,234,336,4450,334,566,9279,122,183,259,183,6366,163,16,300,6595,35,274,335,3655,625,106,1513,899,918,402,292,546,972,516,128,6393,132,2629,18521,3822,925,6974,643,54,111,1838,709,954,464,485,5471,629,8188,251,11,3892,121,5435,546,330,66,7121,148,872,129,127,1307,8071,31,3163,3229,34,131,1404,6597,1008,102,84361,3,3082,2147,8147,901,474,6,76,19177,263,17667,198,120,273,230,81,2127,465,25358,242,319,1070,2797,526,25,4801,34069,819,108,10485,36,3371,2982,2795,6,186,50,173,3924,57,738,11,377,597,1040
+233,42582,1890,2226,281,55,685,839,13762,15,537,58,10032,189,51,2793,1647,465,8,767,10615,102,1836,114,313,409,782,25,163,4972,7129,1756,8845,61,3851,305,69,16158,1062,7492,2,1145,307,684,511,7,211,230,1037,36,985,18,8143,25,30,7816,1676,183,378,4728,371,529,8252,131,189,286,187,6530,155,13,313,6049,37,272,384,3094,563,117,1429,969,918,374,268,560,954,529,78,7947,121,2910,17407,2752,1005,7286,714,44,111,1885,760,1131,416,418,6279,538,9680,280,10,3874,132,5450,756,363,61,8049,154,890,144,66,1383,8693,33,2960,3549,25,146,1462,7728,1028,88,93011,3,2846,2262,8611,1008,579,7,65,21948,267,19809,210,138,217,206,85,1946,485,26072,214,350,1077,2464,494,31,5826,34011,745,105,10986,35,3763,2785,2886,5,183,47,191,4454,34,695,12,435,748,1233
+298,38888,1670,2214,295,42,737,901,15347,16,580,61,10734,131,43,2438,1462,507,10,965,10204,90,1821,90,433,373,830,22,137,4268,6558,1531,8599,53,4225,311,100,20235,813,8336,2,1002,314,622,505,8,222,220,1046,24,901,19,9846,26,34,7623,1642,129,435,5042,384,510,9610,116,193,348,195,7263,163,13,294,4766,37,246,377,3389,512,111,808,892,973,455,238,526,892,599,57,8599,131,3345,16532,2845,855,7125,870,53,120,2115,774,1091,496,410,6288,512,9637,277,11,4269,129,5488,721,364,60,8619,143,821,152,40,1080,9877,31,3146,3311,31,180,1525,7468,752,90,93166,3,2901,2121,6086,851,474,8,78,23464,269,19476,180,145,196,233,86,1848,489,27894,204,354,1110,2715,389,30,6894,33803,721,105,10563,30,3864,2679,2923,5,163,55,182,4307,37,720,11,446,667,813
+322,43746,1835,2518,290,33,655,883,18333,16,583,65,11030,136,55,3327,1744,541,11,819,9102,82,1907,92,411,353,701,23,128,4822,5814,1265,8636,52,4060,347,99,22009,946,7278,3,1154,379,580,515,11,196,236,1439,20,818,16,9435,25,39,8173,1884,133,429,5396,313,532,9779,116,201,367,179,8286,160,11,240,4128,36,273,367,2314,499,128,807,823,977,431,177,572,1079,561,54,8485,138,3739,18121,3424,890,7620,1041,63,112,2035,697,1131,406,385,6798,508,11242,219,11,4476,98,5138,648,540,59,9079,153,834,189,40,1143,9162,35,3815,3249,37,184,1593,6544,796,94,110058,2,3360,1934,7627,788,368,7,65,25731,295,25721,147,142,192,247,100,2063,502,27972,173,434,1520,1778,385,47,7295,29999,748,98,9088,35,3640,2128,3396,4,179,60,183,4403,28,862,11,594,670,861
+390,46537,1735,2463,270,30,599,994,22980,18,485,60,13980,146,64,3748,1816,421,10,946,10653,95,1771,90,245,430,661,25,147,5726,5561,1018,9991,57,5036,385,79,20469,1062,7940,2,1111,344,549,530,12,218,211,1603,24,788,18,9029,17,39,8498,1731,129,604,6818,333,422,9920,114,181,357,184,9180,180,8,342,4226,31,337,381,2226,385,144,762,912,782,466,196,560,1057,599,56,9451,132,4367,26694,2835,1035,8539,1055,61,120,1968,629,1031,382,391,5647,520,10430,186,16,4975,88,5266,627,485,66,8355,163,799,199,35,1203,8684,37,4785,3465,38,186,1855,6273,825,102,115089,3,3820,1850,10084,1075,356,5,64,27458,324,24168,165,125,232,310,85,2241,526,24498,116,434,1452,1863,392,45,8407,28798,631,94,12016,36,3882,1910,3300,3,196,56,182,3768,29,716,6,517,723,962
+451,44942,1829,2785,272,42,646,1085,20596,21,460,71,15863,142,63,2980,2026,417,10,1332,10240,107,1750,101,217,508,810,22,133,6897,6100,1077,10814,62,5695,231,87,23367,1105,8273,1,980,257,596,427,11,234,198,1339,22,723,18,9105,18,34,8988,1828,131,682,6806,278,385,10313,116,172,320,192,9371,289,8,302,4733,26,343,376,2240,376,148,810,789,720,455,214,469,1095,675,55,8918,143,5371,28645,2947,952,9267,1004,60,114,1991,566,1221,396,391,5886,570,10484,194,15,5361,109,5009,485,563,66,8886,156,965,192,36,1049,9832,38,4857,4343,20,208,2200,8648,1002,103,119161,4,3967,1729,8618,1535,451,6,67,32437,340,25424,132,115,226,312,76,2140,540,30146,127,499,2095,2079,347,47,11406,27395,632,124,12071,30,3792,2055,3817,3,177,57,138,2945,33,723,5,565,806,1073
diff --git a/dataset/L3_raw_data.csv b/dataset/L3_raw_data.csv
new file mode 100644
index 0000000..f4a565b
--- /dev/null
+++ b/dataset/L3_raw_data.csv
@@ -0,0 +1,55 @@
+0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174
+2280,2226,6198,184,1242,688,566,568,2190,88,2516,128,3492,278,400,812,496,1660,510,3192,670,428,3804,290,5708,298,2546,192,62,814,874,1964,4674,122,396,436,484,2764,2074,1470,278,4916,1100,568,1472,1102,1010,4788,1370,590,1402,288,2488,506,76,1102,1406,2208,658,742,416,894,2224,1292,314,56,344,1176,2118,324,1960,6922,666,546,900,6382,1940,666,3226,1344,720,406,5350,136,246,380,1026,1020,648,1042,3802,2786,230,1582,1162,3046,1104,568,2408,138,1204,1114,606,1206,1812,704,54,1068,3464,956,6642,262,18,2942,118,2090,552,2494,1450,5080,616,1026,330,824,838,496,1978,1492,406,9028,16,1022,1988,2386,3868,1818,134,5134,934,562,3966,436,330,2086,652,144,3970,1472,3954,232,892,340,3092,2116,1200,1000,6342,562,138,3302,332,220,1614,1590,128,1030,414,1444,802,468,1042,568,930,1044,2352
+1140,1113,3099,92,621,344,283,284,1095,44,1258,64,1746,139,200,406,248,830,255,1596,335,214,1902,145,2854,149,1273,96,31,407,437,982,2337,61,198,218,242,1382,1037,735,139,2458,550,284,736,551,505,2394,685,295,701,144,1244,253,38,551,703,1104,329,371,208,447,1112,646,157,28,172,588,1059,162,980,3461,333,273,450,3191,970,333,1613,672,360,203,2675,68,123,190,513,510,324,521,1901,1393,115,791,581,1523,552,284,1204,69,602,557,303,603,906,352,27,534,1732,478,3321,131,9,1471,59,1045,276,1247,725,2540,308,513,165,412,419,248,989,746,203,4514,8,511,994,1193,1934,909,67,2567,467,281,1983,218,165,1043,326,72,1985,736,1977,116,446,170,1546,1058,600,500,3171,281,69,1651,166,110,807,795,64,515,207,722,401,234,521,284,465,522,1176
+1211,1378,2821,113,575,319,267,295,1167,52,1314,64,1807,134,193,304,260,926,264,1632,346,214,2086,154,2544,144,1261,86,26,437,430,942,2691,69,201,176,202,1194,985,851,126,2560,626,292,817,602,566,1929,677,262,735,132,1269,324,41,576,708,1196,353,438,181,440,1209,654,165,29,176,561,881,158,902,3768,320,291,464,3662,1011,254,1270,680,456,177,2338,61,115,190,407,506,313,677,2218,1414,112,775,591,1285,503,295,1266,65,574,550,320,611,865,353,26,649,1055,495,3164,146,9,1174,75,954,239,1252,712,2516,284,477,182,171,412,286,1199,863,258,5296,8,479,990,1313,2126,1209,58,2556,434,273,1835,194,161,878,314,65,2022,702,2115,118,486,180,1467,1077,523,565,2989,245,67,1643,167,102,884,850,68,577,231,655,449,224,600,224,577,492,1258
+1238,1587,2356,107,520,265,296,316,1186,42,1387,70,1629,142,184,338,301,1035,256,1900,316,257,2314,171,2397,174,1207,78,26,404,548,934,2481,69,174,212,180,1186,1021,1064,109,2673,591,318,871,694,558,1146,819,277,861,142,1315,401,44,781,769,1329,394,500,184,362,1125,634,165,31,180,660,769,145,993,3912,319,285,512,4673,1008,245,1331,672,418,218,1678,75,104,198,418,577,321,678,2270,1747,120,799,633,1155,572,326,1255,91,623,537,305,597,869,373,22,696,1207,514,3094,178,9,1177,77,1014,231,1259,763,2390,261,556,213,91,377,245,1157,619,282,4537,7,482,923,1016,1992,903,20,2388,442,311,2013,191,158,1069,309,59,1812,685,2199,104,490,184,1072,1117,528,531,3545,292,67,1784,122,123,948,948,52,473,209,620,473,231,607,275,407,421,1109
+1093,2075,2964,117,578,371,359,349,1151,48,1418,70,1783,149,176,305,314,1285,259,2629,321,238,1905,222,2279,166,1230,86,26,376,566,1020,2472,71,204,203,232,1420,1235,1202,110,2586,579,381,762,792,533,1284,891,297,704,144,1288,222,51,894,729,1311,228,523,187,370,1326,659,172,28,179,853,775,124,1189,3978,381,260,384,4959,1105,240,1162,585,471,209,1499,85,102,207,432,700,307,863,2659,1668,124,960,748,924,545,364,978,119,728,549,308,680,1137,380,20,655,1226,799,2536,190,10,1244,103,977,236,1231,814,2472,216,521,229,105,249,238,1117,614,290,5689,6,636,941,1318,2143,643,22,2986,466,348,2412,221,176,1164,299,42,1530,762,2671,93,467,188,1324,1032,439,509,3084,307,58,1794,142,114,916,1029,42,550,227,648,447,232,563,188,338,432,1148
+966,2269,3390,135,614,432,341,428,1107,49,1091,76,1802,132,169,371,324,1134,258,2805,319,197,1492,220,2377,151,1364,101,25,357,468,1163,2741,74,200,234,238,1399,1402,1147,52,2640,481,424,815,809,533,1468,649,248,650,126,1323,217,47,993,735,1565,197,585,212,424,1651,576,185,31,156,871,844,91,992,4503,365,283,384,6470,1361,245,1140,598,527,217,1516,82,113,199,472,706,285,944,3382,1932,185,847,792,813,455,385,963,121,669,589,284,723,1140,355,25,609,1176,828,1986,150,11,1379,115,1143,191,1167,894,3183,194,482,248,94,258,228,1060,623,275,5616,5,582,1044,1384,2032,818,18,1884,590,347,2523,203,198,1046,289,44,1418,600,2834,88,409,196,1279,1096,469,480,3107,260,69,2138,160,117,1270,1006,46,285,189,640,398,250,535,183,382,459,1181
+758,2430,3575,178,802,511,330,552,1046,43,1198,70,1942,151,161,375,314,1166,296,2232,326,224,1535,200,2236,152,1489,109,27,341,443,1305,2597,79,203,265,264,1724,1509,1530,27,1610,443,405,878,815,565,1176,535,254,638,123,1356,299,50,971,708,1351,215,622,206,485,1719,585,140,32,161,1025,655,110,982,4257,363,303,402,5355,936,227,1152,553,570,232,1277,91,124,199,417,735,332,934,3707,1571,182,846,804,640,466,310,957,114,741,533,303,840,1253,383,24,614,1245,888,2014,160,11,1389,84,1311,214,1220,928,3268,188,493,296,99,261,227,978,523,267,6538,5,594,1179,1506,1672,827,19,1946,618,344,2546,248,195,1104,279,48,1348,619,3107,109,435,215,1258,1160,489,468,3019,301,73,1945,136,125,1188,1027,50,248,167,608,471,266,570,130,360,495,1173
+858,2709,4260,180,696,455,347,488,1014,42,1221,82,2039,151,176,427,308,1160,298,2183,304,250,924,215,2266,136,1502,125,34,376,445,1341,2420,88,205,279,270,2330,1639,1551,23,1662,485,353,912,669,483,1056,276,285,649,120,1435,234,50,1405,695,1091,205,573,200,504,1894,526,145,32,150,965,604,107,943,4228,232,275,375,5306,1250,227,1127,432,760,255,1072,92,172,199,408,1001,336,1017,4223,1991,180,814,959,738,448,353,1143,125,580,579,305,723,1351,359,21,598,1247,775,1536,169,10,1803,88,1530,227,1113,979,2938,207,490,293,97,237,237,1094,484,278,6386,5,552,1092,1377,1609,866,22,1984,584,409,3427,247,216,1075,221,53,1215,599,4139,116,445,195,1180,1217,374,441,3667,278,77,1486,144,147,1108,940,47,260,194,529,464,258,458,100,288,424,1197
+877,2556,4860,178,747,309,458,457,1000,46,1197,84,2086,161,158,592,329,1117,294,2429,295,239,917,190,2556,129,1732,139,35,469,490,1448,2268,94,201,278,276,2202,1704,1290,15,1953,564,352,981,752,372,631,291,285,706,129,1577,239,60,1495,738,991,219,541,205,460,1930,496,134,33,161,1044,812,107,1071,4343,190,313,357,5525,1030,230,1132,484,727,312,1056,114,166,210,370,1074,354,1182,4359,2211,239,1018,993,603,423,432,1181,136,511,663,305,721,1299,247,21,723,1247,911,1408,193,11,2220,83,1390,219,1214,1013,2965,193,525,303,115,160,241,1244,473,224,6257,5,520,1196,1328,1276,860,20,1732,587,430,3816,272,224,1052,243,45,1376,641,4932,120,462,197,1242,1070,251,507,3416,264,82,1886,165,144,1195,948,48,247,190,412,436,250,411,107,450,440,1193
+925,2765,4145,251,770,283,462,495,1131,46,1474,88,2133,164,146,690,375,1077,288,2241,304,236,796,201,2779,127,1684,115,31,500,491,1355,2059,99,182,386,213,2521,1593,1204,12,2003,494,332,1097,678,352,575,285,159,696,88,1643,331,55,1353,845,1003,205,542,212,520,1836,455,139,35,183,950,728,132,879,4259,177,349,366,5708,1132,213,1694,530,589,297,700,120,218,215,280,1309,383,1313,5330,2824,258,1326,914,668,395,437,1125,137,462,568,324,604,1232,251,20,732,1058,986,1558,223,10,2974,84,1458,215,1328,1173,2815,179,584,296,143,244,315,1302,549,209,7084,4,489,1274,1163,1316,665,21,1683,553,416,5113,283,225,1140,313,53,1636,674,4751,133,274,210,1402,1007,264,533,3210,291,81,1793,175,130,1179,984,47,349,177,371,434,205,419,114,509,458,1224
+629,3071,5022,259,775,287,507,438,1207,62,1348,81,2451,252,123,819,374,1057,292,2484,283,207,745,191,2719,129,2048,112,36,583,506,1378,2313,101,174,317,200,2707,1861,1241,11,2278,465,281,1125,677,309,646,231,84,674,82,1984,338,62,1642,725,1008,196,505,211,597,2187,409,138,37,150,968,671,149,803,4192,126,354,424,5480,1067,235,1473,533,631,335,562,117,203,209,335,1346,388,1377,5153,3033,223,1848,977,468,368,455,1131,153,399,584,384,590,1315,237,14,725,1032,1047,2073,266,10,3084,79,1388,242,1303,1123,2681,163,569,320,225,242,315,1455,691,221,7904,5,481,1677,1468,901,744,17,1789,574,357,5423,296,246,1436,322,55,1737,627,6654,114,327,209,1488,1152,241,524,3192,330,84,1848,161,140,1130,942,49,228,197,418,512,206,348,75,490,486,1337
+806,3147,5101,295,845,266,585,433,1259,60,1361,84,2416,270,140,789,396,1113,320,2130,319,209,838,195,3222,140,1522,92,35,573,535,1214,2235,67,224,348,181,2358,1939,1579,13,2414,464,288,930,614,293,651,304,79,748,83,1750,289,64,1694,748,1161,163,484,208,541,2218,452,149,36,171,1123,780,120,860,4018,130,357,465,5112,925,239,1536,545,694,290,543,115,245,197,368,1438,398,1437,4709,2863,236,2137,1020,605,394,468,902,208,336,566,473,575,1173,246,14,834,956,1120,2266,256,11,3110,76,1434,223,1229,1129,2416,161,530,350,186,269,316,1414,727,220,7855,5,532,2113,1461,911,825,18,1964,694,371,4982,253,247,1239,285,64,1804,595,5988,129,261,201,1650,1072,184,524,3307,297,87,2095,171,158,1014,840,55,378,221,436,499,213,337,24,566,448,1057
+895,3740,5833,294,843,308,606,451,1567,64,1475,90,2993,284,129,805,474,1137,322,1626,375,233,1070,216,3298,165,1986,81,41,622,641,1222,2342,65,209,298,173,2568,1964,1488,13,2070,477,296,928,499,289,610,308,100,797,77,1710,299,66,1621,761,1116,146,512,208,576,2295,427,128,40,164,1335,551,124,664,4073,128,377,474,4125,913,252,1501,603,715,306,396,109,286,193,337,1445,354,1377,4564,3642,245,2271,989,660,403,464,1164,202,350,606,667,612,1250,295,14,771,625,1110,3377,278,10,3963,90,1318,251,1159,1014,2323,137,527,366,221,264,291,1413,696,215,8409,5,579,2392,1539,1098,760,16,542,991,401,4285,241,299,1217,256,63,1778,458,7427,132,253,177,2024,1241,205,511,3226,341,92,1941,149,162,1090,909,45,397,211,428,506,211,321,18,609,336,1173
+818,3559,7090,342,680,278,662,468,1612,63,1676,79,3562,307,138,718,434,1127,335,1583,441,220,797,214,3350,166,2113,97,42,540,591,1232,2199,59,238,278,197,2837,1668,1501,13,2409,438,348,755,526,276,578,272,87,840,80,1519,258,66,1451,652,1109,152,588,234,544,2723,509,132,47,162,1356,543,121,663,4565,129,344,503,3944,944,254,1302,617,619,326,379,101,298,175,351,1374,323,1331,4689,3290,223,2041,938,331,395,518,1125,202,342,532,618,614,1201,355,14,889,605,1267,3661,250,10,3866,82,1480,245,1155,891,2248,136,545,339,198,182,301,1309,621,189,9696,4,637,2622,1696,1278,698,17,688,1092,376,4279,270,256,1212,271,62,1619,493,7076,126,247,184,2398,1173,189,582,4879,371,78,2121,137,154,1183,1022,48,406,217,459,553,196,349,20,690,360,956
+735,4470,6549,337,622,370,702,583,1702,70,1649,66,5667,269,144,617,427,915,357,1170,480,240,808,234,2231,182,2010,96,52,539,621,1445,2141,66,256,256,186,2576,1650,1817,12,1922,457,335,740,376,316,196,272,92,850,79,1726,260,75,1405,596,632,148,607,232,595,2729,652,124,52,147,1307,516,137,655,4150,115,345,487,3297,918,307,1152,673,620,340,376,97,289,166,302,1516,292,1397,4370,3060,218,2142,910,369,351,472,1120,205,355,619,700,653,1250,349,14,976,501,1443,3340,433,9,4384,94,1363,264,1222,920,2546,148,640,447,206,168,377,1630,870,187,9430,4,886,2367,1606,1537,812,16,576,1072,387,5022,261,242,1178,282,68,1878,504,6490,139,101,223,2572,1190,186,714,4932,341,70,1728,121,240,1200,1027,48,294,220,400,544,214,340,21,792,354,703
+661,3814,5180,361,707,364,775,720,1620,71,1925,68,6850,245,163,618,421,744,358,1457,543,251,971,254,3192,169,1728,97,54,509,716,1412,2054,70,268,329,183,3128,1636,2238,15,1936,435,345,724,417,326,179,293,81,934,77,1597,194,77,1370,567,609,167,590,282,904,3040,662,140,49,150,1252,477,151,628,4994,109,271,503,3633,715,326,1416,653,571,317,368,96,344,169,366,1336,310,1310,4295,3320,221,2371,861,372,345,499,1082,199,380,519,800,699,1147,320,13,979,467,1404,3580,366,9,4321,67,1098,266,1182,854,3254,96,826,425,206,155,415,1483,1223,201,11116,4,898,2770,1758,1916,605,16,508,1025,373,4590,265,239,1140,274,56,1866,575,5814,152,101,235,2238,1168,164,649,4620,333,77,1574,124,240,1495,1065,49,265,158,402,503,160,380,14,603,364,965
+629,3665,4548,324,790,425,694,725,1403,56,2156,65,7154,259,160,642,398,345,352,1611,490,266,737,207,2565,142,1713,82,52,609,772,1424,2041,67,279,441,175,3017,1850,2042,15,1692,434,322,578,385,336,190,220,75,872,95,1516,203,65,1294,505,646,196,623,282,650,3162,579,167,60,151,1394,433,163,613,5231,114,295,500,3149,730,310,1618,739,554,360,438,129,363,167,291,1372,312,1586,6249,3713,211,2417,838,418,354,598,1131,197,390,507,777,849,1048,339,17,977,388,1456,3887,198,9,3720,56,1321,325,1211,849,3357,51,870,458,124,180,412,1640,1530,188,10382,4,881,2689,1887,1505,726,16,455,1132,366,4737,224,250,883,295,57,1780,552,5405,170,108,245,2365,1069,173,661,4998,383,94,1294,98,243,1428,904,51,332,136,330,730,198,383,14,634,361,1264
+632,4217,4414,386,760,365,709,741,1432,41,1585,66,7205,258,145,599,409,439,402,1760,597,253,851,188,2256,137,1470,76,57,567,821,1458,2374,64,295,375,135,2568,1868,2021,11,1057,458,350,557,41,357,259,198,87,803,97,1498,204,73,1362,469,378,199,617,347,753,3938,562,249,51,167,1599,333,152,617,5775,144,249,451,2274,850,335,1890,762,587,321,443,132,378,151,129,1377,284,1780,6680,4670,196,2932,768,422,365,579,1176,226,416,529,851,822,1298,326,17,959,326,1546,3683,163,13,3660,63,1380,297,1178,986,4035,38,1129,428,156,192,466,1705,1729,103,10718,3,824,2425,2052,1217,649,14,308,1175,275,5585,211,282,924,234,63,1961,603,5990,145,119,225,2371,981,158,780,6081,324,88,1483,124,266,1310,947,61,312,149,341,909,122,452,15,318,369,917
+622,6409,5078,420,799,351,743,847,1567,36,1104,58,6875,277,122,616,388,239,394,1813,586,244,802,159,1600,170,1233,67,56,514,774,1392,2431,62,265,233,132,2353,1817,1906,12,1039,458,346,473,42,316,304,227,96,863,84,1500,225,81,1294,439,342,222,760,385,774,4130,613,272,52,155,2252,307,174,547,5844,111,286,475,2322,827,280,2661,777,650,249,438,175,432,151,129,1359,300,1679,6250,4037,206,2950,797,447,371,578,1242,244,413,492,881,745,1167,339,16,1164,296,1807,2204,184,14,3381,65,1232,280,1120,1140,3556,39,1149,407,118,173,518,1798,1603,107,13068,3,980,2310,2043,1245,673,15,247,1246,269,5063,235,281,911,251,70,1946,538,6531,186,136,240,2591,911,212,744,6449,368,72,1297,115,280,1368,1189,47,333,136,350,1014,161,389,18,219,397,896
+589,6073,6003,509,1021,381,777,756,2056,23,1159,49,8375,233,88,743,402,201,391,1661,678,199,742,191,1692,188,1292,58,54,534,753,1280,2083,59,259,255,113,2340,2375,1764,9,984,438,305,518,29,349,191,223,74,723,85,1645,237,86,1920,422,296,204,735,372,1001,4545,594,291,45,180,2223,212,123,556,6322,128,277,480,2412,758,284,2428,678,573,264,422,167,523,143,133,1346,317,1805,6786,4591,215,3001,822,505,337,634,1164,293,364,451,1033,763,1102,317,14,1089,537,2091,2394,180,15,3014,69,1212,237,784,1393,3937,46,1233,442,127,232,490,1734,1843,138,12847,3,1003,2687,1946,1510,854,14,353,1325,295,4886,205,241,825,257,87,2137,392,6914,233,136,213,3008,925,230,677,6280,399,80,1418,101,315,1467,1031,34,586,143,360,1062,159,452,23,268,323,764
+604,5948,3024,461,1018,311,866,724,1860,18,1085,50,7836,235,89,760,510,192,546,1667,626,187,1022,189,1482,229,1304,61,49,538,724,1446,1871,51,259,246,97,2569,2017,1793,9,981,433,305,635,26,346,232,227,72,729,92,1559,242,76,1737,451,203,197,697,421,994,4296,490,266,40,192,2786,239,103,608,4154,130,271,464,2874,749,293,2345,698,551,262,485,182,492,141,138,1391,295,1556,9045,5068,230,2866,851,486,256,635,1111,351,402,461,913,702,1052,325,14,1119,245,3042,1482,176,15,3136,63,1142,211,403,1622,3681,21,1190,434,143,215,496,1839,1775,142,13247,3,1487,2218,1702,2060,918,15,326,1502,276,4752,220,261,908,232,91,2049,389,8226,225,140,222,3327,1007,188,791,7647,420,87,1817,100,301,1350,967,30,525,147,402,1006,153,433,21,271,360,759
+527,5790,3037,427,1017,253,905,878,1689,19,941,48,7590,228,96,832,543,210,128,1703,552,209,881,222,1257,227,1396,54,55,518,1050,1304,2455,42,337,189,75,2884,1983,1850,9,998,430,317,512,28,369,262,221,47,706,97,1615,262,69,1830,458,202,215,683,357,1112,5515,496,256,42,194,2955,229,96,653,4575,132,254,545,2963,574,297,2442,640,495,294,589,186,510,144,98,1472,294,1628,8759,3707,202,2446,845,198,302,724,957,347,379,465,854,806,1210,298,15,1169,253,3755,1562,230,17,3076,63,1143,226,371,2012,3944,27,1310,510,163,352,513,1645,1647,121,14623,3,1830,2179,1965,1436,886,13,259,1791,278,4652,224,281,992,198,83,2258,367,11346,179,114,193,3895,1016,182,749,8769,425,77,1838,91,301,1097,1125,41,541,165,434,1182,137,497,17,299,353,880
+498,5565,2936,478,1036,341,801,791,1897,19,971,38,8078,226,101,951,563,265,115,1712,578,190,952,186,964,219,1757,57,59,604,1115,1131,2875,42,308,203,70,2729,1492,1956,10,755,414,325,636,21,330,295,153,46,607,87,2037,215,56,1870,623,171,205,599,425,880,5852,555,254,48,191,2979,224,72,576,3421,132,246,372,2774,632,287,2434,599,426,286,693,207,726,162,90,1898,310,1554,8337,3536,198,2750,830,233,262,762,993,324,343,465,795,783,1150,334,14,1008,221,3833,1307,286,19,2876,68,1235,263,364,2099,4315,21,1324,469,133,547,562,1506,1823,116,15500,3,2359,2172,2052,1351,957,14,204,2063,257,5349,218,226,989,201,56,2479,328,10541,159,114,286,2849,1012,173,674,10377,509,76,1867,92,309,1203,1029,44,586,143,381,1112,74,556,15,349,411,1140
+483,6992,2568,475,1099,372,848,689,1864,21,907,43,7275,231,85,1376,550,288,112,1600,535,175,1098,175,756,198,1779,41,69,626,1162,1208,3438,47,281,207,78,2524,1589,2145,10,649,403,359,639,24,278,290,128,50,550,112,2236,223,58,2099,611,190,212,565,438,845,6138,604,274,57,185,2676,272,63,506,3938,106,281,355,3164,699,258,2391,550,481,255,743,198,691,172,90,2619,283,1658,9790,3207,247,2843,950,222,210,699,741,285,337,505,847,739,1076,314,15,978,261,3526,1341,263,22,3112,70,1314,284,408,1910,3880,25,1358,499,130,468,547,1397,1377,132,17108,2,2298,1462,2006,1174,895,12,224,2655,266,6119,212,226,938,229,56,2807,358,10766,227,101,263,1874,1135,175,605,9893,617,84,1838,86,330,1571,1119,45,491,148,426,1214,67,397,17,451,392,1203
+478,7560,2056,449,1061,255,773,571,2339,24,921,37,6149,231,94,1434,670,301,135,1605,817,186,752,189,782,209,1837,34,58,668,1620,1348,3349,44,269,288,71,2598,1877,2265,11,657,467,307,606,10,301,278,125,40,544,111,2011,188,50,2034,655,222,181,517,341,675,5981,541,323,64,180,2939,289,73,475,5565,87,211,277,3215,713,237,2311,491,592,283,607,183,596,151,79,2833,299,1756,10045,2942,230,2595,956,221,213,835,757,286,306,485,816,704,1192,335,10,1181,218,3908,1343,228,27,3484,69,1348,284,445,1719,4189,25,2086,524,150,432,606,1761,967,121,19138,3,2866,1255,2573,1307,809,12,263,3056,260,6025,202,190,969,224,56,2608,401,10835,230,97,237,1676,1140,205,551,12598,579,85,1704,70,366,1625,1202,34,405,147,417,1434,53,417,23,537,365,1131
+519,9143,1917,459,1125,244,719,734,2737,25,906,47,7054,233,88,1639,797,303,108,1602,773,194,806,193,843,191,1411,30,53,791,1815,1287,3171,46,403,253,65,2929,1768,2175,17,632,494,281,493,9,313,255,109,36,601,98,1882,236,42,2549,744,226,188,466,352,878,6076,564,291,63,183,3306,150,95,459,5270,89,238,299,2427,688,240,2359,596,561,286,548,195,600,150,94,3088,308,1884,11598,4135,240,2483,1077,114,177,895,859,331,293,500,968,755,1059,292,10,1140,270,4269,767,268,30,3109,87,1348,259,417,1959,4484,26,2626,514,138,429,589,1646,947,124,22435,3,2800,1451,1803,1382,1271,11,235,4487,236,6865,194,177,915,205,52,2586,405,9792,223,93,209,2046,1078,212,564,12411,615,76,1688,63,346,1529,1099,39,398,136,335,1468,56,458,23,533,360,1178
+471,8515,2455,472,906,237,689,713,3123,26,937,44,7577,233,80,2172,891,250,65,2390,877,207,1046,203,808,177,1543,32,54,853,1750,1231,3624,49,517,243,69,3550,1991,2193,14,671,479,299,493,10,284,187,76,34,561,88,1620,174,47,2365,777,317,222,443,457,967,6018,518,346,70,179,3286,192,87,450,4813,86,246,314,2491,751,213,2397,675,623,258,382,182,621,152,72,3308,278,1839,11320,4378,303,2583,970,113,162,846,990,404,304,475,1428,743,1374,315,11,1403,277,5164,724,328,27,3029,91,1494,282,387,1969,5465,26,2907,486,136,458,743,1577,926,122,24223,3,3149,1682,2116,1107,1411,12,145,4493,267,7242,212,161,846,209,45,3090,398,9704,210,92,299,2362,970,154,610,13385,730,72,1758,61,363,2296,1130,43,380,125,331,1604,52,519,21,497,378,1085
+472,8535,2273,533,937,263,681,730,3452,28,899,46,6850,228,74,2787,996,312,50,2769,800,183,841,177,802,194,1480,34,51,1079,2085,1266,3750,44,588,247,59,4400,1884,2017,12,695,513,277,537,9,260,164,89,43,630,74,1622,169,51,2231,761,310,265,438,367,1085,5773,475,363,76,168,3298,170,78,470,5178,102,217,301,3061,760,251,2126,805,758,273,481,203,575,137,71,3938,284,1882,12621,4787,310,2308,1027,162,171,740,980,383,314,435,1985,695,1624,285,10,1905,111,5531,753,334,26,3451,106,1206,255,357,1994,5408,26,2686,549,123,464,691,1926,1126,111,27230,2,2915,1534,3391,1099,1495,11,126,4927,292,6937,203,175,899,247,46,3014,400,9549,196,93,349,2543,1094,164,910,12925,673,70,2506,40,377,2651,1345,45,414,128,353,1745,58,458,20,412,367,1336
+482,9314,2290,657,941,234,576,715,2865,28,975,53,6682,246,74,2283,968,334,41,2748,1345,230,1023,202,864,180,2034,33,52,1472,2141,1176,3522,44,703,280,72,4295,2209,2125,12,777,495,284,565,7,289,146,125,65,634,81,1826,183,49,2546,815,312,290,665,371,1311,5379,540,372,80,171,3597,134,71,368,4825,99,193,314,2932,840,184,2114,706,887,274,514,208,511,139,77,3823,294,1683,13842,6573,329,2961,952,147,202,777,971,389,286,422,2010,811,1667,292,10,2031,128,7340,883,352,26,3629,112,1116,221,343,1884,5990,31,3180,545,121,624,717,2345,908,122,26849,2,2764,1832,4090,1185,1406,13,91,4294,274,6641,239,177,672,257,49,3259,374,9132,204,109,347,2759,1057,85,1162,11368,689,68,3186,45,388,2658,1450,43,307,136,317,1579,50,485,19,396,388,1590
+367,11850,2488,603,921,199,641,626,2814,26,827,61,8693,154,63,2197,1089,345,31,2825,1373,202,1062,218,515,194,2347,32,52,1757,2444,1084,3425,41,751,286,72,4556,2365,2139,11,815,554,215,435,7,255,145,142,45,717,69,2142,180,48,2418,742,453,321,696,396,1079,5904,503,338,73,157,3249,150,64,269,5459,87,226,307,2679,866,178,2138,711,754,280,569,194,494,143,69,3568,276,1892,12980,6244,305,2670,899,140,210,804,789,390,272,401,2110,742,1692,322,9,1702,129,6669,1067,314,24,3461,120,1007,214,343,1803,6066,34,3111,583,146,684,756,2870,729,130,26470,3,2446,2055,4684,1334,990,15,71,4953,288,6976,246,154,560,271,70,4005,395,11041,200,106,475,3029,996,96,1230,13763,758,79,3770,47,408,2938,1414,34,416,136,359,1643,61,494,17,374,373,1628
+376,13020,2349,552,877,151,567,617,3018,23,896,74,8328,158,63,2035,1088,370,30,3019,1325,205,1113,227,477,214,2368,36,65,1547,3522,1180,3509,48,680,299,71,4165,2588,2140,11,802,574,273,351,6,296,161,167,50,673,60,2479,139,36,2313,711,399,329,707,435,1051,6056,470,263,84,162,3046,150,43,263,4595,92,204,329,2200,939,180,2170,619,987,278,524,212,520,138,73,3202,261,2316,13546,7117,350,3460,862,151,200,818,822,374,301,383,2176,744,1686,316,10,1983,121,6595,1060,358,27,3541,98,1108,170,338,1872,6133,34,2710,629,143,594,761,4154,601,135,27426,3,2258,1987,4444,815,649,13,69,5378,303,6661,232,167,319,305,76,3265,334,11931,254,141,604,3877,930,103,1313,15104,605,74,4555,49,458,3231,1648,35,240,138,326,1368,62,516,17,383,375,1508
+336,14235,3180,552,824,146,656,580,2930,22,864,62,7857,160,66,1557,1130,392,31,2215,1485,202,1164,211,649,213,1903,21,63,1582,3975,1251,3549,55,711,262,73,4041,1728,2164,14,836,568,266,344,7,270,159,148,47,670,67,3449,142,40,2313,718,510,340,779,427,846,5689,158,267,129,158,3464,146,54,276,3962,87,181,326,1821,959,190,1982,576,937,308,613,188,525,135,84,3326,234,2477,13407,6929,330,3541,821,174,199,737,907,366,316,428,3242,793,2372,283,8,1961,130,5576,1164,378,25,3524,94,1026,147,310,1675,5986,27,2589,619,147,467,762,4250,392,125,26305,3,2033,2204,3910,986,663,13,61,5816,323,6261,255,143,281,319,82,3173,298,10454,266,151,688,4498,1043,94,1521,14337,656,83,4497,50,552,3889,1666,37,249,131,310,1370,49,567,10,409,459,1376
+267,13853,4212,601,757,158,582,539,2666,20,1031,55,7600,169,73,1642,1148,405,29,2560,1714,178,1064,218,670,233,2248,19,75,1389,3453,1415,3670,50,1017,307,61,4668,2177,2122,15,787,593,298,326,7,287,115,195,45,695,64,3692,150,37,2488,729,352,277,854,388,773,4827,179,277,165,169,3914,130,47,250,5221,87,201,319,1772,941,172,2113,523,875,341,549,227,515,156,72,3264,224,2487,14297,8244,337,3260,782,168,163,687,842,345,382,417,3436,663,2094,297,9,2286,155,5151,1075,378,30,3405,106,894,175,268,1718,5799,21,2920,663,141,504,911,3702,291,105,24700,4,1897,2912,4309,1014,740,11,61,8590,268,6222,271,148,226,294,85,3174,275,9470,289,152,710,4724,983,86,1626,16019,584,75,4790,52,677,4335,1638,31,256,125,290,1216,47,633,9,565,475,913
+328,13833,3753,652,581,114,656,507,2357,18,1037,56,7239,173,74,1810,1079,537,28,2886,2130,171,1349,211,598,233,2559,22,71,1468,3287,1238,4053,52,1129,298,64,4691,2308,2399,16,748,500,288,301,7,277,151,168,50,682,46,4264,163,38,2774,502,344,270,753,292,712,4446,195,253,151,186,4044,132,45,258,5444,92,208,385,1840,1174,192,1482,588,637,360,197,318,594,163,89,3048,223,2318,15782,6997,434,3647,877,155,156,802,828,443,427,389,3355,695,2741,272,8,2228,154,5380,1004,274,33,3414,98,943,147,169,1978,5988,24,2666,720,139,420,880,3905,311,106,25052,2,1865,2864,3953,1162,751,11,54,8072,295,7062,226,136,334,243,115,2603,290,8743,274,157,727,5050,1081,98,1894,18290,595,81,5817,65,654,4482,1779,32,208,115,240,1193,41,592,9,621,496,1049
+416,12753,3749,635,566,141,655,537,3021,21,1410,61,6837,191,64,2121,1150,625,24,2861,2328,171,1739,176,603,235,2179,23,68,1613,2903,1176,4127,57,1478,244,60,4953,2194,2478,14,813,444,300,283,9,294,193,218,63,747,36,4534,154,29,3144,613,255,265,693,298,708,4787,201,256,151,204,3884,119,24,241,6088,107,189,358,1392,1184,165,1431,565,634,304,187,291,626,170,91,3235,211,2517,15811,9024,379,3810,881,197,149,847,922,429,476,390,3535,622,3253,261,9,2306,147,5547,862,340,33,3501,84,857,130,149,1556,6533,25,3286,677,81,475,980,4003,302,107,25142,1,2178,2531,3343,1329,876,11,70,10837,278,7866,203,131,315,220,119,2484,281,9187,223,132,971,4392,1056,111,1774,17272,664,75,5564,34,744,4592,1749,30,172,109,216,1324,35,607,6,658,423,1028
+456,13324,3433,583,628,138,542,611,3230,23,1468,61,7916,239,65,1704,1106,647,23,2790,2374,160,1828,176,564,239,1989,22,67,1669,3020,1209,4063,62,1965,261,73,5027,2430,3025,17,803,391,345,310,9,278,218,332,81,582,31,4078,158,31,3446,644,280,348,649,295,664,5518,215,288,168,211,5088,146,28,277,5825,116,193,307,1774,1212,156,1549,625,501,338,192,368,590,183,84,3557,180,2502,18629,7875,391,4167,901,211,151,887,1051,401,410,394,3438,673,4639,268,9,2276,160,6409,883,355,41,3387,80,827,130,157,1316,6143,24,3437,829,73,437,896,3508,337,97,27910,1,2428,3236,3779,1136,581,12,85,9715,268,8631,200,138,277,196,134,2243,319,8576,223,147,1135,4678,928,104,1958,14733,505,84,7358,24,957,4561,1615,32,195,116,201,1810,35,610,4,613,480,953
+434,16070,3117,537,607,122,485,653,3934,17,1286,51,8956,230,58,2038,1172,678,23,2621,2872,175,2063,173,571,257,2257,27,89,1760,3670,1097,3768,63,2188,227,61,4880,2290,3244,22,876,396,385,370,11,274,321,362,84,723,28,4312,155,29,3153,643,293,339,691,362,558,5737,189,320,195,220,5003,127,31,320,6078,121,173,313,1974,1113,165,1570,663,445,352,190,310,586,189,81,3196,167,2713,20048,7304,433,3704,860,169,181,848,975,445,441,348,3894,608,4722,305,9,2614,167,6716,814,304,39,3298,74,1024,132,146,1405,6753,26,3168,819,71,405,848,3937,503,76,25644,2,2776,3373,3481,899,550,12,88,8937,339,10432,168,145,257,209,164,2435,345,11152,212,150,1176,4536,897,95,1976,15036,545,87,7108,20,912,4694,1687,32,236,124,198,1728,38,595,4,409,531,942
+363,15712,2100,515,645,94,550,600,4286,16,1482,54,8952,212,52,2158,1269,524,24,2609,3087,173,2157,191,460,263,1923,30,98,2146,3755,1167,3764,71,2435,177,62,4639,2604,3374,25,967,465,377,363,11,275,327,506,79,785,30,3992,166,25,3946,772,318,345,988,285,497,5563,187,382,216,213,4981,153,40,304,6205,127,192,400,2043,1145,183,1468,816,411,370,225,275,623,200,75,3298,160,2724,22956,8131,453,3500,934,125,146,855,986,444,439,337,3692,650,4254,305,9,2532,192,6147,620,318,42,3300,88,1105,129,145,1596,6986,31,3160,921,75,222,921,3673,536,62,35155,2,2797,2651,4306,984,485,11,82,9175,350,11624,204,164,310,226,196,2013,317,13190,193,204,1188,3760,894,97,2047,16723,656,106,7399,17,1075,5113,1810,28,214,108,139,1739,46,587,5,372,493,1084
+379,15150,2193,513,575,80,575,711,5007,11,1387,53,8174,208,45,2345,1122,546,12,1977,4537,149,2144,148,374,265,2387,27,109,2141,3943,1310,3629,65,2329,209,64,4352,2215,3356,9,1089,569,372,423,14,247,434,520,89,772,26,4021,172,24,3722,762,302,350,1233,299,436,5779,181,370,261,227,5645,156,46,280,6349,155,212,389,2365,1163,157,1540,695,470,358,177,328,618,231,82,3422,173,2514,22556,7780,422,3426,967,124,140,849,891,487,415,326,3736,722,4215,306,10,2103,202,7962,668,341,40,3566,99,1082,103,148,1518,7452,33,3359,1305,74,241,874,3760,379,88,38133,2,2897,2728,5022,818,475,11,78,9397,336,13306,221,163,311,229,191,2394,337,14016,239,210,1406,4296,884,51,2647,17854,621,105,8061,14,1077,6536,2035,28,208,98,149,1743,47,598,6,416,545,872
+375,15444,2196,638,500,101,570,734,4987,11,1300,51,8965,197,36,2889,1301,413,12,2218,4295,128,2287,152,307,271,2314,28,118,2444,3698,1234,4262,63,2025,206,42,4886,2331,2987,9,1284,605,409,405,11,266,325,466,79,729,22,4527,174,23,4037,1010,286,370,1354,209,563,6019,150,353,234,245,5570,181,42,275,6637,147,224,308,1788,1047,198,1563,783,562,409,181,337,746,245,93,3979,184,2849,20166,8122,465,3467,937,108,114,693,750,431,422,320,4275,785,3984,329,9,2084,187,7413,727,345,42,3799,99,1069,112,170,1215,6961,37,3715,1527,69,191,946,3824,297,96,37194,2,2693,2729,5883,960,354,9,76,9342,262,13969,220,168,301,200,155,2559,323,14598,236,234,1501,4314,872,38,2370,20852,657,99,10445,15,1172,6492,2050,27,196,91,159,2161,62,562,3,360,563,1029
+322,14844,1556,749,463,107,444,832,5342,11,856,40,9072,202,34,3037,1607,421,11,1631,5147,136,2335,134,391,286,1770,30,147,2452,4538,1239,4467,57,2181,228,40,6574,2351,3012,6,1265,635,505,403,12,252,307,454,82,666,24,4899,155,25,4160,1012,199,410,1915,187,605,5658,150,378,224,207,4993,198,37,254,6745,57,232,296,1771,824,181,1703,873,515,434,182,390,796,309,108,4841,199,3037,16762,7941,537,3280,789,97,108,870,879,577,462,343,4834,804,5704,330,8,2165,225,8062,685,377,49,3321,78,1166,107,196,1389,7358,41,3995,1537,65,215,1158,4155,357,113,46430,2,2393,3215,6600,1054,461,10,83,10010,298,12752,213,160,343,236,139,2289,339,16327,211,255,1373,5939,843,31,2438,20099,744,97,9267,15,1407,6595,1896,25,146,91,178,2151,80,612,3,392,566,1253
+321,15415,1408,687,415,108,505,843,6060,12,872,43,8946,237,38,2829,1545,702,12,1562,5713,115,2428,139,431,407,2033,28,132,2440,4720,1419,6553,62,2307,208,44,6379,1964,2919,6,1208,521,514,371,12,246,269,471,77,709,25,6091,58,24,3969,863,186,359,2693,185,770,6112,178,372,235,215,6510,214,40,265,6642,53,273,296,1866,844,157,1811,788,608,369,165,413,760,314,155,4545,184,2548,17623,8782,643,3508,806,116,99,989,969,585,485,348,4840,786,5845,351,8,1961,190,7391,515,390,48,4027,83,1243,120,209,1276,7886,38,4131,1505,58,214,1021,4236,361,103,53849,3,2550,3254,7920,1230,404,10,81,9968,258,15563,200,163,335,226,109,2524,368,17665,191,246,1109,5383,777,26,2666,19304,626,99,10266,23,1495,6518,2074,28,156,75,151,2260,95,689,3,405,639,1613
+235,15880,1731,692,366,115,600,785,6771,11,884,43,9401,207,47,3268,1955,710,13,1873,7989,119,2740,144,360,412,1928,27,134,2880,5577,1675,7380,58,2164,235,51,7774,1822,3021,4,1229,493,615,383,11,222,231,351,82,780,25,6641,49,27,3664,928,234,363,2448,183,760,5699,133,307,218,244,7131,198,38,293,6247,49,273,263,2160,907,165,1856,867,717,361,190,527,866,293,175,4567,187,2368,19799,7712,710,3692,852,89,84,1053,1040,685,442,391,4563,740,6128,389,6,2772,178,6623,500,503,53,4496,85,1252,112,153,1230,7762,35,4527,2084,73,242,1015,5327,417,129,54477,3,2639,2906,9047,1125,504,10,96,13042,232,15186,161,171,321,240,92,2675,409,20717,180,229,946,5342,778,26,3135,17890,673,130,10352,20,2123,6786,2215,17,181,69,147,2680,95,633,3,341,606,1546
+275,16807,1531,1016,382,112,701,726,7317,13,832,51,9190,174,44,3085,1838,707,13,1992,8444,124,2719,143,307,481,1949,25,148,3675,6099,1799,7188,57,2416,186,47,8530,1148,3019,4,1193,454,600,504,12,165,189,369,72,767,25,6559,39,28,3979,969,223,420,2398,191,716,6070,126,290,246,235,7524,175,39,306,6729,51,240,273,2438,911,159,1852,896,802,415,211,600,1003,286,182,4992,142,2411,20861,5569,681,3592,769,97,92,1143,798,670,475,390,4846,849,6355,376,6,2697,178,6553,488,358,56,4670,109,1265,123,156,1269,7825,40,3963,2771,73,250,1066,5131,491,113,55552,3,2304,3119,9423,1039,489,10,123,16812,224,14957,133,169,293,241,83,2664,417,21542,300,226,874,5230,820,39,3412,24355,742,117,9315,18,1994,6990,2360,16,166,59,161,2601,77,716,3,306,562,1348
+257,22958,1259,1244,451,123,658,821,8195,16,1010,51,8425,162,49,2054,1940,673,13,1878,7932,112,1860,154,338,480,1546,26,158,3522,5922,1906,6060,60,2844,175,53,13278,1141,3807,4,1220,426,658,516,13,162,199,515,62,852,24,8259,38,31,4170,1045,258,414,2637,224,781,6629,114,284,240,222,6899,152,19,338,6195,52,251,420,2204,839,151,1607,876,661,317,233,647,892,309,170,5764,148,2488,19545,5097,712,3885,746,87,94,1580,891,780,445,460,5432,790,8002,253,7,2485,181,6495,522,282,70,4393,111,1078,139,169,1184,9528,38,3569,2537,42,190,1138,5692,617,113,53914,3,2564,3172,8606,1113,695,9,115,17640,256,18392,158,138,285,246,80,2472,484,20558,281,224,934,4192,700,42,4735,24822,790,115,10475,26,2059,4660,2406,10,243,62,177,3026,67,658,4,305,574,1278
+267,27940,1254,1233,420,86,683,750,8609,13,817,54,8443,172,47,2381,1764,577,15,1750,8485,122,1557,135,281,463,625,26,167,3693,6180,1743,7429,65,2659,242,72,13098,1083,4274,3,1284,418,730,499,6,201,224,440,77,775,24,9473,40,31,4430,1289,302,374,3151,232,748,6962,106,269,224,212,6080,179,14,330,6496,53,304,416,2814,873,160,1503,803,714,398,278,683,1021,383,173,5885,157,2760,22411,5044,808,4941,786,97,101,1950,879,883,454,439,5051,708,7887,232,9,3169,118,6824,482,238,70,5149,106,896,133,112,1081,9855,46,3313,3190,25,212,1245,5247,798,125,51134,3,2448,2794,10390,731,710,9,118,18039,276,16664,183,143,272,260,80,2608,505,20394,269,208,921,4067,791,30,5111,28353,796,111,10695,30,2450,4700,2730,8,182,61,204,3571,72,717,4,295,604,1189
+255,37563,1784,1885,349,88,717,758,11550,15,759,58,8657,175,39,2229,1721,613,11,946,9860,101,1519,150,248,480,660,30,168,4732,6645,1806,7924,59,3468,275,84,15324,1107,4616,3,1345,399,700,516,5,216,231,499,60,691,24,10168,35,35,6343,1393,286,398,3256,287,709,6710,124,258,242,180,6404,206,14,292,6001,35,273,402,2265,713,136,1476,746,917,416,305,592,1143,440,119,5962,151,2848,19921,4237,946,6206,662,107,96,1924,846,917,440,405,5000,755,8169,260,9,3332,127,6421,519,257,69,5729,107,880,145,113,988,9574,34,3513,2932,34,157,1072,5656,816,121,61275,3,2782,2877,12117,803,895,6,91,16627,272,16954,172,148,284,242,85,2640,512,24822,279,240,977,3698,499,31,5253,30834,717,106,11409,30,2771,3886,2581,8,194,58,206,4277,69,811,7,332,663,1006
+256,37519,1580,2213,372,74,607,822,12837,15,702,48,9133,147,42,2503,1731,555,9,994,9528,104,1666,139,329,492,664,32,173,3945,7104,1907,7547,65,3480,274,67,15227,1049,4823,3,1306,320,648,444,5,216,190,613,60,816,23,8753,45,31,7007,1428,302,460,4959,328,655,8055,123,244,234,183,6194,201,14,310,6174,37,263,393,2706,704,112,1509,899,987,429,269,562,1000,450,131,6834,156,2667,21657,3984,1031,7509,619,54,95,1780,854,834,431,427,5260,695,7866,260,11,3824,123,5662,618,272,75,7268,141,824,125,128,1172,8064,24,3456,3328,30,156,1280,6714,762,119,85707,3,2745,3316,11986,934,427,6,78,20288,280,18299,188,138,268,274,77,2458,496,25821,265,243,973,3086,502,31,4874,29508,816,103,10564,30,2915,2742,2852,6,190,52,205,4014,57,803,9,366,653,1049
+258,41175,1694,2263,319,59,618,805,13653,15,541,61,9269,174,43,2362,1542,473,9,762,9107,104,1729,117,294,437,689,24,157,5059,7449,1867,8662,68,3547,256,74,12840,995,6300,3,1163,344,722,511,5,210,218,786,53,864,27,8377,22,31,7348,1607,234,336,4450,334,566,9279,122,183,259,183,6366,163,16,300,6595,35,274,335,3655,625,106,1513,899,918,402,292,546,972,516,128,6393,132,2629,18521,3822,925,6974,643,54,111,1838,709,954,464,485,5471,629,8188,251,11,3892,121,5435,546,330,66,7121,148,872,129,127,1307,8071,31,3163,3229,34,131,1404,6597,1008,102,84361,3,3082,2147,8147,901,474,6,76,19177,263,17667,198,120,273,230,81,2127,465,25358,242,319,1070,2797,526,25,4801,34069,819,108,10485,36,3371,2982,2795,6,186,50,173,3924,57,738,11,377,597,1040
+233,42582,1890,2226,281,55,685,839,13762,15,537,58,10032,189,51,2793,1647,465,8,767,10615,102,1836,114,313,409,782,25,163,4972,7129,1756,8845,61,3851,305,69,16158,1062,7492,2,1145,307,684,511,7,211,230,1037,36,985,18,8143,25,30,7816,1676,183,378,4728,371,529,8252,131,189,286,187,6530,155,13,313,6049,37,272,384,3094,563,117,1429,969,918,374,268,560,954,529,78,7947,121,2910,17407,2752,1005,7286,714,44,111,1885,760,1131,416,418,6279,538,9680,280,10,3874,132,5450,756,363,61,8049,154,890,144,66,1383,8693,33,2960,3549,25,146,1462,7728,1028,88,93011,3,2846,2262,8611,1008,579,7,65,21948,267,19809,210,138,217,206,85,1946,485,26072,214,350,1077,2464,494,31,5826,34011,745,105,10986,35,3763,2785,2886,5,183,47,191,4454,34,695,12,435,748,1233
+298,38888,1670,2214,295,42,737,901,15347,16,580,61,10734,131,43,2438,1462,507,10,965,10204,90,1821,90,433,373,830,22,137,4268,6558,1531,8599,53,4225,311,100,20235,813,8336,2,1002,314,622,505,8,222,220,1046,24,901,19,9846,26,34,7623,1642,129,435,5042,384,510,9610,116,193,348,195,7263,163,13,294,4766,37,246,377,3389,512,111,808,892,973,455,238,526,892,599,57,8599,131,3345,16532,2845,855,7125,870,53,120,2115,774,1091,496,410,6288,512,9637,277,11,4269,129,5488,721,364,60,8619,143,821,152,40,1080,9877,31,3146,3311,31,180,1525,7468,752,90,93166,3,2901,2121,6086,851,474,8,78,23464,269,19476,180,145,196,233,86,1848,489,27894,204,354,1110,2715,389,30,6894,33803,721,105,10563,30,3864,2679,2923,5,163,55,182,4307,37,720,11,446,667,813
+322,43746,1835,2518,290,33,655,883,18333,16,583,65,11030,136,55,3327,1744,541,11,819,9102,82,1907,92,411,353,701,23,128,4822,5814,1265,8636,52,4060,347,99,22009,946,7278,3,1154,379,580,515,11,196,236,1439,20,818,16,9435,25,39,8173,1884,133,429,5396,313,532,9779,116,201,367,179,8286,160,11,240,4128,36,273,367,2314,499,128,807,823,977,431,177,572,1079,561,54,8485,138,3739,18121,3424,890,7620,1041,63,112,2035,697,1131,406,385,6798,508,11242,219,11,4476,98,5138,648,540,59,9079,153,834,189,40,1143,9162,35,3815,3249,37,184,1593,6544,796,94,110058,2,3360,1934,7627,788,368,7,65,25731,295,25721,147,142,192,247,100,2063,502,27972,173,434,1520,1778,385,47,7295,29999,748,98,9088,35,3640,2128,3396,4,179,60,183,4403,28,862,11,594,670,861
+390,46537,1735,2463,270,30,599,994,22980,18,485,60,13980,146,64,3748,1816,421,10,946,10653,95,1771,90,245,430,661,25,147,5726,5561,1018,9991,57,5036,385,79,20469,1062,7940,2,1111,344,549,530,12,218,211,1603,24,788,18,9029,17,39,8498,1731,129,604,6818,333,422,9920,114,181,357,184,9180,180,8,342,4226,31,337,381,2226,385,144,762,912,782,466,196,560,1057,599,56,9451,132,4367,26694,2835,1035,8539,1055,61,120,1968,629,1031,382,391,5647,520,10430,186,16,4975,88,5266,627,485,66,8355,163,799,199,35,1203,8684,37,4785,3465,38,186,1855,6273,825,102,115089,3,3820,1850,10084,1075,356,5,64,27458,324,24168,165,125,232,310,85,2241,526,24498,116,434,1452,1863,392,45,8407,28798,631,94,12016,36,3882,1910,3300,3,196,56,182,3768,29,716,6,517,723,962
+451,44942,1829,2785,272,42,646,1085,20596,21,460,71,15863,142,63,2980,2026,417,10,1332,10240,107,1750,101,217,508,810,22,133,6897,6100,1077,10814,62,5695,231,87,23367,1105,8273,1,980,257,596,427,11,234,198,1339,22,723,18,9105,18,34,8988,1828,131,682,6806,278,385,10313,116,172,320,192,9371,289,8,302,4733,26,343,376,2240,376,148,810,789,720,455,214,469,1095,675,55,8918,143,5371,28645,2947,952,9267,1004,60,114,1991,566,1221,396,391,5886,570,10484,194,15,5361,109,5009,485,563,66,8886,156,965,192,36,1049,9832,38,4857,4343,20,208,2200,8648,1002,103,119161,4,3967,1729,8618,1535,451,6,67,32437,340,25424,132,115,226,312,76,2140,540,30146,127,499,2095,2079,347,47,11406,27395,632,124,12071,30,3792,2055,3817,3,177,57,138,2945,33,723,5,565,806,1073
diff --git a/ui_images/ctop.png b/ui_images/ctop.png
new file mode 100644
index 0000000..aa9cef4
Binary files /dev/null and b/ui_images/ctop.png differ
diff --git a/ui_images/login_screen.png b/ui_images/login_screen.png
new file mode 100644
index 0000000..2be9130
Binary files /dev/null and b/ui_images/login_screen.png differ
diff --git a/ui_images/networks.png b/ui_images/networks.png
new file mode 100644
index 0000000..21e0893
Binary files /dev/null and b/ui_images/networks.png differ
diff --git a/ui_images/no_requests.png b/ui_images/no_requests.png
new file mode 100644
index 0000000..aed71d8
Binary files /dev/null and b/ui_images/no_requests.png differ
diff --git a/ui_images/permissions_all.png b/ui_images/permissions_all.png
new file mode 100644
index 0000000..ecc2436
Binary files /dev/null and b/ui_images/permissions_all.png differ
diff --git a/ui_images/permissions_unexpanded.png b/ui_images/permissions_unexpanded.png
new file mode 100644
index 0000000..6165839
Binary files /dev/null and b/ui_images/permissions_unexpanded.png differ
diff --git a/ui_images/users.png b/ui_images/users.png
new file mode 100644
index 0000000..c1b0a11
Binary files /dev/null and b/ui_images/users.png differ