You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@systemml.apache.org by du...@apache.org on 2016/09/12 19:06:01 UTC

incubator-systemml git commit: [SYSTEMML-910] Updating the Jupyter notebook recommendation example with new MLContext changes.

Repository: incubator-systemml
Updated Branches:
  refs/heads/master 01e622f54 -> f463e5f46


[SYSTEMML-910] Updating the Jupyter notebook recommendation example with new MLContext changes.


Project: http://git-wip-us.apache.org/repos/asf/incubator-systemml/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-systemml/commit/f463e5f4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-systemml/tree/f463e5f4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-systemml/diff/f463e5f4

Branch: refs/heads/master
Commit: f463e5f466b895775df111f21ca347ae82c2c4bc
Parents: 01e622f
Author: Mike Dusenberry <mw...@us.ibm.com>
Authored: Mon Sep 12 12:04:56 2016 -0700
Committer: Mike Dusenberry <mw...@us.ibm.com>
Committed: Mon Sep 12 12:04:56 2016 -0700

----------------------------------------------------------------------
 .../SystemML-PySpark-Recommendation-Demo.ipynb  | 28 +++++++++-----------
 1 file changed, 13 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/f463e5f4/samples/jupyter-notebooks/SystemML-PySpark-Recommendation-Demo.ipynb
----------------------------------------------------------------------
diff --git a/samples/jupyter-notebooks/SystemML-PySpark-Recommendation-Demo.ipynb b/samples/jupyter-notebooks/SystemML-PySpark-Recommendation-Demo.ipynb
index b78a192..0c47c66 100644
--- a/samples/jupyter-notebooks/SystemML-PySpark-Recommendation-Demo.ipynb
+++ b/samples/jupyter-notebooks/SystemML-PySpark-Recommendation-Demo.ipynb
@@ -21,7 +21,7 @@
     "\n",
     "import numpy as np\n",
     "import matplotlib.pyplot as plt\n",
-    "from SystemML import MLContext, dml  # pip install SystemML\n",
+    "from systemml import MLContext, dml  # pip install systeml\n",
     "plt.rcParams['figure.figsize'] = (10, 6)"
    ]
   },
@@ -47,16 +47,14 @@
       "                                 Dload  Upload   Total   Spent    Left  Speed\n",
       "\r",
       "  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0\r",
-      "  2 11.2M    2  334k    0     0   384k      0  0:00:29 --:--:--  0:00:29  384k\r",
-      " 10 11.2M   10 1157k    0     0   617k      0  0:00:18  0:00:01  0:00:17  617k\r",
-      " 18 11.2M   18 2127k    0     0   739k      0  0:00:15  0:00:02  0:00:13  739k\r",
-      " 28 11.2M   28 3248k    0     0   838k      0  0:00:13  0:00:03  0:00:10  838k\r",
-      " 39 11.2M   39 4544k    0     0   933k      0  0:00:12  0:00:04  0:00:08  933k\r",
-      " 51 11.2M   51 5957k    0     0  1014k      0  0:00:11  0:00:05  0:00:06 1123k\r",
-      " 65 11.2M   65 7517k    0     0  1093k      0  0:00:10  0:00:06  0:00:04 1272k\r",
-      " 79 11.2M   79 9183k    0     0  1166k      0  0:00:09  0:00:07  0:00:02 1412k\r",
-      " 94 11.2M   94 10.6M    0     0  1224k      0  0:00:09  0:00:08  0:00:01 1522k\r",
-      "100 11.2M  100 11.2M    0     0  1242k      0  0:00:09  0:00:09 --:--:-- 1585k\n"
+      "  1 11.2M    1  151k    0     0   851k      0  0:00:13 --:--:--  0:00:13  848k\r",
+      " 16 11.2M   16 1887k    0     0  1601k      0  0:00:07  0:00:01  0:00:06 1600k\r",
+      " 31 11.2M   31 3662k    0     0  1685k      0  0:00:06  0:00:02  0:00:04 1685k\r",
+      " 44 11.2M   44 5135k    0     0  1615k      0  0:00:07  0:00:03  0:00:04 1614k\r",
+      " 61 11.2M   61 7038k    0     0  1686k      0  0:00:06  0:00:04  0:00:02 1685k\r",
+      " 76 11.2M   76 8816k    0     0  1703k      0  0:00:06  0:00:05  0:00:01 1734k\r",
+      " 90 11.2M   90 10.1M    0     0  1687k      0  0:00:06  0:00:06 --:--:-- 1708k\r",
+      "100 11.2M  100 11.2M    0     0  1710k      0  0:00:06  0:00:06 --:--:-- 1722k\n"
      ]
     }
    ],
@@ -182,7 +180,7 @@
     {
      "data": {
       "text/plain": [
-       "<matplotlib.text.Text at 0x107bded68>"
+       "<matplotlib.text.Text at 0x10ba407b8>"
       ]
      },
      "execution_count": 7,
@@ -191,9 +189,9 @@
     },
     {
      "data": {
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAngAAAGJCAYAAAAZsU4bAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmUZWV97//3p7tlnhsBaUDQdCsqCkTAOMRyBhMHMnhF\nvQ7R3CQa9cbfNYrXn7QxWVETk2hMNFFETGSI8xAi6AoVf0QREAGVqR0YmpaG1m5Exh6+vz/2Ljkc\nTnVXV9fpM9T7tdZe55zn7OG7q6heH569n2enqpAkSdL4WDDoAiRJkjS3DHiSJEljxoAnSZI0Zgx4\nkiRJY8aAJ0mSNGYMeJIkSWPGgCdJs5DksCQ/n+t1JWkuGPAk9UWS65LcmeTnSX6S5GNJdmm/m0xy\nV5IlHes/I8mPu7a/O8k+Xfu9LMmmJIe0nz+e5J72OLe3r7/btc3BHd/d3m7/i462J23t+VXVj6tq\nj7led2sl+Zck7+jHviWNLgOepH4p4DfaYHM0cAzw9o7vfgH8vz226Xz/Y+CkqYYkjwF26rHee6pq\nj6ravX391P12WnVjx3e7t9sc0dH2393FJ/HfR0kjy3/AJPVTAKrqJ8B/AI/p+O4DwElJHraZ7f8F\neEXH51cAp89RXblfQ9MT9sEk/5HkduDJSZ6X5DttL991Sd7esf7Dk2zq+Pz/JVme5L/b9c9JstfW\nrtt+/6ok1ye5JcnJSW5M8utbfZLJk5NcnGRtkguTHNvx3auT/Lg9/g+SvKhtX5rkv5Ksa4//r1t7\nXEmDZ8CT1HdJDgaeC1za0XwT8BHgnZvZ9EJg9ySPaHvUXgT8K13hbA6dBJzS9vJdCNwOvLTthXwe\n8IYkz+1Yv/tZjycB/xPYD9gNeNPWrpvkCOD9NOe6BHgwsP/WnkiSxcCXgb8CFgN/D5yTZM8kuwPv\nA57RntuTgCvaTf8C+HJV7QUcBPzD1h5b0uAZ8CT10
 +eT/Az4OnA+8Jdd378b+M0kh29mH1O9eM8C\nrgZW9VjnzUl+1vZU3bIN9X6uqi4CqKp7q2qyqq5sP38XOBt46ma2P7WqflRVdwOfAo6cxbq/09bx\nrapaT3NZezaB9nnA96rq36pqU1V9EvgR8Bvt95uAI5LsWFWrq+rqtn09cGiSA9ufwTdncWxJA2bA\nk9RPL6iqfarqsKp6fVXd0/llVa0BPgi8azP7+FfgJcArgU9Ms85ftcfZu6r224Z6b+z8kOTXkpzf\nXqpcB7wa2Hcz29/c8f5Omp65rV33wM46qupOYO0Mau92IHB9V9v1wJKqup2mB/GPgZuTfDHJ0nad\nNwE7AJckuTzJy2dxbEkDZsCT1E8z6Xn6a+BpwK/2+rKqbqAZbHEC8Nm5K62n7suoZ9L0ri1pL1me\nSv8uD0/5Cc2lUQCS7ArsPYv9rAIO7Wo7hObSOFV1blU9CzgA+CHwT2376qr6/ao6kCYA/nOSh87i\n+JIGyIAnaaCq6jaakPenm1nt94CnV9Vd26eqX9oNWFtV65M8AXhx1/dbE/Zmuu6ngBcmOTbJg4A/\n44HBs9uDkuzYsTyI5v67RyX53SQLk7wEeDjNfXgHJPnNJDsDG4A72lfa9Q9s93sbzaXcjVtxnpKG\ngAFPUr9sLpR0f/cBmoDRPf1J86aZR+7SXt/NYW292v4IeHeS24C30tyDN902W6ppRuu29/r9CfBp\nmt62W4GfAvdMtw3wNprLvFPLue3l7+e3da8B3kgzbc06YCHwZppevluBX6PprQM4Dri4HUn8aeC1\nVbVyC+cmacikalv/ndzMzpNTgd8EVlfVY9u2xwEfppnLaj3wuqq6uP3uAzSXYe4AXllVl7XtrwD+\nL80/in9RVZ9o248GPt7u65yq+t99OxlJGoB2xOs64JCqumnQ9UgaDf3uwTsNeE5X23tppiE4Cjil\n/Uw79cDDq2op8Ac0IZAkewPv
 oJkk9TjglCR7tvv6EPCaqloGLEvSfSxJGjnt/Hs7J9kN+Bvg24Y7\nSVujrwGvqi7ggaO/NgFTAW0v2ht+aS4lfKLd7lvAnkn2pwmI51XVbe2lhfOA45McAOw+NaVBu+0L\n+3YykrT9nEhz+fQGmoERJ21+dUm6v0UDOOafAOcmeR/NTcdPbNuXcP8pCla2bd3tN3W0r+yxviSN\ntKr6PZqBJZI0K4MYZPFHwBur6hCasPextr17hFlo7rnrNfJsc+2SJEnz2iB68F5RVW8EqKpPJ/lo\n274SOLhjvYNoLlGsBCa62s/fzPo9JTH8SZKkkVFVs553c3v04HU/1PumJE8FSPIMYEXb/kXg5W37\nE4B1VbUaOBd4Vvv8xL1pHld0blXdDPy8nSsq7bZf2FwhVeUygsspp5wy8Bpc/P3N18Xf3+gu/u5G\ne9lWfe3BS3IGTe/b4iQ30Iya/X3gA0kWAncD/wugqs5J8twkP6CZJuVVbfvaJO8CLqG5BPvOagZb\nALyW+0+T8pV+no8kSdIo6GvAq6qXTPPV46dZ/4+naf84TZDrbv82cMQsy5MkSRpLPslCQ29iYmLQ\nJWgb+Psbbf7+Rpe/u/mtr0+yGCZJar6cqyRJGm1JqCEfZCFJkqTtyIAnSZI0Zgx4kiRJY8aAJ0mS\nNGYMeJIkSWPGgCdJkjRmDHiSJEljxoAnSZI0Zgx4kiRJY8aAJ0mSNGYMeJIkSWPGgCdJkjRmDHiS\nJEljxoAnSZI0Zgx4kiRJY8aAJ0mSNGbmbcC79164/vpBVyFJkjT35m3Au+IKeP7zB12FJEnS3EtV\nDbqG7SJJdZ7rPffAPvvArbfCLrsMsDBJkqQuSaiqzHb7eduDt+OO8KhHwWWXDboSSZKkuTVvAx7A\nMcfAJZcMugpJkqS5Na8D3uMfDxdfPOgqJEmS5ta8D3j24EmSpHEzbwdZAGzYAHvtBatWwR57DKgw\nSZKkLg6
 y2AaLFsHjHgeXXjroSiRJkubOvA544H14kiRp/Mz7gOdIWkmSNG7mfcBzoIUkSRo38z7g\nLVsGa9bAT3866EokSZLmxrwPeAsWwNFHw7e/PehKJEmS5sa8D3jgQAtJkjRe+hrwkpyaZHWSKzra\nzkpyabv8OMmlHd+dnGRFkquSPLuj/fgkVye5NslbOtoPTXJhkmuSnJlk0WzqdKCFJEkaJ/3uwTsN\neE5nQ1W9uKqOrqqjgc8AnwVIcjjwIuBw4ATgH9NYAHyw3c+jgZOSPLLd3XuA91XVI4B1wKtnU6QD\nLSRJ0jjpa8CrqguAtZtZ5UXAGe37FwBnVdWGqroOWAEc2y4rqur6qloPnNWuC/B0mpAIcDpw4mzq\nPOwwuPNOuPnm2WwtSZI0XAZ2D16SpwA3V9WP2qYlwI0dq9zUtnW3rwSWJFkMrK2qTR3tB86uFnvx\nJEnS+BjkIIuTgDM7Pvd63lptob37u1k/WNeBFpIkaVzMalDCtkqyEPgt4OiO5pXAwR2fDwJW0YS4\nQ7rbq2pNkr2SLGh78abWn9by5ct/+X5iYoKJiYlffj7mGPjIR2ZzNpIkSdtmcnKSycnJOdtfqmbd\n6TWzAySHAl+qqiM62o4H3lJVT+toexTwSeA4msuyXwWW0vQyXgM8A/gJcBHw4qq6OsnZwGer6uwk\nHwIur6oPT1NHbe5cV65s5sNbvbq5ZCtJkjQoSaiqWSeSfk+TcgbwDWBZkhuSvKr96n9w/8uzVNWV\nwL8BVwLnAK+txkbgj4HzgO/TDMS4ut3srcCbklwL7AOcOttalyyBhQvhxhu3vK4kSdIw63sP3rDY\nUg8ewPOeB696FfzWb22noiRJknoY6h68UeNAC0mSNA4MeB18ooUkSRoHXqLtsHo1PPKR8LOfOdBC\nkiQNjpdo59D++8Puu8MPfzjoSiRJkmbPgNfl8Y+HSy8ddBWSJEmzZ8DrcthhcMMNg65C
 kiRp9gx4\nXQ48EG66adBVSJIkzZ4Br8uSJQY8SZI02gx4XQx4kiRp1BnwuixZAqtWDboKSZKk2XMevC533w17\n7QV33eVceJIkaTCcB2+O7bQT7LYbrFkz6EokSZJmx4DXg/fhSZKkUWbA68GAJ0mSRpkBrwcDniRJ\nGmUGvB6c7FiSJI0yA14P9uBJkqRRZsDrwYAnSZJGmQGvBwOeJEkaZQa8Hgx4kiRplBnweth3X7jj\njuapFpIkSaPGgNdDAg95iM+klSRJo8mANw0v00qSpFFlwJuGc+FJkqRRZcCbhj14kiRpVBnwpmHA\nkyRJo8qANw0DniRJGlUGvGkY8CRJ0qgy4E3DgCdJkkZVqmrQNWwXSWprzvWuu2DvvZvXpI+FSZIk\ndUlCVc06gdiDN42dd4Zdd4Wf/nTQlUiSJG0dA95meJlWkiSNIgPeZjjZsSRJGkV9DXhJTk2yOskV\nXe2vT3J1ku8meXdH+8lJViS5KsmzO9qPb9e/NslbOtoPTXJhkmuSnJlk0VzWbw+eJEkaRf3uwTsN\neE5nQ5IJ4HnAY6rqCOCv2/bDgRcBhwMnAP+YxgLgg+1+Hg2clOSR7e7eA7yvqh4BrANePZfFG/Ak\nSdIo6mvAq6oLgLVdzX8EvLuqNrTrrGnbXwCcVVUbquo6YAVwbLusqKrrq2o9cFa7LsDTgc+0708H\nTpzL+g14kiRpFA3iHrxlwK+3l1bPT/KrbfsS4MaO9W5q27rbVwJLkiwG1lbVpo72A+eyUAOeJEka\nRXN6z9pWHHOvqnpCkmOATwEPA3rN9VL0DqHVrt+9zZxO6mfAkyRJo2gQAe9G4LMAVXVxko1tb9xK\n4JCO9Q4CVtGEuAe0V9WaJHslWdD24k2tP63ly5f/8v3ExAQTExObLdSAJ0mStofJyUkmJyfnbH99\nf5JFkkOBL7UDKkjyv4AlVXVKkmXAV6vqoUkeBXwSOI7msuxXgaU
 0PXjXAM8AfgJcBLy4qq5Ocjbw\n2ao6O8mHgMur6sPT1LFVT7IA2LSpmfD4tttgp522+tQlSZJmZaifZJHkDOAbwLIkNyR5FfAx4GFJ\nvgucAbwcoKquBP4NuBI4B3htNTYCfwycB3yfZiDG1e0h3gq8Kcm1wD7AqXNZ/4IFcMABsGqz/YKS\nJEnDxWfRbsETnwjvfS88+cl9KEqSJKmHoe7BGwfehydJkkaNAW8LDHiSJGnUGPC2wIAnSZJGjQFv\nCwx4kiRp1BjwtsCAJ0mSRo0BbwsMeJIkadQ4TcoW3Hkn7LMP3HUXZNaDlSVJkmbOaVL6bJddmqdZ\n/PSng65EkiRpZgx4M+BlWkmSNEoMeDOwZImPK5MkSaPDgDcD9uBJkqRRYsCbAQOeJEkaJQa8GTDg\nSZKkUWLAmwEDniRJGiUGvBkw4EmSpFFiwJuBAw804EmSpNHhkyxmYONG2HFHuPtuWLRojguTJEnq\n4pMstoOFC2HxYrj11kFXIkmStGUGvBnaf39YvXrQVUiSJG2ZAW+GDHiSJGlUGPBmaP/94ZZbBl2F\nJEnSlhnwZmi//ezBkyRJo8GAN0NeopUkSaPCgDdDBjxJkjQqDHgz5D14kiRpVBjwZsh78CRJ0qgw\n4M2Ql2glSdKo8FFlM3TvvbDrrnDPPbDAWCxJkvrIR5VtJzvsALvvDmvXDroSSZKkzTPgbQXvw5Mk\nSaPAgLcVvA9PkiSNAgPeVjDgSZKkUWDA2wrOhSdJkkZBXwNeklOTrE5yRUfbKUlWJrm0XY7v+O7k\nJCuSXJXk2R3txye5Osm1Sd7S0X5okguTXJPkzCSL+nk+3oMnSZJGQb978E4DntOj/W+q6uh2+QpA\nksOBFwGHAycA/5jGAuCD7X4eDZyU5JHtft4DvK+qHgGsA17dz5PxEq0kSRoFfQ14VXUB0GtikV7z\nurwAOKuqNlTVdcAK4Nh2WVFV11fVeuCsdl
 2ApwOfad+fDpw4h+U/gAFPkiSNgkHdg/e6JJcl+WiS\nPdu2JcCNHevc1LZ1t68EliRZDKytqk0d7Qf2s2jvwZMkSaNgEAHvH4GHV9WRwM3A+9r2Xr16tYX2\n7u/6+lgOe/AkSdIo6OughF6q6taOjx8BvtS+Xwkc3PHdQcAqmhB3SHd7Va1JsleSBW0v3tT601q+\nfPkv309MTDAxMbFVtU8NsqiCzPrhIZIkSfc3OTnJ5OTknO2v78+iTXIo8KWqOqL9fEBV3dy+/xPg\nmKp6SZJHAZ8EjqO5LPtVYClNL+M1wDOAnwAXAS+uqquTnA18tqrOTvIh4PKq+vA0dWzTs2in7LYb\nrFoFe+yxzbuSJEnqaVufRdvXHrwkZwATwOIkNwCnAE9LciSwCbgO+AOAqroyyb8BVwLrgde2iWxj\nkj8GzqMJe6dW1dXtId4KnJXkXcB3gFP7eT5w3314BjxJkjSs+t6DNyzmqgfviU+Ev/oreNKT5qAo\nSZKkHra1B88nWWwlJzuWJEnDzoC3lRxJK0mShp0Bbys5F54kSRp2BrytZA+eJEkadga8reQ9eJIk\nadgZ8LaSPXiSJGnYGfC2kvfgSZKkYWfA20r24EmSpGFnwNtKe+4Jd9/dLJIkScPIgLeVEgdaSJKk\n4WbAmwXvw5MkScPMgDcL3ocnSZKGmQFvFrxEK0mShpkBbxbswZMkScPMgDcL3oMnSZKGmQFvFuzB\nkyRJw8yANwsGPEmSNMwMeLPgIAtJkjTMDHiz4D14kiRpmKWqBl3DdpGk5upcN26EnXaCu+6CRYvm\nZJeSJEm/lISqymy3twdvFhYuhMWL4dZbB12JJEnSAxnwZsn78CRJ0rAy4M2S9+FJkqRhZcCbJadK\nkSRJw8qAN0sGPEmSNKwMeLPkPXiSJGlYGfBmyXvwJEnSsDLgzZKXaCVJ0rAy4M2SAU+SJA2rGQW8\nJA9PsmP7fiLJG5Ls1
 d/Shpv34EmSpGE10x68zwAbk/wK8M/AwcAZfatqBOy3H6xZA5s2DboSSZKk\n+5tpwNtUVRuAE4G/r6o3Aw/pX1nDb4cdYLfdYO3aQVciSZJ0fzMNeOuTnAS8Avhy2/ag/pQ0OrwP\nT5IkDaOZBrxXAb8G/EVV/TjJYcC/bmmjJKcmWZ3kih7f/Z8km5Ls09H2gSQrklyW5MiO9lckuTbJ\nNUle3tF+dJIr2u/+bobnMme8D0+SJA2jGQW8qrqyqt5QVWcm2RvYvarePYNNTwOe092Y5CDgmcD1\nHW0nAA+vqqXAHwAfbtv3Bt4BHAMcB5ySZM92sw8Br6mqZcCyJA84Vj85F54kSRpGMx1FO5lkj7a3\n7VLgI0n+ZkvbVdUFQK+71P4WeHNX2wuAT7TbfQvYM8n+NAHxvKq6rarWAecBxyc5gCZoXtRu/wng\nhTM5n7niJVpJkjSMZnqJds+q+jnwW8Anquo4mh64rZbkecCNVfXdrq+WADd2fF7ZtnW339TRvrLH\n+tvNAQfAzTdvzyNKkiRt2aKZrpfkIcCLgP8724Ml2bnd/lm9vu7xuXq0s4X2aS1fvvyX7ycmJpiY\nmNjc6lt08MHw1a9u0y4kSZKYnJxkcnJyzvY304D3Z8C5wH9X1cVJHgasmMXxHg4cClyeJMBBwKVJ\njqXpgTu4Y92DgFVt+0RX+/mbWX9anQFvLhxyCNxww5zuUpIkzUPdHU/vfOc7t2l/Mx1k8amqemxV\n/VH7+UdV9dszPEbahar6XlUdUFUPq6rDaELaUVV1C/BF4OUASZ4ArKuq1TTB8llJ9mwHXDwLOLeq\nbgZ+nuTYNiy+HPjCTE98LhjwJEnSMJrpIIuDknwuyS3ttCefaUfCbmm7M4Bv0IxwvSHJq7pW+eWl\n1qo6B/hxkh8A/wS8tm1fC7wLuAT4FvDOdrAF7TqnAtcCK6rqKzM5n7myZAmsWgUbN27Po0qSJG1e\n
 qjZ721qzUvJVmkeT/Uvb9DLgpVXV6166oZSkZnKuW+vAA+Gii+CgLcZdSZKkmUlCVfUabzAjMx1F\n++CqOq2qNrTLx4EHz/ag48TLtJIkadjMNOCtSfKyJAvb5WXAT/tZ2Kgw4EmSpGEz04D3ezRTpNwM\n/AT4HZrHl817BjxJkjRsZjqK9oaqen5VPbiq9quqF9JMejzvPfShBjxJkjRcZtqD18ub5qyKEWYP\nniRJGjbbEvBmPbJjnBjwJEnSsNmWgDf3c46MIAOeJEkaNpt9VFmS2+kd5ALs3JeKRsw++8A998Dt\nt8Puuw+6GkmSpC0EvKoysmxBcl8v3qMfPehqJEmStu0SrVpeppUkScPEgDcHDHiSJGmYGPDmgAFP\nkiQNEwPeHHCyY0mSNEwMeHPAHjxJkjRMDHhzwIAnSZKGSarmx3zFSapf53rPPbDHHnDnnbBwYV8O\nIUmS5pEkVNWsnxpmD94c2HFHWLwYbr550JVIkiQZ8ObMIYfA9dcPugpJkiQD3pzxPjxJkjQsDHhz\nxIAnSZKGhQFvjhjwJEnSsDDgzREDniRJGhYGvDni0ywkSdKwMODNEXvwJEnSsDDgzZF99mkmPL79\n9kFXIkmS5jsD3hxJml68G28cdCWSJGm+M+DNIS/TSpKkYWDAm0M+zUKSJA0DA94csgdPkiQNAwPe\nHDLgSZKkYWDAm0MGPEmSNAwMeHPIgCdJkoZBXwNeklOTrE5yRUfbnyW5PMl3knwlyQEd330gyYok\nlyU5sqP9FUmuTXJNkpd3tB+d5Ir2u7/r57nMxEEHwapVsHHjoCuRJEnzWb978E4DntPV9t6qelxV\nHQX8O3AKQJLnAg+vqqXAHwAfbtv3Bt4BHAMcB5ySZM92Xx8CXlNVy4BlSbqPtV3tuCMsXgw33zzI\nKiRJ0nzX14BXVRcAa7vaftHxcVdgU/v++cAn2nW+BeyZZH+agHheVd1WVeuA8
 4Dj256/3avqonb7\nTwAv7NvJzJCXaSVJ0qAN5B68JH+e5AbgJTS9cwBLgM7nQKxs27rbb+poX9lj/YEy4EmSpEEbSMCr\nqrdX1SHAJ4HXt83pWi1A9WhnC+0D5WTHkiRp0BYN+PhnAl8GltP0wB3c8d1BwKq2faKr/fzNrD+t\n5cuX//L9xMQEExMT0647W4ccAtdeO+e7lSRJY2xycpLJyck521+q+tvpleRQ4EtVdUT7+Veq6gft\n+9cDT6mqF7WDLF5XVb+R5AnA31XVE9pBFpcAR9P0OF4C/GpVrUvyLZoewItpBmx8oKq+Mk0d1e9z\nBfj85+FjH4MvfrHvh5IkSWMqCVXV62rljPS1By/JGTS9b4vbe+5OAX4jySOAjcD1wB8CVNU5SZ6b\n5AfAHcCr2va1Sd5FE+wKeGc72ALgtcDHgZ2Ac6YLd9uT9+BJkqRB63sP3rDYXj14a9bAsmXws5/1\n/VCSJGlMbWsPnk+ymGOLF8M998Dttw+6EkmSNF8Z8OZY0vTgXXXVoCuRJEnzlQGvD448Ei67bNBV\nSJKk+cqA1wdHHQXf+c6gq5AkSfOVAa8P7MGTJEmD5CjaPrjtNliypHlduHC7HFKSJI0RR9EOoT33\nhP33hxUrBl2JJEmajwx4feJ9eJIkaVAMeH3ifXiSJGlQDHh9Yg+eJEkaFANen0z14M2TMSySJGmI\nGPD65MADm9dVqwZbhyRJmn8MeH2SeB+eJEkaDANeHx11lAFPkiRtfwa8PjrySAdaSJKk7c+A10f2\n4EmSpEHwUWV9tHFj81SLm25qXiVJkmbCR5UNsYUL4TGPgSuuGHQlkiRpPjHg9ZkTHkuSpO3NgNdn\nTpUiSZK2NwNen9mDJ0mStjcHWfTZnXfCvvvCunWwww7b/fCSJGkEOchiyO2yCxx2GFx55aArkSRJ\n84UBbzvwPjxJkrQ9GfC2A+/DkyRJ25MBbzuwB0+SJG1P
 DrLYDtasgYc/HNauhQVGakmStAUOshgB\n++4Le+wB11036EokSdJ8YMDbTo46ysu0kiRp+zDgbSdHHulAC0mStH0Y8LaTxz8evvnNQVchSZLm\nAwdZbCd33AEPeQhcfz3svffAypAkSSPAQRYjYtdd4WlPg3//90FXIkmSxl1fA16SU5OsTnJFR9t7\nk1yV5LIkn0myR8d3JydZ0X7/7I7245NcneTaJG/paD80yYVJrklyZpJF/TyfbXXiifC5zw26CkmS\nNO763YN3GvCcrrbzgEdX1ZHACuBkgCSPAl4EHA6cAPxjGguAD7b7eTRwUpJHtvt6D/C+qnoEsA54\ndZ/PZ5s873nwta/BXXcNuhJJkjTO+hrwquoCYG1X29eqalP78ULgoPb984GzqmpDVV1HE/6ObZcV\nVXV9Va0HzgJe0G7zdOAz7fvTgRP7dS5zYfFi+NVfhfPOG3QlkiRpnA36HrzfA85p3y8Bbuz47qa2\nrbt9JbAkyWJgbUdYXAkc2N9yt52XaSVJUr8NLOAl+b/A+qo6c6qpx2q1hfbu74Z+SPALXwhf+hKs\nXz/oSiRJ0rgayKCEJK8AnktziXXKSuDgjs8HAatoQtwh3e1VtSbJXkkWtL14U+tPa/ny5b98PzEx\nwcTExDacxewcfHDzXNqvfx2e8YztfnhJkjSEJicnmZycnLP99X0evCSHAl+qqiPaz8cD7wN+vap+\n2rHeo4BPAsfRXJb9KrCUppfxGuAZwE+Ai4AXV9XVSc4GPltVZyf5EHB5VX14mjoGOg9ep7/8S7jp\nJvjgBwddiSRJGkbbOg9eXwNekjOACWAxsBo4BXgbsAMwFe4urKrXtuufTDMSdj3wxqo6r20/Hng/\nTdg7tare3bYfRjPoYm/gO8DL2oEYvWoZmoB39dXwzGfCDTfAgkHfBSlJkobOUAe8YTJMAQ/g8MPh\n9NPh2GMHXYkkSRo2PsliRDmaVpI
 k9YsBb0AMeJIkqV8MeAPy+MfDHXfAVVcNuhJJkjRuDHgDkjRz\n4tmLJ0mS5poBb4C8TCtJkvrBUbQDtGEDHHAAXHopHHLIlteXJEnzg6NoR9iiRfDSl8Lf/u2gK5Ek\nSePEHrwBu/lmePSj4TvfsRdPkiQ1nOh4hoY14AG87W1wyy3w0Y8OuhJJkjQMDHgzNMwBb+1aWLYM\nLrgAHvGIQVcjSZIGzXvwxsDee8Ob3gTveMegK5EkSePAHrwhcccdsHQp/Pu/w1FHDboaSZI0SPbg\njYldd23uxXv72wddiSRJGnUGvCHy+78PV17Z3IsnSZI0Wwa8IbLjjrB8OZx8Mgzx1WRJkjTkDHhD\n5mUvg59Fok5xAAAPv0lEQVT+FM49d9CVSJKkUWXAGzILF8Kf/zn86Z/CPfcMuhpJkjSKDHhD6MQT\n4bDDHHAhSZJmx2lShtSaNXDkkfDxj8MznznoaiRJ0vbkNCljat994fTT4ZWvhFtvHXQ1kiRplNiD\nN+Te8ha46ir4whcgs87xkiRplNiDN+be9S5YtQo+9KFBVyJJkkaFPXgj4Npr4UlPgvPPh8c8ZtDV\nSJKkfrMHbx5Ytgze+1446SS4665BVyNJkoadPXgjogpe8pIm4J11Fuy006ArkiRJ/WIP3jyRNFOm\n7LgjnHAC/Pzng65IkiQNKwPeCNlxRzjjDDj8cJiYgFtuGXRFkiRpGBnwRszChfAP/wDPex48+clw\n3XWDrkiSJA2bRYMuQFsvgXe+ExYvhqc8Bf7jPxxdK0mS7mMP3gh7wxvg3e+Gpz0N/vqvHWErSZIa\nBrwR99KXwn/9F3zjG7B0KXzkI7Bhw6CrkiRJg+Q0KWPkW9+Ck0+Gm26CP/9z+O3fhgVGeEmSRs62\nTpNiwBszVfC1r8Fb3wp33gmvfCW87GWwZMmgK5MkSTM11PPgJTk1yeokV3S0/U6S7yXZmOTorvVP\nTrIiyVVJnt
 3RfnySq5Ncm+QtHe2HJrkwyTVJzkwy7weNJPCsZ8Ell8BHPwo/+EEzAOP445sJkr1P\nT5Kk8dfXHrwkTwZ+AXyiqh7btj0C2AT8E/B/qurStv1w4AzgGOAg4GvAUiDAtcAzgFXAxcCLq+rq\nJGcDn66qTyX5EHBZVf3TNLXMix68Xu68Ez7/+Wai5EsuaQLgCSc0oe+AAwZdnSRJ6jbUPXhVdQGw\ntqvtmqpaQRPcOr0AOKuqNlTVdcAK4Nh2WVFV11fVeuCsdl2ApwOfad+fDpzYlxMZcbvs0jzm7Lzz\n4Hvfg2c/G778ZXjkI+Hoo+Htb4fJSVi3btCVSpKkuTBMlzSXAN/s+HxT2xbgxo72lcCxSRYDa6tq\nU0f7gduj0FF24IHw6lc3y/r18M1vNvPonXxyE/4WL4bHPQ6OPLJ5PfxweNjDmqdoSJKk0TBMAa9X\nN2TRu5ex2vW7t5mf12Bn6UEPgl//9WYB2LQJfvhDuPzyZjntNLjmGrjhhiYYLl0Ky5Y1yxFHNMvi\nxYM9B0mS9EDDFPBWAgd3fD6I5p67AId0t1fVmiR7JVnQ9uJNrT+t5cuX//L9xMQEExMTc1P5mFiw\noAlxS5fC7/zOfe3r1zePRLv2WlixAr7/fTj7bPjud2G33Zqg99jHNr19y5Y12z/4wc2AD0mStGWT\nk5NMTk7O2f76Pk1KkkOBL1XVEV3t59MMsvh2+/lRwCeB42guzX6VZpDFAuAamkEWPwEu4v6DLD5b\nVWe3gywur6oPT1PHvB1k0S9VcP31TdC74gq4+uomAK5Y0Uy2vHQp/MqvwEMeAvvt1ywPfnDzuv/+\nTftOOw36LCRJGj5DPQ9ekjOACWAxsBo4hWbQxd8D+wLraEa+ntCufzLwamA98MaqOq9tPx54P03Y\nO7Wq3t22H0Yz6GJv4DvAy9qBGL1qMeBtRz/7WRP0fvhDWL0abrnl/svNNzfLLrs0Qe8hD2l
 G9E6F\nwF7Lnns6cbMkaX4Y6oA3TAx4w6eqCYI/+cl9y6239l7WrIE77oB99mnC3r77wl57we67wx57NK9T\ny447wg47PHDZccf7lqnPO+/c9CJOLQ96kJeWJUmDZ8CbIQPe6Lv33iYQrlnThL516+D225vl5z+/\n7/299z5wueee+y/33gt33928v/vuZgLou+9uBprsuGMT9qbCYOf7XsFx0aImGD7oQfe9X7QIFi58\n4GvnsmBB789beu21384aupcddrj/61R9BllJGl4GvBky4GkmNmy4LwR2BsCpUNgrOG7Y0AxEWb/+\nvvcbNsDGjfe9dr/ftOm+952fO9s3berd3r2/DRvuX0Ov5d57m9epejdubILh1obS7kDaGT4XLGhC\nY+frdG2bW3oF4EWLHrhMhdbOHtnuEDv1OnUu3fVOve+urfv4Cxbc/7hTr4ZkSf1iwJshA550n6nA\n2BkMu0NjdyjtDqSd4XPqfVWzbNrUvHa3dbdPtXXuY3OBtjNATwXXzvB9zz0PDNpTr73q7T7+VG29\nAvjU8Tv3uWBB757enXduRpjvvvvmX6eWXj2vixZNH4C7e3+7w6f3qkqjz4A3QwY8SXNpKgx29/je\nc0/zeMA77oBf/KK5bWBzr7/4Re9e1w0bHhiCpwvA3eFzqsdxqney1zJl6n2vtl7fd+6ju4d2cz2+\n3b3CnT2r3b2svXqBp6tlJjVvbtvun1F3T/KWlul+vr1+Xr1+jpurbUvbbO4YM/1upj+vbr3at2bd\nLR13S+tOd44z+R+izv8Ge/Xq9/pvfCY/017bbAsD3gwZ8CTNB1OhcP36+3olu5fOdTtfp3vf/dq5\n36n3vXpdey3dty1032rQq7d3c7VsqebNbdt9Dp3Hnsm5dNbZ62fc63Nn+5Zq29w2mzvGTL+b6c+r\nW6/2rVl3S8fd0rrTnWOv/x6nfke9rkZM9ez36tXv9Tud7pi9aui0pf
 /Rmi50/+IX2xbwhmmiY0nS\nNursSZM0OL2C50xDd1UzNdi2MOBJkiTNsc6euUH8D5e34kqSJI0ZA54kSdKYMeBJkiSNGQOeJEnS\nmDHgSZIkjRkDniRJ0pgx4EmSJI0ZA54kSdKYMeBJkiSNGQOeJEnSmDHgSZIkjRkDniRJ0pgx4EmS\nJI0ZA54kSdKYMeBJkiSNGQOeJEnSmDHgSZIkjRkDniRJ0pgx4EmSJI0ZA54kSdKYMeBJkiSNGQOe\nJEnSmDHgSZIkjRkDniRJ0pgx4EmSJI0ZA54kSdKY6WvAS3JqktVJruho2zvJeUmuSXJukj07vvtA\nkhVJLktyZEf7K5Jc227z8o72o5Nc0X73d/08F0mSpFHR7x6804DndLW9FfhaVT0C+E/gZIAkJwAP\nr6qlwB8AH27b9wbeARwDHAec0hEKPwS8pqqWAcuSdB9LY2BycnLQJWgb+Psbbf7+Rpe/u/mtrwGv\nqi4A1nY1vwA4vX1/evt5qv0T7XbfAvZMsj9NQDyvqm6rqnXAecDxSQ4Adq+qi9rtPwG8sG8no4Hx\nH6nR5u9vtPn7G13+7ua3QdyDt19VrQaoqpuB/dr2JcCNHeutbNu622/qaF/ZY31JkqR5bZgGWaTH\n5+rRzhbaJUmS5rVU9TcTJXko8KWqemz7+SpgoqpWt5dZz6+qw5N8uH1/drve1cBTgae16/9h2/5h\n4Hzgv6a2bdtfDDy1qv5omjoMf5IkaWRUVa/OrBlZNJeFTCPcv7fti8Argfe0r1/oaH8dcHaSJwDr\n2hB4LvAX7cCKBcCzgLdW1bokP09yLHAx8HLgA9MVsS0/JEmSpFHS14CX5AxgAlic5AbgFODdwKeS\n/B5wA/C7AFV1TpLnJvkBcAfwqrZ9bZJ3AZfQXIJ9ZzvYAuC1wMeBnYBzquor/TwfSZKkUdD3S7SS\nJEnavoZpkEVfJDk+ydXtZMhvGXQ92rwkByX5z
 yRXJvlukje07dNOkK3hkmRBkkuTfLH9fGiSC9vf\n3ZlJtsetIZqFJHsm+VSSq5J8P8lx/u2NhiR/kuR77eT/n0yyg397w2uuHgSxOWMd8JIsAD5IM5fe\no4GTkjxysFVpCzYAb6qqRwG/Bryu/Z31nCBbQ+mNwJUdn98DvK/93a0DXj2QqjQT76e53eVw4HHA\n1fi3N/SSHAi8Hji6HdC4CDgJ//aG2TY/CGJLxjrgAccCK6rq+qpaD5zFfRMrawhV1c1VdVn7/hfA\nVcBBPHCCbCe1HkJJDgKeC3y0o/npwGfa96cDJ27vurRlSXYHnlJVpwFU1Yaqug3/9kbFQmDXtpdu\nZ2AVzSwU/u0NoTl6EMRmjXvAm27yZI2AJIcCRwIXAvt3TZD94MFVps34W+DNtHNSJlkMrK2qTe33\nK4EDB1SbNu9hwJokp7WX2P85yS74tzf0qmoV8D6agYs3AbcBl9LMRuHf3uiY6YMgph74sFnjHvCc\nDHlEJdkN+DTwxrYnz9/bkEvyG8Dqtgd26m+ve5ok8Hc5rBYBRwP/UFVH08xm8Fb8fQ29JHvR9PI8\nlCbE7Qqc0GNVf5ejaVZZZtwD3krgkI7PB9F0W2uItZcYPg38S1VNzZO4eqpLup0g+5ZB1adpPQl4\nfpIfAWfSXJr9O5rLCVP/1vg3OLxWAjdW1SXt58/QBD7/9obfM4EfVdXPqmoj8DngicBe/u2NlOn+\n1lYCB3esN6Pf5bgHvIuBX0ny0CQ7AC+mmVBZw+1jwJVV9f6OtqkJsgFewX0TZGtIVNXbquqQqnoY\nzd/af1bVy2iePPO77Wr+7oZUe2noxiTL2qZnAN/Hv71RcAPwhCQ7JQn3/e782xtu0z0IAh74IIiX\nA3Q+CGKLOx/3efCSHE8zMmwBcGpVvXvAJWkzkjwJ+DrwXZou6ALeBlwE/BvN/8XcAPxux4TXGjJJ\nngr8P1X1/CSH0Qxw2hv4
 DvCydtCThkySx9EMkHkQ8COaCecX4t/e0EtyCs3/WK2n+Tt7DU1Pj397\nQ6jzQRDAapoHQXwe+BQ9/taSfBA4nvZBEFV16RaPMe4BT5Ikab4Z90u0kiRJ844BT5IkacwY8CRJ\nksaMAU+SJGnMGPAkSZLGjAFPkiRpzBjwJM0rSW5vXx+a5KQ53vfJXZ8vmMv9S9JMGfAkzTdTk38e\nBrxkazbseOzTdN52vwNVPXlr9i9Jc8WAJ2m++kvgyUkuTfLGJAuSvDfJt5JcluT3oXkqR5KvJ/kC\ncGXb9rkkFyf5bpLXtG1/Cezc7u9f2rbbpw6W5K/a9S9P8qKOfZ+f5FNJrpraTpK21aJBFyBJA/JW\n2sepAbSBbl1VHdc+u/q/k5zXrnsU8OiquqH9/KqqWpdkJ+DiJJ+pqpOTvK6qju44RrX7/m3gsVV1\nRJL92m3+q13nSOBRwM3tMZ9YVd/o54lLGn/24ElS49nAy5N8B/gWsA+wtP3uoo5wB/C/k1wGXEjz\nvM+lbN6TgDMBquoWYBI4pmPfP6nmuZGXAYdu+6lImu/swZOkRoDXV9VX79eYPJXmAd+dn58OHFdV\n9yQ5H9ipYx/T7Xu6z/d0vN+I/y5LmgP24Emab6bC1e3A7h3t5wKvTbIIIMnSJLv02H5PYG0b7h4J\nPKHju3untu861teB/9He5/dg4CnARXNwLpLUk/+nKGm+mRpFewWwsb0k+/Gqen+SQ4FLkwS4BXhh\nj+2/Avxhku8D1wDf7Pjun4Erkny7qv7n1LGq6nNJngBcDmwC3lxVtyQ5fJraJGmbpLntQ5IkSePC\nS7SSJEljxoAnSZI0Zgx4kiRJY8aAJ0mSNGYMeJIkSWPGgCdJkjRmDHiSJEljxoAnSZI0Zv5/OadM\nQ71GEhAAAAAASUVORK5CYII=\n",
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAngAAAGJCAYAAAAZsU4bAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xm8XWV99/3PLwMzJCGSBBIggMxCFR+minqEMloFW6Vg\nLQhorTi1PreP0vpIrI+3Q0urlgoOKYIyieCt+FAGbzlWrAjIpEIgyHgCJIAJ85Dk/O4/1jpmZbPP\nyT7n7J09nM/79Vqvvda1pmud7Y5frrWua0VmIkmSpN4xqd0VkCRJUnMZ8CRJknqMAU+SJKnHGPAk\nSZJ6jAFPkiSpxxjwJEmSeowBT5LGICJ2iIinmr2tJDWDAU9SS0TE/RHxXEQ8FRGPRMR/RMQm5br+\niHg+IuZWtj8kIu6r2f+FiNiy5ri3RsRgRGxXLn8rIl4sz/N0+fmOmn22rax7utz/mUrZ60Z7fZl5\nX2Zu0extRysivh0Rn2rFsSV1LwOepFZJ4M1lsNkH2Bf4ZGXdM8D/W2ef6vx9wPFDBRHxKmCjOtt9\nITO3yMzNy89L1jpo5kOVdZuX++xVKft5beUjwn8fJXUt/wGT1EoBkJmPAP8JvKqy7ivA8RGx4wj7\nfxs4sbJ8InBuk+oVaxUULWFnRsR/RsTTwEER8ZaIuKVs5bs/Ij5Z2X6niBisLP8sIhZExM/L7a+I\niOmj3bZcf1JEPBARyyLitIh4KCLeMOqLjDgoIm6MiOURcX1E7FdZd0pE3Fee/56IOLYs3zkifhoR\nK8rzf2e055XUfgY8SS0XEdsCRwE3V4qXAN8APj3CrtcDm0fErmWL2rHAd6gJZ010PHB62cp3PfA0\n8JdlK+RbgA9HxFGV7Wvf9Xg88FfALGAz4KOj3TYi9gK+THGtc4GtgNmjvZCImAn8CPgnYCbwb8AV\nETEtIjYHzgAOKa/tdcDt5a6fBX6UmdOBecC/j/bck
 trPgCeplf5XRPwe+C/gWuBzNes/D/xpROw+\nwjGGWvEOBRYBD9fZ5mMR8fuypWrZOOr7/cy8ASAzX8rM/sy8o1z+NXAx8MYR9l+Ymfdm5gvAJcCr\nx7Dt28t6/DIzV1Lc1h5LoH0L8JvM/G5mDmbm+cC9wJvL9YPAXhGxYWYuzcxFZflKYH5EbFP+DX4x\nhnNLajMDnqRWOjozt8zMHTLzQ5n5YnVlZj4OnAl8ZoRjfAd4J/Bu4Lxhtvmn8jwzMnPWOOr7UHUh\nIg6MiGvLW5UrgFOAV4yw/6OV+ecoWuZGu+021Xpk5nPA8gbqXmsb4IGasgeAuZn5NEUL4geBRyPi\nhxGxc7nNR4ENgJsi4raIOGEM55bUZgY8Sa3USMvTPwNvAl5bb2VmPkjR2eJI4LLmVa2u2tuoF1K0\nrs0tb1kupHW3h4c8QnFrFICI2BSYMYbjPAzMrynbjuLWOJl5VWYeCswBfgd8rSxfmpnvzcxtKALg\n1yNi+zGcX1IbGfAktVVmPkkR8v6fETY7GTg4M59fP7X6g82A5Zm5MiIOAI6rWT+asNfotpcAx0TE\nfhExFfhHXh48a02NiA0r01SK5+/2iIh3RMTkiHgnsBPFc3hzIuJPI2JjYBXwbPlJuf025XGfpLiV\nu3oU1ympAxjwJLXKSKGkdt1XKAJG7fAnxUwxjtzN9dY1sW71yt4PfD4ingQ+QfEM3nD7rKtODW1b\nPuv3d8D3KFrbHgOeAF4cbh/g7ylu8w5NV5W3v99a1vtx4CMUw9asACYDH6No5XsMOJCitQ5gf+DG\nsifx94BTM3NgHdcmqcNE5nj/nRzh4BELgT8Flmbm3mXZHwFnU4xltRL4QGbeWK77CsVtmGeBd2fm\nrWX5icA/UPyj+NnMPK8s3wf4VnmsKzLzb1t2MZLUBmWP1xXAdpm5pN31kdQdWt2Cdw5weE3ZFymG\nIXgNcHq5TDn0wE6ZuTPwPooQ
 SETMAD5FMUjq/sDpETGtPNZZwHsycxdgl4ioPZckdZ1y/L2NI2Iz\n4F+AXxnuJI1GSwNeZl7Hy3t/DQJDAW065QO/FLcSziv3+yUwLSJmUwTEqzPzyfLWwtXAERExB9h8\naEiDct9jWnYxkrT+vI3i9umDFB0jjh95c0la25Q2nPPvgKsi4gyKh47/uCyfy9pDFAyUZbXlSyrl\nA3W2l6SulpknU3QskaQxaUcni/cDH8nM7SjC3n+U5bU9zILimbt6Pc9GKpckSZrQ2tGCd2JmfgQg\nM78XEd8syweAbSvbzaO4RTEA9NWUXzvC9nVFhOFPkiR1jcwc87ib66MFr/al3ksi4o0AEXEIsLgs\n/yFwQll+ALAiM5cCVwGHlu9PnEHxuqKrMvNR4KlyrKgo9/3BSBXJTKcunE4//fS218HJ72+iTn5/\n3Tv53XX3NF4tbcGLiAsoWt9mRsSDFL1m3wt8JSImAy8Afw2QmVdExFERcQ/FMCknleXLI+IzwE0U\nt2A/nUVnC4BTWXuYlCtbeT2SJEndoKUBLzPfOcyq/2uY7T84TPm3KIJcbfmvgL3GWD1JkqSe5Jss\n1PH6+vraXQWNg99fd/P7615+dxNbS99k0UkiIifKtUqSpO4WEWSHd7KQJEnSemTAkyRJ6jEGPEmS\npB5jwJMkSeoxBjxJkqQeY8CTJEnqMQY8SZKkHmPAkyRJ6jEGPEmSpB5jwJMkSeoxBjxJkqQeY8CT\nJEnqMQY8SZKkHmPAkyRJ6jEGPEmSpB5jwJMkSeoxBjxJkqQeM2ED3gMPwNe/3u5aSJIkNd+EDXir\nVsFnP9vuWkiSJDXfhA14O+wAv/89rFjR7ppIkiQ114QNeJMmwateBb/+dbtrIkmS1FwTNuAB7L03\n3H57u2shSZLUXBM64O21lwFPkiT1ngkd8GzBkyRJvSgys911WC8iImuvdfly2G47ePLJ4pk8SZKk\nThARZGa
 Mdf8JHWtmzCim++5rd00kSZKaZ0IHPPA2rSRJ6j0GvL0dKkWSJPUWA54teJIkqccY8Ax4\nkiSpx0zoXrRQvJN2iy3gscdg003bUDFJkqQaHd2LNiIWRsTSiLi9UnZRRNxcTvdFxM2VdadFxOKI\nuDMiDquUHxERiyLi7oj4eKV8fkRcHxF3RcSFETFltHWcMgV22w1++9vxXKkkSVLnaPUt2nOAw6sF\nmXlcZu6TmfsAlwKXAUTE7sCxwO7AkcBXozAJOLM8zp7A8RGxW3m4LwBnZOauwArglLFU0tu0kiSp\nl7Q04GXmdcDyETY5FrignD8auCgzV2Xm/cBiYL9yWpyZD2TmSuCicluAgylCIsC5wNvGUk8DniRJ\n6iVt62QREa8HHs3Me8uiucBDlU2WlGW15QPA3IiYCSzPzMFK+TZjqYsBT5Ik9ZJ29qI9Hriwslzv\nQcJcR3ntujH1GBkKeBOkv4kkSepxo+6U0AwRMRn4M2CfSvEAsG1leR7wMEWI2662PDMfj4jpETGp\nbMUb2n5YCxYs+MN8X18ffX19AMyaBRtsAEuWwLx5Y70qSZKksenv76e/v79px2v5MCkRMR+4PDP3\nqpQdAXw8M99UKdsDOB/Yn+K27DXAzhStjHcBhwCPADcAx2Xmooi4GLgsMy+OiLOA2zLz7GHqUXeY\nlCGHHQZ/+7dw1FHjuVpJkqTx6/RhUi4A/hvYJSIejIiTylV/wdq3Z8nMO4DvAncAVwCnZmE18EHg\nauC3FB0xFpW7fQL4aETcDWwJLBxrXX0OT5Ik9YoJP9DxkPPOgyuvhAsuGHYTSZKk9aKjW/C6iS14\nkiSpV9iCV3rxRZg+HVasgA03XI8VkyRJqmELXpNsuCHstBPceWe7ayJJkjQ+BrwKb9NKkqReYMCr\nMOBJkqReYMCrMOBJkqReYMCr2GsvA54kSep+BryKefOK3rRLl7a7JpIkSWNnwKuI8Dat
 JEnqfga8\nGrvsAvfe2+5aSJIkjZ0Br8acOfDoo+2uhSRJ0tgZ8GoY8CRJUrcz4NUw4EmSpG5nwKthwJMkSd3O\ngFfDgCdJkrqdAa/G7NlFwMtsd00kSZLGxoBXY7PNYMoUeOqpdtdEkiRpbAx4dXibVpIkdTMDXh0G\nPEmS1M0MeHUY8CRJUjcz4NVhwJMkSd3MgFfHnDmwdGm7ayFJkjQ2Brw6bMGTJEndzIBXhwFPkiR1\nMwNeHQY8SZLUzQx4dRjwJElSN4ucIO/kiohs9FpXroRNNoEXXoDJk1tcMUmSpBoRQWbGWPe3Ba+O\nqVNh+nR44ol210SSJGn0DHjD8DatJEnqVga8YRjwJElStzLgDcOAJ0mSupUBbxgGPEmS1K0MeMMw\n4EmSpG7V0oAXEQsjYmlE3F5T/qGIWBQRv46Iz1fKT4uIxRFxZ0QcVik/otz+7oj4eKV8fkRcHxF3\nRcSFETGlWXU34EmSpG7V6ha8c4DDqwUR0Qe8BXhVZu4F/HNZvjtwLLA7cCTw1ShMAs4sj7MncHxE\n7FYe7gvAGZm5K7ACOKVZFTfgSZKkbtXSgJeZ1wHLa4rfD3w+M1eV2zxelh8NXJSZqzLzfmAxsF85\nLc7MBzJzJXBRuS3AwcCl5fy5wNuaVXcDniRJ6lbteAZvF+AN5a3VayPitWX5XOChynZLyrLa8gFg\nbkTMBJZn5mClfJtmVdKAJ0mSulXTnlkb5TmnZ+YBEbEvcAmwI1DvdRxJ/RCa5fa1+zTtvWszZsAz\nz8CLL8KGGzbrqJIkSa3XjoD3EHAZQGbeGBGry9a4AWC7ynbzgIcpQtzLyjPz8YiYHhGTyla8oe2H\ntWDBgj/M9/X10dfXN+y2kybB7NmwdClst92wm0mSJI1bf38//f39TTteZDat0av+CSLmA5eXHSqI\niL8G5mbm6RGxC3BNZm4fEXsA5wP7U9yWvQbYmaIF7y7gEOAR4Ab
 guMxcFBEXA5dl5sURcRZwW2ae\nPUw9crTXuu++8O//DvvtN+rLliRJGrOIIDPr3d1sSEtb8CLiAqAPmBkRDwKnA/8BnBMRvwZeBE4A\nyMw7IuK7wB3ASuDUMpGtjogPAldThL2FmbmoPMUngIsi4jPALcDCZtbf5/AkSVI3ankLXqcYSwve\ne99btOL99V+3qFKSJEl1jLcFzzdZjMAWPEmS1I0MeCMw4EmSpG5kwBuBAU+SJHUjA94IDHiSJKkb\nGfBGYMCTJEndyIA3gtmzi4A3QToaS5KkHmHAG8Fmm8HkyfD00+2uiSRJUuMMeOvgbVpJktRtDHjr\nYMCTJEndxoC3DgY8SZLUbQx462DAkyRJ3caAtw4GPEmS1G0MeOtgwJMkSd3GgLcOBjxJktRtDHjr\nYMCTJEndxoC3DgY8SZLUbSInyHu4IiLHcq0rV8Imm8ALLxRvtZAkSWq1iCAzY6z724K3DlOnwvTp\n8MQT7a6JJElSYwx4DfA2rSRJ6iYGvAYY8CRJUjcx4DXAgCdJkrqJAa8BBjxJktRNDHgNMOBJkqRu\nYsBrgAFPkiR1EwNeAwx4kiSpmxjwGmDAkyRJ3cSA14A5c+CRR9pdC0mSpMYY8BowYwY8+yy8+GK7\nayJJkrRuBrwGTJoEW20Fy5a1uyaSJEnrZsBr0OzZsHRpu2shSZK0bga8BhnwJElStzDgNciAJ0mS\nuoUBr0EGPEmS1C1aGvAiYmFELI2I2ytlp0fEQETcXE5HVNadFhGLI+LOiDisUn5ERCyKiLsj4uOV\n8vkRcX1E3BURF0bElFZdiwFPkiR1i1a34J0DHF6n/F8yc59yuhIgInYHjgV2B44EvhqFScCZ5XH2\nBI6PiN3K43wBOCMzdwVWAKe06kIc7FiSJHWLlga8zLwOWF5nVdQpOxq4KDNXZeb9wGJgv3JanJkP\nZOZK4KJyW4CDgUvL+XOBtzWx+muxBU+SJH
 WLdj2D94GIuDUivhkR08qyucBDlW2WlGW15QPA3IiY\nCSzPzMFK+TatqrABT5IkdYt2BLyvAjtl5quBR4EzyvJ6rXq5jvLaddmsStYy4EmSpG7Rsk4Jw8nM\nxyqL3wAuL+cHgG0r6+YBD1OEuO1qyzPz8YiYHhGTyla8oe2HtWDBgj/M9/X10dfX13C9Z86Ep56C\nlSth6tSGd5MkSVqn/v5++vv7m3a8yGxZo1dxgoj5wOWZuVe5PCczHy3n/w7YNzPfGRF7AOcD+1Pc\nlr0G2JmilfEu4BDgEeAG4LjMXBQRFwOXZebFEXEWcFtmnj1MPXK817r11nDTTTB37rgOI0mSNKKI\nIDPr3cVsSEtb8CLiAqAPmBkRDwKnA2+KiFcDg8D9wPsAMvOOiPgucAewEji1TGSrI+KDwNUUYW9h\nZi4qT/EJ4KKI+AxwC7CwldczdJvWgCdJkjpZy1vwOkUzWvCOOAI+8hE48sgmVUqSJKmO8bbg+SaL\nUZg927HwJElS5zPgjYI9aSVJUjcw4I2CAU+SJHUDA94oGPAkSVI3MOCNggFPkiR1AwPeKBjwJElS\nNzDgjYIBT5IkdQPHwRuF1atho43gued8XZkkSWodx8FbjyZPLt5J+9hj695WkiSpXQx4o+RtWkmS\n1OkMeKNkwJMkSZ3OgDdKBjxJktTpDHijZMCTJEmdzoA3SgY8SZLU6Qx4ozRnjgFPkiR1NgPeKNmC\nJ0mSOp0Bb5Rmz4ZHH213LSRJkoZnwBslW/AkSVKn81Vlo7RqFWy8MTz/PEyZ0oSKSZIk1fBVZevZ\nlCkwYwY8/ni7ayJJklSfAW8MvE0rSZI6mQFvDAx4kiSpkxnwxsCx8CRJUicz4I2BLXiSJKmTGfDG\nwLHwJElSJzPgjYEteJIkqZMZ8MbAgCdJkjqZAW8MDHiSJKmTGfDGwIAnSZI6WUMBLyJ2iogNy/m+\niPhwRExvbdU611Zbw
 RNPwOrV7a6JJEnSyzXagncpsDoiXgl8HdgWuKBltepwU6fC9OlFyJMkSeo0\njQa8wcxcBbwN+LfM/Biwdeuq1fm8TStJkjpVowFvZUQcD5wI/Kgsm9qaKnUHx8KTJEmdqtGAdxJw\nIPDZzLwvInYAvrOunSJiYUQsjYjb66z7HxExGBFbVsq+EhGLI+LWiHh1pfzEiLg7Iu6KiBMq5ftE\nxO3lui81eC1NYQueJEnqVA0FvMy8IzM/nJkXRsQMYPPM/HwDu54DHF5bGBHzgD8BHqiUHQnslJk7\nA+8Dzi7LZwCfAvYF9gdOj4hp5W5nAe/JzF2AXSLiZedqFQOeJEnqVI32ou2PiC3K1rabgW9ExL+s\na7/MvA5YXmfVvwIfqyk7Gjiv3O+XwLSImE0REK/OzCczcwVwNXBERMyhCJo3lPufBxzTyPU0gwFP\nkiR1qkZv0U7LzKeAPwPOy8z9KVrgRi0i3gI8lJm/rlk1F3iosjxQltWWL6mUD9TZfr0w4EmSpE41\npdHtImJr4FjgH8Z6sojYuNz/0Hqr6yxnnXLWUT6sBQsW/GG+r6+Pvr6+kTYf0Zw5BjxJktQc/f39\n9Pf3N+14jQa8fwSuAn6emTdGxI7A4jGcbydgPnBbRAQwD7g5IvajaIHbtrLtPODhsryvpvzaEbYf\nVjXgjZcteJIkqVlqG54+/elPj+t4jXayuCQz987M95fL92bmnzd4jignMvM3mTknM3fMzB0oQtpr\nMnMZ8EPgBICIOABYkZlLKYLloRExrexwcShwVWY+CjwVEfuVYfEE4AeNXvh4GfAkSVKnarSTxbyI\n+H5ELCuHPbm07Am7rv0uAP6boofrgxFxUs0mf7jVmplXAPdFxD3A14BTy/LlwGeAm4BfAp8uO1tQ\nbrMQuBtYnJlXNnI9zTBrFjz2GAwOrq8zSpIkNSYyR3xsrdgo4hqKV5N9uyx6F/CXmVnvWbqOFBHZ\n
 yLWOxsyZsGhR8W5aSZKkZokIMrNef4OGNNqLdqvMPCczV5XTt4AJH2u8TStJkjpRowHv8Yh4V0RM\nLqd3AU+0smLdwIAnSZI6UaMB72SKIVIeBR4B3k7x+rIJzaFSJElSJ2q0F+2DmfnWzNwqM2dl5jEU\ngx5PaLbgSZKkTtRoC149H21aLbrU1lvDwyOOvCdJkrT+jSfgjblnR6/YYQe4995210KSJGlt4wl4\nzR1zpAvttBP87nftroUkSdLaRhwHLyKepn6QC2DjzGz0VWdt14px8FasgG23haeegpjw7ZmSJKlZ\nxjsO3ogBLTM3H+uBJ4Lp02GDDeDxxx3sWJIkdY7x3KIVsOOO3qaVJEmdxYA3Tj6HJ0mSOo0Bb5wM\neJIkqdMY8MZpp50cKkWSJHUWA944+QyeJEnqNAa8cfIWrSRJ6jQjjoPXS1oxDh7A4CBsuik88QRs\nsknTDy9Jkiag8Y6DZwveOE2aBPPnw333tbsmkiRJBQNeE/gcniRJ6iQGvCbwOTxJktRJDHhNYMCT\nJEmdxIDXBI6FJ0mSOokBrwl8Bk+SJHUSh0lpguefhxkz4NlnYfLklpxCkiRNIA6T0gE23hhe8QoY\nGGh3TSRJkgx4TWNHC0mS1CkMeE2y4452tJAkSZ3BgNcktuBJkqROYcBrEgOeJEnqFAa8JjHgSZKk\nTmHAaxKfwZMkSZ3CgNckM2fC4CD8/vftrokkSZroDHhNEuFtWkmS1BlaGvAiYmFELI2I2ytl/xgR\nt0XELRFxZUTMqaz7SkQsjohbI+LVlfITI+LuiLgrIk6olO8TEbeX677UymtphAFPkiR1gla34J0D\nHF5T9sXM/KPMfA3w/wOnA0TEUcBOmbkz8D7g7LJ8BvApYF9gf+D0iJhWHuss4D2ZuQuwS0TUnmu9\n8jk8SZLUCVoa8DLzOmB5TdkzlcVNgcFy/q3AeeU2vwSmRcRsioB4dWY+mZkrg
 KuBI8qWv80z84Zy\n//OAY1p2MQ2wBU+SJHWCtjyDFxH/X0Q8CLyTonUOYC7wUGWzgbKstnxJpXygzvZtY8CTJEmdoC0B\nLzM/mZnbAecDHyqLo2azALJOOesobxsDniRJ6gRT2nz+C4EfAQsoWuC2raybBzxclvfVlF87wvbD\nWrBgwR/m+/r66OvrG3bbsZg3D5YtgxdegI02auqhJUlSD+vv76e/v79px4vM1jZ6RcR84PLM3Ktc\nfmVm3lPOfwh4fWYeW3ay+EBmvjkiDgC+lJkHlJ0sbgL2oWhxvAl4bWauiIhfUrQA3kjRYeMrmXnl\nMPXIVl8rwM47w+WXw267tfxUkiSpR0UEmVnvbmVDWtqCFxEXULS+zSyfuTsdeHNE7AqsBh4A/gYg\nM6+IiKMi4h7gWeCksnx5RHyGItgl8OmyswXAqcC3gI2AK4YLd+vT0G1aA54kSWqXlrfgdYr11YL3\ngQ/ArrvChz/c8lNJkqQeNd4WPN9k0WSOhSdJktrNgNdk9qSVJEntZsBrMgOeJElqN5/Ba7JnnoGt\ntoJnn4VJxmdJkjQGPoPXYTbbDLbcEh54oN01kSRJE5UBrwUOOAB+8Yt210KSJE1UBrwWOOgg+NnP\n2l0LSZI0URnwWuCgg+C669pdC0mSNFHZyaIFVq2CGTPgwQeLT0mSpNGwk0UHmjIF9t8ffv7zdtdE\nkiRNRAa8Fnn9671NK0mS2sOA1yJ2tJAkSe3iM3gt8uyzMGsWPP44bLzxejutJEnqAT6D16E23RT2\n3BNuvLHdNZEkSRONAa+FHC5FkiS1gwGvhexoIUmS2sFn8Fpo2TLYZRd44gmYPHm9nlqSJHUxn8Hr\nYLNmwZw58JvftLsmkiRpIjHgtZjDpUiSpPXNgNdiPocnSZLWNwNeiw214E2QRx0lSVIHMOC12I47\nwuAg3H9/u2siSZImCgNei0V4m1aSJK1fBrz1wI4WkiRp
 fTLgrQe24EmSpPXJgY7Xg9WrYcst4Xe/\ng1e8oi1VkCRJXcSBjrvA5Mlw4IHw85+3uyaSJGkiMOCtJz6HJ0mS1hcD3npy2GHwgx84Hp4kSWo9\nA956su++sMEGtuJJkqTWM+CtJxFwyimwcGG7ayJJknqdvWjXo8ceg513hgcegGnT2loVSZLUwexF\n20W22goOOQQuvrjdNZEkSb2spQEvIhZGxNKIuL1S9sWIuDMibo2ISyNii8q60yJicbn+sEr5ERGx\nKCLujoiPV8rnR8T1EXFXRFwYEVNaeT3N4G1aSZLUaq1uwTsHOLym7Gpgz8x8NbAYOA0gIvYAjgV2\nB44EvhqFScCZ5XH2BI6PiN3KY30BOCMzdwVWAKe0+HrG7fDDYckS+M1v2l0TSZLUq1oa8DLzOmB5\nTdmPM3OwXLwemFfOvxW4KDNXZeb9FOFvv3JanJkPZOZK4CLg6HKfg4FLy/lzgbe16lqaZfJkOPFE\nW/EkSVLrtPsZvJOBK8r5ucBDlXVLyrLa8gFgbkTMBJZXwuIAsE1rq9scJ58M558PL73U7ppIkqRe\n1LaAFxH/AKzMzAuHiupslusor13XFV2Cd9oJ9twTfvjDdtdEkiT1orZ0SoiIE4GjKG6xDhkAtq0s\nzwMepghx29WWZ+bjETE9IiaVrXhD2w9rwYIFf5jv6+ujr69vHFcxPkOdLd7+9rZVQZIkdYj+/n76\n+/ubdryWj4MXEfOByzNzr3L5COAM4A2Z+URluz2A84H9KW7LXgPsTNHKeBdwCPAIcANwXGYuioiL\ngcsy8+KIOAu4LTPPHqYebR8Hr+q552DePLjtNth223VvL0mSJo6OHgcvIi4A/hvYJSIejIiTgH8D\nNgOuiYibI+KrAJl5B/Bd4A6K5/JOzcJq4IMUvW9/S9ERY1F5ik8AH42Iu4Etga7purDJJvAXfwHn\nntvumkiSpF7jmyza6Kab4Nhj4Z5
 7YFK7u7tIkqSO0dEteBrZa18LW2xhZwtJktRctuC12U9+Au9+\ndzHw8RZbrHNzSZI0AYy3Bc+A1wHe+16YOhW++tV210SSJHUCA16DOjngrVgBr3oVXHABvOEN7a6N\nJElqN5/B6wHTp8OZZ8J73gPPP9/u2kiSpG5nC14HOfbY4i0Xn/tcu2siSZLayVu0DeqGgLd0Key9\nN1x5JbzmNe2ujSRJahdv0faQ2bPhi1+Ek0+GlSvbXRtJktStDHgd5oQTYNYs+Od/bndNJElSt5rS\n7gpobRHwta/BgQfC7rvDMce0u0aSJKnbGPA60Pz58KMfwZFHwqabwqGHtrtGkiSpm3iLtkO99rVw\n2WXwzndXb0zOAAAQmElEQVTCdde1uzaSJKmbGPA62EEHFYMf/9mfwa9+1e7aSJKkbmHA63CHHgrf\n+Aa8+c3w29+2uzaSJKkb+AxeFzj6aHjmGTjsMLjmGthjj3bXSJIkdTJb8LrEX/5l8YaLN7wB/vVf\nYfXqdtdIkiR1Kt9k0WXuuQdOOqmYP+cceOUr21sfSZLUfL7JYoJ55Suhvx/+/M/hgAPgzDNhcLDd\ntZIkSZ3EFrwudtddRWveBhsUt28PPLDdNZIkSc1gC94Etuuu8LOfwXHHFdOf/EnRutdjOVaSJI2S\nLXg9YuVK+M534H/+T5g9Gz75STj88OLVZ5IkqbuMtwXPgNdjVq2CSy6Bz34WpkyB97+/6IG72Wbt\nrpkkSWqUAa9BEyXgDRkchB//GM46C3760+KVZ+9/P+y5Z7trJkmS1sWA16CJFvCqHnqoeBvGN79Z\n9MI9/ng45hjYeut210ySJNVjwGvQRA54Q1auhB/9CL73PbjiCth9d3jb24rJ8fQkSeocBrwGGfDW\n9tJLcO218P3vww9+ADNmwMEHw5veBG98I7ziFe2uoSRJE5cBr0EGvOENDsLNNxdDrFx7LVx3HWy/\nfRH2Dj20+N
 x003bXUpKkicOA1yADXuNWrYJf/aoIe1ddVcwfeCAceWQx7bKLw69IktRKBrwGGfDG\n7qmn4H//7+K5vf/8T5g6FQ45ZM0tXTtrSJLUXAa8BhnwmiMT7rgDfvKTooWvv78YWPlNb4L99y86\nbuy2G2yxRbtrKklS9zLgNciA1xqrV8NttxWB75ZbYNGi4h2506YVQW/33YtbukPT9tvD5MntrrUk\nSZ3NgNcgA976MzgIAwNw553FtHgx3H13MS1bBjvsUAzLstNOa0/bbw8bbtju2kuS1H4GvAYZ8DrD\n88/D735XhL7f/W7taWCgGK5l661fPm2zzZppzpziOUBJknpVRwe8iFgI/CmwNDP3LsveDiwAdgf2\nzcybK9ufBpwMrAI+kplXl+VHAF8CJgELM/MLZfl84CJgBnAz8FeZuWqYuhjwOtyqVUUL3yOPrD09\n/PDan8uWwfTpRdgbCn/Vz623LkLgnDmw0UbtvipJkkav0wPeQcAzwHmVgLcrMAh8DfgfQwEvInYH\nLgD2BeYBPwZ2BgK4GzgEeBi4ETguMxdFxMXA9zLzkog4C7g1M782TF0MeD1i9eq1g2BtAHz00eJz\n6VLYZJMi6M2aVQzePHNmMQ3Nb7EFbL752tNQmc8KSpLaZbwBb0ozK1MrM6+LiO1ryu4CiHjZSGpH\nAxeVLXD3R8RiYD+KgLc4Mx8o97uo3HYRcDBwfLn/uRQtg3UDnnrH5MlrWupGkgnLl69p9XviCXj8\n8eJzYKDoHPL002tPzzxTDAvzzDPF4M7TphWthdOnF4Fw1qz60+zZsOWWMGnS+vkbSJI0kpYGvFGa\nC/yisrykLAvgoUr5ALBfRMwElmfmYKV8m/VRUXWHiCJ0bbkl7Lnn6PYdHCwC34oV8OSTRVB84oki\nKC5bVvQU/tnPilbCZcuKz6efLloGZ89e02K41VZrPmfOhM02K4Lj0LTJJsW08cbFZECUJDV
 DJwW8\nes2QSfHcXb3yqLOP92DVFJMmFa1306Y1vs9LL8FjjxVh77HHitbCoc9bbikC4jPPwLPPrj099xy8\n8EIxTZ1aBL2NNloT/qrTxhvXXx7aZ+hzaH7DDetPG2xQTFOnrpk3XEpS7+ikgDcAbFtZnkfxzF0A\n29WWZ+bjETE9IiaVrXhD2w9rwYIFf5jv6+ujr6+vOTWXKELS3LnFNBaZRUh8/vk103PPrT09++ya\n8ur65cuL5RdeWPvzxRfXnl54oTjHypXF59D8iy8WLZ6TJ8OUKS//rFc2efLa05QpRWAc+hya33DD\nInAOfVYDaDWg1gbY6nw1sPqaPEm9qL+/n/7+/qYdr+XDpJQ9XS/PzL1qyq+l6GTxq3J5D+B8YH+K\nW7PXUHSymATcRdHJ4hHgBtbuZHFZZl5cdrK4LTPPHqYedrKQRjA4WPRkXr16zefKlcVntaz2s7p+\n1apin5Ur18y/9NKaFsqhkFkbYqthtV64re5fDYzVoFmdjyhaJBudarefPPnl89WwOzQNtYBW61Tb\nSlptLa3WceiYtcuj+WzkWoa2NxhL3aXTe9FeAPQBM4GlwOnAcuDfgFcAKyh6vh5Zbn8acAqwkpcP\nk/Jl1gyT8vmyfAfWDJNyC/CuzFw5TF0MeFKXGxxcExJffPHlQXPVqmKbwcGiRXRofvXqtZeHK8ss\nyqvbDM1Xg21tgK22kA59DgXdoZbSl15au65Dx6/OD/dZW1Y71V7L0HVUrwfWhL2hFtbqtPHG9XuU\nb7MNzJtXtEzPm1dMm2/e3v8dSBNBRwe8TmLAkzSRDYW9oZbZ2um5517eq/zJJ4te6AMDsGRJ8Tkw\nUITEoccRttlmzeemm67dernhhkV4rNc6Wm0RHWrdHGmqtnRKE4EBr0EGPEkav8wi+C1Zsvb08MPF\nrfWhFs1qy+VQ62JtS+RQS2j19n71dn+1tXQonMLwz4TWeza0ejs7ov
 4Ea39Wb2fXztduN3RLvPaz\n9jZ87S354dbX3lavdwu+9vzDXUe9z0bm1/V3Ge7vONL62r9/7d9suEcLqvPDfbfrenRhuO+okfrV\nWx7pf0vV9bV/39Ey4DXIgCdJ3W8oIA73TGjts6HVQJn58gnW/qz+30TtfL3tqo8D1HsMoPZW+7pu\n0VfLh85TLa+ef6TrqPfZyPy6/i71zt3o+up3UG+++lnv7zHc37D2s/Z7qD66UO989eo0Un3rLdeu\nq1UvxFaX63Vae+ghA15DDHiSJGl9Gi4A1j4vW2/afvsOfpOFJEnSRFV7y3998nFVSZKkHmPAkyRJ\n6jEGPEmSpB5jwJMkSeoxBjxJkqQeY8CTJEnqMQY8SZKkHmPAkyRJ6jEGPEmSpB5jwJMkSeoxBjxJ\nkqQeY8CTJEnqMQY8SZKkHmPAkyRJ6jEGPEmSpB5jwJMkSeoxBjxJkqQeY8CTJEnqMQY8SZKkHmPA\nkyRJ6jEGPEmSpB5jwJMkSeoxBjxJkqQeY8CTJEnqMQY8SZKkHmPAkyRJ6jEGPEmSpB5jwJMkSeox\nBjxJkqQe09KAFxELI2JpRNxeKZsREVdHxF0RcVVETKus+0pELI6IWyPi1ZXyEyPi7nKfEyrl+0TE\n7eW6L7XyWiRJkrpFq1vwzgEOryn7BPDjzNwV+AlwGkBEHAnslJk7A+8Dzi7LZwCfAvYF9gdOr4TC\ns4D3ZOYuwC4RUXsu9YD+/v52V0Hj4PfX3fz+upff3cTW0oCXmdcBy2uKjwbOLefPLZeHys8r9/sl\nMC0iZlMExKsz88nMXAFcDRwREXOAzTPzhnL/84BjWnYxahv/kepufn/dze+ve/ndTWzteAZvVmYu\nBcjMR4FZZflc4KHKdgNlWW35kkr5QJ3tJUmSJrRO6mQRdZazTjnrKJckSZrQIrO1mSgitgcuz8y9\ny+U7gb7MXFreZr02M3ePiLPL+YvL7RYBbwTeV
 G7/N2X52cC1wE+H9i3LjwPemJnvH6Yehj9JktQ1\nMrNeY1ZDpjSzIsMI1m5t+yHwbuAL5ecPKuUfAC6OiAOAFWUIvAr4bNmxYhJwKPCJzFwREU9FxH7A\njcAJwFeGq8R4/kiSJEndpKUBLyIuAPqAmRHxIHA68Hngkog4GXgQeAdAZl4REUdFxD3As8BJZfny\niPgMcBPFLdhPl50tAE4FvgVsBFyRmVe28nokSZK6Qctv0UqSJGn96qROFi0REUdExKJyMOSPt7s+\nGllEzIuIn0TEHRHx64j4cFk+7ADZ6iwRMSkibo6IH5bL8yPi+vK7uzAi1sejIRqDiJgWEZdExJ0R\n8duI2N/fXneIiL+LiN+Ug/+fHxEb+NvrXM16EcRIejrgRcQk4EyKsfT2BI6PiN3aWyutwyrgo5m5\nB3Ag8IHyO6s7QLY60keAOyrLXwDOKL+7FcApbamVGvFlisdddgf+CFiEv72OFxHbAB8C9ik7NE4B\njsffXicb94sg1qWnAx6wH7A4Mx/IzJXARawZWFkdKDMfzcxby/lngDuBebx8gGwHte5AETEPOAr4\nZqX4YODScv5c4G3ru15at4jYHHh9Zp4DkJmrMvNJ/O11i8nApmUr3cbAwxSjUPjb60BNehHEiHo9\n4A03eLK6QETMB14NXA/Mrhkge6v21Uwj+FfgY5RjUkbETGB5Zg6W6weAbdpUN41sR+DxiDinvMX+\n9YjYBH97HS8zHwbOoOi4uAR4EriZYjQKf3vdo9EXQQy98GFEvR7wHAy5S0XEZsD3gI+ULXl+bx0u\nIt4MLC1bYId+e7XDJIHfZaeaAuwD/Htm7kMxmsEn8PvqeBExnaKVZ3uKELcpcGSdTf0uu9OYskyv\nB7wBYLvK8jyKZmt1sPIWw/eAb2fm0DiJS4eapMsBspe1q34a1uuAt0bEvcCFFLdmv0RxO2Ho3xp/\ng51rAHgoM28qly+lCHz+
 9jrfnwD3ZubvM3M18H3gj4Hp/va6ynC/tQFg28p2DX2XvR7wbgReGRHb\nR8QGwHEUAyqrs/0HcEdmfrlSNjRANsCJrBkgWx0iM/8+M7fLzB0pfms/ycx3Ubx55h3lZn53Haq8\nNfRQROxSFh0C/BZ/e93gQeCAiNgoIoI1352/vc423Isg4OUvgjgBoPoiiHUevNfHwYuIIyh6hk0C\nFmbm59tcJY0gIl4H/Bfwa4om6AT+HrgB+C7Ff8U8CLyjMuC1OkxEvBH4vzPzrRGxA0UHpxnALcC7\nyk5P6jAR8UcUHWSmAvdSDDg/GX97HS8iTqf4D6uVFL+z91C09Pjb60DVF0EASyleBPG/gEuo81uL\niDOBIyhfBJGZN6/zHL0e8CRJkiaaXr9FK0mSNOEY8CRJknqMAU+SJKnHGPAkSZJ6jAFPkiSpxxjw\nJEmSeowBT9KEEhFPl5/bR8TxTT72aTXL1zXz+JLUKAOepIlmaPDPHYB3jmbHymufhvP3a50o86DR\nHF+SmsWAJ2mi+hxwUETcHBEfiYhJEfHFiPhlRNwaEe+F4q0cEfFfEfED4I6y7PsRcWNE/Doi3lOW\nfQ7YuDzet8uyp4dOFhH/VG5/W0QcWzn2tRFxSUTcObSfJI3XlHZXQJLa5BOUr1MDKAPdiszcv3x3\n9c8j4upy29cAe2bmg+XySZm5IiI2Am6MiEsz87SI+EBm7lM5R5bH/nNg78zcKyJmlfv8tNzm1cAe\nwKPlOf84M/+7lRcuqffZgidJhcOAEyLiFuCXwJbAzuW6GyrhDuBvI+JW4HqK933uzMheB1wIkJnL\ngH5g38qxH8nivZG3AvPHfymSJjpb8CSpEMCHMvOatQoj3kjxgu/q8sHA/pn5YkRcC2xUOcZwxx5u\n+cXK/Gr8d1lSE9iCJ2miGQpXTwObV8qvAk6NiCkAEbFzRGxSZ/9pwPIy3O0GHFBZ99LQ/jXn+i/g\nL8r
 n/LYCXg/c0IRrkaS6/C9FSRPNUC/a24HV5S3Zb2XmlyNiPnBzRASwDDimzv5XAn8TEb8F7gJ+\nUVn3deD2iPhVZv7V0Lky8/sRcQBwGzAIfCwzl0XE7sPUTZLGJYrHPiRJktQrvEUrSZLUYwx4kiRJ\nPcaAJ0mS1GMMeJIkST3GgCdJktRjDHiSJEk9xoAnSZLUYwx4kiRJPeb/AMtx625KlXCeAAAAAElF\nTkSuQmCC\n",
       "text/plain": [
-       "<matplotlib.figure.Figure at 0x107bc1ef0>"
+       "<matplotlib.figure.Figure at 0x10b9beeb8>"
       ]
      },
      "metadata": {},
@@ -202,7 +200,7 @@
    ],
    "source": [
     "# Plot training loss over time\n",
-    "xy = losses.toDF().sort(\"ID\").map(lambda r: (r[0], r[1])).collect()\n",
+    "xy = losses.toDF().sort(\"__INDEX\").map(lambda r: (r[0], r[1])).collect()\n",
     "x, y = zip(*xy)\n",
     "plt.plot(x, y)\n",
     "plt.xlabel('Iteration')\n",