diff --git a/EjemplosGenerales.ipynb b/EjemplosGenerales.ipynb new file mode 100644 index 0000000..aa38823 --- /dev/null +++ b/EjemplosGenerales.ipynb @@ -0,0 +1,695 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 79, + "id": "050758e0-be1e-497b-b19b-2daf03d253f2", + "metadata": {}, + "outputs": [], + "source": [ + "load('zetas_triples_general.py')" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "7d68f9ce-8bfb-4a97-9cff-c79fa4295bcd", + "metadata": {}, + "outputs": [], + "source": [ + "R3. = PolynomialRing(QQ, order='negdeglex')\n", + "R2. = PolynomialRing(QQ, order='negdeglex')\n", + "def surface(f, g):\n", + " sb = {u: x, v: y}\n", + " return z^3 - 3 * f.subs(sb) * z + 2 * g.subs(sb)\n", + "\n", + "def discrim3(f, g):\n", + " return f^3 - g^2\n", + "\n", + "def milnor(F):\n", + " return F.jacobian_ideal().vector_space_dimension()\n", + "\n", + "def factoresNewton(f):\n", + " return [p.factor() for p in ZetaFunctions(f).get_polyfaces_dictionary(compact=True)\n", + " if p.number_of_terms() > 1]" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "a13a69d1-427f-4cba-984f-04cfd3e3f733", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "((-1) * u^3 * (-2*u*v^3 + 3*v^4 + u^5 - 3*u^3*v^2 + u^6), +Infinity)" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "f = v^2 - u^3\n", + "g = v^3 - u^4\n", + "discrim3(f, g).factor(), milnor(surface(f, g))" + ] + }, + { + "cell_type": "code", + "execution_count": 150, + "id": "cb2ca8c7-ed72-45d5-a35f-dc7be4ffb45c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-1 * 2^-8 * 3^3" + ] + }, + "execution_count": 150, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "H = ff^3 / gg^2\n", + "H1 = H(u=u * v^2)\n", + "H1(v=0, u=1/4).factor()" + ] + }, + { + "cell_type": "code", + "execution_count": 127, + "id": "1acb3dcb-8044-4672-8c44-2ec5c4173fa0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "((-1) * (-u^4*v^3 + 3*u^6*v^2 + 3*u^3*v^5 - 3*u^8*v - 6*u^5*v^4 + u^4*v^5 - 3*u^2*v^7 + u^10 + u^7*v^3 + 3*u^4*v^6 - 2*u^2*v^8 + u*v^9 + u^10*v + 2*u^5*v^6 + v^11),)" + ] + }, + "execution_count": 127, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "f = u * v - u^3 - v^3\n", + "g = u^2 * v^2 - u^5 - v^5\n", + "hs = [(u, 1)]\n", + "ks = [(v, 2)]\n", + "ff = f * prod(p^j for p, j in hs) * prod(p for p, j in ks)\n", + "gg = g * prod(p^j for p, j in ks) * prod(p for p, j in hs)\n", + "d = R2(discrim3(ff, gg) / prod(p^2 for p, j in hs) / prod(p^3 for p, j in ks))\n", + "d.factor(), # milnor(surface(ff, gg))" + ] + }, + { + "cell_type": "code", + "execution_count": 128, + "id": "f9fb1d7b-9e33-46ce-bf7b-776c7d04f6fa", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[(-1) * v^3 * (-u^4 + 3*u^3*v^2 - 3*u^2*v^4 + u*v^6 + v^8), u^4 * (v - u^2)^3]" + ] + }, + "execution_count": 128, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "factoresNewton(d)" + ] + }, + { + "cell_type": "code", + "execution_count": 132, + "id": "b32d46f1-1e18-403e-b813-e2221188c9ea", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(-1) * (-1 + 4*u) * (-1 + u)^2" + ] + }, + "execution_count": 132, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "(-u^4 + 3*u^3*v^2 - 3*u^2*v^4 + u*v^6 + v^8)(v=1).derivative(u).factor()" + ] + }, + { + "cell_type": "code", + "execution_count": 143, + "id": "51b8b296-2523-47c5-a5bb-b1f559d897f6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 143, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "(-u^4 + 3*u^3*v^2 - 3*u^2*v^4 + u*v^6 + v^8)(v=1).derivative(u)(u=1 / 4)" + ] + }, + { + "cell_type": "code", + "execution_count": 136, + "id": "51298dd8-ab45-4244-a5d4-30cbaaabd783", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-1 * 7^6 * 31^-4" + ] + }, + "execution_count": 136, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "(ff(u=1 / 4, v=1)^3/gg(u=1 / 4, v=1)^2).factor()" + ] + }, + { + "cell_type": "code", + "execution_count": 151, + "id": "7fc67ac3-d76e-4c24-98b5-6c0d6057e37a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[(-1/6912) * v^3 * (-4*u + v^2)^2 * (16*u^2 - 40*u*v^2 + 27*v^4),\n", + " (-1/27) * u^4 * (v - u^2)^3]" + ] + }, + "execution_count": 151, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dd = R2(discrim3(-ff / 3, gg / 16) / prod(p^2 for p, j in hs) / prod(p^3 for p, j in ks))\n", + "factoresNewton(dd)" + ] + }, + { + "cell_type": "code", + "execution_count": 153, + "id": "788a5bda-775a-4001-a390-4adfecd1450f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[(1/6144) * v^7 * (-256*u^2 + 3*v^5),\n", + " (-1/27) * u^4 * (v - u^2)^3,\n", + " (-1/216) * u^2 * v^3 * (8*u^2 - 16*u*v^2 + 9*v^4)]" + ] + }, + "execution_count": 153, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "factoresNewton(dd(u=u + v^2 / 4))" + ] + }, + { + "cell_type": "code", + "execution_count": 121, + "id": "1acc71df-f964-4acd-ba7c-11f98c3c4f02", + "metadata": {}, + "outputs": [], + "source": [ + "d1 = R2(d(v=v^2, u=v^3 * (u + 1)) / v^22)\n", + "g1 = R2(g(v=v^2, u=v^3 * (u + 1)) / v^10)" + ] + }, + { + "cell_type": "code", + "execution_count": 122, + "id": "7be2ed6b-2bdd-418a-8b14-6f6baf147c27", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[-4*u^2 + v^5]" + ] + }, + "execution_count": 122, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "factoresNewton(d1)" + ] + }, + { + "cell_type": "code", + "execution_count": 123, + "id": "2546d6ca-f3d1-4425-b6b8-54205f2af7c9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[(-1) * (-2*u + v^5)]" + ] + }, + "execution_count": 123, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "factoresNewton(g1)" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "id": "ef51632f-a8a0-4655-b471-76a4b975e9d7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\\(\\displaystyle \\left(\\begin{array}{rrrrr}\n", + "-5 & 0 & 1 & 0 & 1 \\\\\n", + "0 & -2 & 1 & 0 & 0 \\\\\n", + "1 & 1 & -1 & 0 & 0 \\\\\n", + "0 & 0 & 0 & -2 & 1 \\\\\n", + "1 & 0 & 0 & 1 & -1\n", + "\\end{array}\\right)\\)" + ], + "text/latex": [ + "$\\displaystyle \\left(\\begin{array}{rrrrr}\n", + "-5 & 0 & 1 & 0 & 1 \\\\\n", + "0 & -2 & 1 & 0 & 0 \\\\\n", + "1 & 1 & -1 & 0 & 0 \\\\\n", + "0 & 0 & 0 & -2 & 1 \\\\\n", + "1 & 0 & 0 & 1 & -1\n", + "\\end{array}\\right)$" + ], + "text/plain": [ + "[-5 0 1 0 1]\n", + "[ 0 -2 1 0 0]\n", + "[ 1 1 -1 0 0]\n", + "[ 0 0 0 -2 1]\n", + "[ 1 0 0 1 -1]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "A = Matrix(QQ, 5)\n", + "for i, j in ((0, 2), (0, 4), (1, 2), (3, 4)):\n", + " A[i, j] = A[j, i] = 1\n", + "A[0, 0] = -5\n", + "A[1, 1] = A[3, 3] = -2\n", + "A[2, 2] = A[4, 4] = -1\n", + "show(A)\n", + "Vf = vector(QQ, [0, 1, 0, 1, 0])\n", + "Vg = vector(QQ, [0, 0, 1, 0, 1])\n", + "Vd = vector(QQ, [5, 0, 1, 0, 1])\n", + "Vhs = ((vector(QQ, [0, 1, 0, 1, 0]), 1),)\n", + "Vks = ()" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "id": "30f4affd-a57c-4c4a-b6a4-dc34bb42245e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(5,\n", + " (2, 3, 5, 3, 5),\n", + " (4, 5, 10, 5, 10),\n", + " (9, 10, 20, 10, 20),\n", + " [((1, 2, 3, 1, 2), 1), ((1, 1, 2, 2, 3), 1)],\n", + " [],\n", + " (-5, -1, -2, -1, -2),\n", + " (2, 3, 5, 3, 5),\n", + " False)" + ] + }, + "execution_count": 107, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "n, Nf, Ng, Nd, Nhs, Nks, euler, nus, pols == trinomiales_general(A, Vf, Vg, Vhs, Vks, Vd, total=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "id": "9947139a-5e98-478e-b649-971f96b3a5d1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(4, 6, 10, 6, 10)" + ] + }, + "execution_count": 81, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Nf + sum(j * V0 for V0, j in Nhs) + sum(V0 for V0, j in Nks)" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "id": "5e717f0e-d183-4791-b92d-eb709b7b7452", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(6, 8, 15, 8, 15)" + ] + }, + "execution_count": 82, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Ng + sum(j * V0 for V0, j in Nks) + sum(V0 for V0, j in Nhs)" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "id": "b54c5c8b-04e8-4c45-b82b-caeb3d73252e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(13, 16, 30, 16, 30)" + ] + }, + "execution_count": 83, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Nd + 3 * sum(V0 for V0, j in Nks) + 2 * sum(V0 for V0, j in Nhs)" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "id": "a1544358-9d8c-411a-b30c-18630767a9c1", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0\n", + "(z^3 + x^2*z^2 + x^7, (2, 1, 1), -5)\n", + "===\n", + "1\n", + "(z^3 + x^6*z + x^8, (3, 1, 1), -1)\n", + "===\n", + "2\n", + "(z^3 + x^10*z + x^15, (5, 1, 1), -2)\n", + "===\n", + "3\n", + "(z^3 + x^6*z + x^8, (3, 1, 1), -1)\n", + "===\n", + "4\n", + "(z^3 + x^10*z + x^15, (5, 1, 1), -2)\n", + "===\n", + "(0, 2)\n", + "(z^3 + x^2*y^5*z^2 + x^7*y^15, (2, 5, 1), 1)\n", + "===\n", + "(0, 4)\n", + "(z^3 + x^2*y^5*z^2 + x^7*y^15, (2, 5, 1), 1)\n", + "===\n", + "(1, 2)\n", + "(z^3 + x^6*y^10*z + x^8*y^15, (3, 5, 1), 1)\n", + "===\n", + "(3, 4)\n", + "(z^3 + x^6*y^10*z + x^8*y^15, (3, 5, 1), 1)\n", + "===\n", + "(0, 'd')\n", + "(z^3 + x^2*z^2 + x^7*y, (2, 1, 1), 5)\n", + "===\n", + "(1, 'f')\n", + "(z^3 + x^8 + x^6*y*z, (3, 1, 1), 1)\n", + "===\n", + "(2, 'g')\n", + "(z^3 + x^10*z + x^15*y, (5, 1, 1), 1)\n", + "===\n", + "(2, 'd')\n", + "(z^3 + x^5*z^2 + x^15*y, (5, 1, 1), 1)\n", + "===\n", + "(3, 'f')\n", + "(z^3 + x^8 + x^6*y*z, (3, 1, 1), 1)\n", + "===\n", + "(4, 'g')\n", + "(z^3 + x^10*z + x^15*y, (5, 1, 1), 1)\n", + "===\n", + "(4, 'd')\n", + "(z^3 + x^5*z^2 + x^15*y, (5, 1, 1), 1)\n", + "===\n", + "(1, ('h', 0))\n", + "(z^3 + x^6*y*z + x^8*y, (3, 1, 1), 1)\n", + "===\n", + "(3, ('h', 1))\n", + "(z^3 + x^6*y*z + x^8*y, (3, 1, 1), 1)\n", + "===\n" + ] + } + ], + "source": [ + "for k in pols:\n", + " print(k)\n", + " print(pols[k])\n", + " print(\"===\")" + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "id": "e1d42c5c-80cf-4298-8026-31f8bfc2d5bb", + "metadata": {}, + "outputs": [], + "source": [ + "zt, zm, dic = zetas(n, pols, info=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "id": "3f0385d7-0397-485e-a870-09e9d7f65e27", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0\n", + "(1737/350) * (s + 9/14)^-1\n", + "(-56/15) * (s + 2/3)^-1\n", + "(-28/25) * (s + 1)^-1\n" + ] + } + ], + "source": [ + "quo, L = zt.partial_fraction_decomposition()\n", + "print(quo)\n", + "for p in L:\n", + " print(p.factor())" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "id": "196d3a0c-81cb-4fc3-b2ab-aa36016ae5b1", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "El ciclotómico de orden 1 tiene multiplicidad 3\n", + "El ciclotómico de orden 2 tiene multiplicidad 5\n", + "El ciclotómico de orden 3 tiene multiplicidad 3\n", + "El ciclotómico de orden 5 tiene multiplicidad 2\n", + "El ciclotómico de orden 14 tiene multiplicidad 5\n", + "El ciclotómico de orden 15 tiene multiplicidad 2\n" + ] + } + ], + "source": [ + "for j in dic:\n", + " print(\"El ciclotómico de orden \", j, \" tiene multiplicidad \", dic[j])" + ] + }, + { + "cell_type": "code", + "execution_count": 108, + "id": "e9c684cd-c9fa-473a-bb3c-397bfc664735", + "metadata": {}, + "outputs": [], + "source": [ + "n1a, Nf1a, Ng1a, Nd1a, Nhs1a, Nks1a, euler1a, nus1a, pols1a = trinomiales_general(A, Vf, Vg, Vhs, Vks, Vd, total=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 110, + "id": "6bde71ac-74ea-414e-9ac2-7a2e62b07b16", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 110, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "n1 == n1a and Nf1 == Nf1a and Ng1 == Ng1a and nus1 == nus1a and euler1 == euler1a" + ] + }, + { + "cell_type": "code", + "execution_count": 111, + "id": "659bc2d8-84bd-4098-ad64-c7efbc6c32f2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[((1, 2, 3, 1, 2), 1), ((1, 1, 2, 2, 3), 1)]" + ] + }, + "execution_count": 111, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Nhs1" + ] + }, + { + "cell_type": "code", + "execution_count": 112, + "id": "a3337a8f-82e7-48a2-ae1d-2b6c08f02b52", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[((2, 3, 5, 3, 5), 1)]" + ] + }, + "execution_count": 112, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Nhs1a" + ] + }, + { + "cell_type": "code", + "execution_count": 113, + "id": "7af9041a-217d-4350-8f0f-4f99be179258", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dict_keys([0, 1, 2, 3, 4, (0, 2), (0, 4), (1, 2), (3, 4), (0, 'd'), (2, 'd'), (4, 'd'), (1, ('h', 0)), (3, ('h', 0))])" + ] + }, + "execution_count": 113, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pols1a.keys()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4bf1a1e5-e264-44fa-bd70-50345b91a7cc", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "SageMath 10.3.rc4", + "language": "sage", + "name": "sagemath-devel" + }, + "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.1" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/EjemplosGeneralesManuel.ipynb b/EjemplosGeneralesManuel.ipynb new file mode 100644 index 0000000..d3b4f76 --- /dev/null +++ b/EjemplosGeneralesManuel.ipynb @@ -0,0 +1,777 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "050758e0-be1e-497b-b19b-2daf03d253f2", + "metadata": {}, + "outputs": [], + "source": [ + "load('zetas_triples_general.py')" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "7d68f9ce-8bfb-4a97-9cff-c79fa4295bcd", + "metadata": {}, + "outputs": [], + "source": [ + "R3. = PolynomialRing(QQ, order='negdeglex')\n", + "R2. = PolynomialRing(QQ, order='negdeglex')\n", + "def surface(f, g):\n", + " sb = {u: x, v: y}\n", + " return z^3 - 3 * f.subs(sb) * z + 2 * g.subs(sb)\n", + "\n", + "def discrim3(f, g):\n", + " return f^3 - g^2\n", + "\n", + "def milnor(F):\n", + " return F.jacobian_ideal().vector_space_dimension()\n", + "\n", + "def factoresNewton(f):\n", + " return [p.factor() for p in ZetaFunctions(f).get_polyfaces_dictionary(compact=True)\n", + " if p.number_of_terms() > 1]" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "a13a69d1-427f-4cba-984f-04cfd3e3f733", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# f = ((v^2 + u^3)^2 + u^5*v) * ((u^2 + v^3)^2 + v^5*u)\n", + "f = (v^6 + u^7) * (u^6 + v^7)\n", + "# g = (v^4 + u^6) * (u^4 + v^6)\n", + "g = ((v^2 + u^3)^2 + u^5*v) * ((u^2 + v^3)^2 + v^5*u)\n", + "hs = []\n", + "ks = [((u^2 + v^3) * (v^2 + u^3), 4)]\n", + "ff = f * prod(p^j for p, j in hs) * prod(p for p, j in ks)\n", + "gg = g * prod(p^j for p, j in ks) * prod(p for p, j in hs)\n", + "d = R2(discrim3(ff, gg) / prod(p^2 for p, j in hs) / prod(p^3 for p, j in ks))\n", + "[(f, j) for f, j in d.factor() if j > 1]#, milnor(surface(f, g))" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "6bb64d4a-4731-4902-8408-61e08a19bc5f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[u^25 * (3*v^12 + 3*u^7*v^6 + u^14),\n", + " v^25 * (3*u^12 + 3*u^6*v^7 + v^14),\n", + " (3) * (u + v) * v^12 * u^12 * (u^12 - u^11*v + u^10*v^2 - u^9*v^3 - 2*u^8*v^4 + 2*u^7*v^5 - 2*u^6*v^6 + 2*u^5*v^7 - 2*u^4*v^8 - u^3*v^9 + u^2*v^10 - u*v^11 + v^12)]" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "factoresNewton(d)" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "c25f0826-7206-4767-883c-8e9c164a18c2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# f = ((v^2 + u^3)^2 + u^5 * v) * ((u^2 + v^3)^2 + v^5 * u)\n", + "f = (v^4 + u^5) * (v^5 + u^4)\n", + "g = (v^6 + u^8) * (u^6 + v^8)\n", + "# g = ((v^3 + u^5)^2 + u^2 * v^5) * ((u^3 + v^5)^2 + v^2 * u^5)\n", + "hs = []\n", + "ks = []\n", + "ff = f * prod(p^j for p, j in hs) * prod(p for p, j in ks)\n", + "gg = g * prod(p^j for p, j in ks) * prod(p for p, j in hs)\n", + "d = R2(discrim3(ff, gg) / prod(p^2 for p, j in hs) / prod(p^3 for p, j in ks))\n", + "[(f, j) for f, j in d.factor() if j > 1]#, milnor(surface(f, g))" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "949563f9-dd7e-4db3-9101-a4f3a2003481", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[(-1) * v^19 * (2*u^6 + v^7),\n", + " (-1) * u^19 * (2*v^6 + u^7),\n", + " (-1) * (u + v) * v^6 * u^6 * (2*u^12 - 2*u^11*v - u^10*v^2 + u^9*v^3 - u^8*v^4 + u^7*v^5 - u^6*v^6 + u^5*v^7 - u^4*v^8 + u^3*v^9 - u^2*v^10 - 2*u*v^11 + 2*v^12)]" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "factoresNewton(d)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "66f80ac9-aef5-4ea7-8770-335fbdce37d0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[(-1) * (49*v^2 + u^13)]" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "d1 = R2(d(u=u^7, v=u^6 * (v - 1))/ u^156)\n", + "factoresNewton(d)" + ] + }, + { + "cell_type": "code", + "execution_count": 127, + "id": "1acb3dcb-8044-4672-8c44-2ec5c4173fa0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "((-1) * (-u^4*v^3 + 3*u^6*v^2 + 3*u^3*v^5 - 3*u^8*v - 6*u^5*v^4 + u^4*v^5 - 3*u^2*v^7 + u^10 + u^7*v^3 + 3*u^4*v^6 - 2*u^2*v^8 + u*v^9 + u^10*v + 2*u^5*v^6 + v^11),)" + ] + }, + "execution_count": 127, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "f = u * v - u^3 - v^3\n", + "g = u^2 * v^2 - u^5 - v^5\n", + "hs = [(u, 1)]\n", + "ks = [(v, 2)]\n", + "ff = f * prod(p^j for p, j in hs) * prod(p for p, j in ks)\n", + "gg = g * prod(p^j for p, j in ks) * prod(p for p, j in hs)\n", + "d = R2(discrim3(ff, gg) / prod(p^2 for p, j in hs) / prod(p^3 for p, j in ks))\n", + "d.factor(), # milnor(surface(ff, gg))" + ] + }, + { + "cell_type": "code", + "execution_count": 128, + "id": "f9fb1d7b-9e33-46ce-bf7b-776c7d04f6fa", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[(-1) * v^3 * (-u^4 + 3*u^3*v^2 - 3*u^2*v^4 + u*v^6 + v^8), u^4 * (v - u^2)^3]" + ] + }, + "execution_count": 128, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "factoresNewton(d)" + ] + }, + { + "cell_type": "code", + "execution_count": 132, + "id": "b32d46f1-1e18-403e-b813-e2221188c9ea", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(-1) * (-1 + 4*u) * (-1 + u)^2" + ] + }, + "execution_count": 132, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "(-u^4 + 3*u^3*v^2 - 3*u^2*v^4 + u*v^6 + v^8)(v=1).derivative(u).factor()" + ] + }, + { + "cell_type": "code", + "execution_count": 143, + "id": "51b8b296-2523-47c5-a5bb-b1f559d897f6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 143, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "(-u^4 + 3*u^3*v^2 - 3*u^2*v^4 + u*v^6 + v^8)(v=1).derivative(u)(u=1 / 4)" + ] + }, + { + "cell_type": "code", + "execution_count": 136, + "id": "51298dd8-ab45-4244-a5d4-30cbaaabd783", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-1 * 7^6 * 31^-4" + ] + }, + "execution_count": 136, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "(ff(u=1 / 4, v=1)^3/gg(u=1 / 4, v=1)^2).factor()" + ] + }, + { + "cell_type": "code", + "execution_count": 151, + "id": "7fc67ac3-d76e-4c24-98b5-6c0d6057e37a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[(-1/6912) * v^3 * (-4*u + v^2)^2 * (16*u^2 - 40*u*v^2 + 27*v^4),\n", + " (-1/27) * u^4 * (v - u^2)^3]" + ] + }, + "execution_count": 151, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dd = R2(discrim3(-ff / 3, gg / 16) / prod(p^2 for p, j in hs) / prod(p^3 for p, j in ks))\n", + "factoresNewton(dd)" + ] + }, + { + "cell_type": "code", + "execution_count": 153, + "id": "788a5bda-775a-4001-a390-4adfecd1450f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[(1/6144) * v^7 * (-256*u^2 + 3*v^5),\n", + " (-1/27) * u^4 * (v - u^2)^3,\n", + " (-1/216) * u^2 * v^3 * (8*u^2 - 16*u*v^2 + 9*v^4)]" + ] + }, + "execution_count": 153, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "factoresNewton(dd(u=u + v^2 / 4))" + ] + }, + { + "cell_type": "code", + "execution_count": 121, + "id": "1acc71df-f964-4acd-ba7c-11f98c3c4f02", + "metadata": {}, + "outputs": [], + "source": [ + "d1 = R2(d(v=v^2, u=v^3 * (u + 1)) / v^22)\n", + "g1 = R2(g(v=v^2, u=v^3 * (u + 1)) / v^10)" + ] + }, + { + "cell_type": "code", + "execution_count": 122, + "id": "7be2ed6b-2bdd-418a-8b14-6f6baf147c27", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[-4*u^2 + v^5]" + ] + }, + "execution_count": 122, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "factoresNewton(d1)" + ] + }, + { + "cell_type": "code", + "execution_count": 123, + "id": "2546d6ca-f3d1-4425-b6b8-54205f2af7c9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[(-1) * (-2*u + v^5)]" + ] + }, + "execution_count": 123, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "factoresNewton(g1)" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "id": "ef51632f-a8a0-4655-b471-76a4b975e9d7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\\(\\displaystyle \\left(\\begin{array}{rrrrr}\n", + "-5 & 0 & 1 & 0 & 1 \\\\\n", + "0 & -2 & 1 & 0 & 0 \\\\\n", + "1 & 1 & -1 & 0 & 0 \\\\\n", + "0 & 0 & 0 & -2 & 1 \\\\\n", + "1 & 0 & 0 & 1 & -1\n", + "\\end{array}\\right)\\)" + ], + "text/latex": [ + "$\\displaystyle \\left(\\begin{array}{rrrrr}\n", + "-5 & 0 & 1 & 0 & 1 \\\\\n", + "0 & -2 & 1 & 0 & 0 \\\\\n", + "1 & 1 & -1 & 0 & 0 \\\\\n", + "0 & 0 & 0 & -2 & 1 \\\\\n", + "1 & 0 & 0 & 1 & -1\n", + "\\end{array}\\right)$" + ], + "text/plain": [ + "[-5 0 1 0 1]\n", + "[ 0 -2 1 0 0]\n", + "[ 1 1 -1 0 0]\n", + "[ 0 0 0 -2 1]\n", + "[ 1 0 0 1 -1]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "A = Matrix(QQ, 5)\n", + "for i, j in ((0, 2), (0, 4), (1, 2), (3, 4)):\n", + " A[i, j] = A[j, i] = 1\n", + "A[0, 0] = -5\n", + "A[1, 1] = A[3, 3] = -2\n", + "A[2, 2] = A[4, 4] = -1\n", + "show(A)\n", + "Vf = vector(QQ, [0, 1, 0, 1, 0])\n", + "Vg = vector(QQ, [0, 0, 1, 0, 1])\n", + "Vd = vector(QQ, [5, 0, 1, 0, 1])\n", + "Vhs = ((vector(QQ, [0, 1, 0, 1, 0]), 1),)\n", + "Vks = ()" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "id": "30f4affd-a57c-4c4a-b6a4-dc34bb42245e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(5,\n", + " (2, 3, 5, 3, 5),\n", + " (4, 5, 10, 5, 10),\n", + " (9, 10, 20, 10, 20),\n", + " [((1, 2, 3, 1, 2), 1), ((1, 1, 2, 2, 3), 1)],\n", + " [],\n", + " (-5, -1, -2, -1, -2),\n", + " (2, 3, 5, 3, 5),\n", + " False)" + ] + }, + "execution_count": 107, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "n, Nf, Ng, Nd, Nhs, Nks, euler, nus, pols == trinomiales_general(A, Vf, Vg, Vhs, Vks, Vd, total=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "id": "9947139a-5e98-478e-b649-971f96b3a5d1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(4, 6, 10, 6, 10)" + ] + }, + "execution_count": 81, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Nf + sum(j * V0 for V0, j in Nhs) + sum(V0 for V0, j in Nks)" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "id": "5e717f0e-d183-4791-b92d-eb709b7b7452", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(6, 8, 15, 8, 15)" + ] + }, + "execution_count": 82, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Ng + sum(j * V0 for V0, j in Nks) + sum(V0 for V0, j in Nhs)" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "id": "b54c5c8b-04e8-4c45-b82b-caeb3d73252e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(13, 16, 30, 16, 30)" + ] + }, + "execution_count": 83, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Nd + 3 * sum(V0 for V0, j in Nks) + 2 * sum(V0 for V0, j in Nhs)" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "id": "a1544358-9d8c-411a-b30c-18630767a9c1", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0\n", + "(z^3 + x^2*z^2 + x^7, (2, 1, 1), -5)\n", + "===\n", + "1\n", + "(z^3 + x^6*z + x^8, (3, 1, 1), -1)\n", + "===\n", + "2\n", + "(z^3 + x^10*z + x^15, (5, 1, 1), -2)\n", + "===\n", + "3\n", + "(z^3 + x^6*z + x^8, (3, 1, 1), -1)\n", + "===\n", + "4\n", + "(z^3 + x^10*z + x^15, (5, 1, 1), -2)\n", + "===\n", + "(0, 2)\n", + "(z^3 + x^2*y^5*z^2 + x^7*y^15, (2, 5, 1), 1)\n", + "===\n", + "(0, 4)\n", + "(z^3 + x^2*y^5*z^2 + x^7*y^15, (2, 5, 1), 1)\n", + "===\n", + "(1, 2)\n", + "(z^3 + x^6*y^10*z + x^8*y^15, (3, 5, 1), 1)\n", + "===\n", + "(3, 4)\n", + "(z^3 + x^6*y^10*z + x^8*y^15, (3, 5, 1), 1)\n", + "===\n", + "(0, 'd')\n", + "(z^3 + x^2*z^2 + x^7*y, (2, 1, 1), 5)\n", + "===\n", + "(1, 'f')\n", + "(z^3 + x^8 + x^6*y*z, (3, 1, 1), 1)\n", + "===\n", + "(2, 'g')\n", + "(z^3 + x^10*z + x^15*y, (5, 1, 1), 1)\n", + "===\n", + "(2, 'd')\n", + "(z^3 + x^5*z^2 + x^15*y, (5, 1, 1), 1)\n", + "===\n", + "(3, 'f')\n", + "(z^3 + x^8 + x^6*y*z, (3, 1, 1), 1)\n", + "===\n", + "(4, 'g')\n", + "(z^3 + x^10*z + x^15*y, (5, 1, 1), 1)\n", + "===\n", + "(4, 'd')\n", + "(z^3 + x^5*z^2 + x^15*y, (5, 1, 1), 1)\n", + "===\n", + "(1, ('h', 0))\n", + "(z^3 + x^6*y*z + x^8*y, (3, 1, 1), 1)\n", + "===\n", + "(3, ('h', 1))\n", + "(z^3 + x^6*y*z + x^8*y, (3, 1, 1), 1)\n", + "===\n" + ] + } + ], + "source": [ + "for k in pols:\n", + " print(k)\n", + " print(pols[k])\n", + " print(\"===\")" + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "id": "e1d42c5c-80cf-4298-8026-31f8bfc2d5bb", + "metadata": {}, + "outputs": [], + "source": [ + "zt, zm, dic = zetas(n, pols, info=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "id": "3f0385d7-0397-485e-a870-09e9d7f65e27", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0\n", + "(1737/350) * (s + 9/14)^-1\n", + "(-56/15) * (s + 2/3)^-1\n", + "(-28/25) * (s + 1)^-1\n" + ] + } + ], + "source": [ + "quo, L = zt.partial_fraction_decomposition()\n", + "print(quo)\n", + "for p in L:\n", + " print(p.factor())" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "id": "196d3a0c-81cb-4fc3-b2ab-aa36016ae5b1", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "El ciclotómico de orden 1 tiene multiplicidad 3\n", + "El ciclotómico de orden 2 tiene multiplicidad 5\n", + "El ciclotómico de orden 3 tiene multiplicidad 3\n", + "El ciclotómico de orden 5 tiene multiplicidad 2\n", + "El ciclotómico de orden 14 tiene multiplicidad 5\n", + "El ciclotómico de orden 15 tiene multiplicidad 2\n" + ] + } + ], + "source": [ + "for j in dic:\n", + " print(\"El ciclotómico de orden \", j, \" tiene multiplicidad \", dic[j])" + ] + }, + { + "cell_type": "code", + "execution_count": 108, + "id": "e9c684cd-c9fa-473a-bb3c-397bfc664735", + "metadata": {}, + "outputs": [], + "source": [ + "n1a, Nf1a, Ng1a, Nd1a, Nhs1a, Nks1a, euler1a, nus1a, pols1a = trinomiales_general(A, Vf, Vg, Vhs, Vks, Vd, total=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 110, + "id": "6bde71ac-74ea-414e-9ac2-7a2e62b07b16", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 110, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "n1 == n1a and Nf1 == Nf1a and Ng1 == Ng1a and nus1 == nus1a and euler1 == euler1a" + ] + }, + { + "cell_type": "code", + "execution_count": 111, + "id": "659bc2d8-84bd-4098-ad64-c7efbc6c32f2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[((1, 2, 3, 1, 2), 1), ((1, 1, 2, 2, 3), 1)]" + ] + }, + "execution_count": 111, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Nhs1" + ] + }, + { + "cell_type": "code", + "execution_count": 112, + "id": "a3337a8f-82e7-48a2-ae1d-2b6c08f02b52", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[((2, 3, 5, 3, 5), 1)]" + ] + }, + "execution_count": 112, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Nhs1a" + ] + }, + { + "cell_type": "code", + "execution_count": 113, + "id": "7af9041a-217d-4350-8f0f-4f99be179258", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dict_keys([0, 1, 2, 3, 4, (0, 2), (0, 4), (1, 2), (3, 4), (0, 'd'), (2, 'd'), (4, 'd'), (1, ('h', 0)), (3, ('h', 0))])" + ] + }, + "execution_count": 113, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pols1a.keys()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4bf1a1e5-e264-44fa-bd70-50345b91a7cc", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "SageMath 10.3.rc4", + "language": "sage", + "name": "sagemath-devel" + }, + "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.1" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/Estratos.ipynb b/Estratos.ipynb index 89229da..d673633 100644 --- a/Estratos.ipynb +++ b/Estratos.ipynb @@ -1151,9 +1151,9 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" + "display_name": "SageMath 10.3.rc4", + "language": "sage", + "name": "sagemath-devel">>>>>>> 73afa076d02f9fd4d32c496e04ee495b0ed71d29 }, "language_info": { "codemirror_mode": { @@ -1165,7 +1165,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.2" + "version": "3.11.1" } }, "nbformat": 4, diff --git a/README.md b/README.md index fe80b79..db1554a 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # Steenbrink +Repositorio de muchas cosas + diff --git a/Singmult3Ejem1.ipynb b/Singmult3Ejem1.ipynb index eed404a..9b3ae70 100644 --- a/Singmult3Ejem1.ipynb +++ b/Singmult3Ejem1.ipynb @@ -1057,7 +1057,7 @@ ], "metadata": { "kernelspec": { - "display_name": "SageMath 10.2", + "display_name": "SageMath 10.3", "language": "sage", "name": "sagemath" }, @@ -1071,7 +1071,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.1" + "version": "3.12.2" } }, "nbformat": 4, diff --git a/Suspension10.ipynb b/Suspension10.ipynb index 04e4a6c..73fc8b0 100644 --- a/Suspension10.ipynb +++ b/Suspension10.ipynb @@ -297,7 +297,7 @@ ], "metadata": { "kernelspec": { - "display_name": "SageMath 10.3.rc3", + "display_name": "SageMath 10.4.beta3", "language": "sage", "name": "sagemath-310" }, @@ -311,7 +311,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.1" + "version": "3.12.2" } }, "nbformat": 4, diff --git a/Tutorial.ipynb b/Tutorial.ipynb index f24770d..d94f653 100644 --- a/Tutorial.ipynb +++ b/Tutorial.ipynb @@ -556,7 +556,7 @@ ], "metadata": { "kernelspec": { - "display_name": "SageMath 10.3.rc1", + "display_name": "SageMath 10.3.rc3", "language": "sage", "name": "sagemath-310" }, @@ -570,7 +570,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.2" + "version": "3.11.1" } }, "nbformat": 4, diff --git a/Untitled.ipynb b/Untitled.ipynb deleted file mode 100644 index 6fab831..0000000 --- a/Untitled.ipynb +++ /dev/null @@ -1,1167 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 47, - "id": "e37c0bd5-313a-4d9d-8a84-ed4b1837a271", - "metadata": {}, - "outputs": [], - "source": [ - "load('../Descargas/ZetaFunctionsNewtonND.py')\n", - "R. = QQ[]\n", - "S. = QQ[]\n", - "T. = QQ[]\n", - "F = z^3 + 3 * (y^2 - x^3 + y^3) * z^2 + 3 * ((y^2 - x^3)^2 + x^2 * y^3 + x^7) * z + ((y^2 - x^3)^3 + x^2 * y^5) " - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "f03dbc9a-d581-4c88-8a5f-4292b0ea43a3", - "metadata": {}, - "outputs": [], - "source": [ - "Z = ZetaFunctions(F)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "2a54e9c0-eb3d-4976-9ea2-74f32b9f4162", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Z.is_newton_degenerated()" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "00865de1-1ce2-4565-8e0e-010d7f489cc1", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "F1 = F(z=z - y^2 + x^3 - y^3)\n", - "F1.coefficient({z:2})" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "401272bb-0d0c-4f59-9584-ac8a55e77a2d", - "metadata": {}, - "outputs": [], - "source": [ - "Z = ZetaFunctions(F1)\n", - "# Z.is_newton_degenerated()" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "d1f1a24d-8bbe-47ca-ba0c-193db86a4b4a", - "metadata": {}, - "outputs": [], - "source": [ - "f1, f2 = [F1.coefficient({z: j})(x=u, y=v) for j in (1, 0)]" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "9b427c40-84c0-4706-910d-4198d219aa8f", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAikAAAHVCAYAAAA0K2vhAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABEzklEQVR4nO3deXhU9fn+8XuyEiCJBlklBspqlE1AC6iogICIgLIJSFTU+pPFlVpAv9C6RMGtS0oN1aitgKUICgjiArggyiLVIiZsCggUtEgAIUDy/P6gGRkSkkkyM2eW9+u6cmkmszyZzHJzPuee4zIzEwAAQJCJcnoAAACA0hBSAABAUCKkAACAoERIAQAAQYmQAgAAghIhBQAABCVCCgAACEqEFAAAEJQIKQAAICiFVEj55ptv5HK5tH79eknS8uXL5XK59OOPPzo6V3mmTJmitm3bBvx2r7jiCt1zzz1+vY3T/ybecLlcmj9/vs9nCcTvG4y3XZ558+YpJiZGzZs31969e/16W40aNdJzzz1XoctkZ2crNTVVUVFReu655wL2fHnppZd01lln+f12yuPU60Ooqsxj7HSn/+198TcwM91xxx1KSUmp8GtiMKnMa7o/VSqkrFy5UtHR0erVq1e55z1+/LgefPBBtWrVSjVq1FCDBg00cuRI7dq1qzI37aFz587avXu3kpOTq3xd/vTAAw/ovffec3oM+NHrr7+uRx55pNKXLw7cZ/q68sorJZ0MQ2Wdb8WKFR7Xu2zZMg0bNkyTJ09WnTp11KtXL+Xn53uc55tvvtGoUaPUuHFjJSQkqEmTJpo8ebKOHTtW6d/HW/n5+RozZowefPBBfffdd7rjjjvC+vnir4AO5y1ZskQvvfSSFi5cqN27d+vCCy8s8/ybN29WYmKio0H55ptvVv/+/T1OS01N9Wr+QKlUSHnxxRc1duxYffTRR9q+fXuZ5/3pp5+0bt06Pfzww1q3bp1ef/115eXl6brrrqvUwKeKi4tTvXr15HK5qnxd/lSzZk3VqlXL6TEinj/fdFNSUpSYmFjpyxcH7tO/nn/+eblcLt11112SToah08/z7bff6sILL1SHDh10ySWXuK9z7dq1GjBggJ555hk9/PDDevvtt5WSkqLrrrtOR48edZ/v66+/VlFRkZ5//nlt2LBBzz77rP7yl79o4sSJlb9DvLR9+3YdP35cffr0Uf369VW9enWeLwhJW7ZsUf369dW5c2fVq1dPMTExZzzv8ePHdeONN+qyyy4L4IQ/KywsVFFRUak/i46OLnf+gLIKOnTokCUmJtrXX39tQ4YMsd/+9rcVvQr77LPPTJJ9++23ZZ7v008/tbZt21p8fLy1b9/eXn/9dZNkn3/+uZmZLVu2zCTZ/v37zcwsJyfHkpOTbcGCBda8eXNLSEiwG264wQ4dOmQvvfSSpaWl2VlnnWVjxoyxEydOuG+noKDAxo8fbw0aNLDq1avbxRdfbMuWLXP/vPh6lyxZYi1btrQaNWpYz549bdeuXe7zLFu2zDp27GjVq1e35ORk69y5s33zzTdmZjZ58mRr06aN+7yFhYX229/+1s4991yLi4uzNm3a2OLFi90/37Ztm0myuXPn2hVXXGEJCQnWunVrW7lypfs833//vQ0dOtTOPfdcS0hIsAsvvNBmzpzpcf917drV7r777jPev8Vz/eUvf7GGDRtaQkKCDRw40H1/VmTWzz//3IqKiqxJkyY2bdo0j9v58ssvzeVy2ebNm83MTJLNmDHD+vfvbwkJCda0aVN74403PC6zYcMG6927t9WoUcPq1KljI0aMsH379rl/fujQIbvpppusRo0aVq9ePXvqqadK/L5paWn2yCOPWEZGhiUlJdnIkSPNzOyf//ynpaenW1xcnKWlpdlTTz3lcdtpaWn22GOP2S233GI1a9a01NRUe/755894P5Z2X1fmOk731VdfWVJSkk2aNKnM8912221Wt25d27Fjh/u0r7/+2urVq2cvv/yyx3mPHj1qffv2teuuu86OHz9+xuucOnWqNW7cuMzb/c9//mPXXnutVatWzRo1amR///vfLS0tzZ599ln3eX788Ue7/fbbrXbt2paYmGhXXnmlrV+/3sxOPq8keXxt27atxPMlIyPD+vXrZ9OmTbN69epZSkqK3XXXXXbs2DH3ecp7DhffXmpqqiUkJFj//v3tqaeesuTk5DJ/x1//+tfWrFkzS0hIsMaNG9tDDz3kcbvr16+3K664wmrWrGmJiYl20UUX2erVq0u9rrS0NI/fNS0tzcx+fh6+8sorlpaWZklJSTZkyBDLz893X7aoqMiefPJJa9y4sVWrVs1at25tc+bMKXP2o0eP2vjx461hw4YWFxdnTZs2tb/+9a/uny9fvtw6duxo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0KBBmjdvnjIzMzV9+vQSf8fS+OL5WRHe3l/luf322zVs2DBdfvnlXt927dq11aNHD7366qu67LLLtG3bNn3yySeaPn26JO/fw+Li4kr8Pb2xfv16XXbZZYqNjS3xs3379mnHjh0aNWqUbr/9dvfpJ06ccBdabr75ZvXo0UMtWrRQr169dO211+rqq6/2+vYrFFJeeOEFnThxQueee677NDNTbGys9u/fr7PPPvuMlz1+/LgGDx6sbdu26f333/d4ov/ud7/TAw884HF+M6vIaG6n35Eul6vU04p3GioqKlJ0dLTWrl3r8SIoyeNNsrTrOHXGnJwcjRs3TkuWLNFrr72mhx56SO+8845++ctfljrn6Tv7mlmJ0069zeKfFc/99NNP69lnn9Vzzz3nbk7dc889Vd45tPh2Tp3Fm1lPddttt+mmm27Ss88+q5ycHA0ZMsQjbJ7+uxXfxql/k759++rJJ58scd3169fXpk2bvP59Tg9tpc1e2mOtrPm8VZnreO211/TUU09p0aJFatasWannOXLkiAYMGKALLrigylXMU+3atUtXXnmlOnXqpOzs7DLPW3yflfU4KCoqUv369bV8+fISP6too6Gqz+HKvJ6sWrVKQ4cO1W9/+1v17NlTycnJmj17tp5++mn3eaZMmaJhw4Zp0aJFWrx4sSZPnqzZs2eXCERV/f0kadGiRR6vvZIUHx9f6vUlJCSUeXtlPQ9OPb28x/Dw4cPVtWtX7d27V++8846qVaum3r17V2jun376yf238/a5XdZcUVFRHr+PdPL9pyq8vb/K8/777+vNN9/UU0895b6OoqIixcTEKDs7W7feemuplxs+fLjuvvtu/fGPf9TMmTN1wQUXqE2bNpK8fw9LSEioVMmkrMdS8X0+Y8YMj532Jblnueiii7Rt2zYtXrxY7777rgYPHqzu3bvrn//8p1e373VIOXHihF555RU9/fTTJVLQDTfcoFdffVVjxowp9bLFAWXTpk1atmxZiX9Z1alTR3Xq1PE4LT09XX/729905MgR9520atUqb8f1Wrt27VRYWKi9e/dWeU/rdu3aqV27dpowYYI6deqkmTNnlggpSUlJatCggT766COPNL1y5UpdfPHFXt/Whx9+qH79+mnEiBGSTj5YNm3apPPPP79CM2/fvl27du1SgwYNJEmffPKJoqKi1Lx580rPes0116hGjRqaPn26Fi9erA8++KBCM1100UWaO3euGjVqVOoe5k2bNlVsbKxWrVrl/hfM/v37lZeXd8Z/ORZLT0/XRx995HHaypUr1bx58xJP8EBbv369br31Vj3xxBPq2bPnGc9322236b///a/efvttn+2B/9133+nKK69U+/btlZOT436hP5Pzzz9fJ06c0Jo1a9yPhdzcXI/PLLrooou0Z88excTEqFGjRj6ZszTePIfT09NLvH6U93ry8ccfKy0tTZMmTXKf9u2335Y4X/PmzdW8eXPde++9uvHGG5WTk3PGkBIbG6vCwsLyfqUSs8fHx2v79u3lPr6LtWrVSkVFRVqxYkWpW7nT09M1d+5cjzfflStXKjExsUSgKEvnzp2Vmpqq1157TYsXL9agQYMUFxdXobnvv/9+RUVFafHixbrmmmvUp08fXXXVVV7PcLratWtLknbv3u3+h3NVP/PDV/fXJ5984vH3f+ONN/Tkk09q5cqVZV5P//799atf/UpLlizRzJkzddNNN7l/VpX3sLi4uHIfj61bt9bLL7+s48ePlwiHdevW1bnnnqutW7dq+PDhZ7yOpKQkDRkyREOGDNHAgQPVq1cv/fe//1VKSkq5M3r9Crdw4ULt379fo0aNKvG5JAMHDtQLL7xQakg5ceKEBg4cqHXr1mnhwoUqLCzUnj17JJ3cRF/8gD7dsGHDNGnSJI0aNUoPPfSQvvnmG3f69KXmzZtr+PDhGjlypJ5++mm1a9dO33//vd5//321atVK11xzTbnXsW3bNmVnZ+u6665TgwYNlJubq7y8PI0cObLU848fP16TJ09WkyZN1LZtW+Xk5Gj9+vV69dVXvZ67adOmmjt3rlauXKmzzz5bzzzzjPbs2VPhkFKtWjVlZGToqaeeUn5+vsaNG6fBgwerXr16lZ41OjpaN998syZMmKCmTZt6tUx3qtGjR2vGjBm68cYbNX78eJ1zzjnavHmzZs+erRkzZqhmzZoaNWqUxo8fr1q1aqlu3bqaNGlSuW+s0skXxI4dO+qRRx7RkCFD9Mknn+hPf/qTx/KjE77//nv1799fV1xxhUaMGOF+jhSLjo5W7dq1NW3aNM2ZM0cLFizQiRMnSpwvOTm53H9Fn27Xrl264oordN555+mpp57Svn373D8rfhycrnjT7e23367s7GzFxMTonnvu8bjt7t27q1OnTurfv7+efPJJtWjRQrt27dJbb72l/v37l1iKqyxvnsPjxo1T586dNXXqVPXv319Lly4td6mnadOm2r59u2bPnq2OHTtq0aJFmjdvnvvnR44c0fjx4zVw4EA1btxYO3fu1OrVq3XDDTec8TobNWqk9957T126dFF8fHyZW5+LJSYm6oEHHtC9996roqIiXXrppcrPz9fKlStVs2ZNZWRklHo7GRkZuvXWW/WHP/xBbdq00bfffqu9e/dq8ODBuuuuu/Tcc89p7NixGjNmjHJzczV58mTdd999Xj2PirlcLg0bNkx/+ctflJeXp2XLllVo7kWLFunFF1/UJ598oosuuki/+c1vlJGRoS+++MKr+6Y0TZs2VWpqqqZMmaJHH31UmzZt8tj6VRm+ur9Of31es2aNoqKiyv1Mkho1aqhfv356+OGHtXHjRg0bNsz9s6q8hzVq1Ehvv/22cnNzVatWrVI/c2zMmDH64x//qKFDh2rChAlKTk7WqlWrdPHFF6tFixaaMmWKxo0bp6SkJPXu3VsFBQVas2aN9u/fr/vuu0/PPvus6tevr7Zt2yoqKkpz5sxRvXr1vN+a6u3OK9dee61dc801pf5s7dq1JsnWrl1b4mfFO+GU9nV6RfB0n3zyibVp08bi4uKsbdu2NnfuXK8qyKcqbYeo03cWOnbsmP3f//2fNWrUyGJjY61evXo2YMAA++KLL854vfPmzbPiu2/Pnj3Wv39/q1+/vrvW+n//93/uHarKqiDHxsaWWesttn//fo/77IcffrB+/fpZzZo1rU6dOvbQQw/ZyJEjPX4vbyvIf/7zn61BgwZWrVo1u/766+2///1vlWY1M9uyZYtJsqlTp5a4XZWy82BycrJHwyYvL88GDBhgZ511liUkJFjLli3tnnvuce98dfDgQRsxYoRVr17d6tata1OnTi1159VT67DFiivIsbGxdt5555WoTJd2uTZt2ng0H07nzW2XdR0vvfTSGZ8nOqXS2KhRozLPd+p96K3SqsDFX2XZvXu39enTx+Lj4+28885zV2hP/b3z8/Nt7Nix1qBBA4uNjbXU1FQbPny4bd++3cy833H29J377r77buvatav7+/Kew2Ynm4nFVfu+fft6VUEeP3681apVy2rWrGlDhgyxZ5991n2ZgoICGzp0qKWmplpcXJw1aNDAxowZY0eO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zgsvvKDevXurQYMGTo/iFbakIKSNHTtWb775ppYtWxaxB5yMi4tT06ZN1aFDB2VmZqpNmzb6/e9/7/RYAbV27Vrt3btX7du3V0xMjGJiYrRixQr94Q9/UExMjAoLC50e0TE1atRQq1attGnTJqdHCaj69euXCOrnn3++tm/f7tBEzvv222/17rvv6rbbbnN6FK+xJQUhycw0duxYzZs3T8uXL1fjxo2dHilomJkKCgqcHiOgunXrVqLBcsstt6hly5Z68MEHFR0d7dBkzisoKNDGjRt12WWXOT1KQHXp0qXExxLk5eUpLS3NoYmcV1ww6NOnj9OjeI2QEmIOHTqkzZs3u7/ftm2b1q9fr5SUFJ133nkOThZYo0eP1syZM/XGG28oMTFRe/bskSQlJycrISHB4ekCZ+LEierdu7dSU1N18OBBzZ49W8uXLy/Rfgp3iYmJJfZHqlGjhmrVqhVx+yk98MAD6tu3r8477zzt3btXjz76qPLz85WRkeH0aAF17733qnPnznr88cc1ePBgffbZZ8rOzlZ2drbTozmiqKhIOTk5ysjIUExMCL31G0LKsmXLTFKJr4yMDKdHC6jS7gNJlpOT4/RoAXXrrbdaWlqaxcXFWe3ata1bt262dOlSp8cKCl27drW7777b6TECbsiQIVa/fn2LjY21Bg0a2PXXX28bNmxweixHLFiwwC688EKLj4+3li1bWnZ2ttMjOebtt982SZabm+v0KBXCx+IDAICgxI6zAAAgKBFSAABAUCKkAACAoERIAQAAQYmQAgAAghIhBQAABCVCCgAACEqEFAAAEJQIKQAAICgRUgAAQFAipAAAgKBESAEAAEHp/wOQUOt5IY0G4wAAAABJRU5ErkJggg==\n", - "text/plain": [ - "A 2-dimensional polyhedron in ZZ^2 defined as the convex hull of 4 vertices" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "f1.newton_polytope()" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "ef34032e-a446-4e5c-9e0d-1999cc2b8e72", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "False" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Z1 = ZetaFunctions(f1)\n", - "Z1.is_newton_degenerated()" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "309918bb-6988-4676-92bd-3e8e50045585", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAikAAAHVCAYAAAA0K2vhAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABDZ0lEQVR4nO3dfZyNdf7H8feZG2OGmSnkrsawSZpUKlOh0IZssrQbCtF2s7YQtdnSzZJ+JVFpa7bSRkqWrEj5qSRRdCMRRTNIRfjpRjOUhpn5/P7QnHWYGWduzlw35/V8PObBuc451/U515yb9/l+r89cATMzAQAAuEyM0wUAAACUhJACAABciZACAABciZACAABciZACAABciZACAABciZACAABciZACAABciZACAABcyVMh5csvv1QgENCaNWskSW+//bYCgYB+/PFHR+s6mjFjxqh169bVvt1OnTppxIgREd3G4b+TcAQCAc2bN6/Ka6mOx+vGbR/N3LlzFRcXpxYtWmjXrl0R3VbTpk01adKkct1n8uTJSktLU0xMjCZNmlRtr5dnn31WxxxzTMS3czROvT94VUWeY4c7/HdfFb8DM9Of//xn1alTp9zviW5Skff0SKpQSFmxYoViY2PVrVu3o972wIEDuu2223TaaaepVq1aaty4sQYOHKjt27dXZNMh2rVrpx07dig1NbXS64qkW2+9VYsXL3a6DETQSy+9pHvvvbfC9y8O3KX9XHjhhZIOhqGybrd06dKQ9S5ZskT9+vXT6NGjVb9+fXXr1k15eXkht/nyyy917bXXqlmzZkpMTNSJJ56o0aNHa//+/RV+POHKy8vT0KFDddttt+mbb77Rn//8Z1+/XiIV0OG81157Tc8++6xeffVV7dixQ61atSrxdmamiRMnqkWLFkpISFBaWpruv//+aq72oKuvvlq9evUKWZaWllZm/dUtriJ3mjJlioYNG6Z//etf+vrrr9WkSZNSb/vzzz/r448/1t13360zzjhDu3fv1ogRI/T73/9eH330UYULl6QaNWqoYcOGlVpHdahdu7Zq167tdBlRb//+/apRo0ZE1l2nTp1K3b84cB9u/vz5+stf/qIbb7xR0sEwdHh42L9/v7p3766aNWvq3HPPDS5ftWqVLrvsMj388MO64YYbdMstt6hnz576/e9/r9dee001a9aUJH3++ecqKirSU089pebNm+vTTz/V9ddfr59++kkTJ06s1OM6mq+//loHDhxQ9+7d1ahRo+ByXi/wms2bN6tRo0Zq165dmbcbPny43njjDU2cOFGnnXaacnNz9d1331VTlQcVFhYqEAiUeF1sbKy7PletnPbu3WvJycn2+eefW9++fe2ee+4p7yrsww8/NEn21VdflXm7Dz74wFq3bm0JCQl29tln20svvWSSbPXq1WZmtmTJEpNku3fvNjOzqVOnWmpqqr3yyivWokULS0xMtD/+8Y+2d+9ee/bZZy09Pd2OOeYYGzp0qBUUFAS3k5+fbyNHjrTGjRtbUlKSnXPOObZkyZLg9cXrfe2116xly5ZWq1Ytu/jii2379u3B2yxZssQyMzMtKSnJUlNTrV27dvbll1+amdno0aPtjDPOCN62sLDQ7rnnHjv++OOtRo0adsYZZ9jChQuD12/ZssUk2Zw5c6xTp06WmJhop59+uq1YsSJ4m++++86uuOIKO/744y0xMdFatWplM2bMCNl/HTt2tOHDh5e6f4vrevLJJ+2EE06wxMREu/zyy4P7szy1rl692oqKiuzEE0+0CRMmhGxn3bp1FggEbNOmTWZmJsmefvpp69WrlyUmJlrz5s3t5ZdfDrnPZ599Zr/73e+sVq1aVr9+fRswYIB9++23wev37t1rV111ldWqVcsaNmxoEydOPOLxpqen27333muDBg2ylJQUGzhwoJmZ/ec//7GMjAyrUaOGpaen28SJE0O2nZ6ebvfdd5/96U9/stq1a1taWpo99dRTpe7HkvZ1RdZxuPXr11tKSordeeedZd7uuuuuswYNGtjWrVuDyz7//HNr2LChTZs2LeS2v/zyi/Xo0cN+//vf24EDB0pd54MPPmjNmjUrc7v/93//Z5deeqnVrFnTmjZtatOnT7f09HR75JFHgrf58ccf7frrr7fjjjvOkpOT7cILL7Q1a9aY2cHXlaSQny1bthzxehk0aJD17NnTJkyYYA0bNrQ6derYjTfeaPv37w/e5miv4eLtpaWlWWJiovXq1csmTpxoqampZT7Gv/3tb3bSSSdZYmKiNWvWzO66666Q7a5Zs8Y6depktWvXtuTkZDvrrLNs5cqVJa4rPT095LGmp6eb2X9fh88995ylp6dbSkqK9e3b1/Ly8oL3LSoqsvHjx1uzZs2sZs2advrpp9vs2bPLrP2XX36xkSNH2gknnGA1atSw5s2b27/+9a/g9W+//bZlZmZajRo1rGHDhnbbbbeFPCc6duxow4YNs5EjR9qxxx5rDRo0sNGjRwevv+KKK6xv374h29y/f7/VrVvXpkyZctS6i4qK7KKLLrKLL77YioqKzMxs9+7dlpaWZnfccUepj+tor63DPxfMzFavXh18fpn99z292OHPuZKUtb8GDRpU4u/2cOvXr7e4uDj7/PPPy9zWoc477zy77bbbQpbt2rXL4uLi7K233jKz8D/DXnnlFTvllFMsNjbWBg4ceMTrb8mSJSHv6cU+/fRTu+SSSyw5Odlq165t559/fvD93MxsypQp1rJlS0tISLCTTz7ZsrKygtfl5+fbkCFDrGHDhpaQkGDp6el2//33h/34yx1SnnnmGWvTpo2Zmb3yyivWtGnT4BMsXIsWLbJAIGC5ubml3mbv3r123HHHWd++fe3TTz+1V155xX7zm98cNaTEx8dbly5d7OOPP7alS5da3bp1rWvXrtanTx/77LPP7JVXXrEaNWrYzJkzg9vq16+ftWvXzpYtW2abNm2yCRMmWEJCguXk5ISst3PnzrZy5UpbtWqVnXLKKdavXz8zMztw4IClpqbarbfeaps2bbL169fbs88+Gwxhh78AHn74YUtJSbF///vf9vnnn9vf/vY3i4+PD26v+EnSsmVLe/XVVy07O9suv/xyS09PD74otm3bZhMmTLDVq1fb5s2b7R//+IfFxsba+++/H9xOOCGlVq1a9tvf/tZWr15tS5cutebNmwcfV3lqLf6d3HfffZaRkRGynZtvvtk6dOgQvCzJTjjhBJsxY4Zt3LjRbrrpJqtdu7Z9//33Zma2fft2q1evno0aNco2bNhgH3/8sXXp0sUuvPDC4DpuuOEGO+GEE+yNN96wtWvX2qWXXmq1a9c+IiikpKTYhAkTbOPGjbZx40b76KOPLCYmxsaOHWvZ2dk2depUS0xMtKlTp4bcr06dOpaVlWUbN260cePGWUxMjG3YsKHUfVlSSCnvOg61e/dua9GihfXo0aPM11dWVpbVqFHDli9fHtZ6w3XnnXfa2WefXeZtfve731mrVq1sxYoV9tFHH1m7du0sMTExGFKKioqsffv21qNHD1u5cqXl5OTYX//6V6tbt659//339vPPP9ubb75pkuzDDz+0HTt2WEFBQYkhJSUlxf7yl7/Yhg0b7JVXXrGkpCSbPHly8DZHew2///77FggEbNy4cZadnW2PPvqoHXPMMUcNKffee68tX77ctmzZYvPnz7cGDRrY+PHjg9efeuqpNmDAANuwYYPl5OTYiy++GAxhh9u1a5dJsqlTp9qOHTts165dZnbwdVi7dm37wx/+YOvWrbNly5ZZw4YNQz6o77jjDmvZsqW99tprtnnzZps6daolJCTY22+/XWrtffr0sbS0NHvppZds8+bN9uabbwbf97Zt22ZJSUl244032oYNG2zu3LlWr169kBDSsWNHS0lJsTFjxlhOTo5NmzbNAoGAvfHGG2Z28P0/MTHR9uzZE7zPK6+8YjVr1gy+tx+t7m3bttmxxx5rkyZNMjOzvn37Wps2bUKC4OGO9tqKREg52v768ccfbezYsXbCCSeE/G4PN378eGvRooVNnDjRmjZtaunp6XbttdcG3/tK8thjj1mTJk1C3gcee+wxO/74462wsNDMwv8Ma9eunS1fvtw+//xz+/HHH61Pnz7WrVs327Fjh+3YscPy8/OPeE/ftm2b1alTx/7whz/YypUrLTs726ZMmRIMWpMnT7ZGjRrZnDlz7IsvvrA5c+ZYnTp17NlnnzUzswkTJlhaWpotW7bMvvzyS3vnnXeO+EJdlnKHlHbt2gWfUAcOHLB69erZokWLwr7/vn377Oyzz7b+/fuXebunnnrK6tSpYz/99FNw2RNPPHHUkCIpJOENHjzYkpKSQl5IF198sQ0ePNjMzDZt2mSBQMC++eabkO1fdNFFNmrUqFLXm5WVZQ0aNDAzs++//94klfqGcfgLoHHjxnbfffeF3CYzM9NuvPFGM/vvB/+h33o+++wzk1Tmh9wll1xif/3rX4OXwwkpsbGxId/AFy5caDExMbZjx45y1Vr8O9m+fbvFxsbaBx98YGYHv1kdd9xxwSes2cGQctdddwUv79271wKBQHCE5u6777auXbuGbHPr1q0mybKzs23Pnj1HBM3vv//eEhMTjwgKvXr1CllPv379rEuXLiHLRo4cGRKs0tPTbcCAAcHLRUVFVr9+fXviiSdK2o1mVnJIKe86ihUWFtrvfvc7O+WUU8oM8kuXLrX4+Hh7+umnj7rO8ti0aZOlpKSUud7s7GyTFBKKN2zYYJKCIWXx4sWWkpJiv/zyS8h9TzzxxOA338M/PMyOfL0MGjTI0tPTQ0Y/e/fuHfwWH85r+Morr7Ru3bqFXN+3b9+jhpTDPfjggyHhLTk5OeS5fTSSbO7cuSHLRo8ebUlJSSEjJyNHjrRzzz3XzA6+PmrWrBkykmpmdu2119qVV15Z4naKfz+lvTffcccddvLJJ4d88GVlZVnt2rWDH3wdO3a0888/P+R+mZmZwW/1+/fvt3r16tlzzz0XvP7KK6+03r17l6vuF1980RISEmzUqFGWlJRk2dnZJdZc7GivrUiElHD21yOPPFLqCEqxwYMHW0JCgp177rm2bNkyW7JkibVu3TrkC9jhikdNli1bFlzWtm1bGzlypJmV7zPs8ABdPEp5qMPf00eNGmXNmjUrNTimpaUdETruvfdea9u2rZmZDRs2zH7729+WezCjWLmOScnOztaHH36ol156SZIUFxenvn37asqUKercufNR73/gwAFdccUVKioq0j//+c/g8r/85S+aPn168PLevXu1YcMGnXHGGUpKSgoub9u27VG3kZSUpBNPPDF4uUGDBmratGnIHHeDBg2CXQ4ff/yxzEwtWrQIWU9+fr7q1q1b6nobNWoUXEedOnV09dVX6+KLL1aXLl3UuXNn9enTJ2SOvVheXp62b9+u9u3bhyxv3769Pvnkk5Blp59+esj2JGnXrl1q2bKlCgsL9cADD2jWrFn65ptvlJ+fr/z8fNWqVeuo++hQTZo00QknnBC83LZtWxUVFSk7O1tJSUlh13pond27d9eUKVN0zjnn6NVXX9Uvv/yi3r17l/rYatWqpeTk5OD+XLVqlZYsWVLicQmbN2/Wvn37tH///pDnQ506dXTyyScfcfs2bdqEXN6wYYN69ux5xOOZNGmSCgsLFRsbe0R9gUBADRs2LHdnTEXXcccdd+i9997Thx9+qJSUlBJv8/XXX+vyyy/Xn//8Z1133XXlqqss27dvV7du3dS7d+8y17thwwbFxcWF7N+WLVuGdEysWrVKe/fuDXkdSdK+ffu0efPmctV16qmnBn830sHn2bp16ySF9xresGGDLrvsspDr27Ztq9dee63M7f7nP//RpEmTtGnTJu3du1cFBQUhv5NbbrlF1113nZ5//nl17txZvXv3DnmfCFfTpk2VnJwc8viKnyvr16/XL7/8oi5duoTcZ//+/TrzzDNLXN+aNWsUGxurjh07lnj9hg0b1LZt25DjEtq3b6+9e/dq27ZtweMMD30OH15XfHy8evfurRdeeEFXXXWVfvrpJ7388suaMWNGueru3bu35s6dq3HjxumJJ5444vdYkqp4fZZHuPvraIqKipSfn6/nnnsu+DifeeYZnX322crOzi7xPey4445Tly5d9MILL+iCCy7Qli1b9N577+mJJ56QFP5nWI0aNY74fYZjzZo1uuCCCxQfH3/Edd9++622bt2qa6+9Vtdff31weUFBQbCh5eqrr1aXLl108sknq1u3brr00kvVtWvXsLdfrpDyzDPPqKCgQMcff3xwmZkpPj5eu3fv1rHHHlvqfQ8cOKA+ffpoy5Yteuutt0Je6GPHjtWtt94acnszK09pQYfvyEAgUOKyoqIiSQefNLGxsVq1alXIm6AUevBeSes4tMapU6fqpptu0muvvaZZs2bprrvu0qJFi3TeeeeVWOfhBy2Z2RHLDt1m8XXFdT/00EN65JFHNGnSpGDn1IgRIyrdkVG8nUNrCafWQ1133XW66qqr9Mgjj2jq1Knq27dvSNg8/LEVb+PQ30mPHj00fvz4I9bdqFEjbdy4MezHc3hoK6n2kp5rZdUXroqsY9asWZo4caIWLFigk046qcTb7Nu3T5dddplOPfXUSrdiHmr79u268MIL1bZtW02ePLnM2xbvs7KeB0VFRWrUqJHefvvtI64rb+tvZV/DFXk/ef/993XFFVfonnvu0cUXX6zU1FTNnDlTDz30UPA2Y8aMUb9+/bRgwQItXLhQo0eP1syZM48IRJV9fJK0YMGCkPdeSUpISChxfYmJiWVur6zXwaHLj/Yc7t+/vzp27Khdu3Zp0aJFqlmzpn73u9+Vq+6ff/45+LsL97VdVl0xMTEhj0c6+PlTGeHur6Np1KhR8M8BFDvllFMkHfziUVJIkQ7u5+HDh+uxxx7TjBkzdOqpp+qMM86QFP5nWGJiYrlqPfR+pSne508//XTIQfuSgrWcddZZ2rJlixYuXKg333xTffr0UefOnfWf//wnrO2HHVIKCgr03HPP6aGHHjoiBf3xj3/UCy+8oKFDh5Z43+KAsnHjRi1ZsuSIb1b169dX/fr1Q5ZlZGTo+eef1759+4I76f333w+33LCdeeaZKiws1K5du3TBBRdUel1nnnmmRo0apbZt22rGjBlHhJSUlBQ1btxY7777rjp06BBcvmLFCp1zzjlhb+udd95Rz549NWDAAEkHnywbN24MPuHD9fXXX2v79u1q3LixJOm9995TTEyMWrRoUeFaL7nkEtWqVUtPPPGEFi5cqGXLlpWrprPOOktz5sxR06ZNFRd35FO0efPmio+P1/vvvx/8BrN7927l5OSU+s2xWEZGht59992QZStWrFCLFi2OeIFXtzVr1uiaa67RAw88oIsvvrjU21133XX64Ycf9Prrr5e4fyrim2++0YUXXqizzz5bU6dODb7Rl+aUU05RQUGBPvroo+BzITs7O+RvFp111lnauXOn4uLi1LRp0yqpsyThvIYzMjKOeP842vvJ8uXLlZ6erjvvvDO47Kuvvjridi1atFCLFi10880368orr9TUqVNLDSnx8fEqLCw82kM6ovaEhAR9/fXXR31+FzvttNNUVFSkpUuXljjKnZGRoTlz5oR8+K5YsULJyclHBIqytGvXTmlpaZo1a5YWLlyo3r17Bzvowq37r3/9q2JiYrRw4UJdcskl6t69u37729+GXcPhjjvuOEnSjh07gl+cK/s3P6pqf7Vv314FBQXavHlzcMQtJydHkpSenl7q/Xr16qXBgwfrtdde04wZM3TVVVcFr6vMZ1iNGjWO+nw8/fTTNW3aNB04cOCIcNigQQMdf/zx+uKLL9S/f/9S15GSkqK+ffuqb9++uvzyy9WtWzf98MMPYXVFhv13Ul599VXt3r1b1157rVq1ahXyc/nll+uZZ54p8X4FBQW6/PLL9dFHH+mFF15QYWGhdu7cqZ07d5b5rb9fv36KiYnRtddeq/Xr1+t///d/I9IO2aJFC/Xv318DBw7USy+9pC1btmjlypUaP368/vd//zesdWzZskWjRo3Se++9p6+++kpvvPGGcnJySg0MI0eO1Pjx4zVr1ixlZ2fr9ttv15o1azR8+PCw627evLkWLVqkFStWaMOGDRo8eLB27twZ9v2L1axZU4MGDdInn3yid955RzfddJP69OkTbEGrSK2xsbG6+uqrNWrUKDVv3jysabpDDRkyRD/88IOuvPJKffjhh/riiy/0xhtv6JprrlFhYaFq166ta6+9ViNHjtTixYv16aef6uqrrz7qB6t08A1x8eLFuvfee5WTk6Np06bp8ccfP2Ikr7p999136tWrlzp16qQBAwYEXyPFP99++60kacKECZo9e7aefPJJFRQUHHG7ffv2lXvb27dvV6dOnZSWlqaJEyfq22+/Da6vNMVDt9dff70++OADrVq1Stddd13It67OnTurbdu26tWrl15//XV9+eWXWrFihe66665K//mBQ4XzGi4e5XzwwQeVk5Ojxx9//KhTPc2bN9fXX3+tmTNnavPmzfrHP/6huXPnBq/ft2+fhg4dqrfffltfffWVli9frpUrV5b5RaFp06ZavHixdu7cqd27d4f1+JKTk3Xrrbfq5ptv1rRp07R582atXr1aWVlZmjZtWqnbGTRokK655hrNmzdPW7Zs0dtvv60XX3xRknTjjTdq69atGjZsmD7//HO9/PLLGj16tG655ZawXkfFAoGA+vXrpyeffFKLFi0KfmkKt+4FCxZoypQpeuGFF9SlSxfdfvvtGjRoUNj7piTNmzdXWlqaxowZo5ycHC1YsCBk9Ksiqmp/de7cWWeddZauueYarV69WqtWrdLgwYPVpUuXMqe5atWqpZ49e+ruu+/Whg0b1K9fv+B1lfkMa9q0qdauXavs7Gx99913JY44DR06VHl5ebriiiv00UcfaePGjXr++eeVnZ0t6eBo4rhx4/Too48qJydH69at09SpU/Xwww9Lkh555BHNnDlTn3/+uXJycjR79mw1bNgw/NHUcA9eufTSS+2SSy4p8bpVq1aZJFu1atUR1xUfhFPSz+Etgod777337IwzzrAaNWpY69atbc6cOWG1IB+qpAOiDj9YaP/+/fb3v//dmjZtavHx8dawYUO77LLLbO3ataWud+7cuVa8+3bu3Gm9evWyRo0aBdta//73vwcPqCqrBTk+Pr7Mtt5iu3fvDtln33//vfXs2dNq165t9evXt7vuussGDhwY8rjCbUH+5z//aY0bN7aaNWvaH/7wB/vhhx8qVauZ2ebNm02SPfjgg0dsVyUcPJiamhrSYZOTk2OXXXaZHXPMMZaYmGgtW7a0ESNGBA++2rNnjw0YMMCSkpKsQYMG9uCDD5Z48Oqh7bDFiluQ4+PjrUmTJke0TJd0vzPOOCOk8+Fw4Wy7rHU8++yzpb5OdEhLY9OmTcu83aH7MFwltQIX/5Rlx44d1r17d0tISLAmTZoEW2gPfdx5eXk2bNgwa9y4scXHx1taWpr179/fvv76azML/8DZww/uGz58uHXs2DF4+WivYbODnYnF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/fr1euihh3TMMcc4XZovjB8/Xk8++aQef/xxbdiwQQ8++KAmTJigxx57zOnSPOunn37SGWecoccff7zE6x988EE9/PDDevzxx7Vy5Uo1bNhQXbp0OeL0MV7DdA8q7dtvv1X9+vW1dOlSdejQwelyfGPv3r0666yz9M9//lP/8z//o9atW2vSpElOl+ULt99+u5YvX6533nnH6VJ86dJLL1WDBg30zDPPBJf98Y9/VFJSkp5//nkHK/OHQCCguXPnqlevXpIOjqI0btxYI0aM0G233Sbp4LnsGjRooPHjx2vw4MEOVls5jKSg0nJzcyVJderUcbgSfxkyZIi6d++uzp07O12K78yfP19t2rRR7969Vb9+fZ155pl6+umnnS7LN84//3wtXrxYOTk5kqRPPvlE7777ri655BKHK/OnLVu2aOfOneratWtwWUJCgjp27KgVK1Y4WFnlefYEg3AHM9Mtt9yi888/X61atXK6HN+YOXOmPv7444idsTnaffHFF3riiSd0yy236I477tCHH36om266SQkJCRo4cKDT5XnebbfdptzcXLVs2VKxsbEqLCzUfffdpyuvvNLp0nxp586dkqQGDRqELG/QoIG++uorJ0qqMoQUVMrQoUO1du1avfvuu06X4htbt27V8OHD9cYbb6hmWeddR4UVFRWpTZs2uv/++yVJZ555pj777DM98cQThJQqMGvWLE2fPl0zZszQqaeeqjVr1mjEiBFq3LixBg0a5HR5vnX4n9owM8//+Q1CCips2LBhmj9/vpYtW8YJHKvQqlWrtGvXLp199tnBZYWFhVq2bJkef/xx5efnKzY21sEKva9Ro0bKyMgIWXbKKadozpw5DlXkLyNHjtTtt9+uK664QpJ02mmn6auvvtK4ceMIKRHQsGFDSQdHVBo1ahRcvmvXriNGV7yGY1JQbmamoUOH6qWXXtJbb72lZs2aOV2Sr1x00UVat26d1qxZE/xp06aN+vfvrzVr1hBQqkD79u2PaJvPyclRenq6QxX5y88//6yYmNCPl9jYWFqQI6RZs2Zq2LChFi1aFFy2f/9+LV26VO3atXOwsspjJAXlNmTIEM2YMUMvv/yykpOTg/OhqampSkxMdLg670tOTj7i+J5atWqpbt26HPdTRW6++Wa1a9dO999/v/r06aMPP/xQkydP1uTJk50uzRd69Oih++67T02aNNGpp56q1atX6+GHH9Y111zjdGmetXfvXm3atCl4ecuWLVqzZo3q1KmjJk2aaMSIEbr//vt10kkn6aSTTtL999+vpKQk9evXz8Gqq4AB5SSpxJ+pU6c6XZpvdezY0YYPH+50Gb7yyiuvWKtWrSwhIcFatmxpkydPdrok38jLy7Phw4dbkyZNrGbNmvab3/zG7rzzTsvPz3e6NM9asmRJie+7gwYNMjOzoqIiGz16tDVs2NASEhKsQ4cOtm7dOmeLrgL8nRQAAOBKHJMCAABciZACAABciZACAABciZACAABciZACAABciZACAABciZACAABciZACAABciZACAABciZACAABciZACAABciZACAABc6f8BhG/BuDVGrxwAAAAASUVORK5CYII=\n", - "text/plain": [ - "A 2-dimensional polyhedron in ZZ^2 defined as the convex hull of 6 vertices" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "f2.newton_polytope()" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "6664a215-547f-4ac9-8c6f-80e36416086d", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "False" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Z2 = ZetaFunctions(f2)\n", - "Z2.is_newton_degenerated()" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "4dff83c1-9e5f-4f29-8d39-eb9fa8df6b29", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Newton's polyhedron of 3*x^10 - 3*x^7*y^3 - 3*x^7*y^2 + 3*x^6*y^3 - 6*x^3*y^6 + 2*y^9 + 3*x^5*y^3 - 6*x^3*y^5 - 3*x^2*y^6 + 6*y^8 + 3*x^7*z - 2*x^2*y^5 + 3*y^7 + 6*x^3*y^3*z - 3*y^6*z + 3*x^2*y^3*z - 6*y^5*z + z^3:\n", - " support points = [(10, 0, 0), (7, 3, 0), (7, 2, 0), (6, 3, 0), (3, 6, 0), (0, 9, 0), (5, 3, 0), (3, 5, 0), (2, 6, 0), (0, 8, 0), (7, 0, 1), (2, 5, 0), (0, 7, 0), (3, 3, 1), (0, 6, 1), (2, 3, 1), (0, 5, 1), (0, 0, 3)]\n", - " vertices = [(0, 0, 3), (10, 0, 0), (0, 7, 0), (5, 3, 0), (2, 5, 0)]\n", - " number of compact faces = 15\n", - " Facet 0: 3*x + 5*y + 10*z - 30 >= 0\n", - " Facet 1: 3*x + 3*y + 7*z - 21 >= 0\n", - " Facet 3: 6*x + 9*y + 19*z - 57 >= 0\n" - ] - } - ], - "source": [ - "Z.give_info_newton(compact=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "dcaa730a-6a42-4d4b-9ba9-b58a1d6791a5", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[Ideal (z, y, x) of Multivariate Polynomial Ring in x, y, z over Rational Field]" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "J = F.jacobian_ideal() + R.ideal(F)\n", - "J.minimal_associated_primes()" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "id": "4e01de37-328d-4c08-8520-774d3600ab3c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[[Ideal (z, x) of Multivariate Polynomial Ring in x, y, z over Rational Field],\n", - " [Ideal (z, y) of Multivariate Polynomial Ring in x, y, z over Rational Field],\n", - " [Ideal (z, y) of Multivariate Polynomial Ring in x, y, z over Rational Field,\n", - " Ideal (z, x) of Multivariate Polynomial Ring in x, y, z over Rational Field]]" - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "A = list(Z.get_polyfaces_dictionary(compact=True).keys())\n", - "A = [p for p in A if p.number_of_terms() > 2]\n", - "[p.jacobian_ideal().minimal_associated_primes() for p in A]" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "id": "2841278f-76c0-4a28-8fcf-554477c46b63", - "metadata": {}, - "outputs": [], - "source": [ - "F = z^3 + 3 * ((y^2 - x^3)^2 + x^2 * y^3 ) * z + 2 * ((y^2 - x^3)^3 + x^2 * y^5) " - ] - }, - { - "cell_type": "code", - "execution_count": 49, - "id": "3ed43a6e-b044-44d6-91e6-abf866241ccb", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[Ideal (z, y, x) of Multivariate Polynomial Ring in x, y, z over Rational Field]" - ] - }, - "execution_count": 49, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "J = F.jacobian_ideal() + R.ideal(F)\n", - "J.minimal_associated_primes()" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "id": "5f9acb87-1385-408f-8652-0753fa786cb9", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 50, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Z = ZetaFunctions(F)\n", - "Z.is_newton_degenerated(local=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 92, - "id": "7bb3152b-8077-4a3e-884e-105a61e85057", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[-2*x^9 + 3*x^6*z + z^3,\n", - " 2*y^6 + 3*y^4*z + z^3,\n", - " (2) * (-x^3 + y^2)^3,\n", - " -2*x^9 + 6*x^6*y^2 - 6*x^3*y^4 + 3*x^6*z + 2*y^6 - 6*x^3*y^2*z + 3*y^4*z + z^3]" - ] - }, - "execution_count": 92, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "A = list(Z.get_polyfaces_dictionary(compact=True).keys())\n", - "[p.factor() for p in A if p.number_of_terms() > 2]" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "id": "c2b03e7c-533f-433c-88ce-4ba101ed8d33", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Newton's polyhedron of -2*x^9 + 6*x^6*y^2 - 6*x^3*y^4 + 2*x^2*y^5 + 3*x^6*z + 2*y^6 - 6*x^3*y^2*z + 3*x^2*y^3*z + 3*y^4*z + z^3:\n", - " support points = [(9, 0, 0), (6, 2, 0), (3, 4, 0), (2, 5, 0), (6, 0, 1), (0, 6, 0), (3, 2, 1), (2, 3, 1), (0, 4, 1), (0, 0, 3)]\n", - " vertices = [(0, 0, 3), (9, 0, 0), (0, 6, 0)]\n", - " number of compact faces = 7\n", - " Facet 3: 2*x + 3*y + 6*z - 18 >= 0\n" - ] - } - ], - "source": [ - "Z.give_info_newton(compact=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 52, - "id": "738d444a-b606-4691-b6fa-f88d085b0f0d", - "metadata": {}, - "outputs": [], - "source": [ - "dis = F.discriminant(z)(x=u, y=v)" - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "id": "a81931d5-c668-466d-90f5-6d1d4a1cbcb1", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(-216) * (t - 1)^6" - ] - }, - "execution_count": 54, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sum(dis.monomial_coefficient(u^(3 * j) * v^(2 * (6 - j))) * t^j for j in (0 .. 6)).factor()" - ] - }, - { - "cell_type": "code", - "execution_count": 59, - "id": "3a619846-dc9b-48de-909a-ebd63188a4e3", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnQAAAFfCAYAAADH6lGnAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA/G0lEQVR4nO3deViU9f7/8dfIjjAoJpsikCZuuaEVmvtukVQq7tixxZ9bueUXraPlKUwtbeFgeBKzMj0dpDDTtATMxBKV8hgCGu5wSDMR02F7//7wMMdhnYEZ5p6Z1+O65vKae+65788MzPjkMzP3qEREQEREREQWq4m5B0BEREREDcOgIyIiIrJwDDoiIiIiC8egIyIiIrJwDDoiIiIiC8egIyIiIrJwDDoiIiIiC8egIyIiIrJwDDoiIiIiC8ega0Rnz56FSqVCRkYGACAlJQUqlQp//PGHWcdVlxUrVqB79+6Nvt+BAwfihRdeMOk+Kv9M9KFSqfD5558bfSyNcXuVuO+6JCYmwt7eHu3bt0dBQYFJ9xUYGIj169cbdJ24uDj4+/ujSZMmWL9+faM9XjZv3oxmzZqZfD91Mdfzg6Wqz+9YZZV/9sb4GYgInn32WXh6ehr8nKgk9XlOtxY2GXSHDh2CnZ0dRo4cWee6JSUlWLJkCe6//340bdoUfn5+mDZtGi5fvtzgcfTp0wd5eXnw8PBo8LZMadGiRfj222/NPQwyoR07dmDlypX1vn7FHyc1nQYNGgTgTjjWtl5qaqrOdpOTkzFp0iQsX74cXl5eGDlyJAoLC3XWOXv2LGbMmIGgoCC4uLigbdu2WL58OYqLi+t9e/RVWFiIOXPmYMmSJbh06RKeffZZq368mOqPGTK/PXv2YPPmzfjyyy+Rl5eHLl261Lr+6dOn4e7ubtY/KqZPn47w8HCdZf7+/nqN3xrZZNBt2rQJc+fOxcGDB3H+/Pla1/3zzz9x7NgxvPzyyzh27Bh27NiB7OxsPPbYYw0eh6OjI3x8fKBSqRq8LVNyc3NDixYtzD0Mm2fKQPH09IS7u3u9r1/xx0nl0/vvvw+VSoVZs2YBuBOOldc5d+4cunTpgl69euHBBx/UbvPo0aN4/PHH8dZbb+Hll1/G119/DU9PTzz22GO4ffu2dr1Tp06hvLwc77//Pk6ePIl169Zhw4YNWLp0af3vED2dP38eJSUleOSRR+Dr6wtXV1c+XsginTlzBr6+vujTpw98fHxgb29f47olJSWYOHEi+vXr14gj/J+ysjKUl5dXe5mdnV2d47daYmOKiorE3d1dTp06JREREfLKK68YvI0ff/xRAMi5c+dqXe+HH36Q7t27i5OTk4SEhMiOHTsEgBw/flxERJKTkwWAXLt2TURE4uPjxcPDQ3bu3Cnt27cXFxcXefLJJ6WoqEg2b94sAQEB0qxZM5kzZ46UlpZq96PRaGTx4sXi5+cnrq6u8sADD0hycrL28ort7tmzRzp06CBNmzaVESNGyOXLl7XrJCcnS+/evcXV1VU8PDykT58+cvbsWRERWb58uXTr1k27bllZmbzyyivSqlUrcXR0lG7dusnu3bu1l+fm5goASUhIkIEDB4qLi4t07dpVDh06pF3nypUrMmHCBGnVqpW4uLhIly5dZOvWrTr334ABA+T555+v8f6tGNeGDRukdevW4uLiImPHjtXen4aM9fjx41JeXi5t27aVNWvW6OznxIkTolKp5PTp0yIiAkA2btwo4eHh4uLiIu3atZMvvvhC5zonT56UUaNGSdOmTcXLy0umTJkiv/32m/byoqIimTp1qjRt2lR8fHxk7dq1VW5vQECArFy5UiIjI0WtVsu0adNERORf//qXdOrUSRwdHSUgIEDWrl2rs++AgAB57bXX5KmnnhI3Nzfx9/eX999/v8b7sbr7uj7bqOyXX34RtVoty5Ytq3W9p59+Wry9veXChQvaZadOnRIfHx/58MMPdda9ffu2hIWFyWOPPSYlJSU1bnP16tUSFBRU637/85//yKOPPirOzs4SGBgoH3/8sQQEBMi6deu06/zxxx/yzDPPSMuWLcXd3V0GDRokGRkZInLncQVA55Sbm1vl8RIZGSljxoyRNWvWiI+Pj3h6esqsWbOkuLhYu05dj+GK/fn7+4uLi4uEh4fL2rVrxcPDo9bb+OKLL8p9990nLi4uEhQUJC+99JLOfjMyMmTgwIHi5uYm7u7u0rNnTzly5Ei12woICNC5rQEBASLyv8fhli1bJCAgQNRqtUREREhhYaH2uuXl5fLGG29IUFCQODs7S9euXeWzzz6rdey3b9+WxYsXS+vWrcXR0VHatWsn//jHP7SXp6SkSO/evcXR0VF8fHxkyZIlOr8TAwYMkLlz58rixYulefPm4u3tLcuX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\n", - "text/plain": [ - "A 2-dimensional polyhedron in ZZ^2 defined as the convex hull of 4 vertices" - ] - }, - "execution_count": 59, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dis1 = S(dis(u=(u + 1) * v^2, v=(u + 1) * v^3) / v^36 / (u + 1)^12)\n", - "dis1.newton_polytope()" - ] - }, - { - "cell_type": "code", - "execution_count": 60, - "id": "9c418e1b-299d-46bf-9889-4507ff6f46f8", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(-216) * (t^2 - t + 1/2)" - ] - }, - "execution_count": 60, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sum(dis1.monomial_coefficient(u^(3 * j) * v^(1 * (2 - j))) * t^j for j in (0 .. 2)).factor()" - ] - }, - { - "cell_type": "code", - "execution_count": 70, - "id": "11896d9b-c596-4407-a712-a1d175f9d2ee", - "metadata": {}, - "outputs": [], - "source": [ - "G1 = F(x=x * y)" - ] - }, - { - "cell_type": "code", - "execution_count": 73, - "id": "c0fe5a40-c6a2-4172-85be-33dc74a1d755", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[1,\n", - " (3) * v^4 * (u^6*v^2 - 2*u^3*v + u^2*v + 1),\n", - " (-2) * v^6 * (u^9*v^3 - 3*u^6*v^2 + 3*u^3*v - u^2*v - 1)]" - ] - }, - "execution_count": 73, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "[G1.coefficient({z: j})(x=u, y=v).factor() for j in (3, 1, 0)]" - ] - }, - { - "cell_type": "code", - "execution_count": 78, - "id": "091e9112-9845-41a4-8172-31fd886568f3", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(t^3 - 3*t + 2, t^3 - 3*t - 2)" - ] - }, - "execution_count": 78, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "(t-1)^2*(t+2), (t+1)^2*(t-2)" - ] - }, - { - "cell_type": "code", - "execution_count": 76, - "id": "5f99e576-08d8-452d-ab03-0089116496b0", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "False" - ] - }, - "execution_count": 76, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ZG1 = ZetaFunctions(G1)\n", - "ZG1.is_newton_degenerated()" - ] - }, - { - "cell_type": "code", - "execution_count": 77, - "id": "8151a088-51d1-42d0-a667-5b0167c53ebf", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[1,\n", - " (3) * u^6 * (u^2*v^4 + u^2*v^3 - 2*u*v^2 + 1),\n", - " (2) * u^9 * (u^3*v^6 + u^3*v^5 - 3*u^2*v^4 + 3*u*v^2 - 1)]" - ] - }, - "execution_count": 77, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "G2 = F(y=x^2 * y)\n", - "[G2.coefficient({z: j})(x=u, y=v).factor() for j in (3, 1, 0)]" - ] - }, - { - "cell_type": "code", - "execution_count": 81, - "id": "bd3d9154-56c2-4160-a90c-1ce93eaff531", - "metadata": {}, - "outputs": [], - "source": [ - "G2a = F(y=x * y)(x=x * y)" - ] - }, - { - "cell_type": "code", - "execution_count": 82, - "id": "398f35d2-f57c-4ebc-bad4-4bdc19959203", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[1,\n", - " (3) * u^4 * v^12 * (u^2 + u*v - 2*u + 1),\n", - " (2) * u^6 * v^18 * (-u^3 + 3*u^2 + u*v - 3*u + 1)]" - ] - }, - "execution_count": 82, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "G3a = G2a(x=x * y)\n", - "[G3a.coefficient({z: j})(x=u, y=v).factor() for j in (3, 1, 0)]" - ] - }, - { - "cell_type": "code", - "execution_count": 84, - "id": "8a83a333-04a5-4a69-ae84-dd2710791e6a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[1,\n", - " (3) * v^6 * u^12 * (u*v^2 + v^2 - 2*v + 1),\n", - " (2) * v^9 * u^18 * (u*v^3 + v^3 - 3*v^2 + 3*v - 1)]" - ] - }, - "execution_count": 84, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "G3b = G2a(y=x * y)\n", - "[G3b.coefficient({z: j})(x=u, y=v).factor() for j in (3, 1, 0)]" - ] - }, - { - "cell_type": "code", - "execution_count": 95, - "id": "0f663827-846c-4f41-bb71-23cc1ec20fbb", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[1,\n", - " (3) * (u + 1)^4 * v^12 * (u^2 + u*v + v),\n", - " (2) * (u + 1)^6 * v^18 * (-u^3 + u*v + v)]" - ] - }, - "execution_count": 95, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "G3c = G2a(x=(x + 1) * y)\n", - "[G3c.coefficient({z: j})(x=u, y=v).factor() for j in (3, 1, 0)]" - ] - }, - { - "cell_type": "code", - "execution_count": 96, - "id": "d7670079-6b7b-46bd-bb32-0d19e572a1f7", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[1,\n", - " (3) * v^13 * (u*v + 1)^4 * (u^2*v + u*v + 1),\n", - " (-2) * v^19 * (u*v + 1)^6 * (u^3*v^2 - u*v - 1)]" - ] - }, - "execution_count": 96, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "G4 = G3c(x=x * y)\n", - "[G4.coefficient({z: j})(x=u, y=v).factor() for j in (3, 1, 0)]" - ] - }, - { - "cell_type": "code", - "execution_count": 97, - "id": "e497d9b6-e472-401e-8237-b0a49622022d", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[1,\n", - " (3) * u^13 * v^26 * (u*v + u + 1) * (u*v + 1)^4,\n", - " (-2) * u^19 * v^38 * (u*v + 1)^6 * (u^2*v - u*v - 1)]" - ] - }, - "execution_count": 97, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "G5 = G3c(y=x * y)(x=x * y)\n", - "[G5.coefficient({z: j})(x=u, y=v).factor() for j in (3, 1, 0)]" - ] - }, - { - "cell_type": "code", - "execution_count": 98, - "id": "c828c6f3-7d1d-42f5-a027-b17aa1a9c0d6", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[1,\n", - " (3) * (u + 1)^4 * v^12 * u^38 * (u^2*v + u*v + 1),\n", - " (2) * (u + 1)^6 * v^18 * u^57 * (u*v + v - 1)]" - ] - }, - "execution_count": 98, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "G6 = G3c(y=x^3 * y)\n", - "[G6.coefficient({z: j})(x=u, y=v).factor() for j in (3, 1, 0)]" - ] - }, - { - "cell_type": "code", - "execution_count": 99, - "id": "5519db2f-8a98-420a-b0e6-d2a544e78cb4", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[1,\n", - " (3) * (u + 1)^4 * (v + 1)^12 * u^38 * (u^2*v + u^2 + u*v + u + 1),\n", - " (2) * (u + 1)^6 * (v + 1)^18 * u^57 * (u*v + u + v)]" - ] - }, - "execution_count": 99, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "G7 = G6(y=y + 1)\n", - "[G7.coefficient({z: j})(x=u, y=v).factor() for j in (3, 1, 0)]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "931a99a3-15dc-4947-9b9b-5452b3c56b14", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b9f4aa86-1fb1-4c5d-b17e-2ec03b691c5f", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 102, - "id": "b549c701-c6db-4183-8f43-05d4f1b045c3", - "metadata": {}, - "outputs": [], - "source": [ - "F = z^3 - 3 * ((y^2 - x^3)^2 + x^2 * y^3 + x^7 + y^5 ) * z + 2 * ((y^2 - x^3)^3 + x^2 * y^5) " - ] - }, - { - "cell_type": "code", - "execution_count": 103, - "id": "363c3f2c-0fc1-44fd-82af-12f772cc3667", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[Ideal (z, y, x) of Multivariate Polynomial Ring in x, y, z over Rational Field]" - ] - }, - "execution_count": 103, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "J = F.jacobian_ideal() + R.ideal(F)\n", - "J.minimal_associated_primes()" - ] - }, - { - "cell_type": "code", - "execution_count": 104, - "id": "85233ba7-8097-4a08-af63-a15d1da61731", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 104, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Z = ZetaFunctions(F)\n", - "Z.is_newton_degenerated(local=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 105, - "id": "83ad77a2-75de-4fad-ad52-4fa8d4c4718c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[(-2*x^3 + z) * (x^3 + z)^2,\n", - " (2*y^2 + z) * (-y^2 + z)^2,\n", - " (2) * (-x^3 + y^2)^3,\n", - " (-2*x^3 + 2*y^2 + z) * (x^3 - y^2 + z)^2]" - ] - }, - "execution_count": 105, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "A = list(Z.get_polyfaces_dictionary(compact=True).keys())\n", - "[p.factor() for p in A if p.number_of_terms() > 2]" - ] - }, - { - "cell_type": "code", - "execution_count": 106, - "id": "9e9ec64f-5496-4bf1-9889-e1a0cd03b2ce", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Newton's polyhedron of -2*x^9 + 6*x^6*y^2 - 3*x^7*z - 6*x^3*y^4 + 2*x^2*y^5 - 3*x^6*z + 2*y^6 + 6*x^3*y^2*z - 3*x^2*y^3*z - 3*y^5*z - 3*y^4*z + z^3:\n", - " support points = [(9, 0, 0), (6, 2, 0), (7, 0, 1), (3, 4, 0), (2, 5, 0), (6, 0, 1), (0, 6, 0), (3, 2, 1), (2, 3, 1), (0, 5, 1), (0, 4, 1), (0, 0, 3)]\n", - " vertices = [(0, 0, 3), (9, 0, 0), (0, 6, 0)]\n", - " number of compact faces = 7\n", - " Facet 1: 2*x + 3*y + 6*z - 18 >= 0\n" - ] - } - ], - "source": [ - "Z.give_info_newton(compact=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 109, - "id": "bff0dca4-38e4-4820-9d1a-168279bba601", - "metadata": {}, - "outputs": [], - "source": [ - "G1 = F(x=x * y)" - ] - }, - { - "cell_type": "code", - "execution_count": 123, - "id": "d61d80f4-804a-4605-8755-53078b829718", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[(2*y^2 + z) * (-y^2 + z)^2]" - ] - }, - "execution_count": 123, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ZG1 = ZetaFunctions(G1)\n", - "A = list(ZG1.get_polyfaces_dictionary(compact=True).keys())\n", - "[p.factor() for p in A if p.number_of_terms() > 2]" - ] - }, - { - "cell_type": "code", - "execution_count": 124, - "id": "5c1b90b6-fb18-4a63-b488-025289b9c0e4", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[1,\n", - " (-3) * v^4 * (u^7*v^3 + u^6*v^2 - 2*u^3*v + u^2*v + v + 1),\n", - " (-2) * v^6 * (u^9*v^3 - 3*u^6*v^2 + 3*u^3*v - u^2*v - 1)]" - ] - }, - "execution_count": 124, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "[G1.coefficient({z: j})(x=u, y=v).factor() for j in (3, 1, 0)]" - ] - }, - { - "cell_type": "code", - "execution_count": 125, - "id": "0bda6c5a-09d1-4da4-b1cc-6d1b142af8a7", - "metadata": {}, - "outputs": [], - "source": [ - "H1 = G1(z=z + y^2) " - ] - }, - { - "cell_type": "code", - "execution_count": 126, - "id": "93985af6-ede0-4eeb-ab23-b296e9475812", - "metadata": {}, - "outputs": [], - "source": [ - "ZH1 = ZetaFunctions(H1)\n", - "# ZH1.is_newton_degenerated()" - ] - }, - { - "cell_type": "code", - "execution_count": 127, - "id": "b8b06f67-d028-435f-a0ad-ff069032edf5", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[]" - ] - }, - "execution_count": 127, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "A = list(ZH1.get_polyfaces_dictionary(compact=True).keys())\n", - "[p.factor() for p in A if p.number_of_terms() > 2]" - ] - }, - { - "cell_type": "code", - "execution_count": 129, - "id": "f6290df5-6ac0-48e3-90ed-d7669c80c42f", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Newton's polyhedron of -2*x^9*y^9 - 3*x^7*y^9 - 3*x^7*y^7*z + 3*x^6*y^8 - 3*x^6*y^6*z - x^2*y^7 + 6*x^3*y^5*z - 3*x^2*y^5*z - 3*y^7 - 3*y^5*z + 3*y^2*z^2 + z^3:\n", - " support points = [(9, 9, 0), (7, 9, 0), (7, 7, 1), (6, 8, 0), (6, 6, 1), (2, 7, 0), (3, 5, 1), (2, 5, 1), (0, 7, 0), (0, 5, 1), (0, 2, 2), (0, 0, 3)]\n", - " vertices = [(0, 0, 3), (0, 2, 2), (0, 7, 0)]\n", - " number of compact faces = 5\n" - ] - } - ], - "source": [ - "ZH1.give_info_newton(compact=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 130, - "id": "19bd0eac-30d6-44ab-8a22-b4bd4e0670f7", - "metadata": {}, - "outputs": [], - "source": [ - "G1a = F(y=x * y)" - ] - }, - { - "cell_type": "code", - "execution_count": 132, - "id": "8cc3bbeb-0af3-4981-b871-fa538b4ef35f", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[1,\n", - " (-3) * u^6 * (u^4*v^5 + u^2*v^4 + u^2*v^3 - 2*u*v^2 + u + 1),\n", - " (2) * u^9 * (u^3*v^6 + u^3*v^5 - 3*u^2*v^4 + 3*u*v^2 - 1)]" - ] - }, - "execution_count": 132, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "G2 = G1a(y=x * y)\n", - "[G2.coefficient({z: j})(x=u, y=v).factor() for j in (3, 1, 0)]" - ] - }, - { - "cell_type": "code", - "execution_count": 133, - "id": "7124eb23-b08d-4dd5-911c-37a62614014b", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[]" - ] - }, - "execution_count": 133, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "H2 = G2(z=z - x^3) \n", - "ZH2 = ZetaFunctions(H2)\n", - "A = list(ZH2.get_polyfaces_dictionary(compact=True).keys())\n", - "[p.factor() for p in A if p.number_of_terms() > 2]" - ] - }, - { - "cell_type": "code", - "execution_count": 134, - "id": "94329753-721a-4c4c-b34b-6e6519dcd455", - "metadata": {}, - "outputs": [], - "source": [ - "G2a = G1a(x=x * y)" - ] - }, - { - "cell_type": "code", - "execution_count": 141, - "id": "1f336df6-a229-49c7-805e-db418bb44c61", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[1,\n", - " (-3) * u^4 * v^12 * (u^3*v^2 + u*v^3 + u^2 + u*v - 2*u + 1),\n", - " (2) * u^6 * v^18 * (-u^3 + 3*u^2 + u*v - 3*u + 1)]" - ] - }, - "execution_count": 141, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "G3 = G2a(x=x * y)\n", - "[G3.coefficient({z: j})(x=u, y=v).factor() for j in (3, 1, 0)]" - ] - }, - { - "cell_type": "code", - "execution_count": 154, - "id": "0921c5d4-5450-4151-ab73-353050b0717d", - "metadata": {}, - "outputs": [], - "source": [ - "H3 = G3(z=z + x^2 * y^6 - x^3 * y^6) " - ] - }, - { - "cell_type": "code", - "execution_count": 155, - "id": "4b21a72e-00ec-421b-b12b-64ba829a2876", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "3" - ] - }, - "execution_count": 155, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "H3.monomial_coefficient(z^2 * x^2 * y^6)" - ] - }, - { - "cell_type": "code", - "execution_count": 156, - "id": "77084b78-853a-414c-a276-853f700721f4", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[]" - ] - }, - "execution_count": 156, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "\n", - "ZH3 = ZetaFunctions(H3)\n", - "A = list(ZH3.get_polyfaces_dictionary(compact=True).keys())\n", - "[p.factor() for p in A if p.number_of_terms() > 2]" - ] - }, - { - "cell_type": "code", - "execution_count": 138, - "id": "b3588587-fd65-4506-af93-add95db17be2", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[1,\n", - " (-3) * v^6 * u^12 * (u^3*v^4 + u^2*v + u*v^2 + v^2 - 2*v + 1),\n", - " (2) * v^9 * u^18 * (u*v^3 + v^3 - 3*v^2 + 3*v - 1)]" - ] - }, - "execution_count": 138, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "G4 = G2a(y=x * y)\n", - "[G4.coefficient({z: j})(x=u, y=v).factor() for j in (3, 1, 0)]" - ] - }, - { - "cell_type": "code", - "execution_count": 160, - "id": "99f714fe-4c27-4c72-ad1b-c9efbfe4fec4", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[(-3) * y^3 * x^6 * (-x^14*y^7 - x^13*y^8 + z^2)]" - ] - }, - "execution_count": 160, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "H4 = G4(z=z - x^6 * y^3 + x^6 * y^4) \n", - "ZH4 = ZetaFunctions(H4)\n", - "A = list(ZH4.get_polyfaces_dictionary(compact=True).keys())\n", - "[p.factor() for p in A if p.number_of_terms() > 2]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6a235ca1-1d84-4cc7-aa26-e361b44eb701", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "SageMath 10.2", - "language": "sage", - "name": "sagemath" - }, - "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.1" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/deformaciones1.ipynb b/deformaciones1.ipynb new file mode 100644 index 0000000..0b24641 --- /dev/null +++ b/deformaciones1.ipynb @@ -0,0 +1,745 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 127, + "id": "6f223eb4-d9d7-4c24-b809-d387f72b3029", + "metadata": {}, + "outputs": [], + "source": [ + "load('zetas_triples_general.py')\n", + "R3. = PolynomialRing(QQ, order='negdeglex')\n", + "R2. = PolynomialRing(QQ, order='negdeglex')\n", + "f = v^4 - u^8\n", + "g = v^6 - u^7 - v^7\n", + "F = z^3 - 3 * f(u=x, v=y) * z + 2 * g(u=x, v=y)" + ] + }, + { + "cell_type": "code", + "execution_count": 128, + "id": "ef2111f5-9086-42c8-9a20-cd31ab0d4eae", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 128, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "F.discriminant(z)(x=u, y=v) / 108 - f^3 + g^2" + ] + }, + { + "cell_type": "code", + "execution_count": 129, + "id": "a85a87e4-6aca-40dc-8b73-abad307ae892", + "metadata": {}, + "outputs": [], + "source": [ + "h = f^3 - g^2" + ] + }, + { + "cell_type": "code", + "execution_count": 130, + "id": "ea3661f4-5bca-48be-88f6-f6239782c169", + "metadata": {}, + "outputs": [], + "source": [ + "Zh = ZetaFunctions(h)" + ] + }, + { + "cell_type": "code", + "execution_count": 131, + "id": "d95b7a45-5692-47ad-b604-373ea5e2d879", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[(2) * (u + v) * v^6 * (u^6 - u^5*v + u^4*v^2 - u^3*v^3 + u^2*v^4 - u*v^5 + v^6),\n", + " u^7 * (2*v^6 - u^7)]" + ] + }, + "execution_count": 131, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "[p.factor() for p in Zh.get_polyfaces_dictionary(compact=True) if p.number_of_terms() > 1]" + ] + }, + { + "cell_type": "code", + "execution_count": 126, + "id": "b1436070-45e4-47cc-8486-f78808362258", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(-1) * u^7 * (-2*v^6 + u^7 + 3*u*v^8 - 3*u^9*v^4 + u^17)" + ] + }, + "execution_count": 126, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "h.factor()" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "id": "919f8539-7514-4046-a416-6cf8450a7888", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\\(\\displaystyle \\left(\\begin{array}{rrrrrrr}\n", + "-7 & 0 & 0 & 0 & 0 & 0 & 1 \\\\\n", + "0 & -2 & 1 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 1 & -2 & 1 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 1 & -2 & 1 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 1 & -2 & 1 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 1 & -2 & 1 \\\\\n", + "1 & 0 & 0 & 0 & 0 & 1 & -1\n", + "\\end{array}\\right)\\)" + ], + "text/latex": [ + "$\\displaystyle \\left(\\begin{array}{rrrrrrr}\n", + "-7 & 0 & 0 & 0 & 0 & 0 & 1 \\\\\n", + "0 & -2 & 1 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 1 & -2 & 1 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 1 & -2 & 1 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 1 & -2 & 1 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 1 & -2 & 1 \\\\\n", + "1 & 0 & 0 & 0 & 0 & 1 & -1\n", + "\\end{array}\\right)$" + ], + "text/plain": [ + "[-7 0 0 0 0 0 1]\n", + "[ 0 -2 1 0 0 0 0]\n", + "[ 0 1 -2 1 0 0 0]\n", + "[ 0 0 1 -2 1 0 0]\n", + "[ 0 0 0 1 -2 1 0]\n", + "[ 0 0 0 0 1 -2 1]\n", + "[ 1 0 0 0 0 1 -1]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "cf = [-7, 0, 0, 0, 0, 0, 1, 0, -2, 1, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 1, -2, 1, 1, 0, 0, 0, 0, 1, -1]\n", + "A = Matrix(QQ, 7, cf)\n", + "show(A)" + ] + }, + { + "cell_type": "code", + "execution_count": 113, + "id": "135b7f17-6f27-4268-8da4-0151b9d9c94d", + "metadata": {}, + "outputs": [], + "source": [ + "Vf = vector(QQ, 7)\n", + "Vf[1] = 4\n", + "Vg = vector(6 * [0] + [1])\n", + "Vhs = ()\n", + "Vks = ()\n", + "Vd = vector([7] + 5 * [0] + [1])" + ] + }, + { + "cell_type": "code", + "execution_count": 154, + "id": "df787dd5-9c0f-4ffa-981c-1b0575367791", + "metadata": {}, + "outputs": [], + "source": [ + "n, Nf, Ng, Nd, Nhs, Nks, euler, nus, pols = trinomiales_general(A, Vf, Vg, Vhs, Vks, Vd, total=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 155, + "id": "cec01a3e-f693-478a-8324-b0adf23f9943", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0: (z^3 + x^2*z^2 + x^7, (2, 1, 1), -6),\n", + " 1: (z^3 + x^7 + x^8*z, (3, 1, 1), 1),\n", + " 2: (z^3 + x^12*z + x^14, (5, 1, 1), 0),\n", + " 3: (z^3 + x^16*z + x^21, (7, 1, 1), 0),\n", + " 4: (z^3 + x^20*z + x^28, (9, 1, 1), 0),\n", + " 5: (z^3 + x^24*z + x^35, (11, 1, 1), 0),\n", + " 6: (z^3 + x^28*z + x^42, (13, 1, 1), -1),\n", + " (0, 6): (z^3 + x^2*y^14*z^2 + x^7*y^42, (2, 13, 1), 1),\n", + " (1, 2): (z^3 + x^8*y^12*z + x^7*y^14, (3, 5, 1), 1),\n", + " (2, 3): (z^3 + x^12*y^16*z + x^14*y^21, (5, 7, 1), 1),\n", + " (3, 4): (z^3 + x^16*y^20*z + x^21*y^28, (7, 9, 1), 1),\n", + " (4, 5): (z^3 + x^20*y^24*z + x^28*y^35, (9, 11, 1), 1),\n", + " (5, 6): (z^3 + x^24*y^28*z + x^35*y^42, (11, 13, 1), 1),\n", + " (0, 'd'): (z^3 + x^2*z^2 + x^7*y, (2, 1, 1), 7),\n", + " (6, 'd'): (z^3 + x^14*z^2 + x^42*y, (13, 1, 1), 1)}" + ] + }, + "execution_count": 155, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pols" + ] + }, + { + "cell_type": "code", + "execution_count": 162, + "id": "5bafce5e-ccf2-4e83-94c1-b63f2ebb2cf1", + "metadata": {}, + "outputs": [], + "source": [ + "zetatop, zetamon, dic = zetas(n, pols, info=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 163, + "id": "c522d508-4fd4-4426-9569-bd2f1a16de35", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(-1/7) * (s + 9/14)^-2 * (s + 1)^-1 * (s^2 - 53/14*s - 81/28)" + ] + }, + "execution_count": 163, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "zetatop.factor()" + ] + }, + { + "cell_type": "code", + "execution_count": 164, + "id": "348fe080-d93a-413b-9825-76d6378ac7d1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(-1) * (t - 1) * (t + 1)^6 * (t^6 + t^5 + t^4 + t^3 + t^2 + t + 1) * (t^6 - t^5 + t^4 - t^3 + t^2 - t + 1)^7 * (t^12 + t^11 - t^9 - t^8 + t^6 - t^4 - t^3 + t + 1)" + ] + }, + "execution_count": 164, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "zetamon.factor()" + ] + }, + { + "cell_type": "code", + "execution_count": 165, + "id": "c6a58b25-5da8-4c04-a1ac-c3503277bb0a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{1: 1, 2: 6, 7: 1, 14: 7, 42: 1}" + ] + }, + "execution_count": 165, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dic" + ] + }, + { + "cell_type": "code", + "execution_count": 166, + "id": "f3af9a9f-fa37-48c4-ba34-9b3afbf75c7e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0\n", + "(-3/7) * (s + 9/14)^-1 * (s + 1)^-1 * (s + 9/2)\n", + "{2: 12, 6: 6, 14: 6}\n", + "=======================\n", + "1\n", + "(13/63) * (s + 16/21)^-1 * (s + 1)^-1 * (s + 16/13)\n", + "{1: 1, 21: -1}\n", + "=======================\n", + "2\n", + "0\n", + "{}\n", + "=======================\n", + "3\n", + "0\n", + "{}\n", + "=======================\n", + "4\n", + "0\n", + "{}\n", + "=======================\n", + "5\n", + "0\n", + "{}\n", + "=======================\n", + "6\n", + "(2/91) * (s + 9/14)^-1 * (s + 1)^-1 * (s - 9/4)\n", + "{1: 1, 2: 2, 3: 1, 6: 2, 14: 2, 7: 2, 21: 2, 42: 2}\n", + "=======================\n", + "(0, 6)\n", + "(1/78) * (s + 9/14)^-2 * (s + 1)^-1 * (s^2 + 87/49*s + 243/196)\n", + "{1: 1, 3: 1}\n", + "=======================\n", + "(1, 2)\n", + "(1/45) * (s + 29/42)^-1 * (s + 16/21)^-1 * (s + 1)^-1 * (s^2 + 713/294*s + 232/147)\n", + "{1: 1, 3: 1}\n", + "=======================\n", + "(2, 3)\n", + "(1/105) * (s + 2/3)^-1 * (s + 29/42)^-1 * (s + 1)^-1 * (s^2 + 95/42*s + 29/21)\n", + "{1: 1, 3: 1}\n", + "=======================\n", + "(3, 4)\n", + "(1/189) * (s + 55/84)^-1 * (s + 2/3)^-1 * (s + 1)^-1 * (s^2 + 185/84*s + 55/42)\n", + "{1: 1, 3: 1}\n", + "=======================\n", + "(4, 5)\n", + "(1/297) * (s + 68/105)^-1 * (s + 55/84)^-1 * (s + 1)^-1 * (s^2 + 6383/2940*s + 187/147)\n", + "{1: 1, 3: 1}\n", + "=======================\n", + "(5, 6)\n", + "(1/429) * (s + 9/14)^-1 * (s + 68/105)^-1 * (s + 1)^-1 * (s^2 + 3163/1470*s + 306/245)\n", + "{1: 1, 3: 1}\n", + "=======================\n", + "(0, 'd')\n", + "(9/4) * (s + 9/14)^-1 * (s + 1)^-1\n", + "{2: -7, 6: -7}\n", + "=======================\n", + "(6, 'd')\n", + "(1/546) * (s + 9/14)^-1 * (s + 1)^-1 * (s + 27)\n", + "{2: -1, 6: -1, 14: -1, 7: -1, 21: -1, 42: -1}\n", + "=======================\n" + ] + } + ], + "source": [ + "for lb in pols:\n", + " pol, pesos, euler = pols[lb]\n", + " zt, zm, dic = estrato(pol, pesos, euler, info=True)\n", + " print(lb)\n", + " if zt == 0:\n", + " print(zt)\n", + " else:\n", + " print(zt.factor())\n", + " print(dic)\n", + " print(\"=======================\")" + ] + }, + { + "cell_type": "code", + "execution_count": 167, + "id": "39e3e1d4-5908-42f8-81ba-68658b106ab4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(47/342) * (s + 4/9)^-1 * (s + 17/38)^-1 * (s + 1)^-1 * (s^2 + 193/94*s + 34/47)" + ] + }, + "execution_count": 167, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "q = v^3 + u^6 * v^2 + u^19\n", + "Zq = ZetaFunctions(q)\n", + "Zq.topological_zeta(local=True, weights=[2, 1]).factor()" + ] + }, + { + "cell_type": "code", + "execution_count": 170, + "id": "330626b6-d60a-4472-87da-4d447bcc33b5", + "metadata": {}, + "outputs": [], + "source": [ + "G = Graph(19)\n", + "a = graph_editor(G)" + ] + }, + { + "cell_type": "code", + "execution_count": 171, + "id": "400ec37d-7d18-456b-b9b4-966af4b27f44", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "ca01c5f99f82417b9a10b5643e568904", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "HBox(children=(VBox(children=(MultiCanvas(height=400, image_data=b'\\x89PNG\\r\\n\\x1a\\n\\x00\\x00\\x00\\rIHDR\\x00\\x00\\x02X\\x00\\x00\\x01\\x90\\x08\\x06\\x00\\x00\\x00r5\\x1e\\x98\\x00\\x00\\x00\\x01sRGB\\x00\\xae\\xce\\x1c\\xe9\\x00\\x00 \\x00IDATx^\\xec\\x9d\\x07tT\\xd5\\xf6\\xff\\xbf\\x99\\x99\\xf4^IH \\xd4\\xd0{S\\x10\\x05i\\x82(\\n\\n\\x08\\x8aX\\xf1={y\\x96\\x87\\r{\\xef\\xa2(\\xd8\\x10A\\x04i\\xd2{\\t\\xbd\\x05\\x02!\\x84\\xf4\\xde\\xdbL&\\xc9\\xb4\\xff;wH$u\\xee$\\x97q\\xfd\\xd7\\xef{\\xd6\\x9a5J\\xee=\\xfb\\x9e\\xcf\\xec\\xb9\\xf7;\\xe7\\xec\\xb3\\xb7\\x13\\xd8H\\x80\\x04H\\x80\\x04H\\x80\\x04H\\x80\\x04\\x14%\\xe0\\xa4ho\\xec\\x8c\\x04H\\x80\\x04H\\x80\\x04H\\x80\\x04H\\x00\\x14Xt\\x02\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x12P\\x98\\x00\\x05\\x96\\xc2@\\xd9\\x1d\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\tP`\\xd1\\x07H\\x80\\x04H\\x80\\x04H\\x80\\x04H@a\\x02\\x14X\\n\\x03ew$@\\x02$@\\x02$@\\x02$@\\x81E\\x1f \\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x85\\tP`)\\x0c\\x94\\xdd\\x91\\x00\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\x05\\x16}\\x80\\x04H\\x80\\x04H\\x80\\x04H\\x80\\x04\\x14&@\\x81\\xa50PvG\\x02$@\\x02$@\\x02$@\\x02\\x14X\\xf4\\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x12P\\x98\\x00\\x05\\x96\\xc2@\\xd9\\x1d\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\tP`\\xd1\\x07H\\x80\\x04H\\x80\\x04H\\x80\\x04H@a\\x02\\x14X\\n\\x03ew$@\\x02$@\\x02$@\\x02$@\\x81E\\x1f \\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x85\\tP`)\\x0c\\x94\\xdd\\x91\\x00\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\x05\\x16}\\x80\\x04H\\x80\\x04H\\x80\\x04H\\x80\\x04\\x14&@\\x81\\xa50PvG\\x02$@\\x02$@\\x02$@\\x02\\x14X\\xf4\\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x12P\\x98\\x00\\x05\\x96\\xc2@\\xd9\\x1d\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\tP`\\xd1\\x07H\\x80\\x04H\\x80\\x04H\\x80\\x04H@a\\x02\\x14X\\n\\x03ew$@\\x02$@\\x02$@\\x02$@\\x81E\\x1f \\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x85\\tP`)\\x0c\\x94\\xdd\\x91\\x00\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\x05\\x16}\\x80\\x04H\\x80\\x04H\\x80\\x04H\\x80\\x04\\x14&@\\x81\\xa50PvG\\x02$@\\x02$@\\x02$@\\x02\\x14X\\xf4\\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x12P\\x98\\x00\\x05\\x96\\xc2@\\xd9\\x1d\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\tP`\\xd1\\x07H\\x80\\x04H\\x80\\x04H\\x80\\x04H@a\\x02\\x14X\\n\\x03ew$@\\x02$@\\x02$@\\x02$@\\x81E\\x1f \\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x85\\tP`)\\x0c\\x94\\xdd\\x91\\x00\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\x05\\x16}\\x80\\x04H\\x80\\x04H\\x80\\x04H\\x80\\x04\\x14&@\\x81\\xa50PvG\\x02$@\\x02$@\\x02$@\\x02\\x14X\\xf4\\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x12P\\x98\\x00\\x05\\x96\\xc2@\\xd9\\x1d\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\tP`\\xd1\\x07H\\x80\\x04H\\x80\\x04H\\x80\\x04H@a\\x02\\x14X\\n\\x03ew$@\\x02$@\\x02$@\\x02$@\\x81E\\x1f \\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x85\\tP`)\\x0c\\x94\\xdd\\x91\\x00\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\x05\\x16}\\x80\\x04H\\x80\\x04H\\x80\\x04H\\x80\\x04\\x14&@\\x81\\xa50PvG\\x02$@\\x02$@\\x02$@\\x02\\x14X\\xf4\\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x12P\\x98\\x00\\x05\\x96\\xc2@\\xd9\\x1d\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\tP`\\xd1\\x07H\\x80\\x04H\\x80\\x04H\\x80\\x04H@a\\x02\\x14X\\n\\x03ew$@\\x02$@\\x02$@\\x02$@\\x81E\\x1f \\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x85\\tP`)\\x0c\\x94\\xdd\\x91\\x00\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\x05\\x16}\\x80\\x04H\\x80\\x04H\\x80\\x04H\\x80\\x04\\x14&@\\x81\\xa50PvG\\x02$@\\x02$@\\x02$@\\x02\\x14X\\xf4\\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x12P\\x98\\x00\\x05\\x96\\xc2@\\xd9\\x1d\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\tP`\\xd1\\x07H\\x80\\x04H\\x80\\x04H\\x80\\x04H@a\\x02\\x14X\\n\\x03ew$@\\x02$@\\x02$@\\x02$@\\x81E\\x1f \\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x85\\tP`)\\x0c\\x94\\xdd\\x91\\x00\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\x05\\x16}\\x80\\x04H\\x80\\x04H\\x80\\x04H\\x80\\x04\\x14&@\\x81\\xa50PvG\\x02$@\\x02$@\\x02$@\\x02\\x14X\\xf4\\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x12P\\x98\\x00\\x05\\x96\\xc2@\\xd9\\x1d\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\tP`\\xd1\\x07H\\x80\\x04H\\x80\\x04H\\x80\\x04H@a\\x02\\x14X\\n\\x03ew$@\\x02$@\\x02$@\\x02$@\\x81E\\x1f \\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x85\\tP`)\\x0c\\x94\\xdd\\x91\\x00\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\x05\\x16}\\x80\\x04H\\x80\\x04H\\x80\\x04H\\x80\\x04\\x14&@\\x81\\xa50PvG\\x02$@\\x02$@\\x02$@\\x02\\x14X\\xf4\\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x12P\\x98\\x00\\x05\\x96\\xc2@\\xd9\\x1d\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\tP`\\xd1\\x07H\\x80\\x04H\\x80\\x04H\\x80\\x04H@a\\x02\\x14X\\n\\x03ew$@\\x02$@\\x02$@\\x02$@\\x81E\\x1f \\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x85\\tP`)\\x0c\\x94\\xdd\\x91\\x00\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\x05\\x16}\\x80\\x04H\\x80\\x04H\\x80\\x04H\\x80\\x04\\x14&@\\x81\\xa50PvG\\x02$@\\x02$@\\x02$@\\x02\\x14X\\xf4\\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x12P\\x98\\x00\\x05\\x96\\xc2@\\xd9\\x1d\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\tP`\\xd1\\x07H\\x80\\x04H\\x80\\x04H\\x80\\x04H@a\\x02\\x14X\\n\\x03ew$@\\x02$@\\x02$@\\x02$@\\x81E\\x1f \\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x85\\tP`)\\x0c\\x94\\xdd\\x91\\x00\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\x05\\x16}\\x80\\x04H\\x80\\x04H\\x80\\x04H\\x80\\x04\\x14&@\\x81\\xa50PvG\\x02$@\\x02$@\\x02$@\\x02\\x14X\\xf4\\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x12P\\x98\\x00\\x05\\x96\\xc2@\\xd9\\x1d\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\tP`\\xd1\\x07H\\x80\\x04H\\x80\\x04H\\x80\\x04H@a\\x02\\x14X\\n\\x03ew$@\\x02$@\\x02$@\\x02$@\\x81E\\x1f \\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x85\\tP`)\\x0c\\x94\\xdd\\x91\\x00\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\x05\\x16}\\x80\\x04H\\x80\\x04H\\x80\\x04H\\x80\\x04\\x14&@\\x81\\xa50PvG\\x02$@\\x02$@\\x02$@\\x02\\x14X\\xf4\\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x12P\\x98\\x00\\x05\\x96\\xc2@\\xd9\\x1d\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\tP`\\xd1\\x07H\\x80\\x04H\\x80\\x04H\\x80\\x04H@a\\x02\\x14X\\n\\x03ew$@\\x02$@\\x02$@\\x02$@\\x81E\\x1f \\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x85\\tP`)\\x0c\\x94\\xdd\\x91\\x00\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\x05\\x16}\\x80\\x04H\\x80\\x04H\\x80\\x04H\\x80\\x04\\x14&@\\x81\\xa50PvG\\x02$@\\x02$@\\x02$@\\x02\\x14X\\xf4\\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x12P\\x98\\x00\\x05\\x96\\xc2@\\xd9\\x1d\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\tP`\\xd1\\x07H\\x80\\x04H\\x80\\x04H\\x80\\x04H@a\\x02\\x14X\\n\\x03ew$@\\x02$@\\x02$@\\x02$@\\x81E\\x1f \\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x85\\tP`)\\x0c\\x94\\xdd\\x91\\x00\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\x05\\x16}\\x80\\x04H\\x80\\x04H\\x80\\x04H\\x80\\x04\\x14&@\\x81\\xa50PvG\\x02$@\\x02$@\\x02$@\\x02\\x14X\\xf4\\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x12P\\x98\\x00\\x05\\x96\\xc2@\\xd9\\x1d\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\tP`\\xd1\\x07H\\x80\\x04H\\x80\\x04H\\x80\\x04H@a\\x02\\x14X\\n\\x03ew$@\\x02$@\\x02$@\\x02$@\\x81E\\x1f \\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x85\\tP`)\\x0c\\x94\\xdd\\x91\\x00\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\x05\\x16}\\x80\\x04H\\x80\\x04H\\x80\\x04H\\x80\\x04\\x14&@\\x81\\xa50PvG\\x02$@\\x02$@\\x02$@\\x02\\x14X\\xf4\\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x12P\\x98\\x00\\x05\\x96\\xc2@\\xd9\\x1d\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\tP`\\xd1\\x07H\\x80\\x04H\\x80\\x04H\\x80\\x04H@a\\x02\\x14X\\n\\x03ew$@\\x02$@\\x02$@\\x02$@\\x81E\\x1f \\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x85\\tP`)\\x0c\\x94\\xdd\\x91\\x00\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\x05\\x16}\\x80\\x04H\\x80\\x04H\\x80\\x04H\\x80\\x04\\x14&@\\x81\\xa50PvG\\x02$@\\x02$@\\x02$@\\x02\\x14X\\xf4\\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x12P\\x98\\x00\\x05\\x96\\xc2@\\xd9\\x1d\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\tP`\\xd1\\x07H\\x80\\x04H\\x80\\x04H\\x80\\x04H@a\\x02\\x14X\\n\\x03ew$@\\x02$@\\x02$@\\x02$@\\x81E\\x1f \\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x85\\tP`)\\x0c\\x94\\xdd\\x91\\x00\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\x05\\x16}\\x80\\x04H\\x80\\x04H\\x80\\x04H\\x80\\x04\\x14&@\\x81\\xa50PvG\\x02$@\\x02$@\\x02$@\\x02\\x14X\\xf4\\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x12P\\x98\\x00\\x05\\x96\\xc2@\\xd9\\x1d\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\tP`\\xd1\\x07H\\x80\\x04H\\x80\\x04H\\x80\\x04H@a\\x02\\x14X\\n\\x03ew$@\\x02$@\\x02$@\\x02$@\\x81E\\x1f \\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x85\\tP`)\\x0c\\x94\\xdd\\x91\\x00\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\x05\\x16}\\x80\\x04H\\x80\\x04H\\x80\\x04H\\x80\\x04\\x14&@\\x81\\xa50PvG\\x02$@\\x02$@\\x02$@\\x02\\x14X\\xf4\\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x12P\\x98\\x00\\x05\\x96\\xc2@\\xd9\\x1d\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\tP`\\xd1\\x07H\\x80\\x04H\\x80\\x04H\\x80\\x04H@a\\x02\\x14X\\n\\x03ew$@\\x02$@\\x02$@\\x02$@\\x81E\\x1f \\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x85\\tP`)\\x0c\\x94\\xdd\\x91\\x00\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\x05\\x16}\\x80\\x04H\\x80\\x04H\\x80\\x04H\\x80\\x04\\x14&@\\x81\\xa50PvG\\x02$@\\x02$@\\x02$@\\x02\\x14X\\xf4\\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x12P\\x98\\x00\\x05\\x96\\xc2@\\xd9\\x1d\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\tP`\\xd1\\x07H\\x80\\x04H\\x80\\x04H\\x80\\x04H@a\\x02\\x14X\\n\\x03ew$@\\x02$@\\x02$@\\x02$@\\x81E\\x1f \\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x85\\tP`)\\x0c\\x94\\xdd\\x91\\x00\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\x05\\x16}\\x80\\x04H\\x80\\x04H\\x80\\x04H\\x80\\x04\\x14&@\\x81\\xa50PvG\\x02$@\\x02$@\\x02$@\\x02\\x14X\\xf4\\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x12P\\x98\\x00\\x05\\x96\\xc2@\\xd9\\x1d\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\tP`\\xd1\\x07H\\x80\\x04H\\x80\\x04H\\x80\\x04H@a\\x02\\x14X\\n\\x03ew$@\\x02$@\\x02$@\\x02$@\\x81E\\x1f \\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x85\\tP`)\\x0c\\x94\\xdd\\x91\\x00\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\x05\\x16}\\x80\\x04H\\x80\\x04H\\x80\\x04H\\x80\\x04\\x14&@\\x81\\xa50PvG\\x02$@\\x02$@\\x02$@\\x02\\x14X\\xf4\\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x12P\\x98\\x00\\x05\\x96\\xc2@\\xd9\\x1d\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\tP`\\xd1\\x07H\\x80\\x04H\\x80\\x04H\\x80\\x04H@a\\x02\\x14X\\n\\x03ew$@\\x02$@\\x02$@\\x02$@\\x81E\\x1f \\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x85\\tP`)\\x0c\\x94\\xdd\\x91\\x00\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\x05\\x16}\\x80\\x04H\\x80\\x04H\\x80\\x04H\\x80\\x04\\x14&@\\x81\\xa50PvG\\x02$@\\x02$@\\x02$@\\x02\\x14X\\xf4\\x01\\x12 \\x01\\x12 \\x01\\x12 \\x01\\x12P\\x98\\x00\\x05\\x96\\xc2@\\xd9\\x1d\\t\\x90\\x00\\t\\x90\\x00\\t\\x90\\x00\\t(-\\xb0\\xc6\\x02\\x88\\xbc\\xfc\\xea\\x04\\xa0\\x0b\\x80\\xae\\x971\\'\\x00\\xb8\\x04 \\t@\\xea\\xe5\\xd7\\x0e\\x85>\\x82\\x7f\\xca\\xae\\xb8\\xfc\\x7f\\xca\\xf6?e\\xb7f\\xcc\\xe2\\xf3\\xad\\xff\\xb2\\x00\\xe0\\xe7l\\xf5o%}\\xfb\\x9f`\\xfdO\\xfa\\xf6?i\\xfb\\x9f\\xfe^\\xf1\\xfe\\xe9\\xb8g\\xc6\\xff\\xb5\\xef\\xd5\\xffE\\xdf\\xfe\\'\\xef%PB`u\\x00p\\xe7\\xe5\\xd7\\x10;\\x05\\xd31\\x00\\x7f\\\\~\\xa5\\xd8y\\xee?eW\\\\\\xe6?e\\xfb\\x9f\\xb2\\xcb1\\x03\\xf4m\\xdb_\\xd0\\xd6|\\x9f\\xe9c\\xf41\\xdb\\x1e\\x06\\xb4\\xc6\\xc7x\\xff\\x94C\\xf8\\xefcZ\\xc3\\xfa\\x9f\\xfc>\\xff\\xd3\\xb6k\\t\\xb6F`M\\xb2\\x8a*\\xd5\\x0c\\xc0\\xec.z\\xf4s\\x9f\\x04O\\xd7apV\\xb7\\xb9\\xfc\\n\\x95\\xdeE3\\x98ra0\\xe5\\\\~\\xcf\\x85\\xae\\xea\\x08J\\xf4\\x9b._\\x88J\\x0f\\x98\\x7f\\xbf,\\xb4j\\xfe\\xb1)W\\x90\\xec:\\x013,\\x80d74P\\x85\\x00_\\x15\\\\]\\x9c\\xe0\\xe6\\x02\\xb8\\xb98I\\xff-ZU\\xb5\\x05\\x95\\xd2\\xcb\\xfa\\xdfE\\xa5f\\xe4\\x14\\x9a\\xa5\\xbf9\\x01z\\x0b \\xd7\\xae8\\xc5j\\xdb\\xc9i\\x86\\xc5b\\x91lG]\\x1f\\x8a\\xf0>\\xfe\\xf0\\nt\\x83g\\x90\\xab\\xf4\\xee\\x15\\xe8*\\xf5\\xaf-\\xac\\x82\\xb6\\xb0\\x12\\xba\\x02\\xeb{\\xe6\\xd9b\\\\\\xdc\\x97c\\xb5\\xed\\xe4\\xa4\\xb7X,rmKvUNN3\\xcc\\x97\\xed\\x8e\\xea6\\x1c\\xfd\"z!\\xc8+\\xe0\\xf2+Pz\\x17\\xad@[\\x84\\x02m\\xe1\\xe5\\xf7\"\\xc4d\\x9c\\xc3\\x9e\\xf8\\x83\\xd2\\xdfTNNz\\xb3|\\xbb\\xb5cV\\xa90\\xc3l\\xb6\\xf2\\x1e7\\xda\\x13\\x03\\xfa\\xba!0P\\x8d\\x90 \\r\\xda\\x84\\xa8\\xd1&X#\\x01\\xcd\\xcf7!\\xaf\\xc0\\x88\\xbc\\x02\\x13\\xf2\\xf3\\x8d8\\x19S\\x89\\xed\\xbbuV\\xdb*\\xe8\\xcdf\\xd9\\xbc\\xad\\xacU\\x98a\\xb9l\\xb7\\xedxo\\x04\\x0ev\\x87[\\x88Fz\\xb9_~\\x17}W\\xe6\\x19\\xa1\\xcf3J\\xef\\xe2Ux\\\\\\x8f\\xacm\\xe5V\\xd6*\\xe8-\\xf2\\xed\\xd6\\x8e\\xf9J\\xdf\\xf6\\xf6\\xbd\\x19\\x1e\\x9eC\\xa1q\\x0e\\x85F\\xd3\\x06\\xce\\xe2\\xdd\\xd9\\xea\\xdbFC.\\x0c\\x86\\x1c\\x18\\x8d\\xb90\\x1arP\\xa1;\\x8a\\xf2\\xd2\\x8d-\\xf6m89\\xcd\\xc0\\xe5\\xcf9\\xa4c\\x07\\xf8\\x86\\x86\\xc0\\xc5\\xc3\\x1d\\xae\\x1e\\x1ep\\xf5\\x14/O89\\x01U\\xba\\nTUT\\xd4\\xbe\\x97f\\xe7!/\\xf9\\xf2\\xef\\x14\\'\\'=Z\\xf09_i;\\xa0Kgx\\xb7\\r\\x83\\xb3\\xa7\\'\\\\\\xbc<\\xe1\\xe2\\xe9\\x05gO\\x0f\\xeb\\xf7YW\\x81j\\x9d\\x16\\xd5Z\\x1d\\x0c:\\x1d\\xca\\xb3\\xb2Qt)\\xd1:\\xe6\\x16\\xda\\xbe\\xf2{50\\xbc\\r\\xba\\x06\\xf9\\xc1\\xcf\\xdd\\x15\\xben\\xae\\xd2\\xbbx\\x89V\\xa2\\xaf\\x92^\\xa5\\x95\\xd6\\xf7\\x84\\x82\\x12\\x9c\\xcc\\xccm\\xf1\\xf7\\xea\\xca1#\\xa2\\x07\\x10\\xdc\\x1ep\\xf7\\x06\\xdc}.\\xbf{Y\\xc7\\xa5\\xd7\\x02\\xfar@_f}\\xcfO\\x032\\xe2Z5f\\xc0i\\x06`\\xbd\\x97\\xb8:\\x87\\xc1Y\\x13\\x08\\x95\\x93\\x1bT\\xaa\\xcb/\\'7\\xa9\\x7f\\xb3\\xa5\\x12f\\xf3\\xe5\\x97\\xa5\\x12\\x06c!\\xaa\\x0c\\xd9\\x97}\\xccI\\x0f\\xb4\\xfc^2\\xae\\xeb\\x10\\x0c\\x0c\\xef\\x86`/\\x7f\\x84\\x88\\x97\\xa7\\xbf\\xf4\\xdf\\xa2\\xe5k\\x8b\\x91\\xa7+F\\x9e\\xb6X\\xfa\\xef\\x93\\x99\\xf1\\xd8\\x9e \\x9e\\xbb-\\xbf\\x978\\xa9\\x9cfX\\xcc\\xd61\\x0f\\xbe\\xb1\\x03\\xba\\xf6\\x0f\\x81_\\xb0\\x07\\xfc\\x83=\\xa4w\\xf1\\x92>\\xe7\\xfc\\n\\xe9U|\\xf9=\\xe1t\\x1e\\x8e\\xef\\xb2\\xfa\\xb7\\x93\\xcaIo1\\xdb7\\xe6:\\xac=\\x06\\xc1\\xd9\\xa5\\x0bTj\\x1f\\xa8\\xd4~P\\xab\\xfd\\xa1R[\\xc7l6\\x95\\xc0d*\\x91\\xde\\xc5\\xcbP}\\tU\\x15\\'Z\\xc2\\xba\\xf6^\\xe2\\xe4\\x84\\x19\\x16\\x8b\\xf5\\xfe\\xd9\\xb9\\xab\\x1f\\xc2\\xc2=\\xe1\\xe9\\xe5l}yZ\\xdfE\\xd3i\\r\\xd0\\xe9\\x0c\\xd6w\\xad\\x01\\xd9\\x99:$&\\x94\\\\\\xf6m\\xe8-\\x16{\\xef\\x9f\\x7f\\xb3\\xeexS7\\x84\\x0e\\x8e\\x80G\\x88\\x17<\\xdax\\xc1\\xf3\\xf2\\xbb\\xe8\\xbc\"W\\x0b]\\x9eVz\\xaf\\xc8\\xd3\"\\xe7x\\x06\\x92\\xb7\\xc4\\xb7\\x84\\xf5\\xdfc\\xbe\\xf2\\x19\\xed\\xa5B\\x80\\xbb\\x13\\\\5\\x80\\x9b\\xda\\tn\\x1a\\xc0Us\\xf9\\x19m\\xb4\\xa0\\xd2\\x08T\\x9a,\\xa82\\x02Ez\\x0br\\xb4\\xad{FC\\xa5\\x9a\\x01\\xb3U\\x97xO\\x19\\r\\x8fk\\xfbA\\x13\\x16\\x04Mh\\x104a\\xc1\\xd2\\x7f\\x8bf\\xcc.\\x801;\\x1f\\xc6\\x1c\\xf1^\\x80\\x8aC1(_\\xb7\\xdb\\xfaY\\xabTz\\x98e\\xeb\\x92\\xcb\\xfeQ\\xf7\\xad\\xa5\\x02\\xeb\\x95\\xff\\x99\\x7f\\xc3\\xfa%\\xf3@\\x80\\xe7t\\x04x\\xdc\\tOW\\xfb~\\xe4\\xeb\\xaa\\x8e\\xa1\\xa8\\xe2\\x0f\\x14\\xe9V\\xc2l\\xa9\\xa8\\xb9\\xb2W\\x01\\xbc\\xd9\\xe8\\xd5\\x02\\xb5v\\xd5j \"D\\x8d\\x88\\x10\\x15\\xfc}TM\\x1c\\xde\\xf8?\\x17\\x97\\x99\\x91\\x91\\'^&\\x98L\\xb5\\xc74gW\\x1cTk\\xdb\\xd9]\\x8d^\\xe3#\\xd0kB8\\xc2{[\\xbf\\x94r[fl1\\xcem\\xcd\\xc4\\xb9m\\x190\\xe8k\\x8d\\xcb\\x1a\\xb3\\xbb\\xb3\\x1b&\\xf6\\x19\\x83\\x89\\xbdoD\\xdf\\xf0\\x9erMJ\\xc7\\x9d\\xc9<\\x8f\\xcd\\xb1\\xbb\\xb0\\xf9\\xecN\\xe8\\r\\x95rX\\x8bc\\x1e\\x01\\xf0\\x8d\\xf8\\x0f\\x0fw\\x15n\\x9d\\xe4\\x85)7{K\\xe2\\xca\\x9ev\\xeaL%\\xd6m,\\xc7\\xfaMZT\\xe8\\xad_\\x9c\\xff\\xdd\\xc7d\\x8dY\\xe3\\xa1B\\xfb\\xdb|\\xd0\\xeev_\\x04\\x0e\\x94\\xbe/\\xb2[\\xe1I=\\xd2\\xd7\\x94\"mm\\x19\\x8c\\x15\\xb2\\xec\\xd6\\xf9\\x9cU*\\x0f\\xf8\\xfaO\\x97^\\x1e\\x9e\\xf6\\xf9v\\x85\\xee\\x18J\\x8bWJ/\\xb3Y\\x96o\\xd7\\xb2V;k\\x10\\x16\\xd5\\x15aQ\\x9d\\xe1\\x1bj\\x15qr[iN.\\xb2/&\"\\xfbb\\x02L\\x06\\xa3\\x1c\\xd6u\\xc7\\xec\\xec\\x8c\\xe0\\x1e\\xdd\\x11\\xd4\\xa3\\xbb$\\xae\\xeciBd\\x15\\xc4]@~\\xdc\\x05\\x98\\r\\x06\\xbbm\\xbbj\\xd4\\x18\\x1e\\xd9\\x16\\xd7F\\xb6E\\x97 ?{L\\xe3RA\\t\\x0e\\xa5f\\xe1`j\\x16\\xaa\\x8c\\xf6}\\xaf\\xa0q\\x01:\\xf4\\x03:\\xf6\\x03\\x82\\xda\\xdbe\\x17\\x05i@r\\x0c\\x90\\x12\\x03\\x18\\xab\\xed\\x1e\\xb3\\x93\\x93\\x06n.\\xed\\xe0\\xea\\xdc\\x0e\\xce\\x1a\\xeb\\x0f$\\xb9\\xcd`,B\\x95!\\x1d\\x95\\xd5\\xe9\\xb0Xd}\\xd6\\xb5\\xf70\\x0fgW\\xdc\\xda\\xebzL\\xe99\\x12\\x03\\xc2\\xa3\\xe4\\x9a\\x94\\x8e;\\x95y\\x11\\xeb\\xce\\xef\\xc7\\xfas\\xfbPa\\xa8\\xb2{\\xcc\\xae\\xee\\x1a\\x8c\\x98\\xdc\\x15#&wF\\xd7~\\xf6\\xf9wBL.\\xa2\\xffJD\\xf4_\\t\\xa8\\xd2\\xcb\\x1as\\xed\\xf7\\xca\\xc9\\xc9\\x15n\\x9e\\xc3\\xa5\\x97\\xb3\\xab\\x88^\\x91\\xdf\\x0cU\\x97P\\xa9;(\\xbd,\\x16\\xfb\\xc7\\xec\\xec\\xacB\\xf7^\\x01\\xe8\\xd63P\\x12W\\xf64!\\xb2\\xe2\\xcf\\x17\\xe2\\xc2\\xb9\"\\x18\\x0c\\xb2\\xeec\\x7f?\\xab<\\x9c\\xd1uj\\x1fDM\\xed\\x8d6\\x83\\xc2\\xed1\\x8b\\xdc\\x13\\x99\\xb8\\xf8g,\\x12\\xfe<\\x0bC\\x85\\xfd\\xdfg\\xb5\\n\\x88\\xf0Q!\\xc2[\\x05\\x7fw\\xfb\\xa4F\\xb1\\xde\\x82\\x8cr32\\xca\\xcc0\\xd5\\x0e\\xb9\\xd9gF\\xdd\\xfb\\x98\\xa7;|gM\\x92^\\xee\\xd7\\xf4\\xb5k\\xdc\\xfa\\xc3gP\\xfa\\xdb&\\xe9e\\xd6\\xe9\\xe5\\xfaw\\xa36\\xec\\x1b\\xb5\\xb5\\x8b\\x15\\x00f\\x88\\xff\\x08\\xf5\\xf9\\x0f\\x02<\\xef\\x84\\xabF\\xcc\\xbc\\xb6\\xbcU\\x19SP\\xa4\\xfb\\x039e\\x1f\\xd6t\"fvf\\xd6\\xeb\\xb1\\xd6nT{5\"\\xda\\xa8\\xe1\\xe1\\xd6\\x92\\xcb\\xff\\xbb\\xd7\\x8aJ\\x0b2rM\\xb8\\x98V{Cn\\xccn\\x9d1\\x8f\\xb8\\xaf+zM\\x88\\x80_[\\xeb\\xaf\\xac\\x96\\xb6\\x92\\xac\\n\\x9c\\xdb\\x9a\\x81\\xe8\\x1fE\\xc8\\x92\\xd4\\x9a\\x1d\\xf3C#gcb\\xef1\\x08\\xf7\\xb3\\xef\\xa1W\\xff\\xfa2K\\xb2\\xb19v\\'\\xbe\\xdf\\xbf\\xac9\\xbbu\\x9c\\xf5\\xb1\\x87\\xfd1e\\x927\\xdaEX\\x7fe\\xb5\\xb4\\xa5g\\x18\\xb0nS9\\xbe\\xfa\\xaeX\\xd6\\x98{<\\x19\\x84\\xf6\\xb7\\xf9\\xc2\\xb3}\\xeb\\xec\\xea\\xd2\\x0cH[[\\x8a\\xb8\\xcf\\x0bl\\x8d\\xb9\\xd6\\xc7\\x82\\xdb<\\x0f\\xdf\\x80;\\xe1\\xe2\\xd2:\\xdf\\xae\\xaeNAi\\xd1\\x1f\\xc8\\xcf\\xfd\\xa09\\xdb\\xb57\\xc4NC\\x06 ,\\xaa\\x0b\\xdc}|Z\\x8aY:O_V\\x86\\xec\\x8b\\x97\\x90t\\xec\\x94\\xec1G\\\\;L\\x12Vn\\xbe\\xbe\\xad\\xb2]YZ*\\t\\xad\\x8cCGd\\xdb\\x9e\\xd2\\xab\\xb3$\\xacB\\xbcZ\\xf7\\xbd\\xca\\xd3VHBk\\xdd\\xb9\\xcb\\xb3i6\\xbeW\\xe8=\\xda*\\xac.\\xcf\\xfe\\xb6x\\xe0\\xda\"\\xab\\xd0\\x8a\\xbd\\xfc\\xeb\\xb7q\\xbbu\\xee%\\x1en\\xdd%q\\xa5V\\xd9\\xf7\\xc0\\xad\\x7f\\x8d&\\xb3N\\x12Y\\x15\\x95\\x17d}\\xaf\\x1e\\x1bq\\x87$\\xac\\xda\\xf9\\xd9\\'n\\xea\\xdbM/\\xc9\\x95\\x84\\xd6W\\xd1\\xabd\\x7f\\xce\\xb7?2\\x00#&wAHD\\xeb\\xfc;/\\xa3\\x0c\\xd1\\x7f]\\xc2\\x9ao\\x9b\\xf5\\xef\\xda\\xef\\x95\\xa7\\xef\\x14IX\\xa95!-\\xfe\\x88\\xc5\\x89&c\\x9e$\\xb2t\\xa5\\xebd\\x8fy\\xd8\\x880t\\xeb\\x19\\x00_?\\xeb\\x0clK[iI\\x15\\xe2\\xcf\\x17\\xe1Ht\\xcd\\xcce\\xf3\\xcf\\x8cAO\\x8fD\\xd4\\xed\\xbd\\xe1\\x13i\\xdf\\x8f\\x95\\xfa\\xd7W\\x96Z\\x82\\x8bkbq\\xe2\\xd3\\xfd\\xb2\\xc7\\x1c\\x15\\xa8\\x92\\xc4\\x95\\x87s+\\x9f\\xd1\\x06\\x8b$\\xb2.^^uj\\xe29Y\\xe7{\\x15\\xf4\\xf2\\xc3\\xf0\\xbdk\"\\\\:E\\xb4\\x14\\xb5t^uR\\x06J\\x97oF\\xc1[\\xdf\\xd9\\x1aw\\x93v\\xec\\x1d}\\xec\\xff\\x96\\xf1z\\xa9U\\xde\\x88\\xf0{W\\x9a\\xb9R\\xb2\\x89\\x99\\xac\\x8c\\x92\\x97`2KK;\\xe7\\x00\\xf4\\xbe\\xdc\\xbfdW\\xa3\\x06zw\\xd1H3WJ61\\x93\\x15{\\xc9\\x88\\xcb?|\\xaf\\xb4+\\xccH\\xb6]=5\\x18\\xfbT/I\\\\)\\xd9\\x84\\xc8\\xda\\xf1\\xd99T\\xe9\\xa4_c\\r\\xc6\\xec\\xe9\\xea\\x81\\xe7\\xc6\\xff\\x1b\\x93z\\x8fQ\\xd2,6\\xc5\\xee\\xc4G\\xdb\\x16BW%\\xcd\\xae\\xd4\\x1f\\xf3v\\x11\\xbc\\x1f\\x18\\xa0\\xc6\\x87o\\xb6\\xc1\\xf0a\\xf6\\xcd\\x1c\\xd9\\xbaP1\\x9b\\xf5\\xe6\\x07\\x05\\xd0\\xea\\xa4\\x9f&\\r\\xc6\\xec\\xec\\xa5B\\xbf\\xd7\\xdb\\xa0\\xfd\\xed\\xad{\\xd0\\xd7\\xbf\\x8e\\xb45\\xa5\\x88y=\\x17\\x06\\xeb\\xf4s\\xa3\\x9f\\xb3J\\xed\\x8d\\xb0\\xf0\\xf7\\xa4Y+%\\x9b\\x98\\xc9\\xca\\xce|\\x11fS\\x03\\xdf\\x96X\\xbb\\xb8\\xbb\\xa3\\xf7\\xd8Q\\x08\\x88h\\xab\\xa4YId\\xc5\\xef?\\x04c\\xb54\\xbb\\xd2\\xe8\\x98\\xd5..\\xe8p\\xe3(i\\xe6J\\xc9&f\\xb2Rv\\xed\\x81\\xa9\\x19\\xdb\\xee\\xce\\x1a\\xcc\\x1e\\xd0\\x03\\xc3;(;\\xee\\x83)YXv*\\x0ez\\xeb,^\\x03\\x1f\\x83\\xb3+0\\xe8f\\xa0c\\x7f%\\x87\\x0c$\\x9f\\x06Nl\\x04\\xac3;\\x8d\\xf2\\x16\\xb3V^\\xee\\xfd$q\\xa5d\\x13\"K\\xab\\x8f\\xa9\\x99\\xcdj0f/Ww\\xbc2\\xe6>L\\xe9u\\xbd\\x92f\\xb1\\xee\\xdc>\\xbc\\xb9\\xf3Gh\\xab\\xa4_\\xfb\\x8d\\x8e\\xd9\\xdd\\xcb\\x05s^\\xbcV\\x12WJ6!\\xb2~y\\xef\\x10\\xf4\\xda\\x06\\xfe-}\\xaf\\xc4\\x12\\xa0O\\xe0\\xc3pq\\xeb\\xa5\\xa4YId\\x95\\x17\\xff\\n\\x8b\\xb9\\xe91\\xbb\\xb8\\xaaq\\xc3\\x98v\\xd2\\xcc\\x95\\x92M\\xccd\\xed\\xdd\\x99\\x8e\\xea*ib\\xa0\\xc1\\xe7\\xec\\xe2\\xed\\x8a\\x11o\\x8c\\x97f\\xad\\x94lb6+\\xfa\\xd5m\\xa8.o\\xda\\xb75*\\xa0\\xb7XY\\xb2sU\\xc9\\xd6u\\n\\x91\\x15\\x9bg\\x82\\xd1:\\x9b\\xd5\\xf8\\xbd\\xdb\\xc7\\x13\\xa1\\x9f<\\x0f\\xdf\\xd9\"\\xbaD\\xb9V\\xbal\\x13r\\x9e\\xf9\\x00\\xe62)\\xd4\\xa5\\xbe\\xedf\\r\\xd9#\\xb0\\xc4\\x0e1\\xb8;\\xf7F\\xd7\\x90u\\x10\"\\xebj4!\\xae\\x12\\xf2\\xa6@o\\x10\\xba\\xe6\\xef\\xe6\\xe3\\xe5\\x84\\xe1}] D\\xd6\\xd5hB\\\\\\x1d\\xac]2\\x14K\\x82\\x9d\\x06\\x0f\\xbc\\xda\\xc3\\x95\\xfaO:~\\xb2f\\xc9P\\x1a\\xb3X\\x12\\x8c\\xb8f\\x98Clg\\x1c>R\\xb3d(\\xd9\\x16K\\x82Sz);\\x9b\\xd1\\xd4@\\xd6\\x9d\\xbb\\xf4\\xf7\\x92\\xa1X\\x12\\xec3\\xda!c\\xc6\\xd9\\xdd5K\\x86\\xd2\\x98\\xc5\\x92\\xa0\\xa7\\x9b\\xb2\\xb3\\x84M\\rDWy\\xa1v\\xc9P,\\t>6\\xfc\\x0e\\x87\\x8c\\xf9\\xab\\x83\\xabj\\x96\\x0c\\xa51\\x8b%\\xc1\\xdb\\x1fq\\x8c\\x7f\\xaf\\xf9\\xf6d\\xed\\x92\\xa1X\\x12\\xf4\\xf4\\xbd\\xcd!c\\xd6\\x95\\xae\\xadY2\\x94\\xc6,\\x96\\x04\\x87\\x0eo](\\x87\\xdc\\x0b?z0\\xbbv\\xc9P,\\t\\x0e~\\xea:\\xb9\\xa7\\xb6\\xea\\xb8\\xe3\\x9f\\x1d\\xa8Y2\\x94\\xc6,\\x96\\x04\\xa3\\x02\\xaf\\x8e\\x98l\\xf0\\x8c.4\\xd5,\\x19J\\xb6\\xc5\\x92`\\xf0\\xfc\\x87Z5\\x1e\\xb9\\'\\xe7\\xbf\\xfd}\\xcd\\x92\\xa1H\\xc33\\xce\\xd6yr\\x04\\x96\\xb4\\x8e\\xed\\xe36\\x0e\\x9d\\x83k\\xe3vl\\xf5\\xdb\\xea\\xbf\\xe7\\x94}\\x8c\\xec\\xd2\\xf7\\x11\\x12\\xa0\\xc2\\xd0^\\xad\\x8b\\xc1\\xb1\\xf7bv\\x1f\\xaf\\x86NoA\\xe7kC0\\xed}\\xfb\\x82\\x9b\\xed\\xb5u\\xe5\\xf1\\x07\\x7fN\\xc0\\x81%\\x171\\xa2\\xf3P|2}Ak\\xba\\xb2\\xfb\\xdc\\x9b\\xbf\\x9c-\\xed:\\xec\\xd1\\xcd\\x15k\\x96)\\xbb\\x0c\\xda\\xdc\\xc5,\\\\\\\\\\x8c/\\xbe-B\\xe8h/\\x0c_\\xec8\\xbb\\xe2\\x9a\\xb6\\x8dM\\x826\\xb9\\x1a^>\\xe3\\xd0\\xbe\\xe3ov3k\\xe9\\t\\x19\\xa9\\x0f\\xa1\\xacd-\\xbc\\x83\\x021\\xecN\\xc7<\\x04j\\xae\\xf5\\xe0\\xf2U\\xa8()\\x85_\\xc7\\x0e\\xe8~\\xdb\\xad-\\x1dB\\x8b\\xce;\\xfd\\xd3/\\xa8,.A\\xdf\\xb0`<5\\xd21\\x0f]q\\xa1\\x1b\\xce\\'bM\\xec%\\xa0m\\x14p\\x83c~\\xb4\\xd4\\x02\\xfa\\xebs\\xa0\\xbc\\x10.\\xcem\\xe0\\xebym\\x8b\\xb8\\xb5\\xe4\\xa4\\x8a\\xcax\\xe8*\\xe3pC\\xa7\\x01X4\\xed\\x85\\x96t\\xd1\\xe2snZ\\xfc4R\\x8a\\xb3\\xd1od;<\\xfb\\xe5\\xf8\\x16\\xf7c\\xef\\x89_\\xbf\\xb0\\x1bG\\xb6&A\\xe3\\xd2\\x1e\\x01\\xa1\\x8e\\xbd\\x7f\\x16f\\xbf\\x04\\x93!\\x07\\x1d:\\xf9\\xe2\\x96i\\x9d\\xed\\xbd\\xf4\\x16\\x1f\\x7f\\xecP\\x0e\\x0e\\x1f\\xc8B\\xfb\\x1b;c\\xe2\\x8f\\xca\\x865\\xd8\\xba\\xa8\\x15\\xa3\\x17\\xa14\\xa9\\x08!\\x9eN\\x18\\x1a\\xee\\x98\\t\\x90\\x9ak\\xda\\x9db\\x84\\xae\\xda\\x02\\xaf\\x9b\\xaeC\\xbb5\\x9f\\xda\\xbaTE\\xff\\x9e~\\xfb\\xd3\\xd0n9 \\xfa\\xb4\\xb51\\xcef\\x1e,i\\x07\\x86F\\x15\\x84^mOJ\\xdb\\x87\\x1d\\xd1\\n\\xb4?!\\xbd\\xf8y\\xb8:;\\xe1\\xc6\\xa1.\\x10\\xbb\\x11\\x1c\\xd5R\\xb3M8{\\xc9\\x08\\x0f\\x7f\\x17<\\xb2\\xf2Fh\\\\\\x1d\\xa3\\xcaO\\xafK\\xc5\\xb6\\x8fc\\xe1\\xef\\xe1\\x87u\\x8f\\xfe\\x0cW\\xb1\\xb3\\xc9A\\xed\\x87\\xe8\\xdf\\xb0h\\xdfRxy\\xaa\\xb0gS\\xa4\\xf4\\xee\\x88\\xb6bu\\x19^\\x7f7\\x1f\\xae\\x81j\\xdc\\xb4\\xaf\\x0b\\xd4\\xad\\xdc\\xb4`\\xcf5\\'\\xffV\\x82S\\xaf\\xe4@\\xa3\\tB\\xd7\\x1e\\xa7\\xe0\\xa4r\\x8co\\xe7\\xe7~\\x8c\\xfc\\x9c\\xf7\\xa0qq\\xc1u\\xf7\\xcc\\x90\\xde\\x1d\\xd52\\xce]\\xc0\\x85}\\xd1p\\xf6p\\xc7\\x80\\x07\\xee\\x83J\\xe3\\xb8\\x9bb\\xee\\x99\\xb3H\\xde\\xb9\\x1b>\\xae.\\xf8`\\xf2\\rpq\\xd0\\x97zOb:~9q\\x1ep\\xf3\\x04n}\\x06P;\\xf0\\xc7\\xda\\xa5c\\xc0\\xb1\\rP9\\xb9\"\\xc0g<\\x9c\\x9c\\x1cs/\\xd1W%K\\xb1X\\x81\\x1e>\\xd89\\xef+\\xb89\\xf0^\\xb2\\xe2\\xf4v\\xbc\\xbe}\\t|\\x02\\xdc\\xf1\\xc9\\xe6\\x19\\x10qH\\x8eh\\xeb\\xbe;\\x8d\\xd5\\x0bO\\xc0I\\xe5\\x8e\\xa0\\xb6\\x1fK\\xef\\x8ejz\\xedn\\x94\\x17\\xfd\\x02w\\x0f\\r\\xe6\\xce\\xeb\\r\\xcd\\xd5Z#\\xab7\\xa0\\xd8\\xd3\\x05\\xd8\\xbd=\\r\\xee\\x81\\x1e\\x98u\\xf0QhD\\xee\\x03\\x07\\xb5\\xf3\\xbf\\x9e\\xc2\\xfe\\xf9[ >\\xde\\x1b;9C-g\\xaaF\\xa1kK-1\\xe3l\\x9e\\t\\x9a\\xe0\\x00t\\x89_\\x0f\\xa7\\xcb\\xe9[\\x14\\xea\\xdef7\\x16}\\x15.u\\xbb\\x15\\xc6|1\\x81\\x86\\x7f\\xfdo\\xbf\\xdf\\xb7M\\x9d\\xd4\\x1c\\x16\\x11)&%\\xf3\\xe9\\x12\\xfc\\x07\\xbc\\xddn\\xb0iX\\x89\\x03\\xca*w 1\\x7f\\x96\\xd4\\xd55}\\x9c\\x11\\xe4\\xe7\\x98\\x87\\xbd\\xb0\\x97Wd\\xc6\\xd1s\\xd6\\xed\\xa8\\xd3?\\x19\\x86\\x0e\\x83\\x1d\\xb3\\\\\\x95t(\\x0f\\xab^\\xb0\\xe6\\x96\\xf9\\xf2\\xaew0\\xb4\\xc3\\x00%P\\xca\\xea#:\\xf1\\x18\\x9eY)\\x848\\xf0\\xfe\\x82\\x10)\\r\\x83#\\xda\\xde\\xe8\\n\\xcc{\\xd2\\x1a\\xa3r\\xdd/\\xed\\x102\\xe2\\xea\\xac\\x9d76\\x96\\x9c=Z\\x1c| C\\xfaSd\\xa7U\\xf0\\xf4v\\x8cok\\xcb\\xb6#-\\xd9\\xea\\xdb\\xbd\\xc6\\xdc \\xed\\x16tT+HM\\xc7\\xe9M\\xdb$s=\\xa6\\xdd\\x0e\\xdf\\xf6\\xca\\x06X77\\x8e\\x92\\xe4\\x14\\\\X\\xbb^:\\xe4\\xb9\\x1b\\x06\\xa3g\\x9b@\\x87\\x0c\\xfbLv>>\\xdb\\x7f\\xd2jk\\xf4\\xbd@\\xa8\\xe3f\\x16\\x90u\\x11\\xd8\\xfb\\xabd\\xda\\xd7k\\x04\\\\4\\xc1\\x0e\\x19s\\xb5!\\x17\\xa5\\xbaC\\x92\\xad\\x1f\\xa6\\xcf\\xc7\\xf0\\xc8>\\x0e\\xb1+\\x8c\\xecM:\\x85y\\xab\\xdf\\x97\\xec\\xbd\\xf0\\xedD\\xf4\\xbaF\\xd9\\x8d\\x0bM\\r$f\\x7f:>~\\xdc\\xea\\xdb>\\x81\\x0fI\\xbb\\x05\\x1d\\xd5\\xaa\\xf5gP\\x92o\\x9dA\\xb9mzW\\xb4\\x8bt\\xcc\\xfd3%\\xa9\\x14\\x1bV[cgo^v\\x17\"\\xaek\\xddng{x\\xa5\\xedJ\\xc4\\xe6\\xfbVJ\\xa7\\\\\\x13\\xa1A\\x90\\x87\\xe3\\xd4U\\x9e\\xce\\x82\\xa3\\x99\\xd6\\xf4\\x1c\\xed7~\\r\\xcf\\x1b\\x87\\xdas\\xe9\\x8a\\x1d\\xab\\xdbu\\x14i7?Z\\xd3\\xdf\\xcd\\x00\\x1a\\xcd\\xdf\\xd9\\x1c\\x99\\x1f\\x01\\xccud\\xdc\\x95\\xb8\\xda\\xd4\\xa2\\'P\\xa4[\\x01G\\xc6]\\xd5P\\x8a\\xb9hDz\\xae\\t\\x8e\\x8c\\xbb\\x12\\xb67\\xbd\\x1b\\x83\\xd8\\xcd\\x19pd\\xdcU\\xcd\\x98\\xdf\\xf8\\xeb\\x13l<\\xbb\\x1d\\x8e\\x8c\\xbb\\x12\\xb6_Z\\x90\\x875\\x1b\\xca\\xe1\\xc8\\xb8\\xab\\x9a1\\x9fx>\\x1b\\xa9\\xabK\\xe1\\xc8\\xb8+a;+\\xfdq\\x94\\x14\\xad\\x80#\\xe3\\xaej\\xc6|~\\xd7>d\\xc5\\'\\xc0\\x91qW5\\xb6\\x13\\xb7nG\\xfe\\xf9882\\xeeJ\\xd8^r4\\x16\\xd1)\\x99\\x90R18*\\xee\\xaaf\\xd0\\x87\\xd7\\x00\\xc9\\xa7\\xe0\\xc8\\xb8+a\\xba\\xbc\\xe2$*\\xab\\xd3\\xe0\\xc8\\xb8\\xab\\x9a!\\xbf\\xb4\\xf9\\x1b\\xac\\x89\\xdd\\x0bG\\xc6]\\t\\xdb\\xdf\\xbf\\xba\\x0f\\xfb\\xd7\\'\\xc0\\x91qW5c.+\\\\\\x82J\\xdd\\x0182\\xeeJ\\xd8\\xde\\xb19\\x15q\\xb1\\x85pd\\xdcU\\xcd\\x98\\xf7<\\xfb\\x17\\xe2W\\x9d\\x85#\\xe3\\xaej\\x9f\\xd19&\\xa4\\x97\\x99\\xe1\\xc8\\xb8\\xab\\xa6T\\xd9\\x15\\xf1X?\\xfdO\\xba\\xdc\\xd7\\xd8qM\\t\\xac\\x0e\\x80\\xea\\xbc\\xca\\xc9\\xcd\\xbd{\\xe8\\x9eV\\xe7\\xb9\\x92+\\x1b\\xab\\x8d\\xe9\\x88\\xcb\\x19\\x01\\'U\\x15n\\x18\\xe8\\xdc\\xea\\xd4j#\\xee\\x9a\\xdb\\xa3\\xd5y\\xae\\xe4\\xda.+\\xad\\xc6o?\\xc5Al\\xd7\\xbbc\\xcb\\x83\\xad\\xces%\\xd7\\xae8\\xae<\\xa3\\x14+\\xc7|\\x07T\\x1bq}\\xa4\\xa6\\xd5y\\xae\\xec\\xb1\\xad7X\\xb0\\'\\xcd\\x0c\\x8b\\x9b+:\\x1e\\xfd\\xad\\xd5y\\xae\\xec\\xb1\\xdd\\xd8\\xb1\"OV\\xf2\\xd0Y0\\xeb\\xabD\\xc6w\\x91\\xf9\\xbbA\\xb9\\xbf\\xa6\\x04\\x96\\xd8N\\xf5A\\x90\\xd7\\\\\\xb4\\xf3\\xafM\\x90h\\xd7\\xf5\\x94\\xea\\xb7!\\xb7\\xfc\\x0bT\\x1aD\\xba}\\x0b<\\\\\\x06 \\xcc\\xf7\\x05x\\xba\\x0cn\\xb2\\x9f\\xbc\\xf2\\xaf\\x91Y\\xb2\\x00\\x91aj\\xf4\\xe9\\xd2\\xf2\\xf5d\\x91\\xfa\\xe6t\\xbc\\x01\\xb9Ef\\x0c\\xec\\xee\\x8c\\xb6\\xc1\\xb6\\x97\\x19\\x133L\\x88K6\\xa2\\xff\\x94H\\x8c\\x7f\\xd6\\xfe\\xfc!e9z\\x1c[\\x99\\x84\\xc4Cy(\\xcf\\xab\\x84\\xbb\\xaf\\x0b\\x82;y\\xe3\\x9a\\xbb;\\xa3]\\xff\\xa6\\x97D\\x8e.O\\xc2\\x9eo\\xe20u\\xe0\\xcdxa\\xc2cv1\\x16\\x07\\x1fI>\\x89u\\xa7\\xb7H\\x99\\xda\\x8bu\\xa5p\\xd68\\xa3C`\\x04n\\xee3\\x16\\xd3\\x06\\xde\"J\\xe34\\xd9\\xe7\\xafGV\\xe1\\xcb]K0s\\x9a\\x0f^\\x7f\\xa9\\xf5K\\x18E\\xc5&\\xdc6+\\x03y\\xf9F\\xac\\xfa%\\x02\\xbd{6\\xbeUx\\xc9\\xd2\\x12|\\xf8y!:\\xcd\\xf2C\\xff7C\\xed\\x1e\\xf3\\xd1\\'\\xb2\\x90\\xb1\\xb1nJ\\x8b\\x9aN\\xba>\\x18\\x80>/5\\x9dL\\xf0\\xe2\\xf7E\\x88}/\\x0f\\xfe\\x81s\\x11\\x16Q\\x9b\\xd8\\xd6\\xeek\\xd0\\xeb\\x8e\\xa1\\xa8\\xf0gT\\xe8\\x0e\\xc1h\\xcc\\x03,\\x16\\xf8\\x07\\xceAh\\xf8;\\x8d\\xf6U\\x98\\xf7\\x15r\\xb3\\x17 \\xa2W\\x0ft\\xbf\\xde\\xbe%\\x8c\\x03\\xbf\\xfe.\\x89\\xa4\\xe6\\x9aH\\xf5\\xd0\\x7fR\\xe3\\x01\\xc5\\xa9\\xa7\\xcf\"\\xe1\\xd0Q\\xb4\\xe9\\xdb\\x07\\x1d\\xc7\\xd8\\xbf\\x83\\xcel2!\\xfb\\xc4)\\x14\\xc6\\xc7\\xa3\\xb2\\xa4TJ\\'\\xe1\\xe6\\xe7\\x87\\x90\\xde\\xbd\\x10\\xdc\\xab\\'\\x9cTM\\x7f\\xbf\\xb2\\x8e\\x9fD\\xda\\xfe\\x03\\x18\\xdd\\xb9\\x1d\\xee\\x19d_\\xf5\\x011^\\xa3\\xd9\\x8c\\xad\\xf1)8\\x9c\\x96\\x8d|\\xad\\x1en\\x1a5\\xba\\x85\\x04\\xe0\\x96\\x9e\\x9d\\x10\\xe1\\xdb\\xf4r\\xcc\\x96\\xf8d\\xac\\x14[\\xaa\\xbb\\x0c\\x01\\x86\\xdcb\\xfb\\xf3\\xb5X\\xac;\\xfeb\\xf7\\x02]\\x067}\\x8e\\xc5\\x0c\\\\<\\x0c$\\x9e\\x04\\xb4\\xc5\\x80\\xb3\\x0b\\x10\\xd6\\x15\\xe87\\xceZVG\\xb4\\xb8\\x03\\xc0\\xe9mpw\\xed(\\xe5\\xbb\\xb2\\xdd,\\xb0\\xee\\xfa\\x8b\\x87\\x9bK\\x07x{4\\x9f\\x9b\\xcbh*C\\x99\\xee(Lf-\\x02}n\\x92\\xca\\xea\\x88VQ\\x95\\x00\\x9d\\xfe\\x1cf\\xf6\\x1f\\x87\\xd7\\xc7=`\\xd3\\xac\\xd9b\\xc1W\\xd1\\x7f\\xe0\\x9bCk0\\xbd\\xdf\\x18,\\x18\\xff`\\xa3\\xe7\\x88\\xcc\\xedKOn\\xc6\\xb1\\xf48\\x94V\\xea\\xd0\\xc6\\xdb\\x1f\\x83\"z\\xe0\\xd1k\\xa7\\xa1\\x9d\\x9f\\xf5\\xbb\\xb6\\xe4\\xe8\\x06|\\xb8w\\x19n\\xbc\\xb3\\x07\\xe6\\xce\\xb7\\xed\\xdf\\x16\\xb3\\x05\\x7f~{\\n\\xeb\\xbf?\\x85Q\\xd3\\xba\\xe3\\xbe\\x97G4\\xb0m4\\x98q`C\\x82\\x14\\xb8.R0\\xe8\\xcb\\rp\\xf3rF\\xc7\\x1eA\\xb8\\xe9\\x9e\\xde\\xe8;\"\\x02\\x9b~>\\x8b\\x15\\x9f\\x1e\\x85\\xbb\\xd7hx\\x07\\xcc\\xb19f\\xf1,\\xb2\\xee\\xfa\\xdb\\x00w\\xaf\\x1b\\xe0\\x1dp\\xaf\\x8csDZ\\xb3x\\x14\\xe7~\\x00\\'\\'g\\x04\\xb7\\xb3\\x86\\xdcT\\x94m\\x86\\xb6d%\\xfa\\xf4\\x0f\\xc2\\xa8q\\xb6+\\x00\\x08\\x17\\x13IB\\x8f\\x1d\\xcaF\\xef~A\\x18=\\xbe\\xf1s\\x96,<\\x8b\\n]m\\xe6\\xf4:\\xd7w\\xcb\\xd4\\xce(*\\xacD\\xf4\\xdeL\\xf4\\xbc{ F\\xbe=\\xc1\\xe6\\xf5\\x0b\\xd6\\xc7?\\xdd\\x8f\\x93_F\\xa3\\xe7\\xac\\x01\\x18\\xf9\\xceM\\xcd\\x9esi\\xfdy\\\\\\\\\\x1d\\x8b\\xa2\\x0by\\xd0\\x17V@\\xe3\\xaa\\xc1\\xf5\\xefMD\\xe7[z f\\xd1\\x11\\x1c~g\\x17\"\\xfdT\\xe8##\\x1f\\xa5H\\xa8p\\xb1\\xd0\\x84\\x84B3\"}U\\xe8\\xd3\\xa6nL^\\x85\\xc1\\x82]\\xc9\\xb5\\x19\\xf9\\x9b\\xbc\\xae\\x1e\\xc1\\xd6\\xf3\\xe2\\xf2M\\xf0\\x7fh\\x1aB\\xbfx\\xd1\\xe6\\xb8a6#\\xff\\xad\\xefQ\\xf0\\xde\\x12\\xf8?p;B\\xbf|\\xa9\\xd1sD\\x99\\x1cq\\x8cvK\\xb4T.G\\x1d\\xe0\\x0b\\xb7\\xbe]\\x11\\xf0\\xf8,x\\x8e\\xbd\\xa6Y;9O\\xbc\\x87\\xe2\\xefW\\x8bc\\x9e\\x07\\xd0\\xe0\\x81\\xd2\\xd4\\xd3\\xf7\\xe8\\xff\\xe2\\xaf\\x86D\\x85l\\xb4\\xbb\\xfc\\x8d\\xb0T\\xa4\\xfb\\x1d\\xa9E\\x8f\\xc3Y\\xddV\\xaaOh\\x81\\x01%\\x15\\xeba\\xb2h\\xa5x./\\xd7\\xc6\\xbf\\x80\\xf1\\xb9\\x13PQ}\\n#\\xfa9\\xdb]\\xfe\\xa6\\x86B\\xa9\\xd6\\x82\\x13q\\x06\\xe8\\xab,\\xe2\\x99\\'[`\\x1d8]\\x8d\\x92r\\x0bf/\\x1cnw\\xf9\\x9bK\\xd1\\xb9X\\xff\\xdaIQ\\x1f\\x0b\\x1d\\x87\\x05# \\xc2\\x13\\xda\\xa2*\\xc4\\xef\\xce\\x86\\xa1\\xd2\\x84\\x9b_\\xee\\x8f^\\xe3\\x1b/S\\xb0\\xf4\\xe1hd_(\\xc1\\xf7s>\\xb6\\xbb\\xfc\\xcd\\xcf\\x87~\\xc7\\xc2=?!\\xc2?\\x0cC:\\x0c@\\x80\\xa7\\x1fJ\\xf5\\xe5\\xd8{\\xf1 \\xf2\\xcb\\x0b1c\\xf0\\x14<3N\\xecSh\\xbc\\xdd\\xf7\\xd3\\x938\\x9f}\\x11\\xcb\\x7f\\x08\\xb7\\xbb\\xfcM\\xfd\\x1e\\x05k\\x11Su\\xf8\\xb8\\x1e\\xd5\\xd5\\x96f\\x05\\xd6\\x9d\\xf7f\\xe0\\xec\\xb9*\\xdc\\xf0G\\xa4\\xdd\\xe5o\\x84\\xdd\\xfd\\xb3\\xd3P|\\xa6\\x12\\x11\\x93\\x1bf\\x83n3\\xd2\\x13\\xe1\\x93\\x9a~\\xf0\\xee\\xbe=E:\\xb7C\\x97Mv\\x97\\xbf\\xa9\\x19s~\\xce\\x07\\xc8\\xcf\\xfdH\\n\\x90\\xf7\\xf2\\x99\\x00\\x17\\xd7HQ4\\n\\x1aM0\\xfc\\x02\\xeej\\x14vr\\xc2x\\xe8+Na\\xc8\\xed\\x93\\xed.\\x7fs\\xe9\\xf01TW\\xd6\\xe6\\xed\\xaa\\xd3\\xbf\\xa8GX\\x98\\x96\\x81\\xb6=\\xa2\\xd0s\\xd4\\xc8Fm\\x1f]\\xbd\\x1eey\\xf9\\xe85\\xe3N\\xbb\\xcb\\xdf\\x88\\x0eE\\xfc\\x94\\x88\\xa3\\xf2\\t\\x0f\\x87o\\x87\\xf6\\x92\\x98,\\xba\\x94\\x04]^\\x1e\\x02\\xa3\\xba\\xa2\\xeb\\xcd\\x13\\x9b\\xf4\\xb1\\xd8\\xe5\\xbfC\\x9b\\x93\\x8b\\xff\\xde8\\xcc\\xee\\xf27B\\x00|\\xbc\\xf78\\xe2\\xf2\\x8a\\xd01\\xc0\\x17\\xdd\\x82\\x03Pe4\\xe2Xz\\x0e\\x0cf\\xb3\\xb4\\x13Q\\xfc[c\\xed\\xcd\\x1d\\x87\\x91\\\\T\\n\\x8c{\\xd0v\\xf9\\x9bJ\\x1dp\\xf0\\x0f ?U\\x14\\xa2k^\\x94\\x1dY\\x03$\\x9d\\x02\\x02\\xda\\x02!\\x1d\\xadu\\t\\xd3/\\x07\\xd1Ox\\x04p\\xf3\\x02\\xb6-\\x02\\n3\\xe1\\xe7u\\xbd\\xcd\\xf27fK\\x15\\xcat\\xc7\\xa5\\xda\\x82\\x80\\xd9\\xa6\\xc0\\xb2&\\x13=\\r\\x8b\\xf8\\xc2\\xc1\\\\G`\\x15\\x97\\xef\\x85\\xd1T\\x8c\\xe5\\xb3\\xde\\xb0Y\\xfe\\xa6\\xb0\\xa2\\x0c\\xcfn\\xf8\\x1c\\xc73.\\xc0h6aF\\xbf\\xb1\\x8d\\n\\xacO\\xf7\\xaf\\xc0\\xa2\\xc3k\\x11\\xe4\\xe9\\'\\xedH\\x14\\x81\\xf3\\t\\x05\\x19\\xd8\\x93x\\x12\\x1e.nXy\\xf7[\\xe8\\x1c\\x18\\x8e;\\x97\\xce\\xc7\\xd9\\x9cD\\xbc\\xf2\\xf3d\\x9b\\xe5o\\xca\\x8a\\xf4X\\xf8\\xe2\\x1e\\xc4\\x9f\\xcc\\x81\\xc9h\\xc6\\xe8;\\x1a\\x17X\\x1f\\xfck\\x0bb\\x0fe\\xa2s\\x9f`t\\xe9\\x1b\\x027O\\x17\\x14d\\x95\\xe3\\xf8\\xce\\x14TW\\x1a\\xf1\\xd8\\x87c\\xb0\\xf1\\xc73H:\\x97\\x0f\\xff6\\xf3m\\x96\\xbf1\\x0baZ\\xf8-\\xaa\\xab.\\x02\\x16\\x13\\xdc\\xbdF\\xc9\\x12Xf\\xb3\\x16E\\xd9\\xaf\\xc2\"%\\xc0V\\xd7\\n\\xac\\xe2\\x9c7`\\xa8N\\xc6\\x1d\\xb3\\xba\\xd9,\\x7f\\xa3\\xaf0b\\xcb\\x86ddeha6[\\x9a\\x15X_}t\\n\\xbe~.h\\x1bq\\xb9\\x06\\xe6\\x15\\x0e\\xdeoP\\x08vmIEnN\\x05n\\xfbs\\x8e\\xcd\\xf27B \\xed|l-\\xb2\\x8f\\xa6\\xc3l4\\xa3\\xe7\\xec\\xa6\\x05\\x96\\xa9\\xca\\x88\\xad\\x0f\\xff\\x89\\xf4=\\x89\\xf0\\xef\\x12\\x88v\\xa3:\\xc3#\\xc4\\x13\\xc6J#\\xda^\\x13\\x89\\xb0a\\xed\\xf0\\xe7\\xad?!?&\\x1b#\\xdail\\x96\\xbf\\x11yPOe\\x1bQ\\xa8\\xb7>\\x8b\\x1b\\x13X\\xd5&\\xe0B\\xc1\\xdf\\xf5\\xea\\xea\\x7f\\x97K*-R\\xde\\xab\\x01\\xa1j$\\x97\\x98!\\xfe\\xbf\\xc3\\xee%6\\xcb\\xdf\\x88\\x00\\xf4\\xac9/\\xa3\"\\xfa\\x14,\\x06#\\xfc\\x1f\\x9c\\xda\\xa8\\xc02\\x15\\x97I\\xb3P\\x86\\xec|\\xf8L\\x1d\\x0b\\xb7\\x01\\xdda*(\\x912\\xb8\\x8b\\x1a\\x85\\xa1\\x9f\\xbf\\x00\\xff\\x87\\x9bNq\"\\xca\\xea\\xa4\\x8c\\x96~\\xcc\\x88 \\xea\\x06\\x01a\\x8d\\t\\xac\\xb1\\x00\\xb6\\x0ba\\xd41H,-\\xda\\xd7\\xcc\\x16=b\\xb3\\xfaA\\xad\\xf2A\\xf76;\\xa1VY\\xb3qW\\x9b2p!\\xe7F8\\xab\\x83\\xd1#T\\xa4\\xdc\\xaf\\xfb\\xab\\xb7\\xbcr\\x1f.\\xe5\\xdf!\\x15n\\x1e\\xdc\\xb3e;}R\\xb2M8\\x9fh\\x84\\xb7\\xa7\\x13\\xc2C\\xd48\\x9fd\\x94%\\xb0\\nJ\\xcc8|\\xd6 \\x15n\\xbe\\xed\\xadA\\xf6\\rX*KR\\x8d\\xe8%\\x17q\\xed\\xbd]\\xe1\\x19\\xf0\\xf7\\xacM~R9~y\\xe8\\x00<\\x03]\\xa5\\x1d\\x89\\xf5[\\xea\\xf1\\x02\\xfc\\xfe\\xcc\\x11\\x88\\xc2\\xcd\\xefO\\x15\\xd90\\xeck\\x15\\xd5z\\x9cN\\x8f\\xc5\\xb5\\x9d\\x07\\xc3\\xe9\\x8a\\r\\xa1\\xe5\\x95:\\xdc\\xf5\\xfd<\\x14W\\x94b\\xe73\\xab\\xe0\\xd6HB\\xc5c)\\xa7\\xf0\\xd8\\xf2\\xffJ\\x85\\x9b\\xbf\\xfc\\xd0\\xfeY\\xa4\\xfaW\\xba\\xf8\\x97\\x12|\\xb6\\xb0\\x08w\\xde\\xe6\\x8d\\xe5\\xab\\xca\\x9a\\x14X\\x07\\x8f\\xeaq\\xff\\xbf\\xb3 \\n7_\\xf3\\x8d}\\xb5\\xb1jl\\xee\\xb8)\\x19*\\xb1\\xc3t\\x83}\\x81\\x9dy\\xd1:\\x1c\\x98\\x93\\x0eQ\\xb8\\xb9]\\x07\\xfb}[\\xd8/-^\\x8d\\xcc\\xb4G\\xe0\\xeb?\\ra\\x11\\x9f@\\xd4+\\xb4\\xd5t\\xda}HM\\x9c\\x06Q\\xb8\\xb9\\xefM\\xcaf\\xe4\\x8f\\xdb\\x1b\\x8d\\xcc\\xf3\\x17\\xa4t\\x0f\"\\xedC\\xfdV\\x94\\x91\\x85\\x93\\x1b6C\\x14n\\x8e\\xbaE\\xc4b\\xda\\xd7D\\x82\\xd0\\xb3\\xbf.G@\\xe7\\xce\\x88\\xba\\xf5\\xef\\xf3-f3\\xce\\xfd\\xbe\\n\\xda\\x9c\\x1ciG\\xa2\\xabOCQ[\\x9a\\x96\\x8e\\xb8\\xd5k \\n7?6\\xc2\\xfe\\x8c\\xe9\\xd1)YXr\\xf4l\\x83\\xd9/Q\\xe4\\xf9\\xed\\x9d\\xd62<\\xefL\\xbc\\x0e\\x9az3h\\xe7s\\x0b\\xf1\\xd1\\xde\\xe3\\x90\\n7\\x8fl\\\\\\xf0\\xd6R\\x10\\xa2*z\\xa5UX\\x89\\x99\\xae\\x03\\xbf7-\\xb0\\n\\xd2\\x81\\xed\\xdf\\x03\\xedz\\x02#fHK\\xaeR\\xcb\\x8c\\x07\\xf6-\\xb3\\xce|\\xb5\\xeb\\x05\\xec\\xfeY*\\xdc\\xec\\xe3\\xd9|\\x8e1!\\xaa\\xca*\\x8e\\x01\\x163\\xbc<\\xfaK\\xb3RM\\xcd`Y`\\x86\\xb6\"\\x06\\x95\\xd5\\xa9\\x973\\xc0\\xab\\xa4\\xff\\xae\\x99\\xc1\\xaa6\\xe6\\xa3T\\x1b\\rQ\\xb8\\xf9\\xcb\\xdb\\x9em\\xf6C\\x16\\xa2\\xea\\xe9\\xf5\\x9f\\xc1`6a\\xc1\\xb8\\x07\\xf1\\xe4\\xfaO\\x9b\\x14X1Y\\t\\xd8\\x9f\\x12\\x83\\x87\\x86N\\x81\\xab\\xe6\\xef\\xfb\\xf2\\xef1;\\xf0\\xda\\xb6\\xc5\\xb8\\xad\\xf7\\r\\xb8\\xb5\\xe7u\\xb8\\x7f\\xe5\\xdbR\\xe1\\xe6\\'>i\\xde\\xbf\\x85\\xa8\\xfa\\xfa\\xf9\\xdd0\\x1aM\\xb8o\\xfe\\x08|\\xf9\\x9f]M\\n\\xac\\xecdQh\\xd9\\x84\\xf6\\xdd\\xea\\xfauRl>^\\xbf{=\\xc2;\\xfb#3\\xb1\\x18\\xae\\x1e\\x83\\xe0\\x1b\\xd4\\xfc\\xec\\xbf\\xa1\\xea\"J\\x0b\\xbe\\x01,FIT\\x95\\x16|-S`YP\\x92\\xff9L\\x86l\\xa8\\x9d\\xc3`\\xa8\\xbc \\t\\xac\\xea\\xca\\xf3(\\xc9\\xfbP*\\xdc<\\xe9\\xb6N\\xcd\\xf2\\x16\\xa2j\\xcb\\xfad\\x98\\xcc\\x16\\x8c\\x1e\\xd7\\x1e\\x9b\\xd7\\'5)\\xb0\\xf4z#\\x16\\x7fu\\x06\\xfd\\x07\\x87`\\xe4\\xe8\\x86ik\\xd2S\\xcb\\xb1ve\\x02D\\xe1\\xe6\\xf1\\x8b\\xa66kW\\x88\\xaa\\x1d\\x8f\\xae\\x85\\xd9`\\x92f\\xad\\xb6\\xffkM\\xb3\\x02k\\xdf\\x8b\\x9b\\x11\\xb7\\xe24\\x86\\xbf2\\x16}\\xee\\x1fbM\\xb5}E\\xcb<\\x90\\x82\\xbff/G\\xa8\\x97\\n\\x83\\xdb6\\xbf;T\\x14l>\\x91m\\x94\\x84\\x95\\x98\\xe9:\\x91mjT`\\xd9\\xba\\x1b\\xedI1\\xc2`\\xb6\\xa0_\\x1b\\x8d\\x14\\xdc.\\n7G\\xach~UM\\x88\\xaa\\xcc\\xbb\\xff\\x0bK\\xb5\\x01\\xa1_\\xbd\\x84\\xccY/6)\\xb0\\x8a\\xbeZ\\x8e\\xdc\\xff|\\x826\\x1f>\\x8b\\x80\\xc7\\xfe\\xae\\xce\\'f\\xb5\\x12\\xfbN\\x83:\\xd0\\x0f]\\xe2j\\xcb\"5z\\xb9\\x193\\x9f\\xaf)\\x10-\\xf2b\\x89\\xfcX\\xb5\\xad1\\x81\\xf50\\x80E\\xe1~\\xaf#\\xc4\\xfb\\xdf\\xb6\\xc6\\xdf\\xe0\\xef\\xc5\\x15k\\x90R8\\x0f\\x11\\xfe\\xef \\xd8\\xab\\xee\\x94sV\\xe9\\x9b\\xc8-\\xfb\\x12]C6\\xc0\\xcb\\xb5\\xee\\xcd\\xa7@\\xfb\\x0b\\xd2\\x8b\\x9fC\\x8f\\x8e\\x1at\\x8eh\\xd9\\xd6\\xde\\x0b)F)\\x96\\xaao\\x943\\xb2\\x0bL8\\x1d/O`\\xa5\\xe5\\x98p&\\xc1\\x88Q\\xff\\xee\\x81\\xa13\\x9b\\xff\\xb2\\xd8\\x0b\\xe4\\x97\\x87\\x0f \\xe7B)\\x9e\\xd91\\x11\\x1a\\x97\\xba\\xa22f}\\x1a\\xb6~t\\x16O\\xdc\\xf8 f\\x0f\\x9bfo\\xd7\\xcd\\x1e\\xff\\xf0\\xd2\\xe7p&\\xe3j\\xfc\\x87X\\xdco\\xa7\\xb1\\xef\\xa5\\xcd\\x10\\xcbu\\x9d\\xfd\\x9b\\x0f\\xbb\\xc9\\xd7Y\\xa4\\x99\\xa9Am\\xd5\\xd2\\x98w&\\x19\\xed\\x16X9Z3\\x8eg\\x99\\xd0=H\\r\\x91\\x10\\xffL\\xae\\t!\\xef>\\x89\\xc0\\xa7\\x9a\\xcfe\\xa7\\xddv\\x08\\xf9\\xaf-\\xb4\\n1\\x95\\x13.E\\xdd\\xd2\\xa4\\xc0\\xca_\\xf0\\xad\\xb4<\\xd8\\xf1\\xd0R\\xb8\\xf5\\xaf\\x9b\\x048I\\xccl\\xa5d\\xa2[\\xde\\xdef\\xbfO\\x85\\x9f\\xfd\\x8a\\xbc\\x97>\\x17\\xc7\\xcc\\x03P[\\xb8P\\xfcCc\\x02\\xeb=\\xb1\\xcb62\\xe0k\\xa9\\x90\\xb3\\xbd-\\xb3\\xe4U\\xe4\\x95\\x7f\\x0b\\x11\\x1c\\xef\\xee\\\\7\\xe6\\xa2\\xbcr/.\\xe5\\xdf\\x89\\xb6\\xbe\\xffE\\x1b\\x9f\\xa7\\xeat]#\\xbe\\xfawS\\xa6\\xd6\\xa0\\xd8\\r(v\\x05\\xca\\x89\\xc1\\x12\\xb1W\"\\x06\\xeb\\xe6\\xf9\\xfd\\xd1kB\\xcbfU\\x9a\\xe2\\xf4\\xe3\\xdc}\\x10\\x85\\x9d\\x9f\\xde\\xd6\\xf0\\x06\\xb0w\\xd1\\x05\\x1cY\\x96\\x88\\xd7oyN*\\xe4\\xacT;\\x9a|\\x12O\\xaf|\\rC;\\xf6\\xc7\\xa7\\xd3\\xdfl\\xb4[\\x91\\xf7J\\xe4\\xbf\\xfa\\xe8\\xed6\\x98<\\xa1\\xe1T\\xb4\\xdck)+7\\xe3\\xf6\\xd9\\xe9\\x88\\x8cp\\xc6\\xe2\\xaf\\xda\\xe2\\xbb\\x9f\\x8a\\xa5\\x99\\xac\\xa6b\\xb0\\x84\\xf8\\xfa\\xfe\\xe7\\x12\\x0c\\xfe8L*\\xe4lo\\xb3\\x98\\x80\\xb5\\xdd/ r\\x9a/\\x06\\xbeg_\\xb6\\xe4\\xd8\\x0f\\xf2qqQ!\\xc2\\xdb/\\x84\\xaf\\xbf\\xfd\\xbe\\xad\\xaf8\\x8e\\xe4\\x84\\x89h\\x13\\xf6\\x1a\\x02C\\xc4/f\\x0bL\\xa6R\\xa8T\\x9e\\xcd\\x8a-\\x91\\xf7J\\xe4\\xbf\\x12\\xb5\\x06C\\xbb*\\x97*@\\xc4U\\x89\\xf8\\xaa\\x81\\xb7Ll\\xb2\\x86\\xa1X^L9u\\x06]n\\x1a/\\x15r\\xb6\\xb7\\x19\\xf5z\\x9c\\\\\\xfc#S{9\\xd5\\xf1)\\x10\\x02\\xcbk\\xd2HD,\\xb7\\xa6\\x1ei\\xaa\\x95\\xfe\\xb6\\tY\\x0f\\xbc&\\xfe,\\x0e\\xac\\x13\\x1c\\xd6\\x98\\xc0\\x12\\t.\\xee\\xec\\x12\\xbc\\n\\xden\\xf6\\x17\\x05M.\\x98\\x8b\\x12\\xfd&\\xf4\\x8bH\\x86\\xca\\xa9nn\\xa3*c\\n\\xceg\\x0fE\\x80\\xe7LD\\x06|Q\\xe7z\\x93\\x0b\\x1f\\x94\\xe2\\xb4\\x94\\xca}e\\x8f\\xc0\\x121[\\xd9\\x05f\\xcc\\xf8t\\x18\"\\x07)\\x97\\xfb\\xaa8C\\x87\\xefg\\xefA\\xf7Qa\\xb8uA\\xc3\\xd9\\x83u\\xaf\\x9d\\x94\\xe2\\xb4\\xbe\\xba\\xeb]\\x0c\\xe9`\\xff\\x12J\\r\\xc0\\x1dq\\xfb\\x90\\\\\\x90&\\xc5_]\\xcaK\\xc2\\x85\\x9cK\\x18\\xd3\\xe3z\\x86\\xb4I\\xd2j\\xdf\\x1f\"\\x85\\xe6\\x95\\xfe\\xdf\\x98\\xc0:\\xfe\\xbf\\xea\\x12\\x83z\\x84F\\xc3\\xcd\\xb9\\xee/C9_\\x9cK\\xf9\\xd3P^y\\x00\\x03\\xda\\xd5\\x16\\x83\\xac=\\xcdh.\\xc2\\xd9\\xcc\\xeeR\\xe0{\\xfd\\xf8\\xae\\xf8\\xdcq\\xa8\\xa8\\x8e\\xc1\\xa8A.\\xf0R q\\x99=\\x02k\\xff\\xa9j\\x88\\xe0\\xf8\\x07\\x96\\xde\\x80\\xc0\\xc8\\x96\\xcf\\xe6\\xd4\\xf9\\x85h\\xb2\\xe0\\xf7\\xa7\\x8f ;\\xae\\x04s\\x97\\x8cD@\\xfb\\x86bB\\xc4g\\xe5\\xc4\\x97\\xe2\\xf7\\x87\\xbfC\\x87\\xc0\\x96\\'~|\\xf1\\xcf\\xb7\\xb1;^J\\xdd/\\xb5\\xde\\xe1\\xdd1:j\\x04\\xa6\\x0f\\x99\\x02\\x97&2W\\xdf\\xff\\xf3S8\\x97\\x15\\x8f-\\xab\\xdb\\xa3C\\xa4\\xbc\\xa5\\xae\\xfa\\x9f\\xff\\xb2\\x95\\xa5x\\xfb\\xa3\\x02\\xfc\\xf0u[\\\\3\\xc4*\\xd2l\\t\\xaci\\xf7d\\xe0\\\\\\\\\\x15\\xc6m\\xeb\\x04\\xef\\xce\\xf6g17\\xe9\\xcd8\\xfdZ.\\x8cz3\\xdc\\xdb8C\\xa5\\x01t\\x99\\x06\\xe4\\xec\\xd6A\\xfc\\xad\\xe3,?\\x0chbg\\xe2\\xae))(\\x89\\xadD\\xe7\\xee\\x07\\xe1\\xeaj\\xbfo\\xe7d\\xbe\\x84\\xa2\\x82\\xc5ps\\xef\\x05\\x95\\xca\\x0b~\\x01\\xb3\\xa4\\xf7\\n\\xdda\\x14\\x15\\xfe\\x00\\x8d&\\x04\\x9d\\xbb\\xed\\x85Z]W\\x0c$\\'L\\x80\\xbe\\xe2$\\x86\\xdfu\\x07<\\xfc\\xec\\x9f\\xb5k\\xec{\\x97|\\xe24\\x12\\x8f\\x9e\\xb09+vt\\xd5:\\x94\\xe5\\x17\\xa0\\xdf\\xbd\\xf7\\xc0=\\xa0\\xeeu\\xc9\\xf9>\\xd7\\x1cS\\x92\\x92\\x8a\\xf8u\\x1b b\\xafDs\\xf3\\xf3\\x95\\x82\\xe6\\x9d=\\x9a\\x8eA;\\xfb\\xdb\\n\\xe8r\\xf3\\xf0\\xf6M\\xd7!\\xac\\x05EX\\x93\\nK\\xf1\\xf6\\xae#\\x08\\xf2p\\x93\\x96\\x19#\\xfd}P)\\x05\\xb9\\xe7b\\x7fr\\x06J\\xf4U\\x18\\xde\\xa1-\\x1e\\x1cZwY\\xea\\x8d\\xed\\x87\\x90R\\\\\\x06\\xdc\\xfc8\\xe0c\\xc7\\xeeX[\\x02k\\xc5\\xeb@p$0\\xa6\\x91\\x947\\xe9\\xe7\\xac\\xf1[\\x1e\\xbe@E)\\x02\\xbc\\xc7@mG\\xd1\\xf0\\xd6\\n\\xac\\xe2\\xf2=0\\x9aJ\\xb0\\xe9\\x81\\x8f\\xd1)@\\xfe,|K\\x04V\\xae\\xb6\\x08S\\x7f~\\x11\\xben^X7\\xf7\\x03\\xcc\\\\\\xf6*\\xce\\xe5&\\xe1\\xbd5\\xd3\\xd0\\xb6\\xa3\\xfcp\\x03\\xb9\\x02\\xeb\\xdf\\xa3~\\x85\\xb6\\xc4Z\\x14^\\xcc\\xa6\\x0c\\x1c\\xd5\\x1e\\xc3\\xc6w\\xc2\\xd6e\\xb1H<\\x9b\\x8f\\xc0\\xb0w\\xa1v\\x96\\x1fG*G`\\x89\\x18-\\xb1\\x1c\\x18\\x10\\xfa&Tj\\xebf\\x9a+\\x05VQ\\xce\\x02\\x18\\xabSp\\xf7\\x03=\\xe1\\x1f \\xbf\\n\\x84-\\x81UR\\\\\\x85\\x03\\xbb3$Q\\xe5\\xe1\\xe9,m\\x02(*\\xaaBzJ\\x994\\xc9\\xea\\xed\\xe3\\x02\\xd1\\x87\\x10B~]\\xe4\\'\\xec\\xb5%\\xb0\\xfe\\x18\\xbf\\x18\\xda\\xcc2\\xb8\\x05\\xb8\\xa3\\xcd\\xa0\\x08D\\x8e\\xe9\\x02\\x93\\xc1$\\t\\xaa\\xd4\\x1d\\th7\\xaa\\x13*\\x0b+\\x90\\x7f6\\x07\\xa3:h\\xe0\\xe5\"?\\xb9hK\\x04\\x96\\x10W\"8\\xfe\\xc6\\x8e\\x1a\\xb8k\\x9c\\xb0?\\xcd\\x88\\xd2J\\x0b:\\x9f\\xfe\\x03.v\\x84\\x1b\\xc8\\x11X\"P,\\xff\\xcd\\xefP\\xf0\\xee\\xe2\\xda[\\xa2\\x10[\\xe1\\xbf\\xbe\\x0b\\'\\x19\\x85\\xe8\\xc5lWb\\x7fiE\\xe4\\x04\\x80:i\\x12\\x1a\\xa3$\\xf2\\xbf\\xfb\\xf7\\rO\\x82Ze\\xbf\\xd8H\\xc8\\x9b\\nmUt\\x13\\x02\\xab\\x10g3{\\xc0\\xcf\\xe3\\x16t\\x0c\\\\R\\xe7\\xfe~&3\\n&s\\tn\\x1a\\xee\\nM\\xcbB\\xb0\\xea\\xf4g\\x8f\\xc0\\xdaz\\xa8\\n\"\\xb5\\xc3S[&\\xc0\\xc5\\xa3\\xe5\\xe9!j/\\xc0r9y\\xe8\\xd6\\x0cL~\\xb9?z\\x8ek\\xfc\\x86\\xf7\\xc5\\xcd\\xdbPYn\\xc0\\xaegW\\xc3\\xd3\\xc5v\\xb0ts\\x0fD\\x0b,(\\xd7k\\x91^\\x9c\\x85M\\xb1;\\xf1\\xe7\\xc9\\xbf\\xd0#,\\n\\x8b\\xe7|\\x02\\x95\\x98\\xea\\xa9\\xd7\\xc6}6\\x1de\\xfar\\x9c\\xd8\\xd7\\x11\\x9e\\x1e\\xb6\\xd3X\\xd4??\\xeeb\\x15f\\xcc\\xcd\\xc4C\\xf7\\xfa\\xe1\\xf1y\\x7f\\xc7R\\xd9\\x12XCoLFY\\x99\\x19\\xb7\\xc6DA\\xe3e\\xbf\\xdd\\xa6\\x18T\\xe6\\x19\\xb1\\xe7\\xceT)\\xcf\\xd5\\xe8?;\\xc0\\xbf_\\xc3\\x9b\\xde\\x86\\x81\\t0\\x94\\x9a\\xd0\\xbdO\\xb2$\\x8c\\xecm\\x99i\\x8f\\xa2\\xb4x%|\\xfcnCD\\xa4Xj\\xff\\xfb\\xebS\\x98\\xff\\rr\\xb3^EH\\xd8|\\x04\\x85\\xd4]\\xfe\\x8e\\x8f\\x8d\\x82\\xc9T\\x8c\\xd1\\x0f\\xce\\x81\\xda\\xb9eb\\xf6\\xcak5\\x19\\x8d\\x88\\xfe\\xf5wi\\xb9n\\xc4\\xec\\xe9pj&\\x15\\xc7\\xde\\x1f~\\x85\\xa1\\xaa\\nC\\x1e}\\x04\\xea\\x16\\x96\\xe5\\x11qXI;v\\xc2l0J\\xa9\\x1eD`\\xbb\\x10\\\\\\x1eAA\\xe8\\xd9\\x0b\\x03\\xa75=\\x8d\\xfb\\xc5\\xe4m\\xa8,3`\\xf7\\xb3\\x7f\\xc2\\xc3\\x8e\\x9b\\xa2\\x1c\\xcf\\xfet\\xc7\"\\xac8\\xb6\\x16o\\xdf\\xf6\\x12\\xc6\\xf6h\\xb8\\x1c\\xd6\\x1a\\x81UQa\\xc6\\xd4\\xbb3\\x10\\x1c\\xa4\\xc1O\\xdf\\xb6\\xadS+\\xd2\\x96\\xc0\\x1a6&\\x19\\xa5\\xa5f\\xdcz&\\n\\x1a\\x85k\\x1e&-+\\xc1\\xe9Ws\\xd0\\xeb\\xb9`t\\xfbW\\xc3_w\\x7f\\rJ@uI\\xcb\\x05VV\\xfa\\x93\\xd2\\xb2`\\xa7\\xa8]ps\\xaf;kb4\\xe6\\xe3\\xe2\\xb9\\x9e\\xf0\\xf6\\x9d\\x88v\\x1d~\\xa9\\xf3\\x11)-\\xb0\\xd2\\xcf\\x9eC\\xfc\\x81\\xc3\\xe8v\\xdd5h\\xd7\\xa7\\xee\\xf2X}\\xdf\\xd8\\xfb\\xe3\\xaf0T\\xb6\\\\`\\x89\\x19\\xa8\\xd8\\x15+\\xe1\\xdd\\xb6\\xad\\xb4\\x8bP\\xe3j\\xdd%\\xab\\xcd\\xce\\x81X\\x024VU\\xa1\\xcf\\xec\\xbb\\xa4\\x19\\xad\\xfa\\xed\\xf87\\xdf\\xc1XY\\x89\\x85S\\xc7H\\xc9/[\\xda\\xc4\\xee\\xab\\xf4\\xd2rT\\x1a\\x8cR\\xb0{\\x88\\x97\\x07j\\x82\\xdc\\x85\\xb8\\x12\"\\xeb\\xcaV+\\xb0\\xee\\x9c\\x0fh\\x1a\\xcf\\xc5\\xd6\\xe8\\xb5\\xd8\\x12X\\xab\\xde\\xb1.\\x11\\xde$\\xca\\x8f\\xd5k5K\\x84\\xa2\\xee\\x9f\\xb1\\xfa\\x1f\\x10X\\x9b`\\xb1T\\xe3\\xc4\\x93?\\xc1\\xd3E\\xfe\\x8c\\x8a=\\x02\\xabD_\\x8e\\xfb\\xffx\\x07\\xa9\\xc59X|\\xc7K\\xb5\\xa9 D,\\x96\\x88\\xc9\\xfa\\xee\\xe0\\x1c\\xb8y\\\\\\x1d\\x81u%mq\\x8f}m\\xf6:\\xa4\\xc4\\x89G\\x15\\x14\\x15XFC:\\x8as\\xde\\x94\\x82\\xe6=}\\xeb\\xee\\xd2\\xbbR`\\x15d<\\x06\\xb3Y\\x87G\\x9e\\xec\\x07g\\x07\\x08,1N\\xb1\\x131!^<\\xc3\\x81\\xfb\\xcf?\\x0bgO\\xe5\\x04\\xd6\\xf2\\x91\\xdf\\xa0\\xb2\\xa4\\x12sc\\x9e\\xaa\\x8d\\xb9\\xaaa\\x9e\\xb8!\\x0e;\\x1e[\\x0b\\x8d\\xbb3\\x8cz\\xc3U\\x17X\"\\xb0]\\x04\\xb8\\x8bD\\xa6>\\xaeV\\x89R+\\xb0\\xf2\\xf7B\\xe5%\\x7f2\\xc2\\x96\\xc0*\\xfaz\\x05r\\x9f\\xfbX\\xcay\\xd5\\xe6\\xbd\\'\\xa5\\xb8-\\xd1J\\x97\\xfe\\x85\\xec\\xc7\\xde\\x81k\\x8f\\x8e\\xe8\\xb0\\xff\\xe7fg\\xb2\\xcc\\xda\\n\\xc4\\x07K\\xe5\\xd6\\xc4\\xe4T\\x9d\\x07Oc\\x02\\xeb0\\x80a=\\xc3\\x0e\\xc1Uc\\x7f@nf\\xc9\\xeb\\xc8+_\\xd8l\\x90{\\x98\\xefK\\x08\\xf5y\\xba\\xeeC(\\xf7&TT\\x9f\\xc4\\xe8\\xc1.\\xf0t\\x97?\\xfd\\xd8\\xd4M\\xdb\\x9e\\x19\\xac\\x9a\\x1cX\\x0f.\\x1b\\x85\\x80v\\xf2\\xd5q}\\xdb\\xe2\\x8b\\xbf\\xf1\\xad\\xd38\\xbf3\\x0b\\xe3\\x9e\\xee\\x8d\\x01\\xb7\\xd5\\xbd\\xf1\\xd7?~\\xe9#\\xd1\\xc8>_\\x82?\\xe6-F{;\\xa6\\xf5\\xe5<\\xa8v]8\\x80\\x97\\xd6\\xbc\\x8d\\x07\\xae\\x9b\\x85\\x87G\\xde\\xd3\\xe0\\x94\\xd6,\\x11n\\xdb\\xa5\\xc3\\x13\\xcf\\xe7\\xc8\\xb9\\x0c|\\xfbi\\x18F\\x8d\\xfc\\xfb\\x0b1}n\\x06\\xce\\xc4Va\\xfc\\x8eN\\xf0\\xea(\\xff\\x06!\\xc7X\\xcen-\\x0e>\\x98\\x81\\xee\\x8f\\x06\\xa2\\xe73\\rgU\\xf6LMEQ\\x8c\\x1e]\\xba\\x1f\\x86\\x8b\\xab\\xfd\\xbe\\x9d\\x97\\xfd6\\n\\xf2>kT`\\x89\\x87[\\xdc\\x99p)\\x16\\xab}\\'k\\x9d\\xae\\x9a\\xa6\\xe4\\x12\\xa1X\\xa2\\x8b^\\xf6\\x87\\x14\\\\~\\xdd=3\\xa1\\xb613t\\xec\\xcf\\xf5(\\xcd\\xcdG\\xff\\xb9s\\xe0\\xe6/\\x7f\\xf9\\xa6\\xe6\\xda/m\\xd9\\x86\\x82\\xb8\\x0b\\x18p\\xff\\\\\\xb8\\xfa\\xd6\\xcd;V\\x96\\x99\\x89\\xf3+W#l\\xe0\\x00D\\xde\\xd00\\xb0:v\\xf9Ji\\xb6K\\xa4R\\x08\\xb5\\xe3W\\xa7\\x9c\\xcfZ\\xec\\x12\\x14\\xbb\\x05_\\x1d{-:\\x04\\xd4\\xbd\\xae\\xb7v\\x1cF\\x92\\xc8\\x815\\xf9I\\xc0[\\xfe2\\x8a\\xcd \\xf7\\xad\\xdfZ\\x93\\x8b6\\x17\\xe4\\xee\\x1b\\x0c\\x94\\xe6#\\xc0g\\xac]+\\x00\\xad\\x9d\\xc1\\xaa\\xc9\\x81\\xb5\\xe5\\x81O\\xd1!@~\\x9c\\x9f\\\\\\x81%\\xf2f\\xdd\\xb7\\xf2-\\xe4\\x94\\x15\\xe2\\xfb;_\\x92v\\x0f\\xd6\\xb4\\xe9\\xbf\\xbe\\x8c3\\xd9\\x97\\xf0\\xc1\\xba;\\x10\\x1a)\\x7f\\t\\xdc\\x9e\\x19\\xac\\xfa>\\xf1\\xcb\\xbb\\x87\\xb0\\xe3\\xf7\\xf3\\xd2?+\\xb9DX^\\xfc+\\xf4\\xe5;\\xe5\\xb8\\xa0t\\xcc=\\x0f\\xf4\\x84\\x9f\\x82K\\x84\\xcd\\x19\\x8e\\xde\\x93\\x89\\x93\\xc7\\xac\\xa173w\\xcf\\x83o\\'\\xf9\\xbb\\xb0m\\xcd`\\xad\\x9d\\xba\\x14\\xc5\\xf1\\xf9\\xb8\\xef\\xdc\\xdf\\x81\\xde5\\xd7\\x92\\xbe7\\t\\x9b\\xe6\\xfc\\x0e\\xaf0\\x1fh\\xb3\\xcb0\\xba\\x83\\x06\\x9eWi\\x89P\\x04\\xb5\\x8b\\xd4\\x0c\\xc1\\x9eN\\x18\\x16\\xfe\\xf7\\x8f21\\xa3%f\\xb6:\\x9fY\\r\\x97\\xae\\xb6\\x93\\xba\\xd6\\\\\\xbb-\\x81u\\xa9\\xcb\\xcd\\x10Kf]\\xce\\xaf\\xad\\x15W5\\xe7\\x16\\xbc\\xb3\\x18\\xf9o.B\\xc4\\x1f\\x1f\\xc3{r\\xd31\\xbb\\xd5\\tiRJ\\x07\\xb1\\x0f@\\x94g\\xbc\\xf23lL\\xc9\\x88\\n\\xa5\\xb3\\xbb\\x86\\xac\\x81\\x97\\xab\\x8d-\\xce\\x8dxC\\xa9~3\\x92\\n\\xeeE\\x84\\xff\\xbb\\x08\\xf6\\xaa\\x9bM8\\xab\\xf4-\\xe4\\x96}\\x81.\\xc1\\xab\\xe1\\xedV\\xf7\\x86\\x9cR\\xf8o\\x14W\\xac\\xc2\\xb5}\\x9d\\x11\\xe8k\\xc7\\xfcc\\x13\\x1ei\\x8f\\xc0:\\x15o@f\\x9e\\x193\\xbf\\xb8\\x06\\xed\\x9b\\xc9\\xba\\xde\\x9c\\xf3\\x9b\\x8d\\x16\\xac_p\\x12\\t\\xfbs1\\xf1\\xc5\\xbe\\xe8}\\x93\\xed\\x14\\x02\\x7f\\xbdy\\x1a\\xe7\\xb7g\\xe2\\x9b\\xd9\\xefc`\\xfb\\xbe\\xb2\\xbf\\xd4r\\x0e\\\\z\\xf8\\x0f|\\xb5\\xfb\\x07<=v\\x1ef\\x0e\\xb9\\xad\\xc1)\\xad\\tr\\x8f\\x8b\\xaf\\xc2\\x8a\\xd5\\x8dgR?\\x7f\\xa1\\ng\\xcfWa\\xdc\\x8d\\x9e\\x08\\xf0Sc\\xf6t_Du\\xf9[H\\xfd\\xe7\\x95\\\\l\\xd8\\xac\\xc5\\xc8\\xdf\\xda#x\\x98\\xfc_\"r\\xc6\\\\\\x93\\xa5}\\xe0\\xbb\\xa1\\xe80\\xbd\\xa1\\x988\\xf6L\\x16\\xd2\\xd7\\x95!\\xb2\\xf3Zxz\\xd9\\xef\\xdb\\xda\\xf2\\x9dHK\\x9a\\x89\\x90\\xb0W\\x10\\x14\\xf2D\\x9dK\\xaa\\xaa\\x8cCb\\xfc\\xf5\\xf0\\x0b\\x98\\x8d\\xb6\\xed>\\xab\\xf37%\\x83\\xdc\\xb3.$\\xe0\\xfc\\xee}\\xe88\\xa8?:\\x0f\\xb5\\x9d\\xb3-v\\xe7\\x1e\\xe4\\\\LD\\xcf;\\xa7\\xc2\\'\\xc2\\xb6O\\xd6\\xe7|~\\xd5\\x9f(\\xcb\\xc8\\xc4\\xb0\\'\\x1em\\x90\\xb1\\xdd\\xa0\\xab\\xc0\\x89\\xef\\x16#\\xb0[\\x14\\xbaNj\\xb8K\\xf6\\xd2\\xe6\\xad(\\xb8\\x10\\x8f\\xe7G\\rA\\xf7\\x10\\xf9\\x0f\\x03[\\x9fuYe5^\\xd8\\xb4\\x0f\\xben\\xaexw\\xd2\\xc8\\x06[\\xa1\\xbf;r\\x06\\x87S\\xb3\\x811\\xf7\\x03!\\xf2\\x03\\x81m\\n\\xac\\x93\\x9b\\x81\\xf8C\\xc0\\xa4\\xc7\\x00\\xdfzi)\\xf8\\xe7\\xa7L\\x00\\x00 \\x00IDATD~\\xac\\xa2,k\\x8e\\xac\\xd4\\xb3\\xf0\\xf3\\xba\\x0e\\xce\\x1a\\xf9\\x1bfZ+\\xb0\\xca*N\\xa0\\xaa:\\x1d\\xbf\\xcc|\\x15C\\xc55\\xc8lr\\x04V\\x9e\\xb6\\x18s\\x7f\\x7f\\x13\\xc5\\xfar\\xa9\\x80t\\x8fzL\\xff\\xb3\\xf1+l8\\x7f\\x00\\xff]<\\t\\xdd\\x07\\xcb\\x17w\\xad\\x11X\\x1f=\\xb6UZ&\\x14M\\xc9 \\xf7\\xca\\x8a\\xa30T\\xc65J\\xafJ\\x1f\\x03\\xb3\\xa9\\x14\\xee^\\xd7\\xa3\\xba2\\x0e&c.\\xa6\\xce\\xec\\x8a\\xf0v\\xf2\\x0b<\\xb7t\\x89P\\\\\\x90(\\xee,\\x8a<\\x8bv\\xcb\\xef\\xb3\\xd1\\xf6\\x1a\\xf9B\\xc3\\x96\\xc0:\\xf2\\xeen\\x9c\\xfe\\xf60n_{/B\\x06\\xd4\\xdd\\xa8\\x10\\xfb\\xd3qD\\xbf\\xb6\\x1d\\xa1\\x83\\xc2\\x91s\"\\x13\\xd7Fh\\x10hG\\x9c\\xb4=K\\x84\\xa7sL\\xc8(37\\x08\\xa4?\\x95cBf\\x99\\x19\\x91[\\xbf\\x85\\xc7\\xf5\\xb6\\xef{r\\x05V\\x9c\\xd70x\\\\\\xd3\\x0f\\x91;\\xeadW\\x90N/\\xfbc\\x1b2\\xe7\\xcc\\x97\\x12\\x94\\x8aD\\xa5M\\xb5\\x8a}\\'\\x90j\\xdd\\xf8\\xb2\\x0c@\\x9d\\x1c\\x12\\x8d\\t\\xac7\\xfeWf\\xe9\\x95\\x0e\\x81\\xdf\\xc2\\xdf\\xa3\\xf9Df\\x8d\\x194[*q.{\\x10\\xd4N\\x1e\\xe8\\xd6f\\xc7\\x15\\x89F3\\xa5D\\xa3\"\\xae\\xabg\\xd8Q8\\x89\\x1aaW\\xb4\\xec\\xd2\\xf7\\x91S\\xf61\\x06twF\\xb8\\x8c\\xd26\\xb6\\xee\\x1f\\xf6\\x08\\xac\\xf8T#\\x12\\xd2L\\xb8\\xe5\\xd5\\x01\\xe81V\\xfe.\\x98\\x9ak0\\x19\\xccX\\xfb\\xca\\t$\\x1f\\xcd\\xc7\\xe4W\\x06\\xa0\\xfbhy7\\x99\\x03K.\\xe2\\xe0\\xcf\\txs\\xca\\x0b\\x18\\xdfSZ\\xc3\\xb5\\xab\\x1dK9\\x8d~\\xedz5\\x08d/\\xd0\\x16\\xe2\\xde\\x1fE\\xd1\\xecb\\xfc1o\\x89\\x94\\xe9\\xbd~S*MC\\xfd~m-\\x11~\\xf1m\\x11\\x16..\\xc6\\x90\\xcf\\xda\\xa2\\xdd-\\r3\\xb1\\xdb\\x02P~\\xa9\\x1a\\xeem5\\xd0\\xd4\\x8b\\x1b+O\\xac\\xc6\\xde\\xe9\\xa90W[0aog\\xb8\\x064\\x8c\\x8b8\\xffi\\x01.|U\\x80\\xf0\\xc8E\\xf0\\xf5\\xb3\\xdf\\xb7\\xc5,\\xd5\\xa5\\x0b\\xd7HK\\x03\\x1d\\xbbn\\xad\\xadch\\xb1\\x98\\x90\\x99\\xfa \\xcaJ\\xffB\\xbb\\x8e\\xbf\\xc2\\xdb\\xa7n\\xf9\\n%\\xd34\\x1cZ\\xbe\\x1a\\xfa\\xf2r\\\\w\\xcf\\x0c\\xb8\\xb8\\xdb\\x8e\\xb5\\x11\\x81\\xf0\" \\xbe\\xcb\\xc4\\t\\x08\\xea\\xde\\xcd\\x16\\xde\\x06\\x7fO\\xd9\\xbd\\x179\\xa7c\\x1aM\\xf3\\x90u\\xfc\\x04\\xd2\\xf6G\\xa3\\xfdu\\xc3\\xd1vH\\xc3\\x12X\\xe9\\x07\\x0f#\\xf3\\xc8Q\\xcc\\xbb\\xa6/\\x86\\xb5\\x97\\xf7\\x9d\\xb0u\\x81B\\\\}\\x19}\\n\\x89\\x85%\\xf8\\xf7\\xf0\\xfe\\x18\\x1c\\xd10W\\xd0\\x9a\\xd8K\\xd8p>\\x11\\x18~\\x07\\x10i\\xc7\\x0f\\x17[K\\x84\\xc5\\xd9\\x80H\\xd5 \\x92\\x89^\\'6\\x0b]\\xbe}f]\\x04\\xf6\\xfejM\\xd1 \\x96\\x10c\\xf7\\xc0\\xc7c0\\\\]\\xe4\\x0b\\xda\\xd6\\n,\\x91OK\\x94\\xda\\xf9h\\xf2\\xe3\\x98\\xdcC\\xfe\\x8f\\x07[\\x02+\\xbb\\xac\\x00\\xf7\\xfe\\xfe&D\\xde\\xab\\x1fg\\xbc,\\xc5\\\\\\xd5o_\\x1cX\\x89\\x85\\x87\\xfe\\xc4\\xbf\\xde\\x1d\\x85k\\'\\xca\\x9f\\x19nN`\\x89L\\xedI\\xe7\\n\\xd0m`hm>\\xd7\\x1a\\xbb\"5\\x83\\xc8\\xf2.\\xe2\\xbd*\\xca\\xab\\xedH\\xd3`\\xed\\xc1V\\x0cVS>x\\xe5\\x12\\xa1\\xaet\\rt\\xa5\\xeb1ar\\x07D\\xf5\\x90\\xff\\xe3\\xc1\\x96\\xc0\\xca\\xcb\\xad@p\\x88G\\x831\\x8b\\xa5A\\xb1D\\xe8\\xe5\\xe5\\x0c\\xad\\xd6\\x801_LA\\x97)\\xf2\\x85\\xb4-\\x81U\\x9cP\\x80U7-Ap\\xdf0L^>\\x0b\\x1a7\\xeb\\xecQU\\x89\\x1e\\xab\\'\\xff\\x84\\x8a<-z\\xcf\\x19\\x88\\x98\\xef\\x8fb@\\x98\\x1a\\xe1\\xde\\xf2\\'A\\xe4\\n,\\xbd\\xd1Z6\\xc7\\xc7\\xc5\\t##\\xeb\\x86\\x14\\xc4_.\\xb7\\x13\\xfe\\xf3[\\xf0\\x99n\\xbb\\xbe.R&\\xf4\\xfc\\xdc\\n\\xe4d\\xe9\\xe0\\xee\\xa1A\\xbf\\x81!8| \\x0b\\xd7\\xbe<\\x06}\\x1fjP\\x99\\xa5\\xc9\\xa7\\xb3-\\x81%N<\\xf3\\xfd\\x11\\x1czk\\x17\\xbc\\xdb\\xf9\\xa1\\xc3\\xb8\\xae\\x10\\xa5s\\x92\\xb7^\\x84\\xbe@\\x87\\x11\\xaf\\x8f\\x83\\xc6\\xc3\\x19{\\x9f\\xdf$\\xa5M\\x10\\xe9\\x13\\xe46\\xb9\\x02+6\\xcf\\x84\\x94\\x123\\x06\\x86\\xa9\\xd1\\xb6\\x9e\\x80K/5#&\\xd7\\x846\\xef=\\x85\\x80\\'g\\xcb5m;\\x0f\\xd6\\xa6\\xfdH\\x9f\\xfe\\x1cT\\x9e\\xeeR~-\\x97N\\x110\\x95j\\xa1\\xfdk/*c.\\xc2\\xf7\\xae\\x89h\\xfb\\x83\\x98sj\\xba\\x15}\\xbe\\x0c\\xb9/J\\xab\\x16\"\\xb3z\\x9d\\xdd{\\x8a\\x97\\xca\\xa9\\xb9\\x8c2\\xfdv\\xe4\\x94\\x7f\\x0e}u,\\x9c\\x9c\\\\\\xe1\\xe1\\xd2\\x1b\\xa1>\\xcf4\\xb9\\xec\\xa8D\\xa9\\x9c+\\x11\\xd8#\\xb0Z[*\\xa7&\\xddBs\\x1fB\\xf7\\x1b\\xdb\\xe2\\xd6\\xd7\\xebf\\xc2N=Q \\xa5rhi\\xa9\\x1c\\x91\\x9a\\xe1\\xaf3;\\x90\\x98\\x9f\\x82\\x92\\x8aR\\x98,f\\xf8{\\xf8\\xa2ox\\x0fL\\x1bt\\x0b\\x06\\xb4k:\\x1f\\x8e\\xd2\\xa5rj\\xc6nK`\\x1d:\\xaa\\xc7}\\xad(\\x95#f\\xaa\\x12\\xbe/D\\xd1\\xe9J\\xe8\\xf3\\x8c0\\xe9\\xccp\\rR#h\\x98\\x87\\x94\\x19\\xde\\xafg\\xd3\\x01\\xbeJ\\x94\\xca\\x11\\xe3\\xac\\xac<\\x8f\\x82\\x9c\\x8f\\xa0\\xd3\\x1d\\x84\\xd9T\\x0e\\x17\\xd7\\x0e\\xf0\\xf3\\x9f\\x89\\x80\\xe0\\x7f5\\xbasL\\xa9R9\"\\xe5ByA!\\xae\\x15\\xe9\\x1e\\xea\\xc5C5\\xe5{\\xad-\\x95#\\xfa\\xad\\xd6j\\x91y\\xf4\\x18JS\\xd3PU\\xae\\xb5\\x16{\\xf6\\xf5E`T\\x14B\\xfb\\xf7\\x85\\xaa\\x89\\x9d\\x91\\xad-\\x95#l\\x8b\\\\X\\x07S\\xb2\\xa4\\xa4\\x98>n.R>,\\xb1\\x83\\xb0s3;{\\xec*\\x95c\\xaf\\xc0\\x12O\\xbc\\x8b\\x87\\x80K\\'\\xac\\xf1X\\xae\\x1eV\\xa1\\xd5w\\x8cu\\xf6J\\x08\\xac\\xdd?\\xc9*\\x95\\xa3\\xa4\\xc0\\xb2\\xa7T\\x8e\\\\\\x81UQ]\\x89\\x81\\x9f\\xcf\\xb5\\xf90\\x9b3h\"~9\\xb1YV\\xa9\\x9c+;kN`\\x89\\xf4\\x04[\\x97\\x9d\\xc3\\xc9=\\xa9R\\xb6\\xf6\\xf2\\x92*h\\x9cU\\xf0\\x0f\\xf6@\\xafa\\xe1\\x988\\xa77\\xf22\\xca\\xf1\\xfe\\xbc\\xcd\\xb2J\\xe5(-\\xb0\\xec)\\x95c\\x8f\\xc0\\x12Y\\xdfcO\\xe7\\xa3\\xb0\\xb0\\x12\\x15Z\\x03\\xcc\\x16\\xc0\\xc7\\xc7\\x05\\x1d:\\xf9H\\x99\\xdd\\x0b\\x0b*e\\x97\\xca\\xb9\\xd2\\xae\\x1c\\x81%\\x8eO\\xd9\\x96 \\t\\xad\\xc2\\xf3y0\\x9b\\xcc\\x08\\xec\\xd9\\x06\\xfd\\xe7\\rC\\x87\\tQ\\xb0\\xa7T\\xce\\x95\\xb6\\xe5\\x08,Q\\x93pg\\x92\\x01\\xae\\x1a\\'\\x8c\\xee\\xa8i\\xb0\\xec_\\x93\\x17KN\\xa9\\x9c+m\\xdb\\x9a\\xc1\\x12\\xc7\\xea\\x8f\\x9cE\\xe1\\xa7K\\xa5wSA\\xb1T\\xec\\xd9%*\\x12\\xfe\\xf3\\xee\\x84\\xcf\\xb4\\xb1\\x7f\\x97\\xc4j\\xe2\\x9b`o\\xa9\\x1c\\xd1M\\xab\\x8a=\\xdb\\xfcF6q\\x80\\x12\\xc5\\x9e[j\\xbb5\\xc5\\x9e[jS\\x9c\\xd7\\x9ab\\xcf\\xad\\xb1+\\xceU\\xb2\\xd8\\xb3=\\xd7\\xd2\\xdab\\xcf\\xf6\\xd8\\xaa\\x7f\\xac\\x12\\xc5\\x9e[b\\xbf5\\xc5\\x9e[b\\xef\\xcasZ[\\xec\\xb95\\xf6[S\\xec\\xb95v\\xed*\\xf6\\xdc\\x1aC\\x8d\\x9dkG\\xb1g%M\\xdbS\\xecYI\\xbb\\xa2/{\\x8a=+i\\xfb\\xf5\\xd9\\xebe\\x17{V\\xd2\\xae\\xe8\\xcb\\x9eb\\xcfJ\\xda^\\xb9\\xf4\\x82\\xecb\\xcfJ\\xda\\x15}\\xd9S\\xecYi\\xdb5\\x81\\xeer\\x8a=+m\\xbb\\xa9\\xfeZR\\xecY\\xf4\\xf5\\x1f\\x00\\x1f\\x04y\\xcdE;\\xff\\xe6\\x0b+*9\\x90\\xbc\\xf2\\xaf\\x91Y\\xb2\\x00\\x91aj\\xf4\\xe9\\xd2\\xf2m\\xdd-\\xb9&Q*G\\x94\\xcc\\xe9?%\\x12\\xe3\\x9f\\x95\\x9f\\t\\xb9%\\xb6\\xea<\\xfc\\x96\\'a\\xcf7q\\x98:\\xf0f\\xbc0\\xa1\\xf9\\x82\\xa5\\xad\\xb5U\\xff\\xfc_\\x8f\\xac\\xc2\\x97\\xbb\\x96`\\xe64\\x1f\\xbc\\xfe\\x92\\x1d\\t\\x19[y!K\\x96\\x96\\xe0\\xc3\\xcf\\x0b\\xd1i\\x96\\x1f\\xfa7\\x91\\x14\\xb4\\x95&\\x9a<\\xbd&\\x10\\xde?p.\\xc2\">\\xbcZf\\x1a\\xf4[\\x98\\xf7\\x15r\\xb3\\x17 \\xa2W\\x0ft\\xbf~\\xb8\\xc3\\xec\\nC\\xa2\\x9c\\x8e(\\xab#rXu\\x1c3\\xda\\xa1\\xb6\\xb3\\x8e\\x9fD\\xda\\xfe\\x03\\r\\n6_\\xed\\x8b\\xd8\\x12\\x9f\\x8c\\x951\\x17\\x9b.{s5/ \\xee\\x00pz\\x1b\\xdc];\\xc2\\xcb]F\\xa9\\x1e\\x85\\xaeE\\x94\\xca\\x11%sf\\xf6\\x1f\\x87\\xd7\\xc7\\xd5\\xdd`\\xa4\\x90\\x89&\\xbbYrt\\x03>\\xdc\\xbb\\x0c7\\xde\\xd9\\x03s\\xe7;\\xce\\xbf7\\xfd|\\x16+>=\\nw\\xaf\\xd1\\xf0\\x0e\\x98s\\xb5\\x87Y\\xa7\\xff\\x8a\\xb2\\xcd\\xd0\\x96\\xacD\\x9f\\xfeA\\x185N~\\xc0yk/\\xf2\\xe4\\xd1\\\\D\\xef\\xcdD\\xcf\\xbb\\x07b\\xe4\\xdb\\xf2\\xe3\\x91ZkW\\x9c\\x1f\\xb3\\xe8\\x88\\x94\\xe9=\\xd2O%\\x15qvdK,6#.\\xdf\\x04\\xff\\x87\\xa6!\\xf4\\x8b:\\x15i\\x1cy\\x19ul\\xe5<\\xf1\\x1e\\x8a\\xbf_-\\xfe\\xedy\\x00\\r\\x1e(M\\xe5C\\xe8\\x00\\xa8\\xce\\xab\\x9c\\xdc\\xdcEMAW\\x8d\\x1d;qZ1\\xd4jc:\\xe2rF\\xc0IU\\x85\\x1b\\x06:\\xc3\\xc3\\xad\\xf5\\xe9\\x1a\\xe4^\\x8e(\\x12\\xbd\\xf7\\x94\\x01N\\xce*\\xdc\\xf7\\xe3\\xf5\\xf0k\\xab\\xec\\x0e\\xb7\\xa6\\xae\\xa34G\\x8f\\x1f\\xe7\\xec\\x83\\xda\\xac\\xc1\\xb2\\x07\\x16\"\\xdcO\\x99``9\\xe3\\xce.\\xcd\\xc5]\\x8b\\xe7\\xc1Im\\xc0\\xba\\xe5\\x11h\\x17!?\\x87\\x8d\\x9c\\xfe\\x9b:&3\\xdb\\x88\\x9b\\xa7\\xa7\\xc1\\xe8\\xe4\\x841\\x1b;\\xc2\\xb3\\xbdc\\xec\\x8a\\xeb\\x11\\x89H\\xb7OH\\x81\\xa5\\xda\\x15\\x9d\\xba\\xed\\xad\\rTo\\xcdx\\xe4\\x9ck\\xa8NGb\\xfc\\x088\\xa9\\x8d\\xb8f\\xfamp\\xf7\\xb1?\\xc0_\\x8e\\x9d\\xc6\\x8e\\xa9,\\xd7\\xe2\\xd0\\x8a\\xd5\\xd2Tw\\x9f{fI\\xcb{\\x8ejUee8\\xf3\\xcb\\xaf\\xd0X,X0~\\xb8\\x94\\xc3\\xca\\x11\\xad@\\xa7\\xc7\\xfc\\xad\\xd10\\x88\\xcd4\\x13\\xff\\rx\\xd9\\x1f\\xef\\xd7\\xe2\\xeb\\x14\\xb1\\\\\\x1b\\xbf\\x84\\x93\\xd9\\x02\\x7f\\xef\\xd1P\\xabZ\\x9e\\xfa\\xc5\\x9ek\\x10q\\\\%\\xe5\\xbb\\xa4\\x9cc\\xeb\\xe6\\xbe\\x8fv\\xf5\\x0bR\\xdb\\xd3\\x99\\x9d\\xc7\\x8aX\\xae\\xc9?=\\x0b\\xb3\\xda\\x82\\xb7\\xff\\xb8\\r!\\x11\\x8e\\xf1o\\xb1\\xcc\\xf8\\xe2\\xed\\x7f\\xc2`P! \\xf4\\r\\xa85\\r\\x8b\\x8e\\xdb9\\x14\\xd9\\x87\\x8b`\\xf9\\xe2\\x9c\\xf9P\\xab\\x8d\\xb8kn\\x0f\\xf8\\xfa\\xd9\\x91sM\\xb6\\x95\\x86\\x07\\x8a@\\xf9\\xdf~\\x8a\\x83\\xc8\\xf6y\\xc7\\x96\\x07\\xe1\\x13i\\x7f\\xfa\\x95\\x96\\x9a\\x17K\\x8d+\\xc7|\\x07T\\x1b\\xa5~\\xdc\\xea\\xdb>\\x81\\x0f\\xc1\\xcd\\xd3qK\\x94\\xd5\\xfa3(\\xc9\\xb7V%\\x197\\xa9\\x03\\xba\\xf7r\\xcc\\x8fT\\x91\\x0fK\\xe4\\xc5\\x12m\\xf4\\xa7\\xb7 j\\xaa\\xe3\\xc2Z\\xd2v%b\\xf3}\\xd6d\\xca\\xfdC\\xd5\\x88\\xf0\\x91\\xbf\\xa3\\xb0\\xa5\\xbeUs^\\x9e\\xce\\x82\\xa3\\x99F\\xe9\\x7f\\xdb.^\\x00\\xdf\\xd9B\\xa68\\xbe\\x95.\\xdb\\x84\\xac\\x07_\\xab1|3\\x80M\\x8d]\\x85\\xad\\xf9\\xbdW\\x00\\xbc\\xa1Vy\\xa3W\\xd8i\\x88wG4\\x91\\x0fK\\xe4\\xc5\\x125\\t\\xc7\\x0eS\\xa66\\xa1\\xdc\\xeb\\x16\\xf9\\xb0D^,WO\\r\\x1eY5FzwD\\x13\\xf9\\xb0D^,OW\\x0flxt\\xa9\\xf4\\xee\\xa8\\xf6C\\xf4o\\x10y\\xb1\\xbc\\x9a|\\x83\\xf4\\xee\\x88&\\xf2a\\x89\\xbcXRM\\xc2)\\xcf\\xd9W\\x9b\\xb0\\xb5\\x17\\x18\\xbb\\x078\\xbbK\\xdaY\\x1a\\xe8s\\x93]\\xb5\\t[cZ\\xe4\\xc3\\x12y\\xb1\\xbc\\\\\\xdd\\xb1\\xe7\\x91\\x85\\xf0R\\xb8\\x0cWs\\xd7&\\xf2a\\x89\\xbcX\\xee^.\\xf8l\\xcb\\x0c\\xe9\\xdd\\x11m\\xddw\\xa7\\xb1z\\xe1\\t8\\xa9\\xdc\\x11\\xd4\\xf6c\\xe9\\xddQM\\xe4\\xc3\\x12y\\xb1\\\\\\\\\\xd5\\xb8\\xef\\x91\\xdev\\xd5&l\\xcd5\\x1e;\\x94#\\xa5lp\\xf1v\\xc5\\xec\\xc3\\x8f\\xc2\\xc5\\xcb1K\\x94\\xe2\\x9aO~\\x11\\x8dc\\x1f\\xef\\x93j\\x12\\x8e\\xedd_m\\xc2\\xd6\\x8cY\\x9c\\x9bPh\\x86\\xc8\\x8b\\xa5\\xf2\\xf1D\\xd7\\x84\\x8d\\xd2\\xbb#\\x9b\\xb9L\\x87\\x84\\xae7C\\xbc_\\xce{%\\xf2_5\\xdal\\t,q\\xd2\\n\\x003\\xdc\\x9d{\\xa3{\\xe8.\\x87\\x8d#\\xa5\\xf0a\\x14W\\xac\\x85\\x8f\\x97\\x13\\xae\\x1f\\xe0\\x98/i\\xcd\\xe0j\\x8a?\\x87t\\xf5\\xc1\\xdc%\\rK\\x80\\\\-\\x08\\xeb_?\\x85\\x0b\\xbb\\xb2\\x10\\xd5\\xa63\\x96\\xde\\xff\\xd5\\xd52\\xd3h\\xbfc?\\xbd\\x13\\xe5\\x95Z\\xf4\\xe8\\xe6\\x8a5\\xcb\\x1c3s\\'.\\xe4\\x99\\x97r\\xb1i\\xbb\\x16\\xbe=\\xdd0f\\x83cb\\xfdj\\x00l\\x18\\x90\\x00C\\x99\\tn\\xee\\xbd\\xd1)j\\xb7\\xc3xg\\xa4>\\x84\\xb2\\x92\\xb5\\xf0\\x0e\\n\\xc4\\xb0;\\x1d\\xbb\\xa4\\xb1\\xff\\x97\\xe5\\xa8\\xd2U\\xc038\\x18}\\xee\\xbe\\xcbac\\x16\\x86\\x8e/\\\\$\\xd5.l\\xef\\xe7\\x8d\\xd7\\xc7;n\\x96\\xe1\\xdbC18\\x9a\\x9e\\x03\\x88\\x84\\xbb\\x8d\\xd5\\x11\\xbc\\x9a\\x14V\\xbf\\x0bT\\xeb\\xa1Q\\xfbJ\\xf1X\\x8eje\\xbac\\xa82dJY\\xd7\\xd7\\xdc\\xfb\\x9e\\xa3\\xccJv\\x86~\\xf1\\x00\\xca\\xaat\\x88\\xec\\x16\\x887\\x7fw\\x9c\\x7f\\x7f\\xfd\\xc2n\\x1c\\xd9\\x9a\\x04\\x8dK{\\x04\\x84.p\\xe8\\x98\\x0b2\\x9f\\x86\\xd9T\\x82\\xe0\\x10w\\xcc\\xbc\\xb7\\x87\\xc3lo\\xd9\\x90\\x8c\\x84\\x0b\\xc5\\xf8\\x7f\\xed\\xddil\\\\\\xd7y\\xc6\\xf1g\\x863\\\\\\x86\\xa4(.\"\\xb5/\\x91%\\xc7\\x96#A\\xde\\xe2-q\"/\\xb1]#J\\x8c\\x18\\x04Z\\x14(R\\xc0\\x88\\x8b\\xa6E\\x80\\xb6\\xe8\\x82\\xe6C\\x8c\\xb6i\\\\\\xc0ub\\xd4\\x86\\xd3\\xd6\\xfd\\x10\\xa4Hl\\xd8f\\xa0Jv\\\\;\\x8b-y\\x95T\\xdb\\x92%Q\\xb4\\xb5q\\x11wq\\x99\\x8d3\\x9ci\\xce\\xbd\\xc3\\x11)\\x93\\xe6\\x8c\\xe6%\\xd5\\xe5?\\xc0\\x05\\xbd\\x90\\xef\\xe1\\xfd\\xcd{\\x87\\x0fy\\xce\\x9c\\xdb\\xb8\\xa5E_\\xdb\\xfd\\xf5E\\x1b\\xd7\\r\\xf4\\xd4\\xd6G41\\x92\\xf0\\xee\\x17\\xe8\\xd6c-\\xe6\\xe3\\xc5\\x8e\\x94R\\x19\\xa9r\\xdbfmx\\xc3m\\xa0\\xbex\\x8f\\x137\\xfc\\x8e\\xb7G\\x96\\xa4\\x9f\\xb8\\xbb\\x16}\\xd2\\xc8\\x85\\x04,\\xf7\\xf5\\x87\\xdc\\xac\\xc6b\\xae\\xc7\\xea\\x19yXgG\\xfdE\\xf9\\x8b\\xb9\\x1e\\xab\\xfdTZ\\xed\\xa7\\'\\xdd\\xb0II\\x15\\x8b\\xb9\\x1ek\\xefS\\xed\\xda\\xfb\\xd4q\\xef\\x9c\\x17s=\\xd6?\\xbf\\xf6#\\xfd\\xf0U\\xafI\\xbds^\\xcc\\xf5X\\x8f=9\\xa4\\xc7\\x9e\\xf4o`\\xba\\x98\\xeb\\xb1\\x8e|\\x7f@G\\x1e\\x1d\\xc8\\x9f\\xf3b\\xae\\xc7\\xea?\\xfb\\xb0\\xfa{\\xfdw\\xe7.\\xe6z\\xac\\x8f\\xde9\\xa0\\x8f\\xde>\\xe8\\x86\\x1d\\x97T\\xb3\\x98\\xeb\\xb1:\\xdfxS\\x9d\\xaf\\xbb[u\\xf9=\\xb6\\x98\\xeb\\xb1\\xda\\x0ew\\xa8\\xed\\xb0?\\x9d\\xb2\\xa8\\xeb\\xb1\\xde\\xff\\x85t\\xc8\\x0b\\xee\\xde9/\\xe6z\\xach\\xe2\\xa8b\\x89\\xa3\\xde)/\\xe6z\\xac\\xc7\\xf6=\\xa3\\xc7\\xf6>\\x93?\\xe7\\xc5\\\\\\x8f\\xf5\\xdc\\x13\\x07\\xf4\\xdc\\x13^\\x7f/\\xeaz\\xac\\xe8\\xc8\\xf3\\x8a\\x8e\\xb4\\xe5\\xaf\\xab\\xc5\\\\\\x8f\\xf5\\xd6\\xbe\\x1e\\xbd\\xb9\\xd7_j\\xb1\\x98\\xeb\\xb1\\xde\\xf9\\xc7\\xd7\\xb4\\xff\\x91W\\xf3\\xcf\\xf3b\\xae\\xc7j\\x1f\\x9cT\\xfb`&?\\xf6b\\xae\\xc7\\x9a\\xb6\\xee\\xea\\xb0{5\\x99/\\xd6\\x15\\x1a\\xb0\\\\\\x1d\\xb7\\x99\\xb2\\x96T\\xde\\xa1\\rM\\xff\\xa2`\\xa0\\xf0;\\xb6\\xcf\\xf7ML\\xff\\xff\\xeeV;\\'\\x06~_\\xa3\\x89\\x97f|YsCP\\xd7\\\\\\x11V\\xd9\\x02\\xcd\"Mf\\xa4\\xfdGRr\\xeb\\xb0r\\x0fg\\xe3\\x9d\\xf3\\xc6\\x1b\\x9b\\xb5\\xf3;W+T\\xb10\\x0b\\xfa\\xd2\\xc9I\\xb5}\\xfb\\x80>|\\xbdo\\xc69\\xdf\\xbc\\xf1z\\xfd\\xdd}\\x7f\\xa5\\x8a\\xd0\\xc2\\xfc\\x05/\\x99\\x9e\\xd0_<\\xfb7\\xde\\xce\\xef\\x17\\x9e\\xf3\\xad\\xb7D\\xf4\\xe8\\xdf/We\\xeen\\xe6\\xc5<\\x87\\x85|\\xeex4\\xa3\\xdf}\\xa0[\\xee\\xbe\\x86\\xd3\\x1f\\xcb\\xbfX\\xa3\\xcf>\\xb6Je\\x0b\\xf4\\x0e\\xd2\\xc9DVo\\xfea\\x97\\xdc\\x8d\\xa1/<\\xe7\\x9a%wh\\xcd\\xba\\x7fU \\xb80\\xbd\\x9d\\xcd$t\\xe6\\xd4\\xd7\\xe5\\xd6bM\\x7f4\\xad[\\xa3\\xadw\\xde\\xe6m\\xe0\\xb9\\x10\\x8f\\xf4\\xc4\\x84\\xf6\\xb7\\xed\\xf66)\\xbd\\xf0\\x9c\\x97nX\\xaf\\xcd\\xf7\\xde\\xa3`ha~\\x03\\xcd\\xa4\\xd3j\\xdf\\xb5[n\\x1d\\xd6\\x85co]\\xb1\\xcc\\xbb\\xddM\\xf9\\x02]\\xd4\\x13\\x93\\x19\\xfd\\xd3\\xbe\\xff\\x92[\\x8b5\\xe3\\xb1r\\xb3tK\\xabT\\xb6@\\xef^\\x9dLI\\xaf\\xfdDr\\xeb\\xb0\\xfcG\\xfe\\xb5\\xa4<\\xdc\\xa2%\\x91\\xeb\\x15\\x08,\\xccs\\xedn\\xdb4\\x1a{Kn-\\xd6\\xf4\\xc7\\xad\\x9f\\xda\\xaeGw~K\\x95\\x0b\\xf4Z\\x92HO\\xe8\\x8f\\xdb\\x1e\\x91[\\x87u\\xe19o\\xfb\\xdc\\x1a}\\xf3\\x1fn\\xf3\\xa6\\xd0\\x16\\xe21\\x91\\x9c\\xd4\\x0f\\xfe\\xe4e\\xb9\\xb5X\\xd3\\x1f\\xe5U\\xdbT\\xd7\\xf4\\x07\\n\\x04\\x16\\xe6\\xf53\\x9b\\x89k\\xb8\\xef\\xbbJO\\x9c\\xfe\\xd89\\xaf\\xffT\\x9d\\xee\\xde\\xb9A!7\\x87\\xb6\\x00\\x8ft:\\xa3=m\\'\\xf2\\xf7&\\x9c\\x1ab\\xed\\x8e\\x8d\\xba\\xe3\\xf1\\xfb\\xf2\\xb7\\xba\\xb1\\x1e:\\x9dH\\xeb\\xa5\\x07\\x9f\\x95[\\x87u\\xe1\\xf3\\xdc\\\\\\x1d\\xd05+C*+&U\\x14\\xf1\\rNf\\xa5\\xfd\\xddi\\xb9uX\\x17\\x8e]s\\xd7-Z\\xfd\\xe3\\xef*P\\xb50\\xd3\\xa4\\xd9xR\\x9d\\xbf\\xfd\\xe7\\x1a\\x7f\\xe1\\xb5\\xe9c\\xcf\\xfb\\xdd\\x17K\\xe1~2\\xdc\\x1e\\n6i}\\xe3\\xe3\\xaa\\xad\\xbcu\\xde\\x01\\x8a\\xf9\\x84\\xb1\\xc4\\xaftr\\xf0A\\xa53\\xde_\\x16\\xfe\\xd3\\xad\\x1b\\xcc}\\xbd7nE8\\xa0\\xed\\x9f\\x0e\\xa9i\\xa9m\\xd3\\xba\\x9d\\xdc\\x0f\\x1eM+\\x99\\xf2\\x9e\\xb8\\xe9\\xe3\\xba\\x7f\\xf7\\xc6\\x8e\\xd4\\x97{\\xf7\\x19\\\\\\x7f\\xad\\xed;\\xdeN\\xbe3\\xa0]\\x0f\\x1dTlxb\\xd6s\\xae\\x8f,\\xd5wv\\xfe\\x99\\xae_?s\\x17\\xf8b\\\\g\\xfb\\xdc\\xb7N\\x1e\\xd4\\xb7\\xdb\\xbe\\xa7\\xe1\\xd8\\xb99\\xcf\\xb9\\xb1\\xa1L\\x0f?\\xd4\\xa2\\x9b>k\\xbb\\x9e\\xa1\\xed?\\xc6\\xf4\\xd0\\xf7\\x06\\xe4B\\xd6o\\xf6(\\x9c\\xfe\\x9b\\x80\\xff<7\\x96\\xe9\\xbaGV\\xaa\\xf9f\\xdb\\xb9u\\xb7\\x93\\xfb\\xdb\\xdf\\xeaVr\\xd0\\xfb\\x0b\\xe5\\xac\\xcfs(\\xd4\\xa4Uk\\x9fPu\\xadmoG\\xc7~\\xa5\\xae\\xd3\\xdfP:={o\\xbb\\xfb\\n^u\\xfb\\x17\\xd4\\xb0\\xdav\\x01xO{\\x87\\x8e\\xbd\\xfa\\xba\\\\\\xc8\\xba\\xc0:\\xdf\\xdb\\xe1H\\x95.\\xbb\\xfb.\\xd5\\xad]Sj[\\xcd\\xf8z\\xb7\\x93{\\xc7\\x9e\\x17\\x94\\x8a\\xc5\\xe7\\xf4^RQ\\xae\\x07n\\xd8\\xaa+[\\x1aM\\xc7v\\xbb\\xb9?\\xf9\\xc6{\\x1aM\\xce~]\\xa9\\xb2Z\\xba\\xf1k\\xd2\\xf2\\xc2\\xef\\x9dW\\xd07x\\xf6C\\xe9\\xf5g\\xa4\\x84\\xb7>c\\xd6\\x1e\\x0b\\x06*T[}\\xad\\xcaC\\xb6{\\xcf\\xb9\\xdd\\xdc\\xc7\\xa2\\xef(\\x93\\xf5~i\\xf9\\xd8\\xebgcd\\x89\\x1e\\xbe\\xf7\\x9b\\xbai]\\xe1\\xb7\\xb3)\\xe4\\x9c\\xf7\\x9dz_\\x7f\\xba\\xeb\\x07\\x1a\\x8cy7\\x80\\x9f\\xf5\\x9c\\x974T\\xe9\\xc1\\xbf\\xfd\\x82\\xb6\\xdc`\\xdb\\xdf\\x87\\xdf\\xe8\\xd6\\xe3\\x7f\\xf9K\\x8d\\x0e}\\xac\\xc7\\xbc\\xd7\\x92`\\xd9\\x12-i|@\\xe5\\x95[\\n9\\x95\\x82?\\'\\x11\\xdd\\xa7\\xb1\\xe1\\x1f\\xc9\\x85\\xac\\xb9\\xae+wk\\x9b/\\xdd\\xbbAk\\xd6\\xd9\\xae\\xef\\xcf.Co_\\x11RS\\x117\\x83.\\x04\\xdd\\xed\\xe4~\\xb0\\'\\xad\\xa4\\xf7\\xd2=\\xc7k\\xf7\\xb2\\x06\\xad\\xfc\\xb7\\x87T\\xbd\\xa3\\xf0[\\x08\\x152v\\xf4\\x95\\xb7\\xd4\\xfd{\\x7f\\xadt\\xff\\xd0lc\\x7fb\\x89b\\x03\\x96+\\xe6-|w\\xff\\xe0\\xa6\\x0c\\x1b\\xaa\\xef/y\\x9f\\xacd\\xfa\\xa4\\x86\\xa2O\\xe7\\xa7\\x04\\xe7X8\\x96\\x1f\\xd7M\\x19\\xaen)+y\\x9f\\xacX\"\\xab\\xce\\xde\\xc9\\xa9)AwJ\\xee\\xedt\\xb3-X\\xcb\\x8f\\xed\\xa6\\x0c\\xdd\\xbb\\x0bK\\xdd\\'\\xeb\\\\wL\\x87_\\xec\\xccO\\t\\xcew\\xcen\\xca\\xf0\\xee\\xabn+y\\x9f\\xac\\xaes=\\xdas\\xe8\\xe5\\xa9)\\xc1\\x82\\xce\\xd9M\\x19\\xee\\xbc\\xa7\\xb6\\xe4}\\xb2\\xcet\\xa6\\xd4\\xb6{,?%8\\xc7\\x1cv\\xde\\xdaM\\x19\\xae\\xfdJ]\\xc9\\xfbdEO\\xa7t\\xfa\\xf9\\x91\\xa9)\\xc1\\x82\\xce\\xd9M\\x19\\xd65\\xdc_\\xf2>Y\\x13\\x13\\'52\\xf4t~Jp\\xbe\\xe7\\xd9M\\x19\\xbaw\\x17\\x96\\xbaOV|tT.\\\\\\xe5\\xa6\\x04\\xdd9\\xcf\\xb5^ \\xef\\xed\\xa6\\x0c\\x9b\\xae\\xf8t\\xc9\\xfbd%FF4p\\xe4\\xe8\\xd4\\x94`A\\xden\\xca\\xf0\\xc6u+K\\xde\\'\\xabo<\\xa6\\xd7Ou\\x9f\\x9f\\x12\\x9c\\xfd\\x9a\\xce\\x9f\\xb37e\\xb8\\xc1\\xdd\\xa4\\xb9\\xc4w\\x7f\\x8d\\x0fI\\'\\xde\\x9d\\x9a\\x12,\\xe8\\x9c\\xdd\\x94\\xa1{wa\\xa9\\xfbdMf\\xa2JL\\x9c\\xc9O\\t\\xce\\xd7cn\\xcap\\xe7\\x95\\x9f+y\\x9f\\xac3\\xe7z\\xd5\\xf6\\xc1\\xabSS\\x82\\x05\\x9d\\xb3\\x9b2t\\xef.,u\\x9f\\xac\\xbe\\xceQ\\xed\\xdd\\xd5\\x91\\x9f\\x12\\x9c\\xef\\x9c\\xdd\\x16\\x0e\\xee\\xdd\\x85\\xa5\\xee\\x935\\x99\\xee\\x93\\x0bW\\xb9)\\xc1\\x82\\xae+7ex\\xf9\\x95\\r%\\xef\\x935r.\\xa9c\\x1f\\x0c\\xe5\\xa7\\x04\\xe7;g7e\\xb8\\xf9\\xabW\\x95\\xbcO\\xd6\\xe8\\xa9sj\\x7f\\xee\\xd0\\xd4\\x94`A\\xcf\\xb3\\x9b2t\\xef.,u\\x9f,w\\x9b\\x9d\\xce\\xd1\\xcc\\xd4\\x94`Ac\\xbb)Cw\\x0f\\xc1R\\xf7\\xc9r\\xfb\\\\\\x8d\\xfc\\xfb\\x9e\\xa9\\xad\\x18>i\\xec9C\\xd6\\xc5\\x04,W\\xec\\x1b\\x92\\x1ew\\xff\\x10\\x0cD\\xbc-\\x1c\\x1a\"\\xf7\\xab\\xba\\xe2\\xbaB\\x02a\\xfes\\xa2\\xc9\\xb75\\x14{ZC\\xd1\\x9f*\\x93\\xf5R\\xb1{\\xb8;L?1G\\xa1\\xfc\\xb8ee\\xf2\\xb6pX\\xdd\\x1cT}\\x91o\\x13\\x1d\\x1e\\xcd\\xa8\\xb3\\xcf\\x1d\\x93\\x9a\\xf4\\x13\\xf1|\\xe3\\xce8\\xe7pU\\x99\\xb6\\xdc\\xb9Z[\\xbe\\xb4J\\xee&\\xce\\xc5<\\xba\\x0e\\r\\xeb\\xf0\\x8b]:\\xfc\\xf3N\\xa5\\xe2\\xf9\\xc1\\x0b:\\xe7\\xaap\\xa5\\xee\\xfe\\xccm\\xba\\xfb\\xaa\\x1d\\xda\\xba\\xaa\\xf0;\\xa9\\xbb\\xef\\xef\\xbd\\xae\\x0f\\xb4\\xe7\\xd0+\\xda\\xf3\\xfe\\xcb\\x8a\\xa7\\x12E\\x9fs\\xa4*\\xa8/\\xdfS\\xe3m\\xe3\\xb0}kqSh\\x07\\xdfK\\xc8\\xfd\\xd5\\xeag\\xbb\\xc7\\x15\\x8b\\xe7\\xa7`\\xe7\\n\\xb33\\xacC\\x91\\xa0\\xd6~e\\x89\\xd6|\\xb5N\\x8dW\\x17\\xf7\\x97\\xb4\\xc1\\x03q\\x9dynD\\xa7\\x9f\\x1fU:\\x96\\x1f\\xf7\\x93\\xacg\\xf6v0\\xe2m\\xe1\\xe0\\x8eHuq\\xbd\\x1d\\x8b\\xbe\\xad\\x91\\xe1\\x9fzG&Sdo\\x87CZ\\xb1y\\x93Vl\\xde\\xa8\\xba\\xe5-\\xc5\\xb4\\x97F\\xce\\xf6\\xaa\\xa7\\xfdC\\xf5\\xb4\\x1f\\xd7d\\xca\\x7f;\\xf3|\\xeft\\x99q=\\x87\\xc3\\xde\\x16\\x0e.h\\xd5\\xae,n_\\x1fw\\x03h\\x17\\xac\\xfa\\x8f\\x1cU&\\xe5ow2\\xcf\\xf5<\\xc3\\xbb\"T\\xa6\\x9b\\xd6\\xad\\xf4\\x82\\xd6eM\\xc5m\\x9e\\xd81p\\xce\\x0bV\\xfbNu+\\x99.\\xee\\xba\\x92\\x9b6[\\xbf\\xcd\\x0fZME\\xee\\xc8=p\\xda\\x0fV\\'\\xdf\\x95\\xd2\\xde_\\xcb\\x8a:g\\xf7\\x0eC\\x17\\xb2*\\xc2k\\x14\\x0e\\x15\\x17\\xf2R\\xe9!%Sg\\xbcp\\x95\\xcd\\xe6\\x9f\\xeb\\x82^K\"\\xe1\\n}y\\xcb\\xe7\\xbd\\xa0\\xb5}Uq{\\xfe\\x1d\\xecj\\xf7\\x82\\xd5\\xcf\\x0e\\xffZ\\xb1T~\\x8a\\xbf\\xe0\\xeb\\xaa\\xa2*\\xa4\\x9b\\xef\\xdd\\xa4\\x9b\\xef\\xdd\\xa8M\\xdb\\x8a\\xeb\\xef\\xe3\\xef\\xf6j\\xef\\xae\\x0f\\xb5w\\xd7q%\\xe3\\xc5\\x9d\\xb3\\xbb\\'\\xae\\x0bY\\xee\\x08\\x17q#n\\xf7\\x84\\xa6\\x92\\x1d^\\xb0rG\\xd6\\xff\\x0baQ\\xd7U8\\x1c\\xf4\\xb6p\\xb8\\xfc\\xcaF\\xadXU\\xdc_\\xe6{\\xba\\xa2:\\xf6\\xc1\\xa0\\x8e\\x1e\\x1eR\\xca\\xad\\xec\\x9e\\xbf\\xc7\\xf2?\\'\\xc3\\x91\\xb06\\xdd\\xf7\\x19o\\x1b\\x87\\x96kV\\x15\\xf5Z\\xd2\\xbb\\xbfK\\xed\\xcf\\x1e\\xd2\\xf1g\\xdfW*V\\xfc\\xf5\\xecf\\xfe]\\xc8Z]\\x1bT}UqQc8\\x9eU\\xe7X\\xc6\\x0bWn\\xf9N\\x01\\xe7<\\xf3\\xb5;w\\xf3fw\\x03\\xe7\\xaa\\x1b\\xb6\\x16u\\xde\\xee\\xf67#?\\xde\\xed\\x1d\\x99\\xa8\\xf7\\x17\\xcaB\\xae\\xe9Y\\xc7(\\xee\\xacg\\x96p\\x1bP\\xdc/\\x05[\\xa5\\x8c\\xf7\\x93oi\\xd5=\\xaa\\xae\\xb8^\\xa1\\xe02\\x85\\xcbZ\\x14.[\\xe1\\x1d^\\x83N\\xf6\\xe4\\x8e^\\xa53\\xfd\\x8a&\\xdf\\xd2\\xb9\\xf8\\xd4\\xd6\\x11\\xc1\\xb8\\x94q\\xbfa?=\\xd7~\\x12\\xd3\\x86\\xf6\\xc6\\rH\\xadY\\xc9\\x1bwy\\xa3\\x1f\\xb2*\\xca\\xa5\\xca\\xf2\\x80\\x7f\\xe4\\xd6\\x0e%\\x92Y%&\\xfc\\xc3\\xcd\\x16\\xb8pu\\xd6_ \\xe7\\x16F\\xc4\\xb3\\xfeo\\xf6\\x85\\x8c\\xeb\\xbe\\xc4\\x1f;\\x10h\\xcdf\\xb3\\xde\\xd8\\x9b?\\xbf\\\\+\\xaf\\xaaWu}\\x85j\\x9a\\xdcQ\\xa9\\xdae~\\x00\\x19\\xebOh|\\xc0\\x1dIE\\x87\\x93\\xea>4\\xac\\xf6_\\x9f\\xf5\\xc7\\x0e\\x04\\xe2\\xd9l\\xb6\\xd0\\xb1\\xbdq\\x83\\x81@k&7\\xae\\xbbA\\xb4\\x0bY\\r\\xd5K\\xd5T\\xd3\\xa8e\\xb5\\xfe\\xe1\\x1e\\xfdc\\x83\\xde10>\\xa8\\xa1\\xe89/\\\\\\xfd\\xf2\\xd8>\\xef\\xff\\x05\\x03\\x81x\\xa6\\xf0q\\xf3\\xe7\\x1c\\x0c\\xaa5\\x93\\xf1\\xbd\\xef\\xf8b\\xb5\\x17\\xb2\\x1a\\x1b\\xcb\\xd4\\xdc\\x14RKs\\x99Z\\x96\\x85<\\xd0\\xfe\\xfeI\\xf5\\r\\xa4\\xd570\\xa9\\xfe\\xfe\\xb4\\x0e\\xbc\\x9b\\xd0K\\xbf\\xf0\\xa6K\\x14\\x0c*\\x9e\\xc9\\x14\\xec\\xed[\\x07\\xd5\\x9a\\xcd\\x8d\\xbb\\xf2\\xceZ5^S\\xe5\\xdd\\xdc\\xb9\\xb29\\xa4\\xaa\\x96\\xb0\\xaaZ\\xfc\\xb5C\\xf1\\xde\\xb4\\xe2\\xbd)%\\xfa\\xd2J\\x0eLjp\\x7f\\\\\\xdd?\\x1f\\xf3\\xad\\x83\\x8ag\\x0b\\x1f7\\x7f\\xce\\xd3{\\xbb\\xb6\\xee\\xb7\\xbc\\x90\\x15\\n5+\\x14nQ(\\xbcB\\xe1p\\xae\\xb7S=J{G\\xaf\\xd2\\xe9>\\xb9p56\\xe2m!\\xe7\\xce\\xba\\xe8\\xdeV \\xd0\\xaa\\xdc\\xf3\\xdc\\xbca\\xbd\\xea\\x967\\xab\\xac\\xc1\\xd8\\x88\\x0ev\\x1d\\xd3K\\xc7\\xfd=\\xfb.\\xf6\\xb5$\\x10\\x0c\\xb4f3\\xfe9_\\xbbc\\xbd.\\xdb\\xd6\\xac\\xba\\xc6*-]\\x16Q}\\xb3;\\xfc\\x1e\\x1b\\xee\\x8bj\\xb8/\\xa6s\\xfd1\\x8d\\x0c\\xc6\\xd5\\xf1n\\x9f\\xdey\\xc5_\\xcb\\x17\\x08\\x06\\xe2\\xd9Lq\\xe7<\\xc3:r\\x8d\\xc2\\xe5\\x97\\xc9M!\\x06\\xcb\\x96\\xaa\\xac\\xac^\\xc12\\xff\\x97e\\xf7n\\xc0\\xc9\\xc9s\\xdeGw\\xa4&:\\x94\\x8c\\xed\\xbf\\x18\\xeb\\xfckI \\xa0\\xd6l\\xd6\\x7f\\xfd\\xdc\\xb8i\\xa9\\x96\\xaf\\xaaV$\\x12VuMX5\\xb5\\xfeG\\xf7\\x88\\x8e\\xa74>\\x96\\xf2>\\xc6b)\\x9d\\xed\\x8a\\xea\\xc3\\xe3\\xde2\\x0ew\\xcd\\xc7\\xb3\\xd9b_?\\xcf[o\\xb8\\xebr/dE\\x9a\\xaa\\x15i\\xa9QuK\\xad\\xaa\\x97\\xfb\\xd3\\x97\\xd1\\xb3c\\x8a\\xf6\\x8e)\\xd6;\\xae\\xd8@T.\\\\\\x9dx\\xe1\\xd8\\xc5X\\x9f?\\xe7\\xe9?\\xa3k\\xfc\\x90\\xe5\\xa6\\x10+C\\x01U\\x86\\xfc\\x8f\\xee\\x91Hg\\x95H\\xfb\\x1f\\xdd\\x14\\xa0\\x0bWg\\xc7K\\xfb\\x19\\xad`\\xb0U\\x19?\\x97\\xb8\\x1bD\\xbb\\x90\\x15jnPh\\xc52\\x85W.Sh\\xa5?=\\x9f\\xee\\xeeW\\xaa\\xbb_\\xe9\\x9e~\\xa5\\xfb\\x86\\xe4\\xc2\\xd5X[\\xee\\x1d\\xe5\\xc1\\xa0\\xdb\\xa1\\xbd\\xd0\\x9f\\xd1\\xb9\\xfe\\x98\\xf9\\xa1\\x94\\x805U\\xc9M\\xf4\\xde\\x9f;\\x8a\\xfb5_rW\\xaa\\x0b7\\xee\\xf8\\xd86\\xf3\\xb3~\\xc7\\xe7\\xff\\xe3\\xa5\\x1a\\xd7}\\x07\\x97j\\xecK5.\\xe7,\\xd1\\xdb\\xf3\\\\\\x90\\xbf\\xd9\\x9f\\xb7\\x94\\xeb\\x99\\x1e\\xa3\\xc7\\xe6\\xef\\xb0\\xd2z\\x8c\\xd7\\xcfB\\x84\\xcf\\x7f\\xce\\xff\\xd6\\xeb\\xf9R\\xbe\\x96\\xcc\\x10\\xb6\\x08X\\xd3\\x0b\\xde\\xee\\xdey>\\xcb\\xe1>\\xe7\\xa3Y\\x0e\\xb7@\\xcf\\xe2q\\xa9\\xc6u\\xdf\\xfb\\xa5\\x1a\\xfbR\\x8d\\xfbI\\xe7\\xec\\xde%\\xe0\\xf6\\x99\\xe8\\xc8=\\xd7\\xa7\\xdc\\xbd\\x86s\\x8b\\x12y\\x9e/N`\\xae\\xe7y\\xa1\\xad/eo_\\xca\\xb1\\xff\\'^W\\xbc~\\x9e\\xff\\xf9\\xb1\\xd0?3\\xfe/_W\\xff\\x1f{\\xfbR\\xbe\\x96xo\\x1f\\xe6\\x81\\x00\\x02\\x08 \\x80\\x00\\x02\\x08 `(@\\xc02\\xc4\\x7f\\x86\\x0b/\\x00\\x00\\nEIDAT\\xa4\\x14\\x02\\x08 \\x80\\x00\\x02\\x08 \\xe0\\x04\\x08X\\xf4\\x01\\x02\\x08 \\x80\\x00\\x02\\x08 `,@\\xc02\\x06\\xa5\\x1c\\x02\\x08 \\x80\\x00\\x02\\x08 @\\xc0\\xa2\\x07\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01c\\x01\\x02\\x961(\\xe5\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\x02\\x16=\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\x18\\x0b\\x10\\xb0\\x8cA)\\x87\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\x10\\xb0\\xe8\\x01\\x04\\x10@\\x00\\x01\\x04\\x10@\\xc0X\\x80\\x80e\\x0cJ9\\x04\\x10@\\x00\\x01\\x04\\x10@\\x80\\x80E\\x0f \\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\xc6\\x02\\x04,cP\\xca!\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x04,z\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x100\\x16 `\\x19\\x83R\\x0e\\x01\\x04\\x10@\\x00\\x01\\x04\\x10 `\\xd1\\x03\\x08 \\x80\\x00\\x02\\x08 \\x80\\x80\\xb1\\x00\\x01\\xcb\\x18\\x94r\\x08 \\x80\\x00\\x02\\x08 \\x80\\x00\\x01\\x8b\\x1e@\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x8c\\x05\\x08X\\xc6\\xa0\\x94C\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x08X\\xf4\\x00\\x02\\x08 \\x80\\x00\\x02\\x08 `,@\\xc02\\x06\\xa5\\x1c\\x02\\x08 \\x80\\x00\\x02\\x08 @\\xc0\\xa2\\x07\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01c\\x01\\x02\\x961(\\xe5\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\x02\\x16=\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\x18\\x0b\\x10\\xb0\\x8cA)\\x87\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\x10\\xb0\\xe8\\x01\\x04\\x10@\\x00\\x01\\x04\\x10@\\xc0X\\x80\\x80e\\x0cJ9\\x04\\x10@\\x00\\x01\\x04\\x10@\\x80\\x80E\\x0f \\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\xc6\\x02\\x04,cP\\xca!\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x04,z\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x100\\x16 `\\x19\\x83R\\x0e\\x01\\x04\\x10@\\x00\\x01\\x04\\x10 `\\xd1\\x03\\x08 \\x80\\x00\\x02\\x08 \\x80\\x80\\xb1\\x00\\x01\\xcb\\x18\\x94r\\x08 \\x80\\x00\\x02\\x08 \\x80\\x00\\x01\\x8b\\x1e@\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x8c\\x05\\x08X\\xc6\\xa0\\x94C\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x08X\\xf4\\x00\\x02\\x08 \\x80\\x00\\x02\\x08 `,@\\xc02\\x06\\xa5\\x1c\\x02\\x08 \\x80\\x00\\x02\\x08 @\\xc0\\xa2\\x07\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01c\\x01\\x02\\x961(\\xe5\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\x02\\x16=\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\x18\\x0b\\x10\\xb0\\x8cA)\\x87\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\x10\\xb0\\xe8\\x01\\x04\\x10@\\x00\\x01\\x04\\x10@\\xc0X\\x80\\x80e\\x0cJ9\\x04\\x10@\\x00\\x01\\x04\\x10@\\x80\\x80E\\x0f \\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\xc6\\x02\\x04,cP\\xca!\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x04,z\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x100\\x16 `\\x19\\x83R\\x0e\\x01\\x04\\x10@\\x00\\x01\\x04\\x10 `\\xd1\\x03\\x08 \\x80\\x00\\x02\\x08 \\x80\\x80\\xb1\\x00\\x01\\xcb\\x18\\x94r\\x08 \\x80\\x00\\x02\\x08 \\x80\\x00\\x01\\x8b\\x1e@\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x8c\\x05\\x08X\\xc6\\xa0\\x94C\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x08X\\xf4\\x00\\x02\\x08 \\x80\\x00\\x02\\x08 `,@\\xc02\\x06\\xa5\\x1c\\x02\\x08 \\x80\\x00\\x02\\x08 @\\xc0\\xa2\\x07\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01c\\x01\\x02\\x961(\\xe5\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\x02\\x16=\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\x18\\x0b\\x10\\xb0\\x8cA)\\x87\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\x10\\xb0\\xe8\\x01\\x04\\x10@\\x00\\x01\\x04\\x10@\\xc0X\\x80\\x80e\\x0cJ9\\x04\\x10@\\x00\\x01\\x04\\x10@\\x80\\x80E\\x0f \\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\xc6\\x02\\x04,cP\\xca!\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x04,z\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x100\\x16 `\\x19\\x83R\\x0e\\x01\\x04\\x10@\\x00\\x01\\x04\\x10 `\\xd1\\x03\\x08 \\x80\\x00\\x02\\x08 \\x80\\x80\\xb1\\x00\\x01\\xcb\\x18\\x94r\\x08 \\x80\\x00\\x02\\x08 \\x80\\x00\\x01\\x8b\\x1e@\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x8c\\x05\\x08X\\xc6\\xa0\\x94C\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x08X\\xf4\\x00\\x02\\x08 \\x80\\x00\\x02\\x08 `,@\\xc02\\x06\\xa5\\x1c\\x02\\x08 \\x80\\x00\\x02\\x08 @\\xc0\\xa2\\x07\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01c\\x01\\x02\\x961(\\xe5\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\x02\\x16=\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\x18\\x0b\\x10\\xb0\\x8cA)\\x87\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\x10\\xb0\\xe8\\x01\\x04\\x10@\\x00\\x01\\x04\\x10@\\xc0X\\x80\\x80e\\x0cJ9\\x04\\x10@\\x00\\x01\\x04\\x10@\\x80\\x80E\\x0f \\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\xc6\\x02\\x04,cP\\xca!\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x04,z\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x100\\x16 `\\x19\\x83R\\x0e\\x01\\x04\\x10@\\x00\\x01\\x04\\x10 `\\xd1\\x03\\x08 \\x80\\x00\\x02\\x08 \\x80\\x80\\xb1\\x00\\x01\\xcb\\x18\\x94r\\x08 \\x80\\x00\\x02\\x08 \\x80\\x00\\x01\\x8b\\x1e@\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x8c\\x05\\x08X\\xc6\\xa0\\x94C\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x08X\\xf4\\x00\\x02\\x08 \\x80\\x00\\x02\\x08 `,@\\xc02\\x06\\xa5\\x1c\\x02\\x08 \\x80\\x00\\x02\\x08 @\\xc0\\xa2\\x07\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01c\\x01\\x02\\x961(\\xe5\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\x02\\x16=\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\x18\\x0b\\x10\\xb0\\x8cA)\\x87\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\x10\\xb0\\xe8\\x01\\x04\\x10@\\x00\\x01\\x04\\x10@\\xc0X\\x80\\x80e\\x0cJ9\\x04\\x10@\\x00\\x01\\x04\\x10@\\x80\\x80E\\x0f \\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\xc6\\x02\\x04,cP\\xca!\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x04,z\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x100\\x16 `\\x19\\x83R\\x0e\\x01\\x04\\x10@\\x00\\x01\\x04\\x10 `\\xd1\\x03\\x08 \\x80\\x00\\x02\\x08 \\x80\\x80\\xb1\\x00\\x01\\xcb\\x18\\x94r\\x08 \\x80\\x00\\x02\\x08 \\x80\\x00\\x01\\x8b\\x1e@\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x8c\\x05\\x08X\\xc6\\xa0\\x94C\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x08X\\xf4\\x00\\x02\\x08 \\x80\\x00\\x02\\x08 `,@\\xc02\\x06\\xa5\\x1c\\x02\\x08 \\x80\\x00\\x02\\x08 @\\xc0\\xa2\\x07\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01c\\x01\\x02\\x961(\\xe5\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\x02\\x16=\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\x18\\x0b\\x10\\xb0\\x8cA)\\x87\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\x10\\xb0\\xe8\\x01\\x04\\x10@\\x00\\x01\\x04\\x10@\\xc0X\\x80\\x80e\\x0cJ9\\x04\\x10@\\x00\\x01\\x04\\x10@\\x80\\x80E\\x0f \\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\xc6\\x02\\x04,cP\\xca!\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x04,z\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x100\\x16 `\\x19\\x83R\\x0e\\x01\\x04\\x10@\\x00\\x01\\x04\\x10 `\\xd1\\x03\\x08 \\x80\\x00\\x02\\x08 \\x80\\x80\\xb1\\x00\\x01\\xcb\\x18\\x94r\\x08 \\x80\\x00\\x02\\x08 \\x80\\x00\\x01\\x8b\\x1e@\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x8c\\x05\\x08X\\xc6\\xa0\\x94C\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x08X\\xf4\\x00\\x02\\x08 \\x80\\x00\\x02\\x08 `,@\\xc02\\x06\\xa5\\x1c\\x02\\x08 \\x80\\x00\\x02\\x08 @\\xc0\\xa2\\x07\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01c\\x01\\x02\\x961(\\xe5\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\x02\\x16=\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\x18\\x0b\\x10\\xb0\\x8cA)\\x87\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\x10\\xb0\\xe8\\x01\\x04\\x10@\\x00\\x01\\x04\\x10@\\xc0X\\x80\\x80e\\x0cJ9\\x04\\x10@\\x00\\x01\\x04\\x10@\\x80\\x80E\\x0f \\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\xc6\\x02\\x04,cP\\xca!\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x04,z\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x100\\x16 `\\x19\\x83R\\x0e\\x01\\x04\\x10@\\x00\\x01\\x04\\x10 `\\xd1\\x03\\x08 \\x80\\x00\\x02\\x08 \\x80\\x80\\xb1\\x00\\x01\\xcb\\x18\\x94r\\x08 \\x80\\x00\\x02\\x08 \\x80\\x00\\x01\\x8b\\x1e@\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x8c\\x05\\x08X\\xc6\\xa0\\x94C\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x08X\\xf4\\x00\\x02\\x08 \\x80\\x00\\x02\\x08 `,@\\xc02\\x06\\xa5\\x1c\\x02\\x08 \\x80\\x00\\x02\\x08 @\\xc0\\xa2\\x07\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01c\\x01\\x02\\x961(\\xe5\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\x02\\x16=\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\x18\\x0b\\x10\\xb0\\x8cA)\\x87\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\x10\\xb0\\xe8\\x01\\x04\\x10@\\x00\\x01\\x04\\x10@\\xc0X\\x80\\x80e\\x0cJ9\\x04\\x10@\\x00\\x01\\x04\\x10@\\x80\\x80E\\x0f \\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\xc6\\x02\\x04,cP\\xca!\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x04,z\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x100\\x16 `\\x19\\x83R\\x0e\\x01\\x04\\x10@\\x00\\x01\\x04\\x10 `\\xd1\\x03\\x08 \\x80\\x00\\x02\\x08 \\x80\\x80\\xb1\\x00\\x01\\xcb\\x18\\x94r\\x08 \\x80\\x00\\x02\\x08 \\x80\\x00\\x01\\x8b\\x1e@\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x8c\\x05\\x08X\\xc6\\xa0\\x94C\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x08X\\xf4\\x00\\x02\\x08 \\x80\\x00\\x02\\x08 `,@\\xc02\\x06\\xa5\\x1c\\x02\\x08 \\x80\\x00\\x02\\x08 @\\xc0\\xa2\\x07\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01c\\x01\\x02\\x961(\\xe5\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\x02\\x16=\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\x18\\x0b\\x10\\xb0\\x8cA)\\x87\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\x10\\xb0\\xe8\\x01\\x04\\x10@\\x00\\x01\\x04\\x10@\\xc0X\\x80\\x80e\\x0cJ9\\x04\\x10@\\x00\\x01\\x04\\x10@\\x80\\x80E\\x0f \\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\xc6\\x02\\x04,cP\\xca!\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x04,z\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x100\\x16 `\\x19\\x83R\\x0e\\x01\\x04\\x10@\\x00\\x01\\x04\\x10 `\\xd1\\x03\\x08 \\x80\\x00\\x02\\x08 \\x80\\x80\\xb1\\x00\\x01\\xcb\\x18\\x94r\\x08 \\x80\\x00\\x02\\x08 \\x80\\x00\\x01\\x8b\\x1e@\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x8c\\x05\\x08X\\xc6\\xa0\\x94C\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x08X\\xf4\\x00\\x02\\x08 \\x80\\x00\\x02\\x08 `,@\\xc02\\x06\\xa5\\x1c\\x02\\x08 \\x80\\x00\\x02\\x08 @\\xc0\\xa2\\x07\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01c\\x01\\x02\\x961(\\xe5\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\x02\\x16=\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\x18\\x0b\\x10\\xb0\\x8cA)\\x87\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\x10\\xb0\\xe8\\x01\\x04\\x10@\\x00\\x01\\x04\\x10@\\xc0X\\x80\\x80e\\x0cJ9\\x04\\x10@\\x00\\x01\\x04\\x10@\\x80\\x80E\\x0f \\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\xc6\\x02\\x04,cP\\xca!\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x04,z\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x100\\x16 `\\x19\\x83R\\x0e\\x01\\x04\\x10@\\x00\\x01\\x04\\x10 `\\xd1\\x03\\x08 \\x80\\x00\\x02\\x08 \\x80\\x80\\xb1\\x00\\x01\\xcb\\x18\\x94r\\x08 \\x80\\x00\\x02\\x08 \\x80\\x00\\x01\\x8b\\x1e@\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x8c\\x05\\x08X\\xc6\\xa0\\x94C\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x08X\\xf4\\x00\\x02\\x08 \\x80\\x00\\x02\\x08 `,@\\xc02\\x06\\xa5\\x1c\\x02\\x08 \\x80\\x00\\x02\\x08 @\\xc0\\xa2\\x07\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01c\\x01\\x02\\x961(\\xe5\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\x02\\x16=\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\x18\\x0b\\x10\\xb0\\x8cA)\\x87\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\x10\\xb0\\xe8\\x01\\x04\\x10@\\x00\\x01\\x04\\x10@\\xc0X\\x80\\x80e\\x0cJ9\\x04\\x10@\\x00\\x01\\x04\\x10@\\xe0\\xbf\\x01>\\xc6\\x86\\xbcv<\\x1e\\xd9\\x00\\x00\\x00\\x00IEND\\xaeB`\\x82', layout=Layout(border_bottom='3px solid lightgrey', border_left='3px solid lightgrey', border_right='3px solid lightgrey', border_top='3px solid lightgrey', height='406px', overflow='visible', width='606px'), sync_image_data=True, width=600), HBox(children=(Label(value='Graph on 19 vertices and 0 edges.', layout=Layout(width='100%')), Label(value='Graph Editor', layout=Layout(width='100%')))), Output())), VBox(children=(ToggleButtons(icons=('', '', '', '', ''), layout=Layout(margin='0px 2px 0px auto', width='150px'), options=('select / move', 'add vertex or edge', 'delete vertex or edge', 'add walk', 'add clique', 'add star'), tooltips=('Move vertices or the canvas', 'Add vertices or edges', 'Delete vertices or edges', 'Add a walk through new or existing vertices', 'Add a clique through new or existing vertices', 'Add a star through new or existing vertices'), value='select / move'), Dropdown(layout=Layout(margin='1px 2px 1px auto', width='150px'), options=(('- change layout -', '- change layout -'), ('random', 'random'), ('spring', 'spring'), ('circular', 'circular'), ('planar', 'planar'), ('forest (root up)', 'forest (root up)'), ('forest (root down)', 'forest (root down)'), ('directed acyclic', 'acyclic')), value='- change layout -'), HBox(children=(Button(icon='search-plus', layout=Layout(height='36px', margin='0px 1px 0px 0px', width='36px'), style=ButtonStyle(), tooltip='Zoom in'), Button(icon='compress', layout=Layout(height='36px', margin='0px 1px 0px 1px', width='36px'), style=ButtonStyle(), tooltip='Zoom to fit'), Button(icon='search-minus', layout=Layout(height='36px', margin='0px 1px 0px 1px', width='36px'), style=ButtonStyle(), tooltip='Zoom out'), Button(icon='trash', layout=Layout(height='36px', margin='0px 0px 0px 1px', width='36px'), style=ButtonStyle(), tooltip='Clear the drawing and delete the graph')), layout=Layout(margin='1px 2px 1px auto')), HBox(children=(ColorPicker(value='#437FC0', layout=Layout(height='36px', margin='0px 1px 0px 0px', width='112px')), Button(icon='paint-brush', layout=Layout(height='36px', margin='0px 0px 0px 1px', width='36px'), style=ButtonStyle(), tooltip='Apply color to the selected elements')), layout=Layout(margin='1px 2px 1px auto')), HBox(children=(Label(value='⌀', layout=Layout(margin='auto 2px auto 0px')), BoundedIntText(value=20, layout=Layout(margin='auto 1px auto 0px', width='90px'), min=1), Button(icon='expand', layout=Layout(height='36px', margin='0px 0px 0px 1px', width='36px'), style=ButtonStyle(), tooltip='Change the radius of the selected vertices')), layout=Layout(margin='1px 2px 1px auto')), ToggleButton(value=True, description='Show vertex labels', layout=Layout(margin='1px 2px 1px auto', width='150px'), tooltip='Should the vertex label be drawn?'), ToggleButton(value=True, description='Show edge labels', layout=Layout(margin='1px 2px 1px auto', width='150px'), tooltip='Should the edge label be drawn?')), layout=Layout(min_width='160px', width='160px'))), layout=Layout(height='auto', overflow='auto hidden', width='100%'))" + ] + }, + "execution_count": 171, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 174, + "id": "3144d5d8-8de3-4ad1-9037-5b221b81301e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[-19, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1]\n" + ] + } + ], + "source": [ + "A = G.adjacency_matrix()\n", + "for i in (1 .. 18):\n", + " A[i, i] = -2\n", + "A[0, 0] = -19\n", + "A[6, 6] = A[12, 12] = A[18, 18] = -1\n", + "print(A.list())" + ] + }, + { + "cell_type": "code", + "execution_count": 175, + "id": "d6de885b-2501-4b24-8d9c-dbe21febe847", + "metadata": {}, + "outputs": [], + "source": [ + "cf = [-19, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1]\n", + "A = Matrix(QQ, 19, cf)" + ] + }, + { + "cell_type": "code", + "execution_count": 176, + "id": "63584386-d134-49a7-802a-88c04b3a13f7", + "metadata": {}, + "outputs": [], + "source": [ + "Vf = vector(QQ, 19)\n", + "Vf[1] = Vf[7] = Vf[13] = 4\n", + "Vg = vector(QQ, 19)\n", + "Vg[6] = Vg[12] = Vg[18] = 1\n", + "Vhs = ()\n", + "Vks = ()\n", + "Vd = vector(QQ, 19)\n", + "Vd[6] = Vd[12] = Vd[18] = 1\n", + "Vd[0] = 19" + ] + }, + { + "cell_type": "code", + "execution_count": 177, + "id": "17a35a5d-3d03-4a10-bee2-c9e7dfd87cee", + "metadata": {}, + "outputs": [], + "source": [ + "n, Nf, Ng, Nd, Nhs, Nks, euler, nus, pols = trinomiales_general(A, Vf, Vg, Vhs, Vks, Vd, total=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 178, + "id": "dd6f6668-4441-49ba-9ad2-3f002cb3a8e8", + "metadata": {}, + "outputs": [], + "source": [ + "zetatop, zetamon, dic = zetas(n, pols, info=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 179, + "id": "db12680c-0a5e-47ef-a590-b22700f57850", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(-1/171) * (s + 17/38)^-2 * (s + 4/9)^-1 * (s + 1)^-1 * (s^3 - 1414/19*s^2 - 5129/76*s - 289/19)" + ] + }, + "execution_count": 179, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "zetatop.factor()" + ] + }, + { + "cell_type": "code", + "execution_count": 180, + "id": "f85963d1-cf2d-452c-9151-48acab9854d6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{1: 5, 2: 24, 3: 2, 6: 4, 18: 1, 9: 1, 19: 3, 38: 23, 114: 3}" + ] + }, + "execution_count": 180, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dic" + ] + }, + { + "cell_type": "code", + "execution_count": 187, + "id": "f01653e9-c044-4a77-9371-9f227013c5ec", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "z^3 + x^6*z^2 + x^19\n", + "0\n", + "(-470/171) * (s + 4/9)^-1 * (s + 17/38)^-1 * (s + 1)^-1 * (s^2 + 193/94*s + 34/47)\n", + "{2: 40, 6: 20, 18: 20, 9: 20, 38: 20}\n", + "=======================\n", + "z^3 + x^16*z + x^19\n", + "1\n", + "(25/171) * (s + 28/57)^-1 * (s + 1)^-1 * (s + 28/25)\n", + "{1: 1, 57: -1}\n", + "=======================\n", + "z^3 + x^76*z + x^114\n", + "6\n", + "(-2/247) * (s + 17/38)^-1 * (s + 1)^-1 * (s + 17/4)\n", + "{1: 1, 2: 2, 3: 1, 6: 2, 38: 2, 19: 2, 57: 2, 114: 2}\n", + "=======================\n", + "z^3 + x^16*z + x^19\n", + "7\n", + "(25/171) * (s + 28/57)^-1 * (s + 1)^-1 * (s + 28/25)\n", + "{1: 1, 57: -1}\n", + "=======================\n", + "z^3 + x^76*z + x^114\n", + "12\n", + "(-2/247) * (s + 17/38)^-1 * (s + 1)^-1 * (s + 17/4)\n", + "{1: 1, 2: 2, 3: 1, 6: 2, 38: 2, 19: 2, 57: 2, 114: 2}\n", + "=======================\n", + "z^3 + x^16*z + x^19\n", + "13\n", + "(25/171) * (s + 28/57)^-1 * (s + 1)^-1 * (s + 28/25)\n", + "{1: 1, 57: -1}\n", + "=======================\n", + "z^3 + x^76*z + x^114\n", + "18\n", + "(-2/247) * (s + 17/38)^-1 * (s + 1)^-1 * (s + 17/4)\n", + "{1: 1, 2: 2, 3: 1, 6: 2, 38: 2, 19: 2, 57: 2, 114: 2}\n", + "=======================\n", + "z^3 + x^6*y^38*z^2 + x^19*y^114\n", + "(0, 6)\n", + "(1/78) * (s + 17/38)^-2 * (s + 4/9)^-1 * (s + 1)^-1 * (s^3 + 6452/3249*s^2 + 5561/4332*s + 289/1083)\n", + "{1: 1, 3: 1}\n", + "=======================\n", + "z^3 + x^6*y^38*z^2 + x^19*y^114\n", + "(0, 12)\n", + "(1/78) * (s + 17/38)^-2 * (s + 4/9)^-1 * (s + 1)^-1 * (s^3 + 6452/3249*s^2 + 5561/4332*s + 289/1083)\n", + "{1: 1, 3: 1}\n", + "=======================\n", + "z^3 + x^6*y^38*z^2 + x^19*y^114\n", + "(0, 18)\n", + "(1/78) * (s + 17/38)^-2 * (s + 4/9)^-1 * (s + 1)^-1 * (s^3 + 6452/3249*s^2 + 5561/4332*s + 289/1083)\n", + "{1: 1, 3: 1}\n", + "=======================\n", + "z^3 + x^16*y^28*z + x^19*y^38\n", + "(1, 2)\n", + "(1/45) * (s + 53/114)^-1 * (s + 28/57)^-1 * (s + 1)^-1 * (s^2 + 3605/2166*s + 742/1083)\n", + "{1: 1, 3: 1}\n", + "=======================\n", + "z^3 + x^28*y^40*z + x^38*y^57\n", + "(2, 3)\n", + "(1/105) * (s + 26/57)^-1 * (s + 53/114)^-1 * (s + 1)^-1 * (s^2 + 3509/2166*s + 689/1083)\n", + "{1: 1, 3: 1}\n", + "=======================\n", + "z^3 + x^40*y^52*z + x^57*y^76\n", + "(3, 4)\n", + "(1/189) * (s + 103/228)^-1 * (s + 26/57)^-1 * (s + 1)^-1 * (s^2 + 6947/4332*s + 1339/2166)\n", + "{1: 1, 3: 1}\n", + "=======================\n", + "z^3 + x^52*y^64*z + x^76*y^95\n", + "(4, 5)\n", + "(1/297) * (s + 128/285)^-1 * (s + 103/228)^-1 * (s + 1)^-1 * (s^2 + 34547/21660*s + 3296/5415)\n", + "{1: 1, 3: 1}\n", + "=======================\n", + "z^3 + x^64*y^76*z + x^95*y^114\n", + "(5, 6)\n", + "(1/429) * (s + 17/38)^-1 * (s + 128/285)^-1 * (s + 1)^-1 * (s^2 + 3443/2166*s + 1088/1805)\n", + "{1: 1, 3: 1}\n", + "=======================\n", + "z^3 + x^16*y^28*z + x^19*y^38\n", + "(7, 8)\n", + "(1/45) * (s + 53/114)^-1 * (s + 28/57)^-1 * (s + 1)^-1 * (s^2 + 3605/2166*s + 742/1083)\n", + "{1: 1, 3: 1}\n", + "=======================\n", + "z^3 + x^28*y^40*z + x^38*y^57\n", + "(8, 9)\n", + "(1/105) * (s + 26/57)^-1 * (s + 53/114)^-1 * (s + 1)^-1 * (s^2 + 3509/2166*s + 689/1083)\n", + "{1: 1, 3: 1}\n", + "=======================\n", + "z^3 + x^40*y^52*z + x^57*y^76\n", + "(9, 10)\n", + "(1/189) * (s + 103/228)^-1 * (s + 26/57)^-1 * (s + 1)^-1 * (s^2 + 6947/4332*s + 1339/2166)\n", + "{1: 1, 3: 1}\n", + "=======================\n", + "z^3 + x^52*y^64*z + x^76*y^95\n", + "(10, 11)\n", + "(1/297) * (s + 128/285)^-1 * (s + 103/228)^-1 * (s + 1)^-1 * (s^2 + 34547/21660*s + 3296/5415)\n", + "{1: 1, 3: 1}\n", + "=======================\n", + "z^3 + x^64*y^76*z + x^95*y^114\n", + "(11, 12)\n", + "(1/429) * (s + 17/38)^-1 * (s + 128/285)^-1 * (s + 1)^-1 * (s^2 + 3443/2166*s + 1088/1805)\n", + "{1: 1, 3: 1}\n", + "=======================\n", + "z^3 + x^16*y^28*z + x^19*y^38\n", + "(13, 14)\n", + "(1/45) * (s + 53/114)^-1 * (s + 28/57)^-1 * (s + 1)^-1 * (s^2 + 3605/2166*s + 742/1083)\n", + "{1: 1, 3: 1}\n", + "=======================\n", + "z^3 + x^28*y^40*z + x^38*y^57\n", + "(14, 15)\n", + "(1/105) * (s + 26/57)^-1 * (s + 53/114)^-1 * (s + 1)^-1 * (s^2 + 3509/2166*s + 689/1083)\n", + "{1: 1, 3: 1}\n", + "=======================\n", + "z^3 + x^40*y^52*z + x^57*y^76\n", + "(15, 16)\n", + "(1/189) * (s + 103/228)^-1 * (s + 26/57)^-1 * (s + 1)^-1 * (s^2 + 6947/4332*s + 1339/2166)\n", + "{1: 1, 3: 1}\n", + "=======================\n", + "z^3 + x^52*y^64*z + x^76*y^95\n", + "(16, 17)\n", + "(1/297) * (s + 128/285)^-1 * (s + 103/228)^-1 * (s + 1)^-1 * (s^2 + 34547/21660*s + 3296/5415)\n", + "{1: 1, 3: 1}\n", + "=======================\n", + "z^3 + x^64*y^76*z + x^95*y^114\n", + "(17, 18)\n", + "(1/429) * (s + 17/38)^-1 * (s + 128/285)^-1 * (s + 1)^-1 * (s^2 + 3443/2166*s + 1088/1805)\n", + "{1: 1, 3: 1}\n", + "=======================\n", + "z^3 + x^6*z^2 + x^19*y\n", + "(0, 'd')\n", + "(19/9) * (s + 4/9)^-1 * (s + 17/38)^-1 * (s + 1)^-1 * (s^2 + 185/76*s + 17/19)\n", + "{2: -19, 6: -19, 18: -19, 9: -19}\n", + "=======================\n", + "z^3 + x^38*z^2 + x^114*y\n", + "(6, 'd')\n", + "(25/1482) * (s + 17/38)^-1 * (s + 1)^-1 * (s + 51/25)\n", + "{2: -1, 6: -1, 38: -1, 19: -1, 57: -1, 114: -1}\n", + "=======================\n", + "z^3 + x^38*z^2 + x^114*y\n", + "(12, 'd')\n", + "(25/1482) * (s + 17/38)^-1 * (s + 1)^-1 * (s + 51/25)\n", + "{2: -1, 6: -1, 38: -1, 19: -1, 57: -1, 114: -1}\n", + "=======================\n", + "z^3 + x^38*z^2 + x^114*y\n", + "(18, 'd')\n", + "(25/1482) * (s + 17/38)^-1 * (s + 1)^-1 * (s + 51/25)\n", + "{2: -1, 6: -1, 38: -1, 19: -1, 57: -1, 114: -1}\n", + "=======================\n" + ] + } + ], + "source": [ + "for lb in pols:\n", + " pol, pesos, euler = pols[lb]\n", + " if euler != 0:\n", + " zt, zm, dic = estrato(pol, pesos, euler, info=True)\n", + " print(pol)\n", + " print(lb)\n", + " print(zt.factor())\n", + " print(dic)\n", + " print(\"=======================\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "68a50bef-881b-4c9f-8e91-8d3424656502", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "SageMath 10.4.beta3", + "language": "sage", + "name": "sagemath-devel" + }, + "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.12.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/deformaciones2.ipynb b/deformaciones2.ipynb new file mode 100644 index 0000000..2d44437 --- /dev/null +++ b/deformaciones2.ipynb @@ -0,0 +1,496 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "f6400f90-c61b-45a3-8b92-dc7eba58c6a9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "load('ZetaFunctionsNewtonND.py')\n", + "load('zetas_triples_general.py')\n", + "R3. = PolynomialRing(QQ, order='negdeglex')\n", + "R2. = PolynomialRing(QQ, order='negdeglex')\n", + "f = u^4 * v^4 + u^9 + v^9\n", + "g = u^6 * v^6 + u^13 + v^13\n", + "F = z^3 - 3 * f(u=x, v=y) * z + 2 * g(u=x, v=y)\n", + "F.discriminant(z)(x=u, y=v) / 108 - f^3 + g^2" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "e5efc244-1749-476d-ad26-ed7cb0736fdc", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[(-1) * v^19 * (2*u^6 + v^7),\n", + " (-1) * u^19 * (2*v^6 + u^7),\n", + " (-1) * (u + v) * v^6 * u^6 * (2*u^12 - 2*u^11*v - u^10*v^2 + u^9*v^3 - u^8*v^4 + u^7*v^5 - u^6*v^6 + u^5*v^7 - u^4*v^8 + u^3*v^9 - u^2*v^10 - 2*u*v^11 + 2*v^12)]" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "h = f^3 - g^2\n", + "Zh = ZetaFunctions(h)\n", + "[p.factor() for p in Zh.get_polyfaces_dictionary(compact=True) if p.number_of_terms() > 1]" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "e0adc0c2-f648-4694-ac46-15ac55e26760", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(u + v) * (-2*u^18*v^6 + 2*u^17*v^7 + u^16*v^8 - u^15*v^9 + u^14*v^10 - u^13*v^11 + u^12*v^12 - u^11*v^13 + u^10*v^14 - u^9*v^15 + u^8*v^16 + 2*u^7*v^17 - 2*u^6*v^18 - u^25 + u^24*v - u^23*v^2 + u^22*v^3 + 2*u^21*v^4 - 2*u^20*v^5 + 2*u^19*v^6 - 2*u^18*v^7 + 2*u^17*v^8 - 2*u^16*v^9 + 2*u^15*v^10 - 2*u^14*v^11 + 2*u^13*v^12 + 2*u^12*v^13 - 2*u^11*v^14 + 2*u^10*v^15 - 2*u^9*v^16 + 2*u^8*v^17 - 2*u^7*v^18 + 2*u^6*v^19 - 2*u^5*v^20 + 2*u^4*v^21 + u^3*v^22 - u^2*v^23 + u*v^24 - v^25 + u^26 - u^25*v + u^24*v^2 - u^23*v^3 + u^22*v^4 - u^21*v^5 + u^20*v^6 - u^19*v^7 + u^18*v^8 + 2*u^17*v^9 - 2*u^16*v^10 + 2*u^15*v^11 - 2*u^14*v^12 + 2*u^13*v^13 - 2*u^12*v^14 + 2*u^11*v^15 - 2*u^10*v^16 + 2*u^9*v^17 + u^8*v^18 - u^7*v^19 + u^6*v^20 - u^5*v^21 + u^4*v^22 - u^3*v^23 + u^2*v^24 - u*v^25 + v^26)" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "h.factor()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "f90d0141-c0d4-4ac9-bd07-8bf480ad6354", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "load('zetas_triples_general.py')\n", + "R3. = PolynomialRing(QQ, order='negdeglex')\n", + "R2. = PolynomialRing(QQ, order='negdeglex')\n", + "f = (v^2 - u^3)^4 + u^2 * v^7 + v^9 + u^13\n", + "g = (v^2 - u^3)^6 + u^2 * v^11 + v^13\n", + "F = z^3 - 3 * f(u=x, v=y) * z + 2 * g(u=x, v=y)\n", + "F.discriminant(z)(x=u, y=v) / 108 - f^3 + g^2" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "fa1280f7-c380-49f7-953e-36aaf3bdba99", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[v^23 * (u^2 + v^2),\n", + " u^2 * v^7 * (v^2 - u^3)^6 * (v^4 - 6*u^3*v^2 + 3*u^6),\n", + " (3) * u^26 * (v^7 + u^11)]" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "h = f^3 - g^2\n", + "Zh = ZetaFunctions(h)\n", + "[p.factor() for p in Zh.get_polyfaces_dictionary(compact=True) if p.number_of_terms() > 1]" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "04f7177e-79bb-43df-8dcc-f9b4c8cb394d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "u^2*v^23 + v^25 - 12*u^5*v^21 + 2*u^4*v^22 - 12*u^3*v^23 + 4*u^2*v^24 + 2*v^26 + 54*u^8*v^19 - 12*u^7*v^20 + 55*u^6*v^21 - 24*u^5*v^22 + 3*u^4*v^23 - 12*u^3*v^24 + 3*u^2*v^25 + v^27 - 128*u^11*v^17 + 18*u^10*v^18 - 128*u^9*v^19 + 36*u^8*v^20 + 18*u^6*v^22 + 180*u^14*v^15 - 9*u^13*v^16 + 180*u^12*v^17 - 24*u^11*v^18 - 12*u^9*v^20 - 156*u^17*v^13 - 21*u^16*v^14 - 150*u^15*v^15 + 6*u^14*v^16 + 6*u^13*v^17 + 3*u^12*v^18 + 82*u^20*v^11 + 84*u^19*v^12 + 58*u^18*v^13 + 3*u^17*v^14 - 24*u^16*v^15 + 6*u^15*v^16 + 3*u^13*v^18 - 24*u^23*v^9 - 168*u^22*v^10 + 12*u^21*v^11 + 36*u^19*v^13 + 3*u^26*v^7 + 210*u^25*v^8 - 21*u^24*v^9 - 24*u^22*v^11 - 168*u^28*v^6 + 6*u^27*v^7 + 3*u^26*v^8 + 6*u^25*v^9 + 84*u^31*v^4 - 12*u^29*v^6 + 3*u^28*v^7 + 3*u^26*v^9 - 24*u^34*v^2 + 18*u^32*v^4 + 3*u^37 - 12*u^35*v^2 + 3*u^38 + u^39" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "h.factor()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "ce0503e3-da42-46ac-bcbf-224978d2f563", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[(-1) * (u + 128*v^6)]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "h1 = R2(h(u=u^2, v=u^3 * (1 + v)) / u^73)\n", + "Zh1 = ZetaFunctions(h1)\n", + "[p.factor() for p in Zh1.get_polyfaces_dictionary(compact=True) if p.number_of_terms() > 1]" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "cf6a76e4-21df-437f-9138-9db65a93d445", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\\(\\displaystyle \\left(\\begin{array}{rrrrrrrrrrrr}\n", + "-3 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & -3 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "1 & 0 & -10 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 1 \\\\\n", + "0 & 1 & 0 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 1 & 0 & 1 & -1 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & -2 & 1 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 \\\\\n", + "0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -1\n", + "\\end{array}\\right)\\)" + ], + "text/latex": [ + "$\\displaystyle \\left(\\begin{array}{rrrrrrrrrrrr}\n", + "-3 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & -3 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "1 & 0 & -10 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 1 \\\\\n", + "0 & 1 & 0 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 1 & 0 & 1 & -1 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & -2 & 1 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 \\\\\n", + "0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -1\n", + "\\end{array}\\right)$" + ], + "text/plain": [ + "[ -3 0 1 0 0 0 0 0 0 0 0 0]\n", + "[ 0 -3 0 1 0 0 0 0 0 0 0 0]\n", + "[ 1 0 -10 0 0 1 0 0 0 0 0 1]\n", + "[ 0 1 0 -2 1 0 0 0 0 0 0 0]\n", + "[ 0 0 0 1 -2 1 0 0 0 0 0 0]\n", + "[ 0 0 1 0 1 -1 0 0 0 0 0 0]\n", + "[ 0 0 0 0 0 0 -2 1 0 0 0 0]\n", + "[ 0 0 0 0 0 0 1 -2 1 0 0 0]\n", + "[ 0 0 0 0 0 0 0 1 -2 1 0 0]\n", + "[ 0 0 0 0 0 0 0 0 1 -2 1 0]\n", + "[ 0 0 0 0 0 0 0 0 0 1 -2 1]\n", + "[ 0 0 1 0 0 0 0 0 0 0 1 -1]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "cf = [-3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -10, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -1]\n", + "A = Matrix(QQ, 12, cf)\n", + "show(A)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "8d16161d-985b-4f65-a6c9-d869bc41951c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "((0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0),\n", + " (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1),\n", + " (2, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 1))" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Vf, Vg, Vd = [vector(QQ, 12) for i in (1, 2, 3)]\n", + "Vf[9] = Vg[11] = Vd[5] = Vd[11] = 1\n", + "Vd[0] = Vd[2] = 2\n", + "Vf, Vg, Vd" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "4551d2ce-12ce-4c6e-9c04-7bdc6bf2b8bb", + "metadata": {}, + "outputs": [], + "source": [ + "n, Nf, Ng, Nd, Nhs, Nks, euler, nus, pols = trinomiales_general(A, Vf, Vg, (), (), Vd, total=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "a2b33242-627c-44a7-a7c3-13a0ff635055", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 (z^3 + x^4*z^2 + x^13, (2, 1, 1), -1)\n", + "1 (z^3 + x^6*z^2 + x^19, (3, 1, 1), 1)\n", + "2 (z^3 + x^12*z^2 + x^37, (5, 1, 1), -3)\n", + "3 (z^3 + x^18*z^2 + x^57, (8, 1, 1), 0)\n", + "4 (z^3 + x^30*z^2 + x^95, (13, 1, 1), 0)\n", + "5 (z^3 + x^42*z^2 + x^133, (18, 1, 1), -1)\n", + "6 (z^3 + x^25*z + x^37, (6, 1, 1), 1)\n", + "7 (z^3 + x^50*z + x^74, (11, 1, 1), 0)\n", + "8 (z^3 + x^75*z + x^111, (16, 1, 1), 0)\n", + "9 (z^3 + x^100*z + x^148, (21, 1, 1), 0)\n", + "10 (z^3 + x^124*z + x^185, (26, 1, 1), 0)\n", + "11 (z^3 + x^148*z + x^222, (31, 1, 1), -1)\n", + "(0, 2) (z^3 + x^4*y^12*z^2 + x^13*y^37, (2, 5, 1), 1)\n", + "(1, 3) (z^3 + x^6*y^18*z^2 + x^19*y^57, (3, 8, 1), 1)\n", + "(2, 5) (z^3 + x^12*y^42*z^2 + x^37*y^133, (5, 18, 1), 1)\n", + "(2, 11) (z^3 + x^12*y^74*z^2 + x^37*y^222, (5, 31, 1), 1)\n", + "(3, 4) (z^3 + x^18*y^30*z^2 + x^57*y^95, (8, 13, 1), 1)\n", + "(4, 5) (z^3 + x^30*y^42*z^2 + x^95*y^133, (13, 18, 1), 1)\n", + "(6, 7) (z^3 + x^25*y^50*z + x^37*y^74, (6, 11, 1), 1)\n", + "(7, 8) (z^3 + x^50*y^75*z + x^74*y^111, (11, 16, 1), 1)\n", + "(8, 9) (z^3 + x^75*y^100*z + x^111*y^148, (16, 21, 1), 1)\n", + "(9, 10) (z^3 + x^100*y^124*z + x^148*y^185, (21, 26, 1), 1)\n", + "(10, 11) (z^3 + x^124*y^148*z + x^185*y^222, (26, 31, 1), 1)\n", + "(0, 'd') (z^3 + x^4*z^2 + x^13*y, (2, 1, 1), 2)\n", + "(2, 'd') (z^3 + x^12*z^2 + x^37*y, (5, 1, 1), 2)\n", + "(5, 'd') (z^3 + x^42*z^2 + x^133*y, (18, 1, 1), 1)\n", + "(11, 'd') (z^3 + x^74*z^2 + x^222*y, (31, 1, 1), 1)\n" + ] + } + ], + "source": [ + "for a in pols:\n", + " print(a, pols[a])" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "id": "05cb4f7a-a5d2-4533-93d2-d54c6e70268f", + "metadata": {}, + "outputs": [], + "source": [ + "zetatop, zetamon, dic = zetas(n, pols, info=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "id": "51eca906-a9b3-467f-abb7-c3d7cc307f09", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(216829/1151514) * (s + 35/74)^-2 * (s + 17/36)^-1 * (s + 127/266)^-1 * (s + 1)^-1 * (s^4 + 188530063/48136038*s^3 + 407335205/96272076*s^2 + 86507587/48136038*s + 34382075/128362768)" + ] + }, + "execution_count": 102, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "zetatop.factor()" + ] + }, + { + "cell_type": "code", + "execution_count": 103, + "id": "33a6a453-3089-40cf-81c1-0cd60c2f421b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{1: 1, 2: 4, 14: 1, 26: 1, 36: 1, 37: 1, 74: 4, 222: 1, 266: 1}" + ] + }, + "execution_count": 103, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dic" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c10b8f88-2472-4fb7-bbb0-00db0d1d0ddd", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5a0467f7-1e57-4039-a968-1a8307e48864", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bc0a2841-a625-4381-958e-a2b1ee373815", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9be2fc1c-a52f-4bd8-bd3f-be31e5d26b28", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 53, + "id": "2fa88cbc-151d-4a5c-9c25-2bc9e73d13e5", + "metadata": {}, + "outputs": [], + "source": [ + "G = Graph(12)\n", + "a = graph_editor(G)" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "id": "54c20ec5-3e80-4d4d-9586-2af443c62f95", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "62e83ac19ea047aeb488ebd6c6a0bad9", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "HBox(children=(VBox(children=(MultiCanvas(height=400, image_data=b'\\x89PNG\\r\\n\\x1a\\n\\x00\\x00\\x00\\rIHDR\\x00\\x00\\x02X\\x00\\x00\\x01\\x90\\x08\\x06\\x00\\x00\\x00r5\\x1e\\x98\\x00\\x00\\x00\\x01sRGB\\x00\\xae\\xce\\x1c\\xe9\\x00\\x00 \\x00IDATx^\\xed\\xdd\\t|T\\xd5\\xf9\\xff\\xf1\\xefL\\x12\\x92I\\xc2\\x16\\x08\\xfb\\xbe\\xc8\\xbe(n n\\x88\\x8a\\x88\\n\\x8a\\xe2\\xbeV\\xad\\xd5V\\xdbZ\\xabmm\\xb5j\\x7fU\\xab\\xd5V\\xebn]qA\\xc5\\x15A\\x14EQT@Y$l\\xb2\\xcaN\\x08[\\x92\\xc9>\\xff\\x9e\\x13&\\x06%\\xc9\\xdc\\x99\\x9b\\xc9\\x1d\\xff\\x9f\\xfbz\\xe57\\xf6\\xc7\\xe4\\xccy\\xde\\xcf\\xb93O\\xe6\\x9e{\\x8eO\\x1c\\x08 \\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\xae\\n\\xf8\\\\m\\x8d\\xc6\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\x04D\\x81\\xc5 @\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\\\\\x16\\xa0\\xc0r\\x19\\x94\\xe6\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\n,\\xc6\\x00\\x02\\x08 \\x80\\x00\\x02\\x08 \\xe0\\xb2\\x00\\x05\\x96\\xcb\\xa04\\x87\\x00\\x02\\x08 \\x80\\x00\\x02\\x08P`1\\x06\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\x97\\x05(\\xb0\\\\\\x06\\xa59\\x04\\x10@\\x00\\x01\\x04\\x10@\\x80\\x02\\x8b1\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\xb8,@\\x81\\xe52(\\xcd!\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x14X\\x8c\\x01\\x04\\x10@\\x00\\x01\\x04\\x10@\\xc0e\\x01\\n,\\x97Ai\\x0e\\x01\\x04\\x10@\\x00\\x01\\x04\\x10\\xa0\\xc0b\\x0c \\x80\\x00\\x02\\x08 \\x80\\x00\\x02.\\x0bP`\\xb9\\x0cJs\\x08 \\x80\\x00\\x02\\x08 \\x80\\x00\\x05\\x16c\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x10pY\\x80\\x02\\xcbeP\\x9aC\\x00\\x01\\x04\\x10@\\x00\\x01\\x04(\\xb0\\x18\\x03\\x08 \\x80\\x00\\x02\\x08 \\x80\\x80\\xcb\\x02\\x14X.\\x83\\xd2\\x1c\\x02\\x08 \\x80\\x00\\x02\\x08 @\\x81\\xc5\\x18@\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\\\\\x16\\xa0\\xc0r\\x19\\x94\\xe6\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\n,\\xc6\\x00\\x02\\x08 \\x80\\x00\\x02\\x08 \\xe0\\xb2\\x00\\x05\\x96\\xcb\\xa04\\x87\\x00\\x02\\x08 \\x80\\x00\\x02\\x08P`1\\x06\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\x97\\x05(\\xb0\\\\\\x06\\xa59\\x04\\x10@\\x00\\x01\\x04\\x10@\\x80\\x02\\x8b1\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\xb8,@\\x81\\xe52(\\xcd!\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x14X\\x8c\\x01\\x04\\x10@\\x00\\x01\\x04\\x10@\\xc0e\\x01\\n,\\x97Ai\\x0e\\x01\\x04\\x10@\\x00\\x01\\x04\\x10\\xa0\\xc0b\\x0c \\x80\\x00\\x02\\x08 \\x80\\x00\\x02.\\x0bP`\\xb9\\x0cJs\\x08 \\x80\\x00\\x02\\x08 \\x80\\x00\\x05\\x16c\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x10pY\\x80\\x02\\xcbeP\\x9aC\\x00\\x01\\x04\\x10@\\x00\\x01\\x04(\\xb0\\x18\\x03\\x08 \\x80\\x00\\x02\\x08 \\x80\\x80\\xcb\\x02\\x14X.\\x83\\xd2\\x1c\\x02\\x08 \\x80\\x00\\x02\\x08 @\\x81\\xc5\\x18@\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\\\\\x16\\xa0\\xc0r\\x19\\x94\\xe6\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\n,\\xc6\\x00\\x02\\x08 \\x80\\x00\\x02\\x08 \\xe0\\xb2\\x00\\x05\\x96\\xcb\\xa04\\x87\\x00\\x02\\x08 \\x80\\x00\\x02\\x08P`1\\x06\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\x97\\x05(\\xb0\\\\\\x06\\xa59\\x04\\x10@\\x00\\x01\\x04\\x10@\\x80\\x02\\x8b1\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\xb8,@\\x81\\xe52(\\xcd!\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x14X\\x8c\\x01\\x04\\x10@\\x00\\x01\\x04\\x10@\\xc0e\\x01\\n,\\x97Ai\\x0e\\x01\\x04\\x10@\\x00\\x01\\x04\\x10\\xa0\\xc0b\\x0c \\x80\\x00\\x02\\x08 \\x80\\x00\\x02.\\x0bP`\\xb9\\x0cJs\\x08 \\x80\\x00\\x02\\x08 \\x80\\x00\\x05\\x16c\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x10pY\\x80\\x02\\xcbeP\\x9aC\\x00\\x01\\x04\\x10@\\x00\\x01\\x04(\\xb0\\x18\\x03\\x08 \\x80\\x00\\x02\\x08 \\x80\\x80\\xcb\\x02\\x14X.\\x83\\xd2\\x1c\\x02\\x08 \\x80\\x00\\x02\\x08 @\\x81\\xc5\\x18@\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\\\\\x16\\xa0\\xc0r\\x19\\x94\\xe6\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\n,\\xc6\\x00\\x02\\x08 \\x80\\x00\\x02\\x08 \\xe0\\xb2\\x00\\x05\\x96\\xcb\\xa04\\x87\\x00\\x02\\x08 \\x80\\x00\\x02\\x08P`1\\x06\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\x97\\x05(\\xb0\\\\\\x06\\xa59\\x04\\x10@\\x00\\x01\\x04\\x10@\\x80\\x02\\x8b1\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\xb8,@\\x81\\xe52(\\xcd!\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x14X\\x8c\\x01\\x04\\x10@\\x00\\x01\\x04\\x10@\\xc0e\\x01\\n,\\x97Ai\\x0e\\x01\\x04\\x10@\\x00\\x01\\x04\\x10\\xa0\\xc0b\\x0c \\x80\\x00\\x02\\x08 \\x80\\x00\\x02.\\x0bP`\\xb9\\x0cJs\\x08 \\x80\\x00\\x02\\x08 \\x80\\x00\\x05\\x16c\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x10pY\\x80\\x02\\xcbeP\\x9aC\\x00\\x01\\x04\\x10@\\x00\\x01\\x04(\\xb0\\x18\\x03\\x08 \\x80\\x00\\x02\\x08 \\x80\\x80\\xcb\\x02\\x14X.\\x83\\xd2\\x1c\\x02\\x08 \\x80\\x00\\x02\\x08 @\\x81\\xc5\\x18@\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\\\\\x16\\xa0\\xc0r\\x19\\x94\\xe6\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\n,\\xc6\\x00\\x02\\x08 \\x80\\x00\\x02\\x08 \\xe0\\xb2\\x00\\x05\\x96\\xcb\\xa04\\x87\\x00\\x02\\x08 \\x80\\x00\\x02\\x08P`1\\x06\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\x97\\x05(\\xb0\\\\\\x06\\xa59\\x04\\x10@\\x00\\x01\\x04\\x10@\\x80\\x02\\x8b1\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\xb8,@\\x81\\xe52(\\xcd!\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x14X\\x8c\\x01\\x04\\x10@\\x00\\x01\\x04\\x10@\\xc0e\\x01\\n,\\x97Ai\\x0e\\x01\\x04\\x10@\\x00\\x01\\x04\\x10\\xa0\\xc0b\\x0c \\x80\\x00\\x02\\x08 \\x80\\x00\\x02.\\x0bP`\\xb9\\x0cJs\\x08 \\x80\\x00\\x02\\x08 \\x80\\x00\\x05\\x16c\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x10pY\\x80\\x02\\xcbeP\\x9aC\\x00\\x01\\x04\\x10@\\x00\\x01\\x04(\\xb0\\x18\\x03\\x08 \\x80\\x00\\x02\\x08 \\x80\\x80\\xcb\\x02\\x14X.\\x83\\xd2\\x1c\\x02\\x08 \\x80\\x00\\x02\\x08 @\\x81\\xc5\\x18@\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\\\\\x16\\xa0\\xc0r\\x19\\x94\\xe6\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\n,\\xc6\\x00\\x02\\x08 \\x80\\x00\\x02\\x08 \\xe0\\xb2\\x00\\x05\\x96\\xcb\\xa04\\x87\\x00\\x02\\x08 \\x80\\x00\\x02\\x08P`1\\x06\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\x97\\x05(\\xb0\\\\\\x06\\xa59\\x04\\x10@\\x00\\x01\\x04\\x10@\\x80\\x02\\x8b1\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\xb8,@\\x81\\xe52(\\xcd!\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x14X\\x8c\\x01\\x04\\x10@\\x00\\x01\\x04\\x10@\\xc0e\\x01\\n,\\x97Ai\\x0e\\x01\\x04\\x10@\\x00\\x01\\x04\\x10\\xa0\\xc0b\\x0c \\x80\\x00\\x02\\x08 \\x80\\x00\\x02.\\x0bP`\\xb9\\x0cJs\\x08 \\x80\\x00\\x02\\x08 \\x80\\x00\\x05\\x16c\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x10pY\\x80\\x02\\xcbeP\\x9aC\\x00\\x01\\x04\\x10@\\x00\\x01\\x04(\\xb0\\x18\\x03\\x08 \\x80\\x00\\x02\\x08 \\x80\\x80\\xcb\\x02\\x14X.\\x83\\xd2\\x1c\\x02\\x08 \\x80\\x00\\x02\\x08 @\\x81\\xc5\\x18@\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\\\\\x16\\xa0\\xc0r\\x19\\x94\\xe6\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\n,\\xc6\\x00\\x02\\x08 \\x80\\x00\\x02\\x08 \\xe0\\xb2\\x00\\x05\\x96\\xcb\\xa04\\x87\\x00\\x02\\x08 \\x80\\x00\\x02\\x08P`1\\x06\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\x97\\x05(\\xb0\\\\\\x06\\xa59\\x04\\x10@\\x00\\x01\\x04\\x10@\\x80\\x02\\x8b1\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\xb8,@\\x81\\xe52(\\xcd!\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x14X\\x8c\\x01\\x04\\x10@\\x00\\x01\\x04\\x10@\\xc0e\\x01\\n,\\x97Ai\\x0e\\x01\\x04\\x10@\\x00\\x01\\x04\\x10\\xa0\\xc0b\\x0c \\x80\\x00\\x02\\x08 \\x80\\x00\\x02.\\x0bP`\\xb9\\x0cJs\\x08 \\x80\\x00\\x02\\x08 \\x80\\x00\\x05\\x16c\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x10pY\\x80\\x02\\xcbeP\\x9aC\\x00\\x01\\x04\\x10@\\x00\\x01\\x04(\\xb0\\x18\\x03\\x08 \\x80\\x00\\x02\\x08 \\x80\\x80\\xcb\\x02\\x14X.\\x83\\xd2\\x1c\\x02\\x08 \\x80\\x00\\x02\\x08 @\\x81\\xc5\\x18@\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\\\\\x16\\xa0\\xc0r\\x19\\x94\\xe6\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\n,\\xc6\\x00\\x02\\x08 \\x80\\x00\\x02\\x08 \\xe0\\xb2\\x00\\x05\\x96\\xcb\\xa04\\x87\\x00\\x02\\x08 \\x80\\x00\\x02\\x08P`1\\x06\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\x97\\x05(\\xb0\\\\\\x06\\xa59\\x04\\x10@\\x00\\x01\\x04\\x10@\\x80\\x02\\x8b1\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\xb8,@\\x81\\xe52(\\xcd!\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x14X\\x8c\\x01\\x04\\x10@\\x00\\x01\\x04\\x10@\\xc0e\\x01\\n,\\x97Ai\\x0e\\x01\\x04\\x10@\\x00\\x01\\x04\\x10\\xa0\\xc0b\\x0c \\x80\\x00\\x02\\x08 \\x80\\x00\\x02.\\x0bP`\\xb9\\x0cJs\\x08 \\x80\\x00\\x02\\x08 \\x80\\x00\\x05\\x16c\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x10pY\\x80\\x02\\xcbeP\\x9aC\\x00\\x01\\x04\\x10@\\x00\\x01\\x04(\\xb0\\x18\\x03\\x08 \\x80\\x00\\x02\\x08 \\x80\\x80\\xcb\\x02\\x14X.\\x83\\xd2\\x1c\\x02\\x08 \\x80\\x00\\x02\\x08 @\\x81\\xc5\\x18@\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\\\\\x16\\xa0\\xc0r\\x19\\x94\\xe6\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\n,\\xc6\\x00\\x02\\x08 \\x80\\x00\\x02\\x08 \\xe0\\xb2\\x00\\x05\\x96\\xcb\\xa04\\x87\\x00\\x02\\x08 \\x80\\x00\\x02\\x08P`1\\x06\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\x97\\x05(\\xb0\\\\\\x06\\xa59\\x04\\x10@\\x00\\x01\\x04\\x10@\\x80\\x02\\x8b1\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\xb8,@\\x81\\xe52(\\xcd!\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x14X\\x8c\\x01\\x04\\x10@\\x00\\x01\\x04\\x10@\\xc0e\\x01\\n,\\x97Ai\\x0e\\x01\\x04\\x10@\\x00\\x01\\x04\\x10\\xa0\\xc0b\\x0c \\x80\\x00\\x02\\x08 \\x80\\x00\\x02.\\x0bP`\\xb9\\x0cJs\\x08 \\x80\\x00\\x02\\x08 \\x80\\x00\\x05\\x16c\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x10pY\\x80\\x02\\xcbeP\\x9aC\\x00\\x01\\x04\\x10@\\x00\\x01\\x04(\\xb0\\x18\\x03\\x08 \\x80\\x00\\x02\\x08 \\x80\\x80\\xcb\\x02\\x14X.\\x83\\xd2\\x1c\\x02\\x08 \\x80\\x00\\x02\\x08 @\\x81\\xc5\\x18@\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\\\\\x16\\xa0\\xc0r\\x19\\x94\\xe6\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\n,\\xc6\\x00\\x02\\x08 \\x80\\x00\\x02\\x08 \\xe0\\xb2\\x00\\x05\\x96\\xcb\\xa04\\x87\\x00\\x02\\x08 \\x80\\x00\\x02\\x08P`1\\x06\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\x97\\x05(\\xb0\\\\\\x06\\xa59\\x04\\x10@\\x00\\x01\\x04\\x10@\\x80\\x02\\x8b1\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\xb8,@\\x81\\xe52(\\xcd!\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x14X\\x8c\\x01\\x04\\x10@\\x00\\x01\\x04\\x10@\\xc0e\\x01\\n,\\x97Ai\\x0e\\x01\\x04\\x10@\\x00\\x01\\x04\\x10\\xa0\\xc0b\\x0c \\x80\\x00\\x02\\x08 \\x80\\x00\\x02.\\x0bP`\\xb9\\x0cJs\\x08 \\x80\\x00\\x02\\x08 \\x80\\x00\\x05\\x16c\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\x10pY\\x80\\x02\\xcbeP\\x9aC\\x00\\x01\\x04\\x10@\\x00\\x01\\x04(\\xb0\\x18\\x03\\x08 \\x80\\x00\\x02\\x08 \\x80\\x80\\xcb\\x02\\x14X.\\x83\\xd2\\x1c\\x02\\x08 \\x80\\x00\\x02\\x08 @\\x81\\xc5\\x18@\\x00\\x01\\x04\\x10@\\x00\\x01\\x04\\\\\\x16\\xa0\\xc0r\\x19\\x94\\xe6\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\n,\\xc6\\x00\\x02\\x08 \\x80\\x00\\x02\\x08 \\xe0\\xb2\\x00\\x05\\x96\\xcb\\xa04\\x87\\x00\\x02\\x08 \\x80\\x00\\x02\\x08P`1\\x06\\x10@\\x00\\x01\\x04\\x10@\\x00\\x01\\x97\\x05(\\xb0\\\\\\x06\\xa59\\x04\\x10@\\x00\\x01\\x04\\x10@\\x80\\x02\\x8b1\\x80\\x00\\x02\\x08 \\x80\\x00\\x02\\x08\\xb8,@\\x81\\xe52(\\xcd!\\x80\\x00\\x02\\x08 \\x80\\x00\\x02n\\x17X#%u\\xde\\xfb\\xd3MR\\x0fI=\\xf72\\xaf\\x90\\xf4\\xad\\xa4U\\x92\\xd6\\xee\\xfdy\\xdf\\x83)\\xf8)\\xc4\\x10f\\xfd)\\xc4\\xf2S\\x88\\xc1\\xe4\\xc3\\xc4a\\xce\\x89\\x1f\\xfe\\x84$%\\xca\\xb9\\xf1S\\x8b#\\xd1\\xdf\\xab\\xc2\\xf9 \\x0e\\xef|\\x90\\xfcT\\xces\\xc6\\x96\\x0bc\\xca\\x8d\\x02\\xab\\x8b\\xa43\\xf7\\xfe\\x1c\\xe2\\xb0Os$M\\xda\\xfb\\xb3\\xc6\\xe1\\xef\\xba\\xf9\\xf4\\x9fB\\x0ca\\x8f\\x9fB,?\\x85\\x18L>\\x88C\\xf2\\xca9N>*\\xdf!\\xc8\\x87\\x9b\\x9f\\x1c\\x95m\\xfdT\\xce\\xf3\\x9fR,\\x9e\\xc8I,\\x05\\xd6hST\\xf9\\xfc\\xfe\\t\\xa1\\x8a\\x8a\\x80\\xc9L\\xdf\\xd3F\\xab\\xf3\\xd0C\\xd4\\xb8mk5n\\xd3\\xba\\xf2\\xb1mk;\\x02\\xf7l\\xdaR\\xf9\\xb3\\xb9\\xf2q\\xed\\xec9\\xcayc\\x8a\\xfd7\\x9f\\xdf\\x1f\\x0cUT\\xbc\\xb4\\xb7\\xd0\\xaa\\xfc\\x7f\\xc6\\xe7\\xa8\\x8c\\xc1\\xe7\\x9b\\x10\\n\\x85l\\x0c\\xc3\\xdb\\x1d\\xae\\xfe-\\xfa\\xa8EZ\\xd6\\xde\\x9f\\xe6\\xf6\\xd1\\x1c\\xdb\\x8b\\xf2\\xb4\\xbdh\\xc7\\xde\\xc7<}\\xb3}\\x89fm\\xfc\\xbc2\\x06\\x9f/\\x18\\n\\x85\\x1a\"\\x86\\xb0\\xd4\\xde|\\xf8&\\x84**c\\xe9}b\\x07u<8[\\x99\\xad\\x02j\\xdc*\\xa0\\xcc\\xd6\\x95\\x8f6\\x1f[\\x83\\xca\\xdf\\x12\\xac|\\xdc\\x1a\\xd4ws\\xb7i\\xe9\\xb4\\xf5{\\xf3\\xe1\\x0b\\x86*\\x1a$\\x16\\x1b\\x83\\xe4\\x9f U\\x8e\\xa9\\x16\\x1a\\xab\\xa6:B\\x8d\\xd4v\\x9f\\x1f\\xf3o%\\xda\\xb4\\xcf\\xcf.}\\xaa\\xedz}\\xaf\\x87?(5\\xc8\\x982\\xafo\\xe3\\xf0\\xfb\\xfc\\x13*B\\x95q\\x8c\\xeby\\xac\\x86\\xb5\\x1f\\xa8\\xd6\\xe9Yj\\x97\\x99\\xad\\xf6\\x8d\\xb3\\xd5>3\\xdb\\x8c\\x1cm\\xca\\xcf\\xd5\\xc6\\x82m\\x95\\x8f\\xf9\\xb9\\xfat\\xc3\\x02M^\\xf1\\xa1\\x8d\\xc3\\xef\\xf3\\x07+B\\r\\x1b\\x87\\xcf\\xff\\xfd\\x98\\xeaz\\xec\\xd1j3\\xa8\\xbf\\x02YY\\xca\\xc8n\\xa9\\x8cV\\xd9\\xca\\xc8\\xce6a\\xa8`[\\xae\\ns\\xb7\\xabp[\\xae\\nrs\\xb5y\\xfe\"\\xad\\xfepfC\\x8f\\xa9\\xaa|\\xc8\\xa7\\t\\n\\xc9\\xe6#\\xb9Ks%\\xb5\\xc9\\x94/=E\\xfe\\xf4F\\xf2e\\xa4\\xd8\\xff6G\\xa8\\xb0T\\xa1\\x82RU\\x14\\x96\\xd8\\xff.\\xdf\\x9c\\xaf\\xb25;*\\xc7\\x95OA\\x85\\xd4P\\xe7y\\xe5\\xf9\\xe1\\xf3M\\xd0\\xde\\xf7\\xabfG\\x1f\\xad\\x8c\\x01\\x03\\x95\\xd2\\xb2e\\xe5O\\x8b\\x16\\xf6\\xd1\\x1c\\xa5\\xb9\\xb9*\\xdd\\xbe\\xbd\\xf217W\\x05\\x8b\\x16j\\xe7\\xcc\\xca|\\xc8\\xe7\\x0b\\xaa\\xe1\\xde\\xaf\\xf6\\xbe\\xef\\xfa\\'\\x84\\xf6\\x9e\\x1f\\x9d:\\x1e\\xaf\\xec\\x96\\x07)\\x10h\\xa5\\xf4@+\\x05\\x02\\xd9\\xf6\\xbf\\xcd\\x11\\x0cnU0\\xb8M\\x85\\xf6q\\xab\\xb6\\xe5~\\xa5u\\xdfM\\xdf\\x1b\\x86?\\x18j\\xe0\\xf3C>\\xff\\x04\\xed\\x8d#\\xb5\\xd3\\x185\\xca>T\\xfe@\\xb6\\xfc\\x816\\xf2\\xa7\\xb7URz[;p*\\x82\\x9bU^\\xb8\\xc5>\\x9a\\x9f\\x92\\xad_\\xa8x\\xdd\\xdb{\\xf3\\xe1\\x0f\\xaa\\xe1\\xe2\\xa8v\\x8eT\\x1b[=\\xba)\\xa3}\\x1b\\xa5dd(%3C)\\x19\\xe9\\xf6\\xbf\\xed\\xd8*(PiA\\xa1J\\xf3\\xcdc\\x81\\n6l\\xd6\\xceo\\xcd\\xc5)\\x8f\\x8c-\\xf9&\\x84T\\xf99\\xd8#\\xbd\\xbd\\xda\\xa7\\xb6TFR\\x9a2\\x93\\x02\\xf61#\\xa9\\xf2s\\xb0\\xa0<\\xa8\\x82\\xf2\"\\xe5\\xef}\\xdcP\\x9c\\xabo\\x0b7\\xec=\\xd5}\\xc1\\x90b\\xfb\\x1c\\x8c\\xb6\\xc0\\xba\\xf9\\x7f\\xef\\xfd\\x7f5\\xbdh\\x94\\x91\\xae\\xc1\\xe7\\x9e\\xa9\\xc1\\xe7\\x9e\\xa1N\\x87;\\xfb\\x02k\\xdd\\xe7s4\\x7f\\xe2\\xab\\x9a?q\\x92J\\n\\n+\\x93#\\xfdY\\xd2m\\xe1\\xffQ\\x8f\\x8fU1\\xa4%\\xa7\\xe9\\xf8\\x8e\\xc7\\xe8\\xf8N\\xc7\\xaa_VoG/\\xb98o\\xa9\\xa6\\xaf\\xfbP\\xd3\\xbf\\xfbHEeE\\xf1\\x8e!\\xfcz\\xdf\\xe7#=Y\\x03\\xc6u\\xd1\\xc0q]\\xd5aH\\xe5\\x1bm\\xa4\\xc7\\xfay\\xb9Z8y\\xb5\\x16M^\\xa3\\x92\\xc2\\xb2x\\xc7R\\x15C\\x922\\xd4J\\xe7\\xdb\\x9f&\\x1a\\x1ai\\xf7\\xed\\xf3vk\\xb6\\xb6\\xea9\\xfbS\\xae\\x82x\\xc7`^\\xef\\xe7\\x92\\x1e2\\xff\\x91\\x91\\x12\\xd0\\x05\\xfdF\\xeb\\x82\\xbe\\xa3mq\\xe5\\xe4\\xf8l\\xc3B=\\x9b3E\\xcf.\\x9e\\xa2\\x82\\xd2`\\x83\\xc6\\x91\\x12\\x08\\xe8\\x80\\x93G\\xa9\\xe7\\xe8\\x13\\xd5f\\xd0\\x00\\'ah\\xf3\\x82EZ1e\\x9a\\x96\\xbf3U\\xa5\\xc1\\x06\\x89\\xa3j\\\\\\xf9R\\xfcJ\\xee\\xd9R)=[(\\xa9u\\xa6\\xa38\\xca\\xb7\\xe4\\xabt\\xc5v\\x95\\xad\\xc8U\\xa8\\xb4\\xa2!\\xf2Q\\x15\\x87?\\x10P\\xd6\\xa8Qjq\\xe2(e\\x0cp\\x96\\x8f\\x82E\\x8b\\xb4}\\xdaT\\xe5M\\x9d\\xaa\\x8a\\x06\\xceGrr\\xba\\xbau=\\xcd\\xfed\\xb7<\\xd0Q>\\xb6\\xe5~\\xadU\\xab\\xdf\\xb0?eeq\\xff\\xec\\xd8\\xe7<\\xf7%g(\\xad\\xdbY\\nt\\x9f\\xa0\\x94\\xecC\\x1d\\xc5Q\\xba\\xedK\\x05W\\xbe\\xa4\\xa2U/+T\\xd6 \\xefW\\xa6\\xbf\\xdf\\x8f\\xad\\x94\\x14e\\xf5=@Y}z)\\xa3]\\x1bG\\xb1\\x14l\\xdc\\xac\\xbc%\\xcb\\x94\\x97\\xb3\\\\\\x15\\xa5\\xa5\\rz\\x8e\\xa4\\xf8\\x92\\xd57\\xb3\\xb3\\xfadtV\\xbb\\xd4\\x16\\x8e\\xe2\\xd8X\\xbc]K\\n\\xd6*\\'\\x7f\\xadJC\\xb1}\\x0eFS`\\xbd(i\\x82\\xe9\\xf1\\x88?]\\xaf\\xc1\\xe7\\x9c\\xa1\\xacn\\xe6\\xdb\\xb8\\xe8\\x8f\\xbcUk4\\xff\\x85W5\\xe3\\xf6\\x7f\\x84\\x1b1\\x7f!\\x9e\\x1d}\\x8bu\\xfefU\\x0c\\x17\\xf5>G#;\\x1d\\xa3v\\x19\\xce\\x06\\xd3\\x0f_ac\\xc1f\\xbd\\xbf\\xee#=\\xbd\\xf4\\x85x\\xc5\\x10~\\x9d\\xaaX\\x8e\\xbe\\xae\\xbf\\x06\\x8c\\xeb\\xaa\\xe6\\x9d\\x9c}x\\xfc0\\x96\\x1d\\xeb\\xf2\\xb5h\\xf2j\\xcd\\xbc\\xef\\x9bx\\xc5R\\x15C\\'\\xfdY\\xadu\\xbe\\xd2\\xecT\\xa5\\xe8\\x8f\"\\xad\\xd2\\x16=\\xa7u\\x95\\x7f\\x07\\x98\\xa3\\xbe\\xc7\\xd4>oT\\xb7\\x1cq\\x85\\xce\\xef{\\x92\\xba7\\xeb\\x10}\\x10\\x92V\\xee\\\\\\xaf\\xe7r\\xde\\xd5-\\x9f>\\xda q\\x1c|\\xe5e:`\\xf4\\x89j\\xd2\\xa1}Lq\\xec^\\xbfA\\xcb\\xa7L\\xd3\\xdcG\\x9e\\x88g\\x1cU\\xe3\\xaa\\xd1\\x90vJ\\xe9\\xd9R\\xfe&\\xa91\\xc5Q\\xb1\\xbbX\\xa5+rU2oc\\x83\\xc4\\xd1\\xf6\\xb2\\xcb\\x94u\\xe2(\\xa5\\xb6\\x8f-\\x1f\\xc5\\x1b6(o\\xdaTmz\\xa2a\\xf21p\\xc0/\\xd5\\xad\\xeb\\xa9j\\x9c\\xd9)\\xa6|\\xec\\xc9_\\xa7U\\xab\\xdf\\xd4\\xc2E\\xff\\x8eg>\\xaa\\n\\x92\\x8cA\\xbfW\\xa0\\xdb\\x04%5\\x8e\\xed3\\xb0|\\xcf\\x1a\\x05W\\xbd\\xa4\\x82\\x05w\\xc63\\x0e\\xf3ZU\\xe7H\\x9b\\xa1\\x87\\xd8\\xc2*\\xb5Y\\x93\\x98rR\\xbcs\\xb7-\\xb46\\xcf6W\\xa3\\xe3\\xf6\\xde[\\x15\\xc7\\xd0\\xa6}\\xd5\\'\\xb3\\xb3\\x9a%\\xc7\\xf69\\xb8\\xb3,_K\\xf2\\xd7j\\xf6\\xae\\x9c\\xa8\\xe3pZ`\\x99O\\xdc~\\xa9M\\x1a\\xeb\\x94{\\xef\\xd0\\xe0\\xf3\\xcc\\xd4+\\xf7\\x8e\\xf9\\xcfO\\xd2[\\xbf\\xf9\\xa3\\x8aw\\xef1\\x8d.\\x96\\xd4\\xdf\\xbd\\xd6\\xabZ\\xb21d\\xa4\\xa4\\xeb\\x97\\x03\\xaf\\xb0\\xdfZ\\xb9y\\x98o\\xb3\\xfe\\xbd\\xf0Q\\x15\\x94\\xda\\xbf\\xaa\\xea+\\x86p\\x97+\\xf3\\x91\\x99\\xa2Q\\xb7\\x0e\\xd1\\xc0\\xd3\\xbb\\xba\\x19\\x8a\\x16\\xbe\\xb6ZS\\xff2O\\xc5\\xf9\\xf6\\xaf\\x91\\xfa\\x8a\\xc5\\xc6\\x90\\xa4&\\xea\\xa1\\x7f\\xd9o\\xad\\xdc<\\xcc7Y\\xdf\\xeaW*\\xd7\\xee\\xfa\\x8c\\xc1\\xb4m\\xaeY\\x8cl\\x95\\x9e\\xa5\\xe7\\xc7\\xdc\\xa6\\x91\\x9d\\x9d\\xfd%[W\\xcc\\xcf,\\x9e\\xa2_~p\\x97v\\x17\\xdb\\xbfr\\xeb+\\x17Uq\\x04\\xb2\\x9a\\xeb\\xb8\\xdb\\xff\\xa2\\x0e\\x879\\xfbV\\xba\\xae8\\xcc7Y\\xb3\\xee\\xbcW%\\x05\\xf5\\x1e\\x87\\x1dW\\xbeFIJ=\\xa2\\xb3\\xfd\\xd6\\xca\\xcd\\xc3|\\x9bU\\xfc\\xe9Z\\x85J\\xca\\xeb;\\x1f\\x95\\xe7GF\\x86:\\xfe\\xe67\\xca\\x1au\\x92\\x9ba(o\\xea\\xbb\\xfa\\xee\\xde{U\\x1e\\xa7|\\xa4\\xa4d\\xea\\xd0\\x83oV\\xb7\\xaec]\\x8dc\\xd5\\xea\\xd7\\xf5\\xe5\\xdc\\xdbTZ\\x9a_\\xdf\\xf9\\xb0\\xe7\\xb9?-[M\\x8f|D\\x8d\\xda\\x1e\\xe3j\\x1cE\\xab^\\xd2\\xee/nP\\xa8\\xb4^?\\x03\\xf7\\xf9\\xfcHj\\xd4H\\x1dF\\x1c\\xa9\\xac\\xbe\\xbd\\\\\\x8d%/g\\x99\\xd6\\xcf\\xf8D\\xe5%%\\xf5\\x9d\\x13{\\x8e4\\xf2\\xa7hD\\xd6\\x81\\xea\\x9ba\\xee\\xf9p\\xef\\xc8)X\\xab\\x19y_\\xab\\xa4\\xc2\\xf9\\xe7\\xa0\\x93\\x02\\xcb\\xdc\\xed\\xa4\\xb6\\x83\\xfa\\xebg\\xef\\xbd&Sd\\xd5\\xc7a\\x8a\\xab\\xc7O8]\\x9b\\x16T}{\\xe2\\xa4\\x8fuu\\xc9\\xc6\\xd0\\xa3iW\\xdd{\\xe4\\xdfd\\x8a\\xac\\xfa8Lq\\xf5\\x9bO\\xfe\\xa0ow\\xad\\x0e7\\xeff\\x0c\\xe16m,m\\xfa6\\xd7\\x85/\\x1d\\'Sd\\xd5\\xc7a\\x8a\\xabg&|\\xa0\\xcd9{\\xe7\\xa0\\xd8\\xd96\\xae\\x1d6\\x86L\\r\\xd6@\\xcd\\x90)\\xb2\\xea\\xe30\\xc5\\xd5B\\x8dP\\xbe\\xe6\\xd7W>l\\x1c\\'w\\x1b\\xaeI\\xa7\\xfd]\\x81\\xe4\\xd8\\xbe%\\xa9\\xc9`wI\\x81\\x8e~\\xe1\\n\\xcd\\xdf\\xba\\xbc^\\xe3\\xe84|\\x98N\\xb8\\xebv%\\xa7\\xd6O\\x1c\\xa6\\xb8z\\xf3\\xf2\\xab\\x95\\xbb\\xcc\\xdc\\x0eS\\\\-\\xbf\\xfa\\x17\\n\\xae\\xa8\\xdf|d5\\xef\\xa3\\x13F>\\'Sd\\xd5\\xc7a\\x8a\\xab\\xf7\\xde?_y;\\x96\\xd4\\xeb\\xb8J\\xedp\\x82\\x9a\\x1e\\xfd\\x94|Ii\\xf5\\x11\\x86-\\xae\\xf2\\xa6\\x8dQY\\xde\\xa2\\xfa\\x8a\\xa3\\xea\\x1c\\t\\xb4j\\xa9\\x9eg\\x8d\\x95)\\xb2\\xea\\xe30\\xc5\\xd5\\x8a\\x97_Wpkn}\\xc5b\\xcf\\xf5V\\x8d\\x9a\\xe9\\xac\\xd6\\xc7\\xc8\\x14Y\\xf5q\\x98\\xe2\\xea\\xe5-\\x1fik\\xc9NGqD\\xfa\\x86`\\xabvsIp\\xc4\\x1f\\x7f[\\x1f\\xfd\\xffQ\\x9b3\\xee\\xb8\\'|\\xc9\\xd0,\\xe5p\\xbc\\x0b/jc0\\x97\\x04/\\xecS\\x9fW\\x1f\\xbf\\xef\\xe93K^\\x0c_2t+\\x86p\\xe36\\x16sI\\xf0\\xa8k\\x9d\\xcd\\xc1\\x88\\xd6\\xf1\\xe3\\xfb\\x17\\x85/\\x19\\xba\\x15\\x8b\\x8d\\xc1\\\\\\x12\\xecl\\xa7\\xdd\\xd5\\xff\\xb1V\\x7f\\r_2t+\\x06\\xd3i\\xfb\\xd7\\x93\\xb9$\\xf8\\x97a\\x97\\xd7\\x7f\\x10\\xff\\xabFn\\xfd\\xec\\xb1\\xf0%C\\xd7\\xe30\\x97\\x04\\x0f\\xbe\\xe2\\xd2\\xb8\\xc41\\xf7\\xd1\\'\\xc3\\x97\\x0c\\xdd\\x8c\\xc3\\x8e+sI0uHl\\x97\\xd1\"E(\\x9e\\xb7!|\\xc9\\xd0\\xf58\\xcc%\\xc1\\xb6\\x97^\\x16iWbz\\xde\\xa6\\'\\x9f\\x08_2t=\\x0esIp\\xd0\\x80kb\\xea_\\xa4\\xbf\\xbc`\\xd1\\x03\\xe1K\\x86n\\xc6Qy\\xe5c\\xd0\\xef\\x959\\xe8\\xf7\\x91v%\\xa6\\xe7\\xe5/\\xb83|\\xc9\\xd0\\xcd8L\\x9f\\xec9b.\\t\\xb6\\x1d\\xea\\xee7\\xd45\\x05\\xbci\\xf6\\x9c\\xf0%C7c\\xb1q\\x98K\\x82C\\x9b\\xf5\\x8b\\xc9:\\xd2_\\x9e\\xbdsq\\xf8\\x92aDqDR`\\xd9\\xeb\\xcd\\xbdF\\x8d\\xd4\\x05\\x93\\x9f\\x8d\\xb4\\x1f\\xae<\\xef\\xd9q\\x17h\\xd9T\\xbbTV\\xac\\x13\\xdfm\\x0c\\x87\\xb59X\\x7f\\x1bj\\xfe3~\\xc7\\x1ff\\xdf\\xa6/6\\xcfu#\\x86p\\xa7m,=\\x8fm\\xa7\\xb3\\x9f<:~\\x81\\x98\\x8b\\xf5\\x97\\xce\\xd4\\x8a\\x0f\\xed\\xdc\\x13W\\xf2\\x91\\xa5\\xd1\\xea\\xa77\\xe3\\x1a\\xc3b\\x9d\\xaa<\\xd9\\x1bUc\\x8d\\xc1\\xb4a\\xaf\\xfb\\x0fnu\\x80\\xbe\\xbe\\xe8\\xf9\\xb8\\xc61\\xe6\\xd5_\\xeb\\x9dU\\xb3\\\\\\x8d\\xa3e\\xaf\\x9e\\x1a?\\xf1\\xa9\\xb8\\xc61\\xe5\\xda\\xdfi\\xdd\\xac\\xcf\\xdc\\x8a\\xc3\\x9e\\x1b\\xc9\\x9d\\x9a)0*\\xbc\\xfc^|\\xc2\\tN]\\xa1\\xb2u\\xf6\\xaf[7\\xc6\\x95\\x8d\\xa3\\xe9\\xb0a\\xea~w\\xd5\\xbc\\xd4\\xb8\\x04\\xb2\\xf2w\\xd7k\\xd7g\\xee\\xe6\\xa3}\\xbbc4\\xe2\\x98G\\xe2\\xd2\\xff\\xf0\\x8b\\xcc\\xf8\\xe8Jm\\xd8\\xf8\\x91[\\xf9\\xb0\\xe7yr\\xd6\\x00\\xb5\\x18\\xb3\\xf7.\\xcc8E\\xb3s\\xc6\\xd9*^\\xff\\x9e[q\\x98v\\xec\\xd8j\\xd2\\xb5\\xb3\\xba\\x8f;9NQT\\xbe\\xcc\\xca\\xc9\\xefh\\xf7j\\xb3\\x04\\xa6{\\xe7H\\xd7@[\\x8dk5<\\xaeqL\\xde:K\\xab\\x83\\x9b\"\\x8a\\xa3\\xae\\x02\\xcb\\xde\\x11en\\xc7\\xbe~\\xd9\\x1c\\xa5\\x04\\xea\\xe7+\\xd1\\x9atJ\\x83E\\xfaG\\xafC\\xec\\xed\\xdf\\x92\\xae\\xfa\\xdf\\x15\\xb1\\x87\\xa3\\x90\\xb414Km\\xaa\\x89\\'>\\xae\\xd4\\xa4\\xfa\\xf9*\\xb4\\xa6~\\x15\\x97\\x97\\xe8\\xdci?\\xd3\\xce\\xe2]\\xb1\\xc4\\x10n\\xbe2\\x1f-\\xd2\\xf4\\xabY\\xa7*9\\xad~.}\\xd4\\x14KYQ\\xb9\\xfe5\\xfcM\\x15l\\xb7wK\\xc6\\x94\\x8f\\x14\\xb5\\xd2\\xa1Z)\\x7f\\xe5]\\xf3q;*\\x14\\xd4\\x97\\xea\\xaeRm\\x8d%\\x86\\xef\\xdf\\xa8R3\\xf4\\xdd\\xcf\\xdfQ\\x93F\\xf5s\\xf9\\xa6&\\x98`Y\\xb1\\xba\\x96\\xd3\\x18L\\x936\\x8ex\\xce\\xbb\\xaa)\\x8ej\\xf3\\xb1\\xa2\\x8e#\\x9e\\xf3\\xaej\\x8a\\xa3\\xda|\\xac\\xa8\\xe3\\x88\\xe7\\xbc\\xab\\x9a\\xe2\\xa86\\x1f+\\xea8\\xe29\\xef\\xaa\\xa68\\xaa\\xcd\\xc7\\x8a:\\x8ex\\xce\\xbb\\xaa)\\x8ej\\xf3\\xb1\\xa2\\x8e#\\x9e\\xf3\\xaej\\x8a\\xa3\\xda|\\xach\\xe2\\xa8z\\xcf\\x8a\\xe7\\xbc\\xab\\x1a\\xc7\\xd6\\xf7\\xf3\\xb1\\xa2\\x89\\xc5\\xbe\\xf7\\xc6s\\xdeUMqT\\x9b\\x8fUc\\x1c5\\x15X]|~\\x7fNJ -p\\xcd\\x97\\x1f\\xc4\\xbc\\xceU\\x04\\x85P\\xadO1\\xebd=p\\xe8q*\\r\\x16\\x99\\x15\\xdf\\xfb\\xfe\\x0f8\\x92mu\\xba\\xf8|\\xbe\\x9c\\xd4\\xa4\\xd4\\xc0c#\\xee\\x8fy\\x9d\\xabXc0\\xebd]>\\xe3Z\\x15\\x97\\x17\\x9b\\x15\\xdf#\\x8d!\\xfc\\xb2]|~_NJZR\\xe0\\x8awO\\x8ay\\x9d\\xabXc1\\xebd=z\\xd2\\xbb*-*7+\\xbeG\\x1aK\\x17\\xc9\\x9f\\x93\\xa4@\\xe0 }\\x1d\\xf3:W\\xb1\\xc6`\\xd6\\xc9\\xfaJ\\x07\\xaa\\\\f\\xb5\\xc5\\x88\\xc7\\x94y\\xd9.~\\x9f?\\'\\x90\\x9c\\x1aXp\\xf1\\xc4\\x98\\xd7\\xb9\\x8a5\\x0e\\xb3N\\xd6\\xa0\\xa7\\xceU\\xb0\\xac\\xd8\\xac\\xf8\\x1ei.l\\x1cfL%\\xa7\\xa6\\x05\\xce|\\xf1\\xe9\\x98\\xd7\\xb9\\x8a5\\x0e\\xb3N\\xd6\\xa4\\xb3/RY\\xb19\\xc7#\\x1eS6\\x0e\\xf9\\x94\\xe3K\\xf6\\x07\\xd2\\xcf\\xe8\\x1f\\xf3:W\\xb1\\xc6a\\xd6\\xc9*|\\xf5\\x1b\\x85\\xca*\\xcc\\x8a\\xef\\x8e\\xf2!\\x9f/\\xc7\\x9f\\x96\\x16\\xe8\\xf3\\xf431\\xafs\\x15k\\x1cf\\x9d\\xac%\\x17]\\xa8\\x8a\\xa2\"\\xb3\\xe2\\xbb\\xa38|>\\x7fNRRZ`\\xcc\\xe87b^\\xe7*\\xd68\\xcc:YoO9M\\xe5\\xe5Ef\\xc5wGq\\xc8\\xe7\\xcf\\xf1%\\x05\\x02-N\\xf9$\\xe6u\\xaeb\\x8d\\xc3\\xac\\x93\\xb5\\xfd\\xad#\\x15*\\x0f\\x9a\\x15\\xdf\\x9d\\xc4\\xb1\\xf7\\x1c\\xf1\\xe5\\xf8\\x93\\x93\\x03\\xbd/\\x98\\x10\\xf3:W\\xb1\\xc6b\\xd6\\xc9Z\\xfa\\xecK\\xe6\\x92\\xa1\\xf3\\xb1%_N\\xb2/)pA\\xbb\\xe3c^\\xe7*\\xd68\\xcc:Y\\xcfn\\x9c\\xae\\xb2P\\xb9Y\\xf1}\\xbf9\\xa9\\xa9\\xc0\\xfa\\x9d\\xa4\\xbb\\x0e\\xbd\\xfc\"\\x9d\\xfa\\xaf\\xbfG\\xd5\\x8feS\\xa6\\xeb\\xe3\\x7f\\xfc[[\\x96,\\x97B!u8\\xf8@\\x8d\\xb8\\xf9zu:\\xec\\xe0\\xa8\\xda{\\xf3W7\\xea\\xcb\\xc7\\x9e6\\xbf{\\xc3\\xff\\x16\\xc9\\xbe;\\x82Fl\\x0c\\xa7t\\x1d\\xa5\\xeb\\x06\\x9b\\xcb\\xbd\\xd1\\x1d{J\\xf3u\\xe7\\xdc\\xfb4{\\xf3\\x1c\\xfd\\xe9\\x90\\xebul\\x87#\\xa3kH\\xd2}\\xf3\\x1f\\xd2[\\xab\\xa7:\\x89!\\xfcZ6\\x96!\\xe7\\xf5\\xd0\\xe8\\xdb\\x9d_6\\xd8\\xb5\\xa1@\\x9f?\\xbe\\xd4NP\\xdf\\xbd\\xa9P\\xe9\\xcdS\\xd5\\xaaW3\\x1d\\xf1\\x8b\\xbe\\xea|X\\xe5v\\x14N\\x8f)\\x7f\\x9a\\xa3y\\xcf\\x9b\\xbd\\xbb\\x9d\\xe5\\xa3\\xad\\xaeT\\x0f=\\xe8\\xf4\\xe5\\xb4C\\xd3\\xb5YO\\xd8\\x95\\xda\\xcd\\xfc)\\xbfR\\x15P/\\xb5\\xd6\\x85jg/\\xe7;\\x9fs\\xf3\\xad\\xae\\xd6&\\xd9\\xc9\\xb7\\x91\\x8e)\\xf3\\\\\\x9b\\x8b\\x9f\\x0f>C\\x0f\\x1d\\x7f\\xa3\\xe38~\\xf8\\x0b\\xdb\\nwh\\xf0\\xd3\\xe7ic\\xfe6\\xcd\\xb9\\xe0\\x19\\x1d\\xdc\\xa6\\x8f\\xe36\\xaf\\x9a\\xfew=<\\xff\\xd5\\xa8\\xe2\\xe87~\\x9c\\x8e\\xbc\\xe9z\\xc7\\xaf9\\xfd\\xa6?k\\xe5{\\x1f\\xec\\xf7\\xf7\\x06\\x9d\\x7f\\x8e\\x86\\xfe\\xda\\xf9\\x1dc\\x9f\\xfc\\xdf?\\xb4\\xf8\\x95\\xc9Q\\xc5\\x91\\xd2\\xb7\\x95\\xd2\\x86G\\xbf\\xfe\\x8d]\\xa9}\\xc96\\x95o\\xda\\xa3\\n3\\x8f*$5\\xea\\x93\\xad\\xd4a\\xce\\x17\\xc2,\\x9a\\xb5V\\xa59v\\x8e\\x9f\\xe3q\\xd5r\\xdc8u\\xba\\xde\\x0c\\xb1\\xc8\\x0f3g\\xaad\\xf3\\xe6Z\\x7f!\\x9a\\t\\xf3\\xeb\\xfeq\\xb7r\\'G\\x97\\x8f\\x03z\\x9e\\xa3\\xc3\\x0e\\xb9%\\xf2 \\xf6>\\xb3\\xbc\\xa2DK\\x96\\xfcW\\xab\\xd7\\xbe\\xad={\\xd6))\\xa9\\x91\\x9a4\\xee\\xa2\\x1e\\xdd\\xc7\\xdb\\x1f_\\x14\\xf3m\\xbe\\x98s\\x8b\\x96\\xaf\\xb0\\x0b@;\\xceG\\xe0\\x80K\\xd4\\xe4\\xf0{\\x1c\\xc7\\x11\\xaa(Q\\xe1\\xe2\\x07U\\xb4z\\x92Lqd\\xe6n5j=L\\x19\\x03\\x7f\\xa7\\xe4\\xe6\\xe6\\xb3\\xd8\\xf9\\xb1\\xfb\\xf3\\xdf*\\xb8\\xdc|\\x81\\xe3(\\x8e\\xaa\\xf7\\xac\\x96\\x83\\xfa\\xa9\\xe3q\\x11\\xdc\\x18\\x15\\n\\xc9\\xde\\xf5\\xf7\\xf9\\\\\\xb5\\x1c\\xd8O\\x1dG\\xee\\xffwB\\x15\\x15\\xda\\xf6\\xf5\"m\\xfff\\x89Jv\\xed\\x96\\xbfQ\\x8a\\x9at\\xe9\\xa4v\\xc3\\x0f\\xb7[\\xeb\\xd4v|\\xf7\\xc1L\\xe5.0\\xcb\\xf99\\x8a\\xc5\\xbe\\xf7\\x0ej\\xdc]\\xc7e\\x1dT\\'`H!\\xcd\\xde\\x99\\xa3\\xcfw\\xe5h`\\xe3n\\x1a\\x995\\xa4\\xd6\\xdf\\xc9-\\xdd\\xa5\\xb7\\xb6\\xcd\\xd6\\x8e\\xd2=\\xba\\xb2\\xc3)vK\\x9d\\xba\\x8e\\x0f\\xf2\\xbe\\xd2\\x82=+k\\x8c\\xa3\\xa6\\x02\\xeb\\xcb\\xff\\xcd\\xbf:\\xe4\\x8a\\x0f\\xdft\\xbc\\xfd\\x8dy\\xa5\\xaf\\x9f{Y\\xaf^~\\xad\\x9a\\xb4ok\\xf7\\'4ka,~\\xedm\\x15\\xef\\xc9\\xd7\\xc5\\xef\\xbc\\xa4\\xaeG:\\xdb\\xfe\\xc4\\xb4i\\xb6\\xd5y\\xf4\\xd8S\\xcd\\x7f\\x9a\\xe5a#Y\\xc5\\xd1\\xc6\\xf0\\xaf\\xa3\\xeft\\xbc\\xfdM\\x18u\\xd9\\x8eo\\xf5\\xd7/\\xefTn\\xd1v\\x95U\\x94\\xc7\\\\`\\x99mu~5\\xd3\\xde\\xe2\\x1bi\\x0c\\xe1\\xae\\xd8X.y\\xe5x\\xc7\\xdb\\xdf,\\xff`\\x83^\\xbd\\xfaS\\xf9\\xfcR\\x8fc\\xda)\\xabKc\\xe5o+R\\xce\\x94u*-,\\xd3\\xd8\\x7f\\x0e\\xd5\\x80\\xb1\\xceW!6\\xdb\\xea\\xfcw\\xbc\\xdd\\x0f,\\xd2Xl\\x0c\\x83\\xf4\\x89\\xe3\\xedo\\xbe\\xd3\\xdf\\xb5F\\x7fR\\x9a\\xba\\xab\\xb9\\x8eS\\x8aZ\\xabL\\xdb\\x95\\xab7T\\xa2\\rj\\xa7_\\xaa\\xbb\\xfeY\\xd7\\xb9\\xf0\\xa3\\x7f7\\xc5\\xda\\x02\\xd9\\x829\\xd2\\x18\\xccsm\\x1c\\x9f\\x9e\\xfb\\x84\\xe3\\xedo~\\xd8\\x01\\xf3\\x06p\\xf2+\\xd7i\\xc6\\xba\\xb927CD[`\\x99mu\\x8e\\x98ho\\xe5w\\x1c\\xc7\\xd8\\'\\x1fv\\xbc\\xfd\\x8dy\\xa1\\xb7\\xae\\xfc\\xa5\\xb6\\xe6,Q\\xf7\\x13~<\\x8f\\xae\\xe3\\xd0\\xc3\\xd4}\\xe4\\x08\\xc7\\xf90\\xdb\\xea\\xbc~\\xa9\\x99\\xab\\xee<\\x8e\\xf4\\xd3\\xfa8\\xde\\xfe&\\xdc\\xc1\\xf0e=3A>\\xb9s\\xb3\\xaao\\xc1\\xcc\\xffN\\xe9\\xe5l\\xbb)\\xd3\\xa6)\\xd6\\n\\xdf\\xb0k19\\xceG\\xaf\\x87\\x1fq\\xbc\\xfd\\xcd\\x86\\x87\\xfe\\xa3\\xb2\\x9d\\xf6&\\x9a\\x1f\\x1df\\x0f\\xc2\\xdd\\x9f\\xcfV\\x8b1\\xa7\\xa8\\xf3M79\\xca\\x89\\xd9Vg\\xd9\\xcf\\xaf\\x8c*\\x8eQ\\'\\xbc\\xe8x\\xfb\\x1b\\xf3B3>\\xbaB\\x1b6\\xceT\\xebV\\x87\\xa8]\\xdb\\xe1\\xaa\\x08U\\xe8\\xbb\\xf5\\xef+/o\\xb1:w:IG\\r\\xbf\\xcfQ\\x0c\\xe6\\xc9f[\\x9d\\xa9\\xef\\xd9\\xa5y\\x1c\\xe7#\\xeb\\xa4\\xa9\\x8e\\xb7\\xbfQ\\xa8L;\\xa6\\x8fW\\xc9\\xe6\\x8f\\x95\\xd2\\xf2 5j}\\x84*\\xca\\nT\\xbc\\xe6u\\x99I\\xeb\\xcd\\x8e{\\xc9\\xfe\\xff\\x9c\\x1ef[\\x9d\\xbcw\\xedo\\xbc\\x92\\xd3k^g\\xd2l\\xab\\xb3\\xfc\\xc5\\xd7\\x9c\\xc6b\\xdf{\\xcfn3\\xa2\\xce\\xedo\\xcc\\x04\\xf4)\\xb9\\x9fk}q\\xae\\x1dCu\\x15Xf1\\xd1\\xf7\\xb7\\xcfS\\x85B\\xf6\\xf9\\x91\\x16Xf[\\x9d\\x177\\xcf\\xa81\\x8e\\xfd\\x15X#\\xcd:\\x19\\xa60:\\xf7\\xc5\\xaam\\x14\"\\x1e\\x0b\\xa5\\x85A\\xdd\\xd5\\xfd@\\xa55k\\xaa\\xab?\\x9f\\xae\\xb4\\xa6\\x95\\x13Nw~\\xb7A\\x0f\\x1ez\\x9c2[g\\xebW_\\xcd4\\x1b\\xb4\\xe8\\xc9\\x98\\x0b,\\xd3\\xf6_\\xbe\\xf8\\xbf\\xf0\\x06\\xd1u\\xc5\\x10\\xee\\x8a\\x8d\\xc5l\\xdc|\\xe6\\xc3\\xce\\xbf=\\x0b\\xee(\\xd6G\\xf7-\\xd2\\x91\\xd7\\xf4Wf\\xf6\\xf7\\x15\\xf9\\xd6e;\\xf5\\xf8)\\xd3\\xecF\\xd0\\xe6\\x8e\\xc4h\\x8eI?\\xff$\\xbcAt]\\xb1\\xd8\\x18\\xcc\\xc6\\xcd}\\xf5\\x8a\\xe3\\x97*\\xd7\\x1e\\xed\\xd2,e\\xc9\\xbc\\xb9|?d\\xcb\\xb4S\\xf34P\\xa5\\xda\\xa6a\\xda.\\xbf\\x9c/\\x1c\\x9b\\xa3\\xf1\\xe1\\r\\xa2\\xeb\\x8a\\xc1\\xf4\\xdb\\xc6a6n~m\\xec]\\x8e\\xe3\\xf8\\xe1/\\xdc\\xf5\\xe53\\xfa\\xd3\\'\\x0f\\xe9g\\x03\\xc7\\xea\\xa1\\xf9\\xafD]`\\x99vO\\x7f\\xfd\\x86\\xf0\\x06\\xd1\\x11\\xc7a6n>\\xd8\\xf44k\\x00\\x00 \\x00IDAT\\xf1\\x1f\\x7f\\x8b*\\x8e\\x97\\xcf:_\\xfe\\xe4\\x14\\x8d\\x9fh\\xff\\xa2v\\xed\\x98v\\xfd\\x1f\\xc2\\x1bDG\\x1c\\x87\\xd9\\xb89pB\\x8f\\xa8\\xfaP\\xfa\\xedv\\x15\\xcdX\\xa5\\x94\\x1e-\\x94zT\\x17\\xf9\\\\\\xba\\xfb0\\xf8\\xde\\xb7\\xe1\\r\\xa2#\\x8e\\xc3l\\xdc\\xdc\\xedo\\xff\\x17U\\x1c5\\xfd\\xd2\\xba\\xbb\\xefR\\xee\\xeb\\xaf\\xab\\xcfSO\\xcb,X\\xea\\xf4X\\xf5\\x87\\x9b\\xc2\\x1bDG\\x1c\\x87\\xd9\\xb8\\xf9\\xe8#\\x1fp\\xfaRv\\x81\\xd0w\\xde\\x1d\\xab\\x8e\\x1dF\\xea\\x98\\xa3\\xbe\\xff\\x96;\\x14*\\xd7\\xd4\\xf7\\xceQ\\xee\\xf6\\x05:\\xfd\\xb4\\x0f\\x95\\x91\\xd1\\xceq\\xdb3?\\xb9&\\xbcAt\\xc4q\\x98\\x8d\\x9b\\x9b\\x1d\\xf3\\x8c\\xe3\\xd7\\n\\xae|A\\xbb?\\xbdZ\\x81^\\x97\\xaa\\xc9a\\xdf/\\xb3Q\\x11\\xdc\\xa2\\xbcw+o\\xaei1\\xf6K\\xf9\\xfc\\xce\\xefh\\xdf\\xf9\\xd1\\x85\\xe1\\r\\xa2#\\x89\\xa3\\xea=\\xabY\\x8fn\\xeazj\\xed7\\xb1\\xe4o\\xd8\\xa45oOS\\xa8\\xbc\\xc2~k\\xb5\\xfa\\xedi5\\x16X\\x05\\x9b6k\\xf9\\x0b\\xaf\\xa9Y\\xcfn\\xea:\\xe6D\\xb3y\\xb8\\x8dk\\xd7\\xaa5Z\\xf5\\xfa\\x14\\xb5\\x1c\\xd8W\\x1dG\\xd6\\xbe\\xca\\xfd\\xea7\\xa7\\x867\\x88\\x8e$\\x16\\xfb\\xdek6n>5\\xbb\\xf6\\x9b&\\xcc\\x86\\xcdoo\\x9b\\xad\\xf2P\\x85F\\xb6\\x18b\\xff\\xbb\\xa6\\x02\\xcb\\xba\\xdfQ\\x1c\\xe62\\x9e\\xb9\\x9c\\x17\\xcd\\xf1\\xd4q\\xa3\\xd5\\xaa__\\x8d\\xfe\\x97\\xbb\\xeb4-xv\\xa2f\\xdfg?\\\\#\\xc9\\x87\\x1dW\\xa9\\x87wT\\xa3\\x81Q\\xdcU\\x1b\\x92\\n^\\\\(\\xf9}\\xca8\\xb3\\xbf}t\\xeb(Y\\xb8Y\\xc5\\x9f\\x7f\\xe7(\\x8e\\xf6W_\\xa3\\xd6\\xe7\\x9e\\xebV\\x17T\\xba}\\xbb]r\\xa1\\xf1\\x81\\x07\\xaa\\xc7?\\x9d\\x7f\\xf3c:\\xb2e\\xe2Dmx\\xd0\\x16K\\x11\\xe7c\\xc8\\x817\\xa8o\\x1f\\xe7\\x8b\\xa3n\\xde<[\\xd3g\\\\\\xac!\\x07\\xdd\\xa8\\xbe\\xbd\\xf7\\xbd\\x97i\\xce\\xbc;\\xb4t\\xd93:y\\xd4k\\xca\\xcar\\xbe\\xa8d\\xce\\x92\\'4\\xefk\\xfbGQ$q\\xd8\\xf3\\xbc\\xf1\\xc1\\xb7)\\xbdo\\xd5]\\xba\\x11\\xe7e\\xd7\\xc7?S\\xd1\\x9a\\xd7\\xd4\\xf2\\x8cEJ\\xca\\xd8w\\xb1[\\xb3\\x15\\xce\\xaeYW\\xa9\\xd9q/+\\xb5\\xbd\\xa9\\x19\\x9c\\x1d\\x85\\x8b\\x1f\\xd0\\x9ey\\xf6\\x8e\\xf4H\\xe20\\xcf\\xb3\\xe7H\\xfb\\xa3\\x86\\xa9\\xd5\\xc1\\x83k}\\xb1\\xddk\\xd6i\\xd3\\xac/*\\x0b1\\x9fO\\x8b\\x1f{\\xa6\\xc6\\x02\\xeb\\xbb\\xf7g*w\\xe1b\\xf5\\xbep\\x82\\x02-\\xf7\\xdd\\x86j\\xf9\\x0b\\xaf*\\x98\\x9b\\xa7\\x01W]*\\x7fr\\xcd\\x9f+[\\xe7\\xce\\xd7\\x86\\x8f\\xed\\x9ak\\x91\\xc4b\\xe38\\xaa\\xf9@\\x1d\\xdc\\xa4\\xf6-}\\xd6\\x047k\\xd6\\xceotj\\xf6P\\xf9\\xe4\\xd3c\\x1b\\xde\\xa9\\xb1\\xc02\\xdfX\\xbd\\xb6\\xe5cu\\t\\xb4\\xb1\\xedN\\xdb>G\\x8b\\xf3\\xd78*\\xb0\\xe6\\xee^\\xa6\\x8fw,\\xdco\\x1c\\xfb{G1\\x93\\xae~?\\xfe\\x89\\x7fk\\xf0\\xb9\\xe3\\x9de\\xdf\\xac\\xa1p\\xc3_\\xf4\\xd9\\xbf\\x1f\\x95\\x99\\x1c\\xdff\\xc0\\xbe\\xd7\\x9a\\xbf\\xfd`\\xa6\\x9e\\x1as\\xb6\\x8e\\xbf\\xf5F\\x1d}C\\xd5m\\xc0\\x11\\xbf\\xc6\\xfc\\x89\\xaf\\xe8\\x95\\xcb~i\\x9eov\\xc4\\xacm\\x02\\x8c\\x8d\\xe1\\xc6\\x83\\x7fm\\xbf}\\x8a\\xe60\\x97oLr\\xcc1m\\xdd\\x07\\xbak\\xde\\xbf\\\\)\\xb0\\xa6\\x7f\\xf7\\x91\\xfe>\\xd7^\\xce\\xaa+\\x86p\\xb7m,c\\xef\\x1d\\xaa\\x01\\xe3\\x9c_\\xca\\xab-\\xf6GF\\xbd\\xab\\x1d\\xeb\\xf6\\xe8\\xc6\\x9c\\xb3\\xa2!\\xd2\\xa2\\xc9k\\xf4\\xfaofG\\x12\\x8b\\x8d\\xa1\\x97\\x9eru\\xaf\\xc1\\x1dz_\\x8bu\\x8a]\\xee\\xa1\\xbf\\xde\\x8e*\\x06\\xb3W\\xe12]\\x1cI\\x0c\\xe69\\xa6\\xba\\xbfy\\xe2\\x98\\xdbuN\\x9f\\xaae\\x1e\\x1c\\xbf\\xee\\xce\\xe2=:\\xf0\\xe9\\xf3\\xd4\\xa3YGM;\\xf3\\xdf\\xfa\\xbf/\\x9e\\xb2\\xdfdE{\\x89\\xd0t\\xe0\\xd9\\xc5St\\xe1\\x94\\xbf8\\x8ac\\xe4\\x1d\\xb7\\xa8\\xc7(\\xe7\\x9b$\\x98K\\x07\\x8f\\x1ev\\xb4z\\x9d2Z\\xc7\\xfc9\\xbao\\x88kB3{\\x15\\xce\\xf8\\xf3m\\x91\\xc6a\\xc7U\\xda\\xb1\\xdd\\xa2\\xdak\\xb0|k\\xbe\\n__\\xa2\\xd4\\xc3:\\xaa\\xd1\\xa0\\xca\\x02-T\\\\&_JR\\xcc\\xc5\\x96\\xd9\\xab\\xb0\\xe8\\xc3U\\x8e\\xe2\\xe8r\\xf3\\x9f\\x955\\xca\\xbd\\xa526<\\xf8\\xa0\\xb6L|^\\xb1,\\xf9\\x907u\\xaa\\xd6\\xdcf\\xff\\xa8\\x8d\\xe4\\xfd\\xca\\xe6\\xe3\\x88\\xa1w\\xa9[\\xd7\\xd3\\x1c\\x9f\\x17\\xc5\\xc5;\\xf4\\xda\\x1b\\xc7\\xaay\\xb3\\xde2\\xcb;$\\'W\\xae\\x91g\\xe6B\\xbf3u\\x9c\\xca\\xca\\n5\\xf6\\xd4\\xf7\\x95\\x14\\xc57?\\xabV\\xbf\\xa1Og\\x9b)X\\x11\\xc5a\\xcf\\xf3\\xa6G>\\xa6\\xb4\\xaeg8\\x8e\\xc3,\\xa9`\\x96Vhu\\xde&\\xf9\\x92\\xf6\\xddn\\xaal\\xd7rm\\x7f\\xe3pe\\x0c\\xf8\\x8d2\\x0f\\xfc\\x93\\xe3\\xb6\\xc3\\x05Z\\x84q\\x98\\xf6mN:\\x9ft\\x9c\\xdd\\xc8\\xb9\\xce#\\x14\\xb2\\xc5U\\xc9\\xee=v\\xcd\\xaa\\x9a.\\x11.}\\xeee\\xfb\\x9c\\x81?\\xf8\\x12\\xc5\\xb4\\xbf\\xf1\\xd3/\\xb4\\xe5\\x8by\\xaa\\xeb\\x92\\xa4\\xd9\\x10z\\xed\\xbbv\\x1eg\\xc4c\\xeb\\xa4\\x96\\x87\\xdao\\x9a\\xea:\\xc2\\x9f\\xdf\\xbb\\xcb\\n\\xf4\\xf8\\x86)\\xb5^\"\\xac\\xfeY?u\\xfb\\x1c\\xe58,\\xb0\\x96\\x14\\xac\\xd5\\xbb\\xb9\\xe6\\xea\\xe5\\x8f\\xe3\\xd8_\\x81\\xf5\\xf2\\xff6\\x93=\\xf3\\x92)/\\xab\\xfb\\xb1\\xce/IM\\x9cp\\xa9r\\xde|W\\x7f\\xde\\xf6\\xad\\x1a\\xfd`\\xa2\\x9b\\xb9\\x1b\\xf0\\xde~Cu\\xd0\\x05\\x13t\\xfa\\xa3\\xce\\xff\\xa2Z\\xf9\\xe1\\'\\xfa\\xefh[\\x0cL\\x92T[U`c\\xb8{\\xf8_uPv\\xeck_\\xb9Y`}\\xb5m\\x81~7\\xcb\\xfe\\x05RW\\x0c\\xe11dc9\\xff\\xb9\\x11\\xeaz\\x84{k~\\xe4\\xad\\xd9\\xa3\\x07G\\xbc\\xad\\xbe\\xa3;\\xe9\\x8c\\x07\\x9c\\xcf\\x070\\x9d[\\xfd\\xe9\\x16=w\\xbe\\xbd\\xfe\\\\W,6\\x86\\x01zO\\xcd\\xe4|nN\\x18b\\x9b&\\xa9PK\\xec\\xfc\\xab\\x02-T\\xbe\\xbeRK\\x9d\\xa9n\\xbaK\\xc9\\xca\\xaa\\xeb\\x9c\\xdb\\xef\\xbf\\xef\\xd4\\x0c-\\xd2\\t\\x91\\xc4`\\x9e\\xf3\\x9c\\xa4\\xf3><\\xfba\\x1d\\xd3\\xb1\\xf6\\t\\x93\\xb5u\\xe6\\x8c7n\\x90\\x9975\\xff\\xa2\\x89j\\x9d\\x91\\xa5\\xdbg?\\xa1\\x9bg=\\x1cS\\x81\\xf5\\xc1\\xda9\\x1a\\xf9\\xf2/\\x1c\\xc5q\\xea\\xa3\\x0f\\xa8\\xdd\\x90\\x03\\x1d\\xbb\\x15n\\xdf\\xaegN8\\xd5N\\x030\\x97\\xfa\\xcd\\xfe\\xa1f\\xdf\\xc2\\xac\\x9e\\xdd\\xd5\\xf7\\xf4\\xd3bZOk\\xc3\\x97s\\xf5\\xd6U\\xf6\\x8f\\xaf\\xba\\xc6\\x94y\\x8e\\x1dW\\xd1\\xae}U\\xb2h\\x8b\\x8ag\\xafS\\xe0\\xc4\\x9e2kX\\x95.\\xcbU\\xa8\\xb4\\xdc\\x16W\\xc9\\x1d\\x9b\\xda\\t\\xee\\xfe\\xc6\\xd1\\xed\\xc7XmM\\xac\\x88\\xe3\\xe8y\\xff\\xbf\\xd4\\xf8\\xe0\\xe8n\\x02\\xfaa\\x12\\xcb\\xf3\\xf3\\xf5\\xcd\\xb8\\xb1J\\xed\\xd0A\\xbd\\xff\\x1b\\xfd\\xea\\xfc{\\xe6\\xce\\xd5\\x8ak\\x7f\\xe5(\\x1f\\xc7\\x8fxJm\\xda8\\x9fgk^d\\xe5\\xaa\\xd74\\xfb\\x8b?\\xaaY\\xd3\\x9e:p\\xf0\\xf5JNJ\\xd3\\xdc\\xaf\\xfe\\xa6\\x82\\xc2\\xcd2\\xed6o\\x1e\\xdd\\xb7\\xf8\\xe1o\\xc7\"\\x1cW\\xf6\\xaa\\xce\\x11\\xa7k_\\xd5U`-\\xfc\\xcf\\x13Jm\\xdaD\\xbd\\xce;\\xf3G1\\x98I\\xef\\xeb\\xde\\xfbP\\x9dG\\x1dW\\xeb\\x06\\xd2\\xd5\\xd6\\xc4\\x8a\\xf8\\x1c\\x19\\xdf\\xfahuJ\\x8b\\xfc\\xc6\\xacH\\n\\xac\\xea\\x01DS`\\xad+\\xda\\xaaW\\xb6\\xd8\\x15\\xfe\\x7f\\x14\\xc7\\xfe\\n,\\xb3\\xaf\\xcb\\x90k\\xe7\\x7f\\xa2\\xec^\\xce\\xe75\\x93\\xf9\\xb7\\xbe\\xe3\\xc7\\xea\\xa8\\x9b\\x9c\\xdd\\t\\x17\\xce\\xdd\\xce5k\\xf5\\xe2\\x19\\xf62Y$q\\xd8q\\x95q\\xd6\\x00\\xf9\\x9b\\xd5}\\xc7\\xcf\\x0f\\xc7G\\xf1\\xa7kU\\xb2x\\xab\\xdd\\x14\\xda\\x97\\xe2WJ\\xafl\\xfbX\\xbe9\\xdf\\xfe\\xff}\\xe9)\\xca\\x18\\xdfO\\xbeT\\xe7+^W\\xec,R\\xc1\\xcbv\\xb3\\xde\\x88\\xe3\\xe8;\\xf1\\x05\\xa5u\\xae\\xfb\\xaf\\xf3H\\xc6\\xf9\\xe6\\xa7\\x9e\\xd2\\xc6\\xc7\\x1eU\\xd7[nU\\xf3\\xe3\\x9d\\x7fK\\x19~\\x8d\\xa2\\xb5k\\x95s\\xae\\xbd\\x8c\\x1cq\\x1c\\xa7\\x8eyWM\\x9bt\\x8b\\xa4\\x9b\\xfb}\\xce\\xc6M\\x9f\\xe8\\xc3\\x99?WEEY\\xe5y\\x9e\\xd9I\\xa3NxAii\\xceo8\\x08\\xbf\\xc0\\xae\\xdd\\xab\\xf4\\xe6\\xdb\\'E\\x1a\\x87=\\xcf[\\x8e\\xfdRIM\\x9c\\x7f\\x06\\x96\\xe6\\xce\\xb3s\\xad\\x922;\\xa9\\xf1\\x90[\\x95\\x9c5P\\xa1\\xd2\\x02\\x15\\xad}C\\xc1o\\x9fUE\\xe1f\\xa5u?[M\\x8f\\xf8\\x8fc\\xa3\\xf07`\\x11\\xe6\\xc3\\xb4o\\xcf\\x91>\\x17\\x9f\\xa3\\xb4\\xac\\xe6\\x11\\xbf^]\\x05\\xd6\\xfc\\x7f>\\xa4\\x8c\\x0e\\xed\\xd4\\xf3\\xcc\\x1f\\x7fS\\xb9s\\xf9J;\\x7f\\xab\\xc3\\xb1\\xc3\\x95}\\xe0\\xc0\\x1a_\\xb3(o\\x87\\x96\\xce>\\xf3+\\xa5\\xa48\\x9f\\x0fi^\\xc4\\xac\\xbe\\xfe\\xf9\\x977\\xab\\xac\\xacH\\x07\\xf4<[\\xb9\\xb9\\x0b\\xb4q\\xd3,5ov\\x80\\x86\\r\\xfd\\xbb\\xb2\\xa2\\\\\\xe2\\xa0\\xb4\\xb4@/N\\xb2\\xb7\\xf6G\\x12\\x87=\\xcf[\\x9d\\xb3N\\xbe\\x14\\xe7\\x9f\\x81\\xe6E\\x8a\\xd6\\xbc\\xae=_\\xfe>\\xbc\\xc5\\x8d\\xe5Li5T\\xe9\\xbd.\\xd5\\xaeO.Wz\\x9f+\\xd5\\xf8\\x10\\xe774\\x84J\\xf7h\\xeb\\x0b\\xb6\\x08\\x8f$\\x0e\\xf3<{\\x8e\\x0c\\xbc\\xe6gJj\\x14\\xf9\\xa4\\xfa\\xba\\n\\xac\\xaf\\xff\\xf9\\x902\\xeb*\\xb0F\\x1c\\xa5\\xec\\xc1\\xf6\\x8f\\xd7\\xfd\\x1efu\\x81\\x85\\x0f<\\x1ei,6\\x8ek:\\x8eS#\\x7f\\xe4\\x7f\\xf0\\xc4\\xa3\\xc0*\\xa9(\\xd3\\x03\\xdf\\xd9\\xe5L~\\x94\\x93\\xfd\\x15Xvp\\xdd\\xbcm\\x85R3\\x9d\\x0f\\xae\\xe7\\xcf\\xbaDK\\xde\\x9a\\xaa\\xfd\\x15h\\xe1K\\x84C.>W\\xe3\\x1er\\xbe\\xb6Hq~\\xben\\xcb\\xb6\\x05\\x96\\xc1\\xdewf\\xdd\\xbe)\\xb41\\xbc}\\xca\\x8b\\nx\\xac\\xc0\\n\\x96\\x055\\xa6\\xb2\\xc0\\xaa+\\x86pD6\\x96\\xdf\\x7fs\\xa6\\x1aeD>\\xb0\\xf67\\xa2C\\x15!\\xbd}\\xe3\\x97\\x9a?i\\x95F\\xdd2D\\x87\\\\t\\x80\\xe3\\x0f\\x8e\\xea\\xbfPRP\\xa6;\\xfb\\x9boE\\xeb\\x8c\\xc5\\xc6\\xe0N\\x81\\xb5o\\x97W\\xe9\\xb7\\xda\\xa0\\xfb\\xd5[/([?\\xfe\\xba\\xba\\xae\\x00\\xab\\x15X\\x91\\xe4#\\xea\\x02+\\xbf\\xa4PC\\x9e\\xb9@m3[\\xea\\x83\\t\\x0f\\xd9\\xbbU\\xc2\\xc7O\\xa5\\xc02\\xf1\\x98u\\xac\\xcczV\\x87]\\xf3s\\x1dx\\xc9\\x05u\\xf1\\xff\\xe8\\xdf\\x1d\\x16X6\\x1fQ\\x17X3W\\xdb\\xcb\\x82\\xe9\\xa7\\xf7SR\\xcb}\\x0bf\\xb3\\xa7`\\xfe\\xb3\\xf3\\x95\\xdc\\xa5\\x99\\x02\\'8\\xbf\\xfb\\xaeZ\\x81\\x15\\xf1\\xb8r\\xab\\xc0\\xda:i\\x92\\xd6\\xdf\\xf7Ou\\xb8\\xee\\xd7ju\\xa6\\xf3s\\xa2zR\\xaa\\x15X\\x11\\xc7\\x11m\\x81\\xb5=\\xef\\x1bM}o\\x82\\xb2\\xb3\\x0f\\xd21G>\\xa8F\\x8d*\\xbfY\\xcf\\xcd\\x9d\\xaf\\x8f?\\xfd\\xb5JJv\\xeb\\xe4\\x93&G\\xb5xi\\xb5\\x02+\\xe28b)\\xb0l\\xc7+JU\\xbac\\xb1LQ\\x94\\x94\\xd1AI\\x8d\\xbb*<\\x87\\xca\\x14W\\xa6\\xc8rzDQ`\\xd9sd\\xd05\\x97\\xdbu\\xaa\"=\\xea*\\xb0\\x16>\\xf8\\xb8R\\x9b6U\\xaf\\xf3k\\xb9Dx\\xd2He\\xf5\\xa9\\xf93\\xa6\\xa2\\xa4T\\x0b\\x1e\\xb0_\\xb4D\\x9c\\x13\\x8f\\x17X?\\x8ac\\x7f\\x05\\x96\\xfdz\\xf4\\xba\\x85\\xb3\\xd4\\xb2\\xe7\\xbe\\x7f\\xd5E\\x92\\x9c\\xa97\\xde\\xaaY\\xf7?\\\\\\xeb$\\xf7\\x91\\xb7\\xdc\\xa8c~\\xef|\\x92{\\xee\\x8a\\x95\\xbao\\xa0\\xdd9\\xfb\\x0bI\\x87\\xd7\\xd2\\x1f\\x1b\\xc3\\xd3\\xc7\\xffG\\x1d2\\xf7\\xbd\\x8b#\\x92\\x18~\\xf8\\x1c7\\xbf\\xc1Z\\x9f\\xbfA\\x17M\\xb7se\\xea\\x8a!\\xdc\\r\\x1b\\xcb/f\\x8cQ\\x8b\\xae\\xd1\\x7f\\xfb\\x13*\\x0f\\xe9\\xf5\\xdf\\xce\\xd67o\\xae\\xd5\\xe8\\xbf\\x1e\\xac!\\xe7;\\xff\\xd0\\xf8\\xa1\\xcb\\xf6\\xd5{\\xf4\\x9f\\x11vry]\\xb1\\xd8\\x18\\x0eV\\x8e\\x02\\x8a\\xad\\xa8\\xfba\\x1fr\\xf5\\xaa\\x96h\\x82:\\xe9fu\\x96\\x9d\\xe4\\xed\\xe8\\x08j\\xb9\\xe6\\xda\\x05\\xb7\\xeb\\x8c\\xc1<\\'\\xeaK\\x84\\xaf.\\x9f\\xa1\\xf1o\\xd8\\xbb\\x15\\xeb<\\xde:\\xfd^\\x8d\\xe9\\xeel\\xfec\\xfd\\xecwZ\\xb5\\xe6M\\x8d;\\xf5\\x03ef\\xee;\\xb5c\\xcb\\xd69z\\xef\\xfd\\xf3\\xd5\\xa7\\xf7\\xc5:\\xf8 \\xe77V\\xec\\xde\\xbdZo\\xbcmo \\x888\\x8eh/\\x11\\xd6\\x16\\xf8\\xee\\xcf\\x7f\\xad\\xe0\\xf2\\xa7\\x95u\\xf2\\x07Ji\\xe1|\\xfec\\x14\\x97\\x08\\xed9\\xd2\\xf7\\x92s\\x95\\xda\\xbcY\\xc49\\xa9\\xab\\xc0Z\\xf6\\xfc$\\x15\\xef\\xda]\\xc7$\\xf7q\\xcahW\\xf3\\xb7\\xbf\\xc5;v*\\xe7\\xbf\\x13\\x1d\\xe5\\xe4\\x92v\\xa3\\xd4\\xdcc\\x97\\x08\\xcd\\xc2\\xa4\\xff\\xad\\xbcD\\xf8\\xa3\\xb1\\xb5\\xbf\\x02\\xcbN\\xf0\\xbbl\\xda\\xab\\xeaz\\x94\\xf3M:\\xcd\\xb7W\\xe6[\\xac1\\xf7\\xde\\xa1\\xc3\\xaf\\xbat\\x9f\\x84\\xbew\\xf3\\xdf\\xec\\xea\\xee\\xd1N\\xa07\\x97\\x1e\\x9f8\\xd1\\xde\\xd5\\xf1\\xbc\\xa4\\xf3k\\x19-6\\x86{\\x8f\\xbcC\\x83Z\\xd6\\xfc\\x15e\\xa4\\xa3\\xcd\\xcd\\x02kA\\xee7\\xfa\\xcd\\'\\x7f\\x8c$\\x86p\\xf7l,\\x17\\xbep\\x9c:\\x1f\\x1e\\xf9\\xe4\\xbe\\xea\\xb1U\\x94U\\xe8\\xb5_}\\xa6\\xa5\\xef\\xad\\xd7)w\\x1e\\xa6Ag8\\x7f\\xf3\\xdb\\x9f\\xd5\\xda\\xcf\\xb7\\xea\\x99s\\xec] \\x11\\xe5c\\xa0>PSE\\xb0\\x92p\\xa4\\x89\\x91\\xb4^wk\\xb5nR7\\xdd\\xa3\\xf6r^\\xb4\\xef\\xd2L-\\xac\\xdct\\xba\\xae\\x18\\xccs\\xa2\\x9e\\xe4\\xfe\\xf5\\xd6ezd\\xfe\\xf7\\xf3\\xc7\\xaa\\x87\\xf8\\xd5\\x96\\xa5\\x9a\\xb39G\\xa7\\x1fp\\xac\\xb2\\x03\\xcdu\\xf5\\x81gj@\\xb6\\xb3\\xb9\\x1f\\xf1\\x9c\\xe4^[z\\xe6?3Q\\x9f\\xdf\\xff\\xa0\\x8e\\xb9\\xf9&\\xf5\\x1e;\\xc6A&+\\x9f\\xeap\\x92\\xbb\\xcdG\\xfa\\x98\\xdeJj\\xe7\\xfc\\x8f\\x8f\\xb2\\xefv)\\xf8\\xeer\\xed\\xef2`E^P\\x05\\xaf|\\xa3\\x94\\xde\\xd9J;\\xca\\xf9\\xdd\\xbb\\xe5\\x1b\\xf7\\xa8\\xf0\\xed\\xa5\\x8e\\xc6U\\xcf\\x07\\x1e\\xb4K*\\xc4rl\\x9f\\xf2\\x8e\\xd6\\xdeq\\x87\\xda\\\\|\\xb1\\xda]\\xee\\xbc\\xc0\\xfd\\xe1k\\xef\\xf9\\xfak\\xad\\xb8\\xc6\\xce\\x19\\x8d\\xf8\\xfc8\\xe1\\xb8g\\xd5\\xba\\xb5\\xf3ex\\xa6\\x7fp\\x91\\xb6l\\xfdR\\xe7NX$\\xff\\x0f.\\x03\\x05\\x8br\\xf5\\xcakG\\xa8K\\xe7\\x93u\\xe4\\x11\\xf7:&\\xda\\xb2\\xe5K\\xbd\\xf7\\x81\\xfdF5\\xe28\\xa2\\x9d\\xe4^S\\xe7*\\x8a\\xb6)\\xf7\\xb5\\x83\\xe4\\x0f\\xb4V\\xcbqf\\xadP\\xe7\\xcb\\x82D1\\xc9\\xdd\\x9e#=\\xcf\\x1ak/\\xe9Ez\\xd4U`\\xad\\xffh\\x96\\xb6}\\xb5P}.<[i-\\xf7\\x9d\\xadc\\x96i(\\xdc\\xbaM\\x03\\xaf\\xfe\\x99\\xfc\\xc95_u\\xc9_\\xbfQ+^~\\xddQN\\xcej}\\x8c:\\xa4eG\\x1a\\x86\\xe2q\\x89p}\\xd16\\xbd\\xbc\\xe5\\xa3\\xfd\\xc6\\xb1\\xbf\\x0c\\xdb[T\\xcfz\\xfa?\\x1ax\\x96\\xbd[\\xc1\\xd1Q\\x1a,\\xd2=\\xbd\\x0fU\\xa3\\x8ct\\xfdb\\xf6{U\\x0b\\x8d\\xeeZ\\xbf\\xd1\\xee\\'\\x98\\xd6\\xa4\\xb1~\\xbdx\\xb6\\xfcI\\xce\\xe7L,|y\\xb2^\\xbe\\xc8~\\xfbc\\xee\\xe3\\xb6\\xb7\\xe2\\xd5p\\xd8\\x18\\xfex\\xc8o5\\xa2\\xc3Q\\x8e\\xfa\\xbf\\xbf\\'\\xbbY`\\xcdX\\xff\\xb1\\xee\\x98c/\\x8f\\xd6\\x15C\\xb8+6\\x96q\\xf7\\x0fS\\xffS\\x9dO\\x80-/\\xa9\\xd0\\xa4\\xabfi\\xe5\\xc7\\x9b4\\xee\\xbe\\xa1\\xea{rl\\x7f!W\\xf71\\xdf\\x86M\\xbe\\xd6\\xaecRW,6\\x86\\xdezN\\xd9\\xb2\\x7f\\r;:\\xcc\\x9d~Mt\\xc4\\x8f&\\xb2\\x97h\\xa3\\xbe\\xd6a*\\xd1\\x16\\x1d\\xa2%v\\xa5w\\xa7\\xc76\\xbd\\xa8\\xa5\\x95\\xb5z]1\\x98\\xe7\\xb8\\xb2L\\xc3\\x0f\\xfb\\xe8\\xc6%\\xc2x.\\xd3\\xb0c\\xf5\\x1ae\\xb6n\\xad\\x94\\xf4}\\xbf\\x1d1\\xdf>\\xbd~\\xe9U*/-\\xd1\\xb9o\\xbe\\xa2\\x80\\x83\\xbf\\x98\\xc3&\\x0e\\x97i\\xb0\\xf9H\\x1b\\xd1\\xcd.\\x14\\xea\\xf8\\xa8\\x08\\xd9o\\x99\\xcc\\xe5\\xbc\\xf4\\xb1}\\xbf\\xdf\\xc70\\x14R\\xf0\\xfd\\x95*[\\xbd\\xc3\\xdeahVwwz\\x84\\x170u2\\xae\\xba\\xdcr\\xab\\xb2b\\x98\\x90n\\xb6$\\xcb9\\xef\\\\\\x95l\\xda\\xa4\\xfe\\xafMVr\\xf3\\xc8\\'5\\xd7\\x14_\\xde\\xf4\\xe9Zs\\x8b\\xfdf8\\xe2\\xf3c\\xf8\\xb0{\\xd4\\xb5\\x8b\\xf3\\xe2\\xfa\\xcb\\xb9\\xb7i\\xd9\\xf2\\xe7t\\xc4\\xb0\\xbb\\xd5\\xad\\xcb\\xbe\\x8b\\x1f/\\xcey\\\\_\\xcd\\xbf[\\x07\\x0e\\xfe\\xad\\xfa\\xf7u^8\\xae^\\xf3\\xb6f}f\\xd7\\xe0\\x8b8\\x8eh\\x97i\\xd8\\x9f\\xa5)\\xaev~x\\x9eJ\\xb7\\xcdU\\xd3\\xa3\\x9fRZ\\xe7\\xe8\\x16w\\x8eb\\x99\\x06{\\x8et\\x19}\\xbc\\x9a\\xf7\\x8e\\xfc\\xaaE]\\x05\\x96)\\xa0\\x96=7I\\xcd\\x0e\\xe8^\\xb9\\xd0\\xe8\\xdec\\xf7\\xea\\xb5Z9\\xf9\\x1d{\\xf7\\xa0\\xb9\\x8b\\xb0\\xb6c\\xc7\\xd2\\x15Z3\\xc5\\xee\\x06\\x12qNF\\xb7\\xfc\\xf0\\x97\\xe2\\xb9U\\x8e-L\\n7k\\xd1\\xe2\\x87\\xb5i\\xd3\\xa7*(\\xdc\\xa4\\xa4\\xa445\\xce\\xec\\xa8.\\x9dG\\xab\\xd7\\x01\\xe7W->\\xea4\\xb8xn\\x95c\\xfaf\\xd6\\xc2*Ze\\x96i\\xf3\\xd9K\\x82)\\xad\\x87*\\xfd\\x80K\\x95\\x92\\x1d\\xdb:g\\xf5\\xb9U\\x8e\\xd3\\x02\\xcb|c\\xba\\xf5\\xab\\x85\\xda\\xbe(\\xc7\\xce\\xc7J\\x0e\\xa4\\xd9\\xcb\\x90m\\x8f8\\xcc\\xae\\x91U\\xd7Q_[\\xe5T\\x7f\\xddx\\x14XN\\xb7\\xca1\\xfd\\x8bi\\xb3\\xe7\\xba`\\xa3\\xf9\\xf7\\x86\\xd8\\xec9\\x9a~\\xd6\\xf6;\\r\\xb1\\xd9\\xb3\\xdb1\\x84\\xdb\\x8b\\xe7f\\xcf\\xf5\\x15CCo\\xf6\\xecV\\\\\\r\\xb1\\xd9\\xb3[}\\xaf\\xdeNCm\\xf6\\xecv,\\xf1\\xde\\xec\\xd9\\xed\\xfe\\x87\\xdbk\\x88\\xcd\\x9e\\xeb#\\x96\\xb8o\\xf6\\\\\\x1fAH\\x8a\\xc7f\\xcf\\xf5\\xd4\\xf5\\x1f5[\\xdf\\x9b=\\xc7+\\x8eh6{6}3\\xd7L\\xee:\\xf4\\xf2\\x8bt\\xea\\xbf\\xccJ\\xfb\\r\\x7f\\xbc\\xf9\\xab\\x1b\\xf5\\xe5cO\\x9b\\x8e\\x98\\xef\\xbe\\xef\\x8e\\xa0G6\\x86S\\xba\\x8e\\xd2u\\x83\\x9d\\xef\\xa9\\x18A\\xfb\\x8e\\x9fr\\xdf\\xfc\\x87\\xf4\\xd6j{\\xb7A\\xa41\\x84_\\xc3\\xc62\\xe4\\xbc\\x1e\\x1a}{\\xe5\\xe2\\x94\\r}L\\xf9\\xd3\\x1c\\xcd{\\xfe[\\'\\xb1\\xd8\\x18\\xda\\xeaJ\\xf5\\xd0\\xf7\\x1b\\xb96d\\x1c\\xdf\\xeajm\\xd2#Nb\\xa8:7~>\\xf8\\x0c=t|m\\xbb5\\xc5/\\xb2\\xab\\xa6\\xff]\\x0f\\xcf\\x7f5\\xaa8\\xfa\\x8d\\x1f\\xa7#o\\xba>~\\x9d\\xad\\xe5\\x95\\xcc\\xf2\\x0ef\\x99\\x07\\x87\\xe7\\x87\\x1dW)}[)m\\xb8\\xf39\\x8a\\xf5\\x11x\\xd1\\xac\\xb5*\\xcd\\xd9\\x1aU\\x1c-\\xc7\\x8dS\\xa7\\xeb\\xa3[\\xa4\\xd5\\xedX\\xd6\\xfd\\xe3n\\xe5N\\x8e.\\x1f\\x07\\xf4\\xc9\\xae\\xd8\\x1d\\xb7\\xe3\\x9dw\\xc7*o\\xc7\\x12W\\xe3H\\xce\\x1a\\xa0\\x16cf\\xc6-\\x06\\xf3B;g\\x9c\\xad\\xe2\\xf5\\xef\\xb9u~|?\\xb6Z\\xb5T\\xef\\xf3\\xcf\\x8ak,K\\x9f{Y\\xc1\\xad\\xb9\\xae\\xe6\\xa4U\\xa3f:\\xbf\\xad\\xdd\\x1c>n\\xc7s\\x9b\\xa6kk\\xc9\\xce\\x88\\xe2\\x88\\xa4\\xc02\\r\\x99*\\xa7_<\\xe7cU\\x9bwen5\\x88}\\xbf\\x9b\\xbd1\\xc4s>V\\xb5yWn\\xc5\\x10\\x1eD6\\x1f\\xf1\\x9c\\x8fUm\\xde\\x95[\\xb1\\xd8\\x18\\xe29\\x1f\\xab\\xda\\xbc+\\xb7b\\xa8:7\\xe29\\x1f\\xab\\xda\\xbc\\xab\\xf7\\xff\\xb7\\x85\\x9b[\\xef.6\\x1f\\xf1\\x9c\\x8fUm\\xde\\x95\\xebq\\xc4s>V\\xf1\\xf7\\xf3\\xae\\\\\\x1fW\\xf1\\x9c\\x8fUm\\xde\\x95\\xebq\\xc4s>V\\xb5yW\\xae\\xc7\\x11\\xcf\\xf9X\\xd5\\xe6]\\xb9y~T\\xbdg\\xc5s>V\\xb5yW\\xae\\xe7$\\x9e\\xf3\\xb1\\xaa\\xcd\\xbb\\x8a(\\x8eH\\x0b,\\x93\\x94\\x90\\xf9?\\xbdF\\x8d\\xd4\\xd9\\x13\\x1fSJ\\xc0\\xf9\\xe6\\xaa\\x91\\x94\\x98f\\xab\\x9d\\x17\\xcf\\xbd\\\\\\xcb\\xa6\\x9a1e\\x0f\\'}\\xac\\xeb%l\\x0c\\x87\\xb59X\\x7f9\\xf4\\xf7JMjT\\xd7\\xf3\\xa3\\xfa\\xf7\\xe2\\xf2\\x12\\xdd\\xfa\\xe5\\x9d\\xfabs\\xd5\\xb73n\\xc6\\x10\\xee\\x93\\x8d\\xa5wm\\xc0\\x90\\x00\\x00\\x14\\xabIDAT\\xe7\\xb1\\xed4\\xfe?\\xc3\\x95\\x9cV?\\x97D\\xca\\x8a\\xca\\xf5\\xca/fi\\xc5\\x87v\\xe2n\\xbd\\xe4#K\\xa3\\xd5G/\\xc9\\xaf\\xd86\\xa6\\xad)Y\\x15\\n\\xda\\r\\xa1\\xcd\\xca\\xef\\xf5\\x10C\\xd5\\xb9qr\\xb7\\xe1\\x9at\\xda\\xdf\\x15HN\\x8dj\\xdc\\xd4\\xf5K\\xbbK\\nt\\xf4\\x0bWh\\xfe\\xd6\\xe5\\xf5\\x1aG\\xa7\\xe1\\xc3t\\xc2]\\xb7+9\\xb5~\\xe2()(\\xd0\\x9b\\x97_\\xad\\xdce\\xf6\\x9b\\x12\\xb7\\xc7TU>\\x92;5S`dw)\\xd9_\\x17mt\\xff^VQ\\xb9\\xa5\\xce:\\xfb\\xd7l\\xbd\\xc5\\xd1t\\xd80u\\xbd\\xfd\\x0e\\xf9\\xeb)\\x1f\\x15\\xc5\\xc5Z\\xfd\\xa7?j\\xd7g\\xf6\\x9b\\xc4z\\x8b\\xa3}\\xbbct\\xf4\\x91\\xf7\\xdb\\xc5C\\xeb\\xe3(//\\xd2\\xccO\\xae\\xd5\\x86\\x8dv_\\xb8z\\x8b#\\xb5\\xc3\\tv\\xbb\\x1b_=\\xc5\\x11*\\xdd\\xa3\\xbcicT\\x96g7\\x0b\\xaf\\x8f8\\xaa\\xce\\x91&];\\xab\\xeb)\\'\\xd6\\xbag`,\\xb9\\xaa(+\\xd3\\xea\\xb7\\xa6\\xc9l\\xa1SO\\xb1\\xd8\\xcf\\xc1\\xae\\x81\\xb6:%{\\xa8\\x92}\\xf5\\xf49\\x18*\\xd7[\\xdbfkup\\x93\\xa38\\x9c~\\xf0\\x9bk\\x84#3\\xb2[\\xea\\xac\\xa7\\x1eT\\xf7\\x11\\xb1\\xef\\xf3W=y+g|\\xac\\x97/\\xbe\\xda\\xae\\x0e-\\xc9\\xed\\xaa=\\xfcR6\\x86f\\xa9M\\xf5\\x87\\x83\\x7f\\xab!\\xad\\x06\\xc52~~\\xf4\\xbb\\xf3\\xb6.\\xd0\\xdf\\xe6\\xde\\xa3\\x9d\\xc5\\xbb\\xea3\\x86}b\\xc9h\\x91f\\xf7\\x19\\xec:\\xdc\\xdd\\xa5(V\\xcf\\xda\\xac\\xc9\\xd7\\xcdV\\xc1\\xf6\\xa2\\xfa\\x8c\\xc5\\xe6#E\\xad\\xd4[\\xcf\\xaaY\\xe5\\xc6\\xcb\\xae\\x1d;\\xf5\\x81\\x96\\xea\\x02\\x95\\xca\\xaeKT_c\\xca\\xb4m\\xe3h\\x95\\x9e\\xa5\\xe7\\xc7\\xdc\\xa6\\x91\\x9d\\x9dov[[\\xd0\\xcf,\\x9e\\xa2_~p\\x97v\\x17\\xdb\\xb91\\x11\\xfd\\xf5\\x14%\\xa2\\x8d#\\x90\\xd5\\\\\\xc7\\xdd\\xfe\\x17u8\\xcc\\xdd;\\x8e\\xcc^\\x83\\xb3\\xee\\xbcW\\xa6\\xc8\\x8aG\\x1c\\xbe@\\x8a\\x02#\\xba)\\xa9\\xbd\\xbbs\\xfd\\xca7\\xecVp\\xc6*\\x85\\x82v\\x1eF\\xbd\\x8f+\\xb3\\xaf`\\xd7\\xbf\\xdc\\xa2\\xc6\\x87\\xb8\\x9b\\x8f=s\\xe6h\\xf5\\xad\\xb7\\xa8l\\x87\\xbd\\xf4_\\xefq\\xa4\\xa5\\xb5\\xd0\\xf0a\\xffP\\xdb6\\xc3\\xa2\\x1c\\x9e\\xfb\\xff\\xb5M\\x9b?\\xd3\\xac\\xcf\\xaeWQ\\xd1\\xf6\\xb8\\xc4\\xe1O\\xcbV\\xd3#\\x1fQ\\xa3\\xb6\\xc7\\xb8\\x1a\\x87\\xd9kp\\xf7\\x177\\xc8\\x14Y\\xf5|~T\\xbdg%\\xa7\\x07d\\xf6*l\\xdc\\xc9\\xdd%g\\xf6\\xac[o\\xf7\\x1a,+\\x0c\\xc6%\\'\\xe9I\\xa92{\\x15vJk\\xedjN\\xd6\\x15m\\xb1{\\r\\x16\\x96\\x17;\\x8e\\xc3i\\x81e^\\xc0N\\x8a5\\xffa.\\x19\\x0e>\\xe7\\x8c\\x98\\xd7\\xc92\\xeb\\\\\\xcd\\x7f\\xe1\\xd5\\xf0R\\x0c\\xa6i7\\xe6c\\xd4\\x86\\\\\\x15\\x83\\xb9d8\\xb2\\xd311\\xaf\\x93e\\xd6\\xb9z\\x7f\\xddG\\xe1\\xa5\\x18\\xe2\\x11C8\\xbe\\xaaX\\xcc%\\xc3\\x01\\xe3\\xba\\xc6\\xbcN\\x96Y\\xe7j\\xd1\\xe4\\xd5\\xe1\\xa5\\x18\\xe2\\x11KU\\x0c\\xe6\\x92ak\\x9d\\x1f\\xf3:Yf\\x9d\\xab-z.\\xbc\\x14C\\xb1\\xf8SR\\x94\\xd5\\xf7\\x00[he\\xb4svE\\xc4l\\x7fc\\n\\xab\\xbc\\x9c\\xe5\\xaa(\\xb5\\xdf\\xec6\\xd8{o\\x8a/Y}3;\\xabOFg\\xb5Ku\\xb6l\\x8b\\xd9\\xfefI\\xc1Z\\xe5\\xe4\\xafUi(\\xb6\\xcf\\xc1h\\x0b,\\x03g\\xd6\\x089\\xd3\\xe7\\xf7O\\x08UT\\xd8\\xc93}O\\x1b\\xadN\\x87\\x1f\\xac\\xccV\\xd9j\\xdc\\xb6\\xb5\\x9a\\xb4k\\xab&{\\x93\\xb4{\\xe3f\\xed\\xde\\xb8I{6mQ\\xfe\\xd6mZ\\xf7\\xf9\\\\\\xe5\\xbcQ9\\'\\xc6\\xe7\\xf7\\x9b\\x15\\xda\\xcd_\\xe6\\x93\\x1c\\xaes\\xe5\\xe8\\xa4\\xdc\\xcf\\x93+c\\xf0\\xf9&\\x84B!\\x1b\\xc3\\xf0v\\x87\\xab_V\\x1f5Ok\\xa6\\x16i\\xcd\\xd52\\xad\\x85Z\\x06*\\x13\\x94\\x1b\\xdc\\xae\\xdc\\xa2\\xed\\xda^\\xb4C;\\x8avjq\\xde\\x12\\xcd\\xdaX\\xb9&\\x94\\xcf\\xe73+\\xb47D\\x0c\\xe1\\xb0\\xf6\\xe6\\xc37!TQ\\x19K\\xef\\x13;\\xa8\\xc3\\x90le\\xb6LSf\\xab\\x80\\x1a\\xb7\\t\\xa8q\\xeb\\xcayN{\\xb6\\x04\\xb5gsP\\xf9[\\x83\\xca\\xcf-\\xd2\\xfay\\xdb\\xb4t\\xda\\xfa\\xbd\\xf9\\xf0\\x99\\xd5\\xb4\\x1b\"\\x16\\x1b\\x83\\xe4\\x9f U\\x8e\\xa9\\x16\\x1ak\\x8b\\xacFj\\xadFjg\\x7fRU\\xb9\\x98d\\xb16\\xa8D\\x1b\\xf7\\xfel\\x91)\\xae\\xb6+|\\xb7\\x92\\xdf\\xac\\xd0\\xde\\x101T\\x9d\\x1b~\\x9f\\x7fBE\\xa82\\x8eq=\\x8f\\xb5EV\\xeb\\xf4,\\xb5\\xcb\\xccV\\xfb\\xc6\\xd9j\\x9f\\x99m\\xa7\\x18n\\xca\\xcf\\xd5\\xc6\\x82m\\x95\\x8f\\xf9\\xb9\\xfat\\xc3\\x02M^\\xf1\\xa1\\x8d\\xd1\\xef\\xf3\\x9b\\x15\\xda\\x1b4\\x0e\\x9f\\xff\\xfb1\\xd5\\xf5\\xd8\\xa3\\xd5fP\\x7f\\x05\\xb2\\xb2d\\xa6\\nd\\xb4\\xcaVFv\\xb6\\x9d)i.\\xed\\x17\\xe6nW\\xe1\\xb6\\\\\\x15\\xe4\\xe6j\\xf3\\xfcEZ\\xfda\\xe5]W>\\x7f\\x83\\x8d\\xa9\\xaa|\\xc8\\xa7\\t\\nUN\\xf4K\\xee\\xd2\\\\Im2e.!\\xfa\\xd3S\\xe4\\xcbh$_F\\xe5\\xed\\xde\\xa1\\x82R\\x85\\nJTQXj/\\x01\\x96o\\xceW\\xd9\\x1a{\\t\\xcd\\xc4iVho\\xd0|\\xc8\\xe7\\x9b\\xa0\\xbd\\xefW\\xcd\\x8e>Z\\x19\\xfd\\x07(%+K)-[*%;\\xdb\\xfe\\x98\\xa3t\\xdb\\xb6\\xca\\x9f\\xdc\\\\\\x95\\xe6\\xe5\\xa9\\xe0\\x9bE\\xda9s\\xef]p>\\x9fYE\\xbbA\\xe3\\xf0\\xf9\\xfc\\x13B{\\xcf\\x8fN\\x1d\\x8f\\xb7EVZZK\\xa5\\x07Z)\\x90\\xdeZ\\xe9\\x81\\xcaK=\\x85\\xc1-\\n\\x16nQap\\xab\\x8a\\x8are\\x8a\\xabu\\xdfU\\xde\\xd1\\xee\\xf3\\xf9\\xcd\\n\\xed\\r\\x1a\\x87|\\xfe\\t\\xda\\x1bGj\\xa71j\\x94}\\xa8\\xfc\\x81l\\xf9\\x03m\\xe4Oo\\xab\\xa4\\xf4\\xb6v\\xe0T\\x047\\xab\\xbcp\\x8b}4?%[\\xbfP\\xf1\\xba\\xb7\\xf7\\x8e+\\xbfY\\xa1\\xbd\\xa1\\xe2\\xa8v\\x8eT\\x1b[=\\xba\\xd9\"+9#\\xa0\\x94\\x8c\\x0c\\xa5dV\\xfe\\xd8\\xb1\\x95_P\\xf9SP\\xa0\\xb2\\x82\\xa0Lq\\xb5\\xf3\\xdb\\xbdk\\xc0yal\\xc97!\\xa4\\xca\\xcf\\xc1\\x1e\\xe9\\xedm\\x91\\x95\\x91\\x94\\xa6\\x8c\\xa4\\x802\\xf7\\xfe\\x98\\x7f\\xcb/\\x0f\\xda\\x9f\\x02\\xfbS$S\\\\}[\\xb8a\\xef\\xa9\\xee3+\\xb4\\xc7\\x94\\x93X\\n\\xac\\xca\\x81a\\xb6\\xaa\\xb0\\x1f\\x8a\\xf6\\xc7\\xd9WX\\x92Y\\xce\\xd5\\x14U\\xe6\\'\\xd2-%\\xc2\\xaf\\xeb\\xe6\\xe3O!\\x06\\xf2Q)\\xe0\\x951\\xf5S97\\x88\\x83q\\xe5\\xe6{m\\xf5\\xb6~*\\xef\\xbb?\\x9588\\xd7]>\\xd7\\xdd(\\xb0\\xaa\\x9f0#%\\xbb\\xc9\\xdc\\x0f\\x7f\\xccsLy\\xfb\\xc3\\x9f\\xaa[\\x05\\xeb\\xeb\\x0c\\x8e\\xa2\\xdd\\x9fB\\x0c\\xe1\\xb0\\x7f\\n\\xb1\\xfc\\x14b0\\xf9\\xa8)\\x0es\\x17\\x8c\\xb9\\x9d\\xce\\xec\\x9cm\\xce\\x0fs\\xbb\\x8d\\xf9\\xf1\\xe2\\xb9\\xf1\\xffC\\x1c\\x89\\xf4^U[>\\x88#\\x8a7\\x7f\\x17~\\xe5\\xa7r\\x9e3\\xb6\\\\\\x18\\x0cn\\x17X.t\\x89&\\x10@\\x00\\x01\\x04\\x10@\\x00\\x81\\xc4\\x16\\xa0\\xc0J\\xec\\xfc\\xd1{\\x04\\x10@\\x00\\x01\\x04\\x10\\xf0\\xa0\\x00\\x05\\x96\\x07\\x93B\\x97\\x10@\\x00\\x01\\x04\\x10@ \\xb1\\x05(\\xb0\\x12;\\x7f\\xf4\\x1e\\x01\\x04\\x10@\\x00\\x01\\x04<(@\\x81\\xe5\\xc1\\xa4\\xd0%\\x04\\x10@\\x00\\x01\\x04\\x10Hl\\x01\\n\\xac\\xc4\\xce\\x1f\\xbdG\\x00\\x01\\x04\\x10@\\x00\\x01\\x0f\\nP`y0)t\\t\\x01\\x04\\x10@\\x00\\x01\\x04\\x12[\\x80\\x02+\\xb1\\xf3G\\xef\\x11@\\x00\\x01\\x04\\x10@\\xc0\\x83\\x02\\x14X\\x1eL\\n]B\\x00\\x01\\x04\\x10@\\x00\\x81\\xc4\\x16\\xa0\\xc0J\\xec\\xfc\\xd1{\\x04\\x10@\\x00\\x01\\x04\\x10\\xf0\\xa0\\x00\\x05\\x96\\x07\\x93B\\x97\\x10@\\x00\\x01\\x04\\x10@ \\xb1\\x05(\\xb0\\x12;\\x7f\\xf4\\x1e\\x01\\x04\\x10@\\x00\\x01\\x04<(@\\x81\\xe5\\xc1\\xa4\\xd0%\\x04\\x10@\\x00\\x01\\x04\\x10Hl\\x01\\n\\xac\\xc4\\xce\\x1f\\xbdG\\x00\\x01\\x04\\x10@\\x00\\x01\\x0f\\nP`y0)t\\t\\x01\\x04\\x10@\\x00\\x01\\x04\\x12[\\x80\\x02+\\xb1\\xf3G\\xef\\x11@\\x00\\x01\\x04\\x10@\\xc0\\x83\\x02\\x14X\\x1eL\\n]B\\x00\\x01\\x04\\x10@\\x00\\x81\\xc4\\x16\\xa0\\xc0J\\xec\\xfc\\xd1{\\x04\\x10@\\x00\\x01\\x04\\x10\\xf0\\xa0\\x00\\x05\\x96\\x07\\x93B\\x97\\x10@\\x00\\x01\\x04\\x10@ \\xb1\\x05(\\xb0\\x12;\\x7f\\xf4\\x1e\\x01\\x04\\x10@\\x00\\x01\\x04<(@\\x81\\xe5\\xc1\\xa4\\xd0%\\x04\\x10@\\x00\\x01\\x04\\x10Hl\\x01\\n\\xac\\xc4\\xce\\x1f\\xbdG\\x00\\x01\\x04\\x10@\\x00\\x01\\x0f\\nP`y0)t\\t\\x01\\x04\\x10@\\x00\\x01\\x04\\x12[\\x80\\x02+\\xb1\\xf3G\\xef\\x11@\\x00\\x01\\x04\\x10@\\xc0\\x83\\x02\\x14X\\x1eL\\n]B\\x00\\x01\\x04\\x10@\\x00\\x81\\xc4\\x16\\xa0\\xc0J\\xec\\xfc\\xd1{\\x04\\x10@\\x00\\x01\\x04\\x10\\xf0\\xa0\\x00\\x05\\x96\\x07\\x93B\\x97\\x10@\\x00\\x01\\x04\\x10@ \\xb1\\x05(\\xb0\\x12;\\x7f\\xf4\\x1e\\x01\\x04\\x10@\\x00\\x01\\x04<(@\\x81\\xe5\\xc1\\xa4\\xd0%\\x04\\x10@\\x00\\x01\\x04\\x10Hl\\x01\\n\\xac\\xc4\\xce\\x1f\\xbdG\\x00\\x01\\x04\\x10@\\x00\\x01\\x0f\\nP`y0)t\\t\\x01\\x04\\x10@\\x00\\x01\\x04\\x12[\\x80\\x02+\\xb1\\xf3G\\xef\\x11@\\x00\\x01\\x04\\x10@\\xc0\\x83\\x02\\x14X\\x1eL\\n]B\\x00\\x01\\x04\\x10@\\x00\\x81\\xc4\\x16\\xa0\\xc0J\\xec\\xfc\\xd1{\\x04\\x10@\\x00\\x01\\x04\\x10\\xf0\\xa0\\x00\\x05\\x96\\x07\\x93B\\x97\\x10@\\x00\\x01\\x04\\x10@ \\xb1\\x05(\\xb0\\x12;\\x7f\\xf4\\x1e\\x01\\x04\\x10@\\x00\\x01\\x04<(@\\x81\\xe5\\xc1\\xa4\\xd0%\\x04\\x10@\\x00\\x01\\x04\\x10Hl\\x01\\n\\xac\\xc4\\xce\\x1f\\xbdG\\x00\\x01\\x04\\x10@\\x00\\x01\\x0f\\nP`y0)t\\t\\x01\\x04\\x10@\\x00\\x01\\x04\\x12[\\x80\\x02+\\xb1\\xf3G\\xef\\x11@\\x00\\x01\\x04\\x10@\\xc0\\x83\\x02\\x14X\\x1eL\\n]B\\x00\\x01\\x04\\x10@\\x00\\x81\\xc4\\x16\\xa0\\xc0J\\xec\\xfc\\xd1{\\x04\\x10@\\x00\\x01\\x04\\x10\\xf0\\xa0\\x00\\x05\\x96\\x07\\x93B\\x97\\x10@\\x00\\x01\\x04\\x10@ \\xb1\\x05(\\xb0\\x12;\\x7f\\xf4\\x1e\\x01\\x04\\x10@\\x00\\x01\\x04<(@\\x81\\xe5\\xc1\\xa4\\xd0%\\x04\\x10@\\x00\\x01\\x04\\x10Hl\\x01\\n\\xac\\xc4\\xce\\x1f\\xbdG\\x00\\x01\\x04\\x10@\\x00\\x01\\x0f\\nP`y0)t\\t\\x01\\x04\\x10@\\x00\\x01\\x04\\x12[\\x80\\x02+\\xb1\\xf3G\\xef\\x11@\\x00\\x01\\x04\\x10@\\xc0\\x83\\x02\\x14X\\x1eL\\n]B\\x00\\x01\\x04\\x10@\\x00\\x81\\xc4\\x16\\xa0\\xc0J\\xec\\xfc\\xd1{\\x04\\x10@\\x00\\x01\\x04\\x10\\xf0\\xa0\\x00\\x05\\x96\\x07\\x93B\\x97\\x10@\\x00\\x01\\x04\\x10@ \\xb1\\x05(\\xb0\\x12;\\x7f\\xf4\\x1e\\x01\\x04\\x10@\\x00\\x01\\x04<(@\\x81\\xe5\\xc1\\xa4\\xd0%\\x04\\x10@\\x00\\x01\\x04\\x10Hl\\x01\\n\\xac\\xc4\\xce\\x1f\\xbdG\\x00\\x01\\x04\\x10@\\x00\\x01\\x0f\\nP`y0)t\\t\\x01\\x04\\x10@\\x00\\x01\\x04\\x12[\\x80\\x02+\\xb1\\xf3G\\xef\\x11@\\x00\\x01\\x04\\x10@\\xc0\\x83\\x02\\x14X\\x1eL\\n]B\\x00\\x01\\x04\\x10@\\x00\\x81\\xc4\\x16\\xa0\\xc0J\\xec\\xfc\\xd1{\\x04\\x10@\\x00\\x01\\x04\\x10\\xf0\\xa0\\x00\\x05\\x96\\x07\\x93B\\x97\\x10@\\x00\\x01\\x04\\x10@ \\xb1\\x05(\\xb0\\x12;\\x7f\\xf4\\x1e\\x01\\x04\\x10@\\x00\\x01\\x04<(@\\x81\\xe5\\xc1\\xa4\\xd0%\\x04\\x10@\\x00\\x01\\x04\\x10Hl\\x01\\n\\xac\\xc4\\xce\\x1f\\xbdG\\x00\\x01\\x04\\x10@\\x00\\x01\\x0f\\nP`y0)t\\t\\x01\\x04\\x10@\\x00\\x01\\x04\\x12[\\x80\\x02+\\xb1\\xf3G\\xef\\x11@\\x00\\x01\\x04\\x10@\\xc0\\x83\\x02\\x14X\\x1eL\\n]B\\x00\\x01\\x04\\x10@\\x00\\x81\\xc4\\x16\\xa0\\xc0J\\xec\\xfc\\xd1{\\x04\\x10@\\x00\\x01\\x04\\x10\\xf0\\xa0\\x00\\x05\\x96\\x07\\x93B\\x97\\x10@\\x00\\x01\\x04\\x10@ \\xb1\\x05(\\xb0\\x12;\\x7f\\xf4\\x1e\\x01\\x04\\x10@\\x00\\x01\\x04<(@\\x81\\xe5\\xc1\\xa4\\xd0%\\x04\\x10@\\x00\\x01\\x04\\x10Hl\\x01\\n\\xac\\xc4\\xce\\x1f\\xbdG\\x00\\x01\\x04\\x10@\\x00\\x01\\x0f\\nP`y0)t\\t\\x01\\x04\\x10@\\x00\\x01\\x04\\x12[\\x80\\x02+\\xb1\\xf3G\\xef\\x11@\\x00\\x01\\x04\\x10@\\xc0\\x83\\x02\\x14X\\x1eL\\n]B\\x00\\x01\\x04\\x10@\\x00\\x81\\xc4\\x16\\xa0\\xc0J\\xec\\xfc\\xd1{\\x04\\x10@\\x00\\x01\\x04\\x10\\xf0\\xa0\\x00\\x05\\x96\\x07\\x93B\\x97\\x10@\\x00\\x01\\x04\\x10@ \\xb1\\x05(\\xb0\\x12;\\x7f\\xf4\\x1e\\x01\\x04\\x10@\\x00\\x01\\x04<(@\\x81\\xe5\\xc1\\xa4\\xd0%\\x04\\x10@\\x00\\x01\\x04\\x10Hl\\x01\\n\\xac\\xc4\\xce\\x1f\\xbdG\\x00\\x01\\x04\\x10@\\x00\\x01\\x0f\\nP`y0)t\\t\\x01\\x04\\x10@\\x00\\x01\\x04\\x12[\\x80\\x02+\\xb1\\xf3G\\xef\\x11@\\x00\\x01\\x04\\x10@\\xc0\\x83\\x02\\x14X\\x1eL\\n]B\\x00\\x01\\x04\\x10@\\x00\\x81\\xc4\\x16\\xa0\\xc0J\\xec\\xfc\\xd1{\\x04\\x10@\\x00\\x01\\x04\\x10\\xf0\\xa0\\x00\\x05\\x96\\x07\\x93B\\x97\\x10@\\x00\\x01\\x04\\x10@ \\xb1\\x05(\\xb0\\x12;\\x7f\\xf4\\x1e\\x01\\x04\\x10@\\x00\\x01\\x04<(@\\x81\\xe5\\xc1\\xa4\\xd0%\\x04\\x10@\\x00\\x01\\x04\\x10Hl\\x01\\n\\xac\\xc4\\xce\\x1f\\xbdG\\x00\\x01\\x04\\x10@\\x00\\x01\\x0f\\nP`y0)t\\t\\x01\\x04\\x10@\\x00\\x01\\x04\\x12[\\x80\\x02+\\xb1\\xf3G\\xef\\x11@\\x00\\x01\\x04\\x10@\\xc0\\x83\\x02\\x14X\\x1eL\\n]B\\x00\\x01\\x04\\x10@\\x00\\x81\\xc4\\x16\\xa0\\xc0J\\xec\\xfc\\xd1{\\x04\\x10@\\x00\\x01\\x04\\x10\\xf0\\xa0\\x00\\x05\\x96\\x07\\x93B\\x97\\x10@\\x00\\x01\\x04\\x10@ \\xb1\\x05(\\xb0\\x12;\\x7f\\xf4\\x1e\\x01\\x04\\x10@\\x00\\x01\\x04<(@\\x81\\xe5\\xc1\\xa4\\xd0%\\x04\\x10@\\x00\\x01\\x04\\x10Hl\\x01\\n\\xac\\xc4\\xce\\x1f\\xbdG\\x00\\x01\\x04\\x10@\\x00\\x01\\x0f\\nP`y0)t\\t\\x01\\x04\\x10@\\x00\\x01\\x04\\x12[\\x80\\x02+\\xb1\\xf3G\\xef\\x11@\\x00\\x01\\x04\\x10@\\xc0\\x83\\x02\\x14X\\x1eL\\n]B\\x00\\x01\\x04\\x10@\\x00\\x81\\xc4\\x16\\xa0\\xc0J\\xec\\xfc\\xd1{\\x04\\x10@\\x00\\x01\\x04\\x10\\xf0\\xa0\\x00\\x05\\x96\\x07\\x93B\\x97\\x10@\\x00\\x01\\x04\\x10@ \\xb1\\x05(\\xb0\\x12;\\x7f\\xf4\\x1e\\x01\\x04\\x10@\\x00\\x01\\x04<(@\\x81\\xe5\\xc1\\xa4\\xd0%\\x04\\x10@\\x00\\x01\\x04\\x10Hl\\x01\\n\\xac\\xc4\\xce\\x1f\\xbdG\\x00\\x01\\x04\\x10@\\x00\\x01\\x0f\\nP`y0)t\\t\\x01\\x04\\x10@\\x00\\x01\\x04\\x12[\\x80\\x02+\\xb1\\xf3G\\xef\\x11@\\x00\\x01\\x04\\x10@\\xc0\\x83\\x02\\x14X\\x1eL\\n]B\\x00\\x01\\x04\\x10@\\x00\\x81\\xc4\\x16\\xa0\\xc0J\\xec\\xfc\\xd1{\\x04\\x10@\\x00\\x01\\x04\\x10\\xf0\\xa0\\x00\\x05\\x96\\x07\\x93B\\x97\\x10@\\x00\\x01\\x04\\x10@ \\xb1\\x05(\\xb0\\x12;\\x7f\\xf4\\x1e\\x01\\x04\\x10@\\x00\\x01\\x04<(@\\x81\\xe5\\xc1\\xa4\\xd0%\\x04\\x10@\\x00\\x01\\x04\\x10Hl\\x01\\n\\xac\\xc4\\xce\\x1f\\xbdG\\x00\\x01\\x04\\x10@\\x00\\x01\\x0f\\nP`y0)t\\t\\x01\\x04\\x10@\\x00\\x01\\x04\\x12[\\x80\\x02+\\xb1\\xf3G\\xef\\x11@\\x00\\x01\\x04\\x10@\\xc0\\x83\\x02\\x14X\\x1eL\\n]B\\x00\\x01\\x04\\x10@\\x00\\x81\\xc4\\x16\\xa0\\xc0J\\xec\\xfc\\xd1{\\x04\\x10@\\x00\\x01\\x04\\x10\\xf0\\xa0\\x00\\x05\\x96\\x07\\x93B\\x97\\x10@\\x00\\x01\\x04\\x10@ \\xb1\\x05(\\xb0\\x12;\\x7f\\xf4\\x1e\\x01\\x04\\x10@\\x00\\x01\\x04<(@\\x81\\xe5\\xc1\\xa4\\xd0%\\x04\\x10@\\x00\\x01\\x04\\x10Hl\\x01\\n\\xac\\xc4\\xce\\x1f\\xbdG\\x00\\x01\\x04\\x10@\\x00\\x01\\x0f\\nP`y0)t\\t\\x01\\x04\\x10@\\x00\\x01\\x04\\x12[\\x80\\x02+\\xb1\\xf3G\\xef\\x11@\\x00\\x01\\x04\\x10@\\xc0\\x83\\x02\\x14X\\x1eL\\n]B\\x00\\x01\\x04\\x10@\\x00\\x81\\xc4\\x16\\xa0\\xc0J\\xec\\xfc\\xd1{\\x04\\x10@\\x00\\x01\\x04\\x10\\xf0\\xa0\\x00\\x05\\x96\\x07\\x93B\\x97\\x10@\\x00\\x01\\x04\\x10@ \\xb1\\x05(\\xb0\\x12;\\x7f\\xf4\\x1e\\x01\\x04\\x10@\\x00\\x01\\x04<(@\\x81\\xe5\\xc1\\xa4\\xd0%\\x04\\x10@\\x00\\x01\\x04\\x10Hl\\x01\\n\\xac\\xc4\\xce\\x1f\\xbdG\\x00\\x01\\x04\\x10@\\x00\\x01\\x0f\\nP`y0)t\\t\\x01\\x04\\x10@\\x00\\x01\\x04\\x12[\\x80\\x02+\\xb1\\xf3G\\xef\\x11@\\x00\\x01\\x04\\x10@\\xc0\\x83\\x02\\x14X\\x1eL\\n]B\\x00\\x01\\x04\\x10@\\x00\\x81\\xc4\\x16\\xa0\\xc0J\\xec\\xfc\\xd1{\\x04\\x10@\\x00\\x01\\x04\\x10\\xf0\\xa0\\x00\\x05\\x96\\x07\\x93B\\x97\\x10@\\x00\\x01\\x04\\x10@ \\xb1\\x05(\\xb0\\x12;\\x7f\\xf4\\x1e\\x01\\x04\\x10@\\x00\\x01\\x04<(@\\x81\\xe5\\xc1\\xa4\\xd0%\\x04\\x10@\\x00\\x01\\x04\\x10Hl\\x01\\n\\xac\\xc4\\xce\\x1f\\xbdG\\x00\\x01\\x04\\x10@\\x00\\x01\\x0f\\nP`y0)t\\t\\x01\\x04\\x10@\\x00\\x01\\x04\\x12[\\x80\\x02+\\xb1\\xf3G\\xef\\x11@\\x00\\x01\\x04\\x10@\\xc0\\x83\\x02\\x14X\\x1eL\\n]B\\x00\\x01\\x04\\x10@\\x00\\x81\\xc4\\x16\\xa0\\xc0J\\xec\\xfc\\xd1{\\x04\\x10@\\x00\\x01\\x04\\x10\\xf0\\xa0\\x00\\x05\\x96\\x07\\x93B\\x97\\x10@\\x00\\x01\\x04\\x10@ \\xb1\\x05(\\xb0\\x12;\\x7f\\xf4\\x1e\\x01\\x04\\x10@\\x00\\x01\\x04<(@\\x81\\xe5\\xc1\\xa4\\xd0%\\x04\\x10@\\x00\\x01\\x04\\x10Hl\\x01\\n\\xac\\xc4\\xce\\x1f\\xbdG\\x00\\x01\\x04\\x10@\\x00\\x01\\x0f\\nP`y0)t\\t\\x01\\x04\\x10@\\x00\\x01\\x04\\x12[\\x80\\x02+\\xb1\\xf3G\\xef\\x11@\\x00\\x01\\x04\\x10@\\xc0\\x83\\x02\\x14X\\x1eL\\n]B\\x00\\x01\\x04\\x10@\\x00\\x81\\xc4\\x16\\xa0\\xc0J\\xec\\xfc\\xd1{\\x04\\x10@\\x00\\x01\\x04\\x10\\xf0\\xa0\\x00\\x05\\x96\\x07\\x93B\\x97\\x10@\\x00\\x01\\x04\\x10@ \\xb1\\x05(\\xb0\\x12;\\x7f\\xf4\\x1e\\x01\\x04\\x10@\\x00\\x01\\x04<(@\\x81\\xe5\\xc1\\xa4\\xd0%\\x04\\x10@\\x00\\x01\\x04\\x10Hl\\x01\\n\\xac\\xc4\\xce\\x1f\\xbdG\\x00\\x01\\x04\\x10@\\x00\\x01\\x0f\\nP`y0)t\\t\\x01\\x04\\x10@\\x00\\x01\\x04\\x12[\\x80\\x02+\\xb1\\xf3G\\xef\\x11@\\x00\\x01\\x04\\x10@\\xc0\\x83\\x02\\x14X\\x1eL\\n]B\\x00\\x01\\x04\\x10@\\x00\\x81\\xc4\\x16\\xa0\\xc0J\\xec\\xfc\\xd1{\\x04\\x10@\\x00\\x01\\x04\\x10\\xf0\\xa0\\x00\\x05\\x96\\x07\\x93B\\x97\\x10@\\x00\\x01\\x04\\x10@ \\xb1\\x05(\\xb0\\x12;\\x7f\\xf4\\x1e\\x01\\x04\\x10@\\x00\\x01\\x04<(@\\x81\\xe5\\xc1\\xa4\\xd0%\\x04\\x10@\\x00\\x01\\x04\\x10Hl\\x01\\n\\xac\\xc4\\xce\\x1f\\xbdG\\x00\\x01\\x04\\x10@\\x00\\x01\\x0f\\nP`y0)t\\t\\x01\\x04\\x10@\\x00\\x01\\x04\\x12[\\x80\\x02+\\xb1\\xf3G\\xef\\x11@\\x00\\x01\\x04\\x10@\\xc0\\x83\\x02\\x14X\\x1eL\\n]B\\x00\\x01\\x04\\x10@\\x00\\x81\\xc4\\x16\\xa0\\xc0J\\xec\\xfc\\xd1{\\x04\\x10@\\x00\\x01\\x04\\x10\\xf0\\xa0\\x00\\x05\\x96\\x07\\x93B\\x97\\x10@\\x00\\x01\\x04\\x10@ \\xb1\\x05(\\xb0\\x12;\\x7f\\xf4\\x1e\\x01\\x04\\x10@\\x00\\x01\\x04<(@\\x81\\xe5\\xc1\\xa4\\xd0%\\x04\\x10@\\x00\\x01\\x04\\x10Hl\\x01\\n\\xac\\xc4\\xce\\x1f\\xbdG\\x00\\x01\\x04\\x10@\\x00\\x01\\x0f\\nP`y0)t\\t\\x01\\x04\\x10@\\x00\\x01\\x04\\x12[\\x80\\x02+\\xb1\\xf3G\\xef\\x11@\\x00\\x01\\x04\\x10@\\xc0\\x83\\x02\\x14X\\x1eL\\n]B\\x00\\x01\\x04\\x10@\\x00\\x81\\xc4\\x16\\xa0\\xc0J\\xec\\xfc\\xd1{\\x04\\x10@\\x00\\x01\\x04\\x10\\xf0\\xa0\\x00\\x05\\x96\\x07\\x93B\\x97\\x10@\\x00\\x01\\x04\\x10@ \\xb1\\x05(\\xb0\\x12;\\x7f\\xf4\\x1e\\x01\\x04\\x10@\\x00\\x01\\x04<(@\\x81\\xe5\\xc1\\xa4\\xd0%\\x04\\x10@\\x00\\x01\\x04\\x10Hl\\x01\\n\\xac\\xc4\\xce\\x1f\\xbdG\\x00\\x01\\x04\\x10@\\x00\\x01\\x0f\\nP`y0)t\\t\\x01\\x04\\x10@\\x00\\x01\\x04\\x12[\\x80\\x02+\\xb1\\xf3G\\xef\\x11@\\x00\\x01\\x04\\x10@\\xc0\\x83\\x02\\x14X\\x1eL\\n]B\\x00\\x01\\x04\\x10@\\x00\\x81\\xc4\\x16\\xa0\\xc0J\\xec\\xfc\\xd1{\\x04\\x10@\\x00\\x01\\x04\\x10\\xf0\\xa0\\x00\\x05\\x96\\x07\\x93B\\x97\\x10@\\x00\\x01\\x04\\x10@ \\xb1\\x05(\\xb0\\x12;\\x7f\\xf4\\x1e\\x01\\x04\\x10@\\x00\\x01\\x04<(@\\x81\\xe5\\xc1\\xa4\\xd0%\\x04\\x10@\\x00\\x01\\x04\\x10Hl\\x01\\n\\xac\\xc4\\xce\\x1f\\xbdG\\x00\\x01\\x04\\x10@\\x00\\x01\\x0f\\nP`y0)t\\t\\x01\\x04\\x10@\\x00\\x01\\x04\\x12[\\x80\\x02+\\xb1\\xf3G\\xef\\x11@\\x00\\x01\\x04\\x10@\\xc0\\x83\\x02\\x14X\\x1eL\\n]B\\x00\\x01\\x04\\x10@\\x00\\x81\\xc4\\x16\\xa0\\xc0J\\xec\\xfc\\xd1{\\x04\\x10@\\x00\\x01\\x04\\x10\\xf0\\xa0\\x00\\x05\\x96\\x07\\x93B\\x97\\x10@\\x00\\x01\\x04\\x10@ \\xb1\\x05(\\xb0\\x12;\\x7f\\xf4\\x1e\\x01\\x04\\x10@\\x00\\x01\\x04<(\\xf0\\xff\\x00+_\\xd4\\x08;\\xc2P(\\x00\\x00\\x00\\x00IEND\\xaeB`\\x82', layout=Layout(border_bottom='3px solid lightgrey', border_left='3px solid lightgrey', border_right='3px solid lightgrey', border_top='3px solid lightgrey', height='406px', overflow='visible', width='606px'), sync_image_data=True, width=600), HBox(children=(Label(value='Graph on 12 vertices and 0 edges.', layout=Layout(width='100%')), Label(value='Graph Editor', layout=Layout(width='100%')))), Output())), VBox(children=(ToggleButtons(icons=('', '', '', '', ''), layout=Layout(margin='0px 2px 0px auto', width='150px'), options=('select / move', 'add vertex or edge', 'delete vertex or edge', 'add walk', 'add clique', 'add star'), tooltips=('Move vertices or the canvas', 'Add vertices or edges', 'Delete vertices or edges', 'Add a walk through new or existing vertices', 'Add a clique through new or existing vertices', 'Add a star through new or existing vertices'), value='select / move'), Dropdown(layout=Layout(margin='1px 2px 1px auto', width='150px'), options=(('- change layout -', '- change layout -'), ('random', 'random'), ('spring', 'spring'), ('circular', 'circular'), ('planar', 'planar'), ('forest (root up)', 'forest (root up)'), ('forest (root down)', 'forest (root down)'), ('directed acyclic', 'acyclic')), value='- change layout -'), HBox(children=(Button(icon='search-plus', layout=Layout(height='36px', margin='0px 1px 0px 0px', width='36px'), style=ButtonStyle(), tooltip='Zoom in'), Button(icon='compress', layout=Layout(height='36px', margin='0px 1px 0px 1px', width='36px'), style=ButtonStyle(), tooltip='Zoom to fit'), Button(icon='search-minus', layout=Layout(height='36px', margin='0px 1px 0px 1px', width='36px'), style=ButtonStyle(), tooltip='Zoom out'), Button(icon='trash', layout=Layout(height='36px', margin='0px 0px 0px 1px', width='36px'), style=ButtonStyle(), tooltip='Clear the drawing and delete the graph')), layout=Layout(margin='1px 2px 1px auto')), HBox(children=(ColorPicker(value='#437FC0', layout=Layout(height='36px', margin='0px 1px 0px 0px', width='112px')), Button(icon='paint-brush', layout=Layout(height='36px', margin='0px 0px 0px 1px', width='36px'), style=ButtonStyle(), tooltip='Apply color to the selected elements')), layout=Layout(margin='1px 2px 1px auto')), HBox(children=(Label(value='⌀', layout=Layout(margin='auto 2px auto 0px')), BoundedIntText(value=20, layout=Layout(margin='auto 1px auto 0px', width='90px'), min=1), Button(icon='expand', layout=Layout(height='36px', margin='0px 0px 0px 1px', width='36px'), style=ButtonStyle(), tooltip='Change the radius of the selected vertices')), layout=Layout(margin='1px 2px 1px auto')), ToggleButton(value=True, description='Show vertex labels', layout=Layout(margin='1px 2px 1px auto', width='150px'), tooltip='Should the vertex label be drawn?'), ToggleButton(value=True, description='Show edge labels', layout=Layout(margin='1px 2px 1px auto', width='150px'), tooltip='Should the edge label be drawn?')), layout=Layout(min_width='160px', width='160px'))), layout=Layout(height='auto', overflow='auto hidden', width='100%'))" + ] + }, + "execution_count": 54, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "id": "eed1947a-35d3-4741-a7ea-f8550a2abd30", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1\n", + "[-3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -10, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -1]\n" + ] + } + ], + "source": [ + "A = G.adjacency_matrix()\n", + "A[0, 0] = A[1, 1] = -3\n", + "A[2, 2] = -10\n", + "A[5, 5] = A[11, 11]= -1\n", + "for i in (3, 4) + tuple(6, .., 10):\n", + " A[i, i] = -2\n", + "print(A.det())\n", + "print(A.list())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b174f66f-0e7e-4b03-9e22-3d10858d6cef", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "SageMath 10.3", + "language": "sage", + "name": "sagemath" + }, + "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.12.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/resolucion.ipynb b/resolucion.ipynb index 6fb397c..e8f0664 100644 --- a/resolucion.ipynb +++ b/resolucion.ipynb @@ -298,7 +298,7 @@ ], "metadata": { "kernelspec": { - "display_name": "SageMath 10.3.rc1", + "display_name": "SageMath 10.3.rc3", "language": "sage", "name": "sagemath-310" }, @@ -312,7 +312,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.2" + "version": "3.11.1" } }, "nbformat": 4, diff --git a/resolucionlarga.ipynb b/resolucionlarga.ipynb index 9e66313..6746e97 100644 --- a/resolucionlarga.ipynb +++ b/resolucionlarga.ipynb @@ -464,7 +464,7 @@ ], "metadata": { "kernelspec": { - "display_name": "SageMath 10.3.rc1", + "display_name": "SageMath 10.3.rc4", "language": "sage", "name": "sagemath-devel" }, @@ -478,7 +478,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.2" + "version": "3.11.1" } }, "nbformat": 4, diff --git a/suspension.ipynb b/suspension.ipynb new file mode 100644 index 0000000..b136796 --- /dev/null +++ b/suspension.ipynb @@ -0,0 +1,1009 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [], + "source": [ + "# load('ZetaFunctionsNewtonND.py')\n", + "R. = PolynomialRing(QQ, order='neglex')\n", + "S. = PolynomialRing(QQ, order='neglex')\n", + "S. = PolynomialRing(QQ)\n", + "f = u^5 + v^6\n", + "F = z^10 + f(u=x, v=y)\n", + "ZF = ZetaFunctions(F)\n", + "Zf = ZetaFunctions(f)\n", + "dd = (1, 2, 3, 4, 5, 6, 8, 10, 15, 30)\n", + "K = {d: ZF.topological_zeta(local=True, d=d) for d in dd}\n", + "k = {d: Zf.topological_zeta(local=True, d=d) for d in dd}" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1\n" + ] + }, + { + "data": { + "text/html": [ + "\\(\\displaystyle \\left(\\frac{1}{5}\\right) \\cdot (s + \\frac{7}{15})^{-1} \\cdot (s + 1)^{-1} \\cdot (s + \\frac{7}{3})\\)" + ], + "text/latex": [ + "$\\displaystyle \\left(\\frac{1}{5}\\right) \\cdot (s + \\frac{7}{15})^{-1} \\cdot (s + 1)^{-1} \\cdot (s + \\frac{7}{3})$" + ], + "text/plain": [ + "(1/5) * (s + 7/15)^-1 * (s + 1)^-1 * (s + 7/3)" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "========================\n", + "2\n" + ] + }, + { + "data": { + "text/html": [ + "\\(\\displaystyle 0\\)" + ], + "text/latex": [ + "$\\displaystyle 0$" + ], + "text/plain": [ + "0" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "========================\n", + "3\n" + ] + }, + { + "data": { + "text/html": [ + "\\(\\displaystyle \\left(\\frac{2}{5}\\right) \\cdot (s + \\frac{7}{15})^{-1}\\)" + ], + "text/latex": [ + "$\\displaystyle \\left(\\frac{2}{5}\\right) \\cdot (s + \\frac{7}{15})^{-1}$" + ], + "text/plain": [ + "(2/5) * (s + 7/15)^-1" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "========================\n", + "4\n" + ] + }, + { + "data": { + "text/html": [ + "\\(\\displaystyle 0\\)" + ], + "text/latex": [ + "$\\displaystyle 0$" + ], + "text/plain": [ + "0" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "========================\n", + "5\n" + ] + }, + { + "data": { + "text/html": [ + "\\(\\displaystyle \\left(\\frac{1}{30}\\right) \\cdot (s + \\frac{7}{15})^{-1}\\)" + ], + "text/latex": [ + "$\\displaystyle \\left(\\frac{1}{30}\\right) \\cdot (s + \\frac{7}{15})^{-1}$" + ], + "text/plain": [ + "(1/30) * (s + 7/15)^-1" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "========================\n", + "6\n" + ] + }, + { + "data": { + "text/html": [ + "\\(\\displaystyle \\left(\\frac{2}{5}\\right) \\cdot (s + \\frac{7}{15})^{-1}\\)" + ], + "text/latex": [ + "$\\displaystyle \\left(\\frac{2}{5}\\right) \\cdot (s + \\frac{7}{15})^{-1}$" + ], + "text/plain": [ + "(2/5) * (s + 7/15)^-1" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "========================\n", + "8\n" + ] + }, + { + "data": { + "text/html": [ + "\\(\\displaystyle 0\\)" + ], + "text/latex": [ + "$\\displaystyle 0$" + ], + "text/plain": [ + "0" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "========================\n", + "10\n" + ] + }, + { + "data": { + "text/html": [ + "\\(\\displaystyle \\left(-\\frac{1}{6}\\right) \\cdot (s + \\frac{7}{15})^{-1}\\)" + ], + "text/latex": [ + "$\\displaystyle \\left(-\\frac{1}{6}\\right) \\cdot (s + \\frac{7}{15})^{-1}$" + ], + "text/plain": [ + "(-1/6) * (s + 7/15)^-1" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "========================\n", + "15\n" + ] + }, + { + "data": { + "text/html": [ + "\\(\\displaystyle \\left(\\frac{7}{30}\\right) \\cdot (s + \\frac{7}{15})^{-1}\\)" + ], + "text/latex": [ + "$\\displaystyle \\left(\\frac{7}{30}\\right) \\cdot (s + \\frac{7}{15})^{-1}$" + ], + "text/plain": [ + "(7/30) * (s + 7/15)^-1" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "========================\n", + "30\n" + ] + }, + { + "data": { + "text/html": [ + "\\(\\displaystyle \\left(\\frac{7}{30}\\right) \\cdot (s + \\frac{7}{15})^{-1}\\)" + ], + "text/latex": [ + "$\\displaystyle \\left(\\frac{7}{30}\\right) \\cdot (s + \\frac{7}{15})^{-1}$" + ], + "text/plain": [ + "(7/30) * (s + 7/15)^-1" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "========================\n" + ] + } + ], + "source": [ + "for d in dd:\n", + " if K[d] == 0:\n", + " print(d)\n", + " show(0)\n", + " else:\n", + " print(d)\n", + " show(K[d].factor())\n", + " print(\"========================\")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1\n" + ] + }, + { + "data": { + "text/html": [ + "\\(\\displaystyle \\left(\\frac{1}{3}\\right) \\cdot (s + \\frac{11}{30})^{-1} \\cdot (s + 1)^{-1} \\cdot (s + \\frac{11}{10})\\)" + ], + "text/latex": [ + "$\\displaystyle \\left(\\frac{1}{3}\\right) \\cdot (s + \\frac{11}{30})^{-1} \\cdot (s + 1)^{-1} \\cdot (s + \\frac{11}{10})$" + ], + "text/plain": [ + "(1/3) * (s + 11/30)^-1 * (s + 1)^-1 * (s + 11/10)" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "========================\n", + "2\n" + ] + }, + { + "data": { + "text/html": [ + "\\(\\displaystyle \\left(\\frac{2}{15}\\right) \\cdot (s + \\frac{11}{30})^{-1}\\)" + ], + "text/latex": [ + "$\\displaystyle \\left(\\frac{2}{15}\\right) \\cdot (s + \\frac{11}{30})^{-1}$" + ], + "text/plain": [ + "(2/15) * (s + 11/30)^-1" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "========================\n", + "3\n" + ] + }, + { + "data": { + "text/html": [ + "\\(\\displaystyle \\left(\\frac{2}{15}\\right) \\cdot (s + \\frac{11}{30})^{-1}\\)" + ], + "text/latex": [ + "$\\displaystyle \\left(\\frac{2}{15}\\right) \\cdot (s + \\frac{11}{30})^{-1}$" + ], + "text/plain": [ + "(2/15) * (s + 11/30)^-1" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "========================\n", + "4\n" + ] + }, + { + "data": { + "text/html": [ + "\\(\\displaystyle 0\\)" + ], + "text/latex": [ + "$\\displaystyle 0$" + ], + "text/plain": [ + "0" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "========================\n", + "5\n" + ] + }, + { + "data": { + "text/html": [ + "\\(\\displaystyle \\left(\\frac{1}{6}\\right) \\cdot (s + \\frac{11}{30})^{-1}\\)" + ], + "text/latex": [ + "$\\displaystyle \\left(\\frac{1}{6}\\right) \\cdot (s + \\frac{11}{30})^{-1}$" + ], + "text/plain": [ + "(1/6) * (s + 11/30)^-1" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "========================\n", + "6\n" + ] + }, + { + "data": { + "text/html": [ + "\\(\\displaystyle \\left(\\frac{2}{15}\\right) \\cdot (s + \\frac{11}{30})^{-1}\\)" + ], + "text/latex": [ + "$\\displaystyle \\left(\\frac{2}{15}\\right) \\cdot (s + \\frac{11}{30})^{-1}$" + ], + "text/plain": [ + "(2/15) * (s + 11/30)^-1" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "========================\n", + "8\n" + ] + }, + { + "data": { + "text/html": [ + "\\(\\displaystyle 0\\)" + ], + "text/latex": [ + "$\\displaystyle 0$" + ], + "text/plain": [ + "0" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "========================\n", + "10\n" + ] + }, + { + "data": { + "text/html": [ + "\\(\\displaystyle \\left(-\\frac{1}{30}\\right) \\cdot (s + \\frac{11}{30})^{-1}\\)" + ], + "text/latex": [ + "$\\displaystyle \\left(-\\frac{1}{30}\\right) \\cdot (s + \\frac{11}{30})^{-1}$" + ], + "text/plain": [ + "(-1/30) * (s + 11/30)^-1" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "========================\n", + "15\n" + ] + }, + { + "data": { + "text/html": [ + "\\(\\displaystyle \\left(-\\frac{1}{30}\\right) \\cdot (s + \\frac{11}{30})^{-1}\\)" + ], + "text/latex": [ + "$\\displaystyle \\left(-\\frac{1}{30}\\right) \\cdot (s + \\frac{11}{30})^{-1}$" + ], + "text/plain": [ + "(-1/30) * (s + 11/30)^-1" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "========================\n", + "30\n" + ] + }, + { + "data": { + "text/html": [ + "\\(\\displaystyle \\left(-\\frac{1}{30}\\right) \\cdot (s + \\frac{11}{30})^{-1}\\)" + ], + "text/latex": [ + "$\\displaystyle \\left(-\\frac{1}{30}\\right) \\cdot (s + \\frac{11}{30})^{-1}$" + ], + "text/plain": [ + "(-1/30) * (s + 11/30)^-1" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "========================\n" + ] + } + ], + "source": [ + "for d in dd:\n", + " if k[d] == 0:\n", + " print(d)\n", + " show(0)\n", + " else:\n", + " print(d)\n", + " show(k[d].factor())\n", + " print(\"========================\")" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[1, 5]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "divisors(5)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "def corchete(fz, e, N):\n", + " res = 0\n", + " for l0 in divisors(N / e):\n", + " l = l0 * e\n", + " res += moebius(l0) * fz[l]\n", + " return res" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1/6/(s + 7/15)" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "corchete(k, 2, 10)(s=s + 1 / 10)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1/5/(s + 7/15)" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "corchete(k, 5, 10)(s=s + 1 / 10)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-1/30/(s + 7/15)" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "corchete(k, 10, 10)(s=s + 1 / 10)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "def Ztopmanuel(dic, N):\n", + " res = 1 / (N * s + 1) \n", + " res += (N - 1) / N * s / (s+1) * ((N * s+ N + 1)/ (N * s + 1)) * dic[1](s=s + 1 / N)\n", + " div = [e for e in divisors(N) if e != 1]\n", + " for e in div:\n", + " res += -s / (s + 1) * (e^2 - 1) / N * corchete(dic, e, N)(s=s + 1 / N)\n", + " return res" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "(Ztopmanuel(k, 10) - K[1])" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(4/15/(s^2 + 22/15*s + 7/15),\n", + " 0,\n", + " 0,\n", + " 1/5/(s + 7/15),\n", + " 1/6/(s + 7/15),\n", + " -2/5/(s + 7/15),\n", + " 0,\n", + " (7/30) * (s + 7/15)^-1)" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "AK10t30 = K10t30\n", + "AK10t15 = K10t15 - AK10t30\n", + "AK10t10 = K10t10 - AK10t30\n", + "AK10t6 = K10t6 - AK10t30\n", + "AK10t5 = K10t5 - AK10t10 - AK10t15 - AK10t30\n", + "AK10t3 = K10t3 - AK10t6 - AK10t30\n", + "AK10t2 = K10t2 - AK10t6 - AK10t10 - AK10t30\n", + "AK10 = K10 - AK10t3 - AK10t5 - AK10t6 - AK10t10 - AK10t30\n", + "\n", + "AK10, AK10t2, AK10t3, AK10t5, AK10t6, AK10t10, AK10t15, AK10t30" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "K10- AK10 - AK10t5 - AK10t6 - AK10t10 - AK10t30" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "((1/3*s + 2/5)/(s^2 + 47/30*s + 77/150),\n", + " 2/15/(s + 7/15),\n", + " 2/15/(s + 7/15),\n", + " 0,\n", + " 1/6/(s + 7/15),\n", + " 2/15/(s + 7/15),\n", + " 0,\n", + " -1/30/(s + 7/15),\n", + " -1/30/(s + 7/15),\n", + " -1/30/(s + 7/15))" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "g=x^5 + y^6\n", + "Zg = ZetaFunctions(g)\n", + "G=Zg.topological_zeta(local=True).value()\n", + "GS=G(s=s+1/10)\n", + "G2=Zg.topological_zeta(local=True, d=2).value()\n", + "GS2=G2(s=s+1/10)\n", + "G3=Zg.topological_zeta(local=True, d=3).value()\n", + "GS3=G3(s=s+1/10)\n", + "G4=Zg.topological_zeta(local=True, d=4)\n", + "GS4=G4(s=s+1/10)\n", + "G5=Zg.topological_zeta(local=True, d=5).value()\n", + "GS5=G5(s=s+1/10)\n", + "G6=Zg.topological_zeta(local=True, d=6).value()\n", + "GS6=G6(s=s+1/10)\n", + "G8=Zg.topological_zeta(local=True, d=8)\n", + "GS8=G8(s=s+1/10)\n", + "G10=Zg.topological_zeta(local=True, d=10).value()\n", + "GS10=G10(s=s+1/10)\n", + "G15=Zg.topological_zeta(local=True, d=15).value()\n", + "GS15=G15(s=s+1/10)\n", + "G30=Zg.topological_zeta(local=True, d=30).value()\n", + "GS30=G30(s=s+1/10)\n", + "GS, GS2, GS3, GS4, GS5, GS6, GS8, GS10, GS15, GS30" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(1/30/(s^2 + 47/30*s + 77/150),\n", + " 0,\n", + " 0,\n", + " 1/5/(s + 7/15),\n", + " 1/6/(s + 7/15),\n", + " 0,\n", + " 0,\n", + " -1/30/(s + 7/15))" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "AGS30 = GS30\n", + "AGS15 = GS15 - AGS30\n", + "AGS10 = GS10 - AGS30\n", + "AGS6 = GS6 - AGS30\n", + "AGS5 = GS5 - AGS10 - AGS15 - AGS30\n", + "AGS3 = GS3 - AGS6 - AGS30\n", + "AGS2 = GS2 - AGS6 - AGS10 - AGS30\n", + "AGS = GS - AGS2 - AGS3 - AGS5 - AGS6 - AGS10 - AGS15 - AGS30\n", + "\n", + "AGS, AGS2, AGS3, AGS5, AGS6, AGS10, AGS15, AGS30" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "GS - AGS - AGS5 - AGS6 - AGS30 " + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "aux = K10 - 1/((10*s+1)) - (9/10)*(s/(s+1))*((10*s+11)/(10*s+1))*GS + (3/10)*(s/(s+1))*AGS6 + (24/10)*(s/(s+1))*AGS5 + (99/10)*(s/(s+1))*AGS30\n", + "aux" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "\u001b[0;31mSignature:\u001b[0m \u001b[0mmoebius\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mn\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mType:\u001b[0m Moebius\n", + "\u001b[0;31mString form:\u001b[0m The Moebius function\n", + "\u001b[0;31mFile:\u001b[0m /usr/local/sagedev/src/sage/arith/misc.py\n", + "\u001b[0;31mDocstring:\u001b[0m \n", + " Return the value of the Möbius function of abs(n), where n is an\n", + " integer.\n", + "\n", + " DEFINITION: \\mu(n) is 0 if n is not square free, and otherwise\n", + " equals (-1)^r, where n has r distinct prime factors.\n", + "\n", + " For simplicity, if n=0 we define \\mu(n) = 0.\n", + "\n", + " IMPLEMENTATION: Factors or - for integers - uses the PARI C\n", + " library.\n", + "\n", + " INPUT:\n", + "\n", + " * \"n\" - anything that can be factored.\n", + "\n", + " OUTPUT: 0, 1, or -1\n", + "\n", + " EXAMPLES:\n", + "\n", + " sage: moebius(-5)\n", + " -1\n", + " sage: moebius(9)\n", + " 0\n", + " sage: moebius(12)\n", + " 0\n", + " sage: moebius(-35)\n", + " 1\n", + " sage: moebius(-1)\n", + " 1\n", + " sage: moebius(7)\n", + " -1\n", + "\n", + " sage: moebius(0) # potentially nonstandard!\n", + " 0\n", + "\n", + " The moebius function even makes sense for non-integer inputs.\n", + "\n", + " sage: x = GF(7)['x'].0\n", + " sage: moebius(x + 2)\n", + " -1\n", + "\n", + " Tests with numpy and gmpy2 numbers:\n", + "\n", + " sage: from numpy import int8\n", + " sage: moebius(int8(-5))\n", + " -1\n", + " sage: from gmpy2 import mpz\n", + " sage: moebius(mpz(-5))\n", + " -1\n", + "\u001b[0;31mInit docstring:\u001b[0m Initialize self. See help(type(self)) for accurate signature.\n", + "\u001b[0;31mCall docstring:\u001b[0m\n", + " EXAMPLES:\n", + "\n", + " sage: from sage.arith.misc import Moebius\n", + " sage: Moebius().__call__(7)\n", + " -1" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "moebius?" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(-1, -1)" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "moebius(5), moebius(-5)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "SageMath 10.4.beta3", + "language": "sage", + "name": "sagemath-devel" + }, + "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.12.2" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/suspension1_annotated.pdf b/suspension1_annotated.pdf new file mode 100644 index 0000000..008fbde Binary files /dev/null and b/suspension1_annotated.pdf differ diff --git a/suspension_annotated.pdf b/suspension_annotated.pdf new file mode 100644 index 0000000..747f1d5 Binary files /dev/null and b/suspension_annotated.pdf differ diff --git a/zetas_triples_general.py b/zetas_triples_general.py index 8699728..0db8b7a 100644 --- a/zetas_triples_general.py +++ b/zetas_triples_general.py @@ -1,8 +1,14 @@ def trinomiales_general(A, Vf, Vg, Vhs, Vks, Vd, total=True): r""" Return data necessary to compute the zeta functions of - a triple singularity defined by :math:`z^3 -3 f z^2 + 2 g`, where - :math:`f, g` are polynomials in two variables. + a triple singularity defined by + + .. math:: + z^3 -3 \prod_{i=1}^h h_i^{n_i} \prod_{j=1}^h k_j f z^2 + + \prod_{i=1}^h h_i \prod_{j=1}^h k_j^{m_j} g, + + where :math:`f, g, h_i, k_j` are polynomials in two variables, + and :math:`n_i > 1, m_j \geq 1`. We consider an embedded resolution of :math:`fg(f^3 - g^2)` with a stratification of the exceptional divisor: @@ -33,6 +39,10 @@ def trinomiales_general(A, Vf, Vg, Vhs, Vks, Vd, total=True): - ``Vg`` -- the vector with the intersection numbers of the strict transform of :math:`g` with the divisors of the resolution + - ``Vhs`` -- a list of tuple whose elements are tuples `(h_i, n_i)` + + - ``Vks`` -- a list of tuple whose elements are tuples `(k_j, m_j)` + - ``Vd`` -- the vector with the intersection numbers of the strict transform of :math:`f^3 - g^2` with the divisors of the resolution @@ -54,6 +64,14 @@ def trinomiales_general(A, Vf, Vg, Vhs, Vks, Vd, total=True): - ``Ng`` -- the vector in :math:`\mathbb{Z}^n` of the multiplicities for the total transform of :math:`g` + - ``Nhs`` -- a list of tuple whose elements are tuples, the first element + is the vector in :math:`\mathbb{Z}^n` of the multiplicities for + the total transform of :math:`h_i` and the second is :math:`n_i` + + - ``Nks`` -- a list of tuple whose elements are tuples, the first element + is the vector in :math:`\mathbb{Z}^n` of the multiplicities for + the total transform of :math:`k_j` and the second is :math:`m_j` + - ``Nd`` -- the vector in :math:`\mathbb{Z}^n` of the multiplicities for the total transform of :math:`f^3 - g^2`