diff --git "a/__marimo__/session/a.py.json" "b/__marimo__/session/a.py.json" --- "a/__marimo__/session/a.py.json" +++ "b/__marimo__/session/a.py.json" @@ -7,12 +7,12 @@ "cells": [ { "id": "Hbol", - "code_hash": "e68d0f9bfeb37dc8982263a48f46efd6", + "code_hash": "4de3ab86ee417aee23a92bb6071adef8", "outputs": [ { "type": "data", "data": { - "text/plain": "" + "application/vnd.marimo+mimebundle": "{\"image/png\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgQAAAIQCAYAAAD+RXYbAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjksIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvJkbTWQAAAAlwSFlzAAAPYQAAD2EBqD+naQAAPElJREFUeJzt3QmcU9Xd//HfsMzAsCqLLIKAIBQtiAuIdQEFRBFFrfURURTcqCC4VdEWQYtoq9YFRaqyKAqoj2gFFZEHGBeQxWqpC3UtWkAE2ccZBsj/9T30zj8TMkMyzE1uks/79YrjZEJyc3KXb373nHOzQqFQyAAAQEarlOwFAAAAyUcgAAAABAIAAEAgAAAABAIAAEAgAAAADp0KAQAAgQAAABAIAAAAgaB03377rWVlZdmUKVNYURLkzTfftKOPPtqqVavm2n7z5s1p0/Z6P6NHj072YgReixYt7PLLL0/2YgSC9j1ab7Qv8nTr1s3dKhLrJjK6D4G3oS1fvtzSNcjEcgvf0STbxo0b7Te/+Y1Vr17dHnvsMXv22WetRo0alkpef/31lDno66CidaBNmzZR/z5v3rzi9eSll16K+/k//fRT1xZBWcc+++wz914UNtMpaCbKmjVr3Of50UcfVdhzXn/99e4z+fLLL0t9zB133OEe849//MMq0uOPP86XvSiqRLsTZocddpj9/PPPVrVq1ZRqjgYNGriDabgHHnjAvv/+e/vLX/6yz2ODYtmyZbZt2za7++67rUePHpaKFAgUZqKFAq1LVaoEa3PTwVE746VLl1rnzp1L/O25555zfy8oKCjXcysQjBkzxgUPfeuP1apVq6xSpYr/njJt2jRr1KiRbdq0yQWcK6+80lLRW2+9lbRAoM9Tn6WqeBXhkksusUcffdSef/55GzVqVNTHTJ8+3X75y19ahw4drKIDQf369alGRQjWHipAvG8TQZafn2+5ubkl7tO36gEDBpS4b8aMGW5HGHl/OF3jSjt/fUNPhvXr17ufdevWrbDn3LFjR2CqDEFclw4//HDbtWuX2+mGBwKtB7NmzbI+ffrY//7v//q+HOHrXk5Oji/Pr4NO//797ZtvvnFhJ1UDQXZ2tqWLLl26WOvWrd36Fy0QLF682H1e9957r6WCgoIC9/n4EWgTJXWXPAl9CHRus2bNmvaf//zH+vXr5/5f37Jvvvlm2717d4l/v2fPHnvooYfsyCOPdAeDQw45xK655hp3YA736quvuh1vkyZN3M5QO2l9S458Pn3TOuqoo2zFihV2yimnuCBw++23l/v9KemfffbZNnfuXDvuuOPcznjixInub5MnT7bTTjvNGjZs6Japffv2NmHChFKf491333UHFL3PVq1a2TPPPFPicUVFRe7bhcrTeky9evXspJNOcmVp770NHDjQ/f/xxx/v2j38PPKLL75oxx57rFtGpXoFG30G4bzP5quvvrKzzjrLatWq5b6BiJ5v6NCh7nn0XvQ8Xbt2tZUrV7q/631rx6Rl07JElrnfeecdu/DCC6158+auPZo1a2Y33HCD+9Yf/vqqDniv593KOk/797//3c4880yrXbu2W/bTTz/dlixZEvX01nvvvWc33nijW98Ucs477zz78ccfSzx2y5Yt9vnnn7ufsbr44ott5syZbn31vPbaay5s6hROpH//+9/229/+1tq2bevaUZ+l2ia8zbTMuk+6d+9e3BYLFy7c77oX3odAB3L9e71nLzDKzp073bdGbSsKffujttPy/c///I+75eXluYpZLFSq1vJovdb6oSrDoEGD3CmucPps9R7V/mo3faZqm+HDh+9TZfHWRwUTtaOeV+u3lmt/ovUhKCwstDvvvNOtw976+bvf/c7dH/k4rbdqT20f55xzTkztoM9N26VcccUVxZ9n+L4xlm00Gm2jarMPP/xwn78pxOl1tI7G8z69ipD2SdpPHnTQQW6f6VVXtI598skntmjRouL3Et6mX3/9tVt/Dz74YPfvTzjhBJszZ84+baJ/py9bv//9761p06busVu3bo36PrXcCgrz588vcf/VV1/tQsTHH39sgRDKQJMnT9Yln0PLli0r9THffPONe4we6xk4cGCoWrVqoSOPPDI0aNCg0IQJE0IXXHCBe9zjjz9e4t9feeWVoSpVqoSuuuqq0BNPPBG69dZbQzVq1Agdf/zxoZ07dxY/rl+/fqHf/OY3oT//+c/u+S688EL3fDfffHOJ5zv11FNDjRo1CjVo0CA0bNiw0MSJE0OvvPJKTO+3T58+ocMOO6zEffq9devWoYMOOih02223uWVcsGCB+5uW8fLLLw/95S9/CT366KOhXr16uWUaP378Ps/Rtm3b0CGHHBK6/fbb3d+POeaYUFZWVuif//xn8eP0N92ntnjyySdDDzzwQOjiiy8O3Xvvve7vb731Vujqq692r3HXXXeFnn322dD7779f4rPSMml5tKzVq1cPtWjRIrRp06YSn01OTk7o8MMPd/+v9/PMM8+4v+nfd+jQIdSsWTP3mrrVqVMn1Lx5c7fM7du3d8v0+9//PpSdnR3q3r17ifep9j7rrLNC99xzj2v3wYMHhypXrhz69a9/XfwYLW/Pnj3da2n5vZtH9995553Fv6t9tD40btw4dPfdd7tlatmypXsPS5YsKX6c9/47deoUOu2009zncdNNN7nX13oTznts+DpbGq1PWo//9a9/uX8zf/78EuvkGWec4dYH/e3FF18s/pv+v2PHjqFRo0aF/vrXv7rPVuuQ1oUdO3a4x3z11Veh66+/3v1b/d1ri3Xr1u133dPf9Pl5vv7661DNmjVD5513XvF9+jdanxYtWhSKxbXXXuvWC8nPz3fP96c//Smmf3v//feHTj75ZLde6v0OHz7crX+dO3cO7dmzp/hx+mz1fn/5y1+G+vbt69arAQMGuPsuvfTSEs+p+4466qhQ/fr13fPed9997n3reVeuXLnP56l9Ufjnpptn9+7dbvvMzc0NjRgxwq2fQ4cOdfuec889t8TresvTv39/t3znn3++2y4i181I+ty0nHqctlPv89TnHM82Go23/mmdDrdr165Qw4YNQ6ecckrc73P06NHuOU888US3X3344Yfde9Y+WGbNmhU69NBDQ+3atSt+L9oHee9V+7NatWqF7rjjjtCDDz7o1vdKlSqFXn755ZDH2za07zj66KPd48aNG1e8DUTSPl/bsD7nrVu3uvvefPNN9xza/oOCQBBnIPAOWuH0QR977LHFv7/zzjvucc8991yJx3krQPj92kFFuuaaa9yKX1BQUHyfdgL6t9p5xqu0QKDn0zJFirZMOkC0atUq6nPk5eUV37d+/Xp3UAvfwLVBaRniDWnaiLRT0M7z559/Lr5/9uzZ7rE6KEV+NtoZRdL9WqbwHat2KLpfIcvbQGXkyJH77ISjtYc2fh2U/v3vfxffd91117l/G03kTlcHXYUPb6cqa9ascTsibycY3i49evQocQC64YYbXCjYvHnzAQUCOe6441zIEe3AtVxTp06NGgiitcXixYvd47wAJvo3us870Me67kUGgvDPatq0aS4s6X3roBALrUP16tVzO3eP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ww03uNEGJ510km3ZssXee+89q127tg0cONBSEcMOAQCI0913321/+MMf3GiDX/ziF9a7d293CkH9B15++WVr3bq1e5x+vvjii5YKqBAAAAJF0whr5sBEz1RYv358FxgaPny4u0Vz/vnnW6ohEAAAAkXTB2saYa5lkFgEAgBAIENBJl9XIBnoQwAAAAgEAACAQAAAAAgEAACAQAAAABw6FQIAAAIBAABgHgIAQACt3rLaNuRvSNjr1c+tb83rZPbEB0xMBAAIXBhoO76tFexK3NzF1apUs1VDV2V0KKAPAQAgUFQZSGQYkIJdBQmtSAQRgQAAgDjpsse60qGubli9enXr2LGjvfTSS5bKOGUAAECcFAamTZtmTzzxhLVp08by8vJswIAB1qBBA3vuuefsk08+sW3bttmIESNs0KBBlgoIBAAAxKGwsNDuuecee/vtt61r167uvlatWtm7775rEydOtLFjx7rKwcaNG+3www+3iy++2FURgo5AAABAHL788kvLz8+3nj17lrh/586d1qlTJxcGpFKlvWflQ6GQpQICAQAAcdi+fbv7OWfOHGvatGmJv+Xk5BT//2233WaDBw+23NxcSwUEAgAA4tC+fXt34F+9erWdeuqpUR8zffp0++CDD2zx4sWWKggEAADEoVatWnbzzTfbDTfc4EYbnHTSSbZlyxZ77733rHbt2tauXTsbNWqULViwICX6DngIBAAAxOnuu+92Iwo02uDrr7+2unXr2jHHHGO33367XXnlle4xGnUgkydPLu5XEGQEAgBAoGgaYc0cmOiZCuvn1o/58VlZWTZ8+HB3i7Ry5UpLRQQCAECgaPpgTSPMtQwSi0AAAAhkKMjk6wokA1MXAwAAAgEAACAQAAAAAgEAACAQAAAAh06FAACAQAAAAJiHAAAQRKtXm23YkLjXq1/frHlmz3vAxEQAgOCFgbZtzQoSN3WxVatmtmpV3KFAVzPUxY169+7tLoecyuhDAAAIFlUGEhkGpKCgXBWJp59+2oYNG2Z5eXm2Zs0aS2UEAgAAymH79u02c+ZMGzJkiPXp08emTJlS5uMLCwvdZZObNm1qNWrUsC5dutjChQstKAgEAACUwwsvvGDt2rWztm3buksdT5o0yUKhUKmPHzp0qDvFMGPGDPvHP/5hF154oTvV8MUXX7i/61LKjRo1shYtWlgyEAgA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\", \"__metadata__\": {\"image/png\": {\"width\": 516, \"height\": 528}}}" } } ], @@ -20,12 +20,12 @@ }, { "id": "MJUe", - "code_hash": "f7841b59ed8b1d4e950e92591fd64cf4", + "code_hash": "8322b0c7aaa842391144fc9c12faf32e", "outputs": [ { "type": "data", "data": { - "text/markdown": "

Eigenvalues and Eigenvectors: An Interactive Guide

\nIn this interactive guide, we'll explore eigenvalues and eigenvectors, fundamental concepts in linear algebra with wide-ranging applications.\n

What Are Eigenvalues and Eigenvectors?

\nFor a square matrix $ A $, an eigenvector $ v $ is a non-zero vector that, when multiplied by $ A $, results in a scalar multiple of itself:\n||[ A v = \\lambda v ||]where $ \\lambda $ is the corresponding eigenvalue. This means that the direction of the eigenvector remains unchanged under the transformation defined by $ A $, only its magnitude is scaled by $ \\lambda $.
" + "text/markdown": "

Understanding Linear Transformations Through Matrices

\nConsider a 2\u00d72 matrix ||(A||):\n||[A = \begin{bmatrix} 2 & 1 \\ 1 & 2 \\end{bmatrix}||]This matrix transforms the standard basis vectors:\n\nThe columns of ||(A||) represent where the basis vectors land after transformation.\nLet's see how this applies to a specific vector ||(x||):\n||[x = \begin{bmatrix} 1 \\ 0 \\end{bmatrix}||]Applying our transformation:\n||[Ax = \begin{bmatrix} 2 & 1 \\ 1 & 2 \\end{bmatrix} \begin{bmatrix} 1 \\ 0 \\end{bmatrix} = \begin{bmatrix} 2 \\ 1 \\end{bmatrix}||]
" } } ], @@ -33,45 +33,52 @@ }, { "id": "vblA", - "code_hash": "185a12a80c0ed6792c68ae3a1cf8ddda", + "code_hash": "80cfde1afbe2aff8909f846263aef8ae", "outputs": [ { - "type": "error", - "ename": "exception", - "evalue": "name 'amatrix' is not defined", - "traceback": null + "type": "data", + "data": { + "text/plain": "" + } } ], "console": [ { "type": "stream", - "name": "stderr", - "text": "
Traceback (most recent call last):\n  File "/var/folders/44/xrn2r2n539lcfpfq4mb99p48hlq2mb/T/marimo_98690/__marimo__cell_vblA_.py", line 9, in <module>\n    $$ A = \\begin{amatrix} 4 & 1 \\\\ 6 & 3 \\end{bmatrix} $$\n                  ^^^^^^^\nNameError: name 'amatrix' is not defined\n
\n
", - "mimetype": "application/vnd.marimo+traceback" + "name": "stdout", + "text": "Original vector: [1 1]\nA(x): [3 3]\nB(A(x)): [3 9]\n(BA)(x): [3 9]\nAre they equal? True\n", + "mimetype": "text/plain" } ] }, { "id": "bkHC", - "code_hash": "36a4f0c65a9521a0e4a12ab23e18bcb4", + "code_hash": "1a5b5ebd430135bb72ec3679e4657802", "outputs": [ { "type": "data", "data": { - "text/html": "" + "text/plain": "" } } ], - "console": [] + "console": [ + { + "type": "stream", + "name": "stdout", + "text": "Matrix A: [[2 1]\n [1 2]]\nDeterminant of A: 2.9999999999999996\n", + "mimetype": "text/plain" + } + ] }, { "id": "lEQa", - "code_hash": "3146055003496935c5fc2f89c7047d0f", + "code_hash": "5d75f5daca220d202aa977523901ae91", "outputs": [ { "type": "data", "data": { - "text/markdown": "

Application: Principal Component Analysis (PCA)

\nPCA relies heavily on eigenvectors and eigenvalues of the covariance matrix to identify the principal components \u2014 directions of maximum variance in the data.\nIn data analysis:\n\nBy projecting data onto the principal components, we can perform dimensionality reduction while retaining most of the information.
" + "application/vnd.marimo+mimebundle": "{\"image/png\": \"data:image/png;base64,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tmyZtGzZ0syrtpGOB9HvVpcHdeyxxxbY9toPNBzpyl4/80cffSRjx46VL7/8UqZNmxYzrX5+nU77V58+feTZZ581baA/NvrDXxANDueee675EdLn6rzqj5z+sGp/Hj9+fMz0Glz0e9Hl4qCDDpJ///vfcsEFF8iGDRvM+qMgybSR0zQ86OufcMIJ5sdUd0doINT1iX4Piej3ouHy5ZdfNp/d3h1c0LpCg4GGYB1Toct59PIUT5fV008/3bTVP//5T9N3dbmeN29esT9jqu36XILlP9l1kefpmAqUreeee043PRLeKlSoEDNt/fr1re7du+/3GjrttddeG/PY6NGjrQMOOMD66quvYh6//fbbrYyMDGvDhg3m/rx588zz//nPf+73uvn5+ZH/62v16dMnqc/00EMPmdd88cUXI4/t3r3bateunXXggQda27dvL/IzJZLMtDqPOp1t3bp1Zl4OO+ww6+eff448/sYbb5jH33rrrchjp59+utW8eXPrt99+i2mD9u3bW0cddVTkMf37vn37Yt5X30e/r1GjRkUee//99817NGzY0MrNzbVS8fHHH5vn6vIRv6ycfPLJ1t69e2OmT/T6S5YsMdM///zz+71G586dY77fG2+80SwXW7duNfenTZtmptP5SPU7Sfb7t7+bKlWqWJs3b455jeHDh5u/XX311ZHH9DPXrVvXSktLs+65557I47/88otVqVKlmOVTp83Ly4t5TZ2uRo0aVt++fSOP/fTTT+Z99P3i2fNg+/TTT839/v37x0x38803m8e1L0W3iz62cOHCyGP6GXUZuemmmwppUcuaPn26ee5dd90V8/iFF15oPvvatWsjj+l05cuXj3nss88+M48//PDDhb5Psm1UnP6YaPnV70cfi+4jqlWrVtZxxx0X81j8d3L//febx3SZScawYcPM9LreOvPMM60xY8ZYK1as2G86e1mdMmVK5LFdu3ZZjRo1Mo9rH47+vInWgR06dDC3VNt1XSHLf7LrIq9j94eLdPfF3LlzY24zZ84s9uvplqGW3HRrVCsg9k0HdOrWwsKFC810mnp1y123WOMV93C6GTNmmJK0JnWbVgN0S0APQdTyfVnTLV5tC5s9+FGrDvYuDd060dHhumVht9f//d//mS2Mr7/+2mwlKt2asMdEaFvqNFrK1RL1ypUr93tv3UrVLSen6NZPRkZGzGPRr6+DVXWedHeXVhgSzZNuFUV/v9oe+ll0N4qyx+joIDx9vdL8/nWruqCtTq0M2PQza+VMf3N0C96m86ptb3+X9rR2RUh37+n3qxU4fX6i9kj2cyndbRTNrtJoJSWajjWJHmSrnzF+Pgt6H51/ba/499HPHr9e0D4dXTnUSovuFirqfUqjjZJxzTXXxNzXNipqXlOlu7O0OqnVXK3y3HnnnaZC1Lp1a1NVim7rWrVqmYqSTat6dkW2OFJt1wvilv9U1kVex+4PF+muhaIGaqZCF7zPP/+8wJW1PVhJjzjQkl9hJcJU6Q/TUUcdtd9gRC1j238va7r7J5odMH755ZdIqVpX2LrPXm8FtZmWI+0xKI899pgZUxC9PzhRuTnRUT0lkej1tIyrZXgtpeoKJ3rfu+5aS7U9dFeOrux05awlZ92doaXXSy65pMgja1L9/gtrn/j51H3Uun/ZLoFHP64r3Wi6m0JL67pvOjoYFff70PnWz6RhLZoGKA028Z8rft7tdrbbuLD30T6puzKSab/ivk9ptFFRGyb2mK3izGuqNNTqTXdH6G4q3cWrQeOcc86R7OxsMy/alvp9xs+nhr+SSKVdG8Q9lsq6yOsIFQGiP3w6zuLWW29N+Pe//vWvEibxW/Y2+8fXHryq++Z1ayAR+8dEz82gnV0HLep4CQ1k+mOjg2LjB8EqJ6sUBb2e7jvWQKHzoEeM6I+srih1jEWieSqqPfS5r776qhlXo/umdWtPP6+uKPUxrcyU5ucpbD6Lmnelh1fr+AUNQjoWQfez6/M0eEUfulscyVbwkplPJxT3fUraRvqjrGE2ER3TZU+TzLyWJq3a6LpQb1ox0x98DRkanJ343nWjIvpzpdquleKW/1TWRV5HqAgQLYdqqVlLo0VNpz8YWnIrrFqRyq6Q+vXrmyqJdo7orVVN7fbfvUZH5itd6RTVZvpj26lTJzP4KpoOQozfgi4rOk+6myX6KAgd/JXKyYIKOg+F3saMGWO28i699FJzNEv0bgkvfv/aHvqd6gDG6GU3fjdfqsu1fiatAtpVA6UDdbWdnfpc+jo6gFFL39HVCqfbL9k2Kmw+7SMV4q1Zs8bReXXqzKZaDdZQoYPV7fnTqoUGsOj3sOc/vqKSqD9ptcNefzjRrg1TWBd5HWMqAkT3x+kJlTQwxNOOofv4lJa4tUNpmbuwLR0dfZzsD9RZZ50lmzZtihxJoPT9Hn74YbOFm+oWQlnQrQkt8etRBfYKJ1r04Za61RG/FahjWNzcz5lonrS94w/VS5aWo+Nfzx61Hn/4pBe/f3vLMfoz6Nap9olo9lExySzb+rlU/GnwH3zwQfNv9+7dHZjz399Hv7dHHnkk5nHdDaU/UnqUVlm2UWHzqYdjxp9pV5cPPfpB+5SOYXCCfS6WZL4nrZIU9Bns8Sj27g39DD/++KMJAtHP18PPE22AaZVODxm16ZgjPbzZyXatnsK6yOuoVLhIF3Z7SyRa+/btY1JwsrTspsc067Hy9mFsevhhVlaW6UB6eKBuVesWtx6Sqoeh6RaYnp9Ct8b0kFL9mx4SqPT5uvWkK1Dd36v7AfWwsER0kJN2CH3fFStWmOO79T313Ai6Qo7fV5wK3d+ohxXG0wFZJV2p62DZk08+2Zx/QgdDarvrVqiuDHTlaZ+HQttUz4CqZ0LV70fbVA9rLM735BSdJz0UTnd76ABBnWf9vgo7pLAwujWnY0b00DVdmepW81NPPWVKyfaPa0FK8/tPpT10S1HnX5cLHfsyceJE0zZawYsuPetjGoB0l6BW6/R8D3qLp+fa0GqQ/uDoj5uGIz1EUNtKS93aX5yg+/z1tXRwofZTfV89idMbb7xhdm8Vdjh3abRRYd+zHiarh1brrjHtgzquRdtSt/71nBxOncRJ1z9K20R36elWvLZTohO/aSjQfqkVNl2f6bk+9PvS8KPrNf2udF6V9nMNb3o4vi6rOmhT+1H8IdhKq3O6HOtr6kab7srQXR3x30dJ2zWVdZHnuX34SRgVdkhp/CFZqRxSqnbs2GENGTLEHB6lh51Vq1bNHJI0btw4c4hf9CFQesjW0UcfbaY7/PDDzWFY0YdgrV692jr11FPNoXv6fkUdXpqTk2NdeeWV5j31NfXwqOjPUtRnSsQ+TC/RrV+/foUeUqqfL1G7xR9K+M0331i9e/e2atasaWVmZlp16tSxzj77bOvVV1+NTKOHeelhgbVq1TLtcdJJJ5nDN+MPLbMPKZ06daqVqsIOKU10mKcesma3tx622a1bN/OdxR8GV9Br2PNqH0K3cuVKq1evXtYRRxxhDoOsXr26aYfly5cn9f0l8/0X9t3Yh3PqIZ/R9LPoYYLxtN2bNm0ac/jd3XffbeZP518PW3z77bf3Wz7U4sWLzSGNOp/Ry0T8IaVqz5491siRI60GDRqY5aNevXqmj0Uf+ldYu8QvIwXRvquH+dauXdu8jx5GqO0UfRhwYX2/oMMfo6XSRgXR5U7n024PPTyyU6dO1syZM/ebtqDvLlE7J+qbepi89sf09PRCDy/V7+ipp56yevToEflslStXNp9P2zD+cM/169db5557rplGl9frr7/emjVr1n6HlKoHHnjAzIO+pvZ77Q/x32my7bqukOU/2XWR13HtDwBA6OmZNLVapCcgiz5bJlLDmAoAAOAIQgUAAHAEoQIAADiCMRUAAMARVCoAAIAjCBUAAMARoTv5lZ7kSc+mpifjceo0sAAABJWeRkRPhqcnQYy/aKCEPVRooNCzrQEAgOTp6cnr1q1b6DShCxX26YK1cfT0w07Qy9zqKXW7du1qTiUL2oXlhX7kFNYvtIvby4teSl43xpM53X7oQoW9y0MDhZOhQs8br69HqKBdWF7oR05i/UK7eGV5SWbIAAM1AQCAIwgVAADAEYQKAADgiNCNqUj28Jm9e/fKvn37kt6HVa5cOfntt9+Sfk4Y0C7eb5eMjAwzLxxeDcAJhIo4u3fvlo0bN0pubm5KIaRmzZrmiBJWzrSL35YXHdRVq1YtKV++vNuzAsDnCBVxJ8Zat26d2XrTk3zoSjaZlb4+b+fOnXLggQcWeWKQMKFdvN0uGm40RP/0009muT/qqKNYfgGUCKEiiq5gdYWvx+Pq1luy9Dn63IoVK7JSpl18tbxUqlTJHHa2fv36yDwBQHGxWZ2oUag2IERY3gE4hVABAAAcQagAAACOIFTA+N///mcGpX766adJt8ikSZPk4IMPdn0+AADeQKgIED1EsW/fvpEjV+rXry/XX3+9/N///V+Rz9XBqXoobbNmzZJ+v4svvli++uorKWt6pMIll1xiPqcOLNSr5p133nmyevXqMp8XAMCfCBUB8e2330qbNm3k66+/lpdfflnWrl0rEydOlPfee0/atWsnP//8c4HP1VH/ehitnjtBT4SUypED1atXl7I+cVSXLl1k27Zt8vrrr8uaNWtk8uTJ0rx5c9m6dau4TdsSAMKKUBEQ1157ralO6CVvO3ToIEcccYSceeaZ8u6778oPP/wgd955Z2TaI488UkaPHi29e/c2V7K7+uqrE+52ePPNN825C7Qa0KlTJ/nPf/5jprF/vON3f4wYMUJatmwpL7zwgnmPQw45xFROduzYEZlm1qxZcvLJJ5vnHXbYYXL22WfLN998k/TnXLVqlZn+sccekxNPPNFUY0466SS56667zH3bsmXLpFWrVmbeNWxNmzYt5vMl2nUzffr0mPOS6PtoBaRGjRrmnBLHH3+8ac9oidpSLVq0SE455RQTvLQK9M9//lN27dqV9OcEAD9yNVQ8/vjjcuyxx0YuQ65b1DNnziz0OVOnTpWjjz7a/Fjo1umMGTNKfT7btBGpW7fg2xFHpEnTplXMv4VNl+pN3zcZWoWYPXu2/OMf/zA/YtG0+nDppZearXk92ZFt3Lhx0qJFC/nkk0/kX//6V8JdDBdeeKH06NFDPvvsMxkwYEBMMCmI/hDrj/Pbb79tQsnixYvl3nvvjfxdf1gHDx4sy5cvN1UUPZzxb3/7mzl3QzIOP/xw85xXX321wFNc64mlNKwcc8wxsmLFChN2br755qReP/51zjrrLDOf2k5nnHGGnHPOObJhw4aY6eLbUttAp73gggvk888/N22vIWPQoEEpzwMA+IrlojfffNN65513rK+++spas2aNdccdd1iZmZlWdnZ2wuk//PBDKyMjw7rvvvusL774who6dKiZPisrK+n33LZtm/6ymn/j/frrr+Z19d9oderor3HZ3/R9k7F06VLzmaZNm5bw7w8++KD5e05Ojrlfv359q0ePHjHTrFu3zkzzySefmPu33Xab1axZs5hp7rzzTjPNL7/8Yu4/99xzVtWqVSN/Hz58uFW5cmVr+/bt5v6+ffus6667zjrhhBMKnPeffvrJvKb9HcbPRyKPPPKIeZ+DDjrI6tSpkzVq1Cjrm2++ifz9iSeesA477LCY7/Hxxx+Ped34eVfafkV1iaZNm1oPP/xw5H6ituzXr5919dVXxzz2wQcfWOnp6WaetF20DfVfLyhouS9ru3fvtqZPn27+Be3C8uKdflTY72Y8V8+oqVt90caMGWOqF0uXLpWmTZvuN/2ECRPMFuAtt9xi7mvZee7cufLII4+Y8QOlpWbNoqawTBXg99J5Whm+b9xcRFUiiqK7BAqjYxW03B+tbdu2Rb6u7g446KCDYiolmzdvjtzXMR/Dhg2Tjz76SLZs2RKpUOjWf7KDRHVXj+5umD9/vllWtHp19913m8qIjrf48ssvTQUs+uyQWgUrTqVCqxzvvPOOGcSqF5n79ddf96tUxLelVna0QvHf//435ruxTwPfuHHjlOcFAIqUmyvpTz0lzefOFWnRQlfIEtrTdGspW38ctDxe0A/AkiVLTOk8Wrdu3Uy5vSB5eXnmZtu+fXtkwJ/eoul9e+UfXY5ftqzwedfn6LgB/TF1+gJRyewVaNiwoXnfL774wowBiKeP6/gGHcNgfy49DXn0Z7T/b392/Ux2WxQ0TfR9pdPrKZ+j7+t8RU+rQVLHezzxxBPm6A19XAOAXrEz/jUL2yVywAEHSPfu3c1t1KhRJmzquIrTTz89Eq4Km3d7/qKnsZcT+7GbbrrJjKG47777pFGjRmbX0kUXXWSmi35efFtqGNGxFdddd91+862f3Z6/+Pd3i/196/KvA3bdYvfH+H4ZdrQL7ZJsmEgfN04ycnKkoS43RxwheyZMECek0iddDxVZWVkmROiPig6G0wF1ui88kU2bNplBc9H0vj5ekLFjx8rIkSP3e1wHNMZf30OPfNAta/1RKM4o/ugBiWVJf8h1IKUOXtSBkdHjKnJycuSll14yh3/a86c/ItredsBS+pmVhjp9XCsOWgWKnubDDz80/+rr6LgGfQ39MbKn0R9bDYfRz7HfTx/TsR9aAXnwwQcjVRANikorADpN/HwkS4OVDs60510Hi2qFxK5WaFUj+nU1lOjn0AqE/l/p85X9vh988IH8/e9/N0HFbiOtNOjyak+TqC214qLLdaIjY3Ravdnt6AW6rGv7L1y40FRj3KbLHWgXlpeiZeTlSf3Zs+Wo11+XzLij377cu1fWOTTmMJWrdrseKrQUrCPy9RBBHXzXp08fWbBgQYHBIlVDhgyJqW7oyl9H43ft2tUMDo2mK3s914OGm1QurFSalYpkaaDQoyo0POiWe4MGDcyRErfddpvUqVPHbG3bn1cDgX6+6M+vn1npD6w+rlvZ+pq6W0GDin5Hr7zyipnGHlirr6Gf136dChUqmC1d+769Ra7vp4/pe2i1REOObvnrboThw4ebaTQI2dNEz0c8nQ/dJXHZZZeZZUSPeNHlRXc13HrrreY5Or+6K00HZ95+++3myBb9LNGvqyFMQ6UOItXPqrtjoj+fvWzqQGAdcKmfU3fb6GfS9yysLXVAa/v27c2//fr1M++p1SKtejz88MOeWF7il3tt/1NPPdXVC4rp1pAGCt2FpUEZtAvLS9GVibScnP3+/NvBB0uju++WJlWrihNS2cBzPVToClp/YNRxxx0nH3/8sRk7oeXxeFpF0C3vaHpfHy+I/tDpLZ6utOJXXLqVrSt5/aFI5SJLdgnbfq4b9AdQj6jQH2ndutaqgLaLHr2hj+mPebT4ebX/b3/2v/zlLybk6S6Af//732brXH8kBw4caH6AotvI/tf+gbTvR5f27en1h1sPr9RdHjrP+todO3aM/D1+PhLtPtDApONp7MNgtTKh1agbb7wxEmDeeustueaaa8wypeFDw4OGA/t1q1WrJi+++KIZn/P000+baoSGFd1tYb/v+PHjTUDRsKbTa0DTMBDfdvH39bBaDTraXnp4r4YIbU8NfDqdF5aXaDoPOi+J+oQbvDIfXkO70C6iFQP9bdQj6uLDhK5L/li3fH3++XJ01aqO9aOUXsfyGB3N36dPn4R/u+iii6yzzz475rF27dpZAwYMKNWjP4ritdH8peWuu+6y6tat68t2SeaokrLipXZRHP3hbRwVQ7tYu3bpYXyWVaPG/ocJ9uxpWS+/HLmfX6OG9dbkyeE8+kN3TegJmnTrU7cAtSyu+771nAtKR/hr6V7HRSg95bRu+T3wwANmgJ5u9erW+ZNPPunmxwgs3WWgYx+0yqHjKe6//37OtQAAXqhM9OwpMmyYDuISueiiyMP5N98s+xJU58uKq6FCB9JpcNDBclWrVjUlcQ0Uuk9V6T736PKw7qfW4DF06FC54447zNke9ciPVK5XgeTp4Z96RIXuStHgp7tCNAgCADwQJlR2tp4V0vxXatSQ/Kuu0pHpEspQ8cwzzxT6d3vEfrSePXuaG0qfjinQWxDouItUzuMBAJ4OE7ZRoyL/ldtu02PcxU2uD9QEACDUcosRJhJUKWTAAHEboQIAAD+FicKqFC6fPI5QAQCAn8KER6sUilABAIBfwoRHx1LYCBUAAPglTHi4SqEIFQAA+CFMeLxKodw/RzACSy/09re//c1c4+Lggw8Wv9BTVhd25VsAKDJMjB+vVzoU0WtPRQcKDRNZWSJTphQvUHi4SqEIFQGgP4KF3fSaFm546KGHTLBYuXKlfPXVVxIUP/30k7kGip4QTK8ro9dY6datW+QqrgBCKrcUw4QPqhSK3R8BoGcktU2ePNlcTVMvMW6zr/yp9ARQeuE0vcx7afvmm2/MxbX0zKfFvXCWXpZbLzrnJXphMp2v//znP+aS63pRu/fee0/+7//+z+1Z82R7AYFXWrs5fFalUFQqAkC3lO2bnu5cqxP2/dWrV5vdDzNnzjRX7NQt60WLFpkf/PPOO09q1KhhQode40MvzR1/Fkr70uf6GrplHn2dFf0BGzRokNSqVctcMrt+/fqR67Toc19//XVzfRa9HPoVV1wROfW6vq++p15N9KKLLoq58qxWVTSI6JVD9Wqk9qW49TPplWvPPvtsc8nyJk2ayJIlS2Tt2rXmKqd6eXE9jbt+rmhvvPGGtG7d2ryOBgC9munevXtjTkVuX/Jbr2aql94uzNatW+WDDz4wVz3Vy6frZ27btq05ffm5555b6OtG71bR70DbRV8v+rLuOo1efVVpSOnVq5e5/o1+5ubNm8vLL78cMz/62fU7uOGGG8yVVLViorKzs811dbSd9Tu+/PLLZcuWLUUuSwA8VpnwUZVCUalIRps2OkCgwD/rBb+rWFbk0t+O0Uu6L1/uyEvdfvvtMm7cOPPDesghh8h3330nZ511lowZM8YEjeeff17OOeccU+HQ8GDTi7fpZcb1Wit6KXQt++tF3ezLlr/55psyZcoU8xx9Tb0pvYS9/pDpj+EjjzxifvT1kt92oNBLg+uP+7XXXmsuCR59SnYNCq+99poJJfrDa9P5ePDBB81NL0N+ySWXmM+jP+j6/hp+9AdWA5TSH3+9tozO5ymnnGICh17aXOnl4HV+zj//fPOj+9FHH8m2bdvMj3NhdN71puHgxBNPNG0Xrzivm8hvv/1mgqB+Vg1g77zzjmlTvYy6BhmbVkz0e7F3v2hQOe2006R///7mNOu//vqreQ0NcPPmzUt5PgC4VJnwWZXCsEKmWJc+r1Nn/8vNlsVN3zdFzz33nFW1atXI/ffff9983unTpxf53KZNm1oPP/xw5H79+vWtyy67LHI/Pz/fql69uvX444+b+9ddd5112mmnmccTOffcc61evXpFLvE9Z84cKyMjw9qwYUNkmlWrVpn5W7Zsmbk/fPhwKzMz09q8eXPMa+k0Q4cOjdxfsmSJeeyZZ56JPPbyyy9bFStWjNw//fTTrbvvvjvmdV544QWrVq1a5v+zZ8+2ypUrZ/3www+Rv8+cOdO87rRp0wpsp1dffdU65JBDzHu1b9/eGjJkiPXZZ59F/l7U62p7vPXWW+a+XgLdppdl18f0Mu0F6d69u3XTTTdF7nfo0MFq1apVzDSjR4+2unbtGvPYd999Z157zZo1+70mlz73Ni597qF2KeoS5FlZpffe+vr2e+k8lGG7+ObS576hFYNCmNb+o1KRVobvm4o2Wm2JsnPnTrOrQbd+dUyGVg10i1Z3T0TTK8fa7N0qenVZpbs09IqyWrU444wzzK6Jrl27FjgPX375pdSrV8/cbLprQI8M0b/pLhiluxQOP/zw/Z4fPS9aBVC6SyD6Md263759u9my/+yzz8zWu1ZjbDqeRKfJzc2NzE/t2rUjf2/Xrl1SYyq6d+9uKiFLly41lZH77rvP7LLRNinu68bTedXdT1oJ+uGHH8zupry8PFP9iabVjGj6ud9///2YsTQ2rdb89a9/TXlegFBzozLhxyoFuz+SVMQuCCs/P/JDllbMAYmlTXc/RLv55pvNfn7dJdKoUSOpVKmSXHjhheaHK1pmZmbMfQ0WWt5XOlZh3bp15kdVx2Noeb1z585mN4mT85poXuxdTYkes+dPg5OOodBdEfHssRrFpc/XQKW3f/3rX2ZXg+5SsceOFMWe1+grp+6JO2f//fffLxMmTDBH0Wh40nbR3Sjx31F8e+nn1l1ZOu4jno5/AeCTMOGjsRQ2KhUhpVvw+gOo55Gwf4jsAYKp0CClYyL0pqFEKxY///yzHHrooftNq4Mr7XEXdrXiiy++MGMAtGLhNA09OkZEQ1Mi9vxopcb+sdXKQ3Ho/NuDMJN5XR1UqXQaHeNiD9SM/450DMpll10WCUt6aG5RbaWfW8ek6GDZsjjKBwgcr4QJn1UplDc3q1Hq9DBPHQipP2RaLtdBj/YWfrJ0wKQejaBHmOiP3dSpU83ukYJOdKVVDN3ivvTSS825K5YtW2YGUurAz/jdM07QQ2t1AKpWK1atWmV2S+jRKEOHDo3Mj+4K6NOnj2kD3Z1x5513FvqaekSGDoJ88cUX5fPPPzeVGv3cuvtDA0Cyr6sDTDVY6S4oPVJEd0PpoNj470irSYsXLzbzPmDAgJgjZQqig1812OmRIzpgVnd5zJ49W6688kqzSwWAR47mCFiVQhEqQkoDgW4h62GYWirXQxF1CzcVepip/phqINDxEFrpmDFjRoHnpNCSvx7iqe+rh1vqj6/+uOq5NUqDfqa3335b5syZY+ZPj9bQoyF0zIbS+Zw2bZoZS6JHU+gujOjxF4noOIUTTjjBvI5+hmbNmpndH1dddZU5yiXZ19XdNv/9739NINOxIrqr4q677oqZRsOPfif6OfTQUQ1sPXr0KPJz61gOrXJogNAxLhrkdLeJhr3ini8ECDQvhgkfVikMK2SKdfRHEXQ0v47it49yAO2SSPTRH15aXjj6w9s4+qMU28XNozkcPOIjGkd/AAAQ1jETQapSMFATABAafggTPh1LYWNoOFBG7MNHUx0QCyBEYcLHVQpFqAAABJPfwoTPqxSKUJFA9AmJgKBjeUfg+DVM+LxKoQgVUeyzM+opnPUMk0AY6PKe6OypgO/4OUwEoEqhCBVR9IqYeiy/fW0LvcZCMlce1X3keupkvaYE5wGgXfyyvGiFQgOFLu+63EdfERbwlSCEiQBUKRShIo6eYEjZwSLZlbOe6EirG45f/tzHaBd/tIsGCnu5B/wkIy9P0idMEBk3zt9hIiBVCkWoiKMreb1eQ/Xq1fe7wFNBdLqFCxeaMyxSQqZd/LS86PtToYDv5OZK+mOPSecxYyRj61b/h4mAVCkUoaIAuqJNdmWr0+mlw/XKlW7/SHgJ7UK7AKW1myMjJ0cyghAmAlSlUIQKAIBvx0zkX3CBpI8Y4d8wEaAqhSJUAAB8GSbmn3qqnDJwoKT7vUI8KhhVCsUlCwEAvrtq6L6XX5Ydf1xx2Neyg1OlUFQqAAD+OzQ0yYH0njcqOFUKRagAALgrKOeZCHmVQhEqAADuCGuYCGiVQhEqAABlK+xhIqBVCkWoAACUDcJEoKsUilABAChdhIlQVCkUoQIAUDoIE6GqUihCBQDAWYSJUFYpFKECAOAMwkSoqxSKUAEAKBnCRHKyg12lUIQKAEDxECZSMyrYVQpFqAAApIYwkbrs4FcpFKECAJAcwkTxjQp+lUIRKgAAhSNMlEx2OKoUilABAEiMMOGMUeGoUihCBQAgFmHCOdnhqVIoQgUA4HeECeeNCk+VQhEqACDsCBOlIztcVQpFqACAsCJMlK5R4apSKEIFAIQNYaL0ZYevSqEIFQAQFoSJsjMqfFUKRagAgKAjTJSt7HBWKRShAgCCijDhjlHhrFIoQgUABA1hwj3Z4a1SKEIFAAQFYcJ9o8JbpVCECgDwO8KEN2SHu0qhCBUA4FeECW8ZFe4qhSJUAIDfECa8hyqFkS4uGjt2rBx//PFy0EEHSfXq1aVHjx6yZs2aQp8zadIkSUtLi7lVrFixzOYZAFwNE+PHizRsKDJ4sEhOzp9/69lTJCtLZMoUkWbN+JLKGlUK90PFggUL5Nprr5WlS5fK3LlzZc+ePdK1a1fZtWtXoc+rUqWKbNy4MXJbv359mc0zAJS1jLw8SZ8wgTDhVVQpvLH7Y9asWftVIbRisWLFCjn11FMLfJ5WJ2rWrFkGcwgALsrNlfTHHpPOY8ZIxtatsX/TysSwYVQlvIAqhTfHVGzbts38e+ihhxY63c6dO6V+/fqSn58vrVu3lrvvvluaNm2acNq8vDxzs23fvt38q1URvTnBfh2nXi8oaBfaheWlBGHiqackfdw4ycjJkYyoP+VfcIHsu/POP8NESNc7nlm/ZGdL5h9HfFg1asjevn1d/U5Ko11Sea00y7Is8QANCOeee65s3bpVFi1aVOB0S5Yska+//lqOPfZYE0LGjRsnCxculFWrVkndunX3m37EiBEycuTI/R5/6aWXpHIIR+YC8PZujvqzZ8tRr78uFeMqEz+0by9rLr5YdtSv79r8YX9t7rtP6ixebP6f1bevfHvuuYFrptzcXLnkkkvMb64OP/BFqBg4cKDMnDnTBIpE4aCwBNWkSRPp1auXjB49OqlKRb169WTLli1FNk4q86BjQrp06SKZmZmOvGYQ0C60C8tL6pWJtOjBlyKy9/zzZWGHDnJi//6sX7y2ftEqRevWf1Yp1qxx/TDS0mgX/d2sVq1aUqHCE7s/Bg0aJG+//bapOKQSKJQ2WqtWrWTt2rUJ/16hQgVzS/Q8pxfE0njNIKBdaBeWl+IfGmo1biw7ZsygH3mxH40dG/lv2m23SWbVqhLEdknldVw9+kOLJBoopk2bJvPmzZMGDRqk/Br79u2TrKwsqVWrVqnMIwA4jkND/Y8jPrxXqdDDSXVswxtvvGHOVbFp0ybzeNWqVaVSpUrm/71795Y6deqYc1qoUaNGyYknniiNGjUy4y/uv/9+c0hp//793fwoAFA0TloVHBzx4b1Q8fjjj5t/O3bsGPP4c889J1dccYX5/4YNGyQ9/c+Cyi+//CJXXXWVCSCHHHKIHHfccbJ48WI55phjynjuASBJhIlgoUrhzVCRzBjR+fPnx9wfP368uQGA5xEmgokqhbcHagJAoBAmgosqRaEIFQDgFMJE8FGlKBShAgBKijARDlQpikSoAIDiIkyEC1WKIhEqACBVhInwoUqRFEIFACSLMBFeVCmSQqgAgKIQJsKNKkXSCBUAUBDCBBRViqQRKgAgHmECNqoUKSFUAICNMIF4VClSQqgAAMIEEqFKkTJCBYDwIkygMFQpUkaoABA+hAkUhSpFsRAqAIQHYQLJokpRLIQKAMFHmEAqqFIUG6ECQHARJlAcVCmKjVABIHgIEyguqhQlQqgAEByECZQUVYoSIVQA8D/CBJxAlaLECBUA/IswASdRpSgxQgUA/yFMwGlUKRxBqADgH4QJlBaqFI4gVADwPsIEShNVCscQKgB4F2ECZYEqhWMIFQC8hzCBskKVwlGECgCekZGXJ+kTJoiMGyeSkxP7x549RYYNE2nWzK3ZQxBRpXAUoQKA+3JzJf2xx6TzmDGSsXVr7N8IEygtVCkcR6gA4IndHBk5OZIR/TfCBEobVQrHESoAeGrMRP4FF0j6iBHs5kDpokpRKggVADwTJuafeqqcMnCgpGdm8q2gdFGlKBXppfOyABAXJsaPF2nYUGTw4NhAobs5srJk38svy4769Wk2lD6qFKWGSgUAbxwaumcP3wTKBlWKUkOoAOA8zjMBr6JKUaoIFQCcQ5iA11GlKFWECgAlR5iAH1ClKHWECgDFR5iAn1ClKHWECgCpI0zAb6hSlAlCBYDkESbgV1QpygShAkDRCBPwM6oUZYZQAaBghAkEAVWKMkOoALA/wgSCgipFmSJUAPgTYQJBQ5WiTBEqABAmEExUKcocoQIIMyoTCDKqFGWOUAGEEWECQUeVwhWECiBMCBMIC6oUriBUAGFAmECYUKVwDaECCDLCBMKIKoVrCBVAEBEmEFZUKVxFqACChDCBsKNK4SpCBRAEhAmAKoUHECoAPyNMAH+iSuE6QgXgR4QJIBZjKTyBUAH4CWECSIwqhScQKgA/IEwABaNK4RmECsDLCBNA0ahSeAahAvAiwgSQHKoUnkKoALyEMAGkJGPMmD/v3HabSOXKtKCLCBWAFxAmgJQdtH69pL/22u93atQQGTCAVnRZuptvPnbsWDn++OPloIMOkurVq0uPHj1kzZo1RT5v6tSpcvTRR0vFihWlefPmMmPGjDKZX6BUwsT48SING4oMHiySk/Pn33r2FMnKEpkyRaRZMxofiNN48uQ/71Cl8ARXQ8WCBQvk2muvlaVLl8rcuXNlz5490rVrV9m1a1eBz1m8eLH06tVL+vXrJ5988okJInrL1v1qgE9k5OVJ+oQJhAmguLKzpc7ixb//nyqFZ7i6+2PWrFkx9ydNmmQqFitWrJBTTz014XMmTJggZ5xxhtxyyy3m/ujRo00geeSRR2TixIllMt9ASaRNniydr7tOMrZujf2DViaGDaMqASSBsRTe5KkxFdu2bTP/HnrooQVOs2TJEhmsZeIo3bp1k+nTpyecPi8vz9xs27dvN/9qVURvTrBfx6nXCwraJYHsbCnXu7eUs6zIQ/kXXCD77rzzzzAR0uWI5YV2SVp2tmT+MZbCql5d9vbtG9p+Uxb9KJXX8kyoyM/PlxtuuEFOOukkaVbI/uNNmzZJDS11RdH7+nhB4zZGjhy53+Nz5syRyg6PEtaKCWiXwrS57z6p80eg2NSmjXxx+eWyo359kQ0bfr+BfsT6Jbl+9Mf/s88+W76dP5+eU4q/R7k69stvoULHVui4iEWLFjn6ukOGDImpbGilol69embsRpUqVRxLcfoFdunSRTIzMx15zSCgXRJsXf2xD/i3gw+WKjNnyilVq7rx1XgSywvtUpx+9Jd775Wj6Uel2o/sCr9vQsWgQYPk7bffloULF0rdunULnbZmzZqSEz1CXnTAfI55PJEKFSqYWzxtbKcDQGm8ZhDQLn8YOzbSJl+ff75ZEbK8sLzQj1JEPyrz9W4qr+Pq0R+WZZlAMW3aNJk3b540aNCgyOe0a9dO3nvvvZjHNJXp44Afzvpn1agh67t1c3uOAP+hH3leObd3ebz00kvyxhtvmHNV2OMiqlatKpUqVTL/7927t9SpU8eMjVDXX3+9dOjQQR544AHp3r27vPLKK7J8+XJ58skn3fwoQNLXJsi/+WbZl6B6BoB+5HeuVioef/xxc8RHx44dpVatWpHb5KgTmmzYsEE2btwYud++fXsTRDREtGjRQl599VVz5EdhgzsBL12bIP+qq/hCAPpRIJVze/dHUeYnGNXbs2dPcwN8gSsoAvSjkHC1UgEEHldQBOhHIUKoAEoTVQqAfhQihAqgtFClAOhHIUOoAEoLVQqAfhQyhAqgNFClAOhHIUSoAEoDVQqAfhRChArAaVQpAPpRSBEqAKdRpQDoRyFFqACcRJUCoB+FGKECcBJVCoB+FGKECsApVCkA+lHIESoAp1ClAOhHIUeoAJxAlQKgH4FQATiCKgVAPwKhAigxqhQA/QgGuz+AkqJKAZQc/SgQCBVASVClAEqOfhQYhAqgJNi6AkqOfhQYhAqguNi6AkqOfhQohAqguNi6AkqOfhQohAqgONi6AkqOfhQ4hAqgONi6AkqOfhQ4hAogVWxdASVHPwokQgWQKraugJKjHwUSoQJIBVtXQMnRjwKLUAGkgq0roOToR4FFqACSxdYVUHL0o0AjVADJYusKKDn6UaARKoBksHUFlBz9KPAIFUAy2LoCSo5+FHiECqAobF0BJUc/CgVCBVAUtq6AkqMfhQKhAigMW1dAydGPQoNQARSGrSug5OhHoUGoAArC1hVQcvSjUCFUAAVh6wooOfpRqBAqgETYugJKjn4UOoQKIBG2roCSox+FDqECiMfWFVBy9KNQIlQA8di6AkqOfhRKhAogGltXQMnRj0KLUAFEY+sKKDn6UWgRKgAbW1dAydGPQo1QAdjYugJKjn4UaoQKQLF1BZQc/Sj0CBWAYusKKDn6UegRKgC2roCSox+B3R8AW1eAI6hSgFCB0GPrCig5+hH+wO4PhBtbVwD9CI4hVCC82LoC6EdwFKEC4UWVAqAfwVGECoQTVQqAfgTHESoQTlQpAPoRHEeoQPhQpQDoRygVhAqED1UKgH6EUkGoQLhQpQDoRyg1hAqEC1UKgH6EUkOoQHhQpQDoR/BGqPjxxx8df/OFCxfKOeecI7Vr15a0tDSZPn16odPPnz/fTBd/27Rpk+PzhgCiSgHQj+CNUNG0aVN56aWXHH3zXbt2SYsWLeTRRx9N6Xlr1qyRjRs3Rm7Vq1d3dL4QQFQpAPoRSl25ZCccM2aMDBgwQKZNmyZPPPGEHHrooSV+8zPPPNPcUqUh4uCDDy7x+yNEqFIA9CN4J1T84x//MAGgX79+cswxx8hTTz1ldl24oWXLlpKXlyfNmjWTESNGyEknnVTgtDqd3mzbt283/+7Zs8fcnGC/jlOvFxSeaZfsbMmcOtX816pRQ/b27asz5drseKZdPIZ28Xi70I9Cu7zsSeG10izLslJ9g0ceeURuvPFGadKkiZQrF5tLVq5cmerL/T4jaWmmCtKjR49Cd3vouIo2bdqYoPD000/LCy+8IB999JG0bt064XM0dIwcOXK/x3VXTuXKlYs1r/CXNvfdJ3UWLzb/z+rbV74991y3ZwnwHfpReOXm5soll1wi27ZtkypVqjgbKtavXy9XXnmlZGdnm90h8aFi+PDhpRYqEunQoYMcccQRJlwkW6moV6+ebNmypcjGSSXFzZ07V7p06SKZmZmOvGYQeKJddOvqj8BpqhRr1oi4HCY90S4eRLt4uF3oR6FeXrZv3y7VqlVLKlQkvftD6S6Pm266STp37iyrVq2Sww8/XNzWtm1bWbRoUYF/r1ChgrnF08Z2uoOWxmsGgavtMnZs5L9pt90mmVWrilewvNAuvlle6EehXl4yU3idpEPFGWecIcuWLTO7Pnr37i1e8emnn0qtWrXcng14EUd8APQjlKmkQ8W+ffvk888/l7p16zr25jt37pS1a9dG7q9bt86EBD2yRHdpDBkyRH744Qd5/vnnzd8feughadCggTm89bfffjNjKubNmydz5sxxbJ4QIBzxAdCP4M1QoftonLZ8+XLp1KlT5P7gwYPNv3369JFJkyaZc1Bs2LAh8vfdu3eb3S8aNHSQ5bHHHivvvvtuzGsABlUKoOToR0hRSmMqnNaxY0cpbJyoBotot956q7kBRaJKAZQc/Qgp4tofCB62rgD6EVxBqEDwsHUF0I/gCkIFgoUqBUA/gmsIFQgWqhQA/QiuIVQgOKhSAPQjuIpQgeCgSgHQj+AqQgWCgSoFQD+C6wgVCAaqFAD9CK4jVMD/qFIA9CN4AqEC/keVAqAfwRMIFfA3qhQA/QieQaiAv1GlAOhH8AxCBfyLKgVAP4KnECrgX1QpAPoRPIVQAX+iSgHQj+A5hAr4E1UKgH4EzyFUwH+oUgD0I3gSoQL+Q5UCoB/BkwgV8BeqFAD9CJ5FqIC/UKUA6EfwLEIF/IMqBUA/gqcRKuAfVCkA+hE8jVABf6BKAdCP4HmECvgDVQqAfgTPI1TA+6hSAPQj+AKhAt5HlQKgH8EXCBXwNqoUAP0IvkGogLdRpQDoR/ANQgW8iyoFQD+CrxAq4F1UKQD6EXyFUAFvokoB0I/gO4QKeBNVCoB+BN8hVMB7qFIA9CP4EqEC3kOVAqAfwZcIFfAWqhQA/Qi+RaiAt1ClAOhH8C1CBbyDKgVAP4KvESrgHVQpAPoRfI1QAW+gSgHQj+B7hAp4A1UKgH4E3yNUwH1UKQD6EQKBUAH3UaUA6EcIBEIF3EWVAqAfITAIFXAXVQqAfoTAIFTAPVQpAPoRAoVQAfdQpQDoRwgUQgXcQZUCoB8hcAgVcAdVCoB+hMAhVKDsUaUA6EcIJEIFyh5VCoB+hEAiVKBsUaUA6EcILEIFyhZVCoB+hMAiVKDsUKUA6EcINEIFyg5VCoB+hEAjVKBsUKUA6EcIPEIFygZVCoB+hMAjVKD0UaUA6EcIBUIFSl3GmDF/3rntNpHKlWl1gH6EACJUoFQdtH69pL/22u93atQQGTCAFgfoRwgoV0PFwoUL5ZxzzpHatWtLWlqaTJ8+vcjnzJ8/X1q3bi0VKlSQRo0ayaRJk8pkXlE8jSdP/vMOVQqAfoRAczVU7Nq1S1q0aCGPPvpoUtOvW7dOunfvLp06dZJPP/1UbrjhBunfv7/Mnj271OcVxZCdLXUWL/79/1QpgOKhH8FHyrn55meeeaa5JWvixInSoEEDeeCBB8z9Jk2ayKJFi2T8+PHSrVu3UpxTFAdjKYASys2VjKFD/7xPtQ8e52qoSNWSJUukc+fOMY9pmNCKRUHy8vLMzbZ9+3bz7549e8zNCZMn58uQIadJfn6GpKVZjrym3zXeky3vbf59LMXm9BrS/v6r5bcHaBtlWRmSnn6a3HNPvlx0kTPLYBDY/dGpfulrubmS/tRTkj5unKTn5JiHrOrVZW/fvtpAbs+dJ7C8lF27pPJavgoVmzZtkhpaRo+i9zUo/Prrr1KpUqX9njN27FgZOXLkfo/PmTNHKjt0FIIGiu+/P8iR1wqKB2V05P9j82+TbzYe4Or8eEuaDmGV22/fIQceOM/tmfGcuXPnSlhl5OVJ/dmz5ajXX5fMrVsjj1tpabLi8svlh/nzXZ0/Lwrz8lJW7ZKbmxvMUFEcQ4YMkcGDB0fuawCpV6+edO3aVapUqeLIe2iFQqWnW1KrliMv6fsqxUWbp5r/56RVlzdrXCV1MqhS2DZu1GUmTfLzD5CzzjrLxW/KW3RrSFeEXbp0kczMTAlrZSLtj8qEbe/558vCDh3kxP79pUXY2qUQoV5eyrhd7Ap/4EJFzZo1JSeuw+l9DQeJqhRKjxLRWzxtbKca3N7loYHi++91KzTkLhot8numkM1Xni2rJ1aQzEzaxVa3riU//KDLTRorwwSc7Juep1uATzwhcu+9ujKL/VvPniLDhonVuLHsmDEjXO2SAtql9NslldfxVaho166dzJgxI+YxTWT6OLx39kyrRg1Z362bHO32PAE+DBPSrNnv9xlDAR9x9ZDSnTt3mkND9WYfMqr/37BhQ2TXRe/evSPTX3PNNfLtt9/KrbfeKqtXr5bHHntMpkyZIjfeeKNrnwEFX+Mj/+abZV+CKhEQ6jAxfrxIw4Yiuls2OlBomMjKEpky5c9AAfiMq6Fi+fLl0qpVK3NTOvZB/z9MU7rZ97wxEjCUHk76zjvvmOqEnt9CDy19+umnOZzUo9f4yL/qKrfnCPAGwgRCwtXdHx07dhTLKngAX6KzZepzPvnkk1KeMxQLVyIFir+bAwgAX42pgIdxJVLgT4QJhBShAqVXpWCAGcKGMIGQI1Sg5KhSIOwIE4BBqEDJMZYCYUWYAGIQKlAyVCkQRoQJICFCBUqGKgXChDABFIpQgeKjSoGwIEwASSFUoPioUiDoCBNASggVKB6qFAgywgRQLIQKFA9VCgQRYQIoEUIFUkeVAkFDmAAcQahA6qhSICgIE4CjCBVIDVUKBAFhAigVhAqkhioF/IwwAZQqQgWSR5UCfkWYAMoEoQLJo0oBvyFMAGWKUIHkUKWAnxAmAFcQKpAcqhTwA8IE4CpCBYpGlQJeR5gAPIFQgaJRpYBXESYATyFUoHBUKeBFhAnAkwgVKBxVCngJYQLwNEIFCkaVAl5BmAB8gVCBglGlgNsIE4CvECqQGFUKuIkwAfgSoQKJUaWACzLy8iR9wgSRceNEcnJi/9izp8iwYSLNmvHdAB5FqMD+qFKgrOXmSvpjj0nnMWMkY+vW2L8RJgDfIFRgf1Qp4MJujoycHMmI/hthAvAdQgViUaWAy2Mm8i+4QNJHjGA3B+BDhArEokoBF8PE/FNPlVMGDpT0zEy+B8CH0t2eAXgIVQqUZpgYP16kYUORwYNjA4Xu5sjKkn0vvyw76tfnOwB8jEoF/kSVAm4eGrpnD+0P+ByhAr+jSgEncZ4JIJQIFfgdVQo4gTABhBqhAlQpUHKECQCEChhUKVBchAkAUahUhB1jKVAchAkACRAqwo4qBVJBmABQCEJFmFGlQLIIEwCSQKgIM6oUKAphAkAKCBVhRZUChSFMACgGQkVYUaVAIoQJACVAqAgjqhSIR5gA4ABCRRhRpYCNMAHAQYSKsKFKAUWYAFAKCBVhQ5Ui3AgTAEoRoSJMqFKEF2ECQBkgVIQJVYrwIUwAKEOEirCgShEuhAkALiBUhAVVinAgTABwEaEiDKhSBB9hAoAHECrCgCpFcBEmAHgIoSLoqFIEE2ECgAcRKoKOKkWwECYAeBihIsioUgQHYQKADxAqgowqhf8RJgD4CKEiqKhS+BthAoAPESqCiiqFPxEmAPgYoSKIqFL4D2ECQACkiwc8+uijcuSRR0rFihXlhBNOkGXLlhU47aRJkyQtLS3mps9DFKoU/goT48eLNGwoMniwSE7On3/r2VMkK0tkyhSRZs3cnEsA8EelYvLkyTJ48GCZOHGiCRQPPfSQdOvWTdasWSPVq1dP+JwqVaqYv9s0WOAPVCl8oZLkSv+dE0Ua3hcbJOwwMWwYQQKA77heqXjwwQflqquukiuvvFKOOeYYEy4qV64szz77bIHP0RBRs2bNyK1GjRplOs+eRpXC23I1TIyXb6WhjNh2E5UJAIHiaqVi9+7dsmLFChkyZEjksfT0dOncubMsWbKkwOft3LlT6tevL/n5+dK6dWu5++67pWnTpgmnzcvLMzfb9u3bzb979uwxNydYVoZGHbEsS/bs2Suuyc6WzKlTf5+nGjVkb9+++kFdmx27fZ1qZ1/LzZX0p56S9HHjZMS22MpE/gUXyL477/yzMhHS9mJ5oV1YXrzZj1J5LVdDxZYtW2Tfvn37VRr0/urVqxM+p3HjxqaKceyxx8q2bdtk3Lhx0r59e1m1apXUrVt3v+nHjh0rI0eO3O/xOXPmmIqIE/LyupqCtoaXGTPmiFva3Hef1Pnj/9ndu8u38+eLF8ydO1fCKiMvT+rPni1Hvf66ZG7dGvO36eXPlyr3d5Ad9euLbNjw+w2hXl4KQ7vQLm4tL7k69itJaZZuXrvkxx9/lDp16sjixYulXbt2kcdvvfVWWbBggXz00UdJJagmTZpIr169ZPTo0UlVKurVq2cCjY7NcMKRR2bIjz+mS+3a+fK//+0T16oUrVv/WaXQMScOhabi0u9GF+wuXbpIZmamhLUykRY3ZuKtihfKkN+Gyy+1j3FvefGgUC8vhaBdaBe3lxf93axWrZrZkC/qd9PVSoXOZEZGhuTErXT1vo6VSIY2WqtWrWTt2rUJ/16hQgVzS/Q8pxo8Lc2KjPVwbWU4duyf83PbbZJZtap4hZNtHYRDQwee0VR++CFN6qRZ4WmXFIRqeUkB7UK7uLW8pPI6rg7ULF++vBx33HHy3nvvRR7TcRJ6P7pyURjdfZKVlSW1atWS0OKID/dxaCgAuH9IqR5O2qdPH2nTpo20bdvWHFK6a9cuczSI6t27t9lFomMj1KhRo+TEE0+URo0aydatW+X++++X9evXS//+/SW0OOLDPZy0CgC8Eyouvvhi+emnn2TYsGGyadMmadmypcyaNSsyeHPDhg3miBDbL7/8Yg5B1WkPOeQQU+nQMRl6OGooUaVwB2ECALwXKtSgQYPMLZH5cUcwjB8/3tzwB6oUZYswAQDeDhUoJqoUZYcwAQBFIlT4GVWK0keYAICkESr8iipF6SJMAEDKCBV+RZWidBAmAKDYCBV+RJXCeYQJACgxQoUfUaVwDmECABxDqPAbqhTOIEwAgOMIFX5DlaJkCBMAUGoIFX5ClaL4CBMAUOoIFX5ClSJ1hAkAKDOECr+gSpEawgQAlDlChV9QpUgOYQIAXEOo8AOqFEUjTACA6wgVfkCVomCECQDwDEKF11GlSIwwAQCeQ6jwOqoUsQgTAOBZhAovo0rxJ8IEAHgeocLLqFIQJgDARwgVXhX2KgWVCQDwHUKFV4W1SkGYAADfIlR4URirFIQJAPA9QoUXhalKQZgAgMAgVHhNWKoUhAkACBxChdcEvUpBmACAwCJUeEmQqxSECQAIPEKFlwSwSpGRlyfpEyaIjBsnkpMT+8eePUWGDRNp1syt2QMAOIhQ4RVBq1Lk5kr6Y49J5zFjJGPr1ti/ESYAIJAIFV4RlCpF1G6OjJwcyYj+G2ECAAKNUOEFQahSFDJmIv+CCyR9xAh2cwBAwBEqvMDPVYoiwsT8U0+VUwYOlPTMTNdmEQBQNtLL6H0QtCqFhonx40UaNhQZPDg2UOhujqws2ffyy7Kjfn035xIAUIaoVLjNb1WKVA4N3bPHlVkEALiDUOEmP1UpOM8EAKAIhAo3+aFKQZgAACSJUOEWr1cpCBMAgBQRKtzi1SoFYQIAUEyECjd4sUpBmAAAlBChIuxVCsIEAMAhhIqwVikIEwAAhxEqwlalIEwAAEoJoSIsVQrCBACglBEqgl6lIEwAAMoIoSKoVQrCBACgjBEqglalIEwAAFxCqAhKlYIwAQBwGaHC71UKwgQAwCMIFX6tUhAmAAAeQ6jwW5WCMAEA8ChChV+qFIQJAIDHESq8XqUgTAAAfIJQ4dUqBWECAOAzhAqvVSkIEwAAnyJUeKVKQZgAAPgcocLtKgVhAgAQEIQKt6oUhAkAQMAQKsq6SkGYAAAEFKHCQY33FFKlIEwAAAKOUOGgG3aM3r9KQZgAAIQEocIhTSVbzvk1qkrRu7fI+PEi994rkpMTO3HPniLDhok0a+bU2wMA4Lp08YBHH31UjjzySKlYsaKccMIJsmzZskKnnzp1qhx99NFm+ubNm8uMGTPEbcMkaixF+fIiTZuKDB4cGyg0TGRliUyZQqAAAASO66Fi8uTJMnjwYBk+fLisXLlSWrRoId26dZPNmzcnnH7x4sXSq1cv6devn3zyySfSo0cPc8vWoy5cHEtxkfxRpVDffUeYAACEjuuh4sEHH5SrrrpKrrzySjnmmGNk4sSJUrlyZXn22WcTTj9hwgQ544wz5JZbbpEmTZrI6NGjpXXr1vLII4+IK3Jz5b3Nxyb+G5UJAECIuDqmYvfu3bJixQoZMmRI5LH09HTp3LmzLFmyJOFz9HGtbETTysb06dMTTp+Xl2dutu3bt5t/9+zZY24llT50qGTEPfZWpZ7y0EH/kjWLm4mcoY9YEkaWlSF5eV2lQoUMSUsLZxsksnHj7/9aliV79ux1e3Y8w+6PTvTLIKFdaBe3l5dUXsvVULFlyxbZt2+f1NCBjVH0/urVqxM+Z9OmTQmn18cTGTt2rIwcOXK/x+fMmWMqIiV1eJUq0j7qfjPJklW/NhP5tcQvHQBpIlLJ7ZnwrPT0XTJjxjy3Z8Nz5s6d6/YseBLtQru4tbzk6lGMSQr80R9aBYmubGilol69etK1a1epUqVKyd/grLOk28h20kXmmsGah9apJHVCWpmIp1viWiWqUKGCpKVpwIDdLhoo7rmnvJx11lk0StTWkK4Iu3TpIpmZmbQL7VIolpeyaxe7wu/5UFGtWjXJyMiQnLhDLvV+zZo1Ez5HH09lev1B01s8bWynGvzt3afJjBm/ybaz9DX58bRpaX/GjDnmh5Mfifh2mUe7FMDJvhkktAvt4tbyksrruDpQs3z58nLcccfJe++9F3ksPz/f3G/Xrl3C5+jj0dMrTWUFTQ8AAMqG67s/dNdEnz59pE2bNtK2bVt56KGHZNeuXeZoENW7d2+pU6eOGRuhrr/+eunQoYM88MAD0r17d3nllVdk+fLl8uSTT7r8SQAACDfXQ8XFF18sP/30kwwbNswMtmzZsqXMmjUrMhhzw4YN5ogQW/v27eWll16SoUOHyh133CFHHXWUOfKjGWenBAAg3KFCDRo0yNwSmT9//n6P9ezZ09wAAIB3uH7yKwAAEAyECgAA4AhCBQAAcAShAgAAOIJQAQAAHEGoAAAAjiBUAAAARxAqAACAIwgVAADAEYQKAADgCEIFAABwBKECAAA4glABAACCc5XSsmRZlvl3+/btjr3mnj17JDc317xmZmamY6/rd7QL7cLyQj9i/eL/9a79e2n/fhYmdKFix44d5t969eq5PSsAAPjq97Nq1aqFTpNmJRM9AiQ/P19+/PFHOeiggyQtLc2xFKch5bvvvpMqVao48ppBQLvQLiwv9CPWL/5f72pM0EBRu3ZtSU8vfNRE6CoV2iB169YtldfWL5BQQbuwvNCPWL+UHda7ZdMuRVUobAzUBAAAjiBUAAAARxAqHFChQgUZPny4+Re0C8sL/chJrF9oFz8tL6EbqAkAAEoHlQoAAOAIQgUAAHAEoQIAADiCUAEAABxBqEjSo48+KkceeaRUrFhRTjjhBFm2bFmh00+dOlWOPvpoM33z5s1lxowZEvZ2mTRpkjmLafRNnxc0CxculHPOOcecfU4/4/Tp04t8zvz586V169ZmxHajRo1MW4W9XbRN4pcXvW3atEmCYuzYsXL88cebM/xWr15devToIWvWrCnyeUFfvxSnXcKwfnn88cfl2GOPjZzYql27djJz5kxPLSuEiiRMnjxZBg8ebA7TWblypbRo0UK6desmmzdvTjj94sWLpVevXtKvXz/55JNPTIfQW3Z2toS5XZR2hI0bN0Zu69evl6DZtWuXaQsNXMlYt26ddO/eXTp16iSffvqp3HDDDdK/f3+ZPXu2hLldbPpjEr3M6I9MUCxYsECuvfZaWbp0qcydO9dcDKpr166mrQoShvVLcdolDOsXPRv0PffcIytWrJDly5fLaaedJuedd56sWrXKO8uKHlKKwrVt29a69tprI/f37dtn1a5d2xo7dmzC6S+66CKre/fuMY+dcMIJ1oABA0LdLs8995xVtWpVK0y0i02bNq3QaW699VaradOmMY9dfPHFVrdu3awwt8v7779vpvvll1+ssNi8ebP5zAsWLChwmrCsX1JtlzCuX9QhhxxiPf3005ZXlhUqFUXYvXu3SYWdO3eOuX6I3l+yZEnC5+jj0dMr3YIvaPqwtIvauXOn1K9f31zwprCEHSZhWF5KomXLllKrVi3p0qWLfPjhhxJk27ZtM/8eeuihBU4TxuUlmXYJ2/pl37598sorr5jqje4G8cqyQqgowpYtW8yXV6NGjZjH9X5B+3b18VSmD0u7NG7cWJ599ll544035MUXXzRXjG3fvr18//33EmYFLS96tcFff/1VwkqDxMSJE+W1114zN/2h6Nixo9nVFkTaH3TX10knnSTNmjUrcLowrF+K0y5hWb9kZWXJgQceaMZfXXPNNTJt2jQ55phjPLOshO4qpXCPpunoRK0dvkmTJvLEE0/I6NGj+Wqw34+E3qKXl2+++UbGjx8vL7zwQuBaS8cQ6L7uRYsWuT0rvmyXsKxfGjdubMZeafXm1VdflT59+pgxKAUFi7JGpaII1apVk4yMDMnJyYl5XO/XrFkz4XP08VSmD0u7xMvMzJRWrVrJ2rVrJcwKWl500FmlSpVcmy8vatu2bSCXl0GDBsnbb78t77//vhmMV5gwrF+K0y5hWb+UL1/eHCF23HHHmaNkdPDzhAkTPLOsECqS+AL1y3vvvfcij2lZTe8XtB9LH4+eXukI5oKmD0u7xNPdJ1rK0zJ3mIVheXGKbqEFaXnRMav6w6kl7Hnz5kmDBg2KfE4YlpfitEtY1y/5+fmSl5fnnWWl1IaABsgrr7xiVahQwZo0aZL1xRdfWFdffbV18MEHW5s2bTJ/v/zyy63bb789Mv2HH35olStXzho3bpz15ZdfWsOHD7cyMzOtrKwsK8ztMnLkSGv27NnWN998Y61YscL6+9//blWsWNFatWqVFSQ7duywPvnkE3PTLvbggw+a/69fv978XdtE28b27bffWpUrV7ZuueUWs7w8+uijVkZGhjVr1iwrzO0yfvx4a/r06dbXX39t+s71119vpaenW++++64VFAMHDjRHLMyfP9/auHFj5JabmxuZJozrl+K0SxjWL7fffrs5AmbdunXW559/bu6npaVZc+bM8cyyQqhI0sMPP2wdccQRVvny5c2hlEuXLo38rUOHDlafPn1ipp8yZYr117/+1Uyvhwu+8847Vtjb5YYbbohMW6NGDeuss86yVq5caQWNfShk/M1uC/1X2yb+OS1btjRt07BhQ3N4XNjb5d5777X+8pe/mB+GQw891OrYsaM1b948K0gStYfeor//MK5fitMuYVi/9O3b16pfv775jIcffrh1+umnRwKFV5YVLn0OAAAcwZgKAADgCEIFAABwBKECAAA4glABAAAcQagAAACOIFQAAABHECoAAIAjCBUAAMARhAoAAOAIQgUA1+hFn/QS1eeff37M43pZ53r16smdd97p2rwBSB2n6Qbgqq+++kpatmwpTz31lFx66aXmsd69e8tnn30mH3/8sbkiLgB/IFQAcN2///1vGTFihKxatUqWLVsmPXv2NIGiRYsWbs8agBQQKgC4Ti9Medppp0lGRoZkZWXJddddJ0OHDnV7tgCkiFABwBNWr14tTZo0kebNm8vKlSulXLlybs8SgBQxUBOAJzz77LNSuXJlWbdunXz//fduzw6AYqBSAcB1ixcvlg4dOsicOXPkrrvuMo+9++67kpaW5vasAUgBlQoArsrNzZUrrrhCBg4cKJ06dZJnnnnGDNacOHEi3wzgM1QqALjq+uuvlxkzZphDSHX3h3riiSfk5ptvNoM2jzzySL4hwCcIFQBcs2DBAjn99NNl/vz5cvLJJ8f8rVu3brJ37152gwA+QqgAAACOYEwFAABwBKECAAA4glABAAAcQagAAACOIFQAAABHECoAAIAjCBUAAMARhAoAAOAIQgUAAHAEoQIAADiCUAEAAMQJ/w+IUohuahbjeAAAAABJRU5ErkJggg==\", \"__metadata__\": {\"image/png\": {\"width\": 533, \"height\": 547}}}" } } ], @@ -79,56 +86,12 @@ }, { "id": "PKri", - "code_hash": "8ed5701904eccbda4e41171b790d6840", - "outputs": [ - { - "type": "error", - "ename": "multiple-defs", - "evalue": "The variable 'x' was defined by another cell", - "traceback": [] - }, - { - "type": "error", - "ename": "multiple-defs", - "evalue": "The variable 'y' was defined by another cell", - "traceback": [] - } - ], - "console": [] - }, - { - "id": "Xref", - "code_hash": "1a6201498b29d7ec58ea500ec3f6927a", - "outputs": [ - { - "type": "error", - "ename": "multiple-defs", - "evalue": "The variable 'i' was defined by another cell", - "traceback": [] - }, - { - "type": "error", - "ename": "multiple-defs", - "evalue": "The variable 'val' was defined by another cell", - "traceback": [] - }, - { - "type": "error", - "ename": "multiple-defs", - "evalue": "The variable 'vec' was defined by another cell", - "traceback": [] - } - ], - "console": [] - }, - { - "id": "SFPL", - "code_hash": "fa5f4c36613e916c64edc94072bbe1bb", + "code_hash": null, "outputs": [ { "type": "data", "data": { - "text/markdown": "

Key Takeaways

\n
    \n
  1. Eigenvalues and Eigenvectors describe linear transformations that act by scaling vectors without changing their direction.
  2. \n
  3. PCA uses eigen-decomposition of the covariance matrix to identify the directions of maximum variance.
  4. \n
  5. Applications include data compression, dimensionality reduction, facial recognition (eigenfaces), and understanding complex systems.
  6. \n
  7. Practical Computation requires numerical methods like QR algorithm for large matrices, as analytical solutions are often intractable.
  8. \n
" + "text/plain": "" } } ],