{ "cells": [ { "cell_type": "markdown", "id": "02a0525a-70e9-4849-929d-33e575c68764", "metadata": {}, "source": [ "# Minima" ] }, { "cell_type": "code", "execution_count": 3, "id": "e3c360d8", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[2.89400000e-01 3.90500000e-01 5.43600000e-01 6.96300000e-01]\n", " [5.92803581e-04 8.61558899e-02 4.98487402e-02 5.78009585e-05]\n", " [2.79400000e+03 3.80500000e+03 5.33600000e+03 6.86300000e+03]]\n", "[2.89400000e-01 5.92803581e-04 2.79400000e+03]\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi8AAAGdCAYAAADaPpOnAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/GU6VOAAAACXBIWXMAAA9hAAAPYQGoP6dpAABXS0lEQVR4nO3deXiU1d0+8HuWzGRPyJ5AIIQ9LAlLQHZQLAWLS7VirYi2aquhteW1b7FVaWtd2vpT3tc3rUtF1FqhWsUFRQUXEMGwBYGwBRIIZE/IMpNk1uf3x8wzZCWZyTzLTO7PdXEpyWTmPAPM3PM933OORhAEAUREREQBQqv0AIiIiIi8wfBCREREAYXhhYiIiAIKwwsREREFFIYXIiIiCigML0RERBRQGF6IiIgooDC8EBERUUDRKz0Af3M6nSgvL0dUVBQ0Go3SwyEiIqI+EAQBzc3NSEtLg1Z7+dpK0IWX8vJypKenKz0MIiIi8kFZWRmGDBly2dsEXXiJiooC4Lr46OhohUdDREREfdHU1IT09HTP+/jlBF14EaeKoqOjGV6IiIgCTF9aPtiwS0RERAElaMJLfn4+srKykJubq/RQiIiISEIaQRAEpQfhT01NTYiJiUFjYyOnjYiIiAKEN+/fQVN5ISIiooGB4YWIiIgCCsMLERERBRSGFyIiIgooDC9EREQUUBheiIiIKKAwvBAREVFAYXghIiKigMLwQkRERAElaA5mzM/PR35+PhwOh9JDISKVarM5UNnYhvKGVlQ2tcFkscNksaPF4oDF7oBGo4EGroPh9FoNIox6RIbqEWXUI9Kox6AIA1JiQpEUZUSIjp/9iJTC4wGIKGhVN7Xh8xPV+OZMPY6UN6K42gSnH17xNBogPsKIwbGhGJEYiZHJkRiZGImxKdFIjwvr06m4RNSRN+/fQVN5ISICAIdTwNYjlXhtTyn2nKnv8v3QEC3SYsOQGhOKmLAQRBj0iDDqYdRrIQAQBAFOwXU/JosdpjZXdaa5zYZakxVVTW2wOwXUmiyoNVlw6Hxjh/uPjzBgyrBBmDJ0EOaMTMD4tGhotQwzRP7EygsRBY09Z+rwh/eLcKyiyfO17CExmD8mCdlDYjA+LQbJ0cZ+VUacTgF1ZleIKatvQXG1CcU1JhRXm3CqygSrw9nh9klRRlw5NglLJ6Zi9sgE6BhkiLrlzfs3wwsRBTyHU8Azn55E/hfFEAQgOlSPlbMycMv0oRgcGybbOCx2B45caMLBcxdRUFKPXcW1MFsv9eGlxoTixilDcNsVw5ASEyrbuIgCAcMLwwvRgGF3OPFfbx7Cu4XlAIBbctPxm++OxaAIg8Ijc4WZgpJ6fHy0Eu8fqkBjqw0AYNBpcePUIbh3/ggMjQ9XeJRE6sDwwvBCNCAIgoA1/zmMTfvKoNdq8NQPsnH95MFKD6tbbTYHth2rwitfl2Jv6UUArhDz4znDserKkYg0sgWRBjaGF4YXogHhn3vO4qHNR6DVAH+/bSoWj09Rekh9UlBSj//dfgpfFdcCAJKjjXjqB9mYOypR4ZERKceb929uVEBEAamsvgV/2lIEAPjv744NmOACANOHx+G1n0zHP26fhmHx4ahqsmDFSwX40wdFsHVq+CWirhheiCggPfLuEbTZnLgiMw4/nZep9HC8ptFosCgrGVvvn4fbrhgKAPjHVyX48Ya9aGqzKTw6InVjeCGigLO3tB6fn6iBXqvBYzdMDOhN4cIMOvzp+ol4fsVUhBt02HmqFjf9/WvUNFuUHhqRarFDjIgCzv9sOwUA+MG0dIxIjFR4NP6xeHwK/v3TmfjJK3txssqEW1/cg433XIH4SKPSQ+sTq92Jb8834FS1CaY2O7RaDQbHhmHSkBikybhcnQYGhhciCijHK5vwVXEt9FoN7lswQunh+NWEwTH4909n4ubnd+NUtQm3ry/Amz+biXCDel+qz9aZ8fcvTmPL4Qo0t9m7vc3o5EjckjsUN00bgujQEJlHSMGIq42IBrDGFhvO1begvsWKplYbTBY7NAB0Wg1CdFrEhocgIdKI5OhQJEQaVDE98/v3jmLD16VYOjEFf/vRVKWHI4kzNSbc/Pxu1JqsWDIhBfm3TlHdEQNWuxP/s/0knvvyDBzuA6MSIg0YnxaD+AgDLHYnSuvMOFbR5DlPKi7CgP/6zmjckjuUOw1TFzzbiIi6cDoFHCy7iJ2narGv9CKOljfiYkvfG0NjwkIwJjkK4wdHY/aIBMzIjEOUzJ+i22wOvH3gPADgltyhsj62nDITI/HcbVPxwxf34KMjlfj7l6eRt3Ck0sPyuGi24iev7MWBcw0AgPmjE3HvghGYnhHXJWQ1tFjxwbcVWL+rBGdqzPjdO0ew5dsKrFueg6Ro7jJMvmHlhSjINbba8OrXpdi4twwXGlq7fD8xyoiESCOiQ/WICnV9nrE7BVjtTtSbrag1WVFvtnQ5jVmv1WDBmCTcNHUIrhqXhBCd9P3/W49U4Gf/PIDBsWHY+d8LVVeN8LeNBeew5u3D0Gs1eOe+2Zg4JEbpIaGm2YJbXtiN0zVmRIfq8eSNk7B0YmqvP2d3OPHPPWfxl49PoMXqQEKkERvuzMWEwcpfE6nDgNykLj8/H/n5+XA4HDh58iTDCw14giBg094yPPbhMU8vQqRRjwVjEjEjMx6T02MxPCECEX3Y2bXN5sCZGjNOVDVhX+lFfFVci7N1LZ7vp8eFYdXCkbhxyhDoJQwxv9pUiHcOXsBdc4bjoe9lSfY4aiEIAu57/QA+OlKJEYkR2PKLuQgN0Sk2nharHT98YQ8OnW9EakwoXv3xdIxKjvLqPk7XmHDfPw/gRFUzIo16vLRyGmZkxks0YgokAzK8iFh5IXKFjV9uLMTWo5UAgFFJkchbOBLfnZDitze/U1XNeOvAeby17zzqzFYAwITB0Xjy+5Mk+TRtczgx9dFP0dRmx79/OhPTh8f5/THU6KLZiu+s24GaZgv+6+rR+PlVoxQbyy83HsTmwnIMCg/B2/fNxvCECJ/up6nNhrtf2YdvSuoRadRj4z1XsAJD3GGXaCCz2B1Yub4AW49WwqDT4qFrxmHrL+fh+smD/fqpfVRyFB5cMg47f7MQD10zDjFhIThyoQnX5e/Chl0l8PfnooKSejS12REfYcDUYYP8et9qNijCgIeuGQcAyP+iuNupPzm8W3gBmwvLodNq8PyKaT4HFwCIDg3BKz+ejpmZ8TBZ7Ljj5QKU1bf0/oNEbgwvREFEEAQ8+J/D+KakHlFGPV77yXTcNTdT0pUd4QY97pqbiW2r52PpxBQ4nAJ+/34Rfrf5CJydG2X6Yecp1zlA88ckDriVKtdmp2H68Di02Zz480fHZX/8i2YrHnn3KAAgb+FIv1S9QkN0eOH2qRifFo1akxX3vr4fbTZHv++XBgaGF6IgsuVwBd4+eAF6rQbPrZgqay9BYpQR+bdOwUPXjINWA/zrm3NY8/a3fgswu8/UAQBmjUjwy/0FEo1Gg0fcPT7vf1uOk1XNsj7+M9tOorHVhrEpUfj5lf5b9RQVGoIXb5+GuAgDjlxowh/eL/LbfVNwY3ghChJmix2/f+/Sp+PZI+V/k9doNLhrbibW3TIZWg3w733n8cy2k/2+3+Y2G45caAQAzBwxMJs7JwyOwXfHp0AQgP/dfkq2xy2ubsbr35wDADyyLMvvq8rSYsOwbnkONBrgjYJz+Px4tV/vn4ITwwtRkHhtz1nUmqzIiA9XfE+Qa7PT8JebsgEAz35WjA8PV/Tr/vaW1sPhFDA0LhyDB/BW8/cvcjXrbjlcgeJqkyyPmf/5aTicAq7OSpas6jVvdCLumjMcAPDbdw7zYErqFTepI/KC2WJHdbMF1U1tqG62oMVqh8Xu9MzVhxn0iDDokBwdimHx4UiNCZOlP8Nqd+IfO88AAFZdOQoGvfKfS26aOgQnq5rxwo4zWPOfbzF12CAk+7gp2Z4z9QCAmQN8Se241GgsGpeMbceq8OruUvzxugmSPl5ZfQveO1QOALhf4lVOq68eg0+LqlBa14I/f3Qcj90wUdLHo8DG8ELUidXuRHG1CadrTDhTY8aZWtd/S2vNaLZ0f3ZLT6KMeuQOj8PCMYm4NnswYsKl2ZH2s+PVqDVZkRxtxPU5aZI8hi9+vXgMdp+uw+ELjfjt24fx0h25Pt1PoXsn12kZA2eVUU/unJ2Bbceq8Nb+83hg8RhJzwp6cadr6/+5oxIkX8ocZtDhyRsn4ZYX9uCNgnO47YphGJfK7S6oewwvNKC12Rw4UdmMI+WNOHKhEUcuNOFEZTOsDmePPxPurqwkRhoRGaqHUa/1LEFusdphtjhQ3tiKsvoWNFvs+Ox4NT47Xo0/bTmGH04fivuvGoVBEQa/Xsdb+11b5t8wWdpN4rwVotPi6Zuzcc3/foXtx6vxxYlqLBiT5NV9OJwCjpa7+l0mDYmVYJSBZdaIeIxKisSpahPe2nceP3ZPt/hbi9WOtw9cAAD8dJ48B2BekRmPayamYsvhCvxpSxH++ZMZqjhPi9SH4YUGlIYWK/afvYiC0nrsK72Iw+cbuw0q0aF6jE6OwvCECGQmRiIzMQKZCRFIjQ1DZB92pAVcb7rHKpqwq7gW7xy8gOOVzdjwdSneLbyAZ5bneP0m3pMWqx07TtYAAL4/ZbBf7tOfRiVHYeWsYXhxZwke23IMc0YmeBWwSmpNMFsdCA3RYkSi73uLBAuNRoPbZ2Xg4c1HsHHvOdw5O0OSN/gPvq2AyWLHsPhwzJKxSXrNkrH4tKgKu4rr8Nnxalw1Llm2x6bAwfBCQe2i2Ypdp2vx9ek67Cutx8mqrk2OcREGTBgcgwlp0ZgwOAYTB8dgyKCwfr8h6LQa1/0OjsE98zKxq7gOf9pShOOVzbhzw148dv1E3Dqj/4cL7j5dB6vDifS4MIxKiuz3/Ulh1ZWj8Nb+8zhVbcJ7h8rx/SlD+vyzh92rjManxaiqqqSka7PT8OgHRThZZcLR8iZJpnQ2FrhWGC3PTZf1DKn0uHDcOScDz395Bs9sO4krxyax+kJdMLxQULHYHdh/9iK+OlWLnadqcaS8EZ03eh2RGIHcjDhMy4hDbsYgDI0Ll/zFUaPRYM6oBGzOm40/vH8UbxSU4bfvHEaEUYfrcvpXLfnSXXWZPzpRtS/yMWEhuGtuJv768Qk8/+UZ3DB5cJ/Hevh8EwBgIreP94gJC8HV45Kx5XAF3jl4we/hpaTWjAPnGqDTanDT1L4HTX/56bwReG33WRy50MTqC3WL4YUC3oWGVmw/VoXPjlfjmzP1aO20S+eY5CjMHpmAGZlxmDZsEOIjjQqN1LWr6OM3TIRRr8OGr0ux5j+HkZUa7fXhdu3tcW/eNndUor+GKYnbrhiGv39xGieqmr16QxL3d+HZNx19f8pgbDlcgXcLL+DBJWP9WpUSl7bPGhGPpCjfVoj1R1yEAStmDsPzX57B/2w/xeoLdcHwQgHH6RRwpLwR245VY1tRFYoqmjp8PzHKiLkjEzBnVALmjExAko/Lc6Wi0Wjw8PeyUFxtwlfFtfjNf77FWz+b5VNp3mSx45R7v4/JQ2P9PFL/igkLwa0zhuKFHWfwyu6zfQov7Zt1WXnpaN7oRMRFGFBrsqKgtN6ve7B8dMQVXpZOTPXbfXrrnrmZePXrs/j2fCO+Kq5VfTgneTG8UECwO5z4pqQeWw5XYPuxKlQ1WTzf02qAacPicNW4JCwYk4TRyZGq/5Sm02rw1A+yceX/+wIHzjXg3UMXcMNk78vzRy64psXSYkIV+YTsrR+5w8vOUzW40NDa64ZzYrNuWIiOzbqdhOi0uGpsEt7cfx6fHK3yW3g5V9eCIxeaoNNqsHh8il/u0xfxkUYsz03Hhq9Lsf6rEoYX6oDhhVTL4RRQUFKPLYfLsfVIJWpNVs/3wg06zB+diEXjkrFwbBLi/Lz0WA4pMaHIWzgSf/34BJ79rBjXZQ/2uvpyqKwBAJCdHuv/AUpgWHwEZmbGY/eZOry5rwy/XDT6srcXm3Wz0qLZrNuNxeNT8Ob+8/i0qAprl2X5JbRvPeqqulyRGaf4v6s7ZmXgld2l+PxEDU7XmDAiUZ0N6SQ/hhdSFUEQsP/sRbx/qBwfHqlETfOlCsug8BB8d0IKFo9PwRWZ8Z69VQLZ7TOH4bkvT+NMjRnbjlXhO15+0j1a7poyC6R+kFump7vDy3n84spRlw1sbNa9vDmjEhAWosOFhla/rTr6/LirAfxqFTTJZiRE4KqxSdh2rBobdpXi0eul3VGYAgfDC6lCWX0L3j5wAf85cB7n6ls8X48O1eO7E1JwzaQ0zBoR7/dD4ZQWFRqCH053TaW8uf+81+HldI2r32V0Pxp+5bZ4fAoijXpcaGjFwbIGTB3W8665bNa9vNAQVwVy69FKfHK0st/Pk9lix76zrqMY5vtpH6L++vHs4dh2rNqzo3BMmHQ7ClPgYHghxZgsdnx0uAJv7T+Pb0rqPV+PMOiweEIKlk1Kw+yRCao4p0dKN04Zghd2nMEXJ6px0Wzt8+67TqeAMzVmAAiofpDQEB2uGpeEdwvL8eHhih7DC5t1++aqcUnYerQSX56qxervjOnXfe05UwebQ0B6XBgy4sP9NML+mTkiHqOTI3GyyrVH0Iorhik9JNWx2p3Yc8a1l9W5+hY4BFelekxKFOaPTsSQQer4s/QnhheSlSAIKCxrwOvfnMOWbys8y5o1GteyzJumDsHi8SkINwycv5pjUqKQlRqNooomfFJUieW5fdu4rqKpDa02B0J0GqTHBdaL0zUTUz3h5XdLx3U7dcRm3b4RG1kPn29AY4utX+dniTs1zxulnj2DNBoNlucOxaMfFGHT3nMML+20Wh14+esSvLSzBHVma4+3m54Rh3sXjsACFe8F5a2B8w5BijJb7HjvUDn+ueesp08DAIYnROCmqUNw/eTBva48CWZXZyWjqKIJX56s6XN4Oe1eIj00LjzgptPmjU5EpFGPisa2HqeO2KzbNykxoRiZFIniahO+Pl2LJf1Y3ixueDhvtLpW9twweTD+/NFxHLnQhCMXGjmNCKCwrAGrNxXiTK2r+poQacSCMYkYkRgJg16L6uY2HDzbgL1n61FQWo+Cl+sxd1QCHr9hYsB92OmOKsPLDTfcgC+++AJXXXUV3nrrLaWHQ/1wsqoZ/9xzFu8cuOA5kdmg1+J7E1Nx64yhmDpsUNB8EuiP+WMS8T/bT+GrU7WwO5x9erMucb9oZQbgCoz2U0dbvu1+6ujb85wy6qs5IxNQXG3CjlO+h5eqpjaU1rVA666CqklchAHfGZ+MD76twL/3lQ348LLl2wr8alMhrA4nkqON+M13x+La7LRuXzcqG9vw0leuvZV2nqrF4nU78P9+kN2vkKsGqvw4c//99+PVV19VehjkI0EQ8OXJGqx46Rt855kdeHX3WTRb7MiID8fvlo7DNw9ehaeX52BaRhyDi1v2kFjEhIWgqc3uqTj0pryhFQAwZFBgVqzEDdA+PloJofMZDgAOnxdPkh7Yb1R9MW+0a4+Xr4prfL6Pg+caALiav6NC1dcUe4u7IvnOwQto67SL9kDybuEFrHrjAKwOJ67OSsYnv5yP70/p+TT5lJhQ/O6aLGy9fy6mZ8ShxerAva8fwDOfnuz2312gUGV4WbBgAaKiAmf1BLlY7A78e28ZFq/bgZXrC7DzVC20GmDx+GS89pPp+Oy/FuDueZl9bkgdSHRajaf6IL6J9Ka8sQ0AkBYTmOFl/uhEhBtcy3zFKovI7nDiSDnDS1/NGB6PEJ0GZfWtOFfX0vsPdONg2UUAwOShPa/+UtKsEfEYHBuG5jY7th2rUno4ithVXIsH3jwEQQBunTEUz902tc89TpmJkfjX3TNw15zhAID/2X4Kj35wLGADjNfhZceOHVi2bBnS0tKg0WiwefPmLrfJz89HRkYGQkNDMWPGDBQUFPhjrKRSja02PLv9FGY/+Tn++z/f4mSVCREGHe6cnYEvf70Qz6+YhrmjEmU9mTYQTXZvNFfo3niuNxXuyktqrPp31u1OaIgOC8e6luN+6N6OXlRcY0KbzYkIgw6ZCYE3LSa3CKPeM722t7S+l1t3TwzNaj1mQqvV4LqcNADAu4XlCo9GfpWNbcj71wHYHAK+NykVf7puAnRevqbqdVo89L0sPHrdeADA+l0lARtgvA4vZrMZ2dnZyM/P7/b7mzZtwurVq7F27VocOHAA2dnZWLx4Maqrqz23ycnJwYQJE7r8Ki8feH8hA9lFsxVPfXwCc578DP/v05OoNVmQGhOKB5eMxdcPXoW1y8YHRWOYXHLcbxp9Di9i5SWAG52XTHDta/PR4Y5TR9+WXdrfhaG3b3Iz4gD4Fl7sDie+Pd8AAJii0vACANdPdp3A/sWJajS09Ly6Jtg4nAJ+uekgGlpsmDA4Gv/v5ux+/btYMTMDf7lxEgBXgPnHzhJ/DVU2XjfsLlmyBEuWLOnx+08//TTuvvtu3HnnnQCA5557Dlu2bMH69euxZs0aAEBhYaFvo+2GxWKBxXJpF9ampqbL3Jr8odZkwYs7z+C13WfRYnXNPY9OjsR9C0bimkmpAbfyRS0mDYkFAJyrb0Fjq+2ym3E5nAIqmwJ72ggAFo5JglGvxbn6FhRVNGF8mqt6cDDAjj1Qg9yMODy/44xP4eV4ZTPabE5EhepVXekanRyFsSlROF7ZjI+OVOKH0/u2Mi/Qvf7NWew5U49wgw7P/nAKjPr+7y5+c246GlqtePzD43jsw2MYPChM0YM4veXXdxmr1Yr9+/dj0aJFlx5Aq8WiRYuwe/dufz6UxxNPPIGYmBjPr/T0dEkeh1yVlse2FGHOnz/D81+eQYvVgfFp0XjutinYev88XD95MINLP8SEhSA1xjUFVFzdfNnb1jRb4HAK0Gs1SIwyyjE8SUQY9VgwxrUs96PDlZ6v7zlTB8C1PwX1jdgzdbrGjDqTpZdbdySGxZz0WNVXusTqy+aDFxQeiTzqTBY89fEJAMCaJWMxPMF/ex7dPTcTd8zKAAA88OahXl931MSv7zS1tbVwOBxITu54JkZycjIqKyt7+KmuFi1ahB/84Af48MMPMWTIkMsGnwcffBCNjY2eX2VlZT6Pn7rXYrXj/z47hXl/+Rwv7ixBm82J7PRYvLRyGj74+Rx8d0Kq6l/wAsXIJNen3lNVpsverqLR1e+SHB3q9by32iyZ4Pq09+GRCgiCgIrGVpTUmqHVANMzGV76alCEAaPcf3/2nb3o1c8ePKfuZt32lmW7+l4KSus9K+6C2V8/PoGmNjvGp0XjRzP8u0GfRqPBQ9eMw8zMeLRYHfjpa/thcm9poXaq/Ji8bds21NTUoKWlBefPn8fMmTN7vK3RaER0dHSHX+QfNocTr+0uxby/fIGnPjmJZosdWanRePnOXGy+bxauGpfMpc5+Jp5RdLKX8FLnPmE7ITLwV25dOS4JBp0WZ2rMOFll8hwMOHFwDKJVuGRXzXKHu8LePi+njgpV3qzb3uDYMEzPiIMgAO8fCu4+ydJaM97cfx4A8Idrx0vyQUWv0+LZWycjOdqI0zVmPLz5iN8fQwp+DS8JCQnQ6XSoquq4jK2qqgopKd4dOEfKEQQBnxZV4eqnv8TD7x5FrcmCoXHh+J9bcvDBz+dg4ZgkhhaJiJ+cT/VSvq13bwUeFwTLzqNDQzDfPXW0/qsSvHPQ9WId6JtoKSE3w1U5KSjte+Xlotnq2aU1x913pXbXulcdvRfk4eX/Pi+Gwylg4ZhETJNwCjUh0oj8W6dAq3Hto/Ph4Yref0hhfg0vBoMBU6dOxfbt2z1fczqd2L59+2WrJ/6Qn5+PrKws5ObmSvo4wa64uhm3ry/A3a/uQ2ldCxIijXj0uvHYtno+rssZzOkhiY1whxdx99ye1HnCS+D2u7T3s/mZAIBN+8qwt/QiQnSXlsVS300b5nqDO3qhsc8buRW6VxllJkQEzB5MSyemQq/V4Gh5k+dk9WBzrq4F77j7eu5fNFryx5uWEYf7FowEAPzuncOodi8IUCuvw4vJZEJhYaFnxVBJSQkKCwtx7tw5AMDq1avx4osv4pVXXsGxY8dw7733wmw2e1YfSSUvLw9FRUXYu3evpI8TrBpbbfjj+0X47rqd2HmqFgadFvctGIEvfr0AK2ZmBP3JzmqR7j79tbKxDXaHs8fbiQ2Z8UEwbQQAU4fF4cYpQzy/v2tuJlIDeBWVUoYMCkNSlBF2p4BDfVxyL+7vkhMAU0aiuAgD5oxy7Sr8wSH1Vwl8seHrUjicAuaPTkSOTKvufnHVKGSlRuNiiw1r3j6s6v1fvF4qvW/fPixcuNDz+9WrVwMAVq5ciQ0bNmD58uWoqanBI488gsrKSuTk5GDr1q1dmnhJHQRBwHuHyvHoB0WodfdRXJ2VjIeuGYdh8TzJV25JUUaE6DSwOVxLoXs6yj6Ypo1Ef75xIuaNToBeq/Xs/0Le0WhcOzV/dKQS+89dxIzM3s8oCqRm3faWTUrDFydq8N6hC/jFVSODairbbLHjzf2uxSd3zs6Q7XENei2eWZ6DZc9+hc+OV+O9Q+W4LmewbI/vDa/Dy4IFC3pNY6tWrcKqVat8HhTJo6y+BQ9tPuI5SXZEYgTWLhuvuhNlBxKtVoPBsWEorWvB+YutPYaXuiAML3qdVrUvlIFEDC8H+rDiyOkUPJsiTg6wPXW+Mz4Zhne0OF1jxrGKZmSlBc9ijXcOXkBzmx3DEyIwb5S8r8djUqKw6sqRePrTk3j0gyLMH52I2HD1vc4EzVwAe176zu5w4h87z+A7z+zAlydrYNBp8V9Xj8ZH989jcFEBMbCcv9jzMlCx8hIMq43Iv8T9XvafvdjrB80ztSY0t9kRGqLF2JTAOk8uKjQEV45xHS8RbI27//rG1YZx2xXDFOkz/Nn8ERiZFIlakxVPfnRc9sfvi6AJL+x56ZszNSbc+Nxu/GnLMbTaHJgxPA4f/XIufn7VKPa1qER6nKvXo6y+5wP2xJ6XYGnYJf8ZnxYDo16Liy02zyqinhxw97tMGhLb46nEaibu+fL+oXJV92d440RlM4oqmhCi0+D7k5WpRBr0Wjx+w0QAwMa9ZSgo8e28LCkF3t9W8okgCHh1dymW/u9OHCprQFSoHk9+fyLeuPsKjEhU73bgA5HYqFp1mW7/eve5LnEqLOeSsgx6LbLdS5739zJ1pPbDGHtz5dgkRLhPJj/YxwZltdtc6FphtGBMkqKrv6YPj8Mtua4d6x98+1tY7H1bvSYXhpcBoKqpDStf3otH3j2KNpsTc0Ym4JNfzcMt04dy6bMKidv91zR3v8W71e5Em821Euly5x/RwDVFnDrqZb8XT7NuemA164rCDDpcneVaDPJeEJw07XQKnuu4QaGqS3sPLhmHhEgDTteY8cKXZ5QeTgcML0FuW1EVFq/bgR0na2DUa/H7ZVl49cfTuQxVxRIj3eGlh/Npmttsnv+PDPW6554GAE/fy7mew4vJYsfJKtdmiIFaeQEubVi35XAFHM7Anjrad/YiLjS0Isqox5Vjk5QeDmLCQ/Dw97IAAM9+XozSXqYh5cTwEqRsDiee+PAY7np1n+cY9S2/mIM7Zg9ntUXlkqIvX3lpbnOdPRJh0AX8uUYkjSnuMFJcbUKDe4qxs2/PN8ApuLbbT44OlXF0/jVnZCJiwkJQ02zBN+4DPQPVp0WuMwCvzkpGaEj/T472h2uz0zBnZAKsdicefveIanqLgia8cLXRJRWNrbjlhT14foerzHfn7Ay8fe9sjEwKrNUEA1X7aSNnN58km9yVl2hOGVEP4iONyHSfPnygh+pLIG5O1x2D/tK+QO9/G7hTR+KxLAA8U2FqoNFo8KfrJ8Cg12LnqVrVrOwKmvDC1UYuX5+uxTX/+xX2n72IKKMef//RFKxdNp4riQJIvHsFkd0poKHV1uX7YuUlilNGdBlT2i2Z7o6nWTfA9nfpzrXuVUcfHamE1d7zztRqdrrGjNK6Fhh0WsxV2ZYVGQkR+PlC19EBj35wDI3dvC7Jje9oQeSfe87i9pcKUG+2YnxaND74xRwebheADHotBoW7qirdTR2JPS9RPHGZLmPqZcKLIAieikyg7azbnRmZ8UiMMqKhxYavimuUHo5Pth1zVV1mjohHpFF9H0zumZ+JEYkRqDVZ8Jetyu/9wvASBGwOJx559wge2nwEdqeA63PS8J97Z3F7/wAmTh1VN3ddLt3krrxEs/JClzHNHV4Kyxpg63ROVkmtGfVmKwx6LSYMDvydaXVaDa5xf1B7P0DPOtrmnjJapKIpo/aMeh0ec+/98q+Ccz1OR8qF4SXANbbacMfLBXh191kAwK8Xj8Ezy3NU0+xFvhG3/b/YcrlpI1ZeqGcjEiMRHapHm82JYxVNHb63z12NyR4SA6M+OF4rxA3rPjlaiVaruvYk6Y3JYvfsU7NAZVNG7V2RGY8fTB0CQQB++/bhyx4eKzWGlwBW1dSG5c/vxq7iOoQbdHhhxVTkLQyuA8oGqtgwV3hp7GalSFOrOG3Eygv1TKvV9Nj3Ip57NHVYnOzjksqUobEYHBsGs9WBz09UKz0crxSU1MHhFDA0Lhzpcd2fZ6YWDy4dh/Fp0fjV1aMV3ZU5aMLLQFttdKbGhO//7Wscr2xGYpQRb/5sJr4znifxBotYd89LAysv1A/i1NG+TuFF/L34/WCg0Wg6HBcQSL4udi3xnj2y91PAlRYXYcAHP5+DxQq/3wRNeBlIq40OlTXgpud240JDKzLiw/H2vbMwPi1G6WGRH8WI4aXb1UbiUmlWXujyxMpL+xOmKxvbUFxtglYDTMsInvACAMuyXX0v249Xd9jMUe12nXaFl5kjEhQeSd+oobofNOFloNh/th63vrgH9WYrJg2JwVv3zlJ9mZG8J04bsfJC/ZGTHgudVoOKxjZcaHCdUv7lSdeUSnZ6LGKD7GysrNRojEiMgNXu9OyZonb1ZqunJ2lmpvorL2rB8BJA9pXW4/aXCmC2OjAzMx7/uvsKJETyVOFgJE4bNbZ27XkxW13hJdIYHI2WJJ1wgx6Thriqsp8ede3e+tlxV3iZr+LGUF+1nzp6N0DOOhJ3BR6dHOlZZUi9Y3gJEAUl9bh9vSu4zB4Zj/V35KpyLwDyj9gwMbx0rby0uFdShIXwz596t2yS6818c2E5Glqs+Py4ax8UNe3i6k/X5bgONNxxqgZl9S0Kj6Z34pLj3IzgaZ6WA8NLANh/9iLueLkALVYH5oxMwD9uz0WYgZ+6g1nMZRp2xfASzr8D1AfLstOg02pQWNaAe17dD6vDiazU6KDtkxueEIG5oxIgCMDr35xTeji9OuDe6XhKEGwWKCeGF5U7WdWMH2/YixarA3NHJeAfK6cxuAwAnp6Xbiovre5pI4YX6ovEKCOW56YDAApK6wEA9y4YoeSQJLfiimEAgE17z6HNpt49X6x2Jw5faAQQ2Cd7KyFowkswLpU+f7EFK176Bo2tNkwZGovnV0zl5nMDhFh5abxM5YV/F6ivfvPdsZiZGQ+tBrhjVga+Nym4jw25alwyBseG4WKLTdXLposqmmC1OzEoPATDE7gjujeCJrwE21LpOpMFt79UgKomC0YnR2L9HbkIN7DHYaAQN6CzOpyw2Dt+cmy1cdqIvBMTFoI37rkCxY8txe+vHa+Kpa5S0mk1uM1dffnHzpJuT2dXg4PtzpcK9j8Tfwua8BJMLHYH7nltP87UmjE4Ngyv/nhG0C1ppMuLaBdUzZZO4cXT88IwS97RagfOG+StM4YiyqjHiapmfHpMncumL/W7xCo6jkDE8KIygiDgwbcPY//Zi4gO1ePVn0xHSkyo0sMimem0GoS5p4VM7n1dANccud39KZK9T0Q9iwkLwe2zXNWXZz87BUFQX/Xl2/MNAICcdDbreovhRWWe33EGbx+4AJ1Wg7/9aCpGJEYqPSRSSKR76shkuRRe2h84x2kjosv7yZxMhIXocORCk2d/G7VoarPhbJ1rKff4tMA/2VtuDC8qsv1YFf689TgAYO2yLMwZFRhbRZM0xH18xE3pAKDF5vr/EJ0GIQoeikYUCOIiDLh9pqv68uetxxU9Bbmz4xXNAIC0mFAMimBbgLf46qcSZfUtWP3vQxAE4EczhuL2mRlKD4kUFuHeQbd95YUrjYi8c9+CkYgND8HJKhM27StTejgeReWuJdJZQbrfjtQYXlTAandi1RsH0dhqQ3Z6LNYuG6/0kEgFxKbd9j0vrdygjsgrMeEh+OVVowAAT39yUjUHNh4td51nlMUpI58wvKjAEx8dw6GyBsSEheD/fjgZBj3/WOjScmlzN5UXrjQi6rsfXTEMmYkRqDNb8X+fFSs9HACuPV4A12GS5L2geZcM1E3qthVV4eVdpQCAp2/O5gnR5BFh7KZh1yaea8TKC1Ffhei0ePiaLADA+l0lOF1jUnQ8VrsTp6pcY2Czrm+CJrwE4iZ19WYr1rx9GABw15zhuGpccB6URr4Rw0v7fV54NACRbxaOTcKVY5Ngcwj44/tFii6dLq42wepwIipUjyGDwhQbRyALmvASaARBwEObD6PW5NpB94HFY5QeEqlMlKfycmmO3nOiNMMLkdce/l4WDDotvjxZo+jS6RNVrimjcSnR3FnXRwwvCnnvUDk+PFwJvVaDp2/O4eoR6uLStNGlykubzbXUk39fiLw3PCECP5k7HADwxw+Kuhy9IZfiateU0Ygk7uPlK4YXBdSZLHjk3aMAgJ9fOQoTBnOpHHUlTg21PxVXfLE1sqmbyCerFo5EcrQRZ+ta8NJXJYqMQQwvoxhefMZXQAU8/uFxNLbaMC41GvctDO6j6cl3YnWl/a66Frur8mLUs/JC5IsIox4PLhkHAPi/z4pR2dgm+xjE8DKS4cVnDC8y23OmDv85cB4aDfD4DRO4Syr1yBNe2lVerGJ4CeHfGyJfXZeThqnDBqHF6sCTHx2T9bFtDqfnWACGF9/xFVBGVrsTD20+AgC4dfpQTB7Kw7ioZ+Jy6O6mjQwMvUQ+02g0+MO146HRAJsLy7GvtF62xz5bZ4bdKSDCoEMqD931GV8BZfTK16UorjYhIdKA/148VunhkMqFuqsrHcKLjZUXIn+YMDgGt+QOBQCsfe8onE55lk63b9blSiPf8RVQJg0tVjz72SkAwH8vHouY8BCFR0Rqd6nycukwOav7YDkjKy9E/fbAd0YjKlSPo+VN2HasSpbH9PS7JHLKqD/4CiiTZz8rRlObHWNTonDj1CFKD4cCgLGbnpdLlRc27BL1V3ykEbdd4Tp1+h875Vl5xGXS/hE04UXNxwOcrTPj1d2lAIDfLh0HnZalQurd5XpeuFSayD/umJWBEJ0GBaX1KCxrkPzxStzNuiMSIyR/rGAWNK+Aaj4e4KlPTsLmEDBvdCLmjU5UejgUIMSelw6rjdzTRjy8k8g/kqNDsSw7DQA8HzKldK7ODAAYGsfw0h98BZRYcXUzPvi2HACw5rts0qW+C+tukzpx2ojhhchvfjTDNXX00eHKDgeh+ltTmw0XW1zHfQyN5yG8/cFXQIk9+1kxBAFYPD4ZWTw9lLwQ6t6IzuYQYHdXXDwNu9ykjshvpgyNRWZiBFptDmxxf9iUwjn3lFFCpAGR7uM/yDcMLxI6XWPC+4dc/xB+cdUohUdDgab94Ytt7s3pxMoLp42I/Eej0eAHU9MBAG/tPy/Z45yrd4WXoXGsuvQXXwEllP95MZwCsGhcMsan8fwi8k77qSFx6ogNu0TSuH6yq+9lb+lFVDdJc2SAuLMuw0v/8RVQIhWNrXivUKy6jFR4NBSINBrNpaZdqxheOG1EJIXUmDDkpMcCAD4pkmbPl3P17mbdeDbr9hfDi0Re3X0WdqeAKzLjMGlIrNLDoQDVebm0eLYRp42I/O+7E1IAAB8frZTk/sXKyzBWXvqNr4ASaLU68K9vzgEAfjx7uMKjoUAW2mmX3UuVF/7TJfK3xeNd4WX36To0ttr8fv+e8MKVRv3GV0AJ/OfAeTS22jA0LhxXjUtWejgUwDqfLG1h5YVIMsMTIpCZGAG7U8Du03V+vW+r3YmKxlYA7HnxB74C+pkgCNjwdSkA4M7ZGdxNl/pFrLCI00Vs2CWS1tyRCQCAXcW1fr3fisZWOAXXv93EKKNf73sg4iugn+07exHF1SaEG3S4iWcYUT+FuA9gtIn7vNh5thGRlGZLFF7KG1wrmAbHhvE0aT9gePGzTXvLAADfm5SKqFCeHE39I04PWexOCIJwadqIp0oTSeKKEfHQaTU4U2vGhYZWv92vOGWUGhvqt/scyPgK6EfNbTZs+bYCALA8N13h0VAwEEOK1eGEzSFc+jqnjYgkER0agklDXPtyfe3H6ku5OwilxoT57T4HMr4C+tEH31ag1ebAiMQITBk6SOnhUBAIcYcUm90Ju9N56es6lp2JpDI9Iw4AcOBcg9/us7zRNW2UFsPKiz8wvPjRm/tcU0bLc9M5p0l+0aHyYr9UeQnhtBGRZCa7P3weOHvRb/dZ4a68pMWy8uIPQfMKmJ+fj6ysLOTm5iry+GX1LThwrgFaDXD95MGKjIGCT/vVRrZ2lRc9V7ERSWbKsFgAwMnqZjS1+We/F7FhN5XhxS+CJrzk5eWhqKgIe/fuVeTxtxx29brMGB6PpCiWBck/xOkhm8MJu7vnRa/VsLJHJKGkqFCkx4VBEIBDZQ1+uc9yd8Mup438I2jCi9I+cB+jviw7TeGRUDBpv9pIXC6tZ78LkeSmeKaOGvp9X81tNjS32QGw8uIvDC9+UFJrxpELTdBpNZ6zMYj8wdBu2sjudFVeQrT8Z0sktWz3mXRHyhv7fV8V7mbd6FA9Io36ft8fMbz4xRZ31WX2yATERRgUHg0Fk/ab1ImVlxAukyaSXFZaNACgqLyp3/dVzmZdv+OroB98eqwaALCUVRfys/aVF8+0EZt1iSQ3LtUVXi40tKKxpX9Nu2LlJZX9Ln7D8NJPNc0WT0PXlWOTlB0MBR1ju6XSYsMul0kTSS8mLARDBrkqJUUV/au+VDdZAADJ0Qwv/sJXwX76/ISr6jJxcAyS+BeT/Kz9tJG4SR0bdonkkeWuvvQ3vNSYXJWXJB7I6DcML/30+XFXeGHVhaTQfrWR1X5pqTQRSc9ffS9i5YWnSfsPw0s/WO1O7DhZA4DhhaTRcbWRu2GX00ZEshD7Xo5X9rfyIoYXVuf9ha+C/bCvtB5mqwMJkUZMHByj9HAoCHWYNmLPC5GsRiZFAgDO1JjhdAq93LpnrLz4H18F++Hr03UAgDkj46FlKZ8k0O1qI/a8EMliaFw49FoNWm0OVDa1+XQfgiB4Ki/sefEfhpd+2H3GFV5mjohXeCQUrDxnGzm4SR2R3EJ0WgyLDwcAnK4x+XQfTa12WO2uDx6svPgPXwV9ZLbYPUukZ2YmKDsYClqeaSO70G6TOlZeiOQyItE1dXS62rfwIq40ig7VIzRE57dxDXQMLz7ad/Yi7E4Bg2PDkB7HXRNJGgZ3eLE4nLB5DmbkP1siuYxw972crjH79PPsd5EGXwV9tNvd73JFZjxP+CXJdFhtJFZe2PNCJBtP5cXHaaNL/S5caeRPDC8+2sN+F5KBuKeLw+mEzcnKC5HcMhMjALhWHPmClRdp8FXQBxa7w7NpUW7GIIVHQ8FM7542sjsET+WFq42I5DMsztWwW9nUhjabw+uf50ojaTC8+KCovAlWhxNxEQYMdf/FJpKCzl15sTsvNewauM8LkWziIgyIMLgabS+4T4f2RrV7iTUrL/7FV0EfFLpXGeWkx7LfhSQl9rfY2zfssvJCJBuNRoN094fUsvoWr3++zmwFAMRHMrz4E8OLDw6eawDgCi9EUmpfebF7wgv/2RLJacgg38PLxRZXeImLCPHrmAY61b0KlpWVYcGCBcjKysKkSZPw5ptvKj2kLsTKy+ShsYqOg4KfuM+L3SlcOtuIuzkTyUpsDyi76P200UWzDQAwKNzg1zENdHqlB9CZXq/HunXrkJOTg8rKSkydOhVLly5FRESE0kMDANSZLDjnTt+ThsQqOxgKep7KS4dpI9V95iAKauJeXr5UXurFaaMIThv5k+rCS2pqKlJTUwEAKSkpSEhIQH19vWrCyxH3KqPMxAjEhLEMSNISjwJo37DLgxmJ5JUuThtd9C68tFodaHWvUBrEaSO/8vpVcMeOHVi2bBnS0tKg0WiwefPmLrfJz89HRkYGQkNDMWPGDBQUFPg0uP3798PhcCA9Pd2nn5fCCffR6ONSohUeCQ0EOl37nhduUkekhKHu843O1XkXXurd/S4hOg0ijaqrFQQ0r8OL2WxGdnY28vPzu/3+pk2bsHr1aqxduxYHDhxAdnY2Fi9ejOrqas9tcnJyMGHChC6/ysvLPbepr6/H7bffjhdeeMGHy5LO8YpmAMCYlCiFR0IDQUi7aSPxYEYde16IZDVkkGvaqKnNjqY2W59/7qJ7ymhQuIErU/3M6yi4ZMkSLFmypMfvP/3007j77rtx5513AgCee+45bNmyBevXr8eaNWsAAIWFhZd9DIvFguuvvx5r1qzBrFmzer2txWLx/L6pqamPV+Kb45Wu8DKW4YVkIAYVpwA4xPDCF0EiWYUb9IgO1aOpzY6qxjZEh/ZtCkjsd4mLYLOuv/l18txqtWL//v1YtGjRpQfQarFo0SLs3r27T/chCALuuOMOXHnllVixYkWvt3/iiScQExPj+SXlFJPd4USx+3yLsZw2Ihm0b8612l3TRlpWXohklxrjqr5Uujed64tLy6QZXvzNr+GltrYWDocDycnJHb6enJyMysrKPt3Hrl27sGnTJmzevBk5OTnIycnB4cOHe7z9gw8+iMbGRs+vsrKyfl3D5ZTWmWG1OxFu0HnKiERS0rcLKhZ3z4uWlRci2SXHuA5WrGjse3gRKy+DGF78TnUdRHPmzIHTvZ9FXxiNRhiN8ixBE6eMRidH8dMvyaL9brpi5YWLjYjklxLtep+p8iG8xHGPF7/z68tgQkICdDodqqqqOny9qqoKKSkp/nwoRZxgvwvJrP0J0p5pI1ZeiGSX4p42qvBi2oiVF+n4NbwYDAZMnToV27dv93zN6XRi+/btmDlzpj8fqov8/HxkZWUhNzdXsscQKy9caURy0Wk1ELMKwwuRclKiXdNG3lRexJ6XeIYXv/N62shkMqG4uNjz+5KSEhQWFiIuLg5Dhw7F6tWrsXLlSkybNg3Tp0/HunXrYDabPauPpJKXl4e8vDw0NTUhJiZGksc47t7jheGF5KTXamBzCLDYXZtdcak0kfxS2fOiKl6Hl3379mHhwoWe369evRoAsHLlSmzYsAHLly9HTU0NHnnkEVRWViInJwdbt27t0sQbaBpbbCird51rkZXKlUYkH71WC5vDAaunYVfhARENQMli5cWb1Ubuc43Y8+J/XoeXBQsWQBCEy95m1apVWLVqlc+DUqMj5Y0AXAd0xfIvIslIXHHEpdJEyklxV17qzFZY7A4Y9bpef6ah1VV5iQ3n0QD+prrVRmpl0Gtx5dgkpMWGKj0UGmDEFUee1UbseSGS3aDwEBj0WljtTlQ3WZDuPmn6chpbXZUXnoPnf0ETXvLz85Gfnw+HwyHJ/edmxCH3jjhJ7pvocnTuFUds2CVSjkajQWKkERcaWlFr6j28WOwOtNlc/2b7uiMv9V3Q7BiRl5eHoqIi7N27V+mhEPmVeBCjp+eF00ZEioiPdLUM1Jmsvd62uc0OANBogKjQoKkTqEbQhBeiYCWuLrLY2bBLpKSESNdGdXVmSy+3vDRlFGnU8wOHBBheiFQuRNdx2ohLpYmUIe7XUtuHykuTO7xwykgaDC9EKieGFXHaSMOeFyJFxLsrL7Wmvlde2KwrjaAJL3LssEukBHGptLhDAVcbESkjwYuelyZ3z0t0GPtdpBA04YUNuxSs2h/OCPBgRiKlJHhReeG0kbT4Mkikcu0PZwQ4bUSkFG9WG3HaSFoML0Qqp+/UoMtpIyJlxEf0fbVRU5u78sLwIgmGFyKV67y6SMt/tUSKSIhyVV7qzVY4nJc/JofTRtLiyyCRynUJL6y8EClCPGDRKQAXWy4/ddTU6mrYjWHDriSCJrxwtREFq85hhfu8EClDr9N6Dlnsre+F00bSCprwwtVGFKw6787JyguRcga5qy9iQ25PGjltJKmgCS9EwarTSmmGFyIFiauHGnqdNnKvNgpneJECwwuRynXteVFoIETkmTZq6KXy4tmkjpUXSTC8EKkce16I1CPWXXlpbLl8eGl297xE8kRpSTC8EKlc16XSDC9ESol197w0tPY8bWSxO2BzuJZSRxoZXqTA8EKkcp0rL+x5IVKOZ9roMpUXs8Xh+f8Ig07yMQ1EDC9EKte50sIddomUExvWl/Di6ncJDdFCz8PIJBE0zyr3eaFg1Xm1EbMLkXL6Mm1kcocXThlJJ2jCC/d5oWDVpfLCnhcixcT0adrIFV4iGF4kEzThhShYdZ4mYs8LkXL6Mm0kVl4iDAwvUmF4IVK5zpUWTqETKSe2Dzvsig27nDaSDl8GiVSOxwMQqYdYeTFZ7LA5nN3e5tK0EVcaSYXhhUjlOre4MLwQKSc6LMTTNN/T1JGJPS+SY3ghUrnOPS9s2CVSjk6r8UwHibvodmbmaiPJMbwQqVznaSMWXoiUFeUJL/Zuv2+ysvIitaAJL9znhYIVKy9E6hIVeqnvpTtcKi29oAkv3OeFglWX1UYsvRApSjxsscfKS5s4bcSGXakETXghClZdp40YXoiU1FvPi8m9VJqVF+kwvBCpXOdZIk4bESkryl156W3aiA270mF4IVK5rjvsKjQQIgLQLrz0MG1ktnKHXakxvBCpXJdN6pheiBQlNuw291B54T4v0mN4IVK5LquN2PNCpKjIXpZKc9pIegwvRCrH4wGI1EUMJT31vLRYxYZdrjaSCsMLkcp1btDV8l8tkaKiQi+/2qjN5govYQaGF6nwZZBI5bo27LLyQqSkyzXs2hxO2BwCACAshOFFKgwvRCrXOauw54VIWZ6G3W7Ci1h1AYBQhhfJMLwQqVzXaSOGFyIlXa7npdXd76LVAEY932KlEjTPLM82omDVPrwwtxApL/IyPS+tYr9LiI67YUsoaMILzzaiYNW+x4W76xIpL6pd5UUQhA7fa2WzriyCJrwQBav2gYWf5IiUJwYTpwBY7M4O3xOnjdjvIi2GFyKVa9+gy2ZdIuWFt9v2X9zTRSSGl3BWXiTF8EKkcu3zCmeNiJSn02o8zbgt1o5Nu+17Xkg6DC9EKtehYZfphUgVxMpKa+fKi43TRnJgeCFSufbhhQ27ROogTh31NG3Ehl1pMbwQqVz71UbcXZdIHcTKi7mHaSP2vEiL4YVI5Tru88LwQqQGPU4bcbWRLBheiFSuY+VFwYEQkYc4LdRl2ogNu7JgeCFSOfa8EKnPpZ4XrjZSAsMLkcppOyyVZnghUoPwniov3OdFFgwvRCqn7bBUWsGBEJFHb+EllOFFUnwpJFI5LXfYJVIdThspi+GFSOV0XCpNpDo9Ney2MbzIguGFSOU69LywYZdIFSJ6WCrdwk3qZBE04SU/Px9ZWVnIzc1VeihEftU+sHDaiEgdwnrYYbeNxwPIImjCS15eHoqKirB3716lh0LkV+2niphdiNThUsNux54Xi90JAJ6DG0kafHaJVE6nbf//TC9EatDTaqNL4YWVFykxvBCpnIYNu0SqIzbkdg0vrt8bQ/j2KiU+u0Qq12G1ESsvRKog9rSIlRaR1f17g45vr1Lis0ukcjzbiEh9POHF1v20USgrL5Lis0ukcu131eVqIyJ1EBtye6q8sOdFWgwvRCqn5bQRkeqIlZe2HiovBq42khSfXSKVa7/CiNmFSB3Eykv78GJ3OOFwCh2+T9Lgs0ukcu0DC5dKE6lDdw27Vsel/+e0kbQYXohUTsul0kSqI1ZW7E4BdndosdguhRdOG0mLzy6RyjG8EKlP++3/xeqL+F+9VsMqqcQYXohUrv2LIF8QidShfU+L2PdiZbOubPgME6lc+2ILswuROmi1Gs9GdJcqL+7ddRleJMdnmEjlOq42YnohUgvxCACx8sJzjeTD8EKkcux5IVInMaR07nnhtJH0+AwTqVz7wMKeFyL1CO1SeeG0kVz4DBOpXPu8wsILkXp0PiLAM23Ec40kx2eYSOVYbSFSp85HBPBEafnwGSZSOQ3LLUSqdOmIgE6VFzbsSo7hhUjlWHkhUqdLRwR0rLxw2kh6qnuGGxoaMG3aNOTk5GDChAl48cUXlR4SkaKYXYjUyRNebB33eeG0kfT0Sg+gs6ioKOzYsQPh4eEwm82YMGECvv/97yM+Pl7poREpgsujidTpUsOue7WRTay8cNpIaqqLhzqdDuHh4QAAi8UCQRAgCILCoyJSTvvwwv4XIvW41LDrCi3iqdJcKi09r5/hHTt2YNmyZUhLS4NGo8HmzZu73CY/Px8ZGRkIDQ3FjBkzUFBQ4NVjNDQ0IDs7G0OGDMGvf/1rJCQkeDtMoqDBnhcideqp8sJN6qTn9TNsNpuRnZ2N/Pz8br+/adMmrF69GmvXrsWBAweQnZ2NxYsXo7q62nMbsZ+l86/y8nIAQGxsLA4dOoSSkhL861//QlVVlY+XRxT4mF2I1Klz5YWb1MnH656XJUuWYMmSJT1+/+mnn8bdd9+NO++8EwDw3HPPYcuWLVi/fj3WrFkDACgsLOzTYyUnJyM7Oxs7d+7ETTfd1O1tLBYLLBaL5/dNTU19vBKiwMCpIiJ1EissNvd0kZVLpWXj13hotVqxf/9+LFq06NIDaLVYtGgRdu/e3af7qKqqQnNzMwCgsbERO3bswJgxY3q8/RNPPIGYmBjPr/T09P5dBBERUR+E6FwfLMT9XcSeF4OOHzik5tfwUltbC4fDgeTk5A5fT05ORmVlZZ/u4+zZs5g7dy6ys7Mxd+5c/PznP8fEiRN7vP2DDz6IxsZGz6+ysrJ+XQMREVFfhOg6Vl7E/4ZwqbTkVLdUevr06X2eVgIAo9EIo9Eo3YCIVISf54jUo2t4ca2M1TO8SM6vz3BCQgJ0Ol2XBtuqqiqkpKT486GIiIgUZfT0vAju/4qVF37MkJpfw4vBYMDUqVOxfft2z9ecTie2b9+OmTNn+vOhusjPz0dWVhZyc3MlfRwiIiLgUuVFbNS1u0MMp42k5/W0kclkQnFxsef3JSUlKCwsRFxcHIYOHYrVq1dj5cqVmDZtGqZPn45169bBbDZ7Vh9JJS8vD3l5eWhqakJMTIykj0VEROQJL46ODbsML9LzOrzs27cPCxcu9Px+9erVAICVK1diw4YNWL58OWpqavDII4+gsrISOTk52Lp1a5cmXiIiokDWeam03f1fPaeNJOd1eFmwYEGv2/WvWrUKq1at8nlQREREaif2tojTRmLvCw9mlB6fYSIiIh8YelgqzcqL9IImvLBhl4iI5CROG1m7rDYKmrdW1QqaZzgvLw9FRUXYu3ev0kMhIqIBwLPPi7jayCmuNmLlRWpBE16IiIjk1GW1kZ2VF7nwGSYiIvKBQe+qsHhWG7krL3ot31qlxmeYKIDwgGki9TDoXKdH2+wdG3bFUEPSCZrwwoZdIiKSU4g7pFgdHXfYZeVFekHzDLNhlwYCLUsvRKrR+XgAK5dKyyZowgvRQMDsQqQel/Z5cVVcxB12uUmd9PgMEwUQHdMLkWp0Ph5ADDF6hhfJ8RkmCiCcNiJSD3HayO4U4HQK7Tap479TqTG8EAUQ9gESqUf7kGJ1OLnDroyC5hnmaiMaCFKiw5QeAhG5idNGAGCxOeHe5oXhRQZB8wxztREFsxdWTMX3Jw/GPfMylR4KEbmFtCuFttjsnv/naiPp6ZUeABH17jvjU/Cd8SlKD4OI2tFqNdBrNbA7BZgtDs/XudpIenyGiYiIfCROHbVY21VetKy8SI3hhYiIyEdiUGmxuiovGg2gY3iRHMMLERGRj8Tm3FabK7yEaLXQcEsDyTG8EBER+UissrS5Ky/c40UeQRNeuFSaiIjk1rnywt115RE0zzKXShMRkdzEyotn2ojhRRZ8lomIiHwk7unSymkjWTG8EBER+UhcbdTGyous+CwTERH5SK/t3PPCyoscGF6IiIh8JIaVNpvrUEZuUCcPhhciIiIfiWHFYndXXnj0uyz4LBMREflIDCsWd+WFu+vKg+GFiIjIR+K0kcXO8CKnoAkv3KSOiIjkpus0bcTwIo+gCS/cpI6IiOQmLo1m5UVeQRNeiIiI5KbrtM8LVxvJg+GFiIjIR5dWG7HyIieGFyIiIh+JBzFytZG8GF6IiIh81HWfF4YXOTC8EBER+ajztJFWw/AiB4YXIiIiH3Xe54VnG8mD4YWIiMhHl3bYFfd54duqHPgsExER+UjXebURCy+yYHghIiLyUUiX4wH4tioHPstEREQ+6hxWdHxXlUXQPM0824iIiOQW0mmeiJUXeQTNs8yzjYiISG6dN6XjPi/yCJrwQkREJLcQXedpI4YXOTC8EBER+ahzWGF4kQfDCxERkY86TxNx2kgeDC9EREQ+6hxWtAwvsmB4ISIi8pG+U88LKy/yYHghIiLyUZfKCw9mlAXDCxERkY9YeVEGwwsREZGPOocVHQ83kgXDCxERkY+6LJXmtJEsGF6IiIh81KXywmkjWTC8EBER+YjHAyiD4YWIiMhH+i4HMzK8yIHhhYiIyEedT5HmqdLy4LNMRETkIx4PoIygCS/5+fnIyspCbm6u0kMhIqIBovM0EY8HkEfQhJe8vDwUFRVh7969Sg+FiIgGCDbsKiNowgsREZHcWHlRBsMLERGRj9jzogyGFyIiIh912WGX4UUWDC9EREQ+0ndeKs3jAWTB8EJEROSjLpUXHswoC4YXIiIiH7HnRRkML0RERD7iqdLKYHghIiLyEc82UgbDCxERkY+6bFLHnhdZMLwQERH5qPNqIy2njWTB8EJEROSjrscD8G1VDnyWiYiIfNR5dRGzizz4NBMREfmIlRdl8FkmIiLyUefKC1cbyYPhhYiIyEc820gZDC9EREQ+0mg0aJ9XuMOuPBheiIiI+qF9nwsrL/JgeCEiIuqH9oGF4UUeDC9ERET9wPAiP9WGl5aWFgwbNgwPPPCA0kMhIiLqkYY9L7JTbXh57LHHcMUVVyg9DCIioj7TMrzIQpXh5dSpUzh+/DiWLFmi9FCIiIguq31cYeVFHl6Hlx07dmDZsmVIS0uDRqPB5s2bu9wmPz8fGRkZCA0NxYwZM1BQUODVYzzwwAN44oknvB0aERGRongwozy8Di9msxnZ2dnIz8/v9vubNm3C6tWrsXbtWhw4cADZ2dlYvHgxqqurPbfJycnBhAkTuvwqLy/Hu+++i9GjR2P06NG+XxUREZECWHmRh97bH1iyZMllp3Oefvpp3H333bjzzjsBAM899xy2bNmC9evXY82aNQCAwsLCHn9+z5492LhxI958802YTCbYbDZER0fjkUce6fb2FosFFovF8/umpiZvL4mIiMhnGg1XG8nNrz0vVqsV+/fvx6JFiy49gFaLRYsWYffu3X26jyeeeAJlZWUoLS3FU089hbvvvrvH4CLePiYmxvMrPT2939dBRETkCw2njWTh1/BSW1sLh8OB5OTkDl9PTk5GZWWlPx/K48EHH0RjY6PnV1lZmSSPQ0REROrg9bSRnO64445eb2M0GmE0GqUfDBERUTdYbJGfXysvCQkJ0Ol0qKqq6vD1qqoqpKSk+POhiIiIaIDya3gxGAyYOnUqtm/f7vma0+nE9u3bMXPmTH8+VBf5+fnIyspCbm6upI9DRETUHgsv8vN62shkMqG4uNjz+5KSEhQWFiIuLg5Dhw7F6tWrsXLlSkybNg3Tp0/HunXrYDabPauPpJKXl4e8vDw0NTUhJiZG0sciIiIi5XgdXvbt24eFCxd6fr969WoAwMqVK7FhwwYsX74cNTU1eOSRR1BZWYmcnBxs3bq1SxMvERERkS+8Di8LFiyAIAiXvc2qVauwatUqnwdFRERE1BNVnm1ERERE1JOgCS9s2CUiIhoYgia85OXloaioCHv37lV6KERENIBwV135BU14ISIiooGB4YWIiIgCCsMLERFRP3DSSH5BE17YsEtERDQwBE14YcMuERHRwBA04YWIiEgJXGwkP4YXIiKifuhl03mSAMMLERFRPziYXmTH8EJERNQPDgfDi9yCJrxwtRERESnB7mR4kVvQhBeuNiIiIiVcl5MGAMhKjVZ4JAOHXukBEBERBbIHl47DuNRoXDMpVemhDBgML0RERP0QExaClbMylB7GgBI000ZEREQ0MDC8EBERUUBheCEiIqKAEjThhUuliYiIBgaNIATX1oBNTU2IiYlBY2MjoqO5bI2IiCgQePP+HTSVFyIiIhoYGF6IiIgooDC8EBERUUBheCEiIqKAwvBCREREAYXhhYiIiAIKwwsREREFlKAJL9ykjoiIaGAIuk3qGhsbERsbi7KyMm5SR0REFCCampqQnp6OhoYGxMTEXPa2epnGJJvm5mYAQHp6usIjISIiIm81Nzf3Gl6CrvLidDpRXl6OqKgoaDQan+5DTH/BXL3hNQYHXmNwGAjXCAyM6+Q1+k4QBDQ3NyMtLQ1a7eW7WoKu8qLVajFkyBC/3Fd0dHTQ/uUT8RqDA68xOAyEawQGxnXyGn3TW8VFFDQNu0RERDQwMLwQERFRQGF46YbRaMTatWthNBqVHopkeI3BgdcYHAbCNQID4zp5jfIIuoZdIiIiCm6svBAREVFAYXghIiKigMLwQkRERAGF4YWIiIgCyoANL/n5+cjIyEBoaChmzJiBgoKCy97+zTffxNixYxEaGoqJEyfiww8/lGmkvvPmGo8ePYobb7wRGRkZ0Gg0WLdunXwD7QdvrvHFF1/E3LlzMWjQIAwaNAiLFi3q9c9dDby5xrfffhvTpk1DbGwsIiIikJOTg9dee03G0frG23+Poo0bN0Kj0eD666+XdoB+4M01btiwARqNpsOv0NBQGUfrG2//HBsaGpCXl4fU1FQYjUaMHj066F5bFyxY0OXPUqPR4JprrpFxxN7z9s9y3bp1GDNmDMLCwpCeno5f/epXaGtrk26AwgC0ceNGwWAwCOvXrxeOHj0q3H333UJsbKxQVVXV7e137dol6HQ64S9/+YtQVFQkPPTQQ0JISIhw+PBhmUfed95eY0FBgfDAAw8Ib7zxhpCSkiI888wz8g7YB95e46233irk5+cLBw8eFI4dOybccccdQkxMjHD+/HmZR9533l7j559/Lrz99ttCUVGRUFxcLKxbt07Q6XTC1q1bZR5533l7jaKSkhJh8ODBwty5c4XrrrtOnsH6yNtrfPnll4Xo6GihoqLC86uyslLmUXvH22u0WCzCtGnThKVLlwpfffWVUFJSInzxxRdCYWGhzCP3jrfXWVdX1+HP8ciRI4JOpxNefvlleQfuBW+v8fXXXxeMRqPw+uuvCyUlJcLHH38spKamCr/61a8kG+OADC/Tp08X8vLyPL93OBxCWlqa8MQTT3R7+5tvvlm45pprOnxtxowZwk9/+lNJx9kf3l5je8OGDQuI8NKfaxQEQbDb7UJUVJTwyiuvSDXEfuvvNQqCIEyePFl46KGHpBieX/hyjXa7XZg1a5bwj3/8Q1i5cqXqw4u31/jyyy8LMTExMo3OP7y9xr///e9CZmamYLVa5RqiX/T33+QzzzwjREVFCSaTSaoh9pu315iXlydceeWVHb62evVqYfbs2ZKNccBNG1mtVuzfvx+LFi3yfE2r1WLRokXYvXt3tz+ze/fuDrcHgMWLF/d4e6X5co2Bxh/X2NLSApvNhri4OKmG2S/9vUZBELB9+3acOHEC8+bNk3KoPvP1Gv/4xz8iKSkJP/nJT+QYZr/4eo0mkwnDhg1Deno6rrvuOhw9elSO4frEl2t87733MHPmTOTl5SE5ORkTJkzA448/DofDIdewveaP152XXnoJt9xyCyIiIqQaZr/4co2zZs3C/v37PVNLZ86cwYcffoilS5dKNs6gO5ixN7W1tXA4HEhOTu7w9eTkZBw/frzbn6msrOz29pWVlZKNsz98ucZA449r/M1vfoO0tLQuwVQtfL3GxsZGDB48GBaLBTqdDn/7299w9dVXSz1cn/hyjV999RVeeuklFBYWyjDC/vPlGseMGYP169dj0qRJaGxsxFNPPYVZs2bh6NGjfjt41p98ucYzZ87gs88+w49+9CN8+OGHKC4uxn333QebzYa1a9fKMWyv9fd1p6CgAEeOHMFLL70k1RD7zZdrvPXWW1FbW4s5c+ZAEATY7Xb87Gc/w29/+1vJxjngwgsRADz55JPYuHEjvvjii4BohPRGVFQUCgsLYTKZsH37dqxevRqZmZlYsGCB0kPrt+bmZqxYsQIvvvgiEhISlB6OZGbOnImZM2d6fj9r1iyMGzcOzz//PB599FEFR+Y/TqcTSUlJeOGFF6DT6TB16lRcuHABf/3rX1UbXvrrpZdewsSJEzF9+nSlh+JXX3zxBR5//HH87W9/w4wZM1BcXIz7778fjz76KB5++GFJHnPAhZeEhATodDpUVVV1+HpVVRVSUlK6/ZmUlBSvbq80X64x0PTnGp966ik8+eST2LZtGyZNmiTlMPvF12vUarUYOXIkACAnJwfHjh3DE088ocrw4u01nj59GqWlpVi2bJnna06nEwCg1+tx4sQJjBgxQtpBe8kf/x5DQkIwefJkFBcXSzHEfvPlGlNTUxESEgKdTuf52rhx41BZWQmr1QqDwSDpmH3Rnz9Ls9mMjRs34o9//KOUQ+w3X67x4YcfxooVK3DXXXcBACZOnAiz2Yx77rkHv/vd76DV+r9DZcD1vBgMBkydOhXbt2/3fM3pdGL79u0dPum0N3PmzA63B4BPP/20x9srzZdrDDS+XuNf/vIXPProo9i6dSumTZsmx1B95q8/R6fTCYvFIsUQ+83baxw7diwOHz6MwsJCz69rr70WCxcuRGFhIdLT0+Ucfp/448/R4XDg8OHDSE1NlWqY/eLLNc6ePRvFxcWe8AkAJ0+eRGpqqiqDC9C/P8s333wTFosFt912m9TD7BdfrrGlpaVLQBFDqSDV8YmStQKr2MaNGwWj0Shs2LBBKCoqEu655x4hNjbWsxRxxYoVwpo1azy337Vrl6DX64WnnnpKOHbsmLB27dqAWCrtzTVaLBbh4MGDwsGDB4XU1FThgQceEA4ePCicOnVKqUvolbfX+OSTTwoGg0F46623OixdbG5uVuoSeuXtNT7++OPCJ598Ipw+fVooKioSnnrqKUGv1wsvvviiUpfQK2+vsbNAWG3k7TX+4Q9/ED7++GPh9OnTwv79+4VbbrlFCA0NFY4eParUJfTK22s8d+6cEBUVJaxatUo4ceKE8MEHHwhJSUnCn/70J6UuoU98/fs6Z84cYfny5XIP1yfeXuPatWuFqKgo4Y033hDOnDkjfPLJJ8KIESOEm2++WbIxDsjwIgiC8OyzzwpDhw4VDAaDMH36dGHPnj2e782fP19YuXJlh9v/+9//FkaPHi0YDAZh/PjxwpYtW2Qesfe8ucaSkhIBQJdf8+fPl3/gXvDmGocNG9btNa5du1b+gXvBm2v83e9+J4wcOVIIDQ0VBg0aJMycOVPYuHGjAqP2jrf/HtsLhPAiCN5d4y9/+UvPbZOTk4WlS5cKBw4cUGDU3vH2z/Hrr78WZsyYIRiNRiEzM1N47LHHBLvdLvOoveftdR4/flwAIHzyyScyj9R33lyjzWYTfv/73wsjRowQQkNDhfT0dOG+++4TLl68KNn4NIIgVU2HiIiIyP8GXM8LERERBTaGFyIiIgooDC9EREQUUBheiIiIKKAwvBAREVFAYXghIiKigMLwQkRERAGF4YWIiIgCCsMLERERBRSGFyIiIgooDC9EREQUUBheiIiIKKD8f8McfZrzLd3lAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import nexus as nx\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "lay_Pt_top = nx.Layer(id = \"Pt top\",\n", " material = nx.Material.Template(nx.lib.material.Pt),\n", " thickness = 2,\n", " roughness = 0.2)\n", "\n", "\n", "lay_C = nx.Layer(id = \"C\",\n", " material = nx.Material.Template(nx.lib.material.C),\n", " thickness = 10,\n", " roughness = 0.3)\n", "\n", "lay_Fe = nx.Layer(id = \"Fe\",\n", " material = nx.Material.Template(nx.lib.material.Fe_enriched),\n", " thickness = 1.5,\n", " roughness = 0.35)\n", "\n", "lay_Pt = nx.Layer(id = \"Pt\",\n", " material = nx.Material.Template(nx.lib.material.Pt),\n", " thickness = 15,\n", " roughness = 0.77)\n", "\n", "lay_substrate = nx.Layer(id = \"Si sub\",\n", " material = nx.Material.Template(nx.lib.material.Si),\n", " thickness = nx.inf,\n", " roughness = 0.4\n", " )\n", "\n", "sample1 = nx.Sample(id = \"cavity\",\n", " layers = [lay_Pt_top,\n", " lay_C,\n", " lay_Fe,\n", " lay_C,\n", " lay_Pt,\n", " lay_substrate],\n", " geometry = \"r\",\n", " length = 10,\n", " roughness = \"a\")\n", "\n", "beam = nx.Beam(profile = \"g\", fwhm = 0.2)\n", "beam.Unpolarized()\n", "\n", "exp = nx.Experiment(beam = beam,\n", " objects = [sample1],\n", " id = \"my exp\")\n", "\n", "angles = np.arange(0.01, 0.8, 0.0001)\n", "\n", "reflectivity = nx.Reflectivity(experiment = exp,\n", " sample = sample1,\n", " energy = nx.lib.energy.CuKalpha,\n", " angles = angles)\n", "\n", "refl = reflectivity()\n", "\n", "print(np.array(nx.data.FindMinima(angles, refl)))\n", "\n", "print(np.array(nx.data.FindMinima(angles, refl, n=1)))\n", "\n", "plt.semilogy(angles, reflectivity())\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "id": "64493373-fc77-4829-aca1-e327050bc0a5", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.9" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": {}, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 5 }