{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Dependency Reader\n", "\n", "The dependency reader displays the dependency relations between the words in a sentence.\n", "\n", "A dependency represents a relation from a word that has a complex CCG type to a word that fulfils an argument of that type.\n", "\n", "For example, in the sentence \"John resigned\", the verb \"resigned\" has type `S\\NP` with one argument. This argument is fulfilled by the noun \"John\" which has type `NP`. Therefore, this sentence contains one dependency relation from \"resigned\" to \"John\":" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPIAAAHzCAYAAAAaQ0C1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAZ+UlEQVR4nO3de1TUdf7H8dcosMhF0AZCcxHLpFHRQBfzlrWRZquLuZurRwzFtnO6WKZpevSU1sq6tW61bbrthppmx90uelzraFZSRC0qiMcItTQX6cAmq5iKF4Tv74+O84vwAjo68ub5OIdzZr7fz/czn5nm6Xxn6DAux3EcAWjSWvh7AQAuHiEDBhAyYAAhAwYQMmAAIQMGEDJgACEDBhAyYAAhAwYQMmAAIQMGEDJgACEDBhAyYAAhAwYQMmAAIQMGEDJgACEDBhAyYAAhAwYQMmAAIQMGEDJgACEDBhAyYAAhAwYQMmAAIQMGEDJgACEDBhAyYAAhAwYQMmAAIQMGEDJgACEDBhAyYAAhAwYQMmAAIQMGEDJgACEDBhAyYAAhAwYQMmBAgC8nKykpUUVFhS+nBC47t9ut2NhYfy+jUXwWcklJiTwej6qqqnw1JeAXISEhKi4ublIx+yzkiooKVVVV6bXXXpPH4/HVtMBlVVxcrLS0NFVUVDTPkE/zeDxKSkry9bQAzoEPuwADCBkwgJABAwgZMICQAQMIGTCAkAEDCBkwgJABAwgZMICQAQMIGTCAkAEDCBkwgJABAwgZMICQAQMIGTCAkAEDCBkwgJABAwgZMICQAQMIGTCAkAEDCBkwgJABAwgZMICQAQMIGTCAkAEDCBkwgJABAwgZMICQAQMIuQnIzs6Wy+VSZWWlv5eCKxQh+8n48eM1YsQIfy8DRhAyYAAhXwFOnDihhx9+WNHR0QoODtaAAQO0efPmeuPy8/PVu3dvhYSEqF+/ftq5c6d335w5c3TjjTdq+fLliouLU0REhEaPHq3Dhw9fzrsCPyHkK8D06dP11ltv6dVXX1VBQYE6d+6sIUOG6MCBA3XGzZo1SwsWLNCWLVsUEBCgjIyMOvt3796t1atXa+3atVq7dq0++ugjzZ8//3LeFfgJIfvZ0aNHtWjRIj377LMaOnSounbtqr///e9q1aqVsrKy6oydN2+eBg0apK5du2rGjBn69NNPdfz4ce/+2tpaLV26VN27d9fAgQM1btw4ffDBB5f7LsEPCNnPdu/ererqavXv39+7LTAwUMnJySouLq4ztkePHt7L7dq1kyR9++233m1xcXEKDw+vM+aH+2EXITchgYGB3ssul0vS96/CZ9p/eswP98MuQvaz6667TkFBQcrNzfVuq66u1ubNm9W1a1c/rgxNSYC/F9DchYaG6v7779e0adPUtm1bxcbG6plnnlFVVZUmTpzo7+WhiSBkP6mtrVVAwPcP//z581VbW6tx48bp8OHD6t27t9avX682bdr4eZVoKlyO4zi+mKigoEC9evVSfn6+kpKSfDGlaXfccYc6d+6sv/zlL/5eCn6gqT6PeY98mR08eFBr165Vdna2UlJS/L0cGMGp9WWWkZGhzZs3a+rUqUpNTfX3cmAEIV9mq1at8vcSYBCn1oABhAwYQMiAAYQMGEDIgAGEDBhAyIABhAwYQMiAAYQMGEDIgAGEDBhAyIABhAwYQMiAAYQMGEDIgAGEDBhAyIABhAwYQMiAAYQMGEDIgAGEDBhAyIABhAwYQMiAAYQMGEDIgAGEDBhAyIABhAwYQMiAAYQMGEDIgAEBvp6wuLjY11MCl01Tff76LGS3262QkBClpaX5akrAL0JCQuR2u/29jEZxOY7j+GqykpISVVRU+Go6/Mhtt92msWPHKiMjw99LMc3tdis2Ntbfy2gUn55ax8bGNrkHoCkJCAjQNddco6SkJH8vBVcYPuwCDCBkwABCBgwgZMAAQgYMIGTAAEIGDCBkwABCBgwgZMAAQgYMIGTAAEIGDCBkwABCBgwgZMAAQm7m/ve//yk6Olp79+5t0Pg5c+bI5XLJ5XLp+eefP+dYl8ul1atXN3jeG2+88YJux4oZM2Zo0qRJF3QsITdz8+bNU2pqquLi4iRJq1at0k033aSIiAiFh4erW7dumjx5cp1junXrprKyMt13332XbF2PPfaYysrK1KFDB0nSZ599pqioKNXU1NQZt3TpUrlcLt1xxx11tldWVsrlcik7O9u77fQ/DC6XSxEREerfv78+/PDDC17jvHnz1K9fP4WEhCgyMvKC5zntscce06uvvqo9e/Y0+lhCbsaqqqqUlZWliRMnSpI++OAD/eY3v9GvfvUrbdq0Sfn5+Zo3b56qq6vrHBcQEKCYmBiFhIRcsrWFhYUpJiZGLVu2lCT16dNHLVu21KefflpvbEBAgN5//31t3LjxvPMuWbJEZWVlys3Nldvt1rBhwxoczsGDB3XkyBHv9ZMnT+ruu+/W/ffff9ZjSkpKGjS39P3fChsyZIgWLVrU4GNOI+Rm7N1339VPfvIT3XTTTZKkf/3rX+rfv7+mTZum+Ph4denSRSNGjNBLL7103rm+/PJL3XzzzQoODlbXrl21YcOGemNKS0s1ZswYtW3bVqGhoerdu7fy8vIatNYWLVpo2LBhWrNmTb19oaGhysjI0IwZM847T2RkpGJiYtS9e3ctWrRIx44dO+NaTzt16pTeeecd3X333WrXrp12797t3Td37lw9+uijSkhIOOvxnTp1UkpKipYvX66qqqrzrm/48OFauXLlecf9GCE3Yzk5OerVq5f3ekxMjIqKivT55583ap7a2lqNHDlSQUFBysvL01//+lc9/vjjdcYcOXJEgwYN0jfffKM1a9Zo27Ztmj59umpraxt8O6mpqWcMWfr+PfX27dv15ptvNni+Vq1aSfr+lfXHtm/frqlTp6pDhw665557FBUVpY0bN6pnz54Nnl+SvvjiCyUnJ2v27Nm6+uqrlZGRoY8++khn++O1ycnJKi0tbfBnFqcRcjP2n//8R+3bt/denzRpkn72s58pISFBcXFxGj16tBYvXqwTJ06cc573339fO3bs0LJly9SzZ0/dfPPNyszMrDPm9ddf1/79+7V69WoNGDBAnTt31qhRo9S3b98GrzclJUWlpaXasWNHvX3t27fXI488olmzZunUqVPnnauqqkqzZ89Wy5YtNWjQIEnff/D3wgsvKCkpSb1799aePXu0cOFClZWVaeHChY1a62nx8fHKzMzU3r17tWbNGjmOo+HDh+u6667TnDlz9PXXX9e7H9L3/20ag5CbsWPHjik4ONh7PTQ0VO+8846++uorzZ49W2FhYZo6daqSk5PPeVpYXFysn/70p3X+Ufjxk76wsFCJiYlq27btBa+3VatWuv3228/6qvz4449r//79Wrx48VnnGDNmjMLCwhQeHq633npLWVlZ6tGjhyTpxRdf1OTJkxUWFqavvvpKq1at8p5pXCyXy6Vbb71VS5YsUWlpqfr27es9Nf/xfZTUoNPwHyLkZsztduvgwYP1tl933XW699579corr6igoEBffPGF/vGPf1zUbZ1+gl6sc51eR0ZGaubMmZo7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GEDIgAGEDBhAyIABhAwYQMiAAYQMGEDIgAGEDBhAyIABhAwYQMiAAYQMGEDIgAGEDBhAyIABhAwYQMiAAYQMGEDIgAGEDBhAyIABhAwYQMiAAYQMGEDIgAGEDBhAyIABhAwYQMiAAYQMGEDIgAGEDBhAyIABhAwYQMiAAYQMGEDIgAGEDBhAyIABhAwYQMiAAYQMGEDIgAGEDBhAyIABhAwYQMiAAYQMGEDIgAGEDBhAyIABhAwYQMiAAYQMGEDIgAGEDBhAyIABhAwYQMiAAYQMGEDIgAGEDBhAyIABhAwYQMiAAYQMGEDIgAGEDBhAyIABhAwYQMiAAYQMGEDIgAGEDBhAyIABhAwYQMiAAYQMGEDIgAGEDBhAyIABhAwYQMiAAS7HcRx/LwLAxeEVGTCAkAEDCBkwgJABAwgZMICQAQMIGTCAkAEDCBkwgJABAwgZMICQAQMIGTCAkAEDCBkwgJABAwgZMICQAQMIGTCAkAEDCBkwgJABAwgZMICQAQMIGTCAkAEDCBkwgJABAwgZMICQAQMIGTCAkAEDCBkwgJABAwgZMICQAQMIGTCAkAEDCBkwgJABAwgZMICQAQMIGTCAkAEDCBkwgJABAwgZMICQAQMIGTDg/wDu1iGX2QbvxgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from lambeq import DependencyReader\n", "\n", "reader = DependencyReader()\n", "reader.sentence2diagram('John resigned').draw()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the more interesting case of the sentence \"Money that I give them\", the derivation can capture long-range word dependencies, like the one between \"money\" and \"give\":" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CCG parse:\n" ] }, { "data": { "image/png": "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ysqsqKgoa+HChe77jxw50hoxYoRlWZZ16tQpKyQkxPr666+r/J177rnHGjlypGcH46PsnDfOXkeZN2+eJcl644033NfVZL32vffes6Kjo92XJVlPPvmk+/I333xjSbKmT5/uHutHH31kBQcHe2hkdcu/3ttTDTVr1ky33nqrFixYIMuydOuttyoqKqrKfcrLy9WvXz/35YCAAPXu3Vs7duyocr/u3bu7z0dHR0uSDh8+rJiYGP3000/avHlzlcZauSmu8js7EydO1Pz58/W3v/1Nubm5WrlypdLT0+t2wGhQLjTNFBYW6umnn9aKFSuUnZ2t8vJylZSUuLfMAPXBsiwdOHBA27dv144dO5Sbm6u8vDz36dixY8rLy1NhYaHKyspUXl6unj17uj/J8/f3V3BwsCIiIhQREaHIyMgq5+Pi4pSQkKDOnTsrMDDQ7uECRtq9e7fKysrUu3dv93VNmzZV586dq72/v7+//vSnP+mDDz7QmDFjVFRUpKVLl2rRokWSpF9//VXFxcW66aabqjyutLS0ym748G6dOnVyn6/Jem1FRYVOnTql4uJi9/ezzlzPadGihSQpLi6uynWnTp1Sfn6+wsLCPDqey9Vgy4z0265mlZu4XnvttUt+noCAAPf5yu8vuFwuSb/tMjRjxgzdfvvt7vts375dQ4cOVVBQkCRp7Nixeuyxx/TNN9/o66+/Vvv27XXdddddch40fBeaZh599FGtWbNGL774ouLi4tSoUSPdcccdKi0ttSUrfMORI0e0YsUKbdy4Udu3b1dWVpb78JyNGjVSdHS0u5C0atVKXbt2VUREhJo0aaKAgAD5+/srJCREY8aMUXl5ucrKylRSUlKlAO3atUtbtmzRkSNHdPToUUmS0+lUp06dlJCQoF69eunWW29V165d+S4Y4CGjR4/WgAEDdPjwYa1Zs0aNGjXS4MGDJcm9+9mKFSvUunXrKo+rXGeB9/P3/3+r7zVZr60UHBzsPl/des6Fnrcha9BlZvDgwSotLZXD4VBSUtI5twcEBGjz5s2KjY2V9NuX5LZs2VKrw9glJiZq586dVdpofn6+JMnP77evFEVGRmro0KF655139M0335zz3R2YKzAwUBUVFbV6zObNm3X33Xe7918uLCx0Hzjgcp4XONuOHTv073//W2lpafr2228lST169FD37t01bNgwJSQkKCEhQbGxse73q7py7NgxZWVlafv27e7Tc889p6lTpyo2NlbJyclKSUnRoEGDqiwAAfw/HTp0UEBAgLZs2eI+GuvJkyf1yy+/6A9/+EO1j+nbt6/atm2rjz/+WCtXrtQf//hH94pnfHy8goKCtH//fg0YMKDexgF7XMq6RHXrtd6uQS+BnE6ne5cxp9N5zu133HGHpkyZooiICMXExGj27NkqLi7WPffcU+O/MX36dCUnJysmJkZ33HGH/Pz8tHr16nPuN3HiRCUnJ6uiokLjxo279EGhQWnXrp2+++477d27V40bN67RJxCdOnXS4sWLlZKSIofDoWnTpp3zuHbt2mnDhg268847FRQUdM4uksCFZGZmasaMGUpLS1NoaKhuuukmvfXWW7r11lvduwN4WmRkpK677roqW6FPnz6tdevWKS0tTWlpaXrttdcUFxenadOmadSoUZQa4CxNmjTRuHHj3OsqzZs311NPPSU/P78Lbt0cNWqU/vWvf+mXX37R2rVrqzzfo48+qsmTJ8vlcql///46efKkNm/erLCwMNZPvMylrKNUt177008/adu2bXr22WfrIXX9a7BHM6sUFhZ23n31HnroIQ0fPlxjxoxRYmKifv31V61evVrh4eE1fv6kpCQtX75cX3zxha699lr9/ve/1wcffHDO/W688UZFR0crKSlJrVq1uuTxoGF59NFH5XQ6FR8fr2bNmtXoey//+Mc/FB4err59+yolJUVJSUlKTEyscp9nnnlGe/fuVceOHdWsWTNPxYeX2bZtm1JTU9WrVy/9/PPPWrhwoY4ePaolS5ZowoQJ9VZkzicoKEhJSUl69dVXtXfvXn3//fdKSEjQuHHjFB8frw8++ECWZdmaEWho/vGPf6hPnz5KTk7WjTfeqH79+qlLly5Vdvk52+jRo5WVlaXWrVtX+W6w9NtRqKZNm6ZZs2apS5cuGjx4sFasWKH27dt7eiioZ2evo+Tk5Fz0MdWt17788svuvZi8ks0HILgknj6yRHXPX1BQYIWFhVmfffaZR/5mbbIA8L554+OPP7aCg4OtuLg4a+HChVZZWZndkWosMzPTuu222yxJ1vjx463Tp0/bHalOeHIaa2jTb0PL480KCwutpk2bWm+99ZbdUVADDWnesGP91wQNfsuM3Vwulw4fPqyZM2fqiiuu0G233WZ3JABexLIs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6tZbb9Wjjz6qvLw8u+PUuZycHD3xxBO688471aJFC7vjAJfs3nvvVVFRkR5//HG7o3jEvHnzlJGRoUmTJtkdpV74TJkZNGiQ/vznP2vKlCled2Sz9evX69VXX9Xf//53dezY0e44wGWZO3eunE6nHnjgAa87aMfDDz+sU6dOad68eXZHgYfMmzdPJSUleuSRR+yOUqcsy9IDDzwgp9OpuXPn2h0HuCwdO3bUrFmzNHfuXK1fv97uOHVqz549mjJliu6//37dcMMNdsepFz5TZiRp9uzZioiIUHJystcUmu+//14jRozQddddp7/85S92xwEuW7NmzfT6669ryZIlmjJliioqKuyOdNlcLpemT5+u999/X3PmzOF7bV6sdevWmjNnjt577z1Nnz7dK3Ztrqio0KOPPqp///vfeuONNxQVFWV3JOCyPfTQQ+rfv79GjBih77//3u44dWLv3r1KSUlRZGSkZs+ebXeceuNTZSYsLEwrV65USUmJevfurc2bN9sd6bIsWrRIAwYMUIcOHfTJJ59wmFd4jTvuuENz5szRyy+/rKFDhxr9heri4mKNGDFCM2fO1KxZszR27Fi7I8HDxo0bp+eff14zZ87UnXfeqeLiYrsjXbL8/HylpqZqzpw5mjNnjoYPH253JKBO+Pn56dNPP1WHDh00YMAAffzxx3ZHuiybNm3Stddeq5KSEq1atUpNmjSxO1K98bm13/j4eH333Xfq0qWLbrjhBk2fPl3Hjx+3O1atHDhwQPfff79GjhypO+64Q+np6ey/DK/z8MMPa/ny5Vq/fr169+6tZcuWGbXbmWVZWrVqlfr06aPPP/9cixcv1mOPPSaHw2F3NHiYw+HQ1KlT9dlnn2nFihXq06ePVq1aZdz0u2zZMv3ud7/Txo0btWLFCj388MN2xwLqVIsWLZSenq7hw4frzjvv1P33368DBw7YHatWjh8/runTp2vQoEFKSEjQ999/ry5dutgdq175XJmRpKioKK1Zs0aPPPKIXnzxRbVv315PP/20Tpw4YXe0Czpw4IAefPBBxcXF6dNPP9Urr7yihQsXKjg42O5ogEcMGTJE3377rVq0aKHU1FT17NmzwZeaM0vMkCFDFBoaqs2bN2vYsGF2R0M9u/3227V582aFhoZqyJAhRpSayhLTs2dPpaamqmXLlvrmm284ehm8VnBwsN57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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "Dependency graph:\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA5wAAAFACAYAAADQ0XOsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABGIElEQVR4nO3deXxM9+L/8feQpFltjUgiInahlqQaGruGUFtRFKmtaOtWrUWLKm4q7rUUraWttbhaVWIvammoqy1CRUpR0mjSNteeICXz+8M38zPZg2OE1/Px8HiYcz7ncz7nZD7zmfeczWQ2m80CAAAAAOA+K2TrBgAAAAAAHk0ETgAAAACAIQicAAAAAABDEDgBAAAAAIYgcAIAAAAADEHgBAAAAAAYgsAJAAAAADAEgRMAAAAAYAgCJwAAAADAEAROAAAAAIAhCJwAAAAAAEMQOAEAAAAAhiBwAgAAAAAMQeAEAAAAABiCwAkAAAAAMASBEwAAAABgCAInAAAAAMAQBE4AAAAAgCEInAAAAAAAQxA4AQAAAACGIHACAAAAAAxB4AQAAAAAGILACQAAAAAwBIETAAAAAGAIAicAAAAAwBAETgAAAACAIQicAAAAAABDEDgBAAAAAIYgcAIAAAAADEHgBAAAAAAYgsAJAAAAADAEgRMAAAAAYAgCJwAAAADAEHa2bsDdiouLU1JSkq2bAQC5cnd3l6+vr62bARthvDIG/erxRr8yBv0KRiiQgTMuLk7+/v5KSUmxdVMAIFfOzs6KjY1lEH8MMV4Zh371+KJfGYd+BSMUyMCZlJSklJQULVu2TP7+/rZuDgBkKzY2VmFhYUpKSmIAfwwxXhmDfvV4o18Zg34FoxTIwJnO399fgYGBtm4GAAA5YrwC7j/6FVAwcNMgAAAAAIAhCJwAAAAAAEMQOAEAAAAAhiBwAgAAAAAMQeAEAAAAABiCwAkAAAAAMASBEwAAAABgCAInAAAAAMAQBE4AAAAAgCEInAAAAEAe7Nq1SyaTSRcvXrR1U4ACg8CJAql3794ymUx67bXXMs37xz/+IZPJpN69ez/4hgFAAdW7d2+98MILtm4G8FBp0qSJhgwZYutmAAUagRMFVpkyZbRy5Updu3bNMu369etasWKFfH19bdgyAAAAABKBEwVYYGCgypQpo6+++soy7auvvpKvr68CAgIs027cuKE333xTHh4ecnR0VIMGDfTDDz9Y5qefHvPNN9+oTp06cnZ2VnBwsI4fP261vsjISAUGBsrR0VHly5fXhAkTdPPmTUlS37591aZNG6vyf//9tzw8PLRgwQIjNh8AABiod+/e2r17t2bOnCmTySSTyaQzZ85Ikg4cOHDX3xkkyWQyaf78+WrTpo2cnZ3l7++vffv26eTJk2rSpIlcXFwUHBysU6dOPchNBgxB4ESB1rdvXy1atMjyeuHCherTp49VmZEjR2r16tVasmSJDh48qIoVKyo0NFTnz5+3KjdmzBhNmzZNP/74o+zs7NS3b1/LvKioKPXs2VODBw/WsWPHNH/+fC1evFjh4eGSpH79+mnLli1KSEiwLLNhwwalpKSoa9euRmw6AAAw0MyZM/Xss8+qf//+SkhIUEJCgsqUKSPp3r4zpJs0aZJ69uyp6OhoVa1aVd27d9err76qt99+Wz/++KPMZrPeeOONB7rNgBEInCjQwsLCtGfPHp09e1Znz57V3r17FRYWZpmfnJysuXPn6t///rdatWqlatWq6ZNPPpGTk1OmI4/h4eFq3LixqlWrptGjR+u7777T9evXJUkTJkzQ6NGj1atXL5UvX17NmzfXpEmTNH/+fElScHCwqlSpos8++8xS36JFi9S5c2e5uro+gD0BAADup6JFi8rBwUHOzs7y9PSUp6enChcuLOnevjOk69Onj7p06aLKlStr1KhROnPmjHr06KHQ0FD5+/tr8ODB2rVr14PebOC+s7N1A4B7UbJkSbVu3VqLFy+W2WxW69at5e7ubpl/6tQp/f3336pfv75lmr29vYKCghQbG2tVV82aNS3/9/LykiT9+eef8vX11eHDh7V3716rXydv3bql69evKyUlRc7OzurXr58+/vhjjRw5Un/88Yc2b96sHTt2GLXpAADARu71O0PGOkqVKiVJqlGjhtW069ev6/LlyypSpIih2wMYicCJAq9v376WU04++uiju67H3t7e8n+TySRJSktLkyRdvXpVEyZMUMeOHTMt5+joKEnq2bOnRo8erX379um7775TuXLl1LBhw7tuDwAAeDjd63eG7OrIqV6goCJwosBr2bKlUlNTZTKZFBoaajWvQoUKcnBw0N69e1W2bFlJt2/m88MPP+TrNueBgYE6fvy4KlasmG2ZJ598Ui+88IIWLVqkffv2ZbqWFAAAFCwODg66detWvpbJy3cG4HFC4ESBV7hwYcvpsenXVqRzcXHR66+/rrfeekslSpSQr6+v/vWvfyklJUWvvPJKntfx7rvvqk2bNvL19dWLL76oQoUK6fDhwzp69Kj++c9/Wsr169dPbdq00a1bt9SrV6/7s4EAAMAm/Pz8tH//fp05c0aurq55OtqY1+8MwOOCmwbhkVCkSJFsr2+IiIhQp06d9PLLLyswMFAnT57U119/reLFi+e5/tDQUG3YsEFbt27VM888o3r16mnGjBmWo6bpQkJC5OXlpdDQUHl7e9/TNgEAANsaMWKEChcurGrVqqlkyZKKi4vLdZm8fmcAHhcc4USBtHjx4hznr1271vJ/R0dHzZo1S7NmzcqybJMmTWQ2m62m1a5dO9O00NDQTKfsZpScnKwLFy7k6+gpADwMcvtcBR5HlStX1r59+6ym9e7d2+r13XxnyFjez88v07Ssvp8ABRGBE7gP0tLSlJSUpGnTpqlYsWJq166drZsEAAAA2ByBE7gP4uLiVK5cOfn4+Gjx4sWys6NrAQAAAHwrBu6DrE6FAQAAAB533DQIAAAAAGAIAicAAAAAwBAETgAAAACAIQicAAAAAABDEDgBAAAAAIYgcAIAAAAADEHgBAAAAAAYgsAJAAAAADAEgRMAAAAAYAgCJwAAAADAEHa2bsC9iI2NtXUTACBHfE5B4n1wv7E/IfE+uN/YnzBKgQyc7u7ucnZ2VlhYmK2bAgC5cnZ2lru7u62bARtgvDIO/erxRb8yDv0KRjCZzWazrRtxN+Li4pSUlGTrZuRq+vTp2rt3r1avXm3rpgCPjDFjxigpKUnz58+3dVPyxN3dXb6+vrZuBmykoIxXr776qtzd3RUeHm7rpuQJ/erxVlD6VadOnVS/fn0NGzbM1k3JE/oVjFAgj3BKkq+vb4HoEKVKlZKjo6MCAwNt3RTgkVGiRAnduHGDfoUCoaCMV25ubipRogT9CgVCQelXjo6OKlWqFP0KjzVuGgQAAAAAMASBEwAAAABgCAInAAAAAMAQBE4AAAAAgCEInAAAAAAAQxA4HzL/+9//5OHhoTNnzlimjRs3TgMGDLBdowqoefPmqW3btnku36hRI61YsSLP5Xft2iWTySSTyaQXXnghx7JNmjTRkCFD8lXvxYsX872e+yWrfZeUlCQPDw/Fx8c/kDbcT3ntV1mVy817771n+ft88MEHOZY1mUxau3ZtnuutXbv2Xa3nfnnppZc0bdq0B7Kuh0Fqaqr8/Pz0448/PrB1Hjt2TD4+PkpOTn5g67xf6FcF0+jRozVo0KAHus569eo90MfDMV5l7VHuVw96vLLFeGFr9zJeETgfMuHh4Wrfvr38/PwkSYmJiZo5c6bGjBljKdO7d2+ZTCZFRERYLbt27VqZTCbL6zuDislkUqlSpdSpUyedPn1av//+u+zt7XX+/HmrOtKXqV69um7dumU1r1ixYlq8eLHltZ+fn6VuFxcXBQYGatWqVXe97R9//LGaNGmiIkWKWAWuu9W3b18dPHhQUVFRmeZdu3ZNLi4uOnnypCRp3bp1+uOPP/TSSy9Zyhw+fFjt2rWTh4eHHB0d5efnp65du+rPP/+0quv48eNW++V+Cw4OVkJCgrp06ZLl/KZNm+rTTz/VmTNnZDKZ5OHhoStXrliVqV27tt577z3L6yZNmlj+do6OjqpWrZrmzJljmZ/VvnN3d1fPnj01fvz4+7uBD0Be+lVW5SRpzZo1qlevnooWLSo3NzdVr149048H1atXV0JCgqE/DI0YMUIJCQny8fGRJO3bt08lS5bM1E8XL14sk8mkli1bWk2/ePGiTCaTdu3aZZl25+dD0aJFVb9+fe3YscMyf+zYsQoPD9elS5cytWf37t0qU6aMpPvzmXQ3du3apfbt28vLy0suLi6qXbu2li9ffld1SZKDg4NGjBihUaNGZTl/woQJlgfNp3/+/fe//7UqM2TIEDVp0sTy+s4vXnZ2dvLz89PQoUN19epVSVK1atVUr149TZ8+/a7bbSv0q7vrV/kVHh6u4OBgOTs7q1ixYnddT7oRI0ZoyZIlWfa7s2fPysnJSVevXrW8d1977TWrMtHR0TKZTJagkz72pP978skn1aJFCx06dMiyzNixYzV69GilpaVlWueSJUvUoEEDSf9/bFq5cqVVmQ8++MDq/ZP+9zCZTCpUqJB8fHzUp08fy/jMePX49asHPV7ZYrzIr6+++kp16tRRsWLFLGPkZ599dld1Sfc2XhE4HyIpKSlasGCBXnnlFcu0Tz/9VMHBwSpbtqxVWUdHR02ZMkUXLlzItd7jx4/r999/16pVqxQTE6O2bduqVKlSCggI0MaNG7Nc5vTp01q6dGmudU+cOFEJCQk6dOiQnnnmGXXt2lXfffddrstJUnJysv73v/9ZXqekpKhly5Z65513sl0mLi4uT3VLtz8MunfvrlmzZmWat23bNpUtW1YVK1aUJM2aNUt9+vRRoUK3u8Rff/2l5557TiVKlNDXX3+t2NhYLVq0SN7e3pl+2fHw8LgvXwJy2g5PT085OTllmnf+/Hnt3bvX6mjklStXNHXq1Fzr7d+/vxISEnTs2DF16dJF//jHP/Sf//zHss6s9l2fPn20fPnyTD9UPMzy2q+yKvfNN9+oa9eu6tSpk77//nsdOHBA4eHh+vvvv63WYWdnJ09PTzk7Oxu2Ha6urvL09FThwoUlSXXr1lXhwoWz7G92dnbavn27du7cmWu9ixYtUkJCgvbu3St3d3e1adPGMqA+9dRTqlChgpYtW5ZpucjISKv33b1+JmX8IpKdOz8DvvvuO9WsWVOrV6/WkSNH1KdPH/Xs2VMbNmywlPnrr790/fr1PNUtST169NCePXsUExOTaV5kZKTatWtnee3o6Jjtl407pX/BO3PmjKZMmaKPP/5Yw4cPt8zv06eP5s6dq5s3b+a5nbZGv8pZTv0qNxcuXLD6gpmamqrOnTvr9ddfz3aZ/IyN7u7uCg0N1dy5czPNi4yMVNOmTeXq6irp9nt8wYIF+uWXX3Ktd/v27UpISNDXX3+tq1evqlWrVpYfjlu1aqUrV65o8+bNWa4zY78aO3ZspvdDRkWKFFFCQoLi4+P1ySefaPPmzXr55Zct8xmvHq9+ZYvxyhbjRW5+++03y/9LlCihMWPGaN++fZYxsk+fPvr6668tZeLj42U2m/Nc/92OVwTOh8imTZv0xBNPqF69epZpK1euzPK00JCQEHl6emry5Mm51uvh4SEvLy81atRI7777ro4dO6aTJ0+qXbt2WrduXZbLDBo0SOPHj9eNGzdyrNvNzU2enp6qXLmyPvroIzk5OWn9+vXZljebzdq9e7f69OkjT09P7dmzxzJvyJAhGj16tNX2Z9S4cWPVq1dPc+fOzdMHRdu2bbVu3Tpdu3bNavqdHwR//fWXduzYYbWf9+7dq0uXLunTTz9VQECAypUrp6ZNm2rGjBkqV65cjutMTk5Wz5495erqKi8vryxP8bhx44ZGjRqlMmXK6IknnlDFihW1YMGCXLcno40bNyowMFClSpWyTBs0aJCmT5+e6UhsRs7OzvL09FT58uX13nvvqVKlSlbvh6z2XfXq1eXt7a01a9bku622ktd+lVW59evXq379+nrrrbdUpUoVVa5cWS+88II++uijXNf7yy+/qFGjRpYjyNu2bctUJj4+Xt26dVOJEiXk4uKiOnXqaP/+/XnarkKFCqlNmzZZ9mEXFxf17dtXo0ePzrWeYsWKydPTU0899ZTmzp2ra9euWbW1bdu2mY42SLfPCrhzML0fn0nZuXz5shYsWKBGjRpZnbb1zjvvaNKkSQoODlaFChU0ePBgtWzZUl999ZWlzKZNm+Tl5aXXXntN+/bty7VtxYsXV/369TNt82+//aaYmBirX+IHDBig//73v9q0aVOOdaZ/wfPx8VHXrl3Vo0cPq79b8+bNdf78ee3evTvX9j0s6Fc5y61fZXTz5k1t3LhRnTt3lpeXl06dOmWZN2HCBA0dOlQ1atTIdvly5copJCREn332mVJSUnJtX3b9OuOX5CpVqqhp06aZjq5l5cknn5Snp6fq1KmjqVOn6o8//rDs98KFC+v555/PtM7r169r69atVuvs1q2bLl68qE8++STH9ZlMJnl6esrb21utWrXSm2++qe3bt1vGLMarx69fPejxyhbjRVbi4uIUHh6uypUr680337RMb9KkiTp06CB/f3/LGFmzZk2r797jxo1T+fLlNX78+Dz9KHa34xWB8yESFRWlp59+2vL6/PnzOnbsmOrUqZOpbOHChfX+++9r9uzZ+bpGIf0oWWpqqtq3b6+vv/5aqampmcoNGTJEN2/e1OzZs/Nct52dnezt7bOs7/Tp0xo/frzKly+v1q1b69atW1qzZk2+rrGUpG+//Vbt2rXTrFmz5OXlpS5dumjjxo3ZHh2pU6eObt68afWhmJaWpg0bNqh9+/aSpD179sjZ2Vn+/v6WMp6enrp586bWrFmTr19+JOmtt97S7t27FRkZqa1bt2rXrl06ePCgVZmePXvqP//5j2bNmqXY2FjNnz/f8otyfqxbt86yHem6deumihUrauLEifmqy8nJyepvl9W+k6SgoKAsT1N+WOW1X2UsJ91+H8TExOjo0aP5WmdaWpo6duwoBwcH7d+/X/Pmzcv0y+bVq1fVuHFjnTt3TuvWrdPhw4c1cuTILE85y0779u2zHYjee+89/fTTT/ryyy/zXN+dnw/pgoKC9P3331v9+BQTE6M///xTzZo1s0y7H59Jd0pLS9O2bdsUFhYmT09PRURE6Lnnnsv1eplLly6pRIkSltc9evTQsmXLdOHCBTVr1kxVqlTR+++/b/UrcEZZvcfXrVtnOeU/Xbly5fTaa6/p7bffztffLWNfc3BwUO3atelXuXiU+lW6n376ScOHD5ePj4969uypkiVLaufOnapVq1ae65duX1sVFBSksWPHqlSpUurbt692796d7fgVFBSk+Ph4q+v/Ll68qD179lh9MZekiIgIrV69Ol/XqmX3WZLxPf7NN9+odOnSqlq1qmVakSJFNGbMGE2cODFf14o5OTkpLS3N6sgL41XuHqV+ZYvx6kGPF+mSk5P12WefKSQkROXKldOmTZs0fPhwLVy4MMt6zGazvvnmGx0/flyNGjWyTJ81a5bGjRun3bt3q1KlSmrUqJEWLlyY6dKsdHc7XhE4HyJnz56Vt7e35XVcXJzMZrPVtDt16NBBtWvXzvM1CgkJCZo6dapKly6tKlWqqEaNGnJ3d8/y2hJnZ2eNHz9ekydPzvJ8+IxSU1MtZdM79dWrVy1HJSpXrqzvvvtOEydO1B9//KGlS5cqJCTEcgprXpUpU0bvvPOOYmNj9e2338rDw0O9e/eWj4+PRowYkemD1tnZWUWLFtXZs2ct09LPoa9bt66k2/u9VKlSVm2pV6+e3nnnHXXv3l3u7u5q1aqV/v3vf+uPP/7IsX3p2zx16lQ999xzqlGjhpYsWWI1AJ44cUJffPGFFi5cqA4dOqh8+fJ67rnn1LVr13ztixs3bmjLli2ZvhykX5vw8ccfW/1Knp1bt25p2bJlOnLkiNUHclb7TpK8vb0zTXuY5bVfZSwn3T5a/Mwzz6hGjRry8/PTSy+9pIULF+Z65H/79u36+eeftXTpUtWqVUuNGjXS+++/b1VmxYoV+uuvv7R27Vo1aNBAFStWVJcuXfTss8/medtCQkIUHx+vn3/+OdM8b29vDR48WGPGjMnTqS8pKSkaO3asChcurMaNG1vVk5qaqsTERMu0yMhIhYaGysHBwaqOe/1Mkm73j3feeUdly5ZV165d5erqqu3bt+uXX36x/GiVnS+++EI//PCD+vTpY5lmZ2en1q1b6/PPP1diYqJGjBihLVu2WB0RyngGRFbv8YxHftKNHTtWv/76a56vHT1w4IBWrFhh1deyW+fDjH519/3qf//7n2bOnKnAwEDVqVNHp0+f1pw5c5SQkKA5c+bkq63p0n9IOXPmjNatWyez2ay2bduqQoUKeu+99/Trr79m2g5JVu+5TZs2qWbNmpn+XoGBgerSpUueTgeUbgfXSZMmydXVVUFBQVbr/O2336y+bGfXrwYOHChHR8c8Xyv2yy+/aN68eapTp47c3Nys1km/ejz6VXo9D3K8Sl/ngxwvdu/erb59+8rT01Pvvfee6tevrxMnTmjv3r169dVXVbx4cas6Ll26JFdXVzk4OKh169aaPXu2mjdvbpnv5uamvn37ateuXTp9+rRatGihKVOmyNPTU2FhYdq2bVumH67upl8ROB8i165dk6Ojo9VrSVbTMpoyZYqWLFmi2NjYbMv4+PjIxcXFcv3h6tWrLR0vp9NqX3nlFT355JOaMmVKtnWPGjVKrq6ucnZ21pQpUxQREaHWrVtLkr788kv169dPFy5c0OHDh7Vt2za9/PLLcnFxyX4n5ENQUJA+/PBDnTt3Tt27d9f06dMtF2jfycnJyeoUo8jISLVp08YSMDPu93Th4eFKTEzUvHnzVL16dc2bN09Vq1bVTz/9lG2bTp06pdTUVEuYlW6fQ3/nh1N0dHSmD8m7sWPHDnl4eKh69eqZ5oWGhqpBgwYaN25ctsvPmTNHrq6ucnJyUv/+/TV06NBM1whl3HfZTXuY5bVfZfU+cHFx0caNG3Xy5EmNHTtWrq6uGj58uIKCgnLcB7GxsSpTpozVF4KMA3N0dLQCAgKsjsbll5OTk5o3b55tHx41apT++uuvbH/xlG4fEXd1dZWbm5tWr16tBQsWqGbNmlbrkJSpD2U1mEr3/pk0YMAATZ48WW3atNG5c+c0b948BQcHZ78T/s/OnTvVp08fffLJJ1n2CUkqWrSo+vfvr2+//Vbfffedfv31V/Xs2dPqepb0bb5zey9fvqzdu3dnuc0lS5bUiBEj9O6772b5K7R0+yhWel8LCgrSs88+qw8//DDHdT7s6Fd3369mz56tIUOGyNXVVSdPntSaNWssR5julclkUtOmTbVo0SLFx8fr2WeftZySm3Ebpbz363/+85+KiorS1q1bs113cHCwXF1dVbx4cR0+fFiff/651eUe6Ucg0wOQ2WzW+vXrs1znE088oYkTJ2rq1KlKSkrKcn3pX6SdnZ1VpUoVlSpVKtMXefrV49Ov0tchPbjxKn2dD3K8aNKkiVauXKmpU6fq1KlTmjBhgipUqJBt+93c3BQdHa0ffvhB4eHhGjZsmNXNmO5UtmxZjR07VsePH9ecOXMUGRmpFi1aZDrwdDf9isD5EHF3d7e6LtHd3V2ScrxWsVGjRgoNDdXbb7+dbZmoqCgdOXJEly9fVnR0tFUYat++fbbXXNrZ2Sk8PFwzZ87U77//nmWZt956S9HR0YqPj9eFCxesfgFt3769ZsyYITs7Oz399NPq3Lmz1q1bl+uNAPLq+PHjGjt2rCpXrqyFCxeqf//++vjjjzOVO3/+vEqWLGl5nfFc/oz7/U5PPvmkOnfurKlTpyo2Nlbe3t55uiFPTrK6+c/dyLgdGUVEROjzzz+3ulPgnXr06KHo6Gj9+uuvSk5O1vTp0zMdcc6477Kb9jDLa7/K6X1QoUIF9evXT59++qkOHjyoY8eO6fPPP7+ndt2v90FOpykVK1ZMb7/9tiZMmJDt4DBjxgxFR0crMTFRiYmJ6tWrl9X89BtupP/N028Slv7DUkb3+pn0wQcf6I033tCqVatUuXJljR49OssbMtxp9+7datu2rWbMmKGePXtmW+769etatWqV2rZtqwYNGsjd3V1z5szRc889l2mb73yPb968WdWqVbPc5TCjYcOG6dq1a1Z3er5TlSpVFB0drdjYWF27dk3r1q2z+iKe1TofdvSru+9XAwYM0KRJk5SYmKjq1aurT58+2rFjR75Os8vJwYMHNWTIEFWqVEnffPONhg0blulatYz9OjU1NcszZtJVqFBB/fv31+jRo7M9Tffzzz/X4cOHdeHCBZ06dUrPP/98pnW6uLhY/kbff/+9bt68me0PSmFhYSpbtqz++c9/Zjk//Yv00aNHlZycrG+//VaVK1fOtE761ePRr6QHP16lr/NBjhfr169X69atNXjwYAUGBmrGjBlWR3QzKlSokCpWrKjatWtr+PDhevHFF7O9djUpKUmzZ89WUFCQ+vfvr2bNmmn16tUqWrRojtucFwTOh0hAQICOHTtmeV2hQgUVKVLEalpWIiIitH79+mxviFGuXDlVqFDB6jSTdA0bNlRycnKmawzTde7cWdWrV9eECROynO/u7q6KFSvK09PT6nbS0u2LqYcMGaJDhw7p+++/V5kyZTRgwAB5eXnpjTfeyPPF5ndKSkrShx9+qLp166p69eo6cOCAIiIilJCQoPnz51udviPdPuJ4/fp1BQQESLp92s3Zs2etTicICAhQYmJirjchcnBwUIUKFXK8pqRChQqyt7e32rYLFy7oxIkTltc1atRQWlraPd0gJP2X4YzXb94pKChIHTt2zPZC/KJFi6pixYoqXbp0lqc2Z9x36Y4ePZpp2sMsr/0qY7ns+Pn5ydnZOcf3gb+/v3777TclJCRYpmW8HXrNmjUVHR19z3dQbNOmjb7//nv99ddfWc4fNGiQChUqpJkzZ2Y539PTUxUrVsx28Dh69Kh8fHwsX3zWr1+v4ODgHH/pvpfPpNq1a2v27Nn6/fffNXPmTMXGxiogICDbgXXXrl1q3bq1pkyZkuVt/s1ms6KiotS/f395enpq2LBheuqpp3TkyBHt379fr7/+eqZ2ZHyPR0ZG5tjXXF1dNW7cOIWHh2d53YuDg4MqVqwoPz+/bI9i0a8en37l7e2tsWPH6sSJE9qyZYscHBzUsWNHlS1bNk8/sGQlPj5eERERql69uoKDg3Xu3DktWLBA8fHxmjZtmtU9CqTb7zd7e3vL2QC7du1S8eLFc7x29N1339WJEyeyvCmLdPuSlwoVKmR71/as+lXr1q0tdzLNqFChQpo8ebLmzp2b5bMm079Ily9fPttARL96fPqV9ODHq/R1Psjxok2bNlq1apUSEhLUr18/rVy5Uj4+PmrVqpVWrFiR65HHO88ykG5fnrVq1Sq1a9dO3t7eWrhwoXr06KFz584pMjJSHTt2zPT9/m76FYHzIRIaGqqYmBhL8ClUqJBCQkKs7iaVlRo1aqhHjx5ZPv4jN3Z2dnr++ecVGRmZbZmIiAgtXLjwnh5MXrNmTU2fPl3x8fFavHixEhMT1ahRI6ujq4mJiYqOjrbc/eunn37K9AFXt25dzZ07V506ddJvv/2mzZs366WXXsr2tOOoqCiVL1/ecrpBZGSkQkJCrG4HHhAQIHd3d+3du9cybcOGDQoLC9OGDRt04sQJHT9+XFOnTtWmTZty/SB55ZVX9NZbb2nHjh06evSoevfubRXo/Pz81KtXL/Xt21dr167Vr7/+ql27dumLL77I8/48cOCAUlJSLM8uy054eLh27Nih48eP57nudBn3nXT7NJUDBw6oRYsW+a7PVvLarzKWk27fyGDkyJHatWuXfv31Vx06dEh9+/bV33//bfWjRUYhISGqXLmyevXqpcOHDysqKirTXR67desmT09PvfDCC9q7d69Onz6t1atX5+lOqncqWbKkgoKCrB4FcidHR0dNmDDhrj4fpNvvgzv/3rkdWZfu7TMpXfqX8MjISJ07d049e/bU0qVLrU6X3blzp1q3bq0333xTnTp1svzqfednxrJlyxQaGqqUlBR98cUXOnv2rCZPnmx1k5KctvnmzZvavHlzrts8YMAAFS1aVCtWrMj3tp45c0bnzp1TSEhIvpe1FfrVvfWrdMHBwZo/f74SExP173//W9HR0apVq5bVpRtxcXGKjo5WXFycbt26pejoaEVHR1s9OqVs2bJas2aN/vGPfyghIUGrVq1SmzZtZGdnl+V6o6Ki1LBhQ0tQy0u/LlWqlIYNG/ZAP0tat26tunXrav78+fleH+PV49evbDFePejxIl3x4sU1cOBA7d+/X0ePHlWtWrU0cuRIq0cDTZ48Wdu2bdPp06cVGxuradOm6bPPPrO6/GzgwIEaNGiQKlWqpB9//FGHDh3S4MGDsw31dzteETgfIjVq1FBgYKBV8Ej/9SK3U20mTpx416fj5HSKgyQ1a9ZMzZo1uy/PiLOzs1ObNm305ZdfKiEhwerUhHnz5ikgIED9+/eXdPtUh4CAAKu2bdy4UTExMRo5cqS8vLxyXd9//vMfS31S1ufyFy5c2PK8rnTVqlWTs7Ozhg8frtq1a6tevXr64osv9Omnn1p15qz8+9//VsOGDdW2bVuFhISoQYMGme4mN3fuXL344osaOHCgqlatqv79++cr0EdGRur555/P9stEusqVK6tv3775eg5huoz7Ln29vr6+atiwYb7rs5W89qusyjVu3FinT59Wz549VbVqVbVq1UqJiYnaunWr1XW5GRUqVEhr1qzRtWvXFBQUpH79+ik8PNyqjIODg7Zu3SoPDw89//zzqlGjhiIiIrL9tT8nufXhXr165Xiznexcv35da9eutbwPkpOT9c033+Q6mEr39pmUUcmSJS1nS9z5w9CSJUuUkpKiyZMny8vLy/KvY8eOljLPPfecEhMTtXz5crVo0SLXG5Xt27dPly5d0osvvijp9um6rq6uCgwMzHE5e3t7TZo06a77WosWLTI9b/lhRr+6+36VFUdHR7300kvasmWL4uLirN4L7777rgICAjR+/HhdvXpVAQEBCggIsLprbExMjPbv36+BAwdmumlIVlauXGn1+Z6XL+aSNGLEiLu6o/q5c+f03XffWW7oderUKZ08eVKhoaG5LjtlypS76leMV49Xv7LFeGWL8SIrVatWVUREhOLi4qxOl01OTtbAgQNVvXp11a9fX6tXr9ayZcvUr18/S5m3337bcibEndfDZueuxyszDDVs2DBz1apV81x+w4YNZn9/f/OtW7fMZrPZnJaWZn7mmWfMK1asMKqJ5suXL5ufeOIJc1xcnGHrsIWjR4+aPTw8zBcvXjSbzWbzX3/9ZbazszMnJiZmKpuQkGAuUaKE+cyZM3muf+fOnWZJ5gsXLtyvJueoV69e5vbt25vNZrO5Ro0a5s8//9ywdWXcd+nq1q1rXr58uWHrzavu3bubmzZtmufyee1XGcvlxfjx4821atXKc/l7VbZsWfOMGTOspv38889mFxcX87Vr1+7ruubMmWNu3ry55fXq1avN/v7+93UdD5suXbqYw8PDLa8HDRpkfv311w1b340bN8y+vr7mPXv2GLaOvGratKm5e/fueS5PvyqYNm3aZPb39zf//fffZrPZbD5w4IC5aNGi5tTUVMPWOXLkSHP//v0tr6dNm2Zu1aqVYeszmx+e8apq1armYcOG5bk8/eru2GK8etDjha3dy3jFEc6HTOvWrTVgwACdO3dO0u07zn388cf35ehidtzc3DRr1qw8Pf6kIElISNDSpUstFzufP39e06dPz3SzDun2dQELFixQXFxcvtfj4+Ojbt263XN7sxMVFSVXV1fLEdjU1FR16tRJrVq1MmydGfeddPv62Y4dOxq6rUbJa7/KWC6v0u8ql91NAO6H999/X66urlm+R6tUqaJ3330327s53i17e3urZ/G6urrmeNfqgi41NVU1atSwuqPnU089lenuzfdTXFyc3nnnHdWvX9+wdRiFflUwJScna9GiRZYzZNKfuW1vb2/YOj08PDRp0iTLax8fnxxv1HKvGK+y96j2qwc9XtlivLC1exmvTGZzPp9qj3wZPny4Nm3alOMtl1EwXbt2zfJB7+rqKk9PzwK9noKkR48eSkhIyPIZsg/a+fPnre6Ml/FubgVtPXh8NWvWTF5eXnl+RpyR6Fd4VPj7++v555/XtGnTbN0U+hVsJucLwABky8nJSRUrVnxk1oO7U6JEiXt6NtnDth7gYUC/Au4/+hVshVNq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LOeXK1dO27dvf2D7Lq8++eQTNWzYUMWLF1fx4sUVEhKi77///q7rq1atmurVq6fp06ffdR0A7h8CJwAAyJeUlBQtWLBAr7zyimXap59+quDgYJUtW9aqrKOjo6ZMmaILFy7kWu/x48f1+++/a9WqVYqJiVHbtm1VqlQpBQQEaOPGjVkuc/r0aS1dujTXuidOnKiEhAQdOnRIzzzzjLp27Wo5Sunu7q7Q0FDNnTs303KRkZFq2rSpXF1dZTab9eGHH1pt97Fjx9SyZUvVqVNH3377rX766SfNnj1bDg4OVmHOZDLJ09NTbm5uubb1bjk5OcnT01MODg6Z5h05ckQXLlxQ48aNLdOM3nc5+e233yz/37Vrl7p166adO3dq3759KlOmjFq0aKFz585ZysTHx8tsNue5/j59+mju3Lm6efNmvtoF4P4jcAIAgHzZtGmTnnjiCdWrV88ybeXKlWrbtm2msiEhIfL09NTkyZNzrdfDw0NeXl5q1KiR3n33XR07dkwnT55Uu3bttG7duiyXGTRokMaPH68bN27kWLebm5s8PT1VuXJlffTRR3JyctL69est89u2bauVK1dmWi4yMlLt2rWTJB04cECnTp1S69atLfO3bt0qT09P/etf/9JTTz2lChUqqGXLlvrkk0/k5OSUY5v+/PNPtW3bVk5OTipXrpyWL1+eqczFixf16quvqlSpUnJ0dNRTTz2lDRs25FhvViIjI9WyZUvZ29tbphm97zKKi4tTeHi4KleurDfffNMyffny5Ro4cKBq166tqlWr6tNPP1VaWpq++eYbS5lx48apfPnyGj9+fJ6OpjZv3lznz5/X7t27cy0LwFgETgAAkC9RUVF6+umnLa/Pnz+vY8eOqU6dOpnKFi5cWO+//75mz56t+Pj4PK8jPaylpqaqffv2+vrrr61OUU03ZMgQ3bx5U7Nnz85z3XZ2drK3t7eqLygoSPHx8VbXpF68eFF79uyxBM6oqChVrlzZ6iilp6enEhIS9O233+Z5/el69+6t3377TTt37tSXX36pOXPm6M8//7TMT0tLU6tWrbR3714tW7ZMx44dU0REhAoXLpzvda1bt07t27e3mmbkvkuXnJyszz77TCEhISpXrpw2bdqk4cOHa+HChdmuIyUlRX///bdKlChhmTZr1iyNGzdOu3fvVqVKldSoUSMtXLhQV65cybIOBwcH1a5dW1FRUXneNgDGIHACAIB8OXv2rLy9vS2v4+LiZDabrabdqUOHDqpdu7bGjx+fp/oTEhI0depUlS5dWlWqVFGNGjXk7u6uHTt2ZCrr7Oys8ePHa/Lkybp06VKudaemplrKNmvWzDI9ve1nz561TNu0aZNq1qxpNS/jNnbu3FndunVT48aN5eXlpQ4dOujDDz/U5cuXc2zHiRMntHnzZn3yySeqV6+enn76aS1YsEDXrl2zlNm+fbu+//57ffXVV2revLnKly+vNm3aqFWrVrlu553OnTunI0eOZFrOyH23e/du9e3bV56ennrvvfdUv359nThxQnv37tWrr76q4sWLZ7ueUaNGydvbWyEhIZZpbm5u6tu3r3bt2qXTp0+rRYsWmjJlijw9PRUWFqZt27ZlOuXW29vbqk0AbIPACQAA8uXatWtydHS0ei3JalpGU6ZM0ZIlSxQbG5ttGR8fH7m4uMjb21vJyclavXq15XrEnE6rfeWVV/Tkk09qypQp2dY9atQoubq6ytnZWVOmTFFERITVqbHpR1RTUlIs0+48nTar7ZZuH8FdtGiR4uPj9a9//UulS5fW+++/r+rVqyshISHb9sTGxsrOzs7qSHHVqlWt7jobHR0tHx8fVa5cOdt68mLdunVq0KCBVd3pjNp3TZo00cqVKzV16lSdOnVKEyZMUIUKFXJta0REhFauXKk1a9Zk+34qW7asxo4dq+PHj2vOnDmKjIxUixYtMoVmJycnqzYBsA0CJwAAyBd3d3ermwC5u7tLUo43BmrUqJFCQ0P19ttvZ1smKipKR44c0eXLlxUdHa26deta5rVv397qusE72dnZKTw8XDNnztTvv/+eZZm33npL0dHRio+P14ULFzRq1Cir+el3wS1ZsqSk20fztmzZYhU4M273nUqXLq2XX35ZH374oWJiYnT9+nXNmzcv223Ni9yuAc2rdevWWW3HnYzYd5K0fv16tW7dWoMHD1ZgYKBmzJihxMTEHNs5depURUREaOvWrapZs2a25ZKSkjR79mwFBQWpf//+atasmVavXq2iRYtmatedbQJgGwROAACQLwEBATp27JjldYUKFVSkSBGraVmJiIjQ+vXrtW/fviznlytXThUqVMjyTq4NGzZUcnKyDh48mOWynTt3VvXq1TVhwoQs57u7u6tixYry9PS0eiRL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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sentence = 'Money that I give them'\n", "\n", "print('CCG parse:')\n", "reader.ccg_parser.sentence2diagram(sentence).draw(figsize=(8, 3))\n", "\n", "print('\\nDependency graph:')\n", "reader.sentence2diagram(sentence).draw(figsize=(8, 3))" ] } ], "metadata": { "language_info": { "name": "python" } }, "nbformat": 4, "nbformat_minor": 4 }