Some analysis of code and performance
[advent-of-code-21.git] / profiling / modules.ipynb
diff --git a/profiling/modules.ipynb b/profiling/modules.ipynb
new file mode 100644 (file)
index 0000000..6626344
--- /dev/null
@@ -0,0 +1,2581 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": 202,
+   "id": "09b5b05d-ae4f-4ec4-bebf-5824274e4631",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import os, glob\n",
+    "import collections\n",
+    "import pandas as pd\n",
+    "import numpy as np\n",
+    "\n",
+    "import matplotlib as mpl\n",
+    "import matplotlib.pyplot as plt\n",
+    "%matplotlib inline"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 203,
+   "id": "7bd3fc71-cd3b-4218-8912-c35bdc2584bf",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "['  build-depends:       base >=4.15\\n',\n",
+       " '  build-depends:       base >=4.15\\n',\n",
+       " '  -- build-depends:       base >=4.13 && < 4.15\\n',\n",
+       " '  build-depends: text, attoparsec\\n',\n",
+       " '  build-depends: text, attoparsec\\n',\n",
+       " '  build-depends: text, attoparsec, linear, containers\\n',\n",
+       " '  build-depends: split, containers\\n',\n",
+       " '  build-depends: split\\n',\n",
+       " '  build-depends: text, attoparsec, containers\\n',\n",
+       " '  build-depends: text, attoparsec, containers\\n',\n",
+       " '  build-depends: array, containers, linear\\n',\n",
+       " '  build-depends: containers\\n',\n",
+       " '  build-depends: array, containers, linear\\n',\n",
+       " '  build-depends: text, attoparsec, containers\\n',\n",
+       " '  build-depends: text, attoparsec, containers, linear\\n',\n",
+       " '  build-depends: text, attoparsec, containers, multiset\\n',\n",
+       " '  build-depends: containers, linear, array, pqueue, mtl, lens\\n',\n",
+       " '  build-depends: text, containers, linear, array, pqueue, mtl, lens\\n',\n",
+       " '  build-depends: text, containers, linear, array, pqueue, mtl, lens\\n',\n",
+       " '  build-depends: binary, bytestring, bitstream, mtl\\n',\n",
+       " '  build-depends: linear, text, attoparsec, lens\\n',\n",
+       " '  build-depends: text, attoparsec\\n',\n",
+       " '  build-depends: linear, text, attoparsec, containers, multiset\\n',\n",
+       " '  build-depends: linear, mtl, containers\\n',\n",
+       " '  build-depends: text, attoparsec, containers, multiset\\n',\n",
+       " '  build-depends: linear, text, attoparsec, containers, lens\\n',\n",
+       " '  build-depends: containers, linear, pqueue, mtl, lens\\n',\n",
+       " '  build-depends: containers, linear, pqueue, mtl, lens\\n',\n",
+       " '  build-depends: text, attoparsec, containers\\n',\n",
+       " '  build-depends: text, attoparsec, containers\\n',\n",
+       " '  build-depends: text, attoparsec, containers\\n',\n",
+       " '  build-depends: linear, containers\\n']"
+      ]
+     },
+     "execution_count": 203,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "with open('../advent-of-code21.cabal') as f:\n",
+    "    build_depends = [l for l in f.readlines() if 'build-depends' in l]\n",
+    "build_depends"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 204,
+   "id": "d0e0655a-2fad-47c9-afe1-8ae4c44949ab",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[' advent01\\n  import: common-extensions, build-directives\\n  main-is:             advent01/Main.hs\\n  -- other-modules:\\n  -- other-extensions:\\n  -- build-depends:       base >=4.13 && < 4.15\\n  -- hs-source-dirs:\\n  -- default-language:    Haskell2010\\n\\n',\n",
+       " ' advent02\\n  import: common-extensions, build-directives\\n  main-is:             advent02/Main.hs\\n  build-depends: text, attoparsec\\n\\n',\n",
+       " ' advent03\\n  import: common-extensions, build-directives\\n  main-is: advent03/Main.hs\\n\\n']"
+      ]
+     },
+     "execution_count": 204,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "cabal_file = open('../advent-of-code21.cabal').read()\n",
+    "executables = cabal_file.split('executable')[2:]\n",
+    "executables[:3]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 205,
+   "id": "62a719db-b264-4b95-8dd0-80ab08b3622a",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "['text', ' attoparsec']"
+      ]
+     },
+     "execution_count": 205,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "e = executables[1]\n",
+    "e.strip().split('build-depends: ')[1].split(',')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 206,
+   "id": "5f5e51ea-4457-4701-99d2-844edcec721e",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def extract(line):\n",
+    "    parts = line.strip().split('build-depends: ')\n",
+    "    name = parts[0].split()[0]\n",
+    "    if len(parts) > 1:\n",
+    "        depends = [p.strip() for p in parts[1].split('\\n')[0].split(',') if 'base' not in p]\n",
+    "    else:\n",
+    "        depends = []\n",
+    "    return name, depends       "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 207,
+   "id": "a852a10b-ee9a-46d5-a390-04f218424760",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "{'advent01': [],\n",
+       " 'advent02': ['text', 'attoparsec'],\n",
+       " 'advent03': [],\n",
+       " 'advent04': ['text', 'attoparsec'],\n",
+       " 'advent05': ['text', 'attoparsec', 'linear', 'containers'],\n",
+       " 'advent06': ['split', 'containers'],\n",
+       " 'advent07': ['split'],\n",
+       " 'advent08': ['text', 'attoparsec', 'containers'],\n",
+       " 'advent09': ['array', 'containers', 'linear'],\n",
+       " 'advent10': ['containers'],\n",
+       " 'advent11': ['array', 'containers', 'linear'],\n",
+       " 'advent12': ['text', 'attoparsec', 'containers'],\n",
+       " 'advent13': ['text', 'attoparsec', 'containers', 'linear'],\n",
+       " 'advent14': ['text', 'attoparsec', 'containers', 'multiset'],\n",
+       " 'advent15': ['containers', 'linear', 'array', 'pqueue', 'mtl', 'lens'],\n",
+       " 'advent16': ['binary', 'bytestring', 'bitstream', 'mtl'],\n",
+       " 'advent17': ['linear', 'text', 'attoparsec', 'lens'],\n",
+       " 'advent18': ['text', 'attoparsec'],\n",
+       " 'advent19': ['linear', 'text', 'attoparsec', 'containers', 'multiset'],\n",
+       " 'advent20': ['linear', 'mtl', 'containers'],\n",
+       " 'advent21': ['text', 'attoparsec', 'containers', 'multiset'],\n",
+       " 'advent22': ['linear', 'text', 'attoparsec', 'containers', 'lens'],\n",
+       " 'advent23': ['containers', 'linear', 'pqueue', 'mtl', 'lens'],\n",
+       " 'advent24': ['text', 'attoparsec', 'containers'],\n",
+       " 'advent25': ['linear', 'containers']}"
+      ]
+     },
+     "execution_count": 207,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "modules = {e: ms for e, ms in [extract(e) for e in executables] if e.endswith(tuple(str(i) for i in range(10)))}\n",
+    "modules"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 208,
+   "id": "57036fc2-db73-4c5b-b3bc-b7e8f9bbccda",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style scoped>\n",
+       "    .dataframe tbody tr th:only-of-type {\n",
+       "        vertical-align: middle;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>array</th>\n",
+       "      <th>attoparsec</th>\n",
+       "      <th>binary</th>\n",
+       "      <th>bitstream</th>\n",
+       "      <th>bytestring</th>\n",
+       "      <th>containers</th>\n",
+       "      <th>lens</th>\n",
+       "      <th>linear</th>\n",
+       "      <th>mtl</th>\n",
+       "      <th>multiset</th>\n",
+       "      <th>pqueue</th>\n",
+       "      <th>split</th>\n",
+       "      <th>text</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>advent01</th>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent02</th>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent03</th>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent04</th>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent05</th>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent06</th>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent07</th>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent08</th>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent09</th>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent10</th>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent11</th>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent12</th>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent13</th>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent14</th>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent15</th>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent16</th>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent17</th>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent18</th>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent19</th>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent20</th>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent21</th>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent22</th>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent23</th>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent24</th>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent25</th>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "          array  attoparsec  binary  bitstream  bytestring  containers   lens  \\\n",
+       "advent01  False       False   False      False       False       False  False   \n",
+       "advent02  False        True   False      False       False       False  False   \n",
+       "advent03  False       False   False      False       False       False  False   \n",
+       "advent04  False        True   False      False       False       False  False   \n",
+       "advent05  False        True   False      False       False        True  False   \n",
+       "advent06  False       False   False      False       False        True  False   \n",
+       "advent07  False       False   False      False       False       False  False   \n",
+       "advent08  False        True   False      False       False        True  False   \n",
+       "advent09   True       False   False      False       False        True  False   \n",
+       "advent10  False       False   False      False       False        True  False   \n",
+       "advent11   True       False   False      False       False        True  False   \n",
+       "advent12  False        True   False      False       False        True  False   \n",
+       "advent13  False        True   False      False       False        True  False   \n",
+       "advent14  False        True   False      False       False        True  False   \n",
+       "advent15   True       False   False      False       False        True   True   \n",
+       "advent16  False       False    True       True        True       False  False   \n",
+       "advent17  False        True   False      False       False       False   True   \n",
+       "advent18  False        True   False      False       False       False  False   \n",
+       "advent19  False        True   False      False       False        True  False   \n",
+       "advent20  False       False   False      False       False        True  False   \n",
+       "advent21  False        True   False      False       False        True  False   \n",
+       "advent22  False        True   False      False       False        True   True   \n",
+       "advent23  False       False   False      False       False        True   True   \n",
+       "advent24  False        True   False      False       False        True  False   \n",
+       "advent25  False       False   False      False       False        True  False   \n",
+       "\n",
+       "          linear    mtl  multiset  pqueue  split   text  \n",
+       "advent01   False  False     False   False  False  False  \n",
+       "advent02   False  False     False   False  False   True  \n",
+       "advent03   False  False     False   False  False  False  \n",
+       "advent04   False  False     False   False  False   True  \n",
+       "advent05    True  False     False   False  False   True  \n",
+       "advent06   False  False     False   False   True  False  \n",
+       "advent07   False  False     False   False   True  False  \n",
+       "advent08   False  False     False   False  False   True  \n",
+       "advent09    True  False     False   False  False  False  \n",
+       "advent10   False  False     False   False  False  False  \n",
+       "advent11    True  False     False   False  False  False  \n",
+       "advent12   False  False     False   False  False   True  \n",
+       "advent13    True  False     False   False  False   True  \n",
+       "advent14   False  False      True   False  False   True  \n",
+       "advent15    True   True     False    True  False  False  \n",
+       "advent16   False   True     False   False  False  False  \n",
+       "advent17    True  False     False   False  False   True  \n",
+       "advent18   False  False     False   False  False   True  \n",
+       "advent19    True  False      True   False  False   True  \n",
+       "advent20    True   True     False   False  False  False  \n",
+       "advent21   False  False      True   False  False   True  \n",
+       "advent22    True  False     False   False  False   True  \n",
+       "advent23    True   True     False    True  False  False  \n",
+       "advent24   False  False     False   False  False   True  \n",
+       "advent25    True  False     False   False  False  False  "
+      ]
+     },
+     "execution_count": 208,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "all_modules = set(m for p in modules for m in modules[p])\n",
+    "modules_df = pd.DataFrame.from_dict({p: {m: m in modules[p] for m in sorted(all_modules)} for p in modules}, orient='index').sort_index()\n",
+    "modules_df"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 209,
+   "id": "2eec3a74-e533-4d59-b495-9e774ca470e5",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "|            |   0 |\n",
+      "|:-----------|----:|\n",
+      "| containers |  17 |\n",
+      "| attoparsec |  13 |\n",
+      "| text       |  13 |\n",
+      "| linear     |  11 |\n",
+      "| lens       |   4 |\n",
+      "| mtl        |   4 |\n",
+      "| array      |   3 |\n",
+      "| multiset   |   3 |\n",
+      "| pqueue     |   2 |\n",
+      "| split      |   2 |\n",
+      "| binary     |   1 |\n",
+      "| bitstream  |   1 |\n",
+      "| bytestring |   1 |\n"
+     ]
+    }
+   ],
+   "source": [
+    "print(modules_df.sum().sort_values(ascending=False).to_markdown())"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 210,
+   "id": "da22ede4-ac7c-4d32-9396-4cf585f97ba7",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style scoped>\n",
+       "    .dataframe tbody tr th:only-of-type {\n",
+       "        vertical-align: middle;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>program</th>\n",
+       "      <th>module</th>\n",
+       "      <th>present</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>14</th>\n",
+       "      <td>advent02</td>\n",
+       "      <td>attoparsec</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>25</th>\n",
+       "      <td>advent02</td>\n",
+       "      <td>text</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>40</th>\n",
+       "      <td>advent04</td>\n",
+       "      <td>attoparsec</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>51</th>\n",
+       "      <td>advent04</td>\n",
+       "      <td>text</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>53</th>\n",
+       "      <td>advent05</td>\n",
+       "      <td>attoparsec</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>...</th>\n",
+       "      <td>...</td>\n",
+       "      <td>...</td>\n",
+       "      <td>...</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>300</th>\n",
+       "      <td>advent24</td>\n",
+       "      <td>attoparsec</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>304</th>\n",
+       "      <td>advent24</td>\n",
+       "      <td>containers</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>311</th>\n",
+       "      <td>advent24</td>\n",
+       "      <td>text</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>317</th>\n",
+       "      <td>advent25</td>\n",
+       "      <td>containers</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>319</th>\n",
+       "      <td>advent25</td>\n",
+       "      <td>linear</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "<p>75 rows Ã— 3 columns</p>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "      program      module  present\n",
+       "14   advent02  attoparsec     True\n",
+       "25   advent02        text     True\n",
+       "40   advent04  attoparsec     True\n",
+       "51   advent04        text     True\n",
+       "53   advent05  attoparsec     True\n",
+       "..        ...         ...      ...\n",
+       "300  advent24  attoparsec     True\n",
+       "304  advent24  containers     True\n",
+       "311  advent24        text     True\n",
+       "317  advent25  containers     True\n",
+       "319  advent25      linear     True\n",
+       "\n",
+       "[75 rows x 3 columns]"
+      ]
+     },
+     "execution_count": 210,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "modules_scatter = modules_df.stack().reset_index()\n",
+    "modules_scatter.columns = ['program', 'module', 'present']\n",
+    "modules_scatter = modules_scatter[modules_scatter.present]\n",
+    "modules_scatter"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 211,
+   "id": "fa6a99a2-749a-48d5-9009-11a45eb2722a",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "<AxesSubplot:xlabel='program', ylabel='module'>"
+      ]
+     },
+     "execution_count": 211,
+     "metadata": {},
+     "output_type": "execute_result"
+    },
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoYAAAGSCAYAAAB+JQBpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAABGeElEQVR4nO3deXxcd3n2/88lyZ6YyBDSyIgAjsE2hNgJJhH8CATimDRi7QIpKUsJ25OCE1OgYSmkFOjzAAVKAAtTzBZowvKwPi0UHEAxkJQlchbHDhTbLKUF1WILVuKMNZr798f5KkyksTSSZtEZXe/Xa16eOefMNbe+c451zzlnjhQRmJmZmZl1tLoAMzMzM1sY3BiamZmZGeDG0MzMzMwSN4ZmZmZmBrgxNDMzM7PEjaGZmZmZAdDV6gLawQknnBCrVq1qdRlmZmZmM9q1a9cvI6Kn2jw3hnWwatUqhoaGWl2GmZmZ2Ywk/fRo83wo2czMzMwAN4ZmZmZmlrgxNDMzMzPAjaGZmZmZJW4MzczMzAxwY2hmZmZmiRtDMzMzMwPcGJqZmZlZ4gtcm5lZ3YwWS+zYM8zIaJGe7gL963vpLvhXjVleNHxrlbQK+GJErK9x+ddGxJvn+FrPA66OiJ8fZf6bgG9GxNfmkm9mZtVFBNt2HmDr4D46JI6Uyizt6uB1X7iFLZvWsnnjaiS1ukwzm8FCPJT82nk893nAidVmSOqMiNe7KTQzq79tOw8wMLifO8fK3HFknFI5uOPIOHeOlRkY3M+2nQdaXaKZ1aBZjWGXpI9K2i3pM5KeLOnzEzMl/aGkz0l6K7BM0k2SrkrzniPpe2na+yV1ptsVkvZIukXSyyWdD/QBV6Vll0n6iaTXS7oW+LP0nPNT7k8kvVHSDSnj5DS9R9JX0/T3S/qppBOaNE5mZrkzWiyxdXAfh8fGq84/PDbOwOB+bi+WmlyZmc1WsxrDhwDbI+I04HfAKcBDJfWk+c8HPhIRrwEOR8SGiHi2pIcCFwCPiYgNwDjwbGADcL+IWB8Rp6bnfgYYAp6dnn84Zd8ZEWdFxCer1PXLiDgdeB9waZr2d8Bgmv55YGU9B8LMrN3s2DNMxwyHiTsEO/YON6kiM5urZjWGP4uI69L9K4HHAP8MPEfSccCZwJerPO/xwBnA9ZJuSo8fBPwIeJCkrZKeQNZsHs2nppn3ufTvLmBVun8W8EmAiPgK8JtqT5R0kaQhSUMjIyPTvISZWXsbGS1ypFSedpliqczBQ8UmVWRmc9Wsr4pFlccfAf4VuBP4dERUO8Yg4KMR8TdTZkgPA/qBi4FnAC84ymvfPk1dE/9LjfP7sajp7OiI2A5sB+jr65v885mZLRo93QWWdnVQOlL9UDJAoauDFcsLTazKzOaiWXsMV0o6M91/JnBt+ubwz4HLgCsqlh2TtCTd/zpwvqQVAJKOl3RSOuevIyI+C/wtcHpa/hCwfJ61XkvWaCLpPODe88wzM2tr/et7Kcf0n4/LAf3reptUkZnNVbMaw+8DF0raDRxPdk4fwFVkh5lvrVh2O7Bb0lVp+mXA1em5XwXuC9wP2JkOL18BTOxRvAL4p4kvn8yx1jcC50m6AXgi8AuyhtPMzKroLnSxZdNali3prDp/2ZJOLtm0hmN9PUOzBU8xw6e8hr64NADcGBEfalkRk0gqAOMRUUp7Od+XvvhyVH19fTE0NNSU+szMFqLK6xh2ShRLZQpdHYxH+DqGZguMpF0R0VdtXss+vknaRXb+31+3qoajWAn8X0kdwBHgf7W4HjOzBU8SF5+zhgsfvYqr9w5z8FCRFcsL9K/r9Z5Csxxp2dYaEWe06rWnExH7gIe3ug4zszzqLnTxtNPv3+oyzGyOFuJfPjEzMzOzFnBjaGZmZmaAG0MzMzMzS9wYmpmZmRngxtDMzMzMEjeGZmZmZga4MTQzMzOzxI2hmZmZmQFuDM3MzMwscWNoZmZmZoAbQzMzMzNL3BiamZmZGeDG0MzMzMySrlYXYGZm7WO0WGLHnmFGRov0dBfoX99Ld8G/aszyoqlbq6RVwBcjYv2k6R8E3hkRt0p6bUS8eYaclwHbI+KOhhVrZmY1iwi27TzA1sF9dEgcKZVZ2tXB675wC1s2rWXzxtVIanWZZjaDBXEoOSJeFBG3poevreEpLwPuUW2GpM561WVmZrXZtvMAA4P7uXOszB1HximVgzuOjHPnWJmBwf1s23mg1SWaWQ1a0Rh2SfqopN2SPiPpHpJ2SuqT9FZgmaSbJF0l6VhJX5J0s6Q9ki6Q9FLgROAaSdcASBqV9CZJ3wXOlPQcSd9LOe+faBYlvU/SkKS9kt44UZCkn0h6s6Rvp/mnS9oh6YCkF7dgjMzMcmO0WGLr4D4Oj41XnX94bJyBwf3cXiw1uTIzm61WNIYPITsMfBrwO2DzxIyIeA1wOCI2RMSzgScAP4+Ih6XDz1+JiPcAPwfOiYhz0lOPBfZExP8H/Aq4AHhMRGwAxoFnp+VeFxF9wGnA2ZJOq6jrZxFxJvAt4ArgfOBRwJvqPgJmZm1kx55hOmY4TNwh2LF3uEkVmdlctaIx/FlEXJfuXwmcNc2ytwDnSvoHSY+NiNuOstw48Nl0//HAGcD1km5Kjx+U5j1D0g3AjcA64JSKjH+peM3vRsShiBgB7pR03OQXlHRR2rs4NDIyMs2PYGbW3kZGixwpladdplgqc/BQsUkVmdlctaIxjBke/35GxA/JmrxbgLdIev1RFr0zIiaOYQj4aNrruCEiHhIRb5D0QOBS4PFpb+WXgGMqMib+xypX3J94POVLOhGxPSL6IqKvp6fnaD+CmVnb6+kusLRr+l8nha4OViwvNKkiM5urVjSGKyWdme4/E7h20vwxSUsAJJ0I3BERVwLvAE5PyxwClh8l/+vA+ZJWpIzjJZ0E3BO4HbhN0n2AJ9brBzIzW8z61/dSjqN+xgegHNC/rrdJFZnZXLWiMfw+cKGk3cDxwPsmzd8O7JZ0FXAq8L10SPh1wP+uWObLE18+qZS+3XwZcHV6ja8C942Im8kOIe8FPgxcN/m5ZmY2e92FLrZsWsuyJdUvCrFsSSeXbFrDsb6eodmCp5jhU57NrK+vL4aGhlpdhplZy1Rex7BTolgqU+jqYDzC1zE0W2Ak7Upfxp3CH9/MzGzeJHHxOWu48NGruHrvMAcPFVmxvED/ul7vKTTLEW+tZmZWN92FLp52+v1bXYaZzdGC+MsnZmZmZtZ6bgzNzMzMDHBjaGZmZmaJG0MzMzMzA9wYmpmZmVnixtDMzMzMADeGZmZmZpa4MTQzMzMzwI2hmZmZmSVuDM3MzMwMcGNoZmZmZokbQzMzMzMDoKvVBZiZWfsYLZbYsWeYkdEiPd0F+tf30l3wrxqzvMjd1ippFfDFiFg/afoHgXdGxK0tKczMbBGLCLbtPMDWwX10SBwplVna1cHrvnALWzatZfPG1UhqdZlmNoPcNYZHExEvqkeOpK6IKNUjy8xssdi28wADg/u5c6x817TSkXEABgb3A3DxOWtaUpuZ1S6v5xh2SfqopN2SPiPpHpJ2SuoDkDQq6f9IulnSdyTdJ01/qqTvSrpR0tcqpr9B0nZJVwMfk/QtSRsmXkzSdZJOa8UPama20I0WS2wd3MfhsfGq8w+PjTMwuJ/bi/7MbbbQ5bUxfAiwPSJOA34HbJ40/1jgOxHxMOCbwP9K068FHhURDwc+Cbyq4jlnAH8cEc8CPgg8D0DSg4FCROxu0M9iZpZrO/YM0zHDYeIOwY69w02qyMzmKq+N4c8i4rp0/0rgrEnzjwBfTPd3AavS/fsDOyTdArwSWFfxnH+JiMPp/qeBp0haArwAuGJyAZIukjQkaWhkZGSeP46ZWX6NjBY5UipPu0yxVObgoWKTKjKzucprYxgzPB6LiIlp4/z+XMqtwEBEnAr8JXBMxXNuvyss4g7gq8AfA88APj6lgIjtEdEXEX09PT1z/kHMzPKup7vA0q7pf50UujpYsbzQpIrMbK7y2hiulHRmuv9MskPEtbgX8N/p/oUzLPtB4D3A9RHx69mXaGa2OPSv76Uckz+f3105oH9db5MqMrO5ymtj+H3gQkm7geOB99X4vDcAn5b0LeCX0y0YEbvIzl/8yDzqNDNre92FLrZsWsuyJZ1V5y9b0sklm9ZwrK9naLbgKWb4lLdYSToR2AmcHBHTnjzT19cXQ0NDTanLzGwhqryOYadEsVSm0NXBeISvY2i2wEjaFRF91eb541sVkp4L/B/gFTM1hWZmBpK4+Jw1XPjoVVy9d5iDh4qsWF6gf12v9xSa5Yi31ioi4mPAx1pdh5lZ3nQXunja6fdvdRlmNkd5PcfQzMzMzOrMjaGZmZmZAW4MzczMzCxxY2hmZmZmgBtDMzMzM0vcGJqZmZkZ4MbQzMzMzBI3hmZmZmYGuDE0MzMzs8SNoZmZmZkBbgzNzMzMLHFjaGZmZmaAG0MzMzMzS7paXYCZmTXXaLHEjj3DjIwW6eku0L++l+6Cfx1Ye/D6PT+KiFbXkHt9fX0xNDTU6jLMzKYVEWzbeYCtg/vokDhSKrO0q4NyBFs2rWXzxtVIanWZZnPi9bt2knZFRF+1eW6hzcwWiW07DzAwuJ87x8p3TSsdGQdgYHA/ABefs6YltZnNl9fv+liw5xhKWiXpB5I+Kmm3pM9IuoekJ6Tp10p6j6QvpuXfIOnSiufvkbQq3X+OpO9JuknS+yV1pumjFcufL+mKdL9H0mclXZ9uj2nmz25mVm+jxRJbB/dxeGy86vzDY+MMDO7n9mKpyZWZzZ/X7/pZsI1h8hBge0ScBvwOeAXwAeCpwGOB3pkCJD0UuAB4TERsAMaBZ8/wtHcDl0fEI4CnAx+c6w9gZrYQ7NgzTMcMh9E6BDv2DjepIrP68fpdPwv9UPLPIuK6dP9K4KXAjyNiH4CkK4GLZsh4PHAGcH06t2AZcHCG55wLnFJxLsI9JS2PiEMTEyRdNPHaK1eurPkHMjNrhZHRIkdK5WmXKZbKHDxUbFJFZvXj9bt+FnpjOPmbMfeqMm1CibvvAT0m/SvgoxHxNzPkH1NxvwM4MyIOH7WwiO3Adsi+fHK05czMFoKe7gJLuzruOueqmkJXByuWF5pYlVl9eP2un4V+KHmlpDPT/WcCXwMeKGl1xbQJPwFOB5B0OvDANP3rwPmSVqR5x0s6Kc37H0kPldQB/GlF1tXAJRMPJG2o209kZtYC/et7Kc9wFYpyQP+6Gc/QMVtwvH7Xz0JvDL8PXChpN3A8cDnZ4dsvSboW+GnFsp8Fjpd0E/AS4IcAEXErcBlwdcr5KnDf9JzXAF8EBoFfVGS9FOhLX3q5FXhxY348M7Pm6C50sWXTWpYt6aw6f9mSTi7ZtIZjfb03yyGv3/WzYK9jmL5R/MWIWD/NMhuBSyPiKU0qqypfx9DM8qDyOm+dEsVSmUJXB+O+zpu1Aa/ftfN1DM3MDElcfM4aLnz0Kq7eO8zBQ0VWLC/Qv67Xe1Is97x+18eC3WOYJ95jaGZmZnkx3R7DhX6OoZmZmZk1iRtDMzMzMwPcGJqZmZlZ4sbQzMzMzAA3hmZmZmaWuDE0MzMzM8CNoZmZmZklbgzNzMzMDHBjaGZmZmaJG0MzMzMzA9wYmpmZmVnixtDMzMzMADeGZmZmZpZ0tboAMzNrrtFiiR17hhkZLdLTXaB/fS/dhfr8Omhktk3l8Z7KYzI/iohW17CgSNoIHImIf0+P3wCMRsQ7jvacvr6+GBoaakp9ZmZzFRFs23mArYP76JA4UiqztKuDcgRbNq1l88bVSFpw2TaVx3sqj0ntJO2KiL5q89xCT7URGAX+vcV1mJnV1badBxgY3M+dY+W7ppWOjAMwMLgfgIvPWbPgsm0qj/dUHpP6WFTnGEpaJekHkj4oaY+kqySdK+k6SfskPRJ4MfBySTdJemyrazYzq4fRYomtg/s4PDZedf7hsXEGBvdze7G0oLJtKo/3VB6T+llUjWGyBng3cBpwMvAs4CzgUuC1wD8Bl0fEhoj4VsuqNDOrox17humY4TBah2DH3uEFlW1Tebyn8pjUz2JsDH8cEbdERBnYC3w9shMtbwFW1Roi6SJJQ5KGRkZGGlSqmVl9jIwWOVIqT7tMsVTm4KHigsq2qTzeU3lM6mcxNoaVa0W54nGZWZxzGRHbI6IvIvp6enrqWZ+ZWd31dBdY2jX9f/mFrg5WLC8sqGybyuM9lcekfhZjYziTQ8DyVhdhZlZP/et7Kc9wFYpyQP+63gWVbVN5vKfymNSPG8Op/hX4U3/5xMzaSXehiy2b1rJsSWfV+cuWdHLJpjUcO4frvTUy26byeE/lMamfRTVCEfETYH3F4+cdZd5pFU/zF1DMrC1s3rgagK2D++iUKJbKFLo6GI/gkk1r7pq/0LJtKo/3VB6T+vAFruvAF7g2szwZLZa4eu8wBw8VWbG8QP+63rrtSWlktk3l8Z7KYzKz6S5w7cawDtwYmpmZWV5M1xj6HEMzMzMzA9wYmpmZmVnixtDMzMzMADeGZmZmZpa4MTQzMzMzwI2hmZmZmSVuDM3MzMwMcGNoZmZmZokbQzMzMzMD3BiamZmZWeLG0MzMzMwAN4ZmZmZmlnS1ugAzM2uu0WKJHXuGGRkt0tNdoH99L92Fhf/rIK9121SNfC+9nsyPIqLVNeReX19fDA0NtboMM7NpRQTbdh5g6+A+OiSOlMos7eqgHMGWTWvZvHE1klpd5hR5rdumauR76fWkdpJ2RURftXlt3UJLGo2I7lbXYWa2EGzbeYCBwf3cOVa+a1rpyDgAA4P7Abj4nDUtqW06ea3bpmrke+n1pD58jqGZ2SIwWiyxdXAfh8fGq84/PDbOwOB+bi+WmlzZ9PJat03VyPfS60n9LJrGUNIrJV0vabekN6ZpqyR9X9IHJO2VdLWkZWneSyXdmpb/ZGurNzObnx17humY4TBah2DH3uEmVVSbvNZtUzXyvfR6Uj+LojGUdB6wFngksAE4Q9Lj0uy1wHsjYh3wW+DpafprgIdHxGnAi6tkXiRpSNLQyMhIg38CM7P5GRktcqRUnnaZYqnMwUPFJlVUm7zWbVM18r30elI/i6IxBM5LtxuBG4CTyRpCgB9HxE3p/i5gVbq/G7hK0nOAKfueI2J7RPRFRF9PT08DSzczm7+e7gJLu6b/L7/Q1cGK5YUmVVSbvNZtUzXyvfR6Uj+LpTEU8JaI2JBuayLiQ2le5ceHcX7/hZwnA+8FzgB2SWrrL+qYWXvrX99LeYarUJQD+tf1Nqmi2uS1bpuqke+l15P6WSyN4Q7gBZK6ASTdT9KKoy0sqQN4QERcA7wKOA7wt5vNLLe6C11s2bSWZUs6q85ftqSTSzat4dgFdr23vNZtUzXyvfR6Uj+LYoQi4mpJDwW+na5hNAo8h2wPYTWdwJWS7kW2t/HyiPhtM2o1M2uUzRtXA7B1cB+dEsVSmUJXB+MRXLJpzV3zF5q81m1TNfK99HpSH77AdR34AtdmliejxRJX7x3m4KEiK5YX6F/Xm4s9KXmt26Zq5Hvp9WRm013g2o1hHbgxNDMzs7yYrjFcLOcYmpmZmdkM3BiamZmZGVBjYyjpPpI+JOnL6fEpkl7Y2NLMzMzMrJlq3WN4BdklX05Mj38IvKwB9ZiZmZlZi9TaGJ4QEf8XKANERImjX+rFzMzMzHKo1sbwdkl/AASApEcBtzWsKjMzMzNrulov7PMK4F+A1ZKuA3qA8xtWlZmZmZk1XU2NYUTcIOls4CFkfwnkPyJirKGVmZmZmVlTTdsYSnraUWY9WBIR8bkG1GRmZmZmLTDTHsOnTjMvADeGZmZmZm1i2sYwIp7frELMzMzMrLVqOsdQ0uurTY+IN9W3HDMzMzNrlVq/lXx7xf1jgKcA369/OWZmZmbWKrV+K/kfKx9LegfZ5WvMzKzORoslduwZZmS0SE93gf71vXQXav0cbwtNXt/PvNZt86OImP2TpHsD34uItfUvaW4kjUZEt6RVwKMj4uNpeh/w3Ih46SzzjgOeFRHbZlq2r68vhoaG5lC1mdnvRQTbdh5g6+A+OiSOlMos7eqgHMGWTWvZvHE1klpdptUor+9nXuu22knaFRF91ebVeo7hLaS/egJ0kl3geqGeX7gKeBbwcYCIGALm0rUdB2wGZmwMzczqYdvOAwwM7ufOsfJd00pHsr8+OjC4H4CLz1nTktps9vL6fua1bquPWv8k3lPILl3zVOA84MSIGKhnIZJWSfqBpA9K2iPpKknnSrpO0j5Jj5T0BkmXVjxnT9pDWOmtwGMl3STp5ZI2SvpiWv7sNP0mSTdKWp6mv1LS9ZJ2S3pjRc7qtOzb6/mzmplNNlossXVwH4fHqv8Z+sNj4wwM7uf2YqnJldlc5PX9zGvdVj/TNoaSjpd0PHCo4nYYuGeaXm9rgHcDpwEnk+35Owu4FHhtjRmvAb4VERsi4vJJ8y4FLo6IDcBjgcOSzgPWAo8ENgBnSHpcyjmQcl45r5/KzGwGO/YM0zHD4bkOwY69w02qyOYjr+9nXuu2+pnpUPIuskPIAlYCv0n3jwP+E3hgnev5cUTcAiBpL/D1iIh0KHsVcNM8868D3inpKuBzEfFfqTE8D7gxLdNN1ij+53RBki4CLgJYuXLlPMsys8VuZLTIkVJ52mWKpTIHDxWbVJHNR17fz7zWbfUz7R7DiHhgRDwI2AE8NSJOiIg/IDu03Ii/elK5ppUrHpfJmtgSd6/5mNmER8RbgRcBy4DvSDqZrNF9S9ozuCEi1kTEh2rI2h4RfRHR19PTM5syzMym6OkusLRr+rN7Cl0drFheaFJFNh95fT/zWrfVT63nGD4iIv5t4kFEfBk4uzElTesnwOkAkk6n+h7LQ8Dyak+WtDoibomIfyD7QsrJZE3vCyR1p2XuJ2nFdDlmZvXWv76X8gxXiSgH9K/rbVJFNh95fT/zWrfVT62N4S8lXZa+IHKSpNcBv2pkYUfxWeB4STcBLwF+WGWZ3UBJ0s2SXj5p3svSF1ZuJjtX8ssRcTXZN5i/nQ5ZfwZYHhG/Aq5Ly/vLJ2bWUN2FLrZsWsuyJZ1V5y9b0sklm9ZwrK8jlwt5fT/zWrfVT03XMUxfNPk74HFp0jeBN0bErxtYW274OoZmVg+V14/rlCiWyhS6Ohj39eNyKa/vZ17rttpNdx3DWV3gWtI9gXJEjNaruHbgxtDM6mm0WOLqvcMcPFRkxfIC/et6vYcmx/L6fua1bpvZvBtDSacCHwMmLlHzS+DCiNhTtypzzI2hmZmZ5cV0jWGt5xi+H3hFRJwUEScBfw1sr1eBZmZmZtZ6tTaGx0bENRMPImIncGxDKjIzMzOzlqj1ZIEfSfpb4J/T4+cAP25MSWZmZmbWCrXuMXwB0EN2uZjPAScAz2tQTWZmZmbWArU2hquBB6TllwCPJ7tkjZmZmZm1iVoPJV8FXArsIfvzdGZmZmbWZmptDEci4l8bWomZmZmZtVStjeHfSfog8HWgODExIj7XkKrMzMzMrOlqbQyfD5xMdn7hxKHkIPsiipmZmZm1gVobw4dFxKkNrcTMzMzMWqrWbyV/R9IpDa3EzMzMzFqq1j2GZwEXSvox2TmGAiIiTmtYZWZmZmbWVLU2hk9oaBVmZmZm1nI1NYYR8dNGF2Jm8zNaLLFjzzAjo0V6ugv0r++lu1DrZ7/WyWvdeeYxN7OjUUS0uobc6+vri6GhoVaXYYtURLBt5wG2Du6jQ+JIqczSrg7KEWzZtJbNG1cjqdVlTpHXuvPMY25mAJJ2RURftXmL5iOipM6IGD/aY7O82rbzAAOD+7lz7Pd/lKh0JFu1Bwb3A3DxOWtaUtt08lp3nnnMzWwmtX4recGT9AVJuyTtlXRRmjYq6U2SvgucWeXx6yVdL2mPpO3KrJZ0Q0XuWkm7WvVzmU1ntFhi6+A+Do9V/4xzeGycgcH93F4sNbmy6eW17jzzmJtZLdqmMQReEBFnAH3ASyX9AXAssCci/r+IuLbK44GIeERErAeWAU+JiAPAbZI2pNznA1c0+4cxq8WOPcN0zHDor0OwY+9wkyqqTV7rzjOPuZnVop0aw5dKuhn4DvAAYC0wDny2YpnJj8+R9F1JtwCbgHVp+geB50vqBC4APj75xSRdJGlI0tDIyEj9fxqzGoyMFjlSKk+7TLFU5uCh4rTLNFte684zj7mZ1aItGkNJG4FzgTMj4mHAjcAxwJ2TziO867GkY4BtwPnpr7p8ID0HsubxicBTgF0R8avJrxkR2yOiLyL6enp6GvODmc2gp7vA0q7pN+NCVwcrlheaVFFt8lp3nnnMzawWbdEYAvcCfhMRd0g6GXhUDc+ZaAJ/KakbOH9iRkTcCewA3gd8pN7FmtVL//peyjNcWaAc0L+ut0kV1SavdeeZx9zMatEujeFXgC5Ju4G/JzucPK2I+C3ZXsJbgC8A109a5CoggKvrWahZPXUXutiyaS3LlnRWnb9sSSeXbFrDsQvsGnV5rTvPPOZmVou2+B8gIopkh34n65603OTHlwGXHSX2LODDvqSNLXSbN64GYOvgPjoliqUyha4OxiO4ZNOau+YvNHmtO8885mY2E1/gugpJnwdWA5si4pczLe8LXNtCMFoscfXeYQ4eKrJieYH+db252PuT17rzzGNutrhNd4FrN4Z14MbQzMzM8mK6xrBdzjE0MzMzs3lyY2hmZmZmgBtDMzMzM0vcGJqZmZkZ4MbQzMzMzBI3hmZmZmYGuDE0MzMzs8SNoZmZmZkBbgzNzMzMLHFjaGZmZmaAG0MzMzMzS9wYmpmZmRkAXa0uwGwuRoslduwZZmS0SE93gf71vXQX6rM6NzLbzMxsIVNEtLqG3Ovr64uhoaFWl7EoRATbdh5g6+A+OiSOlMos7eqgHMGWTWvZvHE1khZctpmZ2UIhaVdE9FWb50PJgKQ3SLo03X+TpHPT/ZdJukdrq7NK23YeYGBwP3eOlbnjyDilcnDHkXHuHCszMLifbTsPLMhsMzOzPHBjOElEvD4ivpYevgxwY7hAjBZLbB3cx+Gx8arzD4+NMzC4n9uLpQWVbWZmlhdt2xhKOlbSlyTdLGmPpAsk/UTSP0j6XrqtqfK8KySdL+mlwInANZKuaf5PYJPt2DNMxwyHcjsEO/YOL6hsMzOzvGjbxhB4AvDziHhYRKwHvpKm/y4iHgkMAO862pMj4j3Az4FzIuKcyfMlXSRpSNLQyMhI/au3KUZGixwpladdplgqc/BQcUFlm5mZ5UU7N4a3AOemPYSPjYjb0vRPVPx75lzDI2J7RPRFRF9PT898a7Ua9HQXWNo1/Spb6OpgxfLCgso2MzPLi7ZtDCPih8AZZA3iWyS9fmJW5WJNL8zmrH99L+UZvkVfDuhf17ugss3MzPKibRtDSScCd0TElcA7gNPTrAsq/v32DDGHgOWNqdBmq7vQxZZNa1m2pLPq/GVLOrlk0xqOncM1BxuZbWZmlhft/FvuVODtksrAGPAS4DNAQdJ3yZriZ86QsR34sqRfVDvP0Jpv88bVAGwd3EenRLFUptDVwXgEl2xac9f8hZZtZmaWB4vqAteSfgL0RcQv65nrC1w332ixxNV7hzl4qMiK5QX61/XWbW9eI7PNzMxabboLXPu3neVSd6GLp51+/9xlm5mZLWSLqjGMiFWtrsHMzMxsoWrbL5+YmZmZ2ey4MTQzMzMzwI2hmZmZmSVuDM3MzMwMcGNoZmZmZokbQzMzMzMD3BiamZmZWeLG0MzMzMwAN4ZmZmZmlrgxNDMzMzPAjaGZmZmZJW4MzczMzAyArlYXYO1rtFhix55hRkaL9HQX6F/fS3fBq1yj5HW8XXfz5bV2193c7EbymEy1UOpWRDT9RetF0mhEdEs6EXhPRJzfijr6+vpiaGioFS+9IEUE23YeYOvgPjokjpTKLO3qoBzBlk1r2bxxNZJaXWbbyOt4u+7my2vtrru52Y3kMZmqFXVL2hURfdXmLfwWugYR8XOgoU2hpK6IKDXyNdrFtp0HGBjcz51j5bumlY6MAzAwuB+Ai89Z05La2lFex9t1N19ea3fdzc1uJI/JVAut7rY4x1DSKkl70v3nSfqcpK9I2ifpbRXLnSfp25JukPRpSd1p+uslXS9pj6TtSq25pJ2S3izpG8BfteSHy5nRYomtg/s4PDZedf7hsXEGBvdze9E9dj3kdbxdd/PltXbX3dzsRvKYTLUQ626LxrCKDcAFwKnABZIeIOkE4DLg3Ig4HRgCXpGWH4iIR0TEemAZ8JSKrOMi4uyI+MfmlZ9fO/YM0zHDLu8OwY69w02qqL3ldbxdd/PltXbX3dzsRvKYTLUQ626LQ8lVfD0ibgOQdCtwEnAccApwXdohuBT4dlr+HEmvAu4BHA/sBf41zftUtReQdBFwEcDKlSsb8kPk0chokSOl8rTLFEtlDh4qNqmi9pbX8XbdzZfX2l13c7MbyWMy1UKsu133GFaO4DhZAyzgqxGxId1OiYgXSjoG2AacHxGnAh8Ajql4/u3VXiAitkdEX0T09fT0NOjHyJ+e7gJLu6ZfrQpdHaxYXmhSRe0tr+Ptupsvr7W77uZmN5LHZKqFWHe7NobVfAd4jKQ1AJLuIenB/L4J/GU657Al32xuF/3reynP8E33ckD/ut4mVdTe8jrerrv58lq7625udiN5TKZaiHUvmsYwIkaA5wGfkLSbrFE8OSJ+S7aX8BbgC8D1LSqxLXQXutiyaS3LlnRWnb9sSSeXbFrDsTm4plQe5HW8XXfz5bV2193c7EbymEy1EOvO9XUMFwpfx/DuKq/J1ClRLJUpdHUwvsCvJZVXeR1v1918ea3ddTc3u5E8JlO1ou7prmPoxrAO3BhWN1oscfXeYQ4eKrJieYH+db0L7tNaO8nreLvu5str7a67udmN5DGZqpl1uzFsMDeGZmZmlhfTNYaL5hxDMzMzM5ueG0MzMzMzA9wYmpmZmVnixtDMzMzMADeGZmZmZpa4MTQzMzMzwI2hmZmZmSVuDM3MzMwMcGNoZmZmZokbQzMzMzMD3BiamZmZWeLG0MzMzMwAN4ZmZmZmlnS1ugBrX6PFEjv2DDMyWqSnu0D/+l66C/VZ5RqZ3Uh5HRNnt092M/Lt7vK6rji7fbJnQxHR9BetlaRVwKMj4uMzLHci8J6IOL8phU3S19cXQ0NDrXjpBSki2LbzAFsH99EhcaRUZmlXB+UItmxay+aNq5G04LIbKa9j4uz2yW5Gvt1dXtcVZ7dP9tFI2hURfdXmLfSPiKuAZwHTNoYR8XOgLk2hpM6IGK9H1mK1becBBgb3c+dY+a5ppSPZkA4M7gfg4nPWLLjsRsrrmDi7fbKbkW93l9d1xdntkz0XDT3HUNJzJe2WdLOkf5Z0kqSvp2lfl7QyLXeFpPdI+ndJP5I00eS9FXispJskvVzSKknfknRDuj06PX+VpD3p/vMkfU7SVyTtk/S2inrOk/Tt9NxPS+pO038i6fWSrgX+TNJLJd2a6vxkI8eo3YwWS2wd3Mfhseq99eGxcQYG93N7sbSgshspr2Pi7PbJbka+3V1e1xVnt0/2XDWsMZS0DngdsCkiHgb8FTAAfCwiTgOuAt5T8ZT7AmcBTyFrCAFeA3wrIjZExOXAQeAPI+J04IJJz6+0Ic0/FbhA0gMknQBcBpybnj8EvKLiOXdGxFkR8cn0ug9Pdb54PuOw2OzYM0zHDLu8OwQ79g4vqOxGyuuYOLt9spuRb3eX13XF2e2TPVeNPJS8CfhMRPwSICJ+LelM4Glp/j8Db6tY/gsRUQZulXSfo2QuAQYkbQDGgQcfZbmvR8RtAJJuBU4CjgNOAa5Lx+qXAt+ueM6nKu7vBq6S9AXgC9VeQNJFwEUAK1euPEoZi8/IaJEjpfK0yxRLZQ4eKi6o7EbK65g4u32ym5Fvd5fXdcXZ7ZM9V408lCxgpm+2VM6v/KmP1j6/HPgf4GFAH1lzV01l1jhZAyzgq2nv44aIOCUiXlix3O0V958MvBc4A9glaUoDHRHbI6IvIvp6enqOUsbi09NdYGnX9KtVoauDFcsLCyq7kfI6Js5un+xm5Nvd5XVdcXb7ZM9VIxvDrwPPkPQHAJKOB/4d+PM0/9nAtTNkHAKWVzy+F/CLtGfxL4DOWdTzHeAxktakeu4hacoeR0kdwAMi4hrgVWR7Grtn8TqLWv/6XsozfNO9HNC/rndBZTdSXsfE2e2T3Yx8u7u8rivObp/suWpYYxgRe4H/A3xD0s3AO4GXAs+XtJussfurGWJ2A6X05ZWXA9uACyV9h+ww8u3TPvvu9YwAzwM+kV7/O8DJVRbtBK6UdAtwI3B5RPy21tdZ7LoLXWzZtJZlS6r37MuWdHLJpjUcO4drMzUyu5HyOibObp/sZuTb3eV1XXF2+2TP1YK+jmFe+DqGd1d5TaZOiWKpTKGrg/E6X++p3tmNlNcxcXb7ZDcj3+4ur+uKs9sn+2imu46hG8M6cGNY3WixxNV7hzl4qMiK5QX61/XW7VNPI7MbKa9j4uz2yW5Gvt1dXtcVZ7dP9mRuDBvMjaGZmZnlxXSNYUMvcG1mZmZm+eHG0MzMzMwAN4ZmZmZmlrgxNDMzMzPAjaGZmZmZJW4MzczMzAxwY2hmZmZmiRtDMzMzMwPcGJqZmZlZ4sbQzMzMzAA3hmZmZmaWuDE0MzMzM8CNoZmZmZklXa0uwGY2WiyxY88wI6NFeroL9K/vpbtQn7cur9l55TFprryu315PqsvrmOf1/fSYTJXXumdDEdHqGhpG0nHAsyJi2xyeuwE4MSL+baZl+/r6YmhoaPYFziAi2LbzAFsH99EhcaRUZmlXB+UItmxay+aNq5G0qLLzymPSXHldv72eVJfXMc/r++kxmSqvdR+NpF0R0VdtXnu1uVMdB2wGZt0YAhuAPmDGxrBRtu08wMDgfu4cK981rXRkHICBwf0AXHzOmkWVnVcek+bK6/rt9aS6vI55Xt9Pj8lUea17Ltr9HMO3Aqsl3STp7ZJeKel6SbslvRFA0p9K+poy95X0Q0krgTcBF6TnXtDswkeLJbYO7uPw2HjV+YfHxhkY3M/txdKiyc4rj0lz5XX99npSXV7HPK/vp8dkqrzWPVft3hi+BjgQERuArwJrgUeS7Q08Q9LjIuLzwDBwMfAB4O8i4j+B1wOfiogNEfGpZhe+Y88wHTPslu4Q7Ng7vGiy88pj0lx5Xb+9nlSX1zHP6/vpMZkqr3XPVbsfSq50XrrdmB53kzWK3wS2AHuA70TEJ2oJk3QRcBHAypUr617syGiRI6XytMsUS2UOHioumuy88pg0V17Xb68n1eV1zPP6fnpMpspr3XPV7nsMKwl4S9oDuCEi1kTEh9K8+wFl4D6SahqTiNgeEX0R0dfT01P3Ynu6Cyztmr6UQlcHK5YXFk12XnlMmiuv67fXk+ryOuZ5fT89JlPlte65avfG8BCwPN3fAbxAUjeApPtJWiGpC/gI8Czg+8Arqjy36frX91Ke4Rvj5YD+db2LJjuvPCbNldf12+tJdXkd87y+nx6TqfJa91y1dWMYEb8CrpO0B/hD4OPAtyXdAnyGrPF7LfCtiPgWWVP4IkkPBa4BTmnVl0+6C11s2bSWZUs6q85ftqSTSzat4dg5XD8pr9l55TFprryu315PqsvrmOf1/fSYTJXXuueqPX6KaUTEsyZNevekx2+qWPYQcHLFvEc0qq5abN64GoCtg/volCiWyhS6OhiP4JJNa+6av5iy88pj0lx5Xb+9nlSX1zHP6/vpMZkqr3XPRVtf4LpZGnWB6wmjxRJX7x3m4KEiK5YX6F/XW7dPJnnNziuPSXPldf32elJdXsc8r++nx2SqvNY92XQXuHZjWAeNbgzNzMzM6mW6xrCtzzE0MzMzs9q5MTQzMzMzwI2hmZmZmSVuDM3MzMwMcGNoZmZmZokbQzMzMzMD3BiamZmZWeLG0MzMzMwAN4ZmZmZmlrgxNDMzMzPAjaGZmZmZJW4MzczMzAyArlYXYDMbLZbYsWeYkdEiPd0F+tf30l2oz1uX1+y88pg0V17Xb68n1eV1zPP6fnpMpspr3bOhiGh1DbnX19cXQ0NDdc+NCLbtPMDWwX10SBwplVna1UE5gi2b1rJ542okLarsvPKYNFde12+vJ9Xldczz+n56TKbKa91HI2lXRPRVm9f0NlfSayPizen+ccCzImJbs+vIg207DzAwuJ87x8p3TSsdGQdgYHA/ABefs2ZRZeeVx6S58rp+ez2pLq9jntf302MyVV7rnotWnGP42or7xwGbG/2Ckjob/Rr1NlossXVwH4fHxqvOPzw2zsDgfm4vlhZNdl55TJorr+u315Pq8jrmeX0/PSZT5bXuuWpoYyjpC5J2Sdor6SJJbwWWSbpJ0lXAW4HV6fHblXm7pD2SbpF0QcrZKOmbkj4v6VZJ/ySpI817n6Sh9BpvrHjtn0h6vaRrgT+T9NL03N2SPpmWOVbShyVdL+lGSX+cpndKekeqYbekLY0cp2p27BmmY4bd0h2CHXuHF012XnlMmiuv67fXk+ryOuZ5fT89JlPlte65avSh5BdExK8lLQOuB84GLomIDQCSVgHrKx4/HdgAPAw4Abhe0jdT1iOBU4CfAl8BngZ8Bnhdeo1O4OuSTouI3ek5d0bEWSn758ADI6KYDmEDvA4YjIgXpGnfk/Q14LnAA4GHR0RJ0vGTfzBJFwEXAaxcuXLeAzXZyGiRI6XytMsUS2UOHioumuy88pg0V17Xb68n1eV1zPP6fnpMpspr3XPV6EPJL5V0M/Ad4AHA2hmWPwv4RESMR8T/AN8AHpHmfS8ifhQR48An0rIAz5B0A3AjsI6seZzwqYr7u4GrJD0HmNjfex7wGkk3ATuBY4CVwLnAP0VECSAifj250IjYHhF9EdHX09Mzw481ez3dBZZ2Tf/2FLo6WLG8sGiy88pj0lx5Xb+9nlSX1zHP6/vpMZkqr3XPVcMaQ0kbyRqsMyPiYWSN2zEzPW2aeZO/Ph2SHghcCjw+Ik4DvjTpNW6vuP9k4L3AGcAuSV3p9Z4eERvSbWVEfD9Nb+nXtfvX91Ke4Rvj5YD+db2LJjuvPCbNldf12+tJdXkd87y+nx6TqfJa91w1co/hvYDfRMQdkk4GHpWmj0laku4fApZXPOebwAXpHL8e4HHA99K8R0p6YDq38ALgWuCeZM3fbZLuAzyxWiHpOQ+IiGuAV5F96aUb2AFsUfqOuaSHp6dcDbw4NY9UO5TcaN2FLrZsWsuyJdW/N7NsSSeXbFrDsXO4flJes/PKY9JceV2/vZ5Ul9cxz+v76TGZKq91z1Ujf4qvkDVXu4H/IDucDLAd2C3phoh4tqTrJO0BvkzWtJ0J3Ey2x+5VETGcGstvk31Z5VSyBvLzEVGWdCOwF/gRcN1RaukErpR0L7K9gZdHxG8l/T3wrlSPgJ8ATwE+CDw4TR8DPgAM1GtgarV542oAtg7uo1OiWCpT6OpgPIJLNq25a/5iys4rj0lz5XX99npSXV7HPK/vp8dkqrzWPRe5uMB1Oix9aUQ8pcWlVNWoC1xPGC2WuHrvMAcPFVmxvED/ut66fTLJa3ZeeUyaK6/rt9eT6vI65nl9Pz0mU+W17smmu8C1G8M6aHRjaGZmZlYvC+ovn8xFROwk+9awmZmZmTVIK/7yiZmZmZktQG4MzczMzAxwY2hmZmZmiRtDMzMzMwPcGJqZmZlZ4sbQzMzMzAA3hmZmZmaW5OIC1wudpBHgp014qROAXzrb2c52dg7yne1sZy+87AknRURPtRluDHNE0tDRrlTubGc729kLKd/Zznb2wsuuhQ8lm5mZmRngxtDMzMzMEjeG+bLd2c52trNzku9sZzt74WXPyOcYmpmZmRngPYZmZmZmlrgxNDMzMzPAjWHbkqQ8ZttUeX0v87qe5HVM8jreeZbX9zOv60pexyRv4+3GsE1FY08evQeApLqvP5JOqHdmRfaDJa1sUPYjJD2+EdnA0gbl5pqkrkbkNnjbaaRcbpcp39tmG/G2OUWutk03hm1I0uMkvUnSsyWdXOfsxwLflHRqRJTruaJLegrwRUnH1/sTlqQ/AT4D9EhaUufsJwBfBvrT43qOyR8Cn5b0Bkn99cpN2WcDfy/pjySdUTF93mMv6Rzg7ZL+XFJfxfR6ZK8HiIiSpM755k3KbuS2swl4t6QXTvwMdczO5XaZ8v8Eb5uTs71tTs32tjk1uyHbphvDNiPpScAHgNuBPwGepqROL/Fw4ETgQ5IemVb0rvTac36N9B/rG4HXRsSv6/nJUNKDgcuAF0fELqA0af586n4C8HrgbcATJZ0REeX51FuRfS6wFfh/wDHAKZPmz6fuxwNXAD8ne09fLuk5MP9P5ZI2Ah8HfgY8DtgiaXOdsp8E7Ja0M+WN1+sXUCO3nbSevAfYl7LPmW/mJLnbLlO+t82p2d42q2d726zQ0G0zInxrkxvwAOC7wOPT4w3AD4BT6/gaJwOvAs4HbgZWAsfMM/O+wPeBv06P7wO8APhT4BF1qPkk4Ip0/0Fk/6G/Dtgyz9yHAD8Bzk6PLwPeBxxbh5oF/A3wrPT4j8j2fDwT+NM65L+qIrsX+BTwLeD5dcj+M+BV6f4K4Fzg82S//OeTe2/gI2T/eX8eGKyY1zXP7Ps3attJ28j1wKb0+JnAh4DHAA+db37KzN12mTJXeducku9t8+7ZDfu95m2z+s17DNtIRPyM7BPy9ZI6I+Im4N/JVpp5S59ufgs8iWxDfQcwCOyV9Aea43klEfEL4MPAoyQ9A/g3sk9ZzwAuSp9y52MZsELZOUxvAH4F/Bh4hqRXzzU0Iv4D+MOI+EYam+vI/iPvhvkdtopsaw+ywxtPIrvg6Q+BNcCFkp471+ykALxI0j0iYphsD8K/AX2a/zkrncAzU/ZBsnF5L/BISafONTQifgO8C/iXiPhToCTpmjSvNN1za8j+L+C1NGDbiYj/BJ4REYOSTiTbgwVwIdneoHPn+xrAb2jMdrmdBm2XafvoIjuE3Iht85wGbptjwLsatG12Ai+UtKwB22aBxm2bAzRm22zY77W0bT6rUdtmWvcatW1+iAZtm24M24CkEyWdBBAROyLid8DEIROR7TFD0lmSHjqH7Aek7Ej/UV0PDAM3AfdKr3Wv2f4HkLIfmLLfDuwE3gp8KCK2AC8DDpPtVZiVlL0yZf8AuAX4BjASEW+IiI+T/WfzB3PMXpWy96V/IyKuIfuFcXmaNuvDVpPey7eSNUKPBD4bEX8F/CPZ3on7zScb+AeyT6/flfR+sk/hVwJrgQfOIfuYifsR8UngWuCDkroj4jCwh+wX3oPmmX1zxf3zgLGJX0Bp/T5zrtnANRHxu4gYn5jN/Ladyrp/nO52Aq+OiBeS7cU6TLYHYVYqs9Mvy/8Bvkd9tsvKui8ney/fQh22y8r8iChHxH6yvT87qc+2ebcxl6Q6bpuV2e8ga6geQX22zcr1cAC4lfptm72S7p/qvhL4DvXbNnsrfj/sSjn12jYrs3fUedvsrfj9sC9Nrte22Svpfik76rxtVtb9DrL3sm7b5gQ3hjkn6Wlk/6l+QNJnJD1cUiF9qgW4DTgo6Ylkn1Zum0P2hyay06wfkX1C+VfgRWTN3EclLav1nImK7PdL+ryyE3PfS3ZY5p8A0gZ1iOxQQs3nY1RkfzBlr4+IV5Od4P4SSfdOi54CrNYsTnivyN5eOd4Vi7waCEmn1ZpZJfsDkr6QPsG/heyXzUnpU/4dwPHAyZI65zAmH5D0GWB9qvXVZId+npg+mf+A7D+u2dTdD1wuqfI8q7cAB8nWne70geK/yX7Jzea9nMheNzEtKs7RSb+Afi3pf8jOyxqeQ93rJnLT9In1YT7bzpS6UwP3s9T4kPbYzGX9nlz3xC/LnwNfAv6FuW+X1cb73WR7It6XHs9pu5wm/6+BLwJ/Oc9ts1p26Pd7B+ezbVbLfiNwDbByntvm5PfzUPol/3fA55jftvkksnXiI5J2pMl/A/yS+W+bE9kflvRvqfYxSUvT/flsm1Oy0/SJ/2vns21OZH+oMrtO2+ZE9hWV2WQ/+3y3zcq6d6Q6/xH4c+qwbd5N1OEYum+tuZF9or4aOCM9fhtZU/VE0jkMwGZgN9k5KjWfk3GU7O1k3+57BFlT+OSK5Y+fZ/YHUvaSiuWeS7ZX68F1qPu89HiAbFf+P6RxOaVO411I05anZV5Wh/fy/WlMOoF3kn06fBXZ3oST55H99orsrorlXkjW9K+aRfYjyP4juhJ4N7AuTRfZobutwI3pNf8beMg8sk+ZNL8r/ftssl906+qRDXf9qdCXzHHbmbbuea7f09V9GtkHtrlulw2ru8b3831p23zbHLbNGWufx7ZZdR2vmP/ueWybk7PXH2W5uWybZ5M1k49Nj3cCb0v357ttTs6+BnhHxfz5bJtHza7Dtjlt3fNZx4+S/c50f77bZrXsy+tRd9XXm8+TfWvtDTg2bexPqpj212TNyqnp8SuBcWBtnbIHgNOBe6dpqnPd69PjiQ2h5v9QZsj+wMR/fMCjyf5DflC9607TTpvthjlN9vuBU4ElwGvSbVYnRc+QPTHepwNfmcN4P5jsfJxTyfZwDDDplxvwFLJzbGY7JtWy11XMF9kn438GTqtXNr//5fPyOW47M9W9FHg8sLdO472uIvfEdL9jNrk11t1BdlL+f8y27lry0zKPTLfZbpsz1p7+fVg918O0Dt4TuHSO22YtY3LabLdNsnM3nwmcXzHtTGDrpOWeOtttc5rs90xabiXwsdlsm7PIfsVst81assn+nz13ttvmTNkp974T68ws15Fa6hZwFnP4nVntNvEfoOWIlJ03k+4/n+wk3P8bET9K0y4HVkbE09NhlPtGxH/XKfvdQG9EXNCguu8fEX+WHvdExEgds1dFdmJ0I+p+QEScX7lsnbLfRTYm509evp51p8f3ioiaDslUqyMdovtjsr0R74uIPcpOoD9cS+YssrdFxF5Jx0bE7RP/1jl7GXCEbF2f9bYzQ3Y3cAdwQmSHrOqR/f6I2J0ODY7WkjmHuifGu+btcpb5E4djG1H7cmB0rtvmUbLvto7Pdducoe6JMZ/1timpBxiPiF+n6aeT7ZU9KyLGasmaa7akjshO+ah5fZxt3ZLuH9mXxupZd2dkl9lZMdttc5rsx0VEcWJMasmcQ90T411z3dPxOYY5o+wcnHPT/bPIrqh+EvAESasBIuLlwDFpJSnP4hdbLdl/BXSnFbURdd9D0n3S41qbwlqzlzaw7mXpF+ZsfvHUkv2ylL0iPa71F89s6u5Nj2v9xVOZvUnSI9Lzd5OdYjBM9s3HtwEDmt15YrVkPytlb5XUNYumcDbZA2Sf7Oey7cyU/W6yPVi1/uKpJfuClP2uJoz3bJrC2eY3qvbLyfa81DN7Yh1/bxqXuWybM66HKXvW2ybZeZonpekdwCjZOj0m6QWS3irN6vzQmrPJzqFjFk3hbOr+h5Rda1NYa/YLgTen7Flvm9NkF9OYvLkJ4z3vphBmsaHYgnEM8HhJl5H9cnmssqu2/xlwH0k3kF2e5SSg2MDsIw3MvjOndTcyu5Hv5az26FVkv47s/5C7/upDRNwk6Wdk50xtIDt8PZu9E7PNns23+maT/eScZi+k8V5otS+UcWlG9mVk5yb3p9yypB8Dt6RG4iXAC2fzQXa22bPInW32ixqU/eIGZr8EeFEDx3u2dU/LjWHORMQvJN1Gdt7Jp9K0QUmjZBfS/Euyr8L/Ra2fMp3t7DlmPwz4xMQeu7Rno0R2fujjgEdGxF5nL87sPNfeBtmnTc4mO2rwLGAj2YeTHzh7cWbPxOcY5oB09/NRlB1WPJXshNTfRsSlafpxZF/bXxY1nqvjbGfXIfvXEfGqNP3egIAVtf5n5ez2yc5z7Ysg+0HA/wI+EhE/dPbiyp4NN4Y5IukvyS5w+l8RMaDsuoJ/Dfwn2Vf3HwW8JiJmeyjW2c6eb/ZPyS4i/miyP9M065Pbnd0+2XmuvY2z15Nd4uRXzl682TWJeX6t2bfm3ICnkV2f6BlkfzLqH9P0h5JdEuAGZnHdL2c729nObkR2nmtv4+ybnO3smmtoZLhvdXqTsm8mXQE8IT2+d1ph3l6xzL2d7WxnO7uV2Xmu3dnObufs2dz85ZMFaPJ5BmTXtXoQ8GhJN0bE/0g6A/iRJCLilZH9EXNnO9vZzm5adp5rd7az2zl7XqLBnadvs/7EoIr7Z5L94fRjyb6ldiVwAdCT5h8HrHG2s53t7GZn57l2Zzu7nbPne/MewwUmJtYY6WKyvzP5VbIV5DTSBYrJLl79pYj4JfBbZzvb2c5udnaea3e2s9s5e778l08WIEmPAv4EOI/sosn/FRFHIuKfga+RfXNtthdTdrazne3sumbnuXZnO7uds+fDl6tZgJRdo+iPyS5A/ofAH0XEnZL+OCL+n+bw91Cd7WxnO7ve2Xmu3dnObufseYkmHbP2raZzDv4ceA/ZeQY/BA5UzPsLYAdwvLOd7WxntzI7z7U729ntnF2PW0te1Le7VoCOSY/vD/wLcCLwcLILEr8R+N/AEHCqs53tbGc3OzvPtTvb2e2c3YibzzFsEUlLIqKc7itN/hXZp4dzI+JG4EnAGPBr4NkRcYuzne1sZzczO8+1O9vZ7ZzdMK3sShfrDXgw8DayaxadDuwl+4r68enxT4CHOtvZznZ2K7PzXLuznd3O2Y28eY9hk6VPDCuApcDFwH+QnWvwNLI/d7Mi/Xu2s53tbGe3KjvPtTvb2e2c3XCt7kwX0w3udkHLFwGfBv4WKACdZN9K2gnsB74NdDnb2c52drOz81y7s53dztnNuPlyNS0g6WXAE4GfkZ18ejPw7ogYlnQf4GTg5xGxz9nOdrazW5Wd59qd7ex2zm6oVnemi+1Gdm7BV4Hj0uOzyXYvvxFY4WxnO9vZCyE7z7U729ntnN3oWwfWUBXfQkLSMcBtwD2BJwNExDeAXwB/BLxEUqezne1sZzc7O8+1O9vZ7ZzdbP5byQ0kSZE+Kki6BDgF2AcMAI+R9NuI+BLwI+DrwPsiYtzZzna2s5uZnefane3sds5uibnsZvRt1ruUNwPfILuo5TDwBeB8sq+uXwEcAB7ibGc729mtzM5z7c52djtnN/PmL580mKR7Au8k+0bSM8hORB0h+3bSZ0kXuoyI/3S2s53t7FZl57l2Zzu7nbObrtWd6WK4ka0YDwOuSY87yFaSy4Clzna2s529ELLzXLuznd3O2c28+RzDJoiIoqQ7gC5JpwIPAL4MfCwijjjb2c529kLIznPtznZ2O2c3kw8lN4mkAvAy4FzgPsAzIuIHzna2s529kLIbne9sZzt7YXNj2ESSlpD9zcRyRPy3s53tbGcvxOxG5zvb2c5euNwYmpmZmRmAL3BtZmZmZhk3hmZmZmYGuDE0MzMzs8SNoZmZmZkBbgzNzMzMLHFjaGbWRJI65/l8/2ECM2sYX67GzKxOJK0CvgJ8F3g48EPgucCtwIeB84ABQMBr079fiohXp+e/EHg18HNgH1CMiEskXQH8OmXeAHwKeBewDDgMPD8i/kPS84A/ATqB9cA/AkuBvwCKwJMi4teNGwEzyzt/8jQzq6+HAC+MiOskfRjYnKbfGRFnSToR+A5wBvAb4GpJfwJ8D/hb4HTgEDAI3FyR+2Dg3IgYl3RP4HERUZJ0LvBm4OlpufVkDeQxwH7g1RHxcEmXkzWp72rQz21mbcCNoZlZff0sIq5L968EXprufyr9+whgZ0SMAEi6CnhcmveNiT16kj5N1gxO+HREjKf79wI+KmktEMCSiuWuiYhDwCFJtwH/mqbfApxWjx/QzNqXzzE0M6uvyefnTDy+Pf2rozzvaNMn3F5x/+/JGsD1wFPJ9g5OKFbcL1c8LuOdAWY2AzeGZmb1tVLSmen+M4FrJ83/LnC2pBPSF1GeCXyD7FDy2ZLunb5g8nSO7l7AxN9gfV7dKjezRc+NoZlZfX0fuFDSbuB44H2VMyPiF8DfANeQnUN4Q0T8v4j4b7JzBb8LfI3sCyu3HeU13ga8RdJ1ZF80MTOrC38r2cysTtK3kr+YDvHO5fndETGa9hh+HvhwRHy+njWamU3HewzNzBaON0i6CdgD/Bj4QkurMbNFx3sMzczMzAzwHkMzMzMzS9wYmpmZmRngxtDMzMzMEjeGZmZmZga4MTQzMzOzxI2hmZmZmQHw/wNwva7l+xWBDQAAAABJRU5ErkJggg==\n",
+      "text/plain": [
+       "<Figure size 720x432 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "modules_scatter.plot.scatter(x='program', y='module', s=80, rot=45, figsize=(10, 6))"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 212,
+   "id": "0e1cb390-cfce-41aa-b18f-b3d9fee57ae0",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAngAAAFnCAYAAAA1/zTpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAA0w0lEQVR4nO3de5xdZX3v8c+XgNwGM6VeCigECToMCAMTOFIYAwXRnhKtFeUAtiKVHC8tjR68VCkFPFVaPTWAFR05ChRkqKCW2BZQhCgUNBlmkwRQSCvWBusRdQY2ApLkd/5Ya2Q7zCRzWc/Mfla+79drXrP3Xmt/9jNr7xUe1r4pIjAzMzOz+thurgdgZmZmZtXyBM/MzMysZjzBMzMzM6sZT/DMzMzMasYTPDMzM7Oa8QTPzMzMrGa2n+sBtANJS4Alu+yyy5n77LNP5f3NmzcDsN121c6nc+umbOfWTdl++umi+9RT1XZ33HEz8+al2RapxrzLLn5cjMrxcZHbfp3j48Ld9O2U3e9973uPRMTzx1sufw7eM7q7u+O+++6rvNtoNADo6enZprsp27l1U7YvuqjoLltWbXf58gaLF6fZFqnGPDRUdP24yPNxkdt+nePjwt307ZTdQw89dDAiFo233E/RmpmZmdWMJ3hmZmZmNeMJnpmZmVnNeIJnZmZmVjOe4JmZmZnVjCd4ZmZmZjWT3QRP0rwtnTczMzPb1rXdBE/SVyQNSrpX0tLysqakCyR9GzhynPPnSlolaZ2kfhX2k3R3S3d/SYNz9XeZmZmZzZa2m+ABZ0REL7AIOEvSbwK7Ausi4r9FxO3jnP9kRBweEQcBOwMnRsS/ASOSesruW4HLZ/uPMTMzM5tt7TjBO0vSPcBdwIuB/YFNwPUt64w9f6ykb0taC/wOcGB5+WXAW8uncU8GvjD2xiQtlbRa0urh4eHK/xgzMzOz2dZWEzxJxwDHA0dGxCHAELAT8GREbGpZ9VfnJe0EfAo4KSJeDny2vA4Uk8DfBU4EBiPip2NvMyL6I2JRRCzq7OxM8neZmZmZzaa2muAB84GfR8QvJHUBr5jEdUYnc49I6gBOGl0QEU8CNwGXAp+verBmZmZm7ajdJng3AttLWgN8mOJp2i2KiGGKo3Zrga8Aq8ascjUQwM1VDtTMzMysXW0/1wNoFRFPUTylOlbHmPXGnj8HOGeC7NHA58Y8xWtmZmZWW201wauapC8D+1G88cLMzMxsm1DrCV5EvH6ux2BmZmY229rtNXhmZmZmNkOe4JmZmZnVjCd4ZmZmZjWjiJjrMbSNrq6uGBgYqLy7YUMTgPXrO7ay5tQsXNhk/nzo6Ki222w2GRmpfrxQjBny2hZQfRfSPS56e9OMOeW2SNVOue+l6KZs5/i4yO3+S/m4SHX/5biNU/xbD3n+t7qvr28wIhaNt9xH8ABJSyT1j/5DZWZmZpazWr+LdrIiYgWworu7+8yenp7K+ytXNgBYtqza9vLlDRYvhqrH3Gg0GBysfrxQjBny2hZQfRfSPS6GhopuTtsiVTvlvpeim7Kd4+Mit/sv5eMi1f2X4zZO8W895Pnf6i3xETwzMzOzmvEEz8zMzKxmPMEzMzMzqxlP8MzMzMxqxhM8MzMzs5rxBM/MzMysZqY9wZP0wZbTnZLeWc2QzMzMzGwmZnIE74MtpzuB5BM8SfNS34aZmZlZ7iY1wZP0FUmDku6VtFTShcDOkhqSrgYuBPYrz39MhY9JWidpraSTy84xkr4p6cuS7pP0aUnblcsulbS6vI3zW277IUnnSrodeKOks8rrrpE0UK6zq6TPSVolaUjS68rL50n6eDmGNZL+tNrNZ2ZmZtZ+JvtNFmdExM8k7QysAhYDfxIRPQCSFgAHtZx/A9ADHAI8D1gl6Ztl6wigG/gBcCPwB8B1wIfK25gH3CLp4IhYU17nyYg4umw/DOwbEU9J6iyXfwj4RkScUV72HUlfB/4I2Bc4NCI2Stp9SlvHzMzMLEOTfYr2LEn3AHcBLwb238r6RwPXRMSmiPgxsBI4vFz2nYj494jYBFxTrgvwJkl3A0PAgRSTwFHXtpxeA1wt6c3AxvKyE4APSGoAtwE7AXsDxwOfjoiNABHxs7EDLY9Irpa0enh4eCt/lpmZmVn72+oRPEnHUEyUjoyIX0i6jWICtcWrbWFZjD0vaV/gbODwiPi5pMvH3MbjLad/D3gl8FrgLyQdWN7eGyLie2PGrnFu79dvPKIf6Afo7u7e4rpmZmZmOZjMEbz5wM/LyV0X8Iry8qcl7VCefgzYreU63wROLl8D93yKCdl3ymVHSNq3fO3dycDtwHMpJnEjkl4I/O54Aymv8+KIuBV4H8WbOzqAm4A/LSd0SDq0vMrNwNslbV9e7qdozczMrPYmM8G7Edhe0hrgwxRP00Jx1GuNpKsj4qfAHeWbKj4GfJniqdR7gG8A74uI/yqvdyfFmzLWAd8HvhwR91A8NXsv8DngjgnGMg+4StLacv1PRMRwOa4dyvGsK88DXAb8R3n5PcCpk/h7zczMzLK21adoI+Ipxj+idhvw/pb1xk6e3lv+jPWLiDh5nNs5fYLbX9By+mmeec1e6zpPAP9znMs3Au8pf8zMzMy2Cf4mCzMzM7OamezHpFQiIm6jOPJnZmZmZon4CJ6ZmZlZzXiCZ2ZmZlYznuCZmZmZ1Ywi/Nm+o7q6umJgYKDybrPZBKCjo2Ob7qZs59ZN2c6tm7KdWzdlO2V3ZATWr69+W/T25rctUnRTtt1N307Z7evrG4yIReMt9xE8QNISSf2jd4KZmZlZzmb1XbTtKiJWACu6u7vP7OnpqbzfaDQAqLqdWzdlO7duynZu3ZTt3Lop2ym7g4OwbFm1XYChoQaQ17ZI0U3Zdjd9O3V3Ij6CZ2ZmZlYznuCZmZmZ1YwneGZmZmY14wmemZmZWc14gmdmZmZWM3M2wZO0QNK6cS6/TFL3XIzJzMzMrA7a7mNSIuJtVXQkbR8RG6tomZmZmeVkrp+i3V7SFZLWSLpO0i6SbpO0CEBSU9JfSbpH0l2SXlhevkTStyUNSfp6y+XnSeqXdDNwpaRvSeoZvTFJd0g6eC7+UDMzM7PZMtcTvJcB/RFxMPAo8M4xy3cF7oqIQ4BvAmeWl98OvCIiDgUGgPe1XKcXeF1EnApcBpwOIOmlwI4RsSbR32JmZmbWFuZ6gvfDiLijPH0VcPSY5b8EvlqeHgQWlKdfBNwkaS3wXuDAluvcEBFPlKe/CJwoaQfgDODysQOQtFTSakmrh4eHZ/bXmJmZmbWBuZ7gxVbOPx0Ro5dt4pnXDF4CfDIiXg78T2Cnlus8/qtYxC+ArwGvA94EfOFZA4joj4hFEbGos7Nzun+HmZmZWduY6wne3pKOLE+fQvHU62TMBzaUp9+ylXUvAy4GVkXEz6Y+RDMzM7O8zPUE737gLZLWALsDl07yeucBX5T0LeCRLa0YEYMUr+/7/AzGaWZmZpaNOfuYlIh4CBjv8+6OaVmno+X0dcB15el/BP5xnOZ5Yy+TtCfFRPbmGQ7ZzMzMLAtzfQQvKUl/BHwb+FBEbJ7r8ZiZmZnNhrb7oOMqRcSVwJVzPQ4zMzOz2VTrI3hmZmZm2yJP8MzMzMxqxhM8MzMzs5rRM58jbF1dXTEwMFB5t9lsAtDR0bGVNevdTdnOrZuynVs3ZTu3bsp2yu7ICKxfX/226O3Nb1uk6KZsu5u+nbLb19c3GBGLxlvuI3iApCWS+kfvBDMzM7Oc1fpdtJMVESuAFd3d3Wf29PRU3m80GgBU3c6tm7KdWzdlO7duynZu3ZTtlN3BQVi2rNouwNBQA8hrW6Topmy7m76dujsRH8EzMzMzqxlP8MzMzMxqxhM8MzMzs5rxBM/MzMysZjzBMzMzM6uZaU3wJC2QtG6cyy+T1F2e/uAkOssk7TKdMZiZmZnZ+Co9ghcRb4uI+8qzW53gAcuAcSd4kuZVNS4zMzOzbclMJnjbS7pC0hpJ10naRdJtkhZJuhDYWVJD0tWSdpX0T5LukbRO0smSzgL2BG6VdCuApKakCyR9GzhS0pslfafsfGZ00ifpUkmrJd0r6fzRAUl6SNJHJN1ZLj9M0k2S/k3S22fwt5qZmZllYyYTvJcB/RFxMPAo8M7RBRHxAeCJiOiJiNOA1wAPR8QhEXEQcGNEXAw8DBwbEceWV90VWBcR/w34KXAycFRE9ACbgNPK9T5UfjXHwcBiSQe3jOuHEXEk8C3gcuAk4BXABTP4W83MzMyyMZMJ3g8j4o7y9FXA0VtYdy1wvKS/ltQXESMTrLcJuL48fRzQC6yS1CjPv6Rc9iZJdwNDwIFAd0vjhpbb/HZEPBYRPwGelNQ59gYlLS2P9q0eHh7ewp9gZmZmloeZTPBiK+efWRDxAMVkbS3wUUnnTrDqkxGxqTwt4IryKGBPRLwsIs6TtC9wNnBcefTwn4CdWhpPlb83t5wePf+sr2aLiP6IWBQRizo7Oyf6E8zMzMyyMZMJ3t6SjixPnwLcPmb505J2AJC0J/CLiLgK+DhwWLnOY8BuE/RvAU6S9IKysbukfYDnAo8DI5JeCPzuDP4GMzMzs9p51hGtKbgfeIukzwAPApcCS1qW9wNryqdSrwQ+Jmkz8DTwjpZ1/kXSj1pehwdARNwn6RzgZknbldd7V0TcJWkIuBf4d+AOzMzMzOxXpjXBi4iH+PXXvY06pmWd9wPvb1l20zidS4BLWs53jFl+LXDtONc7fYJxLWg5fTnFmyyetczMzMyszvxNFmZmZmY14wmemZmZWc14gmdmZmZWM57gmZmZmdWMJ3hmZmZmNaOICT+feJvT1dUVAwMDlXebzSYAHR0dW1mz3t2U7dy6Kdu5dVO2c+umbKfsjozA+vXVb4ve3vy2RYpuyra76dspu319fYPlV7c+i4/gAZKWSOofvRPMzMzMcjaTDzqujYhYAazo7u4+s6enp/J+o9EAoOp2bt2U7dy6Kdu5dVO2c+umbKfsDg7CsmXVdgGGhhpAXtsiRTdl29307dTdifgInpmZmVnNeIJnZmZmVjOe4JmZmZnVjCd4ZmZmZjXjCZ6ZmZlZzXiCZ2ZmZlYzk57gSVogad0U1v/g9IYEkk6XtOcWll8g6fjp9s3MzMzqLOURvGlP8IDTgXEneJLmRcS5EfH1GfTNzMzMamuqE7ztJV0haY2k6yT9nqQvjy6U9CpJX5J0IbCzpIakq8tlb5b0nfKyz0iaV/5cLmmdpLWS3i3pJGARcHW57s6SHpJ0rqTbgTeW1zmp7D4k6XxJd5eNrvLy50v6Wnn5ZyT9QNLzKtlqZmZmZm1sqhO8lwH9EXEw8CjQDRwg6fnl8rcCn4+IDwBPRERPRJwm6QDgZOCoiOgBNgGnAT3AXhFxUES8vLzudcBq4LTy+k+U7Scj4uiIGO/LYh+JiMOAS4Gzy8v+EvhGefmXgb2n+LeamZmZZWmqE7wfRsQd5emrgKOAvwfeLKkTOBL4l3GudxzQC6yS1CjPvwT4d+Alki6R9BqKSeNErt3Csi+VvweBBeXpo4EBgIi4Efj5eFeUtFTSakmrh4eHt3ATZmZmZnmY6nfRxjjnPw+sAJ4EvhgRG8e5noArIuLPn7VAOgR4NfAu4E3AGRPc9uNbGNdT5e9NPPM3aQvr/0pE9AP9AN3d3WP/PjMzM7PsTPUI3t6SjixPnwLcHhEPAw8D5wCXt6z7tKQdytO3ACdJegGApN0l7VO+Jm67iLge+AvgsHL9x4DdpvzX/LrbKSaMSDoB+I0Z9szMzMyyMNUjePcDb5H0GeBBite8AVwNPD8i7mtZtx9YI+nu8nV45wA3S9oOeJriiN0TwOfLywBGj/BdDnxa0hMUT/tOx/nANZJOBlYCP6KYOJqZmZnV2qQneBHxEMWbKsZzNPDZMeu/H3h/y/lrGf91dIeNvaA8ond9y0ULxiw/veX0gpbTq4FjyrMjwKsjYmN51PHYiHgKMzMzs5qb6hG8Z5E0SPH6uP818+FUam/gH8qjg78Ezpzj8ZiZmZnNihlP8CKit4qBVC0iHgQOnetxmJmZmc02fxetmZmZWc14gmdmZmZWM57gmZmZmdWMIvzZvqO6urpiYGC8b0KbmWazCUBHR8c23QXYsKFor19fbXvhwnTd+fO9LVJ2U7Zz66Zs57iP5PZvXLPZZGTEj4scuynbKbsnntg3GBGLxlvuI3iApCWS+kd3ejMzM7OczfhdtHUQESuAFd3d3Wf29PRU3m80GgBU3c6tC7ByZdFetqza9vLl6bqLF3tbpOymbOfWTdnOcR/J7d+4RqPB4KAfFzl2U7ZTdyfiI3hmZmZmNeMJnpmZmVnNeIJnZmZmVjOe4JmZmZnVjCd4ZmZmZjUzKxM8SQsknTqJ9faUdN1sjMnMzMysrmbrCN4CYKsTvIh4OCJOquIGJc2romNmZmaWm0lN8CT9kaQ1ku6R9PeS9pF0S3nZLZL2Lte7XNLFkv5V0r9LGp2sXQj0SWpIend5RO9bku4uf367vP4CSevK06dL+pKkGyU9KOlvWsZzgqQ7y+t+UVJHeflDks6VdDvwRklnSbqvHGf1X1FhZmZm1oa2+kHHkg4EPgQcFRGPSNoduAK4MiKukHQGcDHw++VV9gCOBrqAG4DrgA8AZ0fEiWVzF+BVEfGkpP2Ba4DxvmqjBzgUeAr4nqRLgCeAc4DjI+JxSe8H3gNcUF7nyYg4urydh4F9I+IpSZ2T3yxmZmZm+ZrMN1n8DnBdRDwCEBE/k3Qk8Afl8r8H/qZl/a9ExGbgPkkvnKC5A/BJST3AJuClE6x3S0SMAEi6D9gH6AS6gTskATwHuLPlOte2nF4DXC3pK8BXxrsBSUuBpQB77LHHBMMwMzMzy8dkJngCYivrtC5/asx1x/Nu4MfAIRRPEz85wXqtrU0U4xXwtYg4ZYLrPN5y+veAVwKvBf5C0oERsfHXBh7RD/QDdHd3b+3vNDMzM2t7k3kN3i3AmyT9JkD5FO2/Av+jXH4acPtWGo8Bu7Wcnw/8qDzS94fAVN4QcRdwlKSF5Xh2kfSsI4CStgNeHBG3Au+jOPLXMYXbMTMzM8vSVo/gRcS9kv4KWClpEzAEnAV8TtJ7gZ8Ab91KZg2wUdI9wOXAp4DrJb0RuJVfP+q2tfH8RNLpwDWSdiwvPgd4YMyq84CrJM2nOOr3iYgYnuztmJmZmeVqMk/REhFXULyxotXvjLPe6WPOd5S/nwaOG7P6wS2n/7xc7yHgoPL05RSTwdHWiS2nvwEcPs7tL2g5/TTFmz3MzMzMtin+JgszMzOzmvEEz8zMzKxmPMEzMzMzqxlP8MzMzMxqxhM8MzMzs5pRhD/bd1RXV1cMDFT/lbXNZhOAjo5qP4Yvt27Kdm7dlO3cuinbuXVTtjdsKLrr11fbXbiwyfz5abZFqjH39vpxMRvdkZE0jzeovgv5PS6azSZ9fX2DETHeV736CB6ApCWS+kfvBDMzM7OcTepz8OouIlYAK7q7u8/s6empvN9oNACoup1bN2U7t27Kdm7dlO3cuinbK1cW3WXLqu0uX95g8eI02yLVmIeGiq4fF2m7g4NpHm9QfRfye1yMdifiI3hmZmZmNeMJnpmZmVnNeIJnZmZmVjOe4JmZmZnVjCd4ZmZmZjWTxQRPkj+/xMzMzGySspjgmZmZmdnkZTfBk/ReSaskrZF0fnnZAkn3S/qspHsl3Sxp53LZWZLuK9ev/msqzMzMzNpMVhM8SScA+wNHAD1Ar6RXlov3B/4uIg4EhoE3lJd/ADg0Ig4G3j6rAzYzMzObA1lN8IATyp8h4G6gi2JiB/D9iGiUpweBBeXpNcDVkt4MbBwblLRU0mpJq4eHh9ON3MzMzGyW5DbBE/DRiOgpfxZGxP8tlz3Vst4mnvkatt8D/g7oBQYl/drXs0VEf0QsiohFnZ2diYdvZmZmll5uE7ybgDMkdQBI2kvSCyZaWdJ2wIsj4lbgfUAn0DEbAzUzMzObK9tvfZX2ERE3SzoAuFMSQBN4M8URu/HMA66SNJ/i6N8nImJ4NsZqZmZmNleymOBFREfL6YuAi8ZZ7aCWdT7ecvnRCYdmZmZm1nZye4rWzMzMzLbCEzwzMzOzmvEEz8zMzKxmPMEzMzMzqxlP8MzMzMxqRhEx12NoG11dXTEwUP3X1TabTQA6Oqr9CL7cuinbuXVTtnPrpmzn1k3Z3rCh6K5fX2134cIm8+en2Rapxtzb68fFbHRHRtI83qD6LuT3uGg2m/T19Q1GxKLxlmfxMSmpSVoCLNlrr73meii1NzJS/B4crLa7cCHMn19tM1c5buNUY+7trbbXamSk+vFC2jFbeqkeFwsXFr9z2kfsGSkeF6OPiYl4ggdExApgRXd395k9PT2V9xuNBgBVt3PrAqxcWbSXLau2vXx5g8WL89oWqdq5bWNIN+ahoaKb4nExOFj9eCHdmP24eEaOj4vlyxuAt0Wq7QD5bouJ+DV4ZmZmZjXjCZ6ZmZlZzXiCZ2ZmZlYznuCZmZmZ1YwneGZmZmY14wmemZmZWc20xQRPUrP8vaek6+Z6PGZmZmY5a4sJ3qiIeDgiTkp5G5L82X9mZmZWa201wZO0QNK68vTpkr4k6UZJD0r6m5b1TpB0p6S7JX1RUkd5+bmSVklaJ6lfksrLb5P0EUkrgT+bkz/OzMzMbJa01QRvHD3AycDLgZMlvVjS84BzgOMj4jBgNfCecv1PRsThEXEQsDNwYkurMyIWR8T/mb3hm5mZmc2+dn+68paIGAGQdB+wD9AJdAN3lAfongPcWa5/rKT3AbsAuwP3AivKZdeOdwOSlgJLAfbYY48kf4SZmZnZbGr3Cd5TLac3UYxXwNci4pTWFSXtBHwKWBQRP5R0HrBTyyqPj3cDEdEP9AN0d3dHdUM3MzMzmxvt/hTteO4CjpK0EEDSLpJeyjOTuUfK1+QlfbOGmZmZWbtq9yN4zxIRP5F0OnCNpB3Li8+JiAckfRZYCzwErJqjIZqZmZnNqbaY4EVER/n7IeCg8vTlwOUt65zYcvobwOHjdM6heAPG2MuPqXbEZmZmZu0rx6dozczMzGwLPMEzMzMzqxlP8MzMzMxqxhM8MzMzs5rxBM/MzMysZhThz/Yd1dXVFQMDA5V3m80mAB0dHdt0N2U7t27Kdm7dlO3cuinbGzYU3fXrq+0uXJimC9Dbm9f9l/Jxker+y3Ebj4z48Tba7evrG4yIReMt9xE8QNISSf2jd4KZmZlZztric/DmWkSsAFZ0d3ef2dPTU3m/0WgAUHU7t27Kdm7dlO3cuinbuXVTtleuLLrLllXbXb48TRdgaKho53L/pXxcpLr/ctzGg4N+vLV2J+IjeGZmZmY14wmemZmZWc14gmdmZmZWM57gmZmZmdWMJ3hmZmZmNVPbCZ6kYyT9dsv58ySdPZdjMjMzM5sNtZ3gAccAv721lczMzMzqJssJnqQFkr4r6TJJ6yRdLel4SXdIelDSEcDbgXdLakjqm+sxm5mZmc2WnD/oeCHwRmApsAo4FTgaeC3wQeDTQDMiPg4g6bg5GqeZmZnZrMryCF7p+xGxNiI2A/cCt0TxxbprgQWTjUhaKmm1pNXDw8NpRmpmZmY2i3Ke4D3Vcnpzy/nNTOHIZET0R8SiiFjU2dlZ4fDMzMzM5kbOE7yteQzYba4HYWZmZjbb6jzBWwG83m+yMDMzs21Nlm+yiIiHgINazp8+wbKDW672rVkYmpmZmdmcq/MRPDMzM7Ntkid4ZmZmZjXjCZ6ZmZlZzXiCZ2ZmZlYznuCZmZmZ1YyKL38wgK6urhgYGKi822w2Aejo6NimuynbuXVTtnPrpmzn1gXYsKFor19fbbu3N79tkdv912w2GRmp/r6DdPdfqsfbwoVN5s/P575L2U7Z7evrG4yIReMt9xE8QNISSf2jd4KZmZlZzrL8HLyqRcQKYEV3d/eZPT09lfcbjQYAVbdz66Zs59ZN2c6tm7KdWxdg5cqivWxZte2hoaKb07bI7f5rNBoMDlZ/30G6+y/V42358gaLF+dz36Vsp+5OxEfwzMzMzGrGEzwzMzOzmvEEz8zMzKxmPMEzMzMzqxlP8MzMzMxqpu0meJKa5e8Fkk5tuXyRpIun0euU9M4qx2hmZmbWztpugtdiAfCrCV5ErI6Is6bR6QQ8wTMzM7NtRuUTvPLI23clXSZpnaSrJR0v6Q5JD0o6QtJ5ks5uuc46SQvGpC4E+iQ1JL1b0jGSvlquv7i8vCFpSNJu5eXvlbRK0hpJ57d09ivX/VjVf6+ZmZlZu0n1QccLgTcCS4FVFEfijgZeC3wQaEyi8QHg7Ig4EUDSMS3LzgbeFRF3SOoAnpR0ArA/cAQg4AZJryw7B0VEz4z/KjMzM7MMpHqK9vsRsTYiNgP3ArdE8aW3aymeep2pO4C/lXQW0BkRG4ETyp8h4G6gi2LCt0WSlkpaLWn18PBwBUMzMzMzm1upJnhPtZze3HJ+M8VRw41jbnunqcQj4kLgbcDOwF2SuiiO2n00InrKn4UR8X8n0eqPiEURsaizs3MqwzAzMzNrS3P1JouHgMMAJB0G7DvOOo8Bu413ZUn7lUcI/xpYTXG07ibgjPIpWyTtJekFW+qYmZmZ1dFcTfCuB3aX1ADeATwwzjprgI2S7pH07jHLlpVvzLgHeAL4l4i4GfgCcKektcB1wG4R8VPgjnJ9v8nCzMzMaq/yN1lExEPAQS3nT59g2QkTXL+j/P00cNyYxbeVy/50guteBFw0zuWnjrO6mZmZWS218+fgmZmZmdk0eIJnZmZmVjOe4JmZmZnVjCd4ZmZmZjXjCZ6ZmZlZzaj4ggkD6OrqioGBgcq7zWYTgI6Ojm26m7KdWzdlO7duynZuXYANG4r2+vXVtnt789sWud1/zWaTkZHq7ztId/+lerwtXNhk/vx87ruU7ZTdvr6+wYhYNN7yVN9FmxVJS4Ale+2111wPxcy2cfPnF78XL662u2FD8XtwsNruwoXPjNmKbVH1fQdQzhEql+rxlmq8ACMj1T+OAXp7q2/OJU/wgIhYAazo7u4+s6enp/J+o9EAoOp2bt2U7dy6Kdu5dVO2c+umbK9cWXSXLau2u3x5g8WL89oWuXVTtnPsDg5W/zgGGBpqAHltiy3xa/DMzMzMasYTPDMzM7Oa8QTPzMzMrGY8wTMzMzOrGU/wzMzMzGrGEzwzMzOzmvEEz8zMzKxmPMEzMzMzq5nkEzxJCyR9V9IVktZIuk7SLpJeU15+u6SLJX21XP88SWe3XH+dpAXl6TdL+o6khqTPSJpXXt5sWf8kSZeXp58v6XpJq8qfo1L/vWZmZmZzbbaO4L0M6I+Ig4FHgfcAnwWWAH3Ab20tIOkA4GTgqIjoATYBp23lahcBn4iIw4E3AJeN010qabWk1cPDw5P+g8zMzMza1Wx9VdkPI+KO8vRVwFnA9yPiQQBJVwFLt9I4DugFVkkC2Bn4f1u5zvFAd7k+wHMl7RYRj41eEBH9QD9Ad3d3TPovMjMzM2tTszXBGztxmj/OZaM28utHFncqfwu4IiL+fCv9nVpObwccGRFPTGGsZmZmZlmbrado95Z0ZHn6FODrwL6S9mu5bNRDwGEAkg4D9i0vvwU4SdILymW7S9qnXPZjSQdI2g54fUvrZuBPRs9I6qnsLzIzMzNrU7M1wbsfeIukNcDuwCconpL9J0m3Az9oWfd6YHdJDeAdwAMAEXEfcA5wc9n5GrBHeZ0PAF8FvgH8qKV1FrCofHPHfcDb0/x5ZmZmZu1jtp6i3RwRYydXNwJdAJKOAQ4CKJ9OPWG8SERcC1w7zuXXAdeNc/kjFG/MMDMzM9tm+HPwzMzMzGom+RG8iHiI8ujcFta5Dbgt9VjMzMzMtgU+gmdmZmZWM57gmZmZmdWMJ3hmZmZmNaMIf3nDqK6urhgYGKi822wWX5Xb0dGxTXdTtpvNJiMjsH59td2FC4vxVt0F6O3N6/7L9XGRUzdlO7duynZu3ZRtd9O3U3b7+voGI2LReMt9BA+QtERS/+idYGZmZpaz2focvLYWESuAFd3d3Wf29PRU3m80GgBU3c6tm7LdaDQYHIRly6rtLl/eAKrvAgwNFe1c7r9cHxc5dVO2c+umbOfWTdl2N307dXciPoJnZmZmVjOe4JmZmZnVjCd4ZmZmZjXjCZ6ZmZlZzXiCZ2ZmZlYztZrgSTpP0tnl6QskHV+eXiZpl7kdnZmZmdnsqNUEr1VEnBsRXy/PLgM8wTMzM7NtQtt/Dp6kXYF/AF4EzAM+DPw1cC1wbLnaqRGxfsz1Lge+CuxZ/twq6ZGIOBYzMzOzGsvhCN5rgIcj4pCIOAi4sbz80Yg4AvgksHyiK0fExcDDwLGe3JmZmdm2IIcJ3lrgeEl/LakvIkbKy69p+X3kdOOSlkpaLWn18PDwDIdqZmZmNvfafoIXEQ8AvRQTvY9KOnd0UetqM+j3R8SiiFjU2dk5/YGamZmZtYm2n+BJ2hP4RURcBXwcOKxcdHLL7zu3knkM2C3NCM3MzMzaS9u/yQJ4OfAxSZuBp4F3ANcBO0r6NsUk9ZStNPqBf5H0I78Oz8zMzOqu7Sd4EXETcFPrZZIA/i4izh+z7nktp09vOX0JcEnKcZqZmZm1i7Z/itbMzMzMpqbtj+CNJyIWzPUYzMzMzNqVj+CZmZmZ1YwneGZmZmY14wmemZmZWc0oYtqfEVw7XV1dMTAwUHm32WwC0NHRsU13U7abzSYjI7B+fbXdhQuL8VbdBejtzev+y/VxkVM3ZTu3bsp2bt2UbXfTt1N2+/r6BiNi0XjLs3yTRdUkLQGW7LXXXkn6I+WXqw0OVttduBDmz6+2OWpkpPrxQjFmSLctFi+utlvul5V3ATZsKH5XvS16e6vt5Szlvpeim7Kd4+Mit/sv5eMi1f2X4zZO+d89yGvMW+IJHhARK4AV3d3dZ/b09FTeX7myAcCyZdW2ly9vsHgxVD3mRqPB4GD144VizJDXtoDqu5DucTE0VHRz2hap2in3vRTdlO0cHxe53X8pHxep7r8ct3GKf+shz/9Wb4lfg2dmZmZWM57gmZmZmdWMJ3hmZmZmNeMJnpmZmVnNeIJnZmZmVjNZTPAkdUp65zSv2yPpv1c9JjMzM7N2lcUED+gEpjXBA3oAT/DMzMxsm5HLBO9CYD9JDUkfk/ReSaskrZF0PoCk10v6ugp7SHpA0t7ABcDJ5XVPntO/wszMzGwW5DLB+wDwbxHRA3wN2B84guLoXK+kV0bEl4H/At4FfBb4y4j4D+Bc4NqI6ImIa+di8GZmZmazKcdvsjih/Bkqz3dQTPi+CfwpsA64KyKumUxM0lJgKcAee+xR+WDNzMzMZluOEzwBH42Iz4yzbC9gM/BCSdtFxOatxSKiH+gH6O7ujkpHamZmZjYHcnmK9jFgt/L0TcAZkjoAJO0l6QWStgc+D5wK3A+8Z5zrmpmZmdVeFhO8iPgpcIekdcCrgC8Ad0paC1xHMYH7IPCtiPgWxeTubZIOAG4Fuv0mCzMzM9tWZPMUbUScOuaii8acv6Bl3ceArpZlh6cal5mZmVm7yeIInpmZmZlNnid4ZmZmZjXjCZ6ZmZlZzXiCZ2ZmZlYznuCZmZmZ1Ywi/Nm+o7q6umJgYKDy7oYNTQDWr++otLtwYZP586Gjo9pus9lkZKT68UIxZshrW0D1XUj3uOjtTTPmlNsiVTvlvpeim7Kd4+Mit/sv5eMi1f2X4zZO8W895Pnf6r6+vsGIWDTeck/wAElLgCXAaRQfkjxZzwMemeS684GRmnZTtnPrpmzXuZuynVs3ZTu3bsp2bt2U7Tp3U7bbobt/RMwfd0lE+Kf8AfqnuP7qFO3cujmO2duivbo5jtnbwtvC26L9uzmOuaquX4P361Zk2M6tm7KdWzdlO7duynZu3ZTt3Lop27l1U7bdTd+e9a4neC0iItmDJlU7t27Kdm7dlO3cuinbuXVTtnPrpmzn1k3Zdjd9ey66nuDNTL+7ydu5dVO23U3fzq2bsp1bN2U7t27Kdm7dlO227vpNFmZmZmY14yN4ZmZmZjXjCZ6ZmZlZzXiCZ2ZmZlYznuCZmZmZ1YwneDMk6dwKGq+W9MeSFoy5/IwZNCXpTZLeWJ4+TtLFkt4pqdL7XdI3Kuo8b8z5N5djXipJM+i+XtLu5ennS7pS0lpJ10p60Qy6fyvpqOlefwvd3SWdK+lt5X33IUlflfQxSb9RQf9YSZ+U9I+Srpd0oaSFFXRfLelSSTeU7UslvWam3S3cnvc973uVS7n/1WXfK29zRvtf7vteeXsz3v9S7Xvgd9HOmKT/iIi9Z3D9jwBHA3dTfF3a8oi4pFx2d0QcNs3up4AXAM8BHgV2pPhAxP8O/Dgi/mya3TVjLwJeCnwPICIOnk63bP/q75V0DtAHfAE4EfjPiHj3NLv3RUR3efpa4C7gi8DxwGkR8appdn8C/AB4PnAtcE1EDE2nNab7z8Ba4LnAAeXpfwBeBRwSEa+bQftC4IXALcDvA98HHgDeCXwkIr44ze5yisfBlcB/lhe/CPgj4MHpPt62cpve97zvVbrvle0k+1+d9r3ydqe9/+W275XtJPtfqn2PclD+2fpXgTw6wc9jwMYZttcC25enO4F/Bj5Rnh+aSbf8vQPwU+A55fntR5dNs3sDcBXQBewDLAB+WJ7eZ4bbYqjl9N3Ari1/w0zG/L2W04NjljVmOl5gf+AvgHuB7wJ/Cbx0Bt1G+VvAhqrG2/q4aHks3FGe/g1g3Qy6D0xwuSj+IzPdrve9Z7re98aMt+p9r3VcVe9/ue17ZSPJ/pfbvlc2kux/qfa9CH9V2WQNU3yh73PH/OwG/GiG7e0jYiNARAxT/N/McyV9keL/QqZrtPk0sCoiflme3whsmm40Il4LXE/xQYyHRMRDwNMR8YOI+MEMxguws6RDJfUC8yLi8Za/YdpjBm6TdIGkncvTvw/F0yVM7Qurx4pyfA9GxIcj4kDgTcBOFP9gTdd25VNBLwY6Rp/CkPSbzOwxAbB59CkzYE9gHkBE/JziPwjT9aSkI8a5/HDgyRl0h/G+R3l973vPSLXvQbr9L7d9D9Ltf1nte2Uj1f6Xat9j+5lceRtyJcUs/cfjLPvCDNv/JmlxRKwEiIhNwB9L+t/AG2bQ/S9JHRHRjIhfvRZD0m8Bv5zJgCPiy5JuBj4s6W3MfNIx6kfA35anfyZpj4j4UfkP68YZdP8E+BDloXTg3ZIepzh0/4cz6D7rH+WIWAOsAf58Bt2PUhyNADgDuExSAN3A+TPoAnwEGJL0PYr/E30HFK+PAu6ZQfd04FJJu/HM00Qvpvi//dNn0PW+18L73q+k2vcg3f6X274H6fa/7Pa9cpwp9r9U+55fgzfXyv+zJSKeGGfZXhGxoeLb25XiEPD/q6h3CHBkRHy6it4EtzEP2DEiflFBaz7F/z3+tIJWR0Q0Z9qZoD2PYv/cKGl7oIfi6aKZHrWiPIrwEmB9+X/PlSn/Id2L4j/A/xkR/1Vlv0re9yZ1G9vcvlf2k+x/3vcKue97ZTPp/lfFvucJ3iSV72Y5gmIHCuBh4DtRwQZM1c6tm7Lt7uy0J7i9roj47tbXbI9uynZu3ZTt3Lop21V0Je1QPq3XetnzIuKRmY0uXTu3bsp2iq4neJMg6QTgU8CDwOj/WbwIWAi8MyJubrd2bt0cx5xbN3V7C7c5o3e7znY3ZTu3bsp2bt2U7Zl0Vbye8e8p3jE6BCwtXx82o3ekpmzn1s11zH4N3uRcBBw/utFHSdqX4gW9B7RhO7duyra7iduSLp5oEcW75KYlVTdlO7duynZu3ZTthGP+G+DVEXGvpJOAr0n6w4i4i3Feq9gm7dy6WY7ZE7zJ2Z5nXrzaagPFW5nbsZ1bN2Xb3fTttwL/C3hqnGWntGE3ZTu3bsp2bt2U7VTd50TEvQARcZ2k+4EvSfoA5buN27CdWzfLMXuCNzmfA1ZJGqD43Bso3qX0P8pl7djOrZuy7W769iqKz/L617ELJJ3Xht2U7dy6Kdu5dVO2U3WflvRbo2+qKI8EHQd8FdhvBt2U7dy6WY7Zr8GbJEkHAK+j5V1KwA0RcV+7tnPrpmy7m7at4t2BT0YF77acjW7Kdm7dlO3cuinbCbvHAz+JiHvGXD4f+JOI+Kt2a+fWzXXM0/6E5G3xB/izyVzWTu3cujmOObdujmP2tvC28Lbwtpjrbm5jnvEfuy39AHePc9lQO7dz6+Y45ty6OY7Z28LbwtvC22Kuu7mN2a/BmwRJpwCnAvtKuqFl0W4U33fXdu3cuinb7qZv59ZN2c6tm7KdWzdlO7duynZu3ZTtlGP2BG9y/pXi60SeB/yflssfo/hqnHZs59ZN2XY3fTu3bsp2bt2U7dy6Kdu5dVO2c+umbCcbs99kYWZmZlYz2831AHIi6Q8kPShpRNKjkh6T9Gg7t3Pr5jjm3Lo5jtnbIn03xzF7W6Tv5jhmb4tSFS863FZ+gPXAATm1c+vmOObcujmO2dvC28Lbwttirru5jdlH8KbmxxFxf2bt3Lop2+6mb+fWTdnOrZuynVs3ZTu3bsp2bt2U7cq7fg3eFEi6CPgt4Cu0fN1MRHypXdu5dVO23U3fzq2bsp1bN2U7t27Kdm7dlO3cuinbKbp+F+3UPBf4BXBCy2UBzPhBk7CdWzdl29307dy6Kdu5dVO2c+umbOfWTdnOrZuyXXnXR/DMzMzMasavwZsCSS+VdIukdeX5gyWd087t3Lop2+6mb+fWTdnOrZuynVs3ZTu3bsp2bt2U7STdFO8yqesPsBI4gpavDwHWtXM7t26OY86tm+OYvS28LbwtvC3mupvbmH0Eb2p2iYjvjLlsY5u3c+umbLubvp1bN2U7t27Kdm7dlO3cuinbuXVTtivveoI3NY9I2o/ihY9IOoniK0bauZ1bN2Xb3fTt3Lop27l1U7Zz66Zs59ZN2c6tm7JdfbeKQ5bbyg/wEuDrFO902QDcDuzTzu3cujmOObdujmP2tvC28Lbwtpjrbm5j9rtop0DSvIjYJGlXYLuIeKzd27l1U7bdTd/OrZuynVs3ZTu3bsp2bt2U7dy6Kdspun6Kdmq+L6kfeAXQzKSdWzdl29307dy6Kdu5dVO2c+umbOfWTdnOrZuyXXnXE7ypeRnFIdR3UdwZn5R0dJu3c+umbLubvp1bN2U7t27Kdm7dlO3cuinbuXVTtqvvVvGc9Lb4A/wGcCWwKZd2bt0cx5xbN8cxe1t4W3hbeFvMdTeHMfsI3hRJWizpU8DdwE7Am9q9nVs3Zdvd9O3cuinbuXVTtnPrpmzn1k3Zzq2bsl1112+ymAJJ3wcawD8AN0TE4+3ezq2bsu1u+nZu3ZTt3Lop27l1U7Zz66Zs59ZN2U7R9QRvCiQ9NyIezamdWzdl29307dy6Kdu5dVO2c+umbOfWTdnOrZuynaLrCd4kSLqE8sMHxxMRZ7VbO7duyra76du5dVO2c+umbOfWTdnOrZuynVs3ZTvlmP0avMlZDQxSPCd+GPBg+dMDbGrTdm7dlG1307dz66Zs59ZN2c6tm7KdWzdlO7duyna6MVf5zo+6/wC3Aju0nN8BuLWd27l1cxxzbt0cx+xt4W3hbeFtMdfd3MbsI3hTsyewW8v5jvKydm7n1k3Zdjd9O7duynZu3ZTt3Lop27l1U7Zz66ZsV97dfkbD2fZcCAxJurU8vxg4r83buXVTtt1N386tm7KdWzdlO7duynZu3ZTt3Lop25V3/SaLKZK0J/CHwP3ALsDDEfHNdm7n1k3Zdjd9O7duynZu3ZTt3Lop27l1U7Zz66ZsV96t4jnpbeUHeBuwFvg5xfPlTwDfaOd2bt0cx5xbN8cxe1t4W3hbeFvMdTe3Mc/4j92WfsqNvxPQKM93Ade2czu3bo5jzq2b45i9LbwtvC28Lea6m9uY/SaLqXkyIp4EkLRjRHyX4guC27mdWzdl29307dy6Kdu5dVO2c+umbOfWTdnOrZuyXXnXb7KYmv+U1Al8BfiapJ8DD7d5O7duyra76du5dVO2c+umbOfWTdnOrZuynVs3Zbvyrt9kMU2SFgPzgRsj4pc5tHPrpmy7m76dWzdlO7duynZu3ZTt3Lop27l1U7ar6nqCZ2ZmZlYzfg2emZmZWc14gmdmZmZWM57gmZmZmdWMJ3hmZmZmNeMJnpmZmVnN/H+NPprjk5Ot6QAAAABJRU5ErkJggg==\n",
+      "text/plain": [
+       "<Figure size 720x720 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "cmap = mpl.colors.ListedColormap(['white', 'blue'])\n",
+    "\n",
+    "fig, ax = plt.subplots(figsize=(10, 10))\n",
+    "ax.imshow(modules_df.to_numpy().T, cmap=cmap)\n",
+    "plt.xticks(range(modules_df.index.size), labels=modules_df.index.values, rotation=90);\n",
+    "plt.yticks(range(modules_df.columns.size), labels=modules_df.columns.values);\n",
+    "\n",
+    "ax.xaxis.set_minor_locator(mpl.ticker.MultipleLocator(0.5))\n",
+    "ax.yaxis.set_minor_locator(mpl.ticker.MultipleLocator(0.5))\n",
+    "ax.grid(which='minor', axis='both', linestyle='-', color='silver', linewidth=1.5);\n",
+    "plt.savefig('packages.png');"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 213,
+   "id": "d79246cc-4471-43ac-ba76-d720acbb7435",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "['../advent01/Main.hs',\n",
+       " '../advent02/Main.hs',\n",
+       " '../advent03/Main.hs',\n",
+       " '../advent04/Main.hs',\n",
+       " '../advent05/Main.hs',\n",
+       " '../advent06/Main.hs',\n",
+       " '../advent07/Main.hs',\n",
+       " '../advent08/Main.hs',\n",
+       " '../advent09/Main.hs',\n",
+       " '../advent10/Main.hs',\n",
+       " '../advent11/Main.hs',\n",
+       " '../advent12/Main.hs',\n",
+       " '../advent13/Main.hs',\n",
+       " '../advent14/Main.hs',\n",
+       " '../advent15/Main.hs',\n",
+       " '../advent16/Main.hs',\n",
+       " '../advent17/Main.hs',\n",
+       " '../advent18/Main.hs',\n",
+       " '../advent19/Main.hs',\n",
+       " '../advent20/Main.hs',\n",
+       " '../advent21/Main.hs',\n",
+       " '../advent22/Main.hs',\n",
+       " '../advent23/Main.hs',\n",
+       " '../advent24/Main.hs',\n",
+       " '../advent25/Main.hs']"
+      ]
+     },
+     "execution_count": 213,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "mains = list(sorted(f for f in glob.glob('../advent*/Main.hs')))\n",
+    "mains"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 214,
+   "id": "f9076c9f-fc86-435b-9471-99726bfbfb87",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "{'advent01': [('Data.List', False)],\n",
+       " 'advent02': [('Data.Text', False),\n",
+       "  ('Data.Text.IO', True),\n",
+       "  ('Data.Attoparsec.Text', False),\n",
+       "  ('Control.Applicative', False)],\n",
+       " 'advent03': [('Data.List', False), ('Data.Char', False)],\n",
+       " 'advent04': [('Data.Text', False),\n",
+       "  ('Data.Text.IO', True),\n",
+       "  ('Data.Attoparsec.Text', False),\n",
+       "  ('Control.Applicative', False),\n",
+       "  ('Data.List', False)],\n",
+       " 'advent05': [('Data.Text', False),\n",
+       "  ('Data.Text.IO', True),\n",
+       "  ('Data.Attoparsec.Text', False),\n",
+       "  ('Control.Applicative', False),\n",
+       "  ('Data.Map.Strict', True),\n",
+       "  ('Linear', False)],\n",
+       " 'advent06': [('Data.List', False),\n",
+       "  ('Data.List.Split', False),\n",
+       "  ('Data.IntMap.Strict', True)],\n",
+       " 'advent07': [('Data.List.Split', False)],\n",
+       " 'advent08': [('Data.Text', False),\n",
+       "  ('Data.Text.IO', True),\n",
+       "  ('Data.Attoparsec.Text', False),\n",
+       "  ('Data.List', False),\n",
+       "  ('Data.Map.Strict', True),\n",
+       "  ('Data.Map.Strict', False),\n",
+       "  ('Data.Set', True)],\n",
+       " 'advent09': [('Data.Array', False),\n",
+       "  ('Data.Char', False),\n",
+       "  ('Data.List', False),\n",
+       "  ('Data.Set', True),\n",
+       "  ('Data.Set', False),\n",
+       "  ('Linear', False)],\n",
+       " 'advent10': [('Data.Map.Strict', True), ('Data.List', False)],\n",
+       " 'advent11': [('Data.Array.IArray', False),\n",
+       "  ('Data.Char', False),\n",
+       "  ('Linear', False)],\n",
+       " 'advent12': [('Data.Text', False),\n",
+       "  ('Data.Text.IO', True),\n",
+       "  ('Data.Attoparsec.Text', False),\n",
+       "  ('Data.Tuple', False),\n",
+       "  ('Data.Char', False),\n",
+       "  ('Data.Map.Strict', True),\n",
+       "  ('Data.Map.Strict', False),\n",
+       "  ('Data.Set', True),\n",
+       "  ('Data.Set', False)],\n",
+       " 'advent13': [('Data.Text', False),\n",
+       "  ('Data.Text.IO', True),\n",
+       "  ('Data.Attoparsec.Text', False),\n",
+       "  ('Control.Applicative', False),\n",
+       "  ('Data.Set', True),\n",
+       "  ('Linear', False),\n",
+       "  ('Data.List', False)],\n",
+       " 'advent14': [('Data.Text', False),\n",
+       "  ('Data.Text.IO', True),\n",
+       "  ('Data.Attoparsec.Text', False),\n",
+       "  ('Control.Applicative', False),\n",
+       "  ('Data.List', False),\n",
+       "  ('Data.Map.Strict', True),\n",
+       "  ('Data.Map.Strict', False),\n",
+       "  ('Data.MultiSet', True),\n",
+       "  ('Data.Set', True)],\n",
+       " 'advent15': [('Data.PQueue.Prio.Min', True),\n",
+       "  ('Data.Set', True),\n",
+       "  ('Data.Sequence', True),\n",
+       "  ('Data.Sequence', False),\n",
+       "  ('Data.Foldable', False),\n",
+       "  ('Data.Char', False),\n",
+       "  ('Control.Monad.Reader', False),\n",
+       "  ('Control.Lens', False),\n",
+       "  ('Linear', False),\n",
+       "  ('Data.Array.IArray', False)],\n",
+       " 'advent16': [('Data.Word', False),\n",
+       "  ('Data.Bits', False),\n",
+       "  ('Data.Char', False),\n",
+       "  ('Data.Int', False),\n",
+       "  ('Control.Monad.State.Strict', False),\n",
+       "  ('Data.ByteString', True),\n",
+       "  ('Data.Bitstream', True)],\n",
+       " 'advent17': [('Data.Text', False),\n",
+       "  ('Data.Text.IO', True),\n",
+       "  ('Data.Attoparsec.Text', False),\n",
+       "  ('Control.Lens', False),\n",
+       "  ('Linear', False),\n",
+       "  ('Data.Ix', False)],\n",
+       " 'advent18': [('Data.Text', False),\n",
+       "  ('Data.Text.IO', True),\n",
+       "  ('Data.Attoparsec.Text', False),\n",
+       "  ('Control.Applicative', False),\n",
+       "  ('Data.Maybe', False),\n",
+       "  ('Data.List', False)],\n",
+       " 'advent19': [('Data.Text', False),\n",
+       "  ('Data.Text.IO', True),\n",
+       "  ('Data.Attoparsec.Text', False),\n",
+       "  ('Linear', False),\n",
+       "  ('Data.Set', True),\n",
+       "  ('Data.MultiSet', True),\n",
+       "  ('Data.Monoid', False),\n",
+       "  ('Data.Maybe', False),\n",
+       "  ('Data.List', False),\n",
+       "  ('Control.Monad', False)],\n",
+       " 'advent20': [('Control.Monad.State.Strict', False),\n",
+       "  ('Control.Monad.Reader', False),\n",
+       "  ('Control.Monad.RWS.Strict', False),\n",
+       "  ('Data.List', False),\n",
+       "  ('Data.Ix', False),\n",
+       "  ('Data.Maybe', False),\n",
+       "  ('Data.Set', True),\n",
+       "  ('Linear', False)],\n",
+       " 'advent21': [('Data.Text', False),\n",
+       "  ('Data.Text.IO', True),\n",
+       "  ('Data.Attoparsec.Text', False),\n",
+       "  ('Control.Applicative', False),\n",
+       "  ('Data.Map.Strict', True),\n",
+       "  ('Data.Map.Strict', False),\n",
+       "  ('Data.List', False),\n",
+       "  ('Data.MultiSet', True)],\n",
+       " 'advent22': [('Data.Text', False),\n",
+       "  ('Data.Text.IO', True),\n",
+       "  ('Data.Attoparsec.Text', False),\n",
+       "  ('Control.Applicative', False),\n",
+       "  ('Linear', False),\n",
+       "  ('Control.Lens', False),\n",
+       "  ('Data.List', False)],\n",
+       " 'advent23': [('Data.PQueue.Prio.Min', True),\n",
+       "  ('Data.Set', True),\n",
+       "  ('Data.Sequence', True),\n",
+       "  ('Data.Sequence', False),\n",
+       "  ('Data.Map.Strict', True),\n",
+       "  ('Data.Map.Strict', False),\n",
+       "  ('Data.Foldable', False),\n",
+       "  ('Control.Monad.Reader', False),\n",
+       "  ('Control.Lens', False),\n",
+       "  ('Data.Maybe', False),\n",
+       "  ('Linear', False)],\n",
+       " 'advent24': [('Data.Text', False),\n",
+       "  ('Data.Text.IO', True),\n",
+       "  ('Data.Attoparsec.Text', False),\n",
+       "  ('Control.Applicative', False),\n",
+       "  ('Data.Map.Strict', True),\n",
+       "  ('Data.Map.Strict', False),\n",
+       "  ('Data.List', False),\n",
+       "  ('Control.Monad', False),\n",
+       "  ('Data.Maybe', False)],\n",
+       " 'advent25': [('Data.Map.Strict', True),\n",
+       "  ('Data.Map.Strict', False),\n",
+       "  ('Linear', False),\n",
+       "  ('Data.List', False)]}"
+      ]
+     },
+     "execution_count": 214,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "main_imports = {}\n",
+    "\n",
+    "for m in mains:\n",
+    "    with open(m) as f:\n",
+    "        lines = f.readlines()\n",
+    "        import_lines = [l for l in lines if l.strip().startswith('import') if 'Debug.Trace' not in l]\n",
+    "        imports = []\n",
+    "        for i in import_lines:\n",
+    "            words = i.strip().split()\n",
+    "            if 'qualified' in i:\n",
+    "                imports.append((words[2], True))\n",
+    "            else:\n",
+    "                imports.append((words[1], False))\n",
+    "    main_imports[m.split('/')[1]] = imports\n",
+    "\n",
+    "main_imports"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 215,
+   "id": "3260db91-68df-47d3-b4c3-8745ea974033",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[(('Data.List', False), 16),\n",
+       " (('Data.Text', False), 13),\n",
+       " (('Data.Text.IO', True), 13),\n",
+       " (('Data.Attoparsec.Text', False), 13),\n",
+       " (('Linear', False), 11),\n",
+       " (('Control.Applicative', False), 9),\n",
+       " (('Data.Map.Strict', True), 9),\n",
+       " (('Data.Set', True), 9),\n",
+       " (('Data.Map.Strict', False), 7),\n",
+       " (('Data.Char', False), 6),\n",
+       " (('Data.Maybe', False), 5),\n",
+       " (('Control.Lens', False), 4),\n",
+       " (('Data.MultiSet', True), 3),\n",
+       " (('Control.Monad.Reader', False), 3),\n",
+       " (('Data.List.Split', False), 2),\n",
+       " (('Data.Set', False), 2),\n",
+       " (('Data.Array.IArray', False), 2),\n",
+       " (('Data.PQueue.Prio.Min', True), 2),\n",
+       " (('Data.Sequence', True), 2),\n",
+       " (('Data.Sequence', False), 2),\n",
+       " (('Data.Foldable', False), 2),\n",
+       " (('Control.Monad.State.Strict', False), 2),\n",
+       " (('Data.Ix', False), 2),\n",
+       " (('Control.Monad', False), 2),\n",
+       " (('Data.IntMap.Strict', True), 1),\n",
+       " (('Data.Array', False), 1),\n",
+       " (('Data.Tuple', False), 1),\n",
+       " (('Data.Word', False), 1),\n",
+       " (('Data.Bits', False), 1),\n",
+       " (('Data.Int', False), 1),\n",
+       " (('Data.ByteString', True), 1),\n",
+       " (('Data.Bitstream', True), 1),\n",
+       " (('Data.Monoid', False), 1),\n",
+       " (('Control.Monad.RWS.Strict', False), 1)]"
+      ]
+     },
+     "execution_count": 215,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "import_counts = collections.Counter(l for ls in main_imports.values() for l in ls)\n",
+    "import_counts.most_common()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 216,
+   "id": "3f683faa-4d1d-4269-a66e-0ea848804e03",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "{'advent01': {'Data.List'},\n",
+       " 'advent02': {'Control.Applicative',\n",
+       "  'Data.Attoparsec.Text',\n",
+       "  'Data.Text',\n",
+       "  'Data.Text.IO'},\n",
+       " 'advent03': {'Data.Char', 'Data.List'},\n",
+       " 'advent04': {'Control.Applicative',\n",
+       "  'Data.Attoparsec.Text',\n",
+       "  'Data.List',\n",
+       "  'Data.Text',\n",
+       "  'Data.Text.IO'},\n",
+       " 'advent05': {'Control.Applicative',\n",
+       "  'Data.Attoparsec.Text',\n",
+       "  'Data.Map.Strict',\n",
+       "  'Data.Text',\n",
+       "  'Data.Text.IO',\n",
+       "  'Linear'},\n",
+       " 'advent06': {'Data.IntMap.Strict', 'Data.List', 'Data.List.Split'},\n",
+       " 'advent07': {'Data.List.Split'},\n",
+       " 'advent08': {'Data.Attoparsec.Text',\n",
+       "  'Data.List',\n",
+       "  'Data.Map.Strict',\n",
+       "  'Data.Set',\n",
+       "  'Data.Text',\n",
+       "  'Data.Text.IO'},\n",
+       " 'advent09': {'Data.Array', 'Data.Char', 'Data.List', 'Data.Set', 'Linear'},\n",
+       " 'advent10': {'Data.List', 'Data.Map.Strict'},\n",
+       " 'advent11': {'Data.Array.IArray', 'Data.Char', 'Linear'},\n",
+       " 'advent12': {'Data.Attoparsec.Text',\n",
+       "  'Data.Char',\n",
+       "  'Data.Map.Strict',\n",
+       "  'Data.Set',\n",
+       "  'Data.Text',\n",
+       "  'Data.Text.IO',\n",
+       "  'Data.Tuple'},\n",
+       " 'advent13': {'Control.Applicative',\n",
+       "  'Data.Attoparsec.Text',\n",
+       "  'Data.List',\n",
+       "  'Data.Set',\n",
+       "  'Data.Text',\n",
+       "  'Data.Text.IO',\n",
+       "  'Linear'},\n",
+       " 'advent14': {'Control.Applicative',\n",
+       "  'Data.Attoparsec.Text',\n",
+       "  'Data.List',\n",
+       "  'Data.Map.Strict',\n",
+       "  'Data.MultiSet',\n",
+       "  'Data.Set',\n",
+       "  'Data.Text',\n",
+       "  'Data.Text.IO'},\n",
+       " 'advent15': {'Control.Lens',\n",
+       "  'Control.Monad.Reader',\n",
+       "  'Data.Array.IArray',\n",
+       "  'Data.Char',\n",
+       "  'Data.Foldable',\n",
+       "  'Data.PQueue.Prio.Min',\n",
+       "  'Data.Sequence',\n",
+       "  'Data.Set',\n",
+       "  'Linear'},\n",
+       " 'advent16': {'Control.Monad.State.Strict',\n",
+       "  'Data.Bits',\n",
+       "  'Data.Bitstream',\n",
+       "  'Data.ByteString',\n",
+       "  'Data.Char',\n",
+       "  'Data.Int',\n",
+       "  'Data.Word'},\n",
+       " 'advent17': {'Control.Lens',\n",
+       "  'Data.Attoparsec.Text',\n",
+       "  'Data.Ix',\n",
+       "  'Data.Text',\n",
+       "  'Data.Text.IO',\n",
+       "  'Linear'},\n",
+       " 'advent18': {'Control.Applicative',\n",
+       "  'Data.Attoparsec.Text',\n",
+       "  'Data.List',\n",
+       "  'Data.Maybe',\n",
+       "  'Data.Text',\n",
+       "  'Data.Text.IO'},\n",
+       " 'advent19': {'Control.Monad',\n",
+       "  'Data.Attoparsec.Text',\n",
+       "  'Data.List',\n",
+       "  'Data.Maybe',\n",
+       "  'Data.Monoid',\n",
+       "  'Data.MultiSet',\n",
+       "  'Data.Set',\n",
+       "  'Data.Text',\n",
+       "  'Data.Text.IO',\n",
+       "  'Linear'},\n",
+       " 'advent20': {'Control.Monad.RWS.Strict',\n",
+       "  'Control.Monad.Reader',\n",
+       "  'Control.Monad.State.Strict',\n",
+       "  'Data.Ix',\n",
+       "  'Data.List',\n",
+       "  'Data.Maybe',\n",
+       "  'Data.Set',\n",
+       "  'Linear'},\n",
+       " 'advent21': {'Control.Applicative',\n",
+       "  'Data.Attoparsec.Text',\n",
+       "  'Data.List',\n",
+       "  'Data.Map.Strict',\n",
+       "  'Data.MultiSet',\n",
+       "  'Data.Text',\n",
+       "  'Data.Text.IO'},\n",
+       " 'advent22': {'Control.Applicative',\n",
+       "  'Control.Lens',\n",
+       "  'Data.Attoparsec.Text',\n",
+       "  'Data.List',\n",
+       "  'Data.Text',\n",
+       "  'Data.Text.IO',\n",
+       "  'Linear'},\n",
+       " 'advent23': {'Control.Lens',\n",
+       "  'Control.Monad.Reader',\n",
+       "  'Data.Foldable',\n",
+       "  'Data.Map.Strict',\n",
+       "  'Data.Maybe',\n",
+       "  'Data.PQueue.Prio.Min',\n",
+       "  'Data.Sequence',\n",
+       "  'Data.Set',\n",
+       "  'Linear'},\n",
+       " 'advent24': {'Control.Applicative',\n",
+       "  'Control.Monad',\n",
+       "  'Data.Attoparsec.Text',\n",
+       "  'Data.List',\n",
+       "  'Data.Map.Strict',\n",
+       "  'Data.Maybe',\n",
+       "  'Data.Text',\n",
+       "  'Data.Text.IO'},\n",
+       " 'advent25': {'Data.List', 'Data.Map.Strict', 'Linear'}}"
+      ]
+     },
+     "execution_count": 216,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "main_imports_unqualified = {m: set(i[0] for i in main_imports[m]) for m in main_imports}\n",
+    "main_imports_unqualified"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 217,
+   "id": "e5ff5780-e511-41ab-9207-0cc6bdaecb64",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[('Data.List', 16),\n",
+       " ('Data.Text', 13),\n",
+       " ('Data.Attoparsec.Text', 13),\n",
+       " ('Data.Text.IO', 13),\n",
+       " ('Linear', 11),\n",
+       " ('Control.Applicative', 9),\n",
+       " ('Data.Map.Strict', 9),\n",
+       " ('Data.Set', 9),\n",
+       " ('Data.Char', 6),\n",
+       " ('Data.Maybe', 5),\n",
+       " ('Control.Lens', 4),\n",
+       " ('Data.MultiSet', 3),\n",
+       " ('Control.Monad.Reader', 3),\n",
+       " ('Data.List.Split', 2),\n",
+       " ('Data.Array.IArray', 2),\n",
+       " ('Data.PQueue.Prio.Min', 2),\n",
+       " ('Data.Foldable', 2),\n",
+       " ('Data.Sequence', 2),\n",
+       " ('Control.Monad.State.Strict', 2),\n",
+       " ('Data.Ix', 2),\n",
+       " ('Control.Monad', 2),\n",
+       " ('Data.IntMap.Strict', 1),\n",
+       " ('Data.Array', 1),\n",
+       " ('Data.Tuple', 1),\n",
+       " ('Data.Int', 1),\n",
+       " ('Data.ByteString', 1),\n",
+       " ('Data.Bits', 1),\n",
+       " ('Data.Bitstream', 1),\n",
+       " ('Data.Word', 1),\n",
+       " ('Data.Monoid', 1),\n",
+       " ('Control.Monad.RWS.Strict', 1)]"
+      ]
+     },
+     "execution_count": 217,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "import_counts_unqualified = collections.Counter(l for ls in main_imports_unqualified.values() for l in ls)\n",
+    "import_counts_unqualified.most_common()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 218,
+   "id": "e0580f26-9f6d-49f9-83ff-92dbd190aad6",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style scoped>\n",
+       "    .dataframe tbody tr th:only-of-type {\n",
+       "        vertical-align: middle;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>Control.Applicative</th>\n",
+       "      <th>Control.Lens</th>\n",
+       "      <th>Control.Monad</th>\n",
+       "      <th>Control.Monad.RWS.Strict</th>\n",
+       "      <th>Control.Monad.Reader</th>\n",
+       "      <th>Control.Monad.State.Strict</th>\n",
+       "      <th>Data.Array</th>\n",
+       "      <th>Data.Array.IArray</th>\n",
+       "      <th>Data.Attoparsec.Text</th>\n",
+       "      <th>Data.Bits</th>\n",
+       "      <th>...</th>\n",
+       "      <th>Data.Monoid</th>\n",
+       "      <th>Data.MultiSet</th>\n",
+       "      <th>Data.PQueue.Prio.Min</th>\n",
+       "      <th>Data.Sequence</th>\n",
+       "      <th>Data.Set</th>\n",
+       "      <th>Data.Text</th>\n",
+       "      <th>Data.Text.IO</th>\n",
+       "      <th>Data.Tuple</th>\n",
+       "      <th>Data.Word</th>\n",
+       "      <th>Linear</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>advent01</th>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>...</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent02</th>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>...</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent03</th>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>...</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent04</th>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>...</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent05</th>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>...</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent06</th>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>...</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent07</th>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>...</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent08</th>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>...</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent09</th>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>...</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent10</th>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>...</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent11</th>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>...</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent12</th>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>...</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent13</th>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>...</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent14</th>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>...</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent15</th>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>...</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent16</th>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>...</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent17</th>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>...</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent18</th>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>...</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent19</th>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>...</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent20</th>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>...</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent21</th>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>...</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent22</th>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>...</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent23</th>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>...</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent24</th>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>...</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "      <td>True</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>advent25</th>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>...</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>False</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "<p>25 rows Ã— 31 columns</p>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "          Control.Applicative  Control.Lens  Control.Monad  \\\n",
+       "advent01                False         False          False   \n",
+       "advent02                 True         False          False   \n",
+       "advent03                False         False          False   \n",
+       "advent04                 True         False          False   \n",
+       "advent05                 True         False          False   \n",
+       "advent06                False         False          False   \n",
+       "advent07                False         False          False   \n",
+       "advent08                False         False          False   \n",
+       "advent09                False         False          False   \n",
+       "advent10                False         False          False   \n",
+       "advent11                False         False          False   \n",
+       "advent12                False         False          False   \n",
+       "advent13                 True         False          False   \n",
+       "advent14                 True         False          False   \n",
+       "advent15                False          True          False   \n",
+       "advent16                False         False          False   \n",
+       "advent17                False          True          False   \n",
+       "advent18                 True         False          False   \n",
+       "advent19                False         False           True   \n",
+       "advent20                False         False          False   \n",
+       "advent21                 True         False          False   \n",
+       "advent22                 True          True          False   \n",
+       "advent23                False          True          False   \n",
+       "advent24                 True         False           True   \n",
+       "advent25                False         False          False   \n",
+       "\n",
+       "          Control.Monad.RWS.Strict  Control.Monad.Reader  \\\n",
+       "advent01                     False                 False   \n",
+       "advent02                     False                 False   \n",
+       "advent03                     False                 False   \n",
+       "advent04                     False                 False   \n",
+       "advent05                     False                 False   \n",
+       "advent06                     False                 False   \n",
+       "advent07                     False                 False   \n",
+       "advent08                     False                 False   \n",
+       "advent09                     False                 False   \n",
+       "advent10                     False                 False   \n",
+       "advent11                     False                 False   \n",
+       "advent12                     False                 False   \n",
+       "advent13                     False                 False   \n",
+       "advent14                     False                 False   \n",
+       "advent15                     False                  True   \n",
+       "advent16                     False                 False   \n",
+       "advent17                     False                 False   \n",
+       "advent18                     False                 False   \n",
+       "advent19                     False                 False   \n",
+       "advent20                      True                  True   \n",
+       "advent21                     False                 False   \n",
+       "advent22                     False                 False   \n",
+       "advent23                     False                  True   \n",
+       "advent24                     False                 False   \n",
+       "advent25                     False                 False   \n",
+       "\n",
+       "          Control.Monad.State.Strict  Data.Array  Data.Array.IArray  \\\n",
+       "advent01                       False       False              False   \n",
+       "advent02                       False       False              False   \n",
+       "advent03                       False       False              False   \n",
+       "advent04                       False       False              False   \n",
+       "advent05                       False       False              False   \n",
+       "advent06                       False       False              False   \n",
+       "advent07                       False       False              False   \n",
+       "advent08                       False       False              False   \n",
+       "advent09                       False        True              False   \n",
+       "advent10                       False       False              False   \n",
+       "advent11                       False       False               True   \n",
+       "advent12                       False       False              False   \n",
+       "advent13                       False       False              False   \n",
+       "advent14                       False       False              False   \n",
+       "advent15                       False       False               True   \n",
+       "advent16                        True       False              False   \n",
+       "advent17                       False       False              False   \n",
+       "advent18                       False       False              False   \n",
+       "advent19                       False       False              False   \n",
+       "advent20                        True       False              False   \n",
+       "advent21                       False       False              False   \n",
+       "advent22                       False       False              False   \n",
+       "advent23                       False       False              False   \n",
+       "advent24                       False       False              False   \n",
+       "advent25                       False       False              False   \n",
+       "\n",
+       "          Data.Attoparsec.Text  Data.Bits  ...  Data.Monoid  Data.MultiSet  \\\n",
+       "advent01                 False      False  ...        False          False   \n",
+       "advent02                  True      False  ...        False          False   \n",
+       "advent03                 False      False  ...        False          False   \n",
+       "advent04                  True      False  ...        False          False   \n",
+       "advent05                  True      False  ...        False          False   \n",
+       "advent06                 False      False  ...        False          False   \n",
+       "advent07                 False      False  ...        False          False   \n",
+       "advent08                  True      False  ...        False          False   \n",
+       "advent09                 False      False  ...        False          False   \n",
+       "advent10                 False      False  ...        False          False   \n",
+       "advent11                 False      False  ...        False          False   \n",
+       "advent12                  True      False  ...        False          False   \n",
+       "advent13                  True      False  ...        False          False   \n",
+       "advent14                  True      False  ...        False           True   \n",
+       "advent15                 False      False  ...        False          False   \n",
+       "advent16                 False       True  ...        False          False   \n",
+       "advent17                  True      False  ...        False          False   \n",
+       "advent18                  True      False  ...        False          False   \n",
+       "advent19                  True      False  ...         True           True   \n",
+       "advent20                 False      False  ...        False          False   \n",
+       "advent21                  True      False  ...        False           True   \n",
+       "advent22                  True      False  ...        False          False   \n",
+       "advent23                 False      False  ...        False          False   \n",
+       "advent24                  True      False  ...        False          False   \n",
+       "advent25                 False      False  ...        False          False   \n",
+       "\n",
+       "          Data.PQueue.Prio.Min  Data.Sequence  Data.Set  Data.Text  \\\n",
+       "advent01                 False          False     False      False   \n",
+       "advent02                 False          False     False       True   \n",
+       "advent03                 False          False     False      False   \n",
+       "advent04                 False          False     False       True   \n",
+       "advent05                 False          False     False       True   \n",
+       "advent06                 False          False     False      False   \n",
+       "advent07                 False          False     False      False   \n",
+       "advent08                 False          False      True       True   \n",
+       "advent09                 False          False      True      False   \n",
+       "advent10                 False          False     False      False   \n",
+       "advent11                 False          False     False      False   \n",
+       "advent12                 False          False      True       True   \n",
+       "advent13                 False          False      True       True   \n",
+       "advent14                 False          False      True       True   \n",
+       "advent15                  True           True      True      False   \n",
+       "advent16                 False          False     False      False   \n",
+       "advent17                 False          False     False       True   \n",
+       "advent18                 False          False     False       True   \n",
+       "advent19                 False          False      True       True   \n",
+       "advent20                 False          False      True      False   \n",
+       "advent21                 False          False     False       True   \n",
+       "advent22                 False          False     False       True   \n",
+       "advent23                  True           True      True      False   \n",
+       "advent24                 False          False     False       True   \n",
+       "advent25                 False          False     False      False   \n",
+       "\n",
+       "          Data.Text.IO  Data.Tuple  Data.Word  Linear  \n",
+       "advent01         False       False      False   False  \n",
+       "advent02          True       False      False   False  \n",
+       "advent03         False       False      False   False  \n",
+       "advent04          True       False      False   False  \n",
+       "advent05          True       False      False    True  \n",
+       "advent06         False       False      False   False  \n",
+       "advent07         False       False      False   False  \n",
+       "advent08          True       False      False   False  \n",
+       "advent09         False       False      False    True  \n",
+       "advent10         False       False      False   False  \n",
+       "advent11         False       False      False    True  \n",
+       "advent12          True        True      False   False  \n",
+       "advent13          True       False      False    True  \n",
+       "advent14          True       False      False   False  \n",
+       "advent15         False       False      False    True  \n",
+       "advent16         False       False       True   False  \n",
+       "advent17          True       False      False    True  \n",
+       "advent18          True       False      False   False  \n",
+       "advent19          True       False      False    True  \n",
+       "advent20         False       False      False    True  \n",
+       "advent21          True       False      False   False  \n",
+       "advent22          True       False      False    True  \n",
+       "advent23         False       False      False    True  \n",
+       "advent24          True       False      False   False  \n",
+       "advent25         False       False      False    True  \n",
+       "\n",
+       "[25 rows x 31 columns]"
+      ]
+     },
+     "execution_count": 218,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "all_imports = set(m for p in main_imports_unqualified for m in main_imports_unqualified[p])\n",
+    "imports_df = pd.DataFrame.from_dict(\n",
+    "    {p: {m: m in main_imports_unqualified[p] \n",
+    "         for m in sorted(all_imports)} \n",
+    "     for p in main_imports_unqualified}, \n",
+    "    orient='index').sort_index()\n",
+    "imports_df"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 219,
+   "id": "3668bdab-5b8f-4ab0-b788-002f0ced7b8c",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "|                            |   0 |\n",
+      "|:---------------------------|----:|\n",
+      "| Data.List                  |  16 |\n",
+      "| Data.Attoparsec.Text       |  13 |\n",
+      "| Data.Text.IO               |  13 |\n",
+      "| Data.Text                  |  13 |\n",
+      "| Linear                     |  11 |\n",
+      "| Data.Set                   |   9 |\n",
+      "| Data.Map.Strict            |   9 |\n",
+      "| Control.Applicative        |   9 |\n",
+      "| Data.Char                  |   6 |\n",
+      "| Data.Maybe                 |   5 |\n",
+      "| Control.Lens               |   4 |\n",
+      "| Control.Monad.Reader       |   3 |\n",
+      "| Data.MultiSet              |   3 |\n",
+      "| Data.Array.IArray          |   2 |\n",
+      "| Data.List.Split            |   2 |\n",
+      "| Control.Monad              |   2 |\n",
+      "| Data.Sequence              |   2 |\n",
+      "| Data.PQueue.Prio.Min       |   2 |\n",
+      "| Control.Monad.State.Strict |   2 |\n",
+      "| Data.Ix                    |   2 |\n",
+      "| Data.Foldable              |   2 |\n",
+      "| Data.Bits                  |   1 |\n",
+      "| Data.Array                 |   1 |\n",
+      "| Data.Monoid                |   1 |\n",
+      "| Data.Int                   |   1 |\n",
+      "| Data.ByteString            |   1 |\n",
+      "| Control.Monad.RWS.Strict   |   1 |\n",
+      "| Data.Bitstream             |   1 |\n",
+      "| Data.Tuple                 |   1 |\n",
+      "| Data.Word                  |   1 |\n",
+      "| Data.IntMap.Strict         |   1 |\n"
+     ]
+    }
+   ],
+   "source": [
+    "print(imports_df.sum().sort_values(ascending=False).to_markdown())"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 220,
+   "id": "3f3e9d52-87b4-4a2d-889d-0bd925f967b0",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style scoped>\n",
+       "    .dataframe tbody tr th:only-of-type {\n",
+       "        vertical-align: middle;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>program</th>\n",
+       "      <th>module</th>\n",
+       "      <th>present</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>17</th>\n",
+       "      <td>advent01</td>\n",
+       "      <td>Data.List</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>31</th>\n",
+       "      <td>advent02</td>\n",
+       "      <td>Control.Applicative</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>39</th>\n",
+       "      <td>advent02</td>\n",
+       "      <td>Data.Attoparsec.Text</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>57</th>\n",
+       "      <td>advent02</td>\n",
+       "      <td>Data.Text</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>58</th>\n",
+       "      <td>advent02</td>\n",
+       "      <td>Data.Text.IO</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>...</th>\n",
+       "      <td>...</td>\n",
+       "      <td>...</td>\n",
+       "      <td>...</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>739</th>\n",
+       "      <td>advent24</td>\n",
+       "      <td>Data.Text</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>740</th>\n",
+       "      <td>advent24</td>\n",
+       "      <td>Data.Text.IO</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>761</th>\n",
+       "      <td>advent25</td>\n",
+       "      <td>Data.List</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>763</th>\n",
+       "      <td>advent25</td>\n",
+       "      <td>Data.Map.Strict</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>774</th>\n",
+       "      <td>advent25</td>\n",
+       "      <td>Linear</td>\n",
+       "      <td>True</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "<p>140 rows Ã— 3 columns</p>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "      program                module  present\n",
+       "17   advent01             Data.List     True\n",
+       "31   advent02   Control.Applicative     True\n",
+       "39   advent02  Data.Attoparsec.Text     True\n",
+       "57   advent02             Data.Text     True\n",
+       "58   advent02          Data.Text.IO     True\n",
+       "..        ...                   ...      ...\n",
+       "739  advent24             Data.Text     True\n",
+       "740  advent24          Data.Text.IO     True\n",
+       "761  advent25             Data.List     True\n",
+       "763  advent25       Data.Map.Strict     True\n",
+       "774  advent25                Linear     True\n",
+       "\n",
+       "[140 rows x 3 columns]"
+      ]
+     },
+     "execution_count": 220,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "imports_scatter = imports_df.stack().reset_index()\n",
+    "imports_scatter.columns = ['program', 'module', 'present']\n",
+    "imports_scatter = imports_scatter[imports_scatter.present]\n",
+    "imports_scatter"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 221,
+   "id": "1b22b8c9-a14f-406d-bd77-ba7d7b3c3ffa",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "<AxesSubplot:xlabel='program', ylabel='module'>"
+      ]
+     },
+     "execution_count": 221,
+     "metadata": {},
+     "output_type": "execute_result"
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 720x720 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "imports_scatter.plot.scatter(x='program', y='module', s=80, rot=45, figsize=(10, 10))"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 222,
+   "id": "9552d5f9-cc44-4d49-b97e-8961556878c5",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "31"
+      ]
+     },
+     "execution_count": 222,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "imports_df.columns.size"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 223,
+   "id": "4b70002e-f12e-4067-b8b8-119504e4d86b",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 720x720 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "cmap = mpl.colors.ListedColormap(['white', 'blue'])\n",
+    "\n",
+    "fig, ax = plt.subplots(figsize=(10, 10))\n",
+    "ax.imshow(imports_df.to_numpy().T, cmap=cmap)\n",
+    "plt.xticks(range(imports_df.index.size), labels=imports_df.index.values, rotation=90);\n",
+    "plt.yticks(range(imports_df.columns.size), labels=imports_df.columns.values);\n",
+    "\n",
+    "ax.xaxis.set_minor_locator(mpl.ticker.MultipleLocator(0.5))\n",
+    "ax.yaxis.set_minor_locator(mpl.ticker.MultipleLocator(0.5))\n",
+    "ax.grid(which='minor', axis='both', linestyle='-', color='silver', linewidth=1.5);\n",
+    "plt.savefig('imports.png');"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 224,
+   "id": "684eb890-3729-4d68-a862-798c9ca152ce",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "'3.4.2'"
+      ]
+     },
+     "execution_count": 224,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "import matplotlib as mpl\n",
+    "mpl.__version__"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "0c6ccc03-f87d-437f-aecf-e6cf1fcd0698",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "jupytext": {
+   "formats": "ipynb,md"
+  },
+  "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.8.8"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}