{ "cells": [ { "cell_type": "markdown", "id": "serious-pressing", "metadata": {}, "source": [ "# CWE Data\n", "---" ] }, { "cell_type": "code", "execution_count": 1, "id": "91b44dc2", "metadata": { "execution": { "iopub.execute_input": "2024-07-27T00:25:40.851633Z", "iopub.status.busy": "2024-07-27T00:25:40.851473Z", "iopub.status.idle": "2024-07-27T00:25:41.474110Z", "shell.execute_reply": "2024-07-27T00:25:41.473567Z" }, "tags": [ "remove-cell" ] }, "outputs": [ { "data": { "text/html": [ "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from IPython.core.magic import register_cell_magic\n", "from IPython.display import Markdown\n", "import datetime\n", "from datetime import date\n", "import glob\n", "import json\n", "import logging\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "import plotly\n", "import warnings\n", "import calplot\n", "from itables import init_notebook_mode, show\n", "import itables.options as opt\n", "\n", "\n", "opt.dom = \"tpir\" \n", "opt.style = \"table-layout:auto;width:auto\"\n", "init_notebook_mode(all_interactive=True, connected=True)\n", "\n", "@register_cell_magic\n", "def markdown(line, cell):\n", " return Markdown(cell.format(**globals()))\n", "\n", "\n", "logging.getLogger('matplotlib.font_manager').disabled = True\n", "warnings.filterwarnings(\"ignore\")\n", "pd.set_option('display.width', 500)\n", "pd.set_option('display.max_rows', 50)\n", "pd.set_option('display.max_columns', 10)" ] }, { "cell_type": "code", "execution_count": 2, "id": "98bafc2f-2e20-4032-a091-ec2dc0ecb7a5", "metadata": { "execution": { "iopub.execute_input": "2024-07-27T00:25:41.476449Z", "iopub.status.busy": "2024-07-27T00:25:41.476078Z", "iopub.status.idle": "2024-07-27T00:26:01.186551Z", "shell.execute_reply": "2024-07-27T00:26:01.185902Z" }, "tags": [ "remove-cell" ] }, "outputs": [], "source": [ "row_accumulator = []\n", "for filename in glob.glob('nvd.jsonl'):\n", " with open(filename, 'r', encoding='utf-8') as f:\n", " nvd_data = json.load(f)\n", " for entry in nvd_data:\n", " cve = entry['cve']['id']\n", " try:\n", " assigner = entry['cve']['sourceIdentifier']\n", " except KeyError:\n", " assigner = 'Missing_Data'\n", " try:\n", " published_date = entry['cve']['published']\n", " except KeyError:\n", " published_date = 'Missing_Data'\n", " try:\n", " attack_vector = entry['cve']['metrics']['cvssMetricV31'][0]['cvssData']['attackVector']\n", " except KeyError:\n", " attack_vector = 'Missing_Data'\n", " try:\n", " attack_complexity = entry['cve']['metrics']['cvssMetricV31'][0]['cvssData']['attackComplexity']\n", " except KeyError:\n", " attack_complexity = 'Missing_Data'\n", " try:\n", " privileges_required = entry['cve']['metrics']['cvssMetricV31'][0]['cvssData']['privilegesRequired']\n", " except KeyError:\n", " privileges_required = 'Missing_Data'\n", " try:\n", " user_interaction = entry['cve']['metrics']['cvssMetricV31'][0]['cvssData']['userInteraction']\n", " except KeyError:\n", " user_interaction = 'Missing_Data'\n", " try:\n", " scope = entry['cve']['metrics']['cvssMetricV31'][0]['cvssData']['scope']\n", " except KeyError:\n", " scope = 'Missing_Data'\n", " try:\n", " confidentiality_impact = entry['cve']['metrics']['cvssMetricV31'][0]['cvssData']['confidentialityImpact']\n", " except KeyError:\n", " confidentiality_impact = 'Missing_Data'\n", " try:\n", " integrity_impact = entry['cve']['metrics']['cvssMetricV31'][0]['cvssData']['integrityImpact']\n", " except KeyError:\n", " integrity_impact = 'Missing_Data'\n", " try:\n", " availability_impact = entry['cve']['metrics']['cvssMetricV31'][0]['cvssData']['availabilityImpact']\n", " except KeyError:\n", " availability_impact = 'Missing_Data'\n", " try:\n", " base_score = entry['cve']['metrics']['cvssMetricV31'][0]['cvssData']['baseScore']\n", " except KeyError:\n", " base_score = '0.0'\n", " try:\n", " base_severity = entry['cve']['metrics']['cvssMetricV31'][0]['cvssData']['baseSeverity']\n", " except KeyError:\n", " base_severity = 'Missing_Data'\n", " try:\n", " exploitability_score = entry['cve']['metrics']['cvssMetricV31'][0]['exploitabilityScore']\n", " except KeyError:\n", " exploitability_score = 'Missing_Data'\n", " try:\n", " impact_score = entry['cve']['metrics']['cvssMetricV31'][0]['impactScore']\n", " except KeyError:\n", " impact_score = 'Missing_Data'\n", " try:\n", " cwe = entry['cve']['weaknesses'][0]['description'][0]['value']\n", " except KeyError:\n", " cwe = 'Missing_Data'\n", " try:\n", " description = entry['cve']['descriptions'][0]['value']\n", " except IndexError:\n", " description = ''\n", " new_row = {\n", " 'CVE': cve,\n", " 'Published': published_date,\n", " 'AttackVector': attack_vector,\n", " 'AttackComplexity': attack_complexity,\n", " 'PrivilegesRequired': privileges_required,\n", " 'UserInteraction': user_interaction,\n", " 'Scope': scope,\n", " 'ConfidentialityImpact': confidentiality_impact,\n", " 'IntegrityImpact': integrity_impact,\n", " 'AvailabilityImpact': availability_impact,\n", " 'BaseScore': base_score,\n", " 'BaseSeverity': base_severity,\n", " 'ExploitabilityScore': exploitability_score,\n", " 'ImpactScore': impact_score,\n", " 'CWE': cwe,\n", " 'Description': description,\n", " 'Assigner' : assigner\n", " }\n", " if not description.startswith('rejected reason'): \n", " row_accumulator.append(new_row)\n", " nvd = pd.DataFrame(row_accumulator)\n", " \n", "nvd['Published'] = pd.to_datetime(nvd['Published'])\n", "nvd = nvd.sort_values(by=['Published'])\n", "nvd = nvd.reset_index(drop=True)\n", "nvd['BaseScore'] = pd.to_numeric(nvd['BaseScore']);\n", "nvd['BaseScore'] = pd.to_numeric(nvd['BaseScore']);\n", "nvd['BaseScore'] = nvd['BaseScore'].replace(0, np.nan);\n", "nvdcount = nvd['Published'].count()\n", "nvdunique = nvd['Published'].nunique()\n", "startdate = date(2000, 1, 1)\n", "enddate = date.today()\n", "numberofdays = enddate - startdate \n", "per_day = nvdcount/numberofdays.days" ] }, { "cell_type": "markdown", "id": "aa3ea191", "metadata": { "tags": [ "hide-input" ] }, "source": [ "\n", "\n", "## CWE Data" ] }, { "cell_type": "code", "execution_count": 3, "id": "6815f0a1", "metadata": { "execution": { "iopub.execute_input": "2024-07-27T00:26:01.189044Z", "iopub.status.busy": "2024-07-27T00:26:01.188857Z", "iopub.status.idle": "2024-07-27T00:26:01.458674Z", "shell.execute_reply": "2024-07-27T00:26:01.458055Z" }, "tags": [ "remove-input" ] }, "outputs": [ { "data": { "image/png": "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A0kyrULX1Cmp1m3EPXv2NL2UafDgwZKkK6+8Ul26dKnV/+2339Y65l133eX+s9VqVffu3eXr66sbbrjB3d+9e3dZrVbT/A8++ECDBg0yrZb6+fnpnnvuUV5enr766ivTcSZNmmR6/vWKK66ot6Yajb1+0unV2x9//FGffvqppNO3PdeslsbFxenIkSP65ptv3NvCwsIUHBxcaz+pqanasGGDqdX8npyN5jr/G2+8Ua1btzbdGvzxxx/rwIED9a4wv/HGG7XOddWqVQ063kcffaSgoCAFBQWpT58+Wr16tSZNmqTFixe7x7z++usKCAjQ8OHDTavKMTEx8vPzk9PplHT6MYPS0lLNmjVLPj4+puNYLBZJ0ieffKIjR45o6tSppjFjx45VdHR0nc/L//GPfzT9XPP37Of/e/DAAw/Ummu1WpWVlaWDBw826HoAQH14uRUA4KwEBQUpISFBa9as0YkTJ3Ty5Eldf/31dY7997//reDg4FoBokePHu7t0unQ8Pe//1133XWXZs2apauuukq/+93vdP3116tVq8b/W62/v7+k088JNsS///1vtWrVqtabgzt16iSr1equs8ZPw60k95uMbTZbnf0/f57Sx8dHQUFBtcZecskl7qDx0/6fzv/3v//tDtQ/9dNr2rt373prrbkVtq5nPGs09vpJ5ud8Bw8erG3btrnfcty7d2/5+/tr69atstls+vTTT3XjjTfWuZ9Bgwad1cut6tNc59++fXuNHDlSb731llasWOF+A7qXl5fpHzN+atiwYWf9cqvBgwfr8ccf18mTJ/XFF1/o8ccf17Fjx0wh/5tvvlFxcbE6dOhQ5z6OHDkiSe7ngn/6e/NzNX8HunfvXmtbdHR0rc+ceXl56ZJLLqm1j1atWikiIsLUX9c+n3zySd1+++2y2WyKiYnRmDFjdNtttyk8PLzeGgGgLgRfAMBZu/nmm3X33XeroKBAo0ePbtDnV86kTZs2+te//iWn06n3339f6enpWrt2ra688kp99NFHuuCCCxq1P39/fwUHB+uLL75o1Lyfh8761FdPff3Gz17kda7zG+Ns9nk21+/SSy9V27ZttWXLFo0ZM0aFhYXuFd9WrVpp8ODB2rJliyIiIlRZWdmkL7Y6k+Y6f+n054ree+89vffeexo3bpzeeOMNjRgxotY/cjSFiy++WAkJCZKkkSNHKjo6WldffbWeffZZ950Lp06dUocOHfTPf/6zzn2cj7pqeHt7n9U/WtW44YYbdMUVV+itt97SRx99pMWLF2vRokV68803TW8OB4Bfwq3OAICzdt1116lVq1bavn17vbc5S1LXrl118ODBWitne/bscW+v0apVK1111VV66qmn9NVXX+mJJ57Qpk2b3LdjNjSU1rj66qu1b98+ZWZm/uLYrl276tSpU+5bcWscPnxYRUVFpjpbWteuXZWbm1urv65rei4ac/2k0wFzyJAh2rp1q7Zs2SJ/f3/16dPHvb3mBVc1L7lqruB7thp7/pI0btw4tW3bVmvWrNGHH36oY8eOnfe3OdcYO3as7Ha75s+fr7KyMklSRESEjh49qri4OCUkJNRql156qXucpDMG/Zrfq7p+93Jzcxv0e1fz9+znb56ua5+S1LlzZ02dOlVvv/22vvvuO7Vv315PPPHELx4HAH6K4AsAOGt+fn5KS0tTSkqKEhMT6x03ZswYnTx5Us8995yp/+mnn5bFYnGv3BQWFtaa269fP0lyf06o5hugDX3r7Z/+9Cf5+vrqrrvu0uHDh2tt37dvn5599ll3nZL0zDPPmMY89dRTklTnW2dbypgxY7Rjxw5TICsrK9Pzzz+v0NBQ9ezZs0mO05jrV2Po0KH64YcftGrVKg0ePNi04hcbG6vc3Fy98847at++vfvW7F+rszn/Nm3a6LrrrtMHH3ygtLQ0+fr66pprrmmukvXQQw/p6NGjeuGFFySdXjU9efKkHnvssVpjq6ur3X+XRowYobZt22rBggUqLy83jatZGR8wYIA6dOigFStWmD7x9eGHH2r37t0N+jtS8/f9r3/9q6n/53/vTp48qeLiYlNfhw4dFBwcXOvzYgDwS7jVGQBwTm6//fZfHJOYmCiHw6GHH35YeXl5uvTSS/XRRx/pnXfe0QMPPOBeaZo3b57+9a9/aezYseratauOHDmi5cuX65JLLnGvDEZERMhqtWrFihVq27atfH19NXjwYIWFhdV57IiICK1Zs0Y33nijevToodtuu029e/dWZWWltm3bptdff1133HGHpNO36d5+++16/vnnVVRUJLvdrh07duill17StddeK4fD0TQXrQnMmjVLr776qkaPHq377rtPgYGBeumll/Tdd9/pjTfeOKfbS3+qMdevRs1/q8zMTKWkpJi2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tlVOTo527typJ554Qg8++KD7OK1bt9abb76pr7/+WoGBgbrooovkdDo1evRotWp1+tcjKChIr7/+ut599135+fkpICBARUVFuuyyy9xjfm727NkqLi52t/379zfo2gAAAABAU/Nq6QI8Sbdu3WSxWLRnz54zjnM4HCorK9POnTvldDo1c+ZMSaeD7+TJk1VYWKisrCxNmTKl1lybzabIyMha/cHBwe4QLJ1+qVWNVq1auef069dPu3fv1oIFC9yBOyYmRjk5OSouLlZlZaWCgoI0ePBgDRgwwL2PESNGaN++ffrPf/4jLy8vWa1WderUSeHh4XWeo7e3t+nWaAAAAABoKaz4NqHAwECNHDlSqamp7jci/1RRUZEkKSIiQjabTevWrVNOTo7sdrskKSQkRCEhIVq6dKkqKysb9Xyvl5eXIiMj3e2nwffnTp065X6296cCAgIUFBSkb775Rp988omuueaaWmMuvvhiWa1Wbdq0SUeOHNG4ceMaXCMAAAAAtARWfJtYamqq4uLiNGjQIM2bN099+/ZVdXW1NmzYoLS0NO3evVvS6VXf5cuXKzIyUh07dnTPt9vtWrZsmfslWD939OhRFRQUmPqsVqvp5VQ/tWDBAg0YMEARERGqqKjQBx98oNWrVystLc095vXXX1dQUJC6dOmiXbt26f7779e1116rESNGuMesWrVKPXr0UFBQkDIzM3X//fdr+vTp6t69+zldLwAAAAA43wi+TSw8PFzZ2dl64oknlJycrEOHDikoKEgxMTGmsOlwOPTyyy+7bzeuYbfbtWrVKt1888117r+uTwe9+uqrmjhxYp3jy8rKNHXqVH3//fdq06aNoqOj9corr+jGG290jzl06JAefPBBHT58WJ07d9Ztt92muXPNn97Jzc3V7NmzVVhYqNDQUD388MOaPn16Qy8LAAAAALQYvuOLZsF3fPmOLwAAACDxHV8AAAAAAJocwRcAAAAA4NEIvgAAAAAAj0bwBQAAAAB4NIIvAAAAAMCj8TkjNKvirx5qtje3AQAAAIDEii8AAAAAwMMRfAEAAAAAHo3gCwAAAADwaARfAAAAAIBH4+VWaFYBPRdJrXxauowWZeTPbekSAAAAgN8UVnwBAAAAAB6N4AsAAAAA8GgEXwAAAACARyP4AgAAAAA8GsEXAAAAAODRCL4AAAAAAI9G8AUAAAAAeDSC73lQUFCgadOmKTw8XN7e3rLZbEpMTFRGRoYmTpyoUaNGmcanp6fLYrEoJSXF1J+SkqIuXbpIkvLy8mSxWOps27dvP2M9zzzzjLp37642bdrIZrNp+vTpKi8vN405cOCAfv/736t9+/Zq06aN+vTpo08++USSVFVVpYceekh9+vSRr6+vgoODddttt+ngwYPneKUAAAAA4PzzaukCPE1eXp7i4uJktVq1ePFi9enTR1VVVVq/fr2SkpI0ffp0zZgxQ9XV1fLyOn35nU6nbDabXC6XaV9Op1MOh8PUt3HjRvXq1cvU1759+3rrWbNmjWbNmqV//OMfio2N1ddff6077rhDFotFTz31lCTp2LFjiouLk8Ph0IcffqigoCB98803ateunSTpxIkTys7O1ty5c3XppZfq2LFjuv/++zVu3Dh3OAYAAACAXyuCbxObOnWqLBaLduzYIV9fX3d/r169NHnyZB05ckTHjx/XJ598oiFDhkiSXC6XZs2apeTkZJWXl8vHx0fl5eXKysrSpEmTTPtv3769OnXq1OB6tm3bpri4ON18882SpNDQUN10003Kyspyj1m0aJFsNptWrVrl7gsLC3P/OSAgQBs2bDDt97nnntOgQYOUn5/vXpUGAAAAgF8jbnVuQoWFhUpPT1dSUpIp9NawWq2KiopScHCwnE6nJKm0tFTZ2dmaMGGCQkNDlZmZKel0YK2oqKi14ttYsbGx+vTTT7Vjxw5J0rfffqsPPvhAY8aMcY9Zt26dBgwYoAkTJqhDhw7q37+/XnjhhTPut7i4WBaLRVartc7tFRUVKikpMTUAAAAAaAkE3ya0d+9eGYah6OjoM45zOBzu25o3b96sqKgoBQUFadiwYe5+l8ulsLAwde3a1TQ3NjZWfn5+pnYmN998s+bNm6ehQ4eqdevWioiIUHx8vObMmeMe8+233yotLU3dunXT+vXr9cc//lH33XefXnrppTr3WV5eroceekg33XST/P396xyzYMECBQQEuJvNZjtjnQAAAABwvhB8m5BhGA0aFx8fr61bt6qqqkoul0vx8fGSJLvdbgq+da32rl27Vjk5OaYmSfn5+aYwPH/+fPd+5s+fr+XLlys7O1tvvvmm3n//fT322GPufZ46dUqXXXaZ5s+fr/79++uee+7R3XffrRUrVtQ6flVVlW644QYZhqG0tLR6z3H27NkqLi52t/379zfo2gAAAABAU+MZ3ybUrVs3WSwW7dmz54zjHA6HysrKtHPnTjmdTs2cOVPS6eA7efJkFRYWKisrS1OmTKk112azKTIyslZ/cHCwOwRLUmBgoCRp7ty5uvXWW3XXXXdJkvr06aOysjLdc889evjhh9WqVSt17txZPXv2NO2vR48eeuONN0x9NaH33//+tzZt2lTvaq8keXt7y9vb+4zXAQAAAACaAyu+TSgwMFAjR45UamqqysrKam0vKiqSJEVERMhms2ndunXKycmR3W6XJIWEhCgkJERLly5VZWVlo57v9fLyUmRkpLvVBN8TJ06oVSvzf+YLLrhA0v+tUMfFxSk3N9c05uuvvzbdZl0Ter/55htt3LjxjG+SBgAAAIBfE4JvE0tNTdXJkyc1aNAgvfHGG/rmm2+0e/du/fWvf9Xll1/uHudwOLR8+XJFRkaqY8eO7n673a5ly5a5X4L1c0ePHlVBQYGp/fybvD+VmJiotLQ0vfbaa/ruu++0YcMGzZ07V4mJie4APH36dG3fvl3z58/X3r17tWbNGj3//PNKSkqSdDr0Xn/99frkk0/0z3/+UydPnnQfu7KysqkuHQAAAACcF9zq3MTCw8OVnZ2tJ554QsnJyTp06JCCgoIUExNjeibW4XDo5Zdfdj/fW8Nut2vVqlXuzw/9XEJCQq2+V199VRMnTqxz/COPPCKLxaJHHnlEBw4cUFBQkBITE/XEE0+4xwwcOFBvvfWWZs+erXnz5iksLEzPPPOMbrnlFknSgQMHtG7dOklSv379TPt3Op21zgEAAAAAfk0sRkPfyAScg5KSEgUEBEghc6RWPi1dTosy8ue2dAkAAABAi6nJBsXFxWd8b1BT4lZnAAAAAIBHI/gCAAAAADwawRcAAAAA4NEIvgAAAAAAj8ZbndGsir96qNkeYAcAAAAAiRVfAAAAAICHI/gCAAAAADwawRcAAAAA4NEIvgAAAAAAj0bwBQAAAAB4NN7qjGYV0HOR1Mqnpcv4r2bkz23pEgAAAID/Kqz4AgAAAAA8GsEXAAAAAODRCL4AAAAAAI9G8AUAAAAAeDSCLwAAAADAoxF8AQAAAAAejeDbQgoKCjRt2jSFh4fL29tbNptNiYmJysjI0MSJEzVq1CjT+PT0dFksFqWkpJj6U1JS1KVLF0lSXl6eLBZLnW379u311lJVVaV58+YpIiJCPj4+uvTSS5Wenl7v+IULF8piseiBBx446/MHAAAAgObCd3xbQF5enuLi4mS1WrV48WL16dNHVVVVWr9+vZKSkjR9+nTNmDFD1dXV8vI6/Z/I6XTKZrPJ5XKZ9uV0OuVwOEx9GzduVK9evUx97du3r7eeRx55RK+88opeeOEFRUdHa/369bruuuu0bds29e/f3zR2586d+tvf/qa+ffuewxUAAAAAgObDim8LmDp1qiwWi3bs2KHx48crKipKvXr10oMPPqjt27fL4XDo+PHj+uSTT9xzXC6XZs2apaysLJWXl0uSysvLlZWVVSv4tm/fXp06dTK11q1b11vP6tWrNWfOHI0ZM0bh4eH64x//qDFjxmjp0qWmccePH9ctt9yiF154Qe3atWvCKwIAAAAA5w/Bt5kVFhYqPT1dSUlJ8vX1rbXdarUqKipKwcHBcjqdkqTS0lJlZ2drwoQJCg0NVWZmpiRp27ZtqqioqBV8G6uiokI+Pj6mvjZt2mjLli2mvqSkJI0dO1YJCQkN2mdJSYmpAQAAAEBLIPg2s71798owDEVHR59xnMPhcN/WvHnzZkVFRSkoKEjDhg1z97tcLoWFhalr166mubGxsfLz8zO1Mxk5cqSeeuopffPNNzp16pQ2bNigN998U4cOHXKPee2115Sdna0FCxY06DwXLFiggIAAd7PZbA2aBwAAAABNjeDbzAzDaNC4+Ph4bd26VVVVVXK5XIqPj5ck2e12U/Cta7V37dq1ysnJMTVJys/PN4Xh+fPnS5KeffZZdevWTdHR0brwwgt17733atKkSWrV6vSvx/79+3X//ffrn//8Z62V4frMnj1bxcXF7rZ///4GzQMAAACApsbLrZpZt27dZLFYtGfPnjOOczgcKisr086dO+V0OjVz5kxJp4Pv5MmTVVhYqKysLE2ZMqXWXJvNpsjIyFr9wcHB7hAsSYGBgZKkoKAgvf322yovL9fRo0cVHBysWbNmKTw8XJL06aef6siRI7rsssvcc0+ePKl//etfeu6551RRUaELLrjAdCxvb295e3s37KIAAAAAwHlE8G1mgYGBGjlypFJTU3XffffVes63qKhIVqtVERERstlsWrdunXJycmS32yVJISEhCgkJ0dKlS1VZWdmo53u9vLzqDMQ1fHx8FBISoqqqKr3xxhu64YYbJElXXXWVdu3aZRo7adIkRUdH66GHHqoVegEAAADg14Tg2wJSU1MVFxenQYMGad68eerbt6+qq6u1YcMGpaWlaffu3ZJOr/ouX75ckZGR6tixo3u+3W7XsmXL3C/B+rmjR4+qoKDA1Ge1Wuu9TTkrK0sHDhxQv379dODAAaWkpOjUqVP605/+JElq27atevfubZrj6+ur9u3b1+oHAAAAgF8bnvFtAeHh4crOzpbD4VBycrJ69+6t4cOHKyMjQ2lpae5xDodDpaWl7ud7a9jtdpWWlta72puQkKDOnTub2ttvv11vPeXl5XrkkUfUs2dPXXfddQoJCdGWLVtktVqb4GwBAAAAoGVZjIa+bQk4ByUlJQoICJBC5kitGvaCLNTNyJ/b0iUAAAAAZ60mGxQXF8vf379ZjsmKLwAAAADAoxF8AQAAAAAejeALAAAAAPBoBF8AAAAAgEfjc0ZoVsVfPdRsD7ADAAAAgMSKLwAAAADAwxF8AQAAAAAejeALAAAAAPBoBF8AAAAAgEcj+AIAAAAAPBpvdUazCui5SGrl09Jl/Ncz8ue2dAkAAADAfw1WfAEAAAAAHo3gCwAAAADwaARfAAAAAIBHI/gCAAAAADwawRcAAAAA4NEIvgAAAAAAj0bwPQ8KCgo0bdo0hYeHy9vbWzabTYmJicrIyNDEiRM1atQo0/j09HRZLBalpKSY+lNSUtSlSxdJUl5eniwWS51t+/bt9dbywgsv6IorrlC7du3Url07JSQkaMeOHaYxx48f17333qtLLrlEbdq0Uc+ePbVixQr39jMd+/XXXz/HqwUAAAAA5xff8W1ieXl5iouLk9Vq1eLFi9WnTx9VVVVp/fr1SkpK0vTp0zVjxgxVV1fLy+v05Xc6nbLZbHK5XKZ9OZ1OORwOU9/GjRvVq1cvU1/79u3rrcflcummm25SbGysfHx8tGjRIo0YMUJffvmlQkJCJEkPPvigNm3apFdeeUWhoaH66KOPNHXqVAUHB2vcuHGy2Ww6dOiQab/PP/+8Fi9erNGjR5/tpQIAAACAZmExDMNo6SI8yZgxY/T5558rNzdXvr6+pm1FRUU6cuSIunfvrszMTA0ZMkSSNHjwYN1+++1KTk7WsWPH5OPjo/LyclmtVq1YsUJ33HGH8vLyFBYWps8++0z9+vU76/pOnjypdu3a6bnnntNtt90mSerdu7duvPFGzZ071z0uJiZGo0eP1uOPP17nfvr376/LLrtMK1eubNBxS0pKFBAQIIXMkVr5nHX9OM3In/vLgwAAAIBfoZpsUFxcLH9//2Y5Jrc6N6HCwkKlp6crKSmpVuiVJKvVqqioKAUHB8vpdEqSSktLlZ2drQkTJig0NFSZmZmSpG3btqmioqLWiu+5OnHihKqqqhQYGOjui42N1bp163TgwAEZhiGn06mvv/5aI0aMqHMfn376qXJycnTnnXfWe5yKigqVlJSYGgAAAAC0BIJvE9q7d68Mw1B0dPQZxzkcDvdtzZs3b1ZUVJSCgoI0bNgwd7/L5VJYWJi6du1qmhsbGys/Pz9Ta4yHHnpIwcHBSkhIcPctW7ZMPXv21CWXXKILL7xQo0aNUmpqqoYNG1bnPlauXKkePXooNja23uMsWLBAAQEB7maz2RpVJwAAAAA0FYJvE2roXePx8fHaunWrqqqq5HK5FB8fL0my2+2m4FvXau/atWuVk5NjapKUn59vCsPz58+vNXfhwoV67bXX9NZbb8nH5/9uN162bJm2b9+udevW6dNPP9XSpUuVlJSkjRs31trHjz/+qDVr1pxxtVeSZs+ereLiYnfbv39/g64NAAAAADQ1Xm7VhLp16yaLxaI9e/accZzD4VBZWZl27twpp9OpmTNnSjodfCdPnqzCwkJlZWVpypQptebabDZFRkbW6g8ODnaHYEmmW5klacmSJVq4cKE2btyovn37uvt//PFHzZkzR2+99ZbGjh0rSerbt69ycnK0ZMkS08qwJP3v//6vTpw44X4+uD7e3t7y9vY+4xgAAAAAaA6s+DahwMBAjRw5UqmpqSorK6u1vaioSJIUEREhm82mdevWKScnR3a7XZIUEhKikJAQLV26VJWVlY16vtfLy0uRkZHu9tPg++STT+qxxx5Tenq6BgwYYJpXVVWlqqoqtWpl/lW44IILdOrUqVrHWblypcaNG6egoKAG1wYAAAAALYkV3yaWmpqquLg4DRo0SPPmzVPfvn1VXV2tDRs2KC0tTbt375Z0etV3+fLlioyMVMeOHd3z7Xa7li1b5n4J1s8dPXpUBQUFpj6r1Wq6dfmnFi1apD//+c9as2aNQkND3XNrbon29/eX3W7XzJkz1aZNG3Xt2lUff/yxXn75ZT311FOmfe3du1f/+te/9MEHH5zTNQIAAACA5sSKbxMLDw9Xdna2HA6HkpOT1bt3bw0fPlwZGRlKS0tzj3M4HCotLXU/31vDbrertLS03tXehIQEde7c2dTefvvteutJS0tTZWWlrr/+etOcJUuWuMe89tprGjhwoG655Rb17NlTCxcu1BNPPKE//OEPpn394x//0CWXXFLv254BAAAA4NeI7/iiWfAd36bFd3wBAADw34rv+AIAAAAA0MQIvgAAAAAAj0bwBQAAAAB4NIIvAAAAAMCj8TkjNKvirx5qtgfYAQAAAEBixRcAAAAA4OEIvgAAAAAAj0bwBQAAAAB4NIIvAAAAAMCjEXwBAAAAAB6NtzqjWQX0XCS18mnpMjyWkT+3pUsAAAAAfnVY8QUAAAAAeDSCLwAAAADAoxF8AQAAAAAejeALAAAAAPBoBF8AAAAAgEcj+AIAAAAAPBrBt4UUFBRo2rRpCg8Pl7e3t2w2mxITE5WRkaGJEydq1KhRpvHp6emyWCxKSUkx9aekpKhLly6SpLy8PFksljrb9u3b660lPj6+zjljx451jzl+/LjuvfdeXXLJJWrTpo169uypFStWNN0FAQAAAIDzhO/4toC8vDzFxcXJarVq8eLF6tOnj6qqqrR+/XolJSVp+vTpmjFjhqqrq+Xldfo/kdPplM1mk8vlMu3L6XTK4XCY+jZu3KhevXqZ+tq3b19vPW+++aYqKyvdPx89elSXXnqpJkyY4O578MEHtWnTJr3yyisKDQ3VRx99pKlTpyo4OFjjxo0720sBAAAAAOcdwbcFTJ06VRaLRTt27JCvr6+7v1evXpo8ebKOHDmi48eP65NPPtGQIUMkSS6XS7NmzVJycrLKy8vl4+Oj8vJyZWVladKkSab9t2/fXp06dWpwPYGBgaafX3vtNV100UWm4Ltt2zbdfvvtio+PlyTdc889+tvf/qYdO3YQfAEAAAD8qnGrczMrLCxUenq6kpKSTKG3htVqVVRUlIKDg+V0OiVJpaWlys7O1oQJExQaGqrMzExJp8NoRUVFrRXfc7Vy5UpNnDjRVF9sbKzWrVunAwcOyDAMOZ1Off311xoxYkSd+6ioqFBJSYmpAQAAAEBLIPg2s71798owDEVHR59xnMPhcN/WvHnzZkVFRSkoKEjDhg1z97tcLoWFhalr166mubGxsfLz8zO1htqxY4e++OIL3XXXXab+ZcuWqWfPnrrkkkt04YUXatSoUUpNTdWwYcPq3M+CBQsUEBDgbjabrcE1AAAAAEBTIvg2M8MwGjQuPj5eW7duVVVVlVwul/sWY7vdbgq+da32rl27Vjk5OaYmSfn5+aYwPH/+/FpzV65cqT59+mjQoEGm/mXLlmn79u1at26dPv30Uy1dulRJSUnauHFjnfXPnj1bxcXF7rZ///4GnTcAAAAANDWe8W1m3bp1k8Vi0Z49e844zuFwqKysTDt37pTT6dTMmTMlnQ6+kydPVmFhobKysjRlypRac202myIjI2v1BwcHu0OwVPvZ3rKyMr322muaN2+eqf/HH3/UnDlz9NZbb7nf9Ny3b1/l5ORoyZIlSkhIqHUsb29veXt7n/EcAQAAAKA5sOLbzAIDAzVy5EilpqaqrKys1vaioiJJUkREhGw2m9atW6ecnBzZ7XZJUkhIiEJCQrR06VJVVlY26vleLy8vRUZGutvPg+/rr7+uiooK/f73vzf1V1VVqaqqSq1amX9dLrjgAp06darBxwcAAACAlkDwbQGpqak6efKkBg0apDfeeEPffPONdu/erb/+9a+6/PLL3eMcDoeWL1+uyMhIdezY0d1vt9u1bNky90uwfu7o0aMqKCgwtfLy8l+sa+XKlbr22mtrffrI399fdrtdM2fOlMvl0nfffacXX3xRL7/8sq677rpzuBIAAAAAcP4RfFtAeHi4srOz5XA4lJycrN69e2v48OHKyMhQWlqae5zD4VBpaan7+d4adrtdpaWl9a72JiQkqHPnzqb29ttvn7Gm3NxcbdmyRXfeeWed21977TUNHDhQt9xyi3r27KmFCxfqiSee0B/+8IdGnTsAAAAANDeL0dC3LQHnoKSkRAEBAVLIHKmVT0uX47GM/LktXQIAAABwRjXZoLi4WP7+/s1yTFZ8AQAAAAAejeALAAAAAPBoBF8AAAAAgEcj+AIAAAAAPBrBFwAAAADg0bxaugD8thR/9VCzvbkNAAAAACRWfAEAAAAAHo7gCwAAAADwaARfAAAAAIBHI/gCAAAAADwaL7dCswrouUhq5dPSZeAXGPlzW7oEAAAAoMmw4gsAAAAA8GgEXwAAAACARyP4AgAAAAA8GsEXAAAAAODRCL4AAAAAAI9G8AUAAAAAeDSCLwAAAADAoxF8z4OCggJNmzZN4eHh8vb2ls1mU2JiojIyMjRx4kSNGjXKND49PV0Wi0UpKSmm/pSUFHXp0kWSlJeXJ4vFUmfbvn17g+p67bXXZLFYdO2115r633zzTY0YMULt27eXxWJRTk5OnfMzMzN15ZVXytfXV/7+/ho2bJh+/PHHBh0bAAAAAFqKV0sX4Gny8vIUFxcnq9WqxYsXq0+fPqqqqtL69euVlJSk6dOna8aMGaqurpaX1+nL73Q6ZbPZ5HK5TPtyOp1yOBymvo0bN6pXr16mvvbt2zeorhkzZuiKK66ota2srExDhw7VDTfcoLvvvrvO+ZmZmRo1apRmz56tZcuWycvLS//v//0/tWrFv50AAAAA+HUj+DaxqVOnymKxaMeOHfL19XX39+rVS5MnT9aRI0d0/PhxffLJJxoyZIgkyeVyadasWUpOTlZ5ebl8fHxUXl6urKwsTZo0ybT/9u3bq1OnTo2q6eTJk7rlllv06KOPavPmzSoqKjJtv/XWWyWdDsf1mT59uu677z7NmjXL3de9e/d6x1dUVKiiosL9c0lJSaNqBgAAAICmwnJdEyosLFR6erqSkpJMobeG1WpVVFSUgoOD5XQ6JUmlpaXKzs7WhAkTFBoaqszMTEnStm3bVFFRUWvF92zMmzdPHTp00J133nlW848cOaKsrCx16NBBsbGx6tixo+x2u7Zs2VLvnAULFiggIMDdbDbb2ZYPAAAAAOeE4NuE9u7dK8MwFB0dfcZxDofDfVvz5s2bFRUVpaCgIA0bNszd73K5FBYWpq5du5rmxsbGys/Pz9TOZMuWLVq5cqVeeOGFsz6vb7/9VtLpZ47vvvtupaen67LLLtNVV12lb775ps45s2fPVnFxsbvt37//rI8PAAAAAOeC4NuEDMNo0Lj4+Hht3bpVVVVVcrlcio+PlyTZ7XZT8K1rtXft2rXKyckxNUnKz883heH58+ertLRUt956q1544QVdfPHFZ31ep06dkiRNmTJFkyZNUv/+/fX000+re/fu+sc//lHnHG9vb/n7+5saAAAAALQEnvFtQt26dZPFYtGePXvOOM7hcKisrEw7d+6U0+nUzJkzJZ0OvpMnT1ZhYaGysrI0ZcqUWnNtNpsiIyNr9QcHB5vexhwYGKh9+/YpLy9PiYmJ7v6aEOvl5aXc3FxFRET84nl17txZktSzZ09Tf48ePZSfn/+L8wEAAACgJRF8m1BgYKBGjhyp1NRU3XfffbWe8y0qKpLValVERIRsNpvWrVunnJwc2e12SVJISIhCQkK0dOlSVVZWNur5Xi8vr1qB+KKLLtKuXbtMfY888ohKS0v17LPPNvi529DQUAUHBys3N9fU//XXX2v06NENrhEAAAAAWgLBt4mlpqYqLi5OgwYN0rx589S3b19VV1drw4YNSktL0+7duyWdXvVdvny5IiMj1bFjR/d8u92uZcuWuV+C9XNHjx5VQUGBqc9qtcrHx6fWWB8fH/Xu3bvWWEmm/sLCQuXn5+vgwYOS5A64nTp1UqdOnWSxWDRz5kz95S9/0aWXXqp+/frppZde0p49e/S///u/Z3GVAAAAAKD58IxvEwsPD1d2drYcDoeSk5PVu3dvDR8+XBkZGUpLS3OPczgcKi0tdT/fW8Nut6u0tLTe1d6EhAR17tzZ1N5+++1zqnndunXq37+/xo4dK0maOHGi+vfvrxUrVrjHPPDAA5o9e7amT5+uSy+9VBkZGdqwYUODbpUGAAAAgJZkMRr6RibgHJSUlCggIEAKmSO1qr06jV8XI39uS5cAAAAAD1WTDYqLi5vtJbis+AIAAAAAPBrBFwAAAADg0Qi+AAAAAACPRvAFAAAAAHg0PmeEZlX81UPN9gA7AAAAAEis+AIAAAAAPBzBFwAAAADg0RoVfHfs2KGTJ0/Wu72iokL/8z//c85FAQAAAADQVBoVfC+//HIdPXrU/bO/v7++/fZb989FRUW66aabmq46AAAAAADOUaNebmUYxhl/rq8PqBHQc5HUyqely8CvgJE/t6VLAAAAwG9Ekz/ja7FYmnqXAAAAAACcNV5uBQAAAADwaI3+ju9XX32lgoICSadva96zZ4+OHz8uSfrPf/7TtNUBAAAAAHCOGh18r7rqKtNzvFdffbWk07c4G4bBrc4AAAAAgF+VRgXf77777nzVAQAAAADAedGo4Nu1a9fzVQcAAAAAAOdFo15u1bVrV02aNEkvv/yy9u/ff75qAgAAAACgyTQq+E6aNEnfffedpkyZotDQUEVGRuruu+/Wq6++6n7hFaSCggJNmzZN4eHh8vb2ls1mU2JiojIyMjRx4kSNGjXKND49PV0Wi0UpKSmm/pSUFHXp0kWSlJeXJ4vFUmfbvn17vbW88MILuuKKK9SuXTu1a9dOCQkJ2rFjR61xu3fv1rhx4xQQECBfX18NHDhQ+fn5tcYZhqHRo0fLYrHo7bffbvzFAQAAAIBm1qhbnWuCWUVFhbZu3aqPP/5YLpdLq1evVlVVlaKionTllVcqNTX1fNT6XyEvL09xcXGyWq1avHix+vTpo6qqKq1fv15JSUmaPn26ZsyYoerqanl5nb78TqdTNptNLpfLtC+n0ymHw2Hq27hxo3r16mXqa9++fb31uFwu3XTTTYqNjZWPj48WLVqkESNG6Msvv1RISIgkad++fRo6dKjuvPNOPfroo/L399eXX34pHx+fWvt75plneIEZAAAAgP8qFuOnr2g+S8eOHdPSpUu1bNkyHT9+XCdPnmyK2v4rjRkzRp9//rlyc3Pl6+tr2lZUVKQjR46oe/fuyszM1JAhQyRJgwcP1u23367k5GQdO3ZMPj4+Ki8vl9Vq1YoVK3THHXcoLy9PYWFh+uyzz9SvX7+zru/kyZNq166dnnvuOd12222SpIkTJ6p169ZavXr1Gefm5OTo6quv1ieffKLOnTvrrbfe0rXXXtug45aUlCggIEAKmSO1qh2o8dtj5M9t6RIAAADQAmqyQXFxsfz9/ZvlmI261blGZWWlPv74Yz366KNyOBwKCQnR2rVrdf3112vVqlVNXeN/jcLCQqWnpyspKalW6JUkq9WqqKgoBQcHy+l0SpJKS0uVnZ2tCRMmKDQ0VJmZmZKkbdu2qaKiotaK77k6ceKEqqqqFBgYKEk6deqU3n//fUVFRWnkyJHq0KGDBg8eXOs25hMnTujmm29WamqqOnXq9IvHqaioUElJiakBAAAAQEtoVPCdN2+errzySrVr105//OMfdejQId1zzz3au3evvvnmG61cudK9ivhbtHfvXhmGoejo6DOOczgc7tuaN2/erKioKAUFBWnYsGHufpfLpbCwsFpv0o6NjZWfn5+pNcZDDz2k4OBgJSQkSJKOHDmi48ePa+HChRo1apQ++ugjXXfddfrd736njz/+2D1v+vTpio2N1TXXXNOg4yxYsEABAQHuZrPZGlUnAAAAADSVRj/j26VLFy1dulQTJkw447Olv0UNvWs8Pj5eDzzwgKqqquRyuRQfHy9Jstvt+tvf/ibpdPCta7V37dq16tGjR63+/Px89ezZ0/3znDlzNGfOHNOYhQsX6rXXXpPL5XI/v3vq1ClJ0jXXXKPp06dLkvr166dt27ZpxYoVstvtWrdunTZt2qTPPvusQecnSbNnz9aDDz7o/rmkpITwCwAAAKBFNCr4fvjhh3I6nXrxxRd1//33KyoqSvHx8bLb7bLb7QoKCjpfdf5X6NatmywWi/bs2XPGcQ6HQ2VlZdq5c6ecTqdmzpwp6XTwnTx5sgoLC5WVlaUpU6bUmmuz2RQZGVmrPzg4WDk5Oe6fa25lrrFkyRItXLhQGzduVN++fd39F198sby8vEyhWZJ69OihLVu2SJI2bdqkffv2yWq1msaMHz9eV1xxRa2XckmSt7e3vL29z3gdAAAAAKA5NCr4jhw5UiNHjpR0+tnUzZs36+OPP9aTTz6pW265RZGRkXI4HHruuefOS7G/doGBgRo5cqRSU1N133331flyK6vVqoiICNlsNq1bt045OTmy2+2SpJCQEIWEhGjp0qWqrKxs1PO9Xl5edQZiSXryySf1xBNPaP369RowYIBp24UXXqiBAwcqNzfX1P/111+7b7OeNWuW7rrrLtP2Pn366Omnn1ZiYmKDawQAAACAltCo4PtTbdu21ZgxYzRy5Ejt2LFD69at0/Lly5WWlvabDb6SlJqaqri4OA0aNEjz5s1T3759VV1drQ0bNigtLU27d++WdHrVd/ny5YqMjFTHjh3d8+12u5YtW+Z+CdbPHT16tNY3k61Wa52fHpKkRYsW6c9//rPWrFmj0NBQ99yfPh88c+ZM3XjjjRo2bJgcDofS09P17rvvuldyO3XqVOcLrbp06aKwsLDGXyQAAAAAaEaNfqvzqVOntGPHDi1atEijR49Wu3btNHToUK1Zs0bXXXed/vGPf5yPOv9rhIeHKzs7Ww6HQ8nJyerdu7eGDx+ujIwMpaWlucc5HA6Vlpa6n++tYbfbVVpaWu9qb0JCgjp37mxqP38D80+lpaWpsrJS119/vWnOkiVL3GOuu+46rVixQk8++aT69Omjv//973rjjTc0dOjQc7oWAAAAAPBr0Kjv+I4ePVrbtm1TaWmpgoOD5XA4FB8fL4fDofDw8PNZJ/7L8R1f/Bzf8QUAAPhtaonv+DbqVmer1aolS5YoPj5e3bp1O181AQAAAADQZBp1q/Pdd9+tp59+2vRMao3i4mL16tVLmzdvbrLiAAAAAAA4V40Kvs8++6zuueeeOpejAwICNGXKFD311FNNVhwAAAAAAOeqUcH3s88+c3/OqC4jRozQp59+es5FAQAAAADQVBr1jO+RI0fUunXr+nfm5aUffvjhnIuC5yr+6qFme4AdAAAAAKRGrviGhIToiy++qHf7559/rs6dO59zUQAAAAAANJVGBd8xY8Zo7ty5Ki8vr7Xtxx9/1F/+8hddffXVTVYcAAAAAADnqlHf8T18+LAuu+wyXXDBBbr33nvVvXt3SdKePXuUmpqqkydPKjs7u863PuO3rSW+1QUAAADg1+dX/x3fjh07atu2bfrjH/+o2bNnqyYzWywWjRw5UqmpqYReAAAAAMCvSqOCryR17dpVH3zwgY4dO6a9e/fKMAx169ZN7dq1Ox/1AQAAAABwThodfGu0a9dOAwcObMpa8BsQ0HOR1MqnpcuAhzDy57Z0CQAAAPgv0KiXWwEAAAAA8N+G4AsAAAAA8GgEXwAAAACARyP4AgAAAAA8GsEXAAAAAODRCL4AAAAAAI9G8D0PCgoKNG3aNIWHh8vb21s2m02JiYnKyMjQxIkTNWrUKNP49PR0WSwWpaSkmPpTUlLUpUsXSVJeXp4sFkudbfv27fXW8uabb2rAgAGyWq3y9fVVv379tHr1atOYO+64o9Y+f1pjXl6e7rzzToWFhalNmzaKiIjQX/7yF1VWVp7jlQIAAACA8++sv+OLuuXl5SkuLk5Wq1WLFy9Wnz59VFVVpfXr1yspKUnTp0/XjBkzVF1dLS+v05ff6XTKZrPJ5XKZ9uV0OuVwOEx9GzduVK9evUx97du3r7eewMBAPfzww4qOjtaFF16o9957T5MmTVKHDh00cuRI97hRo0Zp1apV7p+9vb3df96zZ49OnTqlv/3tb4qMjNQXX3yhu+++W2VlZVqyZEmjrxEAAAAANCeCbxObOnWqLBaLduzYIV9fX3d/r169NHnyZB05ckTHjx/XJ598oiFDhkiSXC6XZs2apeTkZJWXl8vHx0fl5eXKysrSpEmTTPtv3769OnXq1OB64uPjTT/ff//9eumll7RlyxZT8PX29q53v6NGjTKtAIeHhys3N1dpaWkEXwAAAAC/etzq3IQKCwuVnp6upKQkU+itYbVaFRUVpeDgYDmdTklSaWmpsrOzNWHCBIWGhiozM1OStG3bNlVUVNRa8T0XhmEoIyNDubm5GjZsmGmby+VShw4d1L17d/3xj3/U0aNHz7iv4uJiBQYG1ru9oqJCJSUlpgYAAAAALYHg24T27t0rwzAUHR19xnEOh8N9W/PmzZsVFRWloKAgDRs2zN3vcrkUFhamrl27mubGxsbKz8/P1H5JcXGx/Pz8dOGFF2rs2LFatmyZhg8f7t4+atQovfzyy8rIyNCiRYv08ccfa/To0Tp58mS957ls2TJNmTKl3mMuWLBAAQEB7maz2X6xTgAAAAA4H7jVuQkZhtGgcfHx8XrggQdUVVUll8vlvh3Zbrfrb3/7m6TTwbeu1d61a9eqR48etfrz8/PVs2dP989z5szRnDlzJElt27ZVTk6Ojh8/royMDD344IMKDw93H3fixInueX369FHfvn0VEREhl8ulq666ynScAwcOaNSoUZowYYLuvvvues9x9uzZevDBB90/l5SUEH4BAAAAtAiCbxPq1q2bLBaL9uzZc8ZxDodDZWVl2rlzp5xOp2bOnCnpdPCdPHmyCgsLlZWVVeeKqs1mU2RkZK3+4OBg5eTkuH/+6W3IrVq1cs/p16+fdu/erQULFtR6/rdGeHi4Lr74Yu3du9cUfA8ePCiHw6HY2Fg9//zzZzxHb29v0wuyAAAAAKClcKtzEwoMDNTIkSOVmpqqsrKyWtuLiookSREREbLZbFq3bp1ycnJkt9slSSEhIQoJCdHSpUtVWVnZqOd7vby8FBkZ6W5nev721KlTqqioqHf7999/r6NHj6pz587uvgMHDig+Pl4xMTFatWqVWrXiVwcAAADAfwdWfJtYamqq4uLiNGjQIM2bN099+/ZVdXW1NmzYoLS0NO3evVvS6VXf5cuXKzIyUh07dnTPt9vtWrZsmfslWD939OhRFRQUmPqsVqt8fHzqrGfBggUaMGCAIiIiVFFRoQ8++ECrV69WWlqaJOn48eN69NFHNX78eHXq1En79u3Tn/70J0VGRrrf+lwTert27aolS5bohx9+cO+/MW+YBgAAAICWQPBtYuHh4crOztYTTzyh5ORkHTp0SEFBQYqJiXGHTel08H355Zdr3W5st9u1atUq3XzzzXXuPyEhoVbfq6++anpO96fKyso0depUff/992rTpo2io6P1yiuv6MYbb5QkXXDBBfr888/10ksvqaioSMHBwRoxYoQee+wx963KGzZs0N69e7V3715dcsklpv039LlmAAAAAGgpFoPkgmZQUlKigIAAKWSO1Kru1WmgsYz8uS1dAgAAABqpJhsU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aZLeffddu+09/fTTZhtfX98a45kxY4aKiorMcvjw4Qt+lgAAAABwpTRv6gHUZf78+frDH/5gNxt5Xnx8vCZNmqTFixerTZs2Wr58uYYPH642bdrUq2/DMMzLf4cMGaKvv/5akhQQEKAffvhBhmHUq5+QkBB17NhRqamp6tatm/bs2aOoqCi1b99enTp1Unp6ugzDUEVFRY3ga7PZlJiYaFfn5eUlSXr88cf197//3awvLS21G/vlcHV1VefOnc2ffX19dezYMUlSWVmZDh48qLFjx+rRRx8121RXV8vDw8Oun1tuueWC23F2dpazs/NljRUAAAAAGsJVG3wjIyMVGxurGTNmaMyYMXbLRowYoUmTJmnNmjWKjIxUWlparfcE1+bMmTPKzs5Wr169JJ27n/X06dOSZM7whoWFadu2baqqqvrNWd/o6GilpKSoe/fuCg0NVfv27SXJvNzZMAyFhITUuNS3devWCgkJqbXP2bNn1wj8ISEhslgsysrK0t13311jnaysLLVt21be3t4XHO+v98disZhh+nzAXrp0qfr06WPXzsnJqcb4AQAAAOD34KoNvpI0b9483XjjjerSpYtdfZs2bTR8+HAtX75cBw8eVFhYmG699dZ69fnBBx/oxIkT+uMf/yhJ8vf3r9HmgQce0KJFi7RkyRI99dRTNZafPHnS7j7fJ598Ul27dlV0dLTZJjIyUkuXLpVhGBd9f2/79u3NAH1eu3btNGjQIC1ZskSTJk2yu8+3oKBAH330kR566CFzJrtly5Y6c+bMRW23Q4cO8vPz008//aRRo0Zd1LoAAAAAcLW6qoNvRESERo0apUWLFtVYNnbsWN16663KysrStGnTal3/1KlTKigoUHV1tX7++WetX79e//M//6M///nPFwyjffr00bPPPqvJkyfryJEjuvvuu+Xn52e+PmjgwIFmID5/n+/y5cu1dOlSs4+oqCg98sgjklTrQ7IqKipUUFBgV9e8eXNdd911dY7r7bffVv/+/RUbG6u//OUvCgoK0g8//KCpU6fK399fr776qtk2MDBQW7du1YgRI+Ts7HzBfn/p5Zdf1pNPPikPDw/FxcWpoqJCu3bt0okTJ8x3JAMAAADA78lV+XCrX5o9e7bOnj1bo37gwIHq0qWLiouL9dBDD9W67tKlS+Xr66vOnTvrnnvu0b59+7R69Wq71/PUZf78+frHP/6hjIwMxcbGqlu3bnrmmWfUvXt383VGkhQUFKSAgACVlJQoKirKrO/UqZP8/PxUWVlpNxN8XlJSknx9fe3KwIEDLzim0NBQ7dq1S8HBwbrvvvvUuXNnjRs3TjabTenp6eY9wtK5zy03N1edO3f+zcuff+mRRx7Re++9p/fff18RERGKiorSihUr7F7FBAAAAAC/Jxbjcp+WBNRDcXHxuQdk+T8nNXNp6uEAAAAA1wwjb2ZTD8HO+WxQVFQkd3f3RtnmVT/jCwAAAADA5SD4AgAAAAAcGsEXAAAAAODQCL4AAAAAAId2Vb/OCI6naN+0RruBHQAAAAAkZnwBAAAAAA6O4AsAAAAAcGgEXwAAAACAQyP4AgAAAAAcGsEXAAAAAODQCL4AAAAAAIdG8AUAAAAAODSCLwAAAADAoRF8AQAAAAAOjeALAAAAAHBoBF8AAAAAgEMj+AIAAAAAHBrBFwAAAADg0Ai+AAAAAACHRvAFAAAAADg0gi8AAAAAwKERfAEAAAAADo3gCwAAAABwaARfAAAAAIBDI/gCAAAAABwawRcAAAAA4NAIvgAAAAAAh0bwBQAAAAA4NIIvAAAAAMChEXwBAAAAAA6N4AsAAAAAcGgEXwAAAACAQyP4AgAAAAAcGsEXAAAAAODQCL4AAAAAAIdG8AUAAAAAODSCLwAAAADAoRF8AQAAAAAOrXlTDwDXBsMwJEnFxcVNPBIAAAAATel8JjifERoDwReN4vjx45Ikq9XaxCMBAAAAcDUoKSmRh4dHo2yL4ItG4eXlJUnKy8trtJMbV5fi4mJZrVYdPnxY7u7uTT0cNDKOPzgHrm0cf3AO4JfnQJs2bVRSUiI/P79G2z7BF42iWbNzt5N7eHjwZXeNc3d35xy4hnH8wTlwbeP4g3MA58+Bxp4M4+FWAAAAAACHRvAFAAAAADg0gi8ahbOzs1566SU5Ozs39VDQRDgHrm0cf3AOXNs4/uAcQFOfAxajMZ8hDQAAAABAI2PGFwAAAADg0Ai+AAAAAACHRvAFAAAAADg0gi8AAAAAwKERfNEoEhISFBgYKBcXF/Xp00c7duxo6iHhIs2aNUsWi8WuhIeHm8vLy8s1YcIEtWvXTm5ubvrjH/+oo0eP2vWRl5enO+64Q66urmrfvr2mTp2q6upquzapqam6+eab5ezsrJCQEK1YsaIxdg+12Lp1q4YOHSo/Pz9ZLBZt2LDBbrlhGHrxxRfl6+urVq1aKSYmRtnZ2XZtCgsLNWrUKLm7u8vT01Njx45VaWmpXZvvvvtOt956q1xcXGS1WvXaa6/VGMvHH3+s8PBwubi4KCIiQp9//nmD7y9q+q1zYMyYMTW+F+Li4uzacA78fs2dO1e9evVSmzZt1L59ew0bNkwHDhywa9OY3/38LdG46nP8o6Oja3wHPP7443ZtOP6/X4mJierevbvc3d3l7u6ufv366YsvvjCX/+5+/w3gClu1apXRsmVLY/ny5cYPP/xgPProo4anp6dx9OjRph4aLsJLL71kdOvWzcjPzzfLf//7X3P5448/blitViM5OdnYtWuX0bdvX6N///7m8urqauOGG24wYmJijD179hiff/65cd111xkzZsww2/z000+Gq6ur8cwzzxj79u0zFi9ebDg5ORlJSUmNuq845/PPPzeef/55Y926dYYkY/369XbL582bZ3h4eBgbNmww/v3vfxt33nmnERQUZJw+fdpsExcXZ/To0cPYvn278fXXXxshISHGyJEjzeVFRUVGhw4djFGjRhl79+41Vq5cabRq1cp49913zTZpaWmGk5OT8dprrxn79u0zXnjhBaNFixbG999/f8U/g2vdb50Do0ePNuLi4uy+FwoLC+3acA78fsXGxhrvv/++sXfvXiMzM9O4/fbbjU6dOhmlpaVmm8b67udvicZXn+MfFRVlPProo3bfAUVFReZyjv/v28aNG41//vOfxo8//mgcOHDAeO6554wWLVoYe/fuNQzj9/f7T/DFFde7d29jwoQJ5s9nzpwx/Pz8jLlz5zbhqHCxXnrpJaNHjx61Ljt58qTRokUL4+OPPzbrsrKyDElGenq6YRjn/oBu1qyZUVBQYLZJTEw03N3djYqKCsMwDOPZZ581unXrZtf3/fffb8TGxjbw3uBi/Tr0nD171vDx8TEWLFhg1p08edJwdnY2Vq5caRiGYezbt8+QZOzcudNs88UXXxgWi8U4cuSIYRiGsWTJEqNt27bmOWAYhjFt2jSjS5cu5s/33Xefcccdd9iNp0+fPsZjjz3WoPuIC6sr+N511111rsM54FiOHTtmSDK++uorwzAa97ufvyWa3q+Pv2GcC75PPfVUnetw/B1P27Ztjffee+93+fvPpc64oiorK/Xt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", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "nvd_cwe = nvd['CWE'].value_counts()\n", "nvd_cwe = nvd_cwe.reset_index()\n", "nvd_cwe.columns = ['CWE', 'CVEs']\n", "nvd_cwe_graph = nvd_cwe[nvd_cwe.CVEs > 100].head(25)\n", "plt.figure(figsize=(10,10));\n", "plt.barh(\"CWE\", \"CVEs\", data = nvd_cwe_graph, color=\"#001d82\");\n", "plt.xlabel(\"CVEs\"); \n", "plt.ylabel(\"CWE\") ;\n", "plt.title(\"Most Common CWE in CVE Records\");\n" ] }, { "cell_type": "code", "execution_count": 4, "id": "04a26e54", "metadata": { "execution": { "iopub.execute_input": "2024-07-27T00:26:01.461274Z", "iopub.status.busy": "2024-07-27T00:26:01.460791Z", "iopub.status.idle": "2024-07-27T00:26:01.468432Z", "shell.execute_reply": "2024-07-27T00:26:01.467964Z" }, "tags": [ "remove-input" ] }, "outputs": [ { "data": { "text/html": [ "\n", "\n", " \n", " \n", " CWE\n", " CVEs\n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "Loading ITables v2.1.4 from the internet...\n", "(need help?)\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "show(nvd_cwe, scrollY=\"400px\", scrollCollapse=True, paging=False)" ] }, { "cell_type": "code", "execution_count": 5, "id": "20ee3a71", "metadata": { "execution": { "iopub.execute_input": "2024-07-27T00:26:01.470634Z", "iopub.status.busy": "2024-07-27T00:26:01.470284Z", "iopub.status.idle": "2024-07-27T00:26:01.474013Z", "shell.execute_reply": "2024-07-27T00:26:01.473426Z" }, "tags": [ "remove-input" ] }, "outputs": [ { "data": { "text/markdown": [ "This report is updated automatically every day, last generated on: **2024-07-27 00:26:01.471249**" ], "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Markdown(f\"This report is updated automatically every day, last generated on: **{datetime.datetime.now()}**\")" ] } ], "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.11.9" }, "vscode": { "interpreter": { "hash": "aee8b7b246df8f9039afb4144a1f6fd8d2ca17a180786b69acc140d282b71a49" } } }, "nbformat": 4, "nbformat_minor": 5 }