{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"provenance":[],"authorship_tag":"ABX9TyOgQ0It259INUACivDOc7dL"},"kernelspec":{"name":"python3","display_name":"Python 3"},"language_info":{"name":"python"}},"cells":[{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":1000},"id":"s3xFyHckiyRb","executionInfo":{"status":"error","timestamp":1779535573166,"user_tz":-420,"elapsed":285716,"user":{"displayName":"Cici rizky plk","userId":"03714270658772765776"}},"outputId":"e47b8108-6c11-494b-dcd1-45e74cf48b1a"},"outputs":[{"output_type":"stream","name":"stdout","text":["Model initialized. Total params: 225,195\n"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.12/dist-packages/torch/utils/data/dataloader.py:1118: UserWarning: 'pin_memory' argument is set as true but no accelerator is found, then device pinned memory won't be used.\n"," super().__init__(loader)\n"]},{"output_type":"stream","name":"stdout","text":["Ep 1 | Step 50 | Loss 2.3086 | Grad 0.00019854 | Accuracy since first image: 9.5625% \n","Ep 1 | Step 100 | Loss 2.3134 | Grad 0.00021899 | Accuracy since first image: 9.96875% \n","Ep 1 | Step 150 | Loss 2.3163 | Grad 0.00016616 | Accuracy since first image: 10.0546875% \n","Ep 1 | Step 200 | Loss 2.3086 | Grad 0.00016706 | Accuracy since first image: 10.158203125% \n","Ep 2 | Step 50 | Loss 2.3011 | Grad 0.00016923 | Accuracy since first image: 9.9609375% \n","Ep 2 | Step 100 | Loss 2.3120 | Grad 0.00016002 | Accuracy since first image: 10.125% \n","Ep 2 | Step 150 | Loss 2.3141 | Grad 0.00015064 | Accuracy since first image: 10.265625% \n","Ep 2 | Step 200 | Loss 2.3060 | Grad 0.00014167 | Accuracy since first image: 10.28515625% \n","Ep 3 | Step 50 | Loss 2.3117 | Grad 0.00014856 | Accuracy since first image: 10.1953125% \n","Ep 3 | Step 100 | Loss 2.3205 | Grad 0.00015374 | Accuracy since first image: 10.203125% \n","Ep 3 | Step 150 | Loss 2.3024 | Grad 0.00012600 | Accuracy since first image: 10.354166666666668% \n","Ep 3 | Step 200 | Loss 2.3080 | Grad 0.00012581 | Accuracy since first image: 10.234375% \n","Ep 4 | Step 50 | Loss 2.3208 | Grad 0.00013684 | Accuracy since first image: 10.5% \n","Ep 4 | Step 100 | Loss 2.2974 | Grad 0.00013771 | Accuracy since first image: 10.484375% \n","Ep 4 | Step 150 | Loss 2.2920 | Grad 0.00011040 | Accuracy since first image: 10.598958333333334% \n","Ep 4 | Step 200 | Loss 2.3155 | Grad 0.00015232 | Accuracy since first image: 10.5390625% \n","Ep 5 | Step 50 | Loss 2.3107 | Grad 0.00012965 | Accuracy since first image: 10.859375% \n","Ep 5 | Step 100 | Loss 2.3067 | Grad 0.00009580 | Accuracy since first image: 10.81640625% \n","Ep 5 | Step 150 | Loss 2.3049 | Grad 0.00012234 | Accuracy since first image: 10.513020833333334% \n","Ep 5 | Step 200 | Loss 2.3098 | Grad 0.00013200 | Accuracy since first image: 10.521484375% \n"]},{"output_type":"error","ename":"KeyboardInterrupt","evalue":"","traceback":["\u001b[0;31m---------------------------------------------------------------------------\u001b[0m","\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)","\u001b[0;32m/tmp/ipykernel_4773/2876511195.py\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 135\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtarget\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mto\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mDEVICE\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtarget\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mto\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mDEVICE\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 136\u001b[0m \u001b[0moptimizer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mzero_grad\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 137\u001b[0;31m \u001b[0moutput\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmodel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 138\u001b[0m \u001b[0mloss\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcriterion\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0moutput\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtarget\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 139\u001b[0m \u001b[0mloss\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbackward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/usr/local/lib/python3.12/dist-packages/torch/nn/modules/module.py\u001b[0m in \u001b[0;36m_wrapped_call_impl\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1774\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_compiled_call_impl\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# type: ignore[misc]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1775\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1776\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_call_impl\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1777\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1778\u001b[0m \u001b[0;31m# torchrec tests the code consistency with the following code\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/usr/local/lib/python3.12/dist-packages/torch/nn/modules/module.py\u001b[0m in \u001b[0;36m_call_impl\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1785\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0m_global_backward_pre_hooks\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0m_global_backward_hooks\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1786\u001b[0m or _global_forward_hooks or _global_forward_pre_hooks):\n\u001b[0;32m-> 1787\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mforward_call\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1788\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1789\u001b[0m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/tmp/ipykernel_4773/2876511195.py\u001b[0m in \u001b[0;36mforward\u001b[0;34m(self, x)\u001b[0m\n\u001b[1;32m 114\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mFFN1\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtranspose\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# (b, 4, 49) -> (b, 49, 4)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 115\u001b[0m \u001b[0mres\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 116\u001b[0;31m \u001b[0mx\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlookthem2\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtranspose\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# lookthem2 expects (b, 49, 4), output (b, 4, 49)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 117\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mFFN2\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mres\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtranspose\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# Strong residual (b, 4, 49) + (b, 4, 49)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 118\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcompressor\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mflatten\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# (b, 16, 49) -> (b, 16 * 49) = (b, 784)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/usr/local/lib/python3.12/dist-packages/torch/nn/modules/module.py\u001b[0m in \u001b[0;36m_wrapped_call_impl\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1774\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_compiled_call_impl\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# type: ignore[misc]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1775\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1776\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_call_impl\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1777\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1778\u001b[0m \u001b[0;31m# torchrec tests the code consistency with the following code\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/usr/local/lib/python3.12/dist-packages/torch/nn/modules/module.py\u001b[0m in \u001b[0;36m_call_impl\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1785\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0m_global_backward_pre_hooks\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0m_global_backward_hooks\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1786\u001b[0m or _global_forward_hooks or _global_forward_pre_hooks):\n\u001b[0;32m-> 1787\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mforward_call\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1788\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1789\u001b[0m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/tmp/ipykernel_4773/2876511195.py\u001b[0m in \u001b[0;36mforward\u001b[0;34m(self, x)\u001b[0m\n\u001b[1;32m 73\u001b[0m \u001b[0minteraksi\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mtrans_compare\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0munsqueeze\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mtrans_compare2\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0munsqueeze\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m/\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 74\u001b[0m \u001b[0mmask\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;36m1.0\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0mtorch\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0meye\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mN\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdevice\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdevice\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mview\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mN\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mN\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 75\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0minteraksi\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mmask\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msum\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdim\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m/\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mN\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0;36m1.0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 76\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 77\u001b[0m \u001b[0;32mclass\u001b[0m \u001b[0mLiteResidualBlock\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mModule\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;31mKeyboardInterrupt\u001b[0m: "]}],"source":["import os\n","import io\n","import math\n","from PIL import Image\n","import torch\n","import torch.nn as nn\n","import torch.nn.functional as F\n","import torch.optim as optim\n","from torch.utils.data import Dataset, DataLoader\n","import torchvision.transforms as transforms\n","from torchvision import datasets\n","\n","DEVICE = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n","BATCH_SIZE_TRAIN = 256\n","BATCH_SIZE_VAL = 256\n","EPOCHS = 100\n","LR = 1e-3\n","WEIGHT_DECAY = 1e-4\n","MODEL_SAVE_PATH = \"LookThem_V8_MNIST.pth\"\n","\n","# --- TRANSFORMS ---\n","transform = transforms.Compose([\n"," transforms.ToTensor(),\n"," transforms.Normalize((0.1307,), (0.3081,))\n","\n","])\n","\n","\n","# --- DATASET LOADER ---\n","\n","train = datasets.MNIST(download=True, root=\"./data\", train=True, transform=transform)\n","val = datasets.MNIST(root=\"./data\", train=False, transform=transform)\n","\n","train_loader = DataLoader(train, batch_size=BATCH_SIZE_TRAIN, shuffle=True, num_workers=2, pin_memory=True)\n","val_loader = DataLoader(val, batch_size=BATCH_SIZE_VAL, shuffle=False, num_workers=2, pin_memory=True)\n","\n","# --- STABILIZED LOOKTHEM LAYER ---\n","class LookThemLayer(nn.Module):\n"," def __init__(self, num_tokens, in_features, hidden_dim):\n"," super().__init__()\n"," self.num_tokens = num_tokens\n"," self.mod1_w1 = nn.Parameter(torch.randn(num_tokens, in_features, hidden_dim))\n"," self.mod1_b1 = nn.Parameter(torch.zeros(num_tokens, hidden_dim))\n"," self.mod1_w2 = nn.Parameter(torch.randn(num_tokens, hidden_dim, 1))\n"," self.mod1_b2 = nn.Parameter(torch.zeros(num_tokens, 1))\n"," self.mod2_w1 = nn.Parameter(torch.randn(num_tokens, in_features, hidden_dim))\n"," self.mod2_b1 = nn.Parameter(torch.zeros(num_tokens, hidden_dim))\n"," self.mod2_w2 = nn.Parameter(torch.randn(num_tokens, hidden_dim, 1))\n"," self.mod2_b2 = nn.Parameter(torch.zeros(num_tokens, 1))\n"," self.trans_w = nn.Parameter(torch.randn(num_tokens, 1, 1))\n"," self.trans_b = nn.Parameter(torch.zeros(num_tokens, 1))\n"," self._init_weights()\n","\n"," def _init_weights(self):\n"," for w in [self.mod1_w1, self.mod2_w1, self.mod1_w2, self.mod2_w2]:\n"," nn.init.xavier_uniform_(w) # Better for Tanh/Gelu flow\n","\n"," def forward(self, x):\n"," N = self.num_tokens\n"," h1 = torch.einsum(\"bti,tij->btj\", x, self.mod1_w1) + self.mod1_b1\n"," out_m1 = torch.einsum(\"btj,tjk->btk\", F.gelu(h1), self.mod1_w2) + self.mod1_b2\n"," h2 = torch.einsum(\"bti,tij->btj\", x, self.mod2_w1) + self.mod2_b1\n"," out_m2 = torch.einsum(\"btj,tjk->btk\", F.gelu(h2), self.mod2_w2) + self.mod2_b2\n","\n"," # Stabilized division\n"," out_m2_safe = torch.sign(out_m2) * torch.clamp(torch.abs(out_m2), min=1e-6)\n"," compare = torch.tanh(out_m1.unsqueeze(2) / out_m2_safe.unsqueeze(1))\n"," compare2 = torch.tanh(out_m1.unsqueeze(1) / out_m2_safe.unsqueeze(2))\n","\n"," trans_compare = torch.einsum(\"bije,jef->bijf\", compare, self.trans_w) + self.trans_b.view(1, 1, N, 1)\n"," trans_compare2 = torch.einsum(\"bije,jef->bijf\", compare2, self.trans_w) + self.trans_b.view(1, 1, N, 1)\n","\n"," interaksi = (trans_compare * x.unsqueeze(2) + trans_compare2 * x.unsqueeze(1)) / 2\n"," mask = (1.0 - torch.eye(N, device=x.device)).view(1, N, N, 1)\n"," return (interaksi * mask).sum(dim=2) / (N - 1.0)\n","\n","class LiteResidualBlock(nn.Module):\n"," def __init__(self, dim, dropout=0.05):\n"," super().__init__()\n"," self.block = nn.Sequential(nn.Linear(dim, dim), nn.GELU(), nn.Dropout(dropout), nn.Linear(dim, dim))\n"," self.norm = nn.LayerNorm(dim)\n"," def forward(self, x):\n"," return self.norm(x + self.block(x))\n","\n","class LookThemV8MNIST(nn.Module):\n"," def __init__(self):\n"," super().__init__()\n"," # Patch embedding layer to transform (b, 1, 28, 28) to (b, 49, 1)\n"," # Conv2d(1, 1, kernel_size=4, stride=4) -> (b, 1, 7, 7)\n"," # Then flatten(2) and transpose(1,2) -> (b, 49, 1)\n"," self.patch_embedding = nn.Conv2d(1, 1, kernel_size=4, stride=4) # Output (b, 1, 7, 7)\n","\n"," self.lookthem_comb = LookThemLayer(49, 1, 32)\n"," self.comb_norm = nn.LayerNorm(1) # Reset distribution after combined LookThem\n","\n"," self.FFN1 = nn.Conv1d(1, 4, 1)\n"," self.lookthem2 = LookThemLayer(49, 4, 32)\n"," self.FFN2 = nn.Conv1d(4, 4, 1)\n","\n"," self.compressor = nn.Conv1d(4, 16, 1)\n"," # Fix: Input to input_proj should be 16 * 49 = 784\n"," self.input_proj = nn.Linear(16 * 49, 128)\n"," self.res_blocks = nn.Sequential(LiteResidualBlock(128), LiteResidualBlock(128))\n"," self.head = nn.Sequential(nn.Linear(128, 128), nn.GELU(), nn.Linear(128, 100))\n","\n"," def forward(self, x):\n"," b = x.size(0)\n"," # Apply patch embedding: (b, 1, 28, 28) -> (b, 1, 7, 7) -> (b, 1, 49) -> (b, 49, 1)\n"," x = self.patch_embedding(x)\n"," x = x.flatten(2).transpose(1, 2) # Now x is (b, 49, 1)\n","\n"," x = self.comb_norm(self.lookthem_comb(x)) # lookthem_comb expects (b, 49, 1)\n"," x = x.transpose(1, 2) # (b, 1, 49)\n"," x = self.FFN1(x).transpose(1, 2) # (b, 4, 49) -> (b, 49, 4)\n"," res = x\n"," x = self.lookthem2(x).transpose(1, 2) # lookthem2 expects (b, 49, 4), output (b, 4, 49)\n"," x = self.FFN2(x) + res.transpose(1, 2) # Strong residual (b, 4, 49) + (b, 4, 49)\n"," x = self.compressor(x).flatten(1) # (b, 16, 49) -> (b, 16 * 49) = (b, 784)\n"," x = self.res_blocks(self.input_proj(x)) # input_proj expects (b, 784)\n"," return self.head(x)\n","\n","\n","model = LookThemV8MNIST().to(DEVICE)\n","optimizer = optim.AdamW(model.parameters(), lr=LR, weight_decay=WEIGHT_DECAY)\n","criterion = nn.CrossEntropyLoss()\n","scheduler = optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max=EPOCHS)\n","\n","print(f\"Model initialized. Total params: {sum(p.numel() for p in model.parameters()):,}\")\n","\n","for epoch in range(EPOCHS):\n"," model.train()\n"," accuracy = 0\n"," samples = 0\n"," for step, (data, target) in enumerate(train_loader):\n"," data, target = data.to(DEVICE), target.to(DEVICE)\n"," optimizer.zero_grad()\n"," output = model(data)\n"," loss = criterion(output, target)\n"," loss.backward()\n"," torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0)\n"," optimizer.step()\n"," _, pred = torch.max(output, dim=1)\n"," accuracy += (pred == target).sum().item() # Fixed: Added parentheses to .item()\n"," samples += target.size(0)\n","\n"," if (step+1) % 50 == 0:\n"," grads = [p.grad.abs().mean().item() for p in model.parameters() if p.grad is not None]\n"," avg_grad = sum(grads)/len(grads) if grads else 0\n"," print(f\"Ep {epoch+1} | Step {step+1} | Loss {loss.item():.4f} | Grad {avg_grad:.8f} | Accuracy since first image: {accuracy / samples * 100}% \")\n"," scheduler.step()\n","\n","\n","import os\n","import torch\n","\n","torch.save(model.state_dict(), MODEL_SAVE_PATH)\n","\n","real_size = os.path.getsize(MODEL_SAVE_PATH) / (1024 * 1024)\n","\n","print(\"\\nâš¡ MODEL SAVED!\")"]},{"cell_type":"code","source":["\n","# ========================================================\n","# LOOKTHEM V8 - STABILIZED GRADIENTS VERSION\n","# ============================================================\n","\n","import os\n","import io\n","import math\n","from PIL import Image\n","import torch\n","import torch.nn as nn\n","import torch.nn.functional as F\n","import torch.optim as optim\n","from torch.utils.data import Dataset, DataLoader\n","import torchvision.transforms as transforms\n","from torchvision import datasets\n","\n","DEVICE = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n","BATCH_SIZE_TRAIN = 96\n","BATCH_SIZE_VAL = 96\n","EPOCHS = 100\n","LR = 1e-3\n","WEIGHT_DECAY = 1e-4\n","MODEL_SAVE_PATH = \"LookThem_V8_MNIST.pth\"\n","\n","# --- TRANSFORMS ---\n","transform = transforms.Compose([\n"," transforms.ToTensor(),\n"," transforms.Normalize((0.1307,), (0.3081,))\n","\n","])\n","\n","\n","# --- DATASET LOADER ---\n","\n","train = datasets.MNIST(download=True, root=\"./data\", train=True, transform=transform)\n","val = datasets.MNIST(root=\"./data\", train=False, transform=transform)\n","\n","train_loader = DataLoader(train, batch_size=BATCH_SIZE_TRAIN, shuffle=True, num_workers=2, pin_memory=True)\n","val_loader = DataLoader(val, batch_size=BATCH_SIZE_VAL, shuffle=False, num_workers=2, pin_memory=True)\n","\n","# --- STABILIZED LOOKTHEM LAYER ---\n","class LookThemLayer(nn.Module):\n"," def __init__(self, num_tokens, in_features, hidden_dim):\n"," super().__init__()\n"," self.num_tokens = num_tokens\n"," self.mod1_w1 = nn.Parameter(torch.randn(num_tokens, in_features, hidden_dim))\n"," self.mod1_b1 = nn.Parameter(torch.zeros(num_tokens, hidden_dim))\n"," self.mod1_w2 = nn.Parameter(torch.randn(num_tokens, hidden_dim, 1))\n"," self.mod1_b2 = nn.Parameter(torch.zeros(num_tokens, 1))\n"," self.mod2_w1 = nn.Parameter(torch.randn(num_tokens, in_features, hidden_dim))\n"," self.mod2_b1 = nn.Parameter(torch.zeros(num_tokens, hidden_dim))\n"," self.mod2_w2 = nn.Parameter(torch.randn(num_tokens, hidden_dim, 1))\n"," self.mod2_b2 = nn.Parameter(torch.zeros(num_tokens, 1))\n"," self.trans_w = nn.Parameter(torch.randn(num_tokens, 1, 1))\n"," self.trans_b = nn.Parameter(torch.zeros(num_tokens, 1))\n"," self._init_weights()\n","\n"," def _init_weights(self):\n"," for w in [self.mod1_w1, self.mod2_w1, self.mod1_w2, self.mod2_w2]:\n"," nn.init.xavier_uniform_(w) # Better for Tanh/Gelu flow\n","\n"," def forward(self, x):\n"," N = self.num_tokens\n"," h1 = torch.einsum(\"bti,tij->btj\", x, self.mod1_w1) + self.mod1_b1\n"," out_m1 = torch.einsum(\"btj,tjk->btk\", F.gelu(h1), self.mod1_w2) + self.mod1_b2\n"," h2 = torch.einsum(\"bti,tij->btj\", x, self.mod2_w1) + self.mod2_b1\n"," out_m2 = torch.einsum(\"btj,tjk->btk\", F.gelu(h2), self.mod2_w2) + self.mod2_b2\n","\n"," # Stabilized division\n"," out_m2_safe = torch.sign(out_m2) * torch.clamp(torch.abs(out_m2), min=1e-6)\n"," compare = torch.tanh(out_m1.unsqueeze(2) / out_m2_safe.unsqueeze(1))\n"," compare2 = torch.tanh(out_m1.unsqueeze(1) / out_m2_safe.unsqueeze(2))\n","\n"," trans_compare = torch.einsum(\"bije,jef->bijf\", compare, self.trans_w) + self.trans_b.view(1, 1, N, 1)\n"," trans_compare2 = torch.einsum(\"bije,jef->bijf\", compare2, self.trans_w) + self.trans_b.view(1, 1, N, 1)\n","\n"," interaksi = (trans_compare * x.unsqueeze(2) + trans_compare2 * x.unsqueeze(1)) / 2\n"," mask = (1.0 - torch.eye(N, device=x.device)).view(1, N, N, 1)\n"," return (interaksi * mask).sum(dim=2) / (N - 1.0)\n","\n","class LiteResidualBlock(nn.Module):\n"," def __init__(self, dim, dropout=0.05):\n"," super().__init__()\n"," self.block = nn.Sequential(nn.Linear(dim, dim), nn.GELU(), nn.Dropout(dropout), nn.Linear(dim, dim))\n"," self.norm = nn.LayerNorm(dim)\n"," def forward(self, x):\n"," return self.norm(x + self.block(x))\n","\n","class LookThemV8MNIST(nn.Module):\n"," def __init__(self):\n"," super().__init__()\n"," self.lookthem_comb = LookThemLayer(784, 1, 32)\n"," self.comb_norm = nn.LayerNorm(1) # Reset distribution after combined LookThem\n","\n"," self.FFN1 = nn.Conv1d(1, 4, 1)\n"," self.lookthem2 = LookThemLayer(784, 4, 32)\n"," self.FFN2 = nn.Conv1d(4, 4, 1)\n","\n"," self.compressor = nn.Conv1d(4, 16, 1)\n"," self.input_proj = nn.Linear(784 * 16, 128)\n"," self.res_blocks = nn.Sequential(LiteResidualBlock(128), LiteResidualBlock(128))\n"," self.head = nn.Sequential(nn.Linear(128, 128), nn.GELU(), nn.Linear(128, 100))\n","\n"," def forward(self, x):\n"," b = x.size(0)\n"," x = x.view(b, 784, 1)\n"," x = self.comb_norm(self.lookthem_comb(x))\n"," x = x.transpose(1, 2)\n"," x = self.FFN1(x).transpose(1, 2)\n"," res = x\n"," x = self.lookthem2(x).transpose(1, 2)\n"," x = self.FFN2(x) + res.transpose(1, 2) # Strong residual\n"," x = self.compressor(x).flatten(1)\n"," x = self.res_blocks(self.input_proj(x))\n"," return self.head(x)\n","\n","\n","model = LookThemV8MNIST().to(DEVICE)\n","optimizer = optim.AdamW(model.parameters(), lr=LR, weight_decay=WEIGHT_DECAY)\n","criterion = nn.CrossEntropyLoss()\n","scheduler = optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max=EPOCHS)\n","\n","print(f\"Model initialized. Total params: {sum(p.numel() for p in model.parameters()):,}\")\n","\n","for epoch in range(EPOCHS):\n"," model.train()\n"," accuracy = 0\n"," samples = 0\n"," for step, (data, target) in enumerate(train_loader):\n"," data, target = data.to(DEVICE), target.to(DEVICE)\n"," optimizer.zero_grad()\n"," output = model(data)\n"," loss = criterion(output, target)\n"," loss.backward()\n"," torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0)\n"," optimizer.step()\n"," _, pred = torch.max(output, dim=1)\n"," accuracy += (pred == target).sum().item()\n"," samples += target.size(0)\n","\n"," if (step+1) % 50 == 0:\n"," grads = [p.grad.abs().mean().item() for p in model.parameters() if p.grad is not None]\n"," avg_grad = sum(grads)/len(grads) if grads else 0\n"," print(f\"Ep {epoch+1} | Step {step+1} | Loss {loss.item():.4f} | Grad {avg_grad:.8f} | Accuracy since first image: {accuracy / samples * 100}%\")\n"," scheduler.step()\n","\n","\n","import os\n","import torch\n","\n","torch.save(model.state_dict(), MODEL_SAVE_PATH)\n","\n","real_size = os.path.getsize(MODEL_SAVE_PATH) / (1024 * 1024)\n","\n","print(\"\\nâš¡ MODEL SAVED!\")"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"zI4tWWFelf6f","outputId":"50aac68a-eddc-490d-c1cc-4b7256413183"},"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["Model initialized. Total params: 2,159,698\n"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.12/dist-packages/torch/utils/data/dataloader.py:1118: UserWarning: 'pin_memory' argument is set as true but no accelerator is found, then device pinned memory won't be used.\n"," super().__init__(loader)\n"]}]},{"cell_type":"code","source":["\n","# ========================================================\n","# LOOKTHEM V8 - STABILIZED GRADIENTS VERSION\n","# ============================================================\n","\n","import os\n","import io\n","import math\n","from PIL import Image\n","import torch\n","import torch.nn as nn\n","import torch.nn.functional as F\n","import torch.optim as optim\n","from torch.utils.data import Dataset, DataLoader\n","import torchvision.transforms as transforms\n","from torchvision import datasets\n","\n","DEVICE = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n","BATCH_SIZE_TRAIN = 256\n","BATCH_SIZE_VAL = 256\n","EPOCHS = 50\n","LR = 1e-3\n","WEIGHT_DECAY = 1e-4\n","MODEL_SAVE_PATH = \"LookThem_V8_MNIST.pth\"\n","\n","# --- TRANSFORMS ---\n","transform = transforms.Compose([\n"," transforms.ToTensor(),\n"," transforms.Normalize((0.1307,), (0.3081,))\n","\n","])\n","\n","\n","# --- DATASET LOADER ---\n","\n","train = datasets.MNIST(download=True, root=\"./data\", train=True, transform=transform)\n","val = datasets.MNIST(root=\"./data\", train=False, transform=transform)\n","\n","train_loader = DataLoader(train, batch_size=BATCH_SIZE_TRAIN, shuffle=True, num_workers=2, pin_memory=True)\n","val_loader = DataLoader(val, batch_size=BATCH_SIZE_VAL, shuffle=False, num_workers=2, pin_memory=True)\n","\n","# --- STABILIZED LOOKTHEM LAYER ---\n","class LookThemLayer(nn.Module):\n"," def __init__(self, num_tokens, in_features, hidden_dim):\n"," super().__init__()\n"," self.num_tokens = num_tokens\n"," self.mod1_w1 = nn.Parameter(torch.randn(num_tokens, in_features, hidden_dim))\n"," self.mod1_b1 = nn.Parameter(torch.zeros(num_tokens, hidden_dim))\n"," self.mod1_w2 = nn.Parameter(torch.randn(num_tokens, hidden_dim, 1))\n"," self.mod1_b2 = nn.Parameter(torch.zeros(num_tokens, 1))\n"," self.mod2_w1 = nn.Parameter(torch.randn(num_tokens, in_features, hidden_dim))\n"," self.mod2_b1 = nn.Parameter(torch.zeros(num_tokens, hidden_dim))\n"," self.mod2_w2 = nn.Parameter(torch.randn(num_tokens, hidden_dim, 1))\n"," self.mod2_b2 = nn.Parameter(torch.zeros(num_tokens, 1))\n"," self.trans_w = nn.Parameter(torch.randn(num_tokens, 1, 1))\n"," self.trans_b = nn.Parameter(torch.zeros(num_tokens, 1))\n"," self._init_weights()\n","\n"," def _init_weights(self):\n"," for w in [self.mod1_w1, self.mod2_w1, self.mod1_w2, self.mod2_w2]:\n"," nn.init.xavier_uniform_(w) # Better for Tanh/Gelu flow\n","\n"," def forward(self, x):\n"," N = self.num_tokens\n"," h1 = torch.einsum(\"bti,tij->btj\", x, self.mod1_w1) + self.mod1_b1\n"," out_m1 = torch.einsum(\"btj,tjk->btk\", F.gelu(h1), self.mod1_w2) + self.mod1_b2\n"," h2 = torch.einsum(\"bti,tij->btj\", x, self.mod2_w1) + self.mod2_b1\n"," out_m2 = torch.einsum(\"btj,tjk->btk\", F.gelu(h2), self.mod2_w2) + self.mod2_b2\n","\n"," # Stabilized division\n"," out_m2_safe = torch.sign(out_m2) * torch.clamp(torch.abs(out_m2), min=1e-6)\n"," compare = torch.tanh(out_m1.unsqueeze(2) / out_m2_safe.unsqueeze(1))\n"," compare2 = torch.tanh(out_m1.unsqueeze(1) / out_m2_safe.unsqueeze(2))\n","\n"," trans_compare = torch.einsum(\"bije,jef->bijf\", compare, self.trans_w) + self.trans_b.view(1, 1, N, 1)\n"," trans_compare2 = torch.einsum(\"bije,jef->bijf\", compare2, self.trans_w) + self.trans_b.view(1, 1, N, 1)\n","\n"," interaksi = (trans_compare * x.unsqueeze(2) + trans_compare2 * x.unsqueeze(1)) / 2\n"," mask = (1.0 - torch.eye(N, device=x.device)).view(1, N, N, 1)\n"," return (interaksi * mask).sum(dim=2) / (N - 1.0)\n","\n","class LiteResidualBlock(nn.Module):\n"," def __init__(self, dim, dropout=0.05):\n"," super().__init__()\n"," self.block = nn.Sequential(nn.Linear(dim, dim), nn.GELU(), nn.Dropout(dropout), nn.Linear(dim, dim))\n"," self.norm = nn.LayerNorm(dim)\n"," def forward(self, x):\n"," return self.norm(x + self.block(x))\n","\n","class LookThemV8MNIST(nn.Module):\n"," def __init__(self):\n"," super().__init__()\n"," self.stream_a = nn.Sequential(\n"," nn.Conv2d(1, 4, 3, 2, 1),\n"," nn.BatchNorm2d(4), nn.GELU(),\n"," nn.Conv2d(4, 8, 3, 2, 1),\n"," nn.BatchNorm2d(8), nn.GELU(),\n"," nn.AdaptiveMaxPool2d((8, 8)))\n"," self.stream_b = nn.Sequential(\n"," nn.Conv2d(1, 4, 3, 1, 1),\n"," nn.BatchNorm2d(4), nn.GELU(),\n"," nn.Conv2d(4, 8, 3, 1, 1),\n"," nn.BatchNorm2d(8), nn.GELU(),\n"," nn.AdaptiveMaxPool2d((8, 8)))\n","\n"," self.lookthemA = LookThemLayer(64, 8, 32)\n"," self.lookthemB = LookThemLayer(64, 8, 32)\n"," self.lookthem_comb = LookThemLayer(64, 16, 32)\n"," self.comb_norm = nn.LayerNorm(16) # Fixed: Changed from 1 to 16 to match cat([fa, fb])\n","\n"," self.FFN1 = nn.Conv1d(16, 8, 1)\n"," self.lookthem2 = LookThemLayer(64, 8, 32)\n"," self.FFN2 = nn.Conv1d(8, 8, 1)\n","\n"," self.compressor = nn.Conv1d(8, 4, 1)\n"," self.input_proj = nn.Linear(64 * 4, 128)\n"," self.res_blocks = nn.Sequential(LiteResidualBlock(128), LiteResidualBlock(128))\n"," self.head = nn.Sequential(nn.Linear(128, 128), nn.GELU(), nn.Linear(128, 100))\n","\n"," def forward(self, x):\n"," b = x.size(0)\n"," fa = self.lookthemA(self.stream_a(x).view(b, 8, 64).transpose(1, 2))\n"," fb = self.lookthemB(self.stream_b(x).view(b, 8, 64).transpose(1, 2))\n"," x = self.comb_norm(self.lookthem_comb(torch.cat([fa, fb], dim=2)))\n"," x = x.transpose(1, 2)\n"," x = self.FFN1(x).transpose(1, 2)\n"," res = x\n"," x = self.lookthem2(x).transpose(1, 2)\n"," x = self.FFN2(x) + res.transpose(1, 2) # Strong residual\n"," x = self.compressor(x).flatten(1)\n"," x = self.res_blocks(self.input_proj(x))\n"," return self.head(x)\n","\n","\n","model = LookThemV8MNIST().to(DEVICE)\n","optimizer = optim.AdamW(model.parameters(), lr=LR, weight_decay=WEIGHT_DECAY)\n","criterion = nn.CrossEntropyLoss()\n","scheduler = optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max=EPOCHS)\n","\n","print(f\"Model initialized. Total params: {sum(p.numel() for p in model.parameters()):,}\")\n","\n","for epoch in range(EPOCHS):\n"," model.train()\n"," accuracy = 0\n"," samples = 0\n"," for step, (data, target) in enumerate(train_loader):\n"," data, target = data.to(DEVICE), target.to(DEVICE)\n"," optimizer.zero_grad()\n"," output = model(data)\n"," loss = criterion(output, target)\n"," loss.backward()\n"," torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0)\n"," optimizer.step()\n"," _, pred = torch.max(output, dim=1)\n"," accuracy += (pred == target).sum().item()\n"," samples += target.size(0)\n","\n"," if (step+1) % 50 == 0:\n"," grads = [p.grad.abs().mean().item() for p in model.parameters() if p.grad is not None]\n"," avg_grad = sum(grads)/len(grads) if grads else 0\n"," print(f\"Ep {epoch+1} | Step {step+1} | Loss {loss.item():.4f} | Grad {avg_grad:.8f} | Accuracy since first Epoch: {accuracy / samples * 100}%\")\n"," scheduler.step()\n","\n","\n","import os\n","import torch\n","\n","torch.save(model.state_dict(), MODEL_SAVE_PATH)\n","\n","real_size = os.path.getsize(MODEL_SAVE_PATH) / (1024 * 1024)\n","\n","print(\"\\nâš¡ MODEL SAVED!\")"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"yv5qlOnftQ5i","executionInfo":{"status":"ok","timestamp":1779539747327,"user_tz":-420,"elapsed":813398,"user":{"displayName":"Cici rizky plk","userId":"03714270658772765776"}},"outputId":"8b3004d9-1c69-4502-e791-326321fde9a3"},"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["Model initialized. Total params: 327,496\n","Ep 1 | Step 50 | Loss 0.6096 | Grad 0.00227878 | Accuracy since first Epoch: 50.59375000000001%\n","Ep 1 | Step 100 | Loss 0.2672 | Grad 0.00465841 | Accuracy since first Epoch: 70.66015625%\n","Ep 1 | Step 150 | Loss 0.2208 | Grad 0.00379013 | Accuracy since first Epoch: 78.36197916666666%\n","Ep 1 | Step 200 | Loss 0.9999 | Grad 0.00255037 | Accuracy since first Epoch: 80.61328125%\n","Ep 2 | Step 50 | Loss 0.4045 | Grad 0.00299778 | Accuracy since first Epoch: 58.046875%\n","Ep 2 | Step 100 | Loss 0.3004 | Grad 0.00430109 | Accuracy since first Epoch: 75.65625%\n","Ep 2 | Step 150 | Loss 0.1599 | Grad 0.00503530 | Accuracy since first Epoch: 82.17708333333333%\n","Ep 2 | Step 200 | Loss 0.1654 | Grad 0.00457954 | Accuracy since first Epoch: 85.6484375%\n","Ep 3 | Step 50 | Loss 0.0772 | Grad 0.00516948 | Accuracy since first Epoch: 96.5703125%\n","Ep 3 | Step 100 | Loss 0.1054 | Grad 0.00488606 | Accuracy since first Epoch: 96.56640625%\n","Ep 3 | Step 150 | Loss 0.2342 | Grad 0.00532112 | Accuracy since first Epoch: 93.83854166666666%\n","Ep 3 | Step 200 | Loss 0.3204 | Grad 0.00462944 | Accuracy since first Epoch: 94.056640625%\n","Ep 4 | Step 50 | Loss 0.0569 | Grad 0.00354374 | Accuracy since first Epoch: 97.3203125%\n","Ep 4 | Step 100 | Loss 0.0522 | Grad 0.00293849 | Accuracy since first Epoch: 97.25390625%\n","Ep 4 | Step 150 | Loss 0.0419 | Grad 0.00352130 | Accuracy since first Epoch: 97.3984375%\n","Ep 4 | Step 200 | Loss 2.1462 | Grad 0.00382424 | Accuracy since first Epoch: 91.3125%\n","Ep 5 | Step 50 | Loss 0.0693 | Grad 0.00573291 | Accuracy since first Epoch: 95.4609375%\n","Ep 5 | Step 100 | Loss 0.0999 | Grad 0.00529762 | Accuracy since first Epoch: 96.171875%\n","Ep 5 | Step 150 | Loss 0.0437 | Grad 0.00271676 | Accuracy since first Epoch: 96.52864583333334%\n","Ep 5 | Step 200 | Loss 0.0488 | Grad 0.00400698 | Accuracy since first Epoch: 96.7890625%\n","Ep 6 | Step 50 | Loss 0.0521 | Grad 0.00409016 | Accuracy since first Epoch: 98.34375%\n","Ep 6 | Step 100 | Loss 0.0965 | Grad 0.00393544 | Accuracy since first Epoch: 98.26171875%\n","Ep 6 | Step 150 | Loss 0.0703 | Grad 0.00443899 | Accuracy since first Epoch: 98.25520833333333%\n","Ep 6 | Step 200 | Loss 0.0781 | Grad 0.00376652 | Accuracy since first Epoch: 98.25390625%\n","Ep 7 | Step 50 | Loss 0.0485 | Grad 0.00410000 | Accuracy since first Epoch: 98.6171875%\n","Ep 7 | Step 100 | Loss 0.0353 | Grad 0.00319737 | Accuracy since first Epoch: 98.671875%\n","Ep 7 | Step 150 | Loss 0.0249 | Grad 0.00264462 | Accuracy since first Epoch: 98.67708333333334%\n","Ep 7 | Step 200 | Loss 0.0218 | Grad 0.00391782 | Accuracy since first Epoch: 98.701171875%\n","Ep 8 | Step 50 | Loss 0.0163 | Grad 0.00286078 | Accuracy since first Epoch: 98.9375%\n","Ep 8 | Step 100 | Loss 0.0171 | Grad 0.00204912 | Accuracy since first Epoch: 98.859375%\n","Ep 8 | Step 150 | Loss 0.0177 | Grad 0.00250689 | Accuracy since first Epoch: 98.85677083333333%\n","Ep 8 | Step 200 | Loss 0.0041 | Grad 0.00082973 | Accuracy since first Epoch: 98.916015625%\n","Ep 9 | Step 50 | Loss 0.0202 | Grad 0.00299857 | Accuracy since first Epoch: 98.9921875%\n","Ep 9 | Step 100 | Loss 0.0181 | Grad 0.00196193 | Accuracy since first Epoch: 99.0546875%\n","Ep 9 | Step 150 | Loss 0.0099 | Grad 0.00124993 | Accuracy since first Epoch: 99.0546875%\n","Ep 9 | Step 200 | Loss 0.0138 | Grad 0.00231547 | Accuracy since first Epoch: 99.064453125%\n","Ep 10 | Step 50 | Loss 0.0309 | Grad 0.00283888 | Accuracy since first Epoch: 99.2890625%\n","Ep 10 | Step 100 | Loss 0.0329 | Grad 0.00411667 | Accuracy since first Epoch: 99.2265625%\n","Ep 10 | Step 150 | Loss 0.0176 | Grad 0.00311172 | Accuracy since first Epoch: 99.1875%\n","Ep 10 | Step 200 | Loss 0.0798 | Grad 0.00421681 | Accuracy since first Epoch: 99.158203125%\n","Ep 11 | Step 50 | Loss 0.0193 | Grad 0.00325279 | Accuracy since first Epoch: 99.2265625%\n","Ep 11 | Step 100 | Loss 0.0218 | Grad 0.00325309 | Accuracy since first Epoch: 99.30078125%\n","Ep 11 | Step 150 | Loss 0.0411 | Grad 0.00465066 | Accuracy since first Epoch: 99.28125%\n","Ep 11 | Step 200 | Loss 0.0173 | Grad 0.00311104 | Accuracy since first Epoch: 99.279296875%\n","Ep 12 | Step 50 | Loss 0.0216 | Grad 0.00230531 | Accuracy since first Epoch: 99.390625%\n","Ep 12 | Step 100 | Loss 0.0025 | Grad 0.00031452 | Accuracy since first Epoch: 99.49609375%\n","Ep 12 | Step 150 | Loss 0.0089 | Grad 0.00150036 | Accuracy since first Epoch: 99.48697916666667%\n","Ep 12 | Step 200 | Loss 0.0109 | Grad 0.00159841 | Accuracy since first Epoch: 99.41796875%\n","Ep 13 | Step 50 | Loss 0.0353 | Grad 0.00309536 | Accuracy since first Epoch: 99.5078125%\n","Ep 13 | Step 100 | Loss 0.0042 | Grad 0.00104126 | Accuracy since first Epoch: 99.53515625%\n","Ep 13 | Step 150 | Loss 0.0122 | Grad 0.00338593 | Accuracy since first Epoch: 99.49739583333333%\n","Ep 13 | Step 200 | Loss 0.0185 | Grad 0.00419388 | Accuracy since first Epoch: 99.46875%\n","Ep 14 | Step 50 | Loss 0.0107 | Grad 0.00143806 | Accuracy since first Epoch: 99.453125%\n","Ep 14 | Step 100 | Loss 0.0181 | Grad 0.00253798 | Accuracy since first Epoch: 99.4609375%\n","Ep 14 | Step 150 | Loss 0.0124 | Grad 0.00191162 | Accuracy since first Epoch: 99.46354166666667%\n","Ep 14 | Step 200 | Loss 0.0076 | Grad 0.00134708 | Accuracy since first Epoch: 99.4609375%\n","Ep 15 | Step 50 | Loss 0.0163 | Grad 0.00273446 | Accuracy since first Epoch: 99.734375%\n","Ep 15 | Step 100 | Loss 0.0156 | Grad 0.00213435 | Accuracy since first Epoch: 99.66796875%\n","Ep 15 | Step 150 | Loss 0.0282 | Grad 0.00438376 | Accuracy since first Epoch: 99.65625%\n","Ep 15 | Step 200 | Loss 0.0448 | Grad 0.00269418 | Accuracy since first Epoch: 99.599609375%\n","Ep 16 | Step 50 | Loss 0.0063 | Grad 0.00214713 | Accuracy since first Epoch: 99.65625%\n","Ep 16 | Step 100 | Loss 0.0250 | Grad 0.00491956 | Accuracy since first Epoch: 99.6171875%\n","Ep 16 | Step 150 | Loss 0.0147 | Grad 0.00320780 | Accuracy since first Epoch: 99.60677083333334%\n","Ep 16 | Step 200 | Loss 0.0091 | Grad 0.00349908 | Accuracy since first Epoch: 99.58203125%\n","Ep 17 | Step 50 | Loss 0.0188 | Grad 0.00312111 | Accuracy since first Epoch: 99.5546875%\n","Ep 17 | Step 100 | Loss 0.0054 | Grad 0.00213346 | Accuracy since first Epoch: 99.6328125%\n","Ep 17 | Step 150 | Loss 0.0056 | Grad 0.00116487 | Accuracy since first Epoch: 99.63541666666667%\n","Ep 17 | Step 200 | Loss 0.0095 | Grad 0.00274362 | Accuracy since first Epoch: 99.623046875%\n","Ep 18 | Step 50 | Loss 0.0161 | Grad 0.00241242 | Accuracy since first Epoch: 99.7109375%\n","Ep 18 | Step 100 | Loss 0.0028 | Grad 0.00090219 | Accuracy since first Epoch: 99.6796875%\n","Ep 18 | Step 150 | Loss 0.0023 | Grad 0.00064285 | Accuracy since first Epoch: 99.67708333333334%\n","Ep 18 | Step 200 | Loss 0.0005 | Grad 0.00008696 | Accuracy since first Epoch: 99.697265625%\n","Ep 19 | Step 50 | Loss 0.0080 | Grad 0.00112284 | Accuracy since first Epoch: 99.875%\n","Ep 19 | Step 100 | Loss 0.0130 | Grad 0.00284946 | Accuracy since first Epoch: 99.8125%\n","Ep 19 | Step 150 | Loss 0.0138 | Grad 0.00253907 | Accuracy since first Epoch: 99.77083333333333%\n","Ep 19 | Step 200 | Loss 0.0174 | Grad 0.00350410 | Accuracy since first Epoch: 99.75390625%\n","Ep 20 | Step 50 | Loss 0.0012 | Grad 0.00031277 | Accuracy since first Epoch: 99.8203125%\n","Ep 20 | Step 100 | Loss 0.0088 | Grad 0.00250823 | Accuracy since first Epoch: 99.81640625%\n","Ep 20 | Step 150 | Loss 0.0037 | Grad 0.00100123 | Accuracy since first Epoch: 99.80989583333333%\n","Ep 20 | Step 200 | Loss 0.0086 | Grad 0.00330636 | Accuracy since first Epoch: 99.79296875%\n","Ep 21 | Step 50 | Loss 0.0035 | Grad 0.00100450 | Accuracy since first Epoch: 99.7734375%\n","Ep 21 | Step 100 | Loss 0.0115 | Grad 0.00327261 | Accuracy since first Epoch: 99.79296875%\n","Ep 21 | Step 150 | Loss 0.0023 | Grad 0.00129243 | Accuracy since first Epoch: 99.80729166666666%\n","Ep 21 | Step 200 | Loss 0.0003 | Grad 0.00009055 | Accuracy since first Epoch: 99.806640625%\n","Ep 22 | Step 50 | Loss 0.0015 | Grad 0.00067432 | Accuracy since first Epoch: 99.7265625%\n","Ep 22 | Step 100 | Loss 0.0012 | Grad 0.00054370 | Accuracy since first Epoch: 99.7578125%\n","Ep 22 | Step 150 | Loss 0.0030 | Grad 0.00081552 | Accuracy since first Epoch: 99.796875%\n","Ep 22 | Step 200 | Loss 0.0054 | Grad 0.00246790 | Accuracy since first Epoch: 99.810546875%\n","Ep 23 | Step 50 | Loss 0.0054 | Grad 0.00234470 | Accuracy since first Epoch: 99.859375%\n","Ep 23 | Step 100 | Loss 0.0203 | Grad 0.00462252 | Accuracy since first Epoch: 99.8203125%\n","Ep 23 | Step 150 | Loss 0.0004 | Grad 0.00009518 | Accuracy since first Epoch: 99.80729166666666%\n","Ep 23 | Step 200 | Loss 0.0016 | Grad 0.00103048 | Accuracy since first Epoch: 99.796875%\n","Ep 24 | Step 50 | Loss 0.0100 | Grad 0.00304438 | Accuracy since first Epoch: 99.7265625%\n","Ep 24 | Step 100 | Loss 0.5070 | Grad 0.00633790 | Accuracy since first Epoch: 99.42578125%\n","Ep 24 | Step 150 | Loss 0.2648 | Grad 0.00525867 | Accuracy since first Epoch: 88.70052083333333%\n","Ep 24 | Step 200 | Loss 0.1063 | Grad 0.00447270 | Accuracy since first Epoch: 90.455078125%\n","Ep 25 | Step 50 | Loss 0.0932 | Grad 0.00350750 | Accuracy since first Epoch: 97.609375%\n","Ep 25 | Step 100 | Loss 0.0576 | Grad 0.00376600 | Accuracy since first Epoch: 97.97265625%\n","Ep 25 | Step 150 | Loss 0.0203 | Grad 0.00189727 | Accuracy since first Epoch: 98.11197916666666%\n","Ep 25 | Step 200 | Loss 0.1100 | Grad 0.00486788 | Accuracy since first Epoch: 98.130859375%\n","Ep 26 | Step 50 | Loss 0.0175 | Grad 0.00325237 | Accuracy since first Epoch: 98.859375%\n","Ep 26 | Step 100 | Loss 0.0088 | Grad 0.00126063 | Accuracy since first Epoch: 98.86328125%\n","Ep 26 | Step 150 | Loss 0.0268 | Grad 0.00339622 | Accuracy since first Epoch: 98.90885416666667%\n","Ep 26 | Step 200 | Loss 0.0385 | Grad 0.00404418 | Accuracy since first Epoch: 98.8671875%\n","Ep 27 | Step 50 | Loss 0.0820 | Grad 0.00222121 | Accuracy since first Epoch: 98.9765625%\n","Ep 27 | Step 100 | Loss 0.0701 | Grad 0.00392719 | Accuracy since first Epoch: 98.9765625%\n","Ep 27 | Step 150 | Loss 0.0166 | Grad 0.00246365 | Accuracy since first Epoch: 99.0859375%\n","Ep 27 | Step 200 | Loss 0.0191 | Grad 0.00321751 | Accuracy since first Epoch: 99.103515625%\n","Ep 28 | Step 50 | Loss 0.0340 | Grad 0.00227976 | Accuracy since first Epoch: 99.1484375%\n","Ep 28 | Step 100 | Loss 0.0139 | Grad 0.00196193 | Accuracy since first Epoch: 99.25390625%\n","Ep 28 | Step 150 | Loss 0.0042 | Grad 0.00076191 | Accuracy since first Epoch: 99.21614583333334%\n","Ep 28 | Step 200 | Loss 0.0186 | Grad 0.00248137 | Accuracy since first Epoch: 99.228515625%\n","Ep 29 | Step 50 | Loss 0.0310 | Grad 0.00268985 | Accuracy since first Epoch: 99.2578125%\n","Ep 29 | Step 100 | Loss 0.0083 | Grad 0.00253067 | Accuracy since first Epoch: 99.30078125%\n","Ep 29 | Step 150 | Loss 0.0054 | Grad 0.00125517 | Accuracy since first Epoch: 99.27604166666667%\n","Ep 29 | Step 200 | Loss 0.0194 | Grad 0.00336893 | Accuracy since first Epoch: 99.30078125%\n","Ep 30 | Step 50 | Loss 0.0313 | Grad 0.00432721 | Accuracy since first Epoch: 99.5546875%\n","Ep 30 | Step 100 | Loss 0.0079 | Grad 0.00214934 | Accuracy since first Epoch: 99.515625%\n","Ep 30 | Step 150 | Loss 0.0135 | Grad 0.00284273 | Accuracy since first Epoch: 99.48697916666667%\n","Ep 30 | Step 200 | Loss 0.0165 | Grad 0.00227012 | Accuracy since first Epoch: 99.484375%\n","Ep 31 | Step 50 | Loss 0.0205 | Grad 0.00333697 | Accuracy since first Epoch: 99.515625%\n","Ep 31 | Step 100 | Loss 0.0157 | Grad 0.00377281 | Accuracy since first Epoch: 99.5703125%\n","Ep 31 | Step 150 | Loss 0.0153 | Grad 0.00240589 | Accuracy since first Epoch: 99.52864583333333%\n","Ep 31 | Step 200 | Loss 0.0090 | Grad 0.00176133 | Accuracy since first Epoch: 99.513671875%\n","Ep 32 | Step 50 | Loss 0.0016 | Grad 0.00024869 | Accuracy since first Epoch: 99.6015625%\n","Ep 32 | Step 100 | Loss 0.0109 | Grad 0.00156636 | Accuracy since first Epoch: 99.54296875%\n","Ep 32 | Step 150 | Loss 0.0338 | Grad 0.00305943 | Accuracy since first Epoch: 99.58072916666667%\n","Ep 32 | Step 200 | Loss 0.0326 | Grad 0.00391720 | Accuracy since first Epoch: 99.5703125%\n","Ep 33 | Step 50 | Loss 0.0032 | Grad 0.00148892 | Accuracy since first Epoch: 99.625%\n","Ep 33 | Step 100 | Loss 0.0019 | Grad 0.00032946 | Accuracy since first Epoch: 99.671875%\n","Ep 33 | Step 150 | Loss 0.0211 | Grad 0.00511740 | Accuracy since first Epoch: 99.703125%\n","Ep 33 | Step 200 | Loss 0.0224 | Grad 0.00510308 | Accuracy since first Epoch: 99.677734375%\n","Ep 34 | Step 50 | Loss 0.0126 | Grad 0.00253731 | Accuracy since first Epoch: 99.734375%\n","Ep 34 | Step 100 | Loss 0.0025 | Grad 0.00058196 | Accuracy since first Epoch: 99.734375%\n","Ep 34 | Step 150 | Loss 0.0020 | Grad 0.00046047 | Accuracy since first Epoch: 99.71875%\n","Ep 34 | Step 200 | Loss 0.0053 | Grad 0.00197970 | Accuracy since first Epoch: 99.703125%\n","Ep 35 | Step 50 | Loss 0.0013 | Grad 0.00034178 | Accuracy since first Epoch: 99.78125%\n","Ep 35 | Step 100 | Loss 0.0158 | Grad 0.00222657 | Accuracy since first Epoch: 99.71484375%\n","Ep 35 | Step 150 | Loss 0.0062 | Grad 0.00347839 | Accuracy since first Epoch: 99.73177083333333%\n","Ep 35 | Step 200 | Loss 0.0016 | Grad 0.00061823 | Accuracy since first Epoch: 99.75%\n","Ep 36 | Step 50 | Loss 0.0048 | Grad 0.00133911 | Accuracy since first Epoch: 99.828125%\n","Ep 36 | Step 100 | Loss 0.0125 | Grad 0.00360890 | Accuracy since first Epoch: 99.8359375%\n","Ep 36 | Step 150 | Loss 0.0061 | Grad 0.00321613 | Accuracy since first Epoch: 99.83072916666667%\n","Ep 36 | Step 200 | Loss 0.0033 | Grad 0.00102332 | Accuracy since first Epoch: 99.810546875%\n","Ep 37 | Step 50 | Loss 0.0009 | Grad 0.00033305 | Accuracy since first Epoch: 99.859375%\n","Ep 37 | Step 100 | Loss 0.0041 | Grad 0.00164537 | Accuracy since first Epoch: 99.83203125%\n","Ep 37 | Step 150 | Loss 0.0010 | Grad 0.00017021 | Accuracy since first Epoch: 99.82552083333334%\n","Ep 37 | Step 200 | Loss 0.0053 | Grad 0.00145852 | Accuracy since first Epoch: 99.814453125%\n","Ep 38 | Step 50 | Loss 0.0126 | Grad 0.00369853 | Accuracy since first Epoch: 99.875%\n","Ep 38 | Step 100 | Loss 0.0011 | Grad 0.00069675 | Accuracy since first Epoch: 99.890625%\n","Ep 38 | Step 150 | Loss 0.0054 | Grad 0.00276494 | Accuracy since first Epoch: 99.8828125%\n","Ep 38 | Step 200 | Loss 0.0015 | Grad 0.00047395 | Accuracy since first Epoch: 99.869140625%\n","Ep 39 | Step 50 | Loss 0.0004 | Grad 0.00013208 | Accuracy since first Epoch: 99.875%\n","Ep 39 | Step 100 | Loss 0.0003 | Grad 0.00006368 | Accuracy since first Epoch: 99.859375%\n","Ep 39 | Step 150 | Loss 0.0031 | Grad 0.00091778 | Accuracy since first Epoch: 99.8671875%\n","Ep 39 | Step 200 | Loss 0.0114 | Grad 0.00310489 | Accuracy since first Epoch: 99.869140625%\n","Ep 40 | Step 50 | Loss 0.0008 | Grad 0.00038769 | Accuracy since first Epoch: 99.921875%\n","Ep 40 | Step 100 | Loss 0.0130 | Grad 0.00359504 | Accuracy since first Epoch: 99.90234375%\n","Ep 40 | Step 150 | Loss 0.0018 | Grad 0.00071622 | Accuracy since first Epoch: 99.90364583333333%\n","Ep 40 | Step 200 | Loss 0.0022 | Grad 0.00178612 | Accuracy since first Epoch: 99.91015625%\n","Ep 41 | Step 50 | Loss 0.0006 | Grad 0.00031901 | Accuracy since first Epoch: 99.9375%\n","Ep 41 | Step 100 | Loss 0.0010 | Grad 0.00046851 | Accuracy since first Epoch: 99.93359375%\n","Ep 41 | Step 150 | Loss 0.0031 | Grad 0.00135843 | Accuracy since first Epoch: 99.91927083333333%\n","Ep 41 | Step 200 | Loss 0.0012 | Grad 0.00033326 | Accuracy since first Epoch: 99.921875%\n","Ep 42 | Step 50 | Loss 0.0031 | Grad 0.00135323 | Accuracy since first Epoch: 99.90625%\n","Ep 42 | Step 100 | Loss 0.0009 | Grad 0.00067228 | Accuracy since first Epoch: 99.91796875%\n","Ep 42 | Step 150 | Loss 0.0006 | Grad 0.00023737 | Accuracy since first Epoch: 99.91145833333334%\n","Ep 42 | Step 200 | Loss 0.0037 | Grad 0.00286537 | Accuracy since first Epoch: 99.904296875%\n","Ep 43 | Step 50 | Loss 0.0003 | Grad 0.00010117 | Accuracy since first Epoch: 99.921875%\n","Ep 43 | Step 100 | Loss 0.0030 | Grad 0.00145722 | Accuracy since first Epoch: 99.95703125%\n","Ep 43 | Step 150 | Loss 0.0003 | Grad 0.00013385 | Accuracy since first Epoch: 99.94270833333333%\n","Ep 43 | Step 200 | Loss 0.0008 | Grad 0.00027804 | Accuracy since first Epoch: 99.9375%\n","Ep 44 | Step 50 | Loss 0.0005 | Grad 0.00033649 | Accuracy since first Epoch: 99.96875%\n","Ep 44 | Step 100 | Loss 0.0004 | Grad 0.00040253 | Accuracy since first Epoch: 99.96875%\n","Ep 44 | Step 150 | Loss 0.0006 | Grad 0.00043962 | Accuracy since first Epoch: 99.96354166666667%\n","Ep 44 | Step 200 | Loss 0.0008 | Grad 0.00052931 | Accuracy since first Epoch: 99.95703125%\n","Ep 45 | Step 50 | Loss 0.0006 | Grad 0.00037222 | Accuracy since first Epoch: 99.921875%\n","Ep 45 | Step 100 | Loss 0.0005 | Grad 0.00016788 | Accuracy since first Epoch: 99.92578125%\n","Ep 45 | Step 150 | Loss 0.0017 | Grad 0.00089818 | Accuracy since first Epoch: 99.93489583333334%\n","Ep 45 | Step 200 | Loss 0.0018 | Grad 0.00062189 | Accuracy since first Epoch: 99.931640625%\n","Ep 46 | Step 50 | Loss 0.0018 | Grad 0.00055597 | Accuracy since first Epoch: 99.9296875%\n","Ep 46 | Step 100 | Loss 0.0005 | Grad 0.00019284 | Accuracy since first Epoch: 99.9453125%\n","Ep 46 | Step 150 | Loss 0.0006 | Grad 0.00021608 | Accuracy since first Epoch: 99.95572916666666%\n","Ep 46 | Step 200 | Loss 0.0042 | Grad 0.00333707 | Accuracy since first Epoch: 99.9453125%\n","Ep 47 | Step 50 | Loss 0.0007 | Grad 0.00038250 | Accuracy since first Epoch: 99.953125%\n","Ep 47 | Step 100 | Loss 0.0024 | Grad 0.00065686 | Accuracy since first Epoch: 99.9609375%\n","Ep 47 | Step 150 | Loss 0.0014 | Grad 0.00037056 | Accuracy since first Epoch: 99.9453125%\n","Ep 47 | Step 200 | Loss 0.0019 | Grad 0.00102364 | Accuracy since first Epoch: 99.947265625%\n","Ep 48 | Step 50 | Loss 0.0014 | Grad 0.00071906 | Accuracy since first Epoch: 99.96875%\n","Ep 48 | Step 100 | Loss 0.0013 | Grad 0.00052013 | Accuracy since first Epoch: 99.94921875%\n","Ep 48 | Step 150 | Loss 0.0004 | Grad 0.00026366 | Accuracy since first Epoch: 99.9453125%\n","Ep 48 | Step 200 | Loss 0.0003 | Grad 0.00021337 | Accuracy since first Epoch: 99.947265625%\n","Ep 49 | Step 50 | Loss 0.0002 | Grad 0.00007379 | Accuracy since first Epoch: 99.96875%\n","Ep 49 | Step 100 | Loss 0.0006 | Grad 0.00031400 | Accuracy since first Epoch: 99.96875%\n","Ep 49 | Step 150 | Loss 0.0025 | Grad 0.00146255 | Accuracy since first Epoch: 99.97395833333333%\n","Ep 49 | Step 200 | Loss 0.0005 | Grad 0.00029342 | Accuracy since first Epoch: 99.9609375%\n","Ep 50 | Step 50 | Loss 0.0004 | Grad 0.00011282 | Accuracy since first Epoch: 99.9609375%\n","Ep 50 | Step 100 | Loss 0.0003 | Grad 0.00015910 | Accuracy since first Epoch: 99.96484375%\n","Ep 50 | Step 150 | Loss 0.0094 | Grad 0.00342762 | Accuracy since first Epoch: 99.95833333333334%\n","Ep 50 | Step 200 | Loss 0.0002 | Grad 0.00006627 | Accuracy since first Epoch: 99.9609375%\n","\n","âš¡ MODEL SAVED!\n"]}]},{"cell_type":"code","source":["model.eval()\n","val_accuracy = 0\n","val_samples = 0\n","\n","with torch.no_grad():\n"," for data, target in val_loader:\n"," data, target = data.to(DEVICE), target.to(DEVICE)\n"," output = model(data)\n"," _, pred = torch.max(output, dim=1)\n"," val_accuracy += (pred == target).sum().item()\n"," val_samples += target.size(0)\n","\n","final_val_acc = (val_accuracy / val_samples) * 100\n","print(f\"Validation Accuracy: {final_val_acc:.2f}%\")"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"mNeLIImJyEdQ","executionInfo":{"status":"ok","timestamp":1779539821103,"user_tz":-420,"elapsed":2212,"user":{"displayName":"Cici rizky plk","userId":"03714270658772765776"}},"outputId":"f2d86332-bc05-4998-b545-b7e543f6912b"},"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["Validation Accuracy: 99.02%\n"]}]},{"cell_type":"code","source":["for epoch in range(50, 70):\n"," model.train()\n"," accuracy = 0\n"," samples = 0\n"," for step, (data, target) in enumerate(train_loader):\n"," data, target = data.to(DEVICE), target.to(DEVICE)\n"," optimizer.zero_grad()\n"," output = model(data)\n"," loss = criterion(output, target)\n"," loss.backward()\n"," torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0)\n"," optimizer.step()\n"," _, pred = torch.max(output, dim=1)\n"," accuracy += (pred == target).sum().item()\n"," samples += target.size(0)\n","\n"," if (step+1) % 50 == 0:\n"," grads = [p.grad.abs().mean().item() for p in model.parameters() if p.grad is not None]\n"," avg_grad = sum(grads)/len(grads) if grads else 0\n"," print(f\"Ep {epoch+1} | Step {step+1} | Loss {loss.item():.4f} | Grad {avg_grad:.8f} | Accuracy since first Epoch: {accuracy / samples * 100}%\")\n"," scheduler.step()\n","\n","\n","import os\n","import torch\n","\n","torch.save(model.state_dict(), MODEL_SAVE_PATH)\n","\n","real_size = os.path.getsize(MODEL_SAVE_PATH) / (1024 * 1024)\n","\n","print(\"\\nâš¡ MODEL SAVED!\")"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"Ihycn2kN10YQ","executionInfo":{"status":"ok","timestamp":1779540198444,"user_tz":-420,"elapsed":322248,"user":{"displayName":"Cici rizky plk","userId":"03714270658772765776"}},"outputId":"64e86496-ca6d-4f9d-cc87-0a801b177a9c"},"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["Ep 51 | Step 50 | Loss 0.0002 | Grad 0.00005372 | Accuracy since first Epoch: 99.984375%\n","Ep 51 | Step 100 | Loss 0.0010 | Grad 0.00053337 | Accuracy since first Epoch: 99.9765625%\n","Ep 51 | Step 150 | Loss 0.0070 | Grad 0.00246951 | Accuracy since first Epoch: 99.96354166666667%\n","Ep 51 | Step 200 | Loss 0.0007 | Grad 0.00035763 | Accuracy since first Epoch: 99.955078125%\n","Ep 52 | Step 50 | Loss 0.0001 | Grad 0.00003959 | Accuracy since first Epoch: 99.96875%\n","Ep 52 | Step 100 | Loss 0.0012 | Grad 0.00071856 | Accuracy since first Epoch: 99.97265625%\n","Ep 52 | Step 150 | Loss 0.0011 | Grad 0.00066607 | Accuracy since first Epoch: 99.96354166666667%\n","Ep 52 | Step 200 | Loss 0.0006 | Grad 0.00032139 | Accuracy since first Epoch: 99.95703125%\n","Ep 53 | Step 50 | Loss 0.0001 | Grad 0.00004200 | Accuracy since first Epoch: 99.984375%\n","Ep 53 | Step 100 | Loss 0.0007 | Grad 0.00038831 | Accuracy since first Epoch: 99.97265625%\n","Ep 53 | Step 150 | Loss 0.0005 | Grad 0.00025621 | Accuracy since first Epoch: 99.96614583333333%\n","Ep 53 | Step 200 | Loss 0.0029 | Grad 0.00156714 | Accuracy since first Epoch: 99.95703125%\n","Ep 54 | Step 50 | Loss 0.0031 | Grad 0.00137465 | Accuracy since first Epoch: 99.9609375%\n","Ep 54 | Step 100 | Loss 0.0014 | Grad 0.00049039 | Accuracy since first Epoch: 99.94921875%\n","Ep 54 | Step 150 | Loss 0.0019 | Grad 0.00117041 | Accuracy since first Epoch: 99.95572916666666%\n","Ep 54 | Step 200 | Loss 0.0002 | Grad 0.00004305 | Accuracy since first Epoch: 99.953125%\n","Ep 55 | Step 50 | Loss 0.0004 | Grad 0.00018290 | Accuracy since first Epoch: 99.9453125%\n","Ep 55 | Step 100 | Loss 0.0009 | Grad 0.00034374 | Accuracy since first Epoch: 99.94921875%\n","Ep 55 | Step 150 | Loss 0.0004 | Grad 0.00017350 | Accuracy since first Epoch: 99.94010416666667%\n","Ep 55 | Step 200 | Loss 0.0151 | Grad 0.00303673 | Accuracy since first Epoch: 99.947265625%\n","Ep 56 | Step 50 | Loss 0.0012 | Grad 0.00071702 | Accuracy since first Epoch: 99.9453125%\n","Ep 56 | Step 100 | Loss 0.0008 | Grad 0.00043677 | Accuracy since first Epoch: 99.95703125%\n","Ep 56 | Step 150 | Loss 0.0003 | Grad 0.00010827 | Accuracy since first Epoch: 99.9609375%\n","Ep 56 | Step 200 | Loss 0.0049 | Grad 0.00193170 | Accuracy since first Epoch: 99.958984375%\n","Ep 57 | Step 50 | Loss 0.0003 | Grad 0.00012481 | Accuracy since first Epoch: 99.9140625%\n","Ep 57 | Step 100 | Loss 0.0008 | Grad 0.00047720 | Accuracy since first Epoch: 99.9375%\n","Ep 57 | Step 150 | Loss 0.0003 | Grad 0.00010744 | Accuracy since first Epoch: 99.93489583333334%\n","Ep 57 | Step 200 | Loss 0.0008 | Grad 0.00034130 | Accuracy since first Epoch: 99.9453125%\n","Ep 58 | Step 50 | Loss 0.0011 | Grad 0.00032251 | Accuracy since first Epoch: 99.9609375%\n","Ep 58 | Step 100 | Loss 0.0002 | Grad 0.00014486 | Accuracy since first Epoch: 99.95703125%\n","Ep 58 | Step 150 | Loss 0.0021 | Grad 0.00126933 | Accuracy since first Epoch: 99.95833333333334%\n","Ep 58 | Step 200 | Loss 0.0029 | Grad 0.00140902 | Accuracy since first Epoch: 99.955078125%\n","Ep 59 | Step 50 | Loss 0.0012 | Grad 0.00044213 | Accuracy since first Epoch: 99.9609375%\n","Ep 59 | Step 100 | Loss 0.0006 | Grad 0.00024274 | Accuracy since first Epoch: 99.96484375%\n","Ep 59 | Step 150 | Loss 0.0002 | Grad 0.00016051 | Accuracy since first Epoch: 99.9609375%\n","Ep 59 | Step 200 | Loss 0.0120 | Grad 0.00382410 | Accuracy since first Epoch: 99.951171875%\n","Ep 60 | Step 50 | Loss 0.0036 | Grad 0.00167908 | Accuracy since first Epoch: 99.9375%\n","Ep 60 | Step 100 | Loss 0.0010 | Grad 0.00088870 | Accuracy since first Epoch: 99.92578125%\n","Ep 60 | Step 150 | Loss 0.0016 | Grad 0.00078836 | Accuracy since first Epoch: 99.9296875%\n","Ep 60 | Step 200 | Loss 0.0010 | Grad 0.00074356 | Accuracy since first Epoch: 99.927734375%\n","Ep 61 | Step 50 | Loss 0.0025 | Grad 0.00118475 | Accuracy since first Epoch: 99.9140625%\n","Ep 61 | Step 100 | Loss 0.0010 | Grad 0.00036331 | Accuracy since first Epoch: 99.9296875%\n","Ep 61 | Step 150 | Loss 0.0006 | Grad 0.00028843 | Accuracy since first Epoch: 99.92708333333333%\n","Ep 61 | Step 200 | Loss 0.0088 | Grad 0.00320093 | Accuracy since first Epoch: 99.91796875%\n","Ep 62 | Step 50 | Loss 0.0012 | Grad 0.00100815 | Accuracy since first Epoch: 99.953125%\n","Ep 62 | Step 100 | Loss 0.0013 | Grad 0.00060175 | Accuracy since first Epoch: 99.9375%\n","Ep 62 | Step 150 | Loss 0.0060 | Grad 0.00329151 | Accuracy since first Epoch: 99.92708333333333%\n","Ep 62 | Step 200 | Loss 0.0002 | Grad 0.00014165 | Accuracy since first Epoch: 99.92578125%\n","Ep 63 | Step 50 | Loss 0.0018 | Grad 0.00172317 | Accuracy since first Epoch: 99.953125%\n","Ep 63 | Step 100 | Loss 0.0015 | Grad 0.00080392 | Accuracy since first Epoch: 99.92578125%\n","Ep 63 | Step 150 | Loss 0.0025 | Grad 0.00172476 | Accuracy since first Epoch: 99.90885416666667%\n","Ep 63 | Step 200 | Loss 0.0095 | Grad 0.00457370 | Accuracy since first Epoch: 99.884765625%\n","Ep 64 | Step 50 | Loss 0.0006 | Grad 0.00020154 | Accuracy since first Epoch: 99.8359375%\n","Ep 64 | Step 100 | Loss 0.0004 | Grad 0.00053891 | Accuracy since first Epoch: 99.8046875%\n","Ep 64 | Step 150 | Loss 0.0076 | Grad 0.00342027 | Accuracy since first Epoch: 99.77864583333333%\n","Ep 64 | Step 200 | Loss 3.3168 | Grad 0.00713174 | Accuracy since first Epoch: 95.55859375%\n","Ep 65 | Step 50 | Loss 0.1107 | Grad 0.00637525 | Accuracy since first Epoch: 94.140625%\n","Ep 65 | Step 100 | Loss 0.0794 | Grad 0.00523987 | Accuracy since first Epoch: 95.26171875%\n","Ep 65 | Step 150 | Loss 0.1134 | Grad 0.00626737 | Accuracy since first Epoch: 95.62760416666667%\n","Ep 65 | Step 200 | Loss 0.1262 | Grad 0.00675768 | Accuracy since first Epoch: 95.61328125%\n","Ep 66 | Step 50 | Loss 0.0592 | Grad 0.00611177 | Accuracy since first Epoch: 96.703125%\n","Ep 66 | Step 100 | Loss 0.0523 | Grad 0.00575178 | Accuracy since first Epoch: 97.08984375%\n","Ep 66 | Step 150 | Loss 0.0436 | Grad 0.00364373 | Accuracy since first Epoch: 97.19010416666667%\n","Ep 66 | Step 200 | Loss 0.0903 | Grad 0.00768244 | Accuracy since first Epoch: 97.41015625%\n","Ep 67 | Step 50 | Loss 0.0327 | Grad 0.00688591 | Accuracy since first Epoch: 98.296875%\n","Ep 67 | Step 100 | Loss 0.0789 | Grad 0.00528941 | Accuracy since first Epoch: 98.42578125%\n","Ep 67 | Step 150 | Loss 0.0185 | Grad 0.00674457 | Accuracy since first Epoch: 98.39322916666666%\n","Ep 67 | Step 200 | Loss 0.0545 | Grad 0.00566891 | Accuracy since first Epoch: 98.37890625%\n","Ep 68 | Step 50 | Loss 0.0581 | Grad 0.00688689 | Accuracy since first Epoch: 98.6171875%\n","Ep 68 | Step 100 | Loss 0.0234 | Grad 0.00445774 | Accuracy since first Epoch: 98.56640625%\n","Ep 68 | Step 150 | Loss 0.0300 | Grad 0.00665746 | Accuracy since first Epoch: 98.51822916666667%\n","Ep 68 | Step 200 | Loss 0.0208 | Grad 0.00506738 | Accuracy since first Epoch: 98.50390625%\n","Ep 69 | Step 50 | Loss 0.0298 | Grad 0.00564428 | Accuracy since first Epoch: 98.59375%\n","Ep 69 | Step 100 | Loss 0.0351 | Grad 0.00568141 | Accuracy since first Epoch: 98.63671875%\n","Ep 69 | Step 150 | Loss 0.0162 | Grad 0.00559743 | Accuracy since first Epoch: 98.5078125%\n","Ep 69 | Step 200 | Loss 0.0278 | Grad 0.00435071 | Accuracy since first Epoch: 98.525390625%\n","Ep 70 | Step 50 | Loss 0.0669 | Grad 0.00685808 | Accuracy since first Epoch: 97.3359375%\n","Ep 70 | Step 100 | Loss 0.0751 | Grad 0.00633505 | Accuracy since first Epoch: 97.78515625%\n","Ep 70 | Step 150 | Loss 0.0576 | Grad 0.00612392 | Accuracy since first Epoch: 97.76302083333334%\n","Ep 70 | Step 200 | Loss 0.0524 | Grad 0.00409928 | Accuracy since first Epoch: 97.65625%\n","\n","âš¡ MODEL SAVED!\n"]}]},{"cell_type":"code","source":["model.eval()\n","val_accuracy = 0\n","val_samples = 0\n","\n","with torch.no_grad():\n"," for data, target in val_loader:\n"," data, target = data.to(DEVICE), target.to(DEVICE)\n"," output = model(data)\n"," _, pred = torch.max(output, dim=1)\n"," val_accuracy += (pred == target).sum().item()\n"," val_samples += target.size(0)\n","\n","final_val_acc = (val_accuracy / val_samples) * 100\n","print(f\"Validation Accuracy: {final_val_acc:.2f}%\")"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"wXhgYDVG2EiN","executionInfo":{"status":"ok","timestamp":1779540203491,"user_tz":-420,"elapsed":2336,"user":{"displayName":"Cici rizky plk","userId":"03714270658772765776"}},"outputId":"b857d330-97a5-41fa-9ee8-4c863194a0f2"},"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["Validation Accuracy: 97.04%\n"]}]},{"cell_type":"markdown","source":["What's that behaviour?!"],"metadata":{"id":"YGSMCkGV3Mfs"}},{"cell_type":"code","source":["\n","# ========================================================\n","# LOOKTHEM V8 - STABILIZED GRADIENTS VERSION\n","# ============================================================\n","\n","import os\n","import io\n","import math\n","from PIL import Image\n","import torch\n","import torch.nn as nn\n","import torch.nn.functional as F\n","import torch.optim as optim\n","from torch.utils.data import Dataset, DataLoader\n","import torchvision.transforms as transforms\n","from torchvision import datasets\n","\n","DEVICE = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n","BATCH_SIZE_TRAIN = 256\n","BATCH_SIZE_VAL = 256\n","EPOCHS = 50\n","LR = 1e-3\n","WEIGHT_DECAY = 1e-4\n","MODEL_SAVE_PATH = \"LookThem_V8_MNIST.pth\"\n","\n","# --- TRANSFORMS ---\n","transform = transforms.Compose([\n"," transforms.ToTensor(),\n"," transforms.Normalize((0.1307,), (0.3081,))\n","\n","])\n","\n","\n","# --- DATASET LOADER ---\n","\n","train = datasets.MNIST(download=True, root=\"./data\", train=True, transform=transform)\n","val = datasets.MNIST(root=\"./data\", train=False, transform=transform)\n","\n","train_loader = DataLoader(train, batch_size=BATCH_SIZE_TRAIN, shuffle=True, num_workers=2, pin_memory=True)\n","val_loader = DataLoader(val, batch_size=BATCH_SIZE_VAL, shuffle=False, num_workers=2, pin_memory=True)\n","\n","# --- STABILIZED LOOKTHEM LAYER ---\n","class LookThemLayer(nn.Module):\n"," def __init__(self, num_tokens, in_features, hidden_dim):\n"," super().__init__()\n"," self.num_tokens = num_tokens\n"," self.mod1_w1 = nn.Parameter(torch.randn(num_tokens, in_features, hidden_dim))\n"," self.mod1_b1 = nn.Parameter(torch.zeros(num_tokens, hidden_dim))\n"," self.mod1_w2 = nn.Parameter(torch.randn(num_tokens, hidden_dim, 1))\n"," self.mod1_b2 = nn.Parameter(torch.zeros(num_tokens, 1))\n"," self.mod2_w1 = nn.Parameter(torch.randn(num_tokens, in_features, hidden_dim))\n"," self.mod2_b1 = nn.Parameter(torch.zeros(num_tokens, hidden_dim))\n"," self.mod2_w2 = nn.Parameter(torch.randn(num_tokens, hidden_dim, 1))\n"," self.mod2_b2 = nn.Parameter(torch.zeros(num_tokens, 1))\n"," self.trans_w = nn.Parameter(torch.randn(num_tokens, 1, 1))\n"," self.trans_b = nn.Parameter(torch.zeros(num_tokens, 1))\n"," self._init_weights()\n","\n"," def _init_weights(self):\n"," for w in [self.mod1_w1, self.mod2_w1, self.mod1_w2, self.mod2_w2]:\n"," nn.init.xavier_uniform_(w) # Better for Tanh/Gelu flow\n","\n"," def forward(self, x):\n"," N = self.num_tokens\n"," h1 = torch.einsum(\"bti,tij->btj\", x, self.mod1_w1) + self.mod1_b1\n"," out_m1 = torch.einsum(\"btj,tjk->btk\", F.gelu(h1), self.mod1_w2) + self.mod1_b2\n"," h2 = torch.einsum(\"bti,tij->btj\", x, self.mod2_w1) + self.mod2_b1\n"," out_m2 = torch.einsum(\"btj,tjk->btk\", F.gelu(h2), self.mod2_w2) + self.mod2_b2\n","\n"," # Stabilized division\n"," out_m2_safe = torch.sign(out_m2) * torch.clamp(torch.abs(out_m2), min=1e-6)\n"," compare = torch.tanh(out_m1.unsqueeze(2) / out_m2_safe.unsqueeze(1))\n"," compare2 = torch.tanh(out_m1.unsqueeze(1) / out_m2_safe.unsqueeze(2))\n","\n"," trans_compare = torch.einsum(\"bije,jef->bijf\", compare, self.trans_w) + self.trans_b.view(1, 1, N, 1)\n"," trans_compare2 = torch.einsum(\"bije,jef->bijf\", compare2, self.trans_w) + self.trans_b.view(1, 1, N, 1)\n","\n"," interaksi = (trans_compare * x.unsqueeze(2) + trans_compare2 * x.unsqueeze(1)) / 2\n"," mask = (1.0 - torch.eye(N, device=x.device)).view(1, N, N, 1)\n"," return (interaksi * mask).sum(dim=2) / (N - 1.0)\n","\n","class LiteResidualBlock(nn.Module):\n"," def __init__(self, dim, dropout=0.05):\n"," super().__init__()\n"," self.block = nn.Sequential(nn.Linear(dim, dim), nn.GELU(), nn.Dropout(dropout), nn.Linear(dim, dim))\n"," self.norm = nn.LayerNorm(dim)\n"," def forward(self, x):\n"," return self.norm(x + self.block(x))\n","\n","class LookThemV8MNIST(nn.Module):\n"," def __init__(self):\n"," super().__init__()\n"," self.stream_a = nn.Sequential(\n"," nn.Conv2d(1, 4, 3, 2, 1),\n"," nn.BatchNorm2d(4), nn.GELU(),\n"," nn.Conv2d(4, 8, 3, 2, 1),\n"," nn.BatchNorm2d(8), nn.GELU(),\n"," nn.AdaptiveMaxPool2d((8, 8)))\n"," self.stream_b = nn.Sequential(\n"," nn.Conv2d(1, 4, 3, 1, 1),\n"," nn.BatchNorm2d(4), nn.GELU(),\n"," nn.Conv2d(4, 8, 3, 1, 1),\n"," nn.BatchNorm2d(8), nn.GELU(),\n"," nn.AdaptiveMaxPool2d((8, 8)))\n","\n"," self.lookthemA = LookThemLayer(64, 8, 32)\n"," self.lookthemB = LookThemLayer(64, 8, 32)\n"," self.lookthem_comb = LookThemLayer(64, 16, 32)\n"," self.comb_norm = nn.LayerNorm(16) # Fixed: Changed from 1 to 16 to match cat([fa, fb])\n","\n"," self.FFN1 = nn.Conv1d(16, 8, 1)\n"," self.lookthem2 = LookThemLayer(64, 8, 32)\n"," self.FFN2 = nn.Conv1d(8, 8, 1)\n","\n"," self.compressor = nn.Conv1d(8, 4, 1)\n"," self.input_proj = nn.Linear(64 * 4, 128)\n"," self.res_blocks = nn.Sequential(LiteResidualBlock(128), LiteResidualBlock(128))\n"," self.head = nn.Sequential(nn.Linear(128, 128), nn.GELU(), nn.Linear(128, 100))\n","\n"," def forward(self, x):\n"," b = x.size(0)\n"," fa = self.lookthemA(self.stream_a(x).view(b, 8, 64).transpose(1, 2))\n"," fb = self.lookthemB(self.stream_b(x).view(b, 8, 64).transpose(1, 2))\n"," x = self.comb_norm(self.lookthem_comb(torch.cat([fa, fb], dim=2)))\n"," x = x.transpose(1, 2)\n"," x = self.FFN1(x).transpose(1, 2)\n"," res = x\n"," x = self.lookthem2(x).transpose(1, 2)\n"," x = self.FFN2(x) + res.transpose(1, 2) # Strong residual\n"," x = self.compressor(x).flatten(1)\n"," x = self.res_blocks(self.input_proj(x))\n"," return self.head(x)\n","\n","\n","model = LookThemV8MNIST().to(DEVICE)\n","optimizer = optim.AdamW(model.parameters(), lr=LR, weight_decay=WEIGHT_DECAY)\n","criterion = nn.CrossEntropyLoss()\n","scheduler = optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max=EPOCHS)\n","\n","print(f\"Model initialized. Total params: {sum(p.numel() for p in model.parameters()):,}\")\n","\n","for epoch in range(EPOCHS):\n"," model.train()\n"," accuracy = 0\n"," samples = 0\n"," for step, (data, target) in enumerate(train_loader):\n"," data, target = data.to(DEVICE), target.to(DEVICE)\n"," optimizer.zero_grad()\n"," output = model(data)\n"," loss = criterion(output, target)\n"," loss.backward()\n"," torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0)\n"," optimizer.step()\n"," _, pred = torch.max(output, dim=1)\n"," accuracy += (pred == target).sum().item()\n"," samples += target.size(0)\n","\n"," if (step+1) % 50 == 0:\n"," grads = [p.grad.abs().mean().item() for p in model.parameters() if p.grad is not None]\n"," avg_grad = sum(grads)/len(grads) if grads else 0\n"," print(f\"Ep {epoch+1} | Step {step+1} | Loss {loss.item():.4f} | Grad {avg_grad:.8f} | Accuracy since first Epoch: {accuracy / samples * 100}%\")\n"," scheduler.step()\n","\n","\n","import os\n","import torch\n","\n","torch.save(model.state_dict(), MODEL_SAVE_PATH)\n","\n","real_size = os.path.getsize(MODEL_SAVE_PATH) / (1024 * 1024)\n","\n","print(\"\\nâš¡ MODEL SAVED!\")"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"collapsed":true,"id":"KSzn37b73Whi","executionInfo":{"status":"ok","timestamp":1779541074941,"user_tz":-420,"elapsed":796595,"user":{"displayName":"Cici rizky plk","userId":"03714270658772765776"}},"outputId":"174d7760-4f2f-490c-eff9-f2902c537371"},"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["Model initialized. Total params: 327,496\n","Ep 1 | Step 50 | Loss 1.9674 | Grad 0.00352829 | Accuracy since first Epoch: 19.3984375%\n","Ep 1 | Step 100 | Loss 0.7646 | Grad 0.00358861 | Accuracy since first Epoch: 40.03515625%\n","Ep 1 | Step 150 | Loss 1.2338 | Grad 0.00400588 | Accuracy since first Epoch: 44.231770833333336%\n","Ep 1 | Step 200 | Loss 0.4235 | Grad 0.00470287 | Accuracy since first Epoch: 52.22656249999999%\n","Ep 2 | Step 50 | Loss 0.1749 | Grad 0.00323076 | Accuracy since first Epoch: 92.890625%\n","Ep 2 | Step 100 | Loss 0.2018 | Grad 0.00514051 | Accuracy since first Epoch: 93.5859375%\n","Ep 2 | Step 150 | Loss 0.1165 | Grad 0.00416745 | Accuracy since first Epoch: 93.9921875%\n","Ep 2 | Step 200 | Loss 0.1428 | Grad 0.00498459 | Accuracy since first Epoch: 94.19921875%\n","Ep 3 | Step 50 | Loss 0.3805 | Grad 0.00339006 | Accuracy since first Epoch: 64.078125%\n","Ep 3 | Step 100 | Loss 0.1626 | Grad 0.00371727 | Accuracy since first Epoch: 78.1484375%\n","Ep 3 | Step 150 | Loss 0.1438 | Grad 0.00381908 | Accuracy since first Epoch: 83.671875%\n","Ep 3 | Step 200 | Loss 0.1044 | Grad 0.00511425 | Accuracy since first Epoch: 86.771484375%\n","Ep 4 | Step 50 | Loss 0.1574 | Grad 0.00569883 | Accuracy since first Epoch: 96.6796875%\n","Ep 4 | Step 100 | Loss 0.1182 | Grad 0.00504565 | Accuracy since first Epoch: 96.7265625%\n","Ep 4 | Step 150 | Loss 0.0569 | Grad 0.00506881 | Accuracy since first Epoch: 96.88020833333333%\n","Ep 4 | Step 200 | Loss 0.1516 | Grad 0.00420538 | Accuracy since first Epoch: 96.986328125%\n","Ep 5 | Step 50 | Loss 0.0783 | Grad 0.00499393 | Accuracy since first Epoch: 97.6015625%\n","Ep 5 | Step 100 | Loss 0.0511 | Grad 0.00352546 | Accuracy since first Epoch: 97.82421875%\n","Ep 5 | Step 150 | Loss 0.0201 | Grad 0.00149072 | Accuracy since first Epoch: 97.88541666666667%\n","Ep 5 | Step 200 | Loss 0.0446 | Grad 0.00242216 | Accuracy since first Epoch: 97.9375%\n","Ep 6 | Step 50 | Loss 0.0611 | Grad 0.00378510 | Accuracy since first Epoch: 98.40625%\n","Ep 6 | Step 100 | Loss 0.0473 | Grad 0.00386724 | Accuracy since first Epoch: 98.29296875%\n","Ep 6 | Step 150 | Loss 0.0287 | Grad 0.00196482 | Accuracy since first Epoch: 98.33854166666667%\n","Ep 6 | Step 200 | Loss 0.0706 | Grad 0.00363850 | Accuracy since first Epoch: 98.421875%\n","Ep 7 | Step 50 | Loss 0.0295 | Grad 0.00290666 | Accuracy since first Epoch: 98.6484375%\n","Ep 7 | Step 100 | Loss 0.0419 | Grad 0.00217396 | Accuracy since first Epoch: 98.76953125%\n","Ep 7 | Step 150 | Loss 0.0246 | Grad 0.00248448 | Accuracy since first Epoch: 98.765625%\n","Ep 7 | Step 200 | Loss 0.0550 | Grad 0.00324226 | Accuracy since first Epoch: 98.74609375%\n","Ep 8 | Step 50 | Loss 0.0310 | Grad 0.00427179 | Accuracy since first Epoch: 98.953125%\n","Ep 8 | Step 100 | Loss 0.0185 | Grad 0.00288579 | Accuracy since first Epoch: 98.9375%\n","Ep 8 | Step 150 | Loss 0.0283 | Grad 0.00265194 | Accuracy since first Epoch: 98.89322916666666%\n","Ep 8 | Step 200 | Loss 0.0492 | Grad 0.00504208 | Accuracy since first Epoch: 98.873046875%\n","Ep 9 | Step 50 | Loss 0.0346 | Grad 0.00232562 | Accuracy since first Epoch: 99.1875%\n","Ep 9 | Step 100 | Loss 0.0270 | Grad 0.00410164 | Accuracy since first Epoch: 99.0703125%\n","Ep 9 | Step 150 | Loss 0.0520 | Grad 0.00468279 | Accuracy since first Epoch: 99.02083333333334%\n","Ep 9 | Step 200 | Loss 0.0201 | Grad 0.00306600 | Accuracy since first Epoch: 99.01953125%\n","Ep 10 | Step 50 | Loss 0.0442 | Grad 0.00466746 | Accuracy since first Epoch: 99.140625%\n","Ep 10 | Step 100 | Loss 0.0276 | Grad 0.00318304 | Accuracy since first Epoch: 99.140625%\n","Ep 10 | Step 150 | Loss 0.0235 | Grad 0.00259112 | Accuracy since first Epoch: 99.16666666666667%\n","Ep 10 | Step 200 | Loss 0.0213 | Grad 0.00240199 | Accuracy since first Epoch: 99.14453125%\n","Ep 11 | Step 50 | Loss 0.0168 | Grad 0.00328794 | Accuracy since first Epoch: 99.2578125%\n","Ep 11 | Step 100 | Loss 0.0126 | Grad 0.00225249 | Accuracy since first Epoch: 99.23046875%\n","Ep 11 | Step 150 | Loss 0.0372 | Grad 0.00368129 | Accuracy since first Epoch: 99.2265625%\n","Ep 11 | Step 200 | Loss 0.0280 | Grad 0.00403663 | Accuracy since first Epoch: 99.224609375%\n","Ep 12 | Step 50 | Loss 0.0248 | Grad 0.00481306 | Accuracy since first Epoch: 99.4375%\n","Ep 12 | Step 100 | Loss 0.0034 | Grad 0.00051340 | Accuracy since first Epoch: 99.37890625%\n","Ep 12 | Step 150 | Loss 0.0528 | Grad 0.00333907 | Accuracy since first Epoch: 99.27083333333333%\n","Ep 12 | Step 200 | Loss 0.0150 | Grad 0.00294423 | Accuracy since first Epoch: 99.29296875%\n","Ep 13 | Step 50 | Loss 0.0094 | Grad 0.00161554 | Accuracy since first Epoch: 99.40625%\n","Ep 13 | Step 100 | Loss 0.0236 | Grad 0.00407724 | Accuracy since first Epoch: 99.46875%\n","Ep 13 | Step 150 | Loss 0.0191 | Grad 0.00322717 | Accuracy since first Epoch: 99.41145833333334%\n","Ep 13 | Step 200 | Loss 0.0377 | Grad 0.00279139 | Accuracy since first Epoch: 99.369140625%\n","Ep 14 | Step 50 | Loss 0.0196 | Grad 0.00183652 | Accuracy since first Epoch: 99.484375%\n","Ep 14 | Step 100 | Loss 0.0174 | Grad 0.00247603 | Accuracy since first Epoch: 99.49609375%\n","Ep 14 | Step 150 | Loss 0.0172 | Grad 0.00324127 | Accuracy since first Epoch: 99.4609375%\n","Ep 14 | Step 200 | Loss 0.0310 | Grad 0.00520720 | Accuracy since first Epoch: 99.451171875%\n","Ep 15 | Step 50 | Loss 0.0232 | Grad 0.00383803 | Accuracy since first Epoch: 99.515625%\n","Ep 15 | Step 100 | Loss 0.0051 | Grad 0.00083070 | Accuracy since first Epoch: 99.53125%\n","Ep 15 | Step 150 | Loss 0.0370 | Grad 0.00320639 | Accuracy since first Epoch: 99.53645833333333%\n","Ep 15 | Step 200 | Loss 0.0040 | Grad 0.00091474 | Accuracy since first Epoch: 99.54296875%\n","Ep 16 | Step 50 | Loss 0.0468 | Grad 0.00341925 | Accuracy since first Epoch: 99.515625%\n","Ep 16 | Step 100 | Loss 0.0023 | Grad 0.00052236 | Accuracy since first Epoch: 99.484375%\n","Ep 16 | Step 150 | Loss 0.0124 | Grad 0.00217953 | Accuracy since first Epoch: 99.4609375%\n","Ep 16 | Step 200 | Loss 0.0109 | Grad 0.00315625 | Accuracy since first Epoch: 99.427734375%\n","Ep 17 | Step 50 | Loss 0.0073 | Grad 0.00160931 | Accuracy since first Epoch: 99.484375%\n","Ep 17 | Step 100 | Loss 0.6732 | Grad 0.00329511 | Accuracy since first Epoch: 88.52734375%\n","Ep 17 | Step 150 | Loss 0.0708 | Grad 0.00472098 | Accuracy since first Epoch: 90.60416666666666%\n","Ep 17 | Step 200 | Loss 0.0131 | Grad 0.00149247 | Accuracy since first Epoch: 92.359375%\n","Ep 18 | Step 50 | Loss 0.1080 | Grad 0.00519714 | Accuracy since first Epoch: 98.484375%\n","Ep 18 | Step 100 | Loss 0.0167 | Grad 0.00226898 | Accuracy since first Epoch: 98.37890625%\n","Ep 18 | Step 150 | Loss 0.0522 | Grad 0.00352109 | Accuracy since first Epoch: 98.30989583333334%\n","Ep 18 | Step 200 | Loss 0.0284 | Grad 0.00292796 | Accuracy since first Epoch: 98.298828125%\n","Ep 19 | Step 50 | Loss 0.0325 | Grad 0.00598291 | Accuracy since first Epoch: 98.8359375%\n","Ep 19 | Step 100 | Loss 0.0286 | Grad 0.00236527 | Accuracy since first Epoch: 98.921875%\n","Ep 19 | Step 150 | Loss 0.0596 | Grad 0.00432321 | Accuracy since first Epoch: 98.859375%\n","Ep 19 | Step 200 | Loss 0.2390 | Grad 0.00521930 | Accuracy since first Epoch: 94.630859375%\n","Ep 20 | Step 50 | Loss 0.0299 | Grad 0.00326466 | Accuracy since first Epoch: 97.6015625%\n","Ep 20 | Step 100 | Loss 0.1186 | Grad 0.00586448 | Accuracy since first Epoch: 97.83203125%\n","Ep 20 | Step 150 | Loss 0.0331 | Grad 0.00254791 | Accuracy since first Epoch: 97.94270833333333%\n","Ep 20 | Step 200 | Loss 0.0430 | Grad 0.00284896 | Accuracy since first Epoch: 98.00390625%\n","Ep 21 | Step 50 | Loss 0.0277 | Grad 0.00160032 | Accuracy since first Epoch: 98.6953125%\n","Ep 21 | Step 100 | Loss 0.0172 | Grad 0.00188524 | Accuracy since first Epoch: 98.703125%\n","Ep 21 | Step 150 | Loss 0.0169 | Grad 0.00170150 | Accuracy since first Epoch: 98.6328125%\n","Ep 21 | Step 200 | Loss 0.0266 | Grad 0.00273916 | Accuracy since first Epoch: 98.677734375%\n","Ep 22 | Step 50 | Loss 0.0130 | Grad 0.00181130 | Accuracy since first Epoch: 98.96875%\n","Ep 22 | Step 100 | Loss 0.0329 | Grad 0.00243041 | Accuracy since first Epoch: 99.0625%\n","Ep 22 | Step 150 | Loss 0.0060 | Grad 0.00126846 | Accuracy since first Epoch: 99.0859375%\n","Ep 22 | Step 200 | Loss 0.0075 | Grad 0.00146843 | Accuracy since first Epoch: 99.03515625%\n","Ep 23 | Step 50 | Loss 0.0161 | Grad 0.00278116 | Accuracy since first Epoch: 99.1171875%\n","Ep 23 | Step 100 | Loss 0.0381 | Grad 0.00306959 | Accuracy since first Epoch: 99.140625%\n","Ep 23 | Step 150 | Loss 0.0257 | Grad 0.00325346 | Accuracy since first Epoch: 99.13020833333334%\n","Ep 23 | Step 200 | Loss 0.0085 | Grad 0.00117340 | Accuracy since first Epoch: 99.1015625%\n","Ep 24 | Step 50 | Loss 0.0327 | Grad 0.00551912 | Accuracy since first Epoch: 99.2265625%\n","Ep 24 | Step 100 | Loss 0.0221 | Grad 0.00333883 | Accuracy since first Epoch: 99.1875%\n","Ep 24 | Step 150 | Loss 0.0147 | Grad 0.00294710 | Accuracy since first Epoch: 99.203125%\n","Ep 24 | Step 200 | Loss 0.0218 | Grad 0.00294174 | Accuracy since first Epoch: 99.1953125%\n","Ep 25 | Step 50 | Loss 0.0256 | Grad 0.00456243 | Accuracy since first Epoch: 99.484375%\n","Ep 25 | Step 100 | Loss 0.0096 | Grad 0.00158934 | Accuracy since first Epoch: 99.4609375%\n","Ep 25 | Step 150 | Loss 0.0131 | Grad 0.00238382 | Accuracy since first Epoch: 99.41666666666666%\n","Ep 25 | Step 200 | Loss 0.0028 | Grad 0.00077721 | Accuracy since first Epoch: 99.421875%\n","Ep 26 | Step 50 | Loss 0.0040 | Grad 0.00132620 | Accuracy since first Epoch: 99.53125%\n","Ep 26 | Step 100 | Loss 0.0128 | Grad 0.00445466 | Accuracy since first Epoch: 99.4765625%\n","Ep 26 | Step 150 | Loss 0.0075 | Grad 0.00132936 | Accuracy since first Epoch: 99.46875%\n","Ep 26 | Step 200 | Loss 0.0244 | Grad 0.00518787 | Accuracy since first Epoch: 99.4609375%\n","Ep 27 | Step 50 | Loss 0.0027 | Grad 0.00098761 | Accuracy since first Epoch: 99.53125%\n","Ep 27 | Step 100 | Loss 0.0142 | Grad 0.00242158 | Accuracy since first Epoch: 99.51953125%\n","Ep 27 | Step 150 | Loss 0.0159 | Grad 0.00427890 | Accuracy since first Epoch: 99.5390625%\n","Ep 27 | Step 200 | Loss 0.0038 | Grad 0.00167183 | Accuracy since first Epoch: 99.546875%\n","Ep 28 | Step 50 | Loss 0.0035 | Grad 0.00084636 | Accuracy since first Epoch: 99.6640625%\n","Ep 28 | Step 100 | Loss 0.0101 | Grad 0.00328880 | Accuracy since first Epoch: 99.65625%\n","Ep 28 | Step 150 | Loss 0.0162 | Grad 0.00255687 | Accuracy since first Epoch: 99.6640625%\n","Ep 28 | Step 200 | Loss 0.0079 | Grad 0.00253351 | Accuracy since first Epoch: 99.64453125%\n","Ep 29 | Step 50 | Loss 0.0046 | Grad 0.00147477 | Accuracy since first Epoch: 99.6953125%\n","Ep 29 | Step 100 | Loss 0.0061 | Grad 0.00222475 | Accuracy since first Epoch: 99.70703125%\n","Ep 29 | Step 150 | Loss 0.0065 | Grad 0.00257590 | Accuracy since first Epoch: 99.71875%\n","Ep 29 | Step 200 | Loss 0.0035 | Grad 0.00087482 | Accuracy since first Epoch: 99.708984375%\n","Ep 30 | Step 50 | Loss 0.0124 | Grad 0.00273844 | Accuracy since first Epoch: 99.796875%\n","Ep 30 | Step 100 | Loss 0.0024 | Grad 0.00085384 | Accuracy since first Epoch: 99.80078125%\n","Ep 30 | Step 150 | Loss 0.0038 | Grad 0.00089160 | Accuracy since first Epoch: 99.78385416666666%\n","Ep 30 | Step 200 | Loss 0.0042 | Grad 0.00246030 | Accuracy since first Epoch: 99.759765625%\n","Ep 31 | Step 50 | Loss 0.0015 | Grad 0.00054813 | Accuracy since first Epoch: 99.84375%\n","Ep 31 | Step 100 | Loss 0.0011 | Grad 0.00032847 | Accuracy since first Epoch: 99.84765625%\n","Ep 31 | Step 150 | Loss 0.0024 | Grad 0.00135403 | Accuracy since first Epoch: 99.79947916666667%\n","Ep 31 | Step 200 | Loss 0.0080 | Grad 0.00330522 | Accuracy since first Epoch: 99.802734375%\n","Ep 32 | Step 50 | Loss 0.0076 | Grad 0.00300597 | Accuracy since first Epoch: 99.78125%\n","Ep 32 | Step 100 | Loss 0.0009 | Grad 0.00042581 | Accuracy since first Epoch: 99.79296875%\n","Ep 32 | Step 150 | Loss 0.0059 | Grad 0.00251614 | Accuracy since first Epoch: 99.77083333333333%\n","Ep 32 | Step 200 | Loss 0.0018 | Grad 0.00081507 | Accuracy since first Epoch: 99.763671875%\n","Ep 33 | Step 50 | Loss 0.0019 | Grad 0.00104567 | Accuracy since first Epoch: 99.8203125%\n","Ep 33 | Step 100 | Loss 0.0069 | Grad 0.00192244 | Accuracy since first Epoch: 99.84375%\n","Ep 33 | Step 150 | Loss 0.0037 | Grad 0.00242165 | Accuracy since first Epoch: 99.84114583333333%\n","Ep 33 | Step 200 | Loss 0.0133 | Grad 0.00408670 | Accuracy since first Epoch: 99.8359375%\n","Ep 34 | Step 50 | Loss 0.0013 | Grad 0.00059196 | Accuracy since first Epoch: 99.859375%\n","Ep 34 | Step 100 | Loss 0.0010 | Grad 0.00037484 | Accuracy since first Epoch: 99.83203125%\n","Ep 34 | Step 150 | Loss 0.0006 | Grad 0.00047441 | Accuracy since first Epoch: 99.83333333333333%\n","Ep 34 | Step 200 | Loss 0.0008 | Grad 0.00032663 | Accuracy since first Epoch: 99.814453125%\n","Ep 35 | Step 50 | Loss 0.0010 | Grad 0.00046752 | Accuracy since first Epoch: 99.8359375%\n","Ep 35 | Step 100 | Loss 0.0858 | Grad 0.00468295 | Accuracy since first Epoch: 99.34375%\n","Ep 35 | Step 150 | Loss 0.3994 | Grad 0.00274344 | Accuracy since first Epoch: 88.74479166666667%\n","Ep 35 | Step 200 | Loss 0.0487 | Grad 0.00325103 | Accuracy since first Epoch: 90.87890625%\n","Ep 36 | Step 50 | Loss 0.0752 | Grad 0.00420596 | Accuracy since first Epoch: 97.84375%\n","Ep 36 | Step 100 | Loss 0.2627 | Grad 0.00390867 | Accuracy since first Epoch: 95.484375%\n","Ep 36 | Step 150 | Loss 0.1673 | Grad 0.00454531 | Accuracy since first Epoch: 95.62239583333333%\n","Ep 36 | Step 200 | Loss 0.0705 | Grad 0.00479174 | Accuracy since first Epoch: 95.705078125%\n","Ep 37 | Step 50 | Loss 0.0647 | Grad 0.00568085 | Accuracy since first Epoch: 97.5625%\n","Ep 37 | Step 100 | Loss 0.0469 | Grad 0.00598764 | Accuracy since first Epoch: 97.62890625%\n","Ep 37 | Step 150 | Loss 0.0481 | Grad 0.00637649 | Accuracy since first Epoch: 97.65364583333334%\n","Ep 37 | Step 200 | Loss 0.0983 | Grad 0.00739527 | Accuracy since first Epoch: 97.771484375%\n","Ep 38 | Step 50 | Loss 0.0379 | Grad 0.00511867 | Accuracy since first Epoch: 98.6328125%\n","Ep 38 | Step 100 | Loss 0.0230 | Grad 0.00446555 | Accuracy since first Epoch: 98.55859375%\n","Ep 38 | Step 150 | Loss 0.0119 | Grad 0.00288856 | Accuracy since first Epoch: 98.59635416666667%\n","Ep 38 | Step 200 | Loss 0.0824 | Grad 0.00587100 | Accuracy since first Epoch: 98.55078125%\n","Ep 39 | Step 50 | Loss 0.0416 | Grad 0.00505240 | Accuracy since first Epoch: 98.7890625%\n","Ep 39 | Step 100 | Loss 0.0378 | Grad 0.00508033 | Accuracy since first Epoch: 98.875%\n","Ep 39 | Step 150 | Loss 0.0418 | Grad 0.00120442 | Accuracy since first Epoch: 98.859375%\n","Ep 39 | Step 200 | Loss 0.0293 | Grad 0.00425740 | Accuracy since first Epoch: 98.875%\n","Ep 40 | Step 50 | Loss 0.0351 | Grad 0.00566663 | Accuracy since first Epoch: 99.125%\n","Ep 40 | Step 100 | Loss 0.0403 | Grad 0.00541376 | Accuracy since first Epoch: 99.09765625%\n","Ep 40 | Step 150 | Loss 0.0166 | Grad 0.00367229 | Accuracy since first Epoch: 99.0625%\n","Ep 40 | Step 200 | Loss 0.0372 | Grad 0.00616549 | Accuracy since first Epoch: 99.0546875%\n","Ep 41 | Step 50 | Loss 0.0443 | Grad 0.00427769 | Accuracy since first Epoch: 99.0703125%\n","Ep 41 | Step 100 | Loss 0.0233 | Grad 0.00519370 | Accuracy since first Epoch: 99.078125%\n","Ep 41 | Step 150 | Loss 0.0416 | Grad 0.00437911 | Accuracy since first Epoch: 99.09895833333333%\n","Ep 41 | Step 200 | Loss 0.0335 | Grad 0.00436657 | Accuracy since first Epoch: 99.08984375%\n","Ep 42 | Step 50 | Loss 0.0073 | Grad 0.00233282 | Accuracy since first Epoch: 99.3359375%\n","Ep 42 | Step 100 | Loss 0.0108 | Grad 0.00239379 | Accuracy since first Epoch: 99.2578125%\n","Ep 42 | Step 150 | Loss 0.0053 | Grad 0.00125641 | Accuracy since first Epoch: 99.29427083333333%\n","Ep 42 | Step 200 | Loss 0.0290 | Grad 0.00453457 | Accuracy since first Epoch: 99.28515625%\n","Ep 43 | Step 50 | Loss 0.0143 | Grad 0.00352635 | Accuracy since first Epoch: 99.3203125%\n","Ep 43 | Step 100 | Loss 0.0059 | Grad 0.00182476 | Accuracy since first Epoch: 99.375%\n","Ep 43 | Step 150 | Loss 0.0201 | Grad 0.00318283 | Accuracy since first Epoch: 99.39583333333334%\n","Ep 43 | Step 200 | Loss 0.0064 | Grad 0.00217519 | Accuracy since first Epoch: 99.400390625%\n","Ep 44 | Step 50 | Loss 0.0198 | Grad 0.00426179 | Accuracy since first Epoch: 99.5078125%\n","Ep 44 | Step 100 | Loss 0.0241 | Grad 0.00288149 | Accuracy since first Epoch: 99.43359375%\n","Ep 44 | Step 150 | Loss 0.0139 | Grad 0.00424847 | Accuracy since first Epoch: 99.4609375%\n","Ep 44 | Step 200 | Loss 0.0389 | Grad 0.00361649 | Accuracy since first Epoch: 99.4375%\n","Ep 45 | Step 50 | Loss 0.0183 | Grad 0.00496720 | Accuracy since first Epoch: 99.5390625%\n","Ep 45 | Step 100 | Loss 0.0201 | Grad 0.00494657 | Accuracy since first Epoch: 99.48828125%\n","Ep 45 | Step 150 | Loss 0.0055 | Grad 0.00258269 | Accuracy since first Epoch: 99.5078125%\n","Ep 45 | Step 200 | Loss 0.0399 | Grad 0.00620392 | Accuracy since first Epoch: 99.501953125%\n","Ep 46 | Step 50 | Loss 0.0109 | Grad 0.00561150 | Accuracy since first Epoch: 99.484375%\n","Ep 46 | Step 100 | Loss 0.0057 | Grad 0.00132875 | Accuracy since first Epoch: 99.5703125%\n","Ep 46 | Step 150 | Loss 0.0087 | Grad 0.00316321 | Accuracy since first Epoch: 99.5703125%\n","Ep 46 | Step 200 | Loss 0.0261 | Grad 0.00518191 | Accuracy since first Epoch: 99.560546875%\n","Ep 47 | Step 50 | Loss 0.0100 | Grad 0.00263353 | Accuracy since first Epoch: 99.5390625%\n","Ep 47 | Step 100 | Loss 0.0066 | Grad 0.00217585 | Accuracy since first Epoch: 99.5546875%\n","Ep 47 | Step 150 | Loss 0.0091 | Grad 0.00336039 | Accuracy since first Epoch: 99.56510416666666%\n","Ep 47 | Step 200 | Loss 0.0200 | Grad 0.00270576 | Accuracy since first Epoch: 99.564453125%\n","Ep 48 | Step 50 | Loss 0.0100 | Grad 0.00297630 | Accuracy since first Epoch: 99.5625%\n","Ep 48 | Step 100 | Loss 0.0022 | Grad 0.00116814 | Accuracy since first Epoch: 99.5546875%\n","Ep 48 | Step 150 | Loss 0.0045 | Grad 0.00118142 | Accuracy since first Epoch: 99.5625%\n","Ep 48 | Step 200 | Loss 0.0102 | Grad 0.00275039 | Accuracy since first Epoch: 99.587890625%\n","Ep 49 | Step 50 | Loss 0.0052 | Grad 0.00169175 | Accuracy since first Epoch: 99.609375%\n","Ep 49 | Step 100 | Loss 0.0058 | Grad 0.00114144 | Accuracy since first Epoch: 99.58984375%\n","Ep 49 | Step 150 | Loss 0.0105 | Grad 0.00467481 | Accuracy since first Epoch: 99.59375%\n","Ep 49 | Step 200 | Loss 0.0110 | Grad 0.00278024 | Accuracy since first Epoch: 99.57421875%\n","Ep 50 | Step 50 | Loss 0.0056 | Grad 0.00183158 | Accuracy since first Epoch: 99.640625%\n","Ep 50 | Step 100 | Loss 0.0280 | Grad 0.00453082 | Accuracy since first Epoch: 99.61328125%\n","Ep 50 | Step 150 | Loss 0.0161 | Grad 0.00486187 | Accuracy since first Epoch: 99.59114583333334%\n","Ep 50 | Step 200 | Loss 0.0076 | Grad 0.00270937 | Accuracy since first Epoch: 99.580078125%\n","\n","âš¡ MODEL SAVED!\n"]}]},{"cell_type":"code","source":["model.eval()\n","val_accuracy = 0\n","val_samples = 0\n","\n","with torch.no_grad():\n"," for data, target in val_loader:\n"," data, target = data.to(DEVICE), target.to(DEVICE)\n"," output = model(data)\n"," _, pred = torch.max(output, dim=1)\n"," val_accuracy += (pred == target).sum().item()\n"," val_samples += target.size(0)\n","\n","final_val_acc = (val_accuracy / val_samples) * 100\n","print(f\"Validation Accuracy: {final_val_acc:.2f}%\")"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1779541200861,"user_tz":-420,"elapsed":2262,"user":{"displayName":"Cici rizky plk","userId":"03714270658772765776"}},"outputId":"1e80c86f-5e9c-4bbb-c3a4-e9b71a41b5dc","id":"Lc0pX5Py67vm"},"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["Validation Accuracy: 98.57%\n"]}]},{"cell_type":"markdown","source":["Okay, I just realized that the output has 100 logits, not 10. Here is the fixed version"],"metadata":{"id":"91KA4ngUKaK-"}},{"cell_type":"code","source":["\n","# ========================================================\n","# LOOKTHEM V8 - STABILIZED GRADIENTS VERSION\n","# ============================================================\n","\n","import os\n","import io\n","import math\n","from PIL import Image\n","import torch\n","import torch.nn as nn\n","import torch.nn.functional as F\n","import torch.optim as optim\n","from torch.utils.data import Dataset, DataLoader\n","import torchvision.transforms as transforms\n","from torchvision import datasets\n","\n","DEVICE = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n","BATCH_SIZE_TRAIN = 256\n","BATCH_SIZE_VAL = 256\n","EPOCHS = 40\n","LR = 1e-3\n","WEIGHT_DECAY = 1e-4\n","MODEL_SAVE_PATH = \"LookThem_V8_MNIST.pth\"\n","\n","# --- TRANSFORMS ---\n","transform = transforms.Compose([\n"," transforms.ToTensor(),\n"," transforms.Normalize((0.1307,), (0.3081,))\n","\n","])\n","\n","\n","# --- DATASET LOADER ---\n","\n","train = datasets.MNIST(download=True, root=\"./data\", train=True, transform=transform)\n","val = datasets.MNIST(root=\"./data\", train=False, transform=transform)\n","\n","train_loader = DataLoader(train, batch_size=BATCH_SIZE_TRAIN, shuffle=True, num_workers=2, pin_memory=True)\n","val_loader = DataLoader(val, batch_size=BATCH_SIZE_VAL, shuffle=False, num_workers=2, pin_memory=True)\n","\n","# --- STABILIZED LOOKTHEM LAYER ---\n","class LookThemLayer(nn.Module):\n"," def __init__(self, num_tokens, in_features, hidden_dim):\n"," super().__init__()\n"," self.num_tokens = num_tokens\n"," self.mod1_w1 = nn.Parameter(torch.randn(num_tokens, in_features, hidden_dim))\n"," self.mod1_b1 = nn.Parameter(torch.zeros(num_tokens, hidden_dim))\n"," self.mod1_w2 = nn.Parameter(torch.randn(num_tokens, hidden_dim, 1))\n"," self.mod1_b2 = nn.Parameter(torch.zeros(num_tokens, 1))\n"," self.mod2_w1 = nn.Parameter(torch.randn(num_tokens, in_features, hidden_dim))\n"," self.mod2_b1 = nn.Parameter(torch.zeros(num_tokens, hidden_dim))\n"," self.mod2_w2 = nn.Parameter(torch.randn(num_tokens, hidden_dim, 1))\n"," self.mod2_b2 = nn.Parameter(torch.zeros(num_tokens, 1))\n"," self.trans_w = nn.Parameter(torch.randn(num_tokens, 1, 1))\n"," self.trans_b = nn.Parameter(torch.zeros(num_tokens, 1))\n"," self._init_weights()\n","\n"," def _init_weights(self):\n"," for w in [self.mod1_w1, self.mod2_w1, self.mod1_w2, self.mod2_w2]:\n"," nn.init.xavier_uniform_(w) # Better for Tanh/Gelu flow\n","\n"," def forward(self, x):\n"," N = self.num_tokens\n"," h1 = torch.einsum(\"bti,tij->btj\", x, self.mod1_w1) + self.mod1_b1\n"," out_m1 = torch.einsum(\"btj,tjk->btk\", F.gelu(h1), self.mod1_w2) + self.mod1_b2\n"," h2 = torch.einsum(\"bti,tij->btj\", x, self.mod2_w1) + self.mod2_b1\n"," out_m2 = torch.einsum(\"btj,tjk->btk\", F.gelu(h2), self.mod2_w2) + self.mod2_b2\n","\n"," # Stabilized division\n"," out_m2_safe = torch.sign(out_m2) * torch.clamp(torch.abs(out_m2), min=1e-6)\n"," compare = torch.tanh(out_m1.unsqueeze(2) / out_m2_safe.unsqueeze(1))\n"," compare2 = torch.tanh(out_m1.unsqueeze(1) / out_m2_safe.unsqueeze(2))\n","\n"," trans_compare = torch.einsum(\"bije,jef->bijf\", compare, self.trans_w) + self.trans_b.view(1, 1, N, 1)\n"," trans_compare2 = torch.einsum(\"bije,jef->bijf\", compare2, self.trans_w) + self.trans_b.view(1, 1, N, 1)\n","\n"," interaksi = (trans_compare * x.unsqueeze(2) + trans_compare2 * x.unsqueeze(1)) / 2\n"," mask = (1.0 - torch.eye(N, device=x.device)).view(1, N, N, 1)\n"," return (interaksi * mask).sum(dim=2) / (N - 1.0)\n","\n","class LiteResidualBlock(nn.Module):\n"," def __init__(self, dim, dropout=0.05):\n"," super().__init__()\n"," self.block = nn.Sequential(nn.Linear(dim, dim), nn.GELU(), nn.Dropout(dropout), nn.Linear(dim, dim))\n"," self.norm = nn.LayerNorm(dim)\n"," def forward(self, x):\n"," return self.norm(x + self.block(x))\n","\n","class LookThemV8MNIST(nn.Module):\n"," def __init__(self):\n"," super().__init__()\n"," self.stream_a = nn.Sequential(\n"," nn.Conv2d(1, 4, 3, 2, 1),\n"," nn.BatchNorm2d(4), nn.GELU(),\n"," nn.Conv2d(4, 8, 3, 2, 1),\n"," nn.BatchNorm2d(8), nn.GELU(),\n"," nn.AdaptiveMaxPool2d((8, 8)))\n"," self.stream_b = nn.Sequential(\n"," nn.Conv2d(1, 4, 3, 1, 1),\n"," nn.BatchNorm2d(4), nn.GELU(),\n"," nn.Conv2d(4, 8, 3, 1, 1),\n"," nn.BatchNorm2d(8), nn.GELU(),\n"," nn.AdaptiveMaxPool2d((8, 8)))\n","\n"," self.lookthemA = LookThemLayer(64, 8, 32)\n"," self.lookthemB = LookThemLayer(64, 8, 32)\n"," self.lookthem_comb = LookThemLayer(64, 16, 32)\n"," self.comb_norm = nn.LayerNorm(16) # Fixed: Changed from 1 to 16 to match cat([fa, fb])\n","\n"," self.FFN1 = nn.Conv1d(16, 8, 1)\n"," self.lookthem2 = LookThemLayer(64, 8, 32)\n"," self.FFN2 = nn.Conv1d(8, 8, 1)\n","\n"," self.compressor = nn.Conv1d(8, 4, 1)\n"," self.input_proj = nn.Linear(64 * 4, 128)\n"," self.res_blocks = nn.Sequential(LiteResidualBlock(128), LiteResidualBlock(128))\n"," self.head = nn.Sequential(nn.Linear(128, 128), nn.GELU(), nn.Linear(128, 10))\n","\n"," def forward(self, x):\n"," b = x.size(0)\n"," fa = self.lookthemA(self.stream_a(x).view(b, 8, 64).transpose(1, 2))\n"," fb = self.lookthemB(self.stream_b(x).view(b, 8, 64).transpose(1, 2))\n"," x = self.comb_norm(self.lookthem_comb(torch.cat([fa, fb], dim=2)))\n"," x = x.transpose(1, 2)\n"," x = self.FFN1(x).transpose(1, 2)\n"," res = x\n"," x = self.lookthem2(x).transpose(1, 2)\n"," x = self.FFN2(x) + res.transpose(1, 2) # Strong residual\n"," x = self.compressor(x).flatten(1)\n"," x = self.res_blocks(self.input_proj(x))\n"," return self.head(x)\n","\n","\n","model = LookThemV8MNIST().to(DEVICE)\n","optimizer = optim.AdamW(model.parameters(), lr=LR, weight_decay=WEIGHT_DECAY)\n","criterion = nn.CrossEntropyLoss()\n","scheduler = optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max=EPOCHS)\n","\n","print(f\"Model initialized. Total params: {sum(p.numel() for p in model.parameters()):,}\")\n","\n","for epoch in range(EPOCHS):\n"," model.train()\n"," accuracy = 0\n"," samples = 0\n"," for step, (data, target) in enumerate(train_loader):\n"," data, target = data.to(DEVICE), target.to(DEVICE)\n"," optimizer.zero_grad()\n"," output = model(data)\n"," loss = criterion(output, target)\n"," loss.backward()\n"," torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0)\n"," optimizer.step()\n"," _, pred = torch.max(output, dim=1)\n"," accuracy += (pred == target).sum().item()\n"," samples += target.size(0)\n","\n"," if (step+1) % 50 == 0:\n"," grads = [p.grad.abs().mean().item() for p in model.parameters() if p.grad is not None]\n"," avg_grad = sum(grads)/len(grads) if grads else 0\n"," print(f\"Ep {epoch+1} | Step {step+1} | Loss {loss.item():.4f} | Grad {avg_grad:.8f} | Accuracy since first Epoch: {accuracy / samples * 100}%\")\n"," scheduler.step()\n","\n","\n","import os\n","import torch\n","\n","torch.save(model.state_dict(), MODEL_SAVE_PATH)\n","\n","real_size = os.path.getsize(MODEL_SAVE_PATH) / (1024 * 1024)\n","\n","print(\"\\nâš¡ MODEL SAVED!\")"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":1000},"executionInfo":{"status":"error","timestamp":1779547180823,"user_tz":-420,"elapsed":610722,"user":{"displayName":"Cici rizky plk","userId":"03714270658772765776"}},"outputId":"08bd1db3-a48b-4ed9-de1c-945689b9526e","id":"8JwqWl_WLhTG"},"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["Model initialized. Total params: 315,886\n","Ep 1 | Step 50 | Loss 1.7119 | Grad 0.00249278 | Accuracy since first Epoch: 33.0625%\n","Ep 1 | Step 100 | Loss 0.5301 | Grad 0.00353999 | Accuracy since first Epoch: 54.96093749999999%\n","Ep 1 | Step 150 | Loss 0.2114 | Grad 0.00295052 | Accuracy since first Epoch: 66.76302083333333%\n","Ep 1 | Step 200 | Loss 0.7862 | Grad 0.00369404 | Accuracy since first Epoch: 62.515625%\n","Ep 2 | Step 50 | Loss 0.2082 | Grad 0.00402810 | Accuracy since first Epoch: 92.359375%\n","Ep 2 | Step 100 | Loss 0.2146 | Grad 0.00320273 | Accuracy since first Epoch: 93.46875%\n","Ep 2 | Step 150 | Loss 0.2127 | Grad 0.00452096 | Accuracy since first Epoch: 94.17708333333333%\n","Ep 2 | Step 200 | Loss 0.0955 | Grad 0.00257914 | Accuracy since first Epoch: 94.685546875%\n","Ep 3 | Step 50 | Loss 0.1195 | Grad 0.00298242 | Accuracy since first Epoch: 97.0%\n","Ep 3 | Step 100 | Loss 0.0942 | Grad 0.00508311 | Accuracy since first Epoch: 97.046875%\n","Ep 3 | Step 150 | Loss 0.0806 | Grad 0.00516269 | Accuracy since first Epoch: 97.0703125%\n","Ep 3 | Step 200 | Loss 0.1763 | Grad 0.00543937 | Accuracy since first Epoch: 97.078125%\n","Ep 4 | Step 50 | Loss 0.2357 | Grad 0.00367059 | Accuracy since first Epoch: 93.1015625%\n","Ep 4 | Step 100 | Loss 0.4558 | Grad 0.00605701 | Accuracy since first Epoch: 93.87890625%\n","Ep 4 | Step 150 | Loss 0.1840 | Grad 0.00489731 | Accuracy since first Epoch: 92.25%\n","Ep 4 | Step 200 | Loss 0.1333 | Grad 0.00466149 | Accuracy since first Epoch: 93.21484375%\n","Ep 5 | Step 50 | Loss 0.0569 | Grad 0.00428754 | Accuracy since first Epoch: 97.0078125%\n","Ep 5 | Step 100 | Loss 0.0392 | Grad 0.00266077 | Accuracy since first Epoch: 97.2421875%\n","Ep 5 | Step 150 | Loss 0.0857 | Grad 0.00352980 | Accuracy since first Epoch: 97.375%\n","Ep 5 | Step 200 | Loss 0.0838 | Grad 0.00440569 | Accuracy since first Epoch: 97.4765625%\n","Ep 6 | Step 50 | Loss 0.1521 | Grad 0.00373757 | Accuracy since first Epoch: 89.765625%\n","Ep 6 | Step 100 | Loss 0.3004 | Grad 0.00307185 | Accuracy since first Epoch: 84.03515625%\n","Ep 6 | Step 150 | Loss 0.4372 | Grad 0.00463785 | Accuracy since first Epoch: 85.88020833333333%\n","Ep 6 | Step 200 | Loss 0.1123 | Grad 0.00516218 | Accuracy since first Epoch: 88.1875%\n","Ep 7 | Step 50 | Loss 0.1108 | Grad 0.00356400 | Accuracy since first Epoch: 97.078125%\n","Ep 7 | Step 100 | Loss 0.1566 | Grad 0.00361785 | Accuracy since first Epoch: 97.296875%\n","Ep 7 | Step 150 | Loss 0.0495 | Grad 0.00354026 | Accuracy since first Epoch: 97.4609375%\n","Ep 7 | Step 200 | Loss 0.0884 | Grad 0.00473406 | Accuracy since first Epoch: 97.533203125%\n","Ep 8 | Step 50 | Loss 0.0435 | Grad 0.00314305 | Accuracy since first Epoch: 98.5%\n","Ep 8 | Step 100 | Loss 0.0209 | Grad 0.00247496 | Accuracy since first Epoch: 98.46484375%\n","Ep 8 | Step 150 | Loss 0.1409 | Grad 0.00542579 | Accuracy since first Epoch: 98.40885416666667%\n","Ep 8 | Step 200 | Loss 0.0598 | Grad 0.00665715 | Accuracy since first Epoch: 97.857421875%\n","Ep 9 | Step 50 | Loss 0.0229 | Grad 0.00216261 | Accuracy since first Epoch: 98.3515625%\n","Ep 9 | Step 100 | Loss 0.0219 | Grad 0.00215525 | Accuracy since first Epoch: 98.48828125%\n","Ep 9 | Step 150 | Loss 0.0715 | Grad 0.00309025 | Accuracy since first Epoch: 98.49739583333333%\n","Ep 9 | Step 200 | Loss 0.0817 | Grad 0.00314196 | Accuracy since first Epoch: 98.529296875%\n","Ep 10 | Step 50 | Loss 0.0447 | Grad 0.00260422 | Accuracy since first Epoch: 98.84375%\n","Ep 10 | Step 100 | Loss 0.0476 | Grad 0.00340637 | Accuracy since first Epoch: 98.86328125%\n","Ep 10 | Step 150 | Loss 0.0591 | Grad 0.00382356 | Accuracy since first Epoch: 98.859375%\n","Ep 10 | Step 200 | Loss 0.0093 | Grad 0.00229131 | Accuracy since first Epoch: 98.828125%\n","Ep 11 | Step 50 | Loss 0.0214 | Grad 0.00346072 | Accuracy since first Epoch: 99.1484375%\n","Ep 11 | Step 100 | Loss 0.0428 | Grad 0.00344718 | Accuracy since first Epoch: 99.07421875%\n","Ep 11 | Step 150 | Loss 0.0142 | Grad 0.00237665 | Accuracy since first Epoch: 99.05989583333333%\n","Ep 11 | Step 200 | Loss 0.0299 | Grad 0.00247026 | Accuracy since first Epoch: 99.06640625%\n","Ep 12 | Step 50 | Loss 0.0121 | Grad 0.00269508 | Accuracy since first Epoch: 99.3984375%\n","Ep 12 | Step 100 | Loss 0.0197 | Grad 0.00262936 | Accuracy since first Epoch: 99.265625%\n","Ep 12 | Step 150 | Loss 0.0213 | Grad 0.00341039 | Accuracy since first Epoch: 99.29427083333333%\n","Ep 12 | Step 200 | Loss 0.0598 | Grad 0.00482028 | Accuracy since first Epoch: 99.23046875%\n","Ep 13 | Step 50 | Loss 0.0080 | Grad 0.00167783 | Accuracy since first Epoch: 99.375%\n","Ep 13 | Step 100 | Loss 0.0494 | Grad 0.00416278 | Accuracy since first Epoch: 99.3359375%\n","Ep 13 | Step 150 | Loss 0.0074 | Grad 0.00134858 | Accuracy since first Epoch: 99.37239583333334%\n","Ep 13 | Step 200 | Loss 0.0109 | Grad 0.00210855 | Accuracy since first Epoch: 99.333984375%\n","Ep 14 | Step 50 | Loss 0.0044 | Grad 0.00130177 | Accuracy since first Epoch: 99.5078125%\n","Ep 14 | Step 100 | Loss 0.0375 | Grad 0.00228358 | Accuracy since first Epoch: 99.43359375%\n","Ep 14 | Step 150 | Loss 0.0037 | Grad 0.00083559 | Accuracy since first Epoch: 99.45572916666666%\n","Ep 14 | Step 200 | Loss 0.0245 | Grad 0.00407927 | Accuracy since first Epoch: 99.427734375%\n","Ep 15 | Step 50 | Loss 0.0093 | Grad 0.00215858 | Accuracy since first Epoch: 99.6875%\n","Ep 15 | Step 100 | Loss 0.0089 | Grad 0.00156282 | Accuracy since first Epoch: 99.515625%\n","Ep 15 | Step 150 | Loss 0.0027 | Grad 0.00053107 | Accuracy since first Epoch: 99.52083333333334%\n","Ep 15 | Step 200 | Loss 0.0014 | Grad 0.00024749 | Accuracy since first Epoch: 99.521484375%\n","Ep 16 | Step 50 | Loss 0.0047 | Grad 0.00080984 | Accuracy since first Epoch: 99.640625%\n","Ep 16 | Step 100 | Loss 0.0309 | Grad 0.00436341 | Accuracy since first Epoch: 99.609375%\n","Ep 16 | Step 150 | Loss 0.0195 | Grad 0.00278352 | Accuracy since first Epoch: 99.5859375%\n","Ep 16 | Step 200 | Loss 0.0160 | Grad 0.00295601 | Accuracy since first Epoch: 99.583984375%\n","Ep 17 | Step 50 | Loss 0.0022 | Grad 0.00059430 | Accuracy since first Epoch: 99.765625%\n","Ep 17 | Step 100 | Loss 0.0179 | Grad 0.00156363 | Accuracy since first Epoch: 99.7109375%\n","Ep 17 | Step 150 | Loss 0.0029 | Grad 0.00049665 | Accuracy since first Epoch: 99.6953125%\n","Ep 17 | Step 200 | Loss 0.0161 | Grad 0.00361252 | Accuracy since first Epoch: 99.685546875%\n","Ep 18 | Step 50 | Loss 0.0152 | Grad 0.00326319 | Accuracy since first Epoch: 99.6796875%\n","Ep 18 | Step 100 | Loss 0.0235 | Grad 0.00326761 | Accuracy since first Epoch: 99.71875%\n","Ep 18 | Step 150 | Loss 0.0030 | Grad 0.00070507 | Accuracy since first Epoch: 99.71354166666667%\n","Ep 18 | Step 200 | Loss 0.0078 | Grad 0.00178660 | Accuracy since first Epoch: 99.716796875%\n","Ep 19 | Step 50 | Loss 0.0110 | Grad 0.00294063 | Accuracy since first Epoch: 99.8203125%\n","Ep 19 | Step 100 | Loss 0.0008 | Grad 0.00021864 | Accuracy since first Epoch: 99.78125%\n","Ep 19 | Step 150 | Loss 0.0032 | Grad 0.00123154 | Accuracy since first Epoch: 99.7734375%\n","Ep 19 | Step 200 | Loss 0.0024 | Grad 0.00073558 | Accuracy since first Epoch: 99.759765625%\n","Ep 20 | Step 50 | Loss 0.0025 | Grad 0.00116831 | Accuracy since first Epoch: 99.71875%\n","Ep 20 | Step 100 | Loss 0.0234 | Grad 0.00281630 | Accuracy since first Epoch: 99.77734375%\n","Ep 20 | Step 150 | Loss 0.0086 | Grad 0.00243603 | Accuracy since first Epoch: 99.79166666666667%\n","Ep 20 | Step 200 | Loss 0.0022 | Grad 0.00088685 | Accuracy since first Epoch: 99.794921875%\n","Ep 21 | Step 50 | Loss 0.0019 | Grad 0.00070907 | Accuracy since first Epoch: 99.8515625%\n","Ep 21 | Step 100 | Loss 0.0045 | Grad 0.00187221 | Accuracy since first Epoch: 99.83203125%\n","Ep 21 | Step 150 | Loss 0.0088 | Grad 0.00335504 | Accuracy since first Epoch: 99.8203125%\n","Ep 21 | Step 200 | Loss 0.0105 | Grad 0.00315791 | Accuracy since first Epoch: 99.810546875%\n","Ep 22 | Step 50 | Loss 0.0092 | Grad 0.00205928 | Accuracy since first Epoch: 99.8984375%\n","Ep 22 | Step 100 | Loss 0.0053 | Grad 0.00142757 | Accuracy since first Epoch: 99.890625%\n","Ep 22 | Step 150 | Loss 0.0128 | Grad 0.00331569 | Accuracy since first Epoch: 99.88020833333333%\n","Ep 22 | Step 200 | Loss 0.0006 | Grad 0.00017363 | Accuracy since first Epoch: 99.8671875%\n","Ep 23 | Step 50 | Loss 0.0014 | Grad 0.00074930 | Accuracy since first Epoch: 99.921875%\n","Ep 23 | Step 100 | Loss 0.0003 | Grad 0.00006815 | Accuracy since first Epoch: 99.91796875%\n","Ep 23 | Step 150 | Loss 0.0034 | Grad 0.00181580 | Accuracy since first Epoch: 99.91666666666667%\n","Ep 23 | Step 200 | Loss 0.0020 | Grad 0.00100015 | Accuracy since first Epoch: 99.91015625%\n","Ep 24 | Step 50 | Loss 0.0013 | Grad 0.00059892 | Accuracy since first Epoch: 99.921875%\n","Ep 24 | Step 100 | Loss 0.0009 | Grad 0.00027773 | Accuracy since first Epoch: 99.9296875%\n","Ep 24 | Step 150 | Loss 0.0017 | Grad 0.00074600 | Accuracy since first Epoch: 99.94270833333333%\n","Ep 24 | Step 200 | Loss 0.0030 | Grad 0.00122144 | Accuracy since first Epoch: 99.94140625%\n","Ep 25 | Step 50 | Loss 0.0002 | Grad 0.00006665 | Accuracy since first Epoch: 99.953125%\n","Ep 25 | Step 100 | Loss 0.0003 | Grad 0.00008729 | Accuracy since first Epoch: 99.9375%\n","Ep 25 | Step 150 | Loss 0.0001 | Grad 0.00005005 | Accuracy since first Epoch: 99.93489583333334%\n","Ep 25 | Step 200 | Loss 0.0002 | Grad 0.00007377 | Accuracy since first Epoch: 99.943359375%\n","Ep 26 | Step 50 | Loss 0.0005 | Grad 0.00046975 | Accuracy since first Epoch: 99.953125%\n","Ep 26 | Step 100 | Loss 0.0007 | Grad 0.00022992 | Accuracy since first Epoch: 99.96484375%\n","Ep 26 | Step 150 | Loss 0.0009 | Grad 0.00036553 | Accuracy since first Epoch: 99.95052083333333%\n","Ep 26 | Step 200 | Loss 0.0003 | Grad 0.00006830 | Accuracy since first Epoch: 99.9453125%\n","Ep 27 | Step 50 | Loss 0.0007 | Grad 0.00048477 | Accuracy since first Epoch: 99.9921875%\n","Ep 27 | Step 100 | Loss 0.0004 | Grad 0.00011112 | Accuracy since first Epoch: 99.98046875%\n","Ep 27 | Step 150 | Loss 0.0008 | Grad 0.00036988 | Accuracy since first Epoch: 99.97916666666666%\n","Ep 27 | Step 200 | Loss 0.0017 | Grad 0.00050414 | Accuracy since first Epoch: 99.984375%\n","Ep 28 | Step 50 | Loss 0.0002 | Grad 0.00007892 | Accuracy since first Epoch: 99.984375%\n","Ep 28 | Step 100 | Loss 0.0016 | Grad 0.00142684 | Accuracy since first Epoch: 99.9921875%\n","Ep 28 | Step 150 | Loss 0.0046 | Grad 0.00213947 | Accuracy since first Epoch: 99.98958333333333%\n","Ep 28 | Step 200 | Loss 0.0005 | Grad 0.00021464 | Accuracy since first Epoch: 99.98828125%\n","Ep 29 | Step 50 | Loss 0.0001 | Grad 0.00002307 | Accuracy since first Epoch: 99.984375%\n","Ep 29 | Step 100 | Loss 0.0003 | Grad 0.00010004 | Accuracy since first Epoch: 99.9921875%\n","Ep 29 | Step 150 | Loss 0.0018 | Grad 0.00140375 | Accuracy since first Epoch: 99.99479166666667%\n","Ep 29 | Step 200 | Loss 0.0003 | Grad 0.00010117 | Accuracy since first Epoch: 99.99609375%\n","Ep 30 | Step 50 | Loss 0.0002 | Grad 0.00007294 | Accuracy since first Epoch: 100.0%\n","Ep 30 | Step 100 | Loss 0.0002 | Grad 0.00016026 | Accuracy since first Epoch: 99.9921875%\n","Ep 30 | Step 150 | Loss 0.0001 | Grad 0.00005857 | Accuracy since first Epoch: 99.99479166666667%\n","Ep 30 | Step 200 | Loss 0.0007 | Grad 0.00063638 | Accuracy since first Epoch: 99.9921875%\n","Ep 31 | Step 50 | Loss 0.0003 | Grad 0.00016674 | Accuracy since first Epoch: 99.9765625%\n","Ep 31 | Step 100 | Loss 0.0004 | Grad 0.00019196 | Accuracy since first Epoch: 99.98828125%\n","Ep 31 | Step 150 | Loss 0.0001 | Grad 0.00006921 | Accuracy since first Epoch: 99.98958333333333%\n","Ep 31 | Step 200 | Loss 0.0002 | Grad 0.00009746 | Accuracy since first Epoch: 99.98828125%\n","Ep 32 | Step 50 | Loss 0.0002 | Grad 0.00015513 | Accuracy since first Epoch: 100.0%\n","Ep 32 | Step 100 | Loss 0.0001 | Grad 0.00003967 | Accuracy since first Epoch: 99.99609375%\n","Ep 32 | Step 150 | Loss 0.0002 | Grad 0.00011057 | Accuracy since first Epoch: 99.99739583333334%\n","Ep 32 | Step 200 | Loss 0.0002 | Grad 0.00007919 | Accuracy since first Epoch: 99.99609375%\n","Ep 33 | Step 50 | Loss 0.0001 | Grad 0.00010864 | Accuracy since first Epoch: 100.0%\n","Ep 33 | Step 100 | Loss 0.0003 | Grad 0.00011688 | Accuracy since first Epoch: 100.0%\n","Ep 33 | Step 150 | Loss 0.0002 | Grad 0.00006219 | Accuracy since first Epoch: 99.99739583333334%\n","Ep 33 | Step 200 | Loss 0.0002 | Grad 0.00007232 | Accuracy since first Epoch: 99.998046875%\n","Ep 34 | Step 50 | Loss 0.0001 | Grad 0.00003069 | Accuracy since first Epoch: 100.0%\n","Ep 34 | Step 100 | Loss 0.0004 | Grad 0.00020138 | Accuracy since first Epoch: 99.99609375%\n","Ep 34 | Step 150 | Loss 0.0001 | Grad 0.00016510 | Accuracy since first Epoch: 99.99739583333334%\n","Ep 34 | Step 200 | Loss 0.0001 | Grad 0.00001352 | Accuracy since first Epoch: 99.99609375%\n","Ep 35 | Step 50 | Loss 0.0002 | Grad 0.00009397 | Accuracy since first Epoch: 100.0%\n","Ep 35 | Step 100 | Loss 0.0002 | Grad 0.00005661 | Accuracy since first Epoch: 100.0%\n","Ep 35 | Step 150 | Loss 0.0001 | Grad 0.00003599 | Accuracy since first Epoch: 99.99739583333334%\n","Ep 35 | Step 200 | Loss 0.0002 | Grad 0.00011601 | Accuracy since first Epoch: 99.998046875%\n","Ep 36 | Step 50 | Loss 0.0001 | Grad 0.00006745 | Accuracy since first Epoch: 100.0%\n","Ep 36 | Step 100 | Loss 0.0001 | Grad 0.00004599 | Accuracy since first Epoch: 100.0%\n","Ep 36 | Step 150 | Loss 0.0000 | Grad 0.00001152 | Accuracy since first Epoch: 99.99739583333334%\n","Ep 36 | Step 200 | Loss 0.0001 | Grad 0.00004660 | Accuracy since first Epoch: 99.998046875%\n","Ep 37 | Step 50 | Loss 0.0005 | Grad 0.00046776 | Accuracy since first Epoch: 100.0%\n","Ep 37 | Step 100 | Loss 0.0000 | Grad 0.00002619 | Accuracy since first Epoch: 100.0%\n","Ep 37 | Step 150 | Loss 0.0001 | Grad 0.00008047 | Accuracy since first Epoch: 100.0%\n","Ep 37 | Step 200 | Loss 0.0001 | Grad 0.00002987 | Accuracy since first Epoch: 99.998046875%\n"]},{"output_type":"error","ename":"KeyboardInterrupt","evalue":"","traceback":["\u001b[0;31m---------------------------------------------------------------------------\u001b[0m","\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)","\u001b[0;32m/tmp/ipykernel_1656/2782750932.py\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 150\u001b[0m \u001b[0mloss\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbackward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 151\u001b[0m \u001b[0mtorch\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mutils\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mclip_grad_norm_\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmodel\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mparameters\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m1.0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 152\u001b[0;31m \u001b[0moptimizer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstep\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 153\u001b[0m \u001b[0m_\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpred\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtorch\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmax\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0moutput\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdim\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 154\u001b[0m \u001b[0maccuracy\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mpred\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0mtarget\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msum\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/usr/local/lib/python3.12/dist-packages/torch/optim/lr_scheduler.py\u001b[0m in \u001b[0;36mwrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 164\u001b[0m \u001b[0mopt\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mopt_ref\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 165\u001b[0m \u001b[0mopt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_opt_called\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mTrue\u001b[0m \u001b[0;31m# type: ignore[union-attr]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 166\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__get__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mopt\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mopt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__class__\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 167\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 168\u001b[0m \u001b[0mwrapper\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_wrapped_by_lr_sched\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mTrue\u001b[0m \u001b[0;31m# type: ignore[attr-defined]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/usr/local/lib/python3.12/dist-packages/torch/optim/optimizer.py\u001b[0m in \u001b[0;36mwrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 524\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 525\u001b[0m \u001b[0;31m# pyrefly: ignore [invalid-param-spec]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 526\u001b[0;31m \u001b[0mout\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 527\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_optimizer_step_code\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 528\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/usr/local/lib/python3.12/dist-packages/torch/optim/optimizer.py\u001b[0m in \u001b[0;36m_use_grad\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 79\u001b[0m \u001b[0mtorch\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mset_grad_enabled\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdefaults\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"differentiable\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 80\u001b[0m \u001b[0mtorch\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_dynamo\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgraph_break\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 81\u001b[0;31m \u001b[0mret\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 82\u001b[0m \u001b[0;32mfinally\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 83\u001b[0m \u001b[0mtorch\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_dynamo\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgraph_break\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/usr/local/lib/python3.12/dist-packages/torch/optim/adam.py\u001b[0m in \u001b[0;36mstep\u001b[0;34m(self, closure)\u001b[0m\n\u001b[1;32m 246\u001b[0m )\n\u001b[1;32m 247\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 248\u001b[0;31m adam(\n\u001b[0m\u001b[1;32m 249\u001b[0m \u001b[0mparams_with_grad\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 250\u001b[0m \u001b[0mgrads\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/usr/local/lib/python3.12/dist-packages/torch/optim/optimizer.py\u001b[0m in \u001b[0;36mmaybe_fallback\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 149\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mdisabled_func\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 150\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 151\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 152\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 153\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mmaybe_fallback\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/usr/local/lib/python3.12/dist-packages/torch/optim/adam.py\u001b[0m in \u001b[0;36madam\u001b[0;34m(params, grads, exp_avgs, exp_avg_sqs, max_exp_avg_sqs, state_steps, foreach, capturable, differentiable, fused, grad_scale, found_inf, has_complex, decoupled_weight_decay, amsgrad, beta1, beta2, lr, weight_decay, eps, maximize)\u001b[0m\n\u001b[1;32m 968\u001b[0m \u001b[0mfunc\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_single_tensor_adam\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 969\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 970\u001b[0;31m func(\n\u001b[0m\u001b[1;32m 971\u001b[0m \u001b[0mparams\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 972\u001b[0m \u001b[0mgrads\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/usr/local/lib/python3.12/dist-packages/torch/optim/adam.py\u001b[0m in \u001b[0;36m_multi_tensor_adam\u001b[0;34m(params, grads, exp_avgs, exp_avg_sqs, max_exp_avg_sqs, state_steps, grad_scale, found_inf, amsgrad, has_complex, beta1, beta2, lr, weight_decay, eps, maximize, capturable, differentiable, decoupled_weight_decay)\u001b[0m\n\u001b[1;32m 793\u001b[0m \u001b[0mtorch\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_foreach_div_\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mexp_avg_sq_sqrt\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbias_correction2_sqrt\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 794\u001b[0m \u001b[0mtorch\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_foreach_add_\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mexp_avg_sq_sqrt\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0meps\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 795\u001b[0;31m torch._foreach_addcdiv_(\n\u001b[0m\u001b[1;32m 796\u001b[0m \u001b[0mdevice_params\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 797\u001b[0m \u001b[0mdevice_exp_avgs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;31mKeyboardInterrupt\u001b[0m: "]}]},{"cell_type":"code","source":["model.eval()\n","val_accuracy = 0\n","val_samples = 0\n","\n","with torch.no_grad():\n"," for data, target in val_loader:\n"," data, target = data.to(DEVICE), target.to(DEVICE)\n"," output = model(data)\n"," _, pred = torch.max(output, dim=1)\n"," val_accuracy += (pred == target).sum().item()\n"," val_samples += target.size(0)\n","\n","final_val_acc = (val_accuracy / val_samples) * 100\n","print(f\"Validation Accuracy: {final_val_acc:.2f}%\")"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1779547190573,"user_tz":-420,"elapsed":2068,"user":{"displayName":"Cici rizky plk","userId":"03714270658772765776"}},"outputId":"ba995bcc-8920-4193-8148-71858900935e","id":"2aBHIEIwOqr7"},"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["Validation Accuracy: 99.02%\n"]}]},{"cell_type":"code","source":["import os\n","import torch\n","\n","torch.save(model.state_dict(), MODEL_SAVE_PATH)\n","\n","real_size = os.path.getsize(MODEL_SAVE_PATH) / (1024 * 1024)\n","\n","print(\"\\nâš¡ MODEL SAVED!\")"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"T2i4GiNnSkUQ","executionInfo":{"status":"ok","timestamp":1779547394485,"user_tz":-420,"elapsed":91,"user":{"displayName":"Cici rizky plk","userId":"03714270658772765776"}},"outputId":"81c02f74-ff12-43f9-f22b-e48869f89440"},"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["\n","âš¡ MODEL SAVED!\n"]}]},{"cell_type":"code","source":["\n","# ========================================================\n","# LOOKTHEM V8 - STABILIZED GRADIENTS VERSION\n","# ============================================================\n","\n","import os\n","import io\n","import math\n","from PIL import Image\n","import torch\n","import torch.nn as nn\n","import torch.nn.functional as F\n","import torch.optim as optim\n","from torch.utils.data import Dataset, DataLoader\n","import torchvision.transforms as transforms\n","from torchvision import datasets\n","\n","DEVICE = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n","BATCH_SIZE_TRAIN = 256\n","BATCH_SIZE_VAL = 256\n","EPOCHS = 60\n","LR = 1e-3\n","WEIGHT_DECAY = 1e-4\n","MODEL_SAVE_PATH = \"LookThem_V8_MNIST.pth\"\n","\n","# --- TRANSFORMS WITH DATA AUGMENTATION ---\n","transform_train = transforms.Compose([\n"," transforms.RandomRotation(15),\n"," transforms.RandomAffine(0, translate=(0.1, 0.1), scale=(0.9, 1.1)),\n"," transforms.ToTensor(),\n"," transforms.Normalize((0.1307,), (0.3081,)),\n"," transforms.RandomErasing(p=0.2, scale=(0.02, 0.1))\n","])\n","\n","transform_val = transforms.Compose([\n"," transforms.ToTensor(),\n"," transforms.Normalize((0.1307,), (0.3081,))\n","])\n","\n","# --- DATASET LOADER ---\n","\n","train = datasets.MNIST(download=True, root=\"./data\", train=True, transform=transform_train)\n","val = datasets.MNIST(root=\"./data\", train=False, transform=transform_val)\n","\n","train_loader = DataLoader(train, batch_size=BATCH_SIZE_TRAIN, shuffle=True, num_workers=2, pin_memory=True)\n","val_loader = DataLoader(val, batch_size=BATCH_SIZE_VAL, shuffle=False, num_workers=2, pin_memory=True)\n","\n","# --- STABILIZED LOOKTHEM LAYER ---\n","class LookThemLayer(nn.Module):\n"," def __init__(self, num_tokens, in_features, hidden_dim):\n"," super().__init__()\n"," self.num_tokens = num_tokens\n"," self.mod1_w1 = nn.Parameter(torch.randn(num_tokens, in_features, hidden_dim))\n"," self.mod1_b1 = nn.Parameter(torch.zeros(num_tokens, hidden_dim))\n"," self.mod1_w2 = nn.Parameter(torch.randn(num_tokens, hidden_dim, 1))\n"," self.mod1_b2 = nn.Parameter(torch.zeros(num_tokens, 1))\n"," self.mod2_w1 = nn.Parameter(torch.randn(num_tokens, in_features, hidden_dim))\n"," self.mod2_b1 = nn.Parameter(torch.zeros(num_tokens, hidden_dim))\n"," self.mod2_w2 = nn.Parameter(torch.randn(num_tokens, hidden_dim, 1))\n"," self.mod2_b2 = nn.Parameter(torch.zeros(num_tokens, 1))\n"," self.trans_w = nn.Parameter(torch.randn(num_tokens, 1, 1))\n"," self.trans_b = nn.Parameter(torch.zeros(num_tokens, 1))\n"," self._init_weights()\n","\n"," def _init_weights(self):\n"," for w in [self.mod1_w1, self.mod2_w1, self.mod1_w2, self.mod2_w2]:\n"," nn.init.xavier_uniform_(w)\n","\n"," def forward(self, x):\n"," N = self.num_tokens\n"," h1 = torch.einsum(\"bti,tij->btj\", x, self.mod1_w1) + self.mod1_b1\n"," out_m1 = torch.einsum(\"btj,tjk->btk\", F.gelu(h1), self.mod1_w2) + self.mod1_b2\n"," h2 = torch.einsum(\"bti,tij->btj\", x, self.mod2_w1) + self.mod2_b1\n"," out_m2 = torch.einsum(\"btj,tjk->btk\", F.gelu(h2), self.mod2_w2) + self.mod2_b2\n","\n"," out_m2_safe = torch.sign(out_m2) * torch.clamp(torch.abs(out_m2), min=1e-6)\n"," compare = torch.tanh(out_m1.unsqueeze(2) / out_m2_safe.unsqueeze(1))\n"," compare2 = torch.tanh(out_m1.unsqueeze(1) / out_m2_safe.unsqueeze(2))\n","\n"," trans_compare = torch.einsum(\"bije,jef->bijf\", compare, self.trans_w) + self.trans_b.view(1, 1, N, 1)\n"," trans_compare2 = torch.einsum(\"bije,jef->bijf\", compare2, self.trans_w) + self.trans_b.view(1, 1, N, 1)\n","\n"," interaksi = (trans_compare * x.unsqueeze(2) + trans_compare2 * x.unsqueeze(1)) / 2\n"," mask = (1.0 - torch.eye(N, device=x.device)).view(1, N, N, 1)\n"," return (interaksi * mask).sum(dim=2) / (N - 1.0)\n","\n","class LiteResidualBlock(nn.Module):\n"," def __init__(self, dim, dropout=0.05):\n"," super().__init__()\n"," self.block = nn.Sequential(nn.Linear(dim, dim), nn.GELU(), nn.Dropout(dropout), nn.Linear(dim, dim))\n"," self.norm = nn.LayerNorm(dim)\n"," def forward(self, x):\n"," return self.norm(x + self.block(x))\n","\n","class LookThemV8MNIST(nn.Module):\n"," def __init__(self):\n"," super().__init__()\n"," self.stream_a = nn.Sequential(\n"," nn.Conv2d(1, 4, 3, 2, 1),\n"," nn.BatchNorm2d(4), nn.GELU(),\n"," nn.Conv2d(4, 8, 3, 2, 1),\n"," nn.BatchNorm2d(8), nn.GELU(),\n"," nn.AdaptiveMaxPool2d((8, 8)))\n"," self.stream_b = nn.Sequential(\n"," nn.Conv2d(1, 4, 3, 1, 1),\n"," nn.BatchNorm2d(4), nn.GELU(),\n"," nn.Conv2d(4, 8, 3, 1, 1),\n"," nn.BatchNorm2d(8), nn.GELU(),\n"," nn.AdaptiveMaxPool2d((8, 8)))\n","\n"," self.lookthemA = LookThemLayer(64, 8, 32)\n"," self.lookthemB = LookThemLayer(64, 8, 32)\n"," self.lookthem_comb = LookThemLayer(64, 16, 32)\n"," self.comb_norm = nn.LayerNorm(16)\n","\n"," self.FFN1 = nn.Conv1d(16, 8, 1)\n"," self.lookthem2 = LookThemLayer(64, 8, 32)\n"," self.FFN2 = nn.Conv1d(8, 8, 1)\n","\n"," self.compressor = nn.Conv1d(8, 4, 1)\n"," self.input_proj = nn.Linear(64 * 4, 128)\n"," self.res_blocks = nn.Sequential(LiteResidualBlock(128), LiteResidualBlock(128))\n"," self.head = nn.Sequential(nn.Linear(128, 128), nn.GELU(), nn.Linear(128, 10))\n","\n"," def forward(self, x):\n"," b = x.size(0)\n"," fa = self.lookthemA(self.stream_a(x).view(b, 8, 64).transpose(1, 2))\n"," fb = self.lookthemB(self.stream_b(x).view(b, 8, 64).transpose(1, 2))\n"," x = self.comb_norm(self.lookthem_comb(torch.cat([fa, fb], dim=2)))\n"," x = x.transpose(1, 2)\n"," x = self.FFN1(x).transpose(1, 2)\n"," res = x\n"," x = self.lookthem2(x).transpose(1, 2)\n"," x = self.FFN2(x) + res.transpose(1, 2)\n"," x = self.compressor(x).flatten(1)\n"," x = self.res_blocks(self.input_proj(x))\n"," return self.head(x)\n","\n","model = LookThemV8MNIST().to(DEVICE)\n","optimizer = optim.AdamW(model.parameters(), lr=LR, weight_decay=WEIGHT_DECAY)\n","criterion = nn.CrossEntropyLoss()\n","scheduler = optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max=EPOCHS)\n","\n","print(f\"Model initialized. Total params: {sum(p.numel() for p in model.parameters()):,}\")\n","\n","for epoch in range(EPOCHS):\n"," model.train()\n"," accuracy = 0\n"," samples = 0\n"," for step, (data, target) in enumerate(train_loader):\n"," data, target = data.to(DEVICE), target.to(DEVICE)\n"," optimizer.zero_grad()\n"," output = model(data)\n"," loss = criterion(output, target)\n"," loss.backward()\n"," torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0)\n"," optimizer.step()\n"," _, pred = torch.max(output, dim=1)\n"," accuracy += (pred == target).sum().item()\n"," samples += target.size(0)\n","\n"," if (step+1) % 50 == 0:\n"," grads = [p.grad.abs().mean().item() for p in model.parameters() if p.grad is not None]\n"," avg_grad = sum(grads)/len(grads) if grads else 0\n"," print(f\"Ep {epoch+1} | Step {step+1} | Loss {loss.item():.4f} | Grad {avg_grad:.8f} | Accuracy: {accuracy / samples * 100:.2f}%\")\n"," scheduler.step()\n","\n","import os\n","import torch\n","\n","torch.save(model.state_dict(), MODEL_SAVE_PATH)\n","real_size = os.path.getsize(MODEL_SAVE_PATH) / (1024 * 1024)\n","print(\"\\n☑ MODEL SAVED!\")"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1779549375458,"user_tz":-420,"elapsed":1466438,"user":{"displayName":"Cici rizky plk","userId":"03714270658772765776"}},"outputId":"db9c06c1-211c-4b7e-b569-0cb204143f01","id":"V4GKG4-UTOvA"},"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["Model initialized. Total params: 315,886\n","Ep 1 | Step 50 | Loss 1.3194 | Grad 0.00290543 | Accuracy: 31.48%\n","Ep 1 | Step 100 | Loss 0.9210 | Grad 0.00340503 | Accuracy: 45.51%\n","Ep 1 | Step 150 | Loss 1.4542 | Grad 0.00273344 | Accuracy: 52.21%\n","Ep 1 | Step 200 | Loss 1.8757 | Grad 0.00264486 | Accuracy: 52.84%\n","Ep 2 | Step 50 | Loss 0.6255 | Grad 0.00464222 | Accuracy: 75.90%\n","Ep 2 | Step 100 | Loss 0.5279 | Grad 0.00535331 | Accuracy: 78.93%\n","Ep 2 | Step 150 | Loss 0.3897 | Grad 0.00440096 | Accuracy: 81.16%\n","Ep 2 | Step 200 | Loss 0.3384 | Grad 0.00530345 | Accuracy: 82.77%\n","Ep 3 | Step 50 | Loss 0.3787 | Grad 0.00600722 | Accuracy: 88.82%\n","Ep 3 | Step 100 | Loss 0.4184 | Grad 0.00483169 | Accuracy: 89.63%\n","Ep 3 | Step 150 | Loss 0.3643 | Grad 0.00477780 | Accuracy: 86.06%\n","Ep 3 | Step 200 | Loss 0.2853 | Grad 0.00473024 | Accuracy: 87.04%\n","Ep 4 | Step 50 | Loss 0.2105 | Grad 0.00541501 | Accuracy: 92.34%\n","Ep 4 | Step 100 | Loss 0.2304 | Grad 0.00580721 | Accuracy: 92.74%\n","Ep 4 | Step 150 | Loss 0.1500 | Grad 0.00539392 | Accuracy: 92.97%\n","Ep 4 | Step 200 | Loss 0.3152 | Grad 0.00526982 | Accuracy: 93.25%\n","Ep 5 | Step 50 | Loss 0.6466 | Grad 0.00435621 | Accuracy: 69.45%\n","Ep 5 | Step 100 | Loss 0.4570 | Grad 0.00548968 | Accuracy: 78.95%\n","Ep 5 | Step 150 | Loss 0.2576 | Grad 0.00436476 | Accuracy: 83.23%\n","Ep 5 | Step 200 | Loss 0.2511 | Grad 0.00525981 | Accuracy: 85.69%\n","Ep 6 | Step 50 | Loss 0.1326 | Grad 0.00529464 | Accuracy: 93.82%\n","Ep 6 | Step 100 | Loss 0.1660 | Grad 0.00667445 | Accuracy: 94.03%\n","Ep 6 | Step 150 | Loss 0.1138 | Grad 0.00495107 | Accuracy: 94.05%\n","Ep 6 | Step 200 | Loss 0.1513 | Grad 0.00620590 | Accuracy: 94.17%\n","Ep 7 | Step 50 | Loss 0.1094 | Grad 0.00476728 | Accuracy: 95.19%\n","Ep 7 | Step 100 | Loss 0.1007 | Grad 0.00386712 | Accuracy: 95.15%\n","Ep 7 | Step 150 | Loss 0.1056 | Grad 0.00509291 | Accuracy: 95.16%\n","Ep 7 | Step 200 | Loss 0.1453 | Grad 0.00474243 | Accuracy: 95.20%\n","Ep 8 | Step 50 | Loss 0.1633 | Grad 0.00494339 | Accuracy: 95.63%\n","Ep 8 | Step 100 | Loss 0.1280 | Grad 0.00523377 | Accuracy: 95.93%\n","Ep 8 | Step 150 | Loss 0.1499 | Grad 0.00612020 | Accuracy: 95.96%\n","Ep 8 | Step 200 | Loss 0.0899 | Grad 0.00487617 | Accuracy: 95.98%\n","Ep 9 | Step 50 | Loss 0.0866 | Grad 0.00411869 | Accuracy: 96.44%\n","Ep 9 | Step 100 | Loss 0.0838 | Grad 0.00600120 | Accuracy: 96.33%\n","Ep 9 | Step 150 | Loss 0.0550 | Grad 0.00349791 | Accuracy: 96.25%\n","Ep 9 | Step 200 | Loss 0.0490 | Grad 0.00486985 | Accuracy: 96.29%\n","Ep 10 | Step 50 | Loss 0.0980 | Grad 0.00392100 | Accuracy: 96.40%\n","Ep 10 | Step 100 | Loss 0.1036 | Grad 0.00537628 | Accuracy: 96.39%\n","Ep 10 | Step 150 | Loss 0.0813 | Grad 0.00474212 | Accuracy: 96.51%\n","Ep 10 | Step 200 | Loss 0.0597 | Grad 0.00478967 | Accuracy: 96.55%\n","Ep 11 | Step 50 | Loss 0.0769 | Grad 0.00473055 | Accuracy: 96.77%\n","Ep 11 | Step 100 | Loss 0.0692 | Grad 0.00406954 | Accuracy: 96.83%\n","Ep 11 | Step 150 | Loss 0.1001 | Grad 0.00424379 | Accuracy: 96.85%\n","Ep 11 | Step 200 | Loss 0.1186 | Grad 0.00356886 | Accuracy: 96.95%\n","Ep 12 | Step 50 | Loss 0.1592 | Grad 0.00576422 | Accuracy: 96.91%\n","Ep 12 | Step 100 | Loss 0.0675 | Grad 0.00496972 | Accuracy: 96.89%\n","Ep 12 | Step 150 | Loss 0.0527 | Grad 0.00545479 | Accuracy: 97.02%\n","Ep 12 | Step 200 | Loss 0.0506 | Grad 0.00581419 | Accuracy: 97.03%\n","Ep 13 | Step 50 | Loss 0.0728 | Grad 0.00530344 | Accuracy: 97.26%\n","Ep 13 | Step 100 | Loss 0.0602 | Grad 0.00288151 | Accuracy: 97.25%\n","Ep 13 | Step 150 | Loss 0.0875 | Grad 0.00474089 | Accuracy: 97.23%\n","Ep 13 | Step 200 | Loss 0.0842 | Grad 0.00506734 | Accuracy: 97.23%\n","Ep 14 | Step 50 | Loss 0.1837 | Grad 0.00537811 | Accuracy: 82.45%\n","Ep 14 | Step 100 | Loss 0.4454 | Grad 0.00644378 | Accuracy: 73.51%\n","Ep 14 | Step 150 | Loss 0.2089 | Grad 0.00563119 | Accuracy: 79.80%\n","Ep 14 | Step 200 | Loss 0.2207 | Grad 0.00553067 | Accuracy: 83.39%\n","Ep 15 | Step 50 | Loss 0.1271 | Grad 0.00510206 | Accuracy: 95.55%\n","Ep 15 | Step 100 | Loss 0.1241 | Grad 0.00456055 | Accuracy: 95.51%\n","Ep 15 | Step 150 | Loss 0.1341 | Grad 0.00519107 | Accuracy: 95.58%\n","Ep 15 | Step 200 | Loss 0.1298 | Grad 0.00660388 | Accuracy: 95.59%\n","Ep 16 | Step 50 | Loss 0.0736 | Grad 0.00432147 | Accuracy: 96.15%\n","Ep 16 | Step 100 | Loss 0.0982 | Grad 0.00481081 | Accuracy: 96.20%\n","Ep 16 | Step 150 | Loss 0.1038 | Grad 0.00477028 | Accuracy: 96.36%\n","Ep 16 | Step 200 | Loss 0.0530 | Grad 0.00502146 | Accuracy: 96.37%\n","Ep 17 | Step 50 | Loss 0.0459 | Grad 0.00297155 | Accuracy: 97.02%\n","Ep 17 | Step 100 | Loss 0.0935 | Grad 0.00494298 | Accuracy: 96.93%\n","Ep 17 | Step 150 | Loss 0.1142 | Grad 0.00454895 | Accuracy: 96.96%\n","Ep 17 | Step 200 | Loss 0.0695 | Grad 0.00374889 | Accuracy: 96.88%\n","Ep 18 | Step 50 | Loss 0.0555 | Grad 0.00481768 | Accuracy: 97.16%\n","Ep 18 | Step 100 | Loss 0.1378 | Grad 0.00509984 | Accuracy: 97.13%\n","Ep 18 | Step 150 | Loss 0.1365 | Grad 0.00601948 | Accuracy: 97.19%\n","Ep 18 | Step 200 | Loss 0.1292 | Grad 0.00591829 | Accuracy: 97.19%\n","Ep 19 | Step 50 | Loss 0.0583 | Grad 0.00528807 | Accuracy: 97.40%\n","Ep 19 | Step 100 | Loss 0.0589 | Grad 0.00337664 | Accuracy: 97.37%\n","Ep 19 | Step 150 | Loss 0.1203 | Grad 0.00683576 | Accuracy: 97.36%\n","Ep 19 | Step 200 | Loss 0.0545 | Grad 0.00348670 | Accuracy: 97.35%\n","Ep 20 | Step 50 | Loss 0.0588 | Grad 0.00560441 | Accuracy: 97.62%\n","Ep 20 | Step 100 | Loss 0.0750 | Grad 0.00602411 | Accuracy: 97.45%\n","Ep 20 | Step 150 | Loss 0.0759 | Grad 0.00496269 | Accuracy: 97.36%\n","Ep 20 | Step 200 | Loss 0.1000 | Grad 0.00666986 | Accuracy: 97.39%\n","Ep 21 | Step 50 | Loss 0.0743 | Grad 0.00505790 | Accuracy: 97.71%\n","Ep 21 | Step 100 | Loss 0.0596 | Grad 0.00348003 | Accuracy: 97.72%\n","Ep 21 | Step 150 | Loss 0.0746 | Grad 0.00507096 | Accuracy: 97.71%\n","Ep 21 | Step 200 | Loss 0.0511 | Grad 0.00345535 | Accuracy: 97.71%\n","Ep 22 | Step 50 | Loss 0.0874 | Grad 0.00512797 | Accuracy: 97.70%\n","Ep 22 | Step 100 | Loss 0.0863 | Grad 0.00476829 | Accuracy: 97.68%\n","Ep 22 | Step 150 | Loss 0.0614 | Grad 0.00592794 | Accuracy: 97.68%\n","Ep 22 | Step 200 | Loss 0.0988 | Grad 0.00579199 | Accuracy: 97.63%\n","Ep 23 | Step 50 | Loss 0.1028 | Grad 0.00532779 | Accuracy: 98.01%\n","Ep 23 | Step 100 | Loss 0.0362 | Grad 0.00339499 | Accuracy: 97.81%\n","Ep 23 | Step 150 | Loss 0.0366 | Grad 0.00377111 | Accuracy: 97.84%\n","Ep 23 | Step 200 | Loss 0.0777 | Grad 0.00313401 | Accuracy: 97.81%\n","Ep 24 | Step 50 | Loss 0.0728 | Grad 0.00409380 | Accuracy: 98.08%\n","Ep 24 | Step 100 | Loss 0.0635 | Grad 0.00359536 | Accuracy: 97.91%\n","Ep 24 | Step 150 | Loss 0.0627 | Grad 0.00506733 | Accuracy: 97.80%\n","Ep 24 | Step 200 | Loss 0.0570 | Grad 0.00435351 | Accuracy: 97.81%\n","Ep 25 | Step 50 | Loss 0.0735 | Grad 0.00374185 | Accuracy: 97.85%\n","Ep 25 | Step 100 | Loss 0.0672 | Grad 0.00396134 | Accuracy: 97.79%\n","Ep 25 | Step 150 | Loss 0.0440 | Grad 0.00446674 | Accuracy: 97.77%\n","Ep 25 | Step 200 | Loss 0.0511 | Grad 0.00487217 | Accuracy: 97.83%\n","Ep 26 | Step 50 | Loss 0.0943 | Grad 0.00688364 | Accuracy: 98.10%\n","Ep 26 | Step 100 | Loss 0.0713 | Grad 0.00468041 | Accuracy: 98.07%\n","Ep 26 | Step 150 | Loss 0.0701 | Grad 0.00622597 | Accuracy: 98.01%\n","Ep 26 | Step 200 | Loss 0.0501 | Grad 0.00314015 | Accuracy: 98.02%\n","Ep 27 | Step 50 | Loss 0.0406 | Grad 0.00388552 | Accuracy: 98.03%\n","Ep 27 | Step 100 | Loss 0.0622 | Grad 0.00392707 | Accuracy: 98.09%\n","Ep 27 | Step 150 | Loss 0.0474 | Grad 0.00323617 | Accuracy: 98.10%\n","Ep 27 | Step 200 | Loss 0.0679 | Grad 0.00457498 | Accuracy: 98.10%\n","Ep 28 | Step 50 | Loss 0.0571 | Grad 0.00587667 | Accuracy: 98.09%\n","Ep 28 | Step 100 | Loss 0.0254 | Grad 0.00281502 | Accuracy: 98.14%\n","Ep 28 | Step 150 | Loss 0.0596 | Grad 0.00443339 | Accuracy: 98.16%\n","Ep 28 | Step 200 | Loss 0.0607 | Grad 0.00542266 | Accuracy: 98.12%\n","Ep 29 | Step 50 | Loss 0.0882 | Grad 0.00574568 | Accuracy: 98.12%\n","Ep 29 | Step 100 | Loss 0.1053 | Grad 0.00616043 | Accuracy: 98.15%\n","Ep 29 | Step 150 | Loss 0.0614 | Grad 0.00423705 | Accuracy: 98.07%\n","Ep 29 | Step 200 | Loss 0.0618 | Grad 0.00506884 | Accuracy: 98.10%\n","Ep 30 | Step 50 | Loss 0.0318 | Grad 0.00199885 | Accuracy: 98.30%\n","Ep 30 | Step 100 | Loss 0.0572 | Grad 0.00401111 | Accuracy: 98.03%\n","Ep 30 | Step 150 | Loss 0.0683 | Grad 0.00570026 | Accuracy: 98.09%\n","Ep 30 | Step 200 | Loss 0.0706 | Grad 0.00455182 | Accuracy: 98.15%\n","Ep 31 | Step 50 | Loss 0.0991 | Grad 0.00626927 | Accuracy: 98.43%\n","Ep 31 | Step 100 | Loss 0.0545 | Grad 0.00423982 | Accuracy: 98.38%\n","Ep 31 | Step 150 | Loss 0.0612 | Grad 0.00468650 | Accuracy: 98.29%\n","Ep 31 | Step 200 | Loss 0.0518 | Grad 0.00427394 | Accuracy: 98.26%\n","Ep 32 | Step 50 | Loss 0.0267 | Grad 0.00399714 | Accuracy: 98.27%\n","Ep 32 | Step 100 | Loss 0.0498 | Grad 0.00405499 | Accuracy: 98.32%\n","Ep 32 | Step 150 | Loss 0.0561 | Grad 0.00608313 | Accuracy: 98.29%\n","Ep 32 | Step 200 | Loss 0.0524 | Grad 0.00274632 | Accuracy: 98.26%\n","Ep 33 | Step 50 | Loss 0.1008 | Grad 0.00527618 | Accuracy: 98.05%\n","Ep 33 | Step 100 | Loss 0.0786 | Grad 0.00518404 | Accuracy: 98.25%\n","Ep 33 | Step 150 | Loss 0.0464 | Grad 0.00309451 | Accuracy: 98.21%\n","Ep 33 | Step 200 | Loss 0.1021 | Grad 0.00557287 | Accuracy: 98.28%\n","Ep 34 | Step 50 | Loss 0.0514 | Grad 0.00465672 | Accuracy: 98.45%\n","Ep 34 | Step 100 | Loss 0.0513 | Grad 0.00338020 | Accuracy: 98.37%\n","Ep 34 | Step 150 | Loss 0.0974 | Grad 0.00564239 | Accuracy: 98.36%\n","Ep 34 | Step 200 | Loss 0.0417 | Grad 0.00458387 | Accuracy: 98.33%\n","Ep 35 | Step 50 | Loss 0.0693 | Grad 0.00436581 | Accuracy: 98.57%\n","Ep 35 | Step 100 | Loss 0.0504 | Grad 0.00388563 | Accuracy: 98.43%\n","Ep 35 | Step 150 | Loss 0.0961 | Grad 0.00647021 | Accuracy: 98.40%\n","Ep 35 | Step 200 | Loss 0.0327 | Grad 0.00434809 | Accuracy: 98.41%\n","Ep 36 | Step 50 | Loss 0.0420 | Grad 0.00400902 | Accuracy: 98.24%\n","Ep 36 | Step 100 | Loss 0.0682 | Grad 0.00543356 | Accuracy: 98.32%\n","Ep 36 | Step 150 | Loss 0.0642 | Grad 0.00450312 | Accuracy: 98.37%\n","Ep 36 | Step 200 | Loss 0.1012 | Grad 0.00417542 | Accuracy: 98.38%\n","Ep 37 | Step 50 | Loss 0.0242 | Grad 0.00275529 | Accuracy: 98.40%\n","Ep 37 | Step 100 | Loss 0.0200 | Grad 0.00341203 | Accuracy: 98.44%\n","Ep 37 | Step 150 | Loss 0.0199 | Grad 0.00356216 | Accuracy: 98.45%\n","Ep 37 | Step 200 | Loss 0.0824 | Grad 0.00494825 | Accuracy: 98.42%\n","Ep 38 | Step 50 | Loss 0.0420 | Grad 0.00367004 | Accuracy: 98.55%\n","Ep 38 | Step 100 | Loss 0.1105 | Grad 0.00631780 | Accuracy: 98.46%\n","Ep 38 | Step 150 | Loss 0.0446 | Grad 0.00322458 | Accuracy: 98.45%\n","Ep 38 | Step 200 | Loss 0.0837 | Grad 0.00493391 | Accuracy: 98.46%\n","Ep 39 | Step 50 | Loss 0.0294 | Grad 0.00261272 | Accuracy: 98.57%\n","Ep 39 | Step 100 | Loss 0.0146 | Grad 0.00228285 | Accuracy: 98.54%\n","Ep 39 | Step 150 | Loss 0.0405 | Grad 0.00281205 | Accuracy: 98.48%\n","Ep 39 | Step 200 | Loss 0.0468 | Grad 0.00498340 | Accuracy: 98.52%\n","Ep 40 | Step 50 | Loss 0.0397 | Grad 0.00269698 | Accuracy: 98.51%\n","Ep 40 | Step 100 | Loss 0.0281 | Grad 0.00324963 | Accuracy: 98.47%\n","Ep 40 | Step 150 | Loss 0.0493 | Grad 0.00186929 | Accuracy: 98.49%\n","Ep 40 | Step 200 | Loss 0.0426 | Grad 0.00316624 | Accuracy: 98.51%\n","Ep 41 | Step 50 | Loss 0.0623 | Grad 0.00471546 | Accuracy: 98.66%\n","Ep 41 | Step 100 | Loss 0.0570 | Grad 0.00423596 | Accuracy: 98.63%\n","Ep 41 | Step 150 | Loss 0.0386 | Grad 0.00442347 | Accuracy: 98.71%\n","Ep 41 | Step 200 | Loss 0.0184 | Grad 0.00282765 | Accuracy: 98.65%\n","Ep 42 | Step 50 | Loss 0.0399 | Grad 0.00271213 | Accuracy: 98.72%\n","Ep 42 | Step 100 | Loss 0.0510 | Grad 0.00401203 | Accuracy: 98.58%\n","Ep 42 | Step 150 | Loss 0.0135 | Grad 0.00211574 | Accuracy: 98.59%\n","Ep 42 | Step 200 | Loss 0.0446 | Grad 0.00350622 | Accuracy: 98.59%\n","Ep 43 | Step 50 | Loss 0.0457 | Grad 0.00327239 | Accuracy: 98.55%\n","Ep 43 | Step 100 | Loss 0.0346 | Grad 0.00388376 | Accuracy: 98.57%\n","Ep 43 | Step 150 | Loss 0.0294 | Grad 0.00264650 | Accuracy: 98.55%\n","Ep 43 | Step 200 | Loss 0.0263 | Grad 0.00309528 | Accuracy: 98.60%\n","Ep 44 | Step 50 | Loss 0.0462 | Grad 0.00501351 | Accuracy: 98.53%\n","Ep 44 | Step 100 | Loss 0.0230 | Grad 0.00330679 | Accuracy: 98.61%\n","Ep 44 | Step 150 | Loss 0.0646 | Grad 0.00541677 | Accuracy: 98.61%\n","Ep 44 | Step 200 | Loss 0.0237 | Grad 0.00252844 | Accuracy: 98.61%\n","Ep 45 | Step 50 | Loss 0.0458 | Grad 0.00445048 | Accuracy: 98.74%\n","Ep 45 | Step 100 | Loss 0.0266 | Grad 0.00380789 | Accuracy: 98.72%\n","Ep 45 | Step 150 | Loss 0.0506 | Grad 0.00376833 | Accuracy: 98.63%\n","Ep 45 | Step 200 | Loss 0.0895 | Grad 0.00622472 | Accuracy: 98.62%\n","Ep 46 | Step 50 | Loss 0.0875 | Grad 0.00563080 | Accuracy: 98.65%\n","Ep 46 | Step 100 | Loss 0.0510 | Grad 0.00481672 | Accuracy: 98.68%\n","Ep 46 | Step 150 | Loss 0.1109 | Grad 0.00348855 | Accuracy: 98.76%\n","Ep 46 | Step 200 | Loss 0.0386 | Grad 0.00448976 | Accuracy: 98.73%\n","Ep 47 | Step 50 | Loss 0.0740 | Grad 0.00670589 | Accuracy: 98.69%\n","Ep 47 | Step 100 | Loss 0.0269 | Grad 0.00277945 | Accuracy: 98.78%\n","Ep 47 | Step 150 | Loss 0.0691 | Grad 0.00342519 | Accuracy: 98.72%\n","Ep 47 | Step 200 | Loss 0.0390 | Grad 0.00543089 | Accuracy: 98.69%\n","Ep 48 | Step 50 | Loss 0.0437 | Grad 0.00305251 | Accuracy: 98.81%\n","Ep 48 | Step 100 | Loss 0.0350 | Grad 0.00206887 | Accuracy: 98.72%\n","Ep 48 | Step 150 | Loss 0.0463 | Grad 0.00445135 | Accuracy: 98.77%\n","Ep 48 | Step 200 | Loss 0.0296 | Grad 0.00341047 | Accuracy: 98.77%\n","Ep 49 | Step 50 | Loss 0.0255 | Grad 0.00245031 | Accuracy: 98.88%\n","Ep 49 | Step 100 | Loss 0.0312 | Grad 0.00415377 | Accuracy: 98.82%\n","Ep 49 | Step 150 | Loss 0.0283 | Grad 0.00342966 | Accuracy: 98.78%\n","Ep 49 | Step 200 | Loss 0.0776 | Grad 0.00494708 | Accuracy: 98.79%\n","Ep 50 | Step 50 | Loss 0.0547 | Grad 0.00682267 | Accuracy: 98.70%\n","Ep 50 | Step 100 | Loss 0.0256 | Grad 0.00292421 | Accuracy: 98.75%\n","Ep 50 | Step 150 | Loss 0.0460 | Grad 0.00333520 | Accuracy: 98.74%\n","Ep 50 | Step 200 | Loss 0.0536 | Grad 0.00417378 | Accuracy: 98.72%\n","Ep 51 | Step 50 | Loss 0.0414 | Grad 0.00464159 | Accuracy: 98.71%\n","Ep 51 | Step 100 | Loss 0.0570 | Grad 0.00587626 | Accuracy: 98.70%\n","Ep 51 | Step 150 | Loss 0.0307 | Grad 0.00350036 | Accuracy: 98.72%\n","Ep 51 | Step 200 | Loss 0.0255 | Grad 0.00217853 | Accuracy: 98.77%\n","Ep 52 | Step 50 | Loss 0.0413 | Grad 0.00369969 | Accuracy: 98.87%\n","Ep 52 | Step 100 | Loss 0.0333 | Grad 0.00389960 | Accuracy: 98.80%\n","Ep 52 | Step 150 | Loss 0.0257 | Grad 0.00223379 | Accuracy: 98.78%\n","Ep 52 | Step 200 | Loss 0.0495 | Grad 0.00358256 | Accuracy: 98.79%\n","Ep 53 | Step 50 | Loss 0.0587 | Grad 0.00175283 | Accuracy: 98.85%\n","Ep 53 | Step 100 | Loss 0.0190 | Grad 0.00160056 | Accuracy: 98.87%\n","Ep 53 | Step 150 | Loss 0.0404 | Grad 0.00391315 | Accuracy: 98.81%\n","Ep 53 | Step 200 | Loss 0.0383 | Grad 0.00355775 | Accuracy: 98.83%\n","Ep 54 | Step 50 | Loss 0.0275 | Grad 0.00232484 | Accuracy: 98.72%\n","Ep 54 | Step 100 | Loss 0.0389 | Grad 0.00342365 | Accuracy: 98.79%\n","Ep 54 | Step 150 | Loss 0.0739 | Grad 0.00489055 | Accuracy: 98.79%\n","Ep 54 | Step 200 | Loss 0.0467 | Grad 0.00345019 | Accuracy: 98.80%\n","Ep 55 | Step 50 | Loss 0.0248 | Grad 0.00258310 | Accuracy: 98.76%\n","Ep 55 | Step 100 | Loss 0.0206 | Grad 0.00275468 | Accuracy: 98.82%\n","Ep 55 | Step 150 | Loss 0.0589 | Grad 0.00347207 | Accuracy: 98.87%\n","Ep 55 | Step 200 | Loss 0.0406 | Grad 0.00395471 | Accuracy: 98.83%\n","Ep 56 | Step 50 | Loss 0.0334 | Grad 0.00612449 | Accuracy: 98.99%\n","Ep 56 | Step 100 | Loss 0.0244 | Grad 0.00428561 | Accuracy: 98.98%\n","Ep 56 | Step 150 | Loss 0.0171 | Grad 0.00239794 | Accuracy: 98.95%\n","Ep 56 | Step 200 | Loss 0.0311 | Grad 0.00450284 | Accuracy: 98.88%\n","Ep 57 | Step 50 | Loss 0.0285 | Grad 0.00337328 | Accuracy: 98.80%\n","Ep 57 | Step 100 | Loss 0.0296 | Grad 0.00323469 | Accuracy: 98.75%\n","Ep 57 | Step 150 | Loss 0.0296 | Grad 0.00413007 | Accuracy: 98.77%\n","Ep 57 | Step 200 | Loss 0.0602 | Grad 0.00482553 | Accuracy: 98.78%\n","Ep 58 | Step 50 | Loss 0.0575 | Grad 0.00452990 | Accuracy: 98.89%\n","Ep 58 | Step 100 | Loss 0.0270 | Grad 0.00264144 | Accuracy: 98.82%\n","Ep 58 | Step 150 | Loss 0.0348 | Grad 0.00292623 | Accuracy: 98.82%\n","Ep 58 | Step 200 | Loss 0.0205 | Grad 0.00438155 | Accuracy: 98.80%\n","Ep 59 | Step 50 | Loss 0.0352 | Grad 0.00316172 | Accuracy: 98.86%\n","Ep 59 | Step 100 | Loss 0.0187 | Grad 0.00229438 | Accuracy: 98.88%\n","Ep 59 | Step 150 | Loss 0.0196 | Grad 0.00210647 | Accuracy: 98.90%\n","Ep 59 | Step 200 | Loss 0.0697 | Grad 0.00398858 | Accuracy: 98.90%\n","Ep 60 | Step 50 | Loss 0.0193 | Grad 0.00318359 | Accuracy: 98.84%\n","Ep 60 | Step 100 | Loss 0.0162 | Grad 0.00399773 | Accuracy: 98.92%\n","Ep 60 | Step 150 | Loss 0.0284 | Grad 0.00235052 | Accuracy: 98.87%\n","Ep 60 | Step 200 | Loss 0.0493 | Grad 0.00480091 | Accuracy: 98.87%\n","\n","☑ MODEL SAVED!\n"]}]},{"cell_type":"code","source":["model.eval()\n","val_accuracy = 0\n","val_samples = 0\n","\n","with torch.no_grad():\n"," for data, target in val_loader:\n"," data, target = data.to(DEVICE), target.to(DEVICE)\n"," output = model(data)\n"," _, pred = torch.max(output, dim=1)\n"," val_accuracy += (pred == target).sum().item()\n"," val_samples += target.size(0)\n","\n","final_val_acc = (val_accuracy / val_samples) * 100\n","print(f\"Validation Accuracy: {final_val_acc:.2f}%\")"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1779549385760,"user_tz":-420,"elapsed":5168,"user":{"displayName":"Cici rizky plk","userId":"03714270658772765776"}},"outputId":"8def732b-9cf9-4172-8ba3-cec6d002c7f2","id":"R6HSy8izZwl3"},"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["Validation Accuracy: 99.53%\n"]}]},{"cell_type":"code","source":["import os\n","os.kill(os.getpid(), 9)"],"metadata":{"id":"N-twihB2l-KI"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["import torch\n","import matplotlib.pyplot as plt\n","import torch.nn as nn\n","import torch.nn.functional as F\n","import torch.optim as optim\n","from torchvision import datasets, transforms\n","from torch.utils.data import DataLoader\n","\n","class LookThemLayer(nn.Module):\n"," def __init__(self, num_tokens, in_features, hidden_dim):\n"," super().__init__()\n"," self.num_tokens = num_tokens\n"," self.mod1_w1 = nn.Parameter(torch.randn(num_tokens, in_features, hidden_dim))\n"," self.mod1_b1 = nn.Parameter(torch.zeros(num_tokens, hidden_dim))\n"," self.mod1_w2 = nn.Parameter(torch.randn(num_tokens, hidden_dim, 1))\n"," self.mod1_b2 = nn.Parameter(torch.zeros(num_tokens, 1))\n"," self.mod2_w1 = nn.Parameter(torch.randn(num_tokens, in_features, hidden_dim))\n"," self.mod2_b1 = nn.Parameter(torch.zeros(num_tokens, hidden_dim))\n"," self.mod2_w2 = nn.Parameter(torch.randn(num_tokens, hidden_dim, 1))\n"," self.mod2_b2 = nn.Parameter(torch.zeros(num_tokens, 1))\n"," self.trans_w = nn.Parameter(torch.randn(num_tokens, 1, 1))\n"," self.trans_b = nn.Parameter(torch.zeros(num_tokens, 1))\n"," self._init_weights()\n","\n"," def _init_weights(self):\n"," for w in [self.mod1_w1, self.mod2_w1, self.mod1_w2, self.mod2_w2]:\n"," nn.init.xavier_uniform_(w)\n","\n"," def forward(self, x):\n"," N = self.num_tokens\n"," h1 = torch.einsum(\"bti,tij->btj\", x, self.mod1_w1) + self.mod1_b1\n"," out_m1 = torch.einsum(\"btj,tjk->btk\", F.gelu(h1), self.mod1_w2) + self.mod1_b2\n"," h2 = torch.einsum(\"bti,tij->btj\", x, self.mod2_w1) + self.mod2_b1\n"," out_m2 = torch.einsum(\"btj,tjk->btk\", F.gelu(h2), self.mod2_w2) + self.mod2_b2\n","\n"," out_m2_safe = torch.sign(out_m2) * torch.clamp(torch.abs(out_m2), min=1e-6)\n"," compare = torch.tanh(out_m1.unsqueeze(2) / out_m2_safe.unsqueeze(1))\n"," compare2 = torch.tanh(out_m1.unsqueeze(1) / out_m2_safe.unsqueeze(2))\n","\n"," trans_compare = torch.einsum(\"bije,jef->bijf\", compare, self.trans_w) + self.trans_b.view(1, 1, N, 1)\n"," trans_compare2 = torch.einsum(\"bije,jef->bijf\", compare2, self.trans_w) + self.trans_b.view(1, 1, N, 1)\n","\n"," interaksi = (trans_compare * x.unsqueeze(2) + trans_compare2 * x.unsqueeze(1)) / 2\n"," mask = (1.0 - torch.eye(N, device=x.device)).view(1, N, N, 1)\n"," return (interaksi * mask).sum(dim=2) / (N - 1.0)\n","\n","class LiteResidualBlock(nn.Module):\n"," def __init__(self, dim, dropout=0.05):\n"," super().__init__()\n"," self.block = nn.Sequential(nn.Linear(dim, dim), nn.GELU(), nn.Dropout(dropout), nn.Linear(dim, dim))\n"," self.norm = nn.LayerNorm(dim)\n"," def forward(self, x):\n"," return self.norm(x + self.block(x))\n","\n","class LookThemV8MNIST(nn.Module):\n"," def __init__(self):\n"," super().__init__()\n"," self.stream_a = nn.Sequential(\n"," nn.Conv2d(1, 4, 3, 2, 1),\n"," nn.BatchNorm2d(4), nn.GELU(),\n"," nn.Conv2d(4, 8, 3, 2, 1),\n"," nn.BatchNorm2d(8), nn.GELU(),\n"," nn.AdaptiveMaxPool2d((8, 8)))\n"," self.stream_b = nn.Sequential(\n"," nn.Conv2d(1, 4, 3, 1, 1),\n"," nn.BatchNorm2d(4), nn.GELU(),\n"," nn.Conv2d(4, 8, 3, 1, 1),\n"," nn.BatchNorm2d(8), nn.GELU(),\n"," nn.AdaptiveMaxPool2d((8, 8)))\n","\n"," self.lookthemA = LookThemLayer(64, 8, 32)\n"," self.lookthemB = LookThemLayer(64, 8, 32)\n"," self.lookthem_comb = LookThemLayer(64, 16, 32)\n"," self.comb_norm = nn.LayerNorm(16)\n","\n"," self.FFN1 = nn.Conv1d(16, 8, 1)\n"," self.lookthem2 = LookThemLayer(64, 8, 32)\n"," self.FFN2 = nn.Conv1d(8, 8, 1)\n","\n"," self.compressor = nn.Conv1d(8, 4, 1)\n"," self.input_proj = nn.Linear(64 * 4, 128)\n"," self.res_blocks = nn.Sequential(LiteResidualBlock(128), LiteResidualBlock(128))\n"," self.head = nn.Sequential(nn.Linear(128, 128), nn.GELU(), nn.Linear(128, 10))\n","\n"," def forward(self, x):\n"," b = x.size(0)\n"," fa = self.lookthemA(self.stream_a(x).view(b, 8, 64).transpose(1, 2))\n"," fb = self.lookthemB(self.stream_b(x).view(b, 8, 64).transpose(1, 2))\n"," x = self.comb_norm(self.lookthem_comb(torch.cat([fa, fb], dim=2)))\n"," x = x.transpose(1, 2)\n"," x = self.FFN1(x).transpose(1, 2)\n"," res = x\n"," x = self.lookthem2(x).transpose(1, 2)\n"," x = self.FFN2(x) + res.transpose(1, 2)\n"," x = self.compressor(x).flatten(1)\n"," x = self.res_blocks(self.input_proj(x))\n"," return self.head(x)\n","\n","# --- CONFIGURATION ---\n","DEVICE = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n","MODEL_SAVE_PATH = \"LookThem_V8_MNIST (2).pth\"\n","\n","# We need the class definition in the same scope to load the state_dict\n","# Re-using the LookThemV8MNIST structure from previous cells\n","model = LookThemV8MNIST().to(DEVICE)\n","try:\n"," model.load_state_dict(torch.load(MODEL_SAVE_PATH, map_location=DEVICE))\n"," print(\"Model loaded successfully!\")\n","except FileNotFoundError:\n"," print(f\"Error: {MODEL_SAVE_PATH} not found. Please ensure the model is trained and saved.\")\n","\n","# --- DATASET LOADER (Test Only) ---\n","transform_val = transforms.Compose([\n"," transforms.ToTensor(),\n"," transforms.Normalize((0.1307,), (0.3081,))\n","])\n","\n","test_set = datasets.MNIST(download=True, root=\"./data\", train=False, transform=transform_val)\n","test_loader = DataLoader(test_set, batch_size=1, shuffle=False)\n","\n","model.eval()\n","misclassified = []\n","\n","print(\"Searching for misclassified examples...\")\n","with torch.no_grad():\n"," for data, target in test_loader:\n"," data, target = data.to(DEVICE), target.to(DEVICE)\n"," output = model(data)\n"," pred = output.argmax(dim=1, keepdim=True)\n","\n"," if pred.item() != target.item():\n"," # Store CPU version for plotting\n"," misclassified.append({\n"," \"image\": data.cpu().squeeze(),\n"," \"pred\": pred.item(),\n"," \"actual\": target.item()\n"," })\n","\n"," #if len(misclassified) >= 10: # Stop after finding 10 examples\n"," # break\n","\n","# --- VISUALIZATION ---\n","if misclassified:\n"," plt.figure(figsize=(15, 6))\n"," for i, item in enumerate(misclassified):\n"," plt.subplot(5, 9, i + 1)\n"," plt.imshow(item[\"image\"], cmap='gray')\n"," plt.title(f\"Pred: {item['pred']} | Actual: {item['actual']}\")\n"," plt.axis('off')\n"," plt.tight_layout()\n"," plt.show()\n","else:\n"," print(\"No misclassified examples found in the sample!\")"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":922},"id":"0vNcB98ndtPv","executionInfo":{"status":"error","timestamp":1779550960884,"user_tz":-420,"elapsed":67591,"user":{"displayName":"Cici rizky plk","userId":"03714270658772765776"}},"outputId":"96d7a908-4c82-4501-d1d6-7e75dd8aa792"},"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["Model loaded successfully!\n","Searching for misclassified examples...\n"]},{"output_type":"error","ename":"ValueError","evalue":"num must be an integer with 1 <= num <= 45, not 46","traceback":["\u001b[0;31m---------------------------------------------------------------------------\u001b[0m","\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)","\u001b[0;32m/tmp/ipykernel_846/758548027.py\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 144\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfigure\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfigsize\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m15\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m6\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 145\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mitem\u001b[0m \u001b[0;32min\u001b[0m \u001b[0menumerate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmisclassified\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 146\u001b[0;31m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msubplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m5\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m9\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mi\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 147\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mimshow\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"image\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcmap\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'gray'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 148\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtitle\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf\"Pred: {item['pred']} | Actual: {item['actual']}\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/usr/local/lib/python3.12/dist-packages/matplotlib/pyplot.py\u001b[0m in \u001b[0;36msubplot\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 1548\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1549\u001b[0m \u001b[0;31m# First, search for an existing subplot with a matching spec.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1550\u001b[0;31m \u001b[0mkey\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mSubplotSpec\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_from_subplot_args\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfig\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1551\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1552\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0max\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mfig\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0maxes\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/usr/local/lib/python3.12/dist-packages/matplotlib/gridspec.py\u001b[0m in \u001b[0;36m_from_subplot_args\u001b[0;34m(figure, args)\u001b[0m\n\u001b[1;32m 587\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 588\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mIntegral\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0mnum\u001b[0m \u001b[0;34m<\u001b[0m \u001b[0;36m1\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0mnum\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0mrows\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mcols\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 589\u001b[0;31m raise ValueError(\n\u001b[0m\u001b[1;32m 590\u001b[0m \u001b[0;34mf\"num must be an integer with 1 <= num <= {rows*cols}, \"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 591\u001b[0m \u001b[0;34mf\"not {num!r}\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;31mValueError\u001b[0m: num must be an integer with 1 <= num <= 45, not 46"]},{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"iVBORw0KGgoAAAANSUhEUgAABMUAAAH4CAYAAABKclq1AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzsvXec3FW9//+a3nvZ3dneN5UUkkACJKET2lWKFC9FvICIVxTE9kUBQRC9AhZQ8QqIAa6gcMUfIkbRkIQSSC/b+87u7PTe5/z+yD2Hz8zuZjd1Z3fP8/GYB2TmM5/5zH7e8z7nvM/7/XqLCCEEHA6Hw+FwOBwOh8PhcDgczhxCPN0XwOFwOBwOh8PhcDgcDofD4ZxseFCMw+FwOBwOh8PhcDgcDocz5+BBMQ6Hw+FwOBwOh8PhcDgczpyDB8U4HA6Hw+FwOBwOh8PhcDhzDh4U43A4HA6Hw+FwOBwOh8PhzDl4UIzD4XA4HA6Hw+FwOBwOhzPn4EExDofD4XA4HA6Hw+FwOBzOnIMHxTgcDofD4XA4HA6Hw+FwOHMOHhTjcDgcDofD4XA4HA6Hw+HMOWZcUKympgY33XTTtH2+SCTCc889N22ffzL45z//CZFIhH/+85/TfSmTMt32UFNTg/vvv3/aPv9k0NvbOyPsfrptYSb8jY4V7huO7PO5bygOptsWZsLf6FjhvmHqcHsoLrg9nHhmij1Mty3weUNxMd32MFP+TsdCMfmGIwqKPffccxCJROyhVCrR1NSEO++8Ey6X60Rd43Ell8vhscceQ21tLZRKJRYvXoyXXnrphH7m1VdfDZFIhK9//etHfY5t27bh/vvvRyAQOH4XdoxMZg//8z//g9NPPx0ajQZGoxGrV6/GP/7xj+m+bEZrayvuvfdeLFmyBDqdDmVlZbj44ovx0UcfndDPvffeeyESifCZz3zmqM9x4MAB3H///ejt7T1+F3YMTGYLH3/8MS655BKUlpZCq9Vi8eLF+MlPfoJsNjvdlw4AuP/++/Ouv/CxdevWE/K5c803XHTRRbj88stRV1cHtVqN5uZm3H333UV17QDgdDrx2c9+Fs3NzdDpdDAajVi5ciWef/55EEJO2OfONd/w5JNPTvibGxkZme5LB8B9w/FmInu4/vrrceutt2L16tVQKpUQiURFY8OFdHZ24sorr4TJZIJarcYZZ5yBd95554R+5lyzhzvvvBOvvPIK1q9fD6vVynzwCy+8MN2XPC5dXV247rrrYLfboVKp0NjYiG9/+9sn7PNmoz0cyRrzvPPOg0gkwp133jlNVzsWvqY4vkxkD+Xl5ROOxzKZbLove0I2btwIkUgErVZ7Qj9nNvqGyXj55ZexbNkyKJVK2Gw23HLLLfB4PEd8HunRfPiDDz6I2tpaJBIJbNmyBU8//TTefPNN7Nu3D2q1+mhOedL49re/jUcffRT/8R//gRUrVuB///d/cd1110EkEuGaa6457p8XCoXwxhtvoKamBi+99BIeffRRiESiIz7Ptm3b8MADD+Cmm26C0Wg87td5LIxnDxs3bkQgEMBVV12Fm266Cel0Gvv27cPQ0NB0Xy7j17/+Nf77v/8bV1xxBe644w4Eg0H88pe/xGmnnYa33noL55577nH/TEIIXnrpJdTU1OCNN95AOByGTqc74vMcOHAADzzwANatW4eamprjfp1Hy3i28Prrr2N0dBRNTU34+te/DrVajb/85S/48pe/jK6uLjz55JPTfdn49Kc/jYaGhjHPf+tb30IkEsGKFSuO+2fORd/w/PPPQyaT4e6770Z9fT327t2Ln/3sZ3jzzTexY8cOqFSq6b5kAIDH48Hg4CCuvPJKVFVVIZ1O429/+xtuuukmtLW14fvf//5x/8y56BssFkvea0KKxZa5bzgxFNrDb3/7WxBCMH/+fMybNw+7du2a7kscl4GBAZx++umQSCT42te+Bo1Gg2effRbnn38+/v73v+Oss8467p85F+3h6aefxs9//nOsWrWKBaZ///vf44YbboDH48FXvvKV6b5kxq5du7Bu3TqUl5fj7rvvhsViQX9/PwYGBk7I5812e5hsjfnHP/4R77333nRf5hj4muLEUGgPL7zwAmw2Gx555BEoFAoAQDQaxe23347zzz9/mq92fCKRCO69915oNJoT+jmz3TeMx9NPP4077rgD55xzDn784x9jcHAQTz75JD766CN88MEHUCqVUz8ZOQKeffZZAoBs37497/mvfvWrBAB58cUXJ3xvJBI5ko+akOrqanLjjTce1XsHBweJTCYjX/ziF9lzuVyOnHnmmaSiooJkMplJzwGAPPvss1P+zN/85jdEJpORf/zjHwQA+ec//3k0l05++MMfEgCkp6fnqN5/JLzzzjsEAHnnnXcO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fTcvvZHy1ltv5T0/OjpK5HI5ufjii/PS4b71rW8RAGNSGaurq0l1dfWk13/xxReTurq6Mc9Ho9Fxr3c8cASpjD/60Y+ISqUioVCIEEJIe3s7AUBee+21vOPOOussotPpSF9fX97zwu8+USrj4dJQAeSl4Y6X2v3ee+8RAOS3v/0te268VEb6nPB849nDr3/9a1YSo1aryQ9/+EOydu1a9twvfvEL9v7ptofx2Lx5MxGJROS+++6b0vFHkur86quvEgCko6ODEEJIKBQiSqWSPP7443nH3XDDDUQsFo9bUkS//+FSnQvvk/BahX+rRCJBstls3jE9PT1EoVCQBx98MO+5Qhujz9HzTeYbbrrpJiKTyZgdiEQi8vTTT7PzFZst7Nu3jwAg995775Tfw33DJ+c70rFCJBKR9vZ29v5isYdHHnmE2SwAcs4555D+/v4pvZf7hkPnO5wtyOVyctVVV5Hnn3+erF+/ngAgUqmUWK1W9ncuFlugcN9w4n0Dve5inEdeeumlxGg0svtDOf300wkA8qMf/WjSc3B7+OR8E9mD2WwmEokkz/8CIFdccUXeZ0+3PVx22WUEALFYLOT6668nr776KrnvvvuIVColq1evzvusieD2cOh8k/mGiy++mKxevZrNGyAonyRk+m1hPPia4ujmDYRMfR65cuVKAoBcddVVeZ9dDPbw5z//mUilUrJ//35CyKE574kqn5zNvmEi3G43EYlE5JZbbsl7vrW1lfkIj8dz2HMIOaryyXPPPRc2mw2VlZW45pproNVq8dprr6G8vDzvuC984Qt5/37llVdgMBhw3nnnwePxsAdNOaXdezZt2oRUKoUvfelLeelwd91117jXQ1P6JiMejzNRPiE0TTsej096jiNh48aNuPjii5noYWNjI5YvX56Xzuh2u7F582Z87nOfQ1VVVd77j0Yc73AII6npdBperxcNDQ0wGo0su2si1q1bB0LIuBFboT18/vOfZ8//5je/wT333MNEGxsbG/HQQw+x16fbHgoZHR3Fddddh9raWtx7771H/P7J2LhxI0499VQm2qzT6XDxxRfn2UMul8Prr7+OSy+9FKeeeuqYcxxPm1AoFCx6ns1m4fV6odVq0dzcPKk91NTUgBAyZkdnIt9wyimnsB1/4FDnoC996Ut4/fXXARSfLdB7ciLLo+aabxhvrOju7gZw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+OOPV+xg/PjHPwaACv2zs4HGhrlRbXtg5PN5PP3007j88sun6XHMB0vZHlwuFywWC3bv3g1RFPnzyWQSv/71r9HV1QWtVku2sARsAQAmJydxzTXXQC6X44UXXoBGo5nxuGrag8vlwu7du6c9tm3bBo1Gg927d8+pW9ZcWOr2MBO14ke++uqr+M///E988pOfhNlsPqNzTGUp28Ntt902498bAFx33XXYvXs3LrnkErKFJWgLzB6ASlsAFubYcC5Y6mvMW2+9FQAqgm+lUgmPP/44bDYbNm3adMpzMM5rptjWrVtx11134aGHHsL+/ftxzTXXQBAE9Pb24umnn8Z3v/tdfOQjH4HT6cS9996Lhx56CDfccAOuu+46vPPOO/jtb387Y3Tx6quvBoBTCt/dd9996O/vx9VXX436+np4vV786Ec/QiqVmqZbcTbs2rULCoUC119//Yyv33jjjfjSl76En//85/jbv/1bfO9738Pll1+OjRs34lOf+hTa2trg9Xrx3HPPYf/+/QDAb+qXvvQl3HbbbRAEAR/84Aeh1+tx55134pvf/CbuvPNOXHjhhdizZw96enqm/d4bbrgBP/vZz2A2m7Fq1Srs27cPL7744pxqe19//XVs27YNX/3qV2cUQiznm9/8Jg4fPoxLLrkESqUS//3f/41CoYAHHnigoga82vYAAD/72c8wNDTE2wXv2bMHDzzwAADgf/2v/8V3EM6Gp556CpIk4cYbb5zx9euuuw5KpRK7du3CJZdcggcffBC///3vsXXrVnzqU5/CypUrMTExgaeffhqvvPIKLBYL1q9fD4VCgX/6p39CLBaDWq3G+973PrhcLtx555349Kc/jQ9/+MPYvn07Dhw4gBdeeGHad3XDDTfg61//Onbu3InLLrsMhw4dwq5duyoi7bPB2uXefvvtcxJCBN4TqBYEYdpr1bYFj8eDL33pS/jHf/xHXHvttbj55ptx4MABPProo/joRz86TbvgTFnqY0MsFsPDDz8M4IRjB5yY/B544AFYLBbcfffdAKpvD4wXXngBoVDonIqqL1V7UCgUuPfee/HlL38Zl156KZRKJfL5PC6++GKMjo7y8hCyhRMsZlsAgGuvvRYDAwO477778Morr6C/vx+FQgFPPvkk3G4335iopj3odDrcfPPN055/9tln8frrr8/42pmy1O2hVvzI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/uqvaGxYoJwPP7KtrQ3AiczReDxO64oFzL333ntOfYfZ5opHH30UCoUCd911F9nCAuJcjg2HDx9GLpcDAH7eO+64A7fddht0Oh3+8R//kcaGBcS5HhtmQ6fTwel0nrZMz7wExfr7+wEAdrudP1coFLBjxw64XC788z//Mz784Q8DAO666y783d/9HbZs2YLvfve72LlzJ3bt2oUdO3ZUCAP+4z/+I77yla9g3bp1+Pa3v4329vYlkSJ7rnn11Vdx22234Xvf+x4+/elP4w9/+AOuuuoqpNPpk77v9ddfx8qVK/H973//lL+D2cOePXvwT//0Tzzd/b/+67/IHhYY59oeZhsbbrzxRgDAddddN2+2kEqlzug7IN7jhhtuwL/8y7/g7/7u73Do0CFs3bqV62PNxtjYGFauXIn/83/+zynP7/f7AQA/+clPYDKZ8OSTTyKTyeB973sfjQ0LjGqMDaxJwfLly+fVFmhsOHvOtd/w9ttvAwAOHDgAp9OJp556CqlUCpdeeimNDQuM8+FHskXrd77zHZjNZuzatQuZTAbvf//7yR4WGM8+++w59R1m8yP37NmDlpYWmisWGOdybGABMWC6PWSzWSQSCXzrW9+isWGBcK7HhnLi8TiCwSC6u7vxD//wDzh8+DCuvvrq07vg00krY6mML774ohQIBKSRkRHp5z//uWS32yWtViuNjo5KkiRJt99+uwRA+vu///uK97/88svTUh4lSZJ+97vfVTzv9/sllUolXX/99VKpVOLH/cM//IMEQLr99tsr3t/S0iK1tLSc8vo/+MEPShaLRYrH4xXPb968WQIg/fM///Mpz4HTSPH753/+Z0mr1fLf19PTIwGQdu/eXXHclVdeKRmNRmloaKji+fLP/u1vf1sCIA0ODlYcc7K0QwDSV7/6Vf7/dDo97Zh9+/ZJAKQnnniCPzdTait7rvx8J7MHhUIhbdq0SZKk9+xh48aNFb+72vZw/fXXS+3t7dOeT6VSM9rvTJA9nDjf6Y4NF1xwgaRQKKSenh5JkqpvC4yHHnqoIvX36quvloaHh+f03paWlorv92Q888wzEgCpt7dXkiRJisfjkkajkf71X/+14rhPfOITklwun1ZOIEnv2cPTTz897f4wpt7z8mst/66y2axULBYrjhkcHJTUarX09a9/veK5qfbFnis/32z2YDQaJYVCIf3rv/6rtHv3bumCCy6QAEharbbie662PdBcUb2xAYB09OhRfr5q2wLNE+feb/jxj3/M771Op5O+/e1vS1u3buXP/fCHP+TvJ3tY/Pbw85//XNLr9ZJSqZQefvhh6ZlnnpFWrlwpAZCsVqsUi8X4+6ttDzOxZ88eSSaTSV/5ylfmdDz5DifOdyZzxfPPP8/PtxBs4Te/+Y2kVCqlI0eO8GvV6/Vzeq8k0dhwqrHhkUcekQBICoViRnsAIAWDQUmSFoY9TIXGhjNfV5wKJs8CQFKpVNJdd90lZTKZOb9fks6wfPL9738/nE4nmpqacNttt8FgMGD37t1oaGioOO5v/uZvKv7/9NNPw2w2Y/v27QgGg/yxadMmGAwGvPTSSwCAF198EaIo4nOf+xxkMhl//z333DPj9Xi93jmlZ/7N3/wNotEobr31Vrzzzjvo6enBPffcgzfffBPAiQ4f88muXbtw/fXXw2g0AgCWL1+OTZs2YdeuXfyYQCCAPXv24K//+q/R3Nxc8f7yzz4flAua5/N5hEIhdHR0wGKx8F3a2bjqqqsgSRL+v//v/5v22lR7UCqVKBaLXGSdsWbNmor/V9seMplMhWgng4k0kj3Mzmz2MNex4eDBg/jCF77AO8xV2xYYH/3oR/Hf//3feOqpp/Cxj30MwPzbAXDCFi688EJ0dHQAAIxGI66//voKWyiVSnj22WfxwQ9+EBdeeOG0c8ynPajVasjlJ6aDYrGIUCgEg8GAFStWnNIWWltbIUkSfvrTn057bao92Gw2PPfcc7jnnntw8803Y8OGDQBOfMff+MY3+PuqbQ80V5z/sUF6VyB49erVvMwWqL4t0Dxx7v2GO++8kz//2GOP4d5770VrayuAE5//gQce4K+TPSx+e7jtttvgcDjwm9/8BnfffTc+/OEP4+KLLwZwIoPsBz/4AX9fte1hKn6/Hx/72MfQ1taG++6777TffyqWgu8wVz/SZrNh+/bt/P/VtgVRFPH5z38en/70p7Fq1apTHn+2LMWx4VOf+hR0Oh0kScLPf/5zDAwMwOfzAQCUyhO9A9kYXG17mAqNDfOzrpiNb37zm/j973+Pn/zkJ7j00kshiiIKhcJpXfMZdZ/893//d3R2dkKpVMLtdmPFihX8g/MTK5VobGyseK63txexWAwul2vG87LSmqGhIQCY1pLd6XTCarWeySUDAD7wgQ/g4Ycfxt///d9j48aNAICOjg584xvfwH333QeDwXDG557KsWPH8M477+ATn/gE+vr6+PNXXXUV/v3f/x3xeBwmkwkDAwMApgeMzgWZTAYPPfQQHn/8cYyNjVV0KYnFYmd83nJ7sNvt+OhHP4odO3bgoosuqjhu6vdbbXvQarUVqbiMbDbLX58vloo9nGpsYJPXNddcUxEEqbYtMFpaWtDS0gLgRIDsU5/6FN7//vfj+PHj82YP0WgUzz//PO6+++4KW9iyZQt++ctfoqenB52dnQgEAojH4+fFFkqlEr773e/iBz/4AQYHByvaeZenqJ8uc50rNm3ahBdffJE/V217oLmiemPD7bffXvG+atsCzRPn3m9QqVTYsmULBEHARz7yEX6MUqnExz72MXzta1/D8PAwmpubyR6w+O3hZHOF3W7Hiy++iL//+78HUP3xoZxUKoUbbrgBiUQCr7zyyrzOE8DS8R1OZQuJRALACR+NBUKA6tvCv/7rvyIYDOJrX/vaGZ9jrizlscHj8eCOO+7Avffei3vvvRfAiWDOBz/4QezevZv/3VXbHsqhsWH+1hWzsX79ev7vj3/849i4cSPuuOMOPPPMM3M+xxkFxS6++OIZI4zllEcIGaVSCS6XqyJqWY7T6TyTyzkt7r77buzcuRMHDx6ESqXC+vXr8ZOf/AQA0NnZOW+/58knnwQAfP7zn8fnP//5aa//8pe/xM6dO8/698wW1S03PsbnPvc5PP7447jnnnuwefNmmM1myGQy3HbbbSiVSmd8DeX28Nhjj6GnpwePPPIIj6Qnk0n+0+v1wuVyQafTVd0e6urq8NJLL0GSpIrvkQn71dfXz9vvWir2cLKx4cCBA/jDH/4AuVyOX/7ylxXOTLVtYTY+8pGP4NFHH8WePXuwY8eOeTnn008/jVwuh+985zv4zne+M+31Xbt2nXOnaqo9PPjgg/jKV76Cv/7rv8b9998Pm80GuVyOe+65Z97GhtlQq9Vobm7mDTmAhWEPNFecv7EBAHfemUAuo9q2QPPEufcbSqUSNBoNLBYL1yAFTowNHo8HwIkMoebmZrKHMharPcwGmyvC4TB/rtr2wBBFEX/xF3+BgwcP4oUXXjgni86l4jucyhaY4P7HP/7xiueraQuxWAwPPPAAPvOZzyAejyMejwM4se6RJAlerxc6nW7WAM3pstTHhl/96lcYHh6G1+vF9773Pfzud7/D5OQknE4nLBYLABobylksY8NcUalUuPHGG/HNb34TmUxmzptVZxQUO1OWLVuGF198EVu2bDnpBbJMjd7eXrS3t/PnA4HAtI4RZ4Jer8fmzZv5/1988UVotVps2bLlrM8NnCgDeeqpp7Bt2zZ85jOfmfb6/fffj127dmHnzp388x0+fPik55xtYGJR7KkdFljku5xnnnkGt99+e8UfTDabPe3uDCdjeHgY+Xx+xu/yiSeewBNPPIHdu3fj5ptvrro9rF+/Hj/+8Y9x7NixilTn1157jb8+Hyxle2D09/fj2muvhVarRaFQmLZLUm1bmA2Whn02u1xT2bVrF9asWYOvfvWr01770Y9+hKeeegpf+9rX4HQ6YTKZztgWgBP2MPV+iqI4raPLM888g23btvGgDyMajcLhcJziE509AwMDFQ7KQrEHmivO/dgAnBDP9Xq9UCgU04IK1bYFmifOvS3I5XKsX78eb7zxBkRRhEql4q8xQV42PpA9nGAx28PJ8Hq9vOweqL49ACcW35/4xCfwhz/8Af/v//0/bN269azONxvkO5xgYGAAMpkMl156acXz1bSFSCSCZDKJb33rW/jWt7417fW2tjbcdNNNePbZZ8/o/OXQ2HCC5uZmNDc347HHHgMAvPXWW1xgH6CxgbGUxoZyMpkMJElCIpGYc1BsXrpPzpVbbrkFxWIR999//7TXCoUC/5Lf//73QxAEPPzwwxXpl//2b/8243n7+/t5d5LT5dVXX8V//ud/4pOf/CTMZvMZnWMqe/fuhdfrxc6dO/GRj3xk2uPWW2/FSy+9hPHxcTidTlx55ZV47LHHMDw8XHGe8s+u1+sBTB+YTCYTHA4H9uzZU/F8ueYCQ6FQVJwTAB5++OEZI/5TmWu73Ntuuw27d++ueGzbtg3AiU6Du3fvxiWXXAKg+vZw0003QRCEiu9KkiT88Ic/RENDAy677LJTnmMuLGV7AIDJyUlcc801kMvl2L59+4yDbbVtIRAIzPj8T37yE8hkMl5Cd7aMjIxgz549uOWWW2a0hZ07d6Kvrw+vvfYa5HI5br75Zvz617/mWlblsM8/my0AJ5yCqbbwyCOPTLvHM9nC008/jbGxsVN+ptNpnTzT91wsFvHWW2/h2muv5c9V2x5mguaK+R8bGM8//zzy+XxF9iij2rZA88T5sYVbb70VxWIR//Ef/1Hx/K5du7Bq1SoeLCV7WBr2MNNckc/nEQgEFtxc8bnPfQ6/+MUv8IMf/AB/8Rd/Maf3nC5L3XdgvPPOO4jFYgturnC5XNPWPmz9o9FosHv37tPqpHcylvrYMBO5XA6FQqEia47GhqUxNrAy2HKi0Sh++ctfoqmp6bSyM89rptjWrVtx11134aGHHsL+/ftxzTXXQBAE9Pb24umnn8Z3v/tdfOQjH4HT6cS9996Lhx56CDfccAOuu+46vPPOO/jtb387Y3SRtdw8lfDd0NAQbrnlFtx4443weDw4cuQIfvjDH+KCCy7Agw8+OG+fc9euXVAoFLj++utnfP3GG2/El770Jfz85z/H3/7t3+J73/seLr/8cmzcuBGf+tSn0NbWBq/Xi+eeew779+8HAGzatAkA8KUvfQm33XYbBEHABz/4Qej1etx555345je/iTvvvBMXXngh9uzZU1GKxLjhhhvws5/9DGazGatWrcK+ffvw4osvzqm29/XXX8e2bdvw1a9+dUYhREZXVxe6uroqnmM7I21tbbj55pv589W2h8bGRtxzzz349re/jXw+j4suugjPPvssXn75ZX4P54OlbA8AcO2112JgYAD33XcfXn31VRQKBZ767Xa7sX379qrbwje+8Q3s3bsX1157LS/P+OUvf4k33ngDn/vc57hw5dny1FNPQZIk3HjjjTO+ft1110GpVGLXrl245JJL8OCDD+L3v/89tm7dik996lNYuXIlJiYm8PTTT+OVV16BxWLB+vXroVAo8E//9E+IxWJQq9V43/veB5fLhTvvvBOf/vSn8eEPfxjbt2/HgQMH8MILL0z7rm644QZ8/etfx86dO3HZZZfh0KFD2LVrV8Wu2Wyw1sm33377KUUxL7vsMmzYsAEXXnghzGYz9u3bh2w2i6amJvzDP/wDP67a9kBzxfkZG8q/B7lcPuNCp9q2QPPE+bGFu+66Cz/+8Y/x2c9+Fj09PTh27BgymQyGhobw61//mh9H9nCCxW4PLS0tuPXWW7F27VpoNBrs2bMHoihi/fr1uOuuu/hx1baHf/u3f8MPfvADbN68GTqdjvs2jA996EN8gXk2LHXfgcFK4QRBmPZaNW1Bp9NVrG8Yzz77LF5//fUZXztTlvrY8M1vfhOHDx/GJZdcAqVSif/+7/9GoVDAAw88UKFlTWPDCRb72PCBD3wAjY2NuOSSS+ByuTA8PIzHH38c4+Pj+MUvfjHn7xEAcDqtKll71JnaeJZzqha0jzzyiLRp0yZJq9VKRqNRWrt2rXTfffdJ4+Pj/JhisSh97Wtfk+rq6iStVitdddVV0uHDh6e1/JSkubdHDYfD0k033SR5PB5JpVJJbW1t0he/+EXeznYu4BTtckVRlOx2u3TFFVec9DxtbW3Shg0b+P8PHz4sfehDH5IsFouk0WikFStWTGvZev/990sNDQ2SXC6vaJ2bTqelT37yk5LZbJaMRqN0yy23SH6/f1rb1EgkIu3cuVNyOBySwWCQduzYIXV3d0/7Tk+3Xe5c7AGA9NnPfnbG16tlD+y8Dz74oNTS0iKpVCpp9erV0pNPPjmn90oS2QM738lsAWWtkqc+tm7dWnFstWzh97//vXTDDTdI9fX1kiAIktFolLZs2SI9/vjjFS2aT8ZcWievXbtWam5uPukxV111leRyuaR8Pi9JkiQNDQ1Jn/jEJySn0ymp1Wqpvb1d+uxnPyvlcjn+nkcffVRqb2+XFApFxb0qFovSF7/4RcnhcEg6nU7asWOH1NfXN2Pr5C984Qv8O92yZYu0b98+aevWrRX3aK6tk2ezhy996UvS+vXrJbPZLAmCIOn1ekmpVEqTk5Mzfhc0VyzusUGSJCkWi0kajUZqbm5ekH4DOy/NE+feb/D5fNLtt98u2Ww2SS6XS3K5XPrd734343dB9rC47eHOO++UVq1aJRmNRj4nC4Iw6xhcLXtg/u1sD/b9ngzyHU6c71RzRbFYlBoaGiSbzbZg54qpnGo9PBUaG94732z28Jvf/Ea6+OKLJaPRKOl0OsnhcEhqtXrW74LGhtofG07G97//fenyyy+XHA6HpFQqJafTKX3wgx+U9uzZc8r3TkUmSVNy24iTIpPJ8Pjjj+OOO+6o9qUQCwCyB4LR2tqKO+64Y87ZMcTihsYGgkG2QJRD9kCUQ74DwaCxgSiHxobzy3nVFCMIgiAIgiAIgiAIgiCIhQAFxQiCIAiCIAiCIAiCIIglBwXFCIIgCIIgCIIgCIIgiCUHaYoRBEEQBEEQBEEQBEEQSw7KFCMIgiAIgiAIgiAIgiCWHBQUIwiCIAiCIAiCIAiCIJYcFBQjCIIgCIIgCIIgCIIglhzKal/A6SKTyap9CTXNYpOQI3s4O8geiHIWkz2QLZwdi8kWALKHs2Ux2QPZwtmxmGwBIHs4W8geiHIWkz2QLZwdtWYLlClGEARBEARBEARBEARBLDkoKEYQBEEQBEEQBEEQBEEsOSgoRhAEQRAEQRAEQRAEQSw5ak5TjCAIgiAIYrEgk8n4Q5IkrsNRa3ocBEEQBEEQtQgFxQiCIAiCIM4jCoUCWq0WKpUKVqsVK1asgMViQSgUwuDgIFKpFNLpNOLxOIrFYrUvlyAIgiAIYtFCQTGCIAiCIIjziFKphMVigdFoRFdXF2655RZ0dnbi0KFD+O1vf4uJiQlMTk4inU5TUIwgCIIgCOIcQkExgiAIgiCI8wBr8a5QKKDRaKDT6WAymeDxeNDY2IhAIACr1Yp0Oo1EIgFBEFAoFFAqlaickiAIgiAI4hxAQTGCIAiCIIhzjFwuh06ng1qthslkQkdHB9xuN5YtWwaLxQKNRoOGhgZs3rwZ4XAYPT09UKlUiMfjCIfDCAaDlDVGEARBEAQxz1BQjCAIgiAI4hwjl8thMBhgMplgt9uxYsUKtLS0oL6+HjabDVqtFo2NjdDpdMjlcnC5XCgUCgiFQujt7UUkEqGgGEEQBEEQxDxDQTGCOEtkMhkUCgUUCgVkMhnkcjl/KJVKXi5zJpRKJeRyORSLRZRKJRQKBSqhIQiCqEHkcjnUajX0ej0PjpnNZhgMBgiCAJlMBkEQoNfrIQgCzypTq9VQKsldqwXkcjlkMhmUSiVUKhVkMhny+TxEUeSdRWkOJwiCIADwdaNMJuPzPetEDZzoQl0qlbiEAlsP0ppw/iEviyDOEJlMBplMBpVKhbq6OlitVmg0GthsNuj1ehiNRtTX18NgMJzx74hGozh48CDGxsaQTCYxOTmJVCpFjjVBEESNoVKp0NTUhI6ODjidTqxfvx6tra0wGAzQ6/UATmiNqdVqKBQKCIIAADTW1wgqlQp6vR5KpRKtra1YuXIlVCoV+vr6cPz4ceRyOaTTaWSz2WpfKkEQBLEA0Gq1MJlMUKvVWL9+PTZt2gS1Wg1RFJHP51EoFBCJRJBMJpHNZuH3+5FIJJBMJjE+Po5UKgWA/IT5gIJiBHGGsOi+Wq1GXV0dWltbYTQa0dbWBofDwRc9DofjjH/HyMgIdu/ejf379yMYDCIejyOdTgOgAZAgCKKWEAQBDQ0NWLVqFVwuF1avXo22tjYAJzKM2E+WGcayxwAa72sBQRBgNBqh0WiwcuVKXHfdddDr9XjppZcQCoWQSCRQLBaRy+XofhIEQRA8mcJkMuGKK67AX/3VX8FoNCKdTiOTySCbzWJkZAR+vx+xWAzHjx+Hz+dDIBBALBZDOp2m+WSeoKAYQZwGgiBApVJBLpdDq9VCq9VCr9ejrq4ObrcbBoMBdrsdVqsVFosFOp0OWq32jH8fO5/H44FcLofdbockSXzHuVAoAKAF00KgvIRWEAReOsueY5kfbPHLKE+LZoFWSZL4DlGpVEI+n0c+n4ckSfw5giBqA5ZVrFQqodFooNfrodPpoFKpoFAo+HHl5RKsZKJQKNDffA3B7p1CoeD+gdVqhcfjgU6n45IIpVKJyyyUj+vsvhMEQRBLh/I1gFwuh0qlAnDCfzAYDMjlcpDL5XA6nfw4n88HmUwGURSRSqUqSiuJ04eCYgQxB9gA5Ha7UV9fD71ej+XLl6O1tRU6nQ6NjY1wOp0VO8Vs8XM2mM1mbN68GZ2dnZicnERDQwN8Ph/GxsZw+PBhxGIxqitfAMjlcphMJn7vPR4P7HZ7hT0YDIYZy2nT6TSSySSKxSJUKhVUKhWKxSImJycRCASQyWQwOjqKYDCIbDaLYDDI06UJgljYsBJ7Nha43W60tLTAbDbPuGHCAiSFQgGZTAaJRALxeBzZbJbG+AUOu2csuMUCYhdeeCHq6+sRj8exb98+vPXWWyiVStDr9dBoNBBFEeFwGKlUip+DbXgRBEEQixc25isUCoTDYYyPj/NySrYmcLvdMJvNKBQKaGlpgSiKCAQC6OzsRDAYxOjoKA4dOoRoNIpsNot0Ok2BsTOAgmIEMUfkcjmsViva2tpgsViwefNmbNq0CVqtFjabDUajsUJU/2wE9hk6nQ4rV64EAIyPj0Mul2NiYgJ6vR5DQ0M8W6xYLNKCqYrIZDLodDrYbDYYDAZ0dnaiqakJGo0GTqcTBoMBDocDK1euhM1mq7CNWCyGYDCIQqHAsw/z+Tx6enowODiIeDzONYaSySQSiQQFxQiiRijPENNqtbBarXC73VxEfypMSLdQKEAURaTTaaRSKZ4pSixcWBYYu09arRZGoxEmkwkrVqxAIpFANBrF0NAQSqUSrFYrL5NhgbRcLodcLlflT0IQBEGcD0qlEkRRRC6XQyKRQCgUQqFQgNVqhVqthiAIUKvVPIOMVaIEg0HY7XaEQiEcOXIEk5OTvDt1JpOp8qeqTSgodgawDhGslI6VyRUKBeRyOR71jUajyOfz1b5c4ixRKBS8k5TVakVjYyMsFgtsNhu0Wi00Gg2USiXvHnIqWIosc5zLNWOmPs8eAPjvLxQKiMfjWLFiBRwOB4LBIMbHxyGKInesiXMHm6BYeQwrg/J4PHA6nTxz0O12Q61Ww2q18sYL5eVS7F6xchlJknjKtEKhgMlkgt1uh0qlQn19PYrFIs8o0+l0yOVyiMViEEWxyt8IMRtyuZxng7ButOz+s7/r8rLa8i5EjFKphGQyWZFFQovmhQ/b4RUEAW63m+tMOp1OPm+Ul04ySqUSD4rlcjmkUimkUinevZBYuJQHNNPpNCKRCFQqFQwGA4xGI7RaLdxuN9rb2yFJEsxmM/R6PZLJJPL5PJRKJVKpFPcjy30AnU4Hg8EAhUJRUVrPdGeI2oeN++V+AFswl0ol3rmW2QAbEwqFwrS1Bpt7yn0VQRBQKBSQzWZnzUSUJAmZTAapVIoyTRY45R3uNRoNdDod5HI5l9solUrIZrPkLyxwisUi8vk8crkcgsEgBgYGYDAYeGfqct+xPOaQyWSg0WhgsVjgcDhQX18PpfL/Z++94+xOy7r/9+m9t+klk97b9kKWXViBBUUBV309wKoPoMIPUMReABVEVEBFwUdWwV14XGARfJS2LmxhWzZtsymTZDK9nd77+f7+iPe950xmkkkyyUyS+/16zWuSM+d8z5k517nLdV/X52NkZmaGXC6n9oMXgUqKXQQmk4n29naCwSCRSIRXvepVrFmzhmw2y9jYGJlMhhMnTvCjH/2IWCy23C9XcYlYLBbcbjd2u53t27fzpje9CY/Hg9/vx+PxtLiEzUUkupoR/2++faFEWTNut5uNGzdSKpXYtGkTN998M8VikR/+8Id87WtfIxaLyclQcfkQiVG73c7q1atZt24ddrudtrY2gsEgJpMJp9OJzWaTk5hIqop2KbHhrdfr5PN5CoUC9Xq9JYHS399POBymXC7T398v22uGh4eJx+NMTEzw9NNPMzk5ucx/EcVCCMHtvr6+lsVMc/LL5XIRDAZlqbw4ERSUSiUOHDjAkSNHyGazDA4OMj4+voy/leJ86PV6/H4/kUgEt9vNnXfeyY033ojT6aSzs5NQKCRdJudSr9eluG48Hmd0dJSZmRnZlqdYudTrdSqVCrVajcnJSfbt20coFGLDhg2Ew2EcDgd33HEHa9asAc6MD2azmWQyyf79+xkfH2d6elpeQ8wbRqOR1atXs2PHDmw2G6lUimQySbFY5Pjx4wwNDanYuAYQuqSiwlxUEQoZhY6ODjZv3ozL5SKRSDA9PU25XCaVSpFKpVpiwG63s27dOnp6enA6ndIAKp1OMzw8TCaTmfc11Ot1BgcHOXr0qNS+UxvrlYnZbMbj8WA2m+np6WH9+vVYLBYSiYSU2xgZGWFiYkKNDyuYSqVCJpMhn8/zzDPPMDQ0hMlkkl/CfEcURmzdupWuri5cLhednZ309PTgdrux2Wwkk0n27t1LIpGQByfqvV88Kil2ERgMBjwejzzxu+OOO7jhhhuIx+McOXKEeDyOpmk8//zzy/1SFUuA0WjEZrPhdDrp7u5my5YteDyes+4nklrzVX6dr4JsvkRZ8zXgTHKura2t5ef1ep1EIsF3vvMdUqkU9Xq9JbmmWFp0Oh02m41wOCyTlDfffDNOp1NWis19/+ciKsPEab8omxaLT1EabbFY8Pv91Ot1/H6/1B7z+XzE43HsdjsHDhy4wn8BxYUgqoTWrFmD3W4nEongcrnQ6/XSgMHv99PT0yPb6RwOR0u1WD6fx2QyUS6XicfjTE1Nqc/4VYDdbicYDBIIBNi+fTv33HOPFM6FhdvrxdggqsSSySSJROJKvWzFJSCqdnQ6HalUivHxcQqFAl1dXfJQZPXq1dJxVJz+x2IxisWirA46evSodB8VibOOjg62bt2K2+1mZmaGqakpstksMzMz6PV6tfG5yhEHJc3VIH6/n0wmQzabpVqt4vF4WLVqFYFAgMnJSer1ujxQE5XEAqvVSkdHB2vXrsXv97Nt2za6urqIRqN4PB6i0ei8r6NarZJKpTh58qRs2VZzzcrEaDTKg9SOjg42btyIw+FgcnISu91OLpcjkUgsiZSL4vJRr9dl2+Pp06c5ffp0y8/1en1LR4rBYKBSqdDZ2cnatWtpa2vDZDKhaRrZbJbZ2Vl5uKo+uxeGSopdBAaDQboCiiw9nBmgXC4XjUYDr9eL2+3G6XS2lDkrri5EEkTY5Yry5IUmmfkSIuebkM6VNDtfggWQ1Qc6nY54PE40GpUDrGJpEJpgVquVvr4+Nm7ciMvloqurS8ZFs1PM3Mo/kQgTbRD5fJ5EIkGlUpGJjlqtRj6fl4KbhUKBUqkkHye046rVKna7HbfbTSgUIpvNUiqVyOVySpx5hSHaqSqVily06HQ6ufGo1Wpks1my2SwWiwWn04nX68VkMuHxePD5fGiaJp2FCoWCqgRdwQhDDbPZTHd3N2vWrMHn8+Hz+Vpa4c9F8+ZYtEaUy2VKpZIS27+KMJvNUk/MarW2tMbNrQg3mUz4/X7K5TI6nY4tW7YQDAalFp2oFItEIjgcDkqlEplMhnq9vmCVuuLqwmg0EgqF8Pl8OJ1O+vr68Pv9lEolIpEIpVKJ7u5uVq1ahcfjkc7m5XKZZDJJMplsWfeJSjGxRvF4PFitVtxuN21tbQu6opfLZQYHB+WhjUqorCxEhbHBYCAYDNLb24vT6cThcJBIJEin00xNTTEzM0OhUKBQKKg54ypHHLbo9Xry+bzUl65Wq/T29qLT6SiXy9hstpYqdb1eL4161KHJ4lBJsYtAtE+uX7+eSCQi3eRsNhtdXV2Ew2Gi0Sjd3d3U63XS6TTRaFRtWK8yhKih3++Xp22RSGReHZi5SasLWUgsVE20mOvpdDo6Ojq47bbbiEajHDhw4KzFkeLS6ezsZM+ePUQiEfr7+9m8ebNciLhcLnm6K9remhNiwiK5VCqRTCYpl8tEo1GGhobI5XJMTExw8uRJKpUKHR0ddHV1ATA6Osrk5KS0Y7bb7fh8PrZv3053dzeVSoVt27YRDAaZmpri2LFjZLPZZfsbKc5G0zRKpRL5fF5WcxgMBlKpFMeOHSORSMhEJ0AwGKSrqwuHw8H27dvZtWsXjUaDTCbD9PQ0qVSKYrGoFrkrEJ1ORzAYZGBgAJfLxe7du7nxxhtxuVx0d3fPO2/MhxDSrdfrBAIBeb3p6WlZHaJY2Yi2aLEe9Pl8cm5oPlQT3x0OBxs2bKC/v59MJsP69evJZrNyDaLX6wmHwzKOzGYz1WoVi8Ui27EVVzc2m42tW7fK9khREdacBLHb7Xg8Hlk5XCqV5Pwx14hDr9djs9mk/rHX65XGD0Kbdj6KxSIjIyNYLBbVsr0CsVgshMNh7HY7AwMD3HLLLfh8PkZHRzly5Aj5fJ7Z2VlmZmaoVqtKG+4aQByMCu3AZ599FpvNxsDAACaTSbZG9/X1YbVaWb9+Pdu3bycajXLq1CkVAxeASopdBELAUmhKiQoAg8GAy+WiXq/j8Xhwu924XC7K5XKLRoxi5dMscGu1WvH7/fj9fhwOx7xaYM0VXeLxF7txPd/15laPOZ1OOjo6sFqtDA8PL3rzpVg84uRWnNSuX78eu92+qMcK4exqtUqxWKRQKJBKpZiZmSGdTjM6OsrQ0BDlclmKqDcaDakVYzAYCIVCeDweqSkiFrfBYFCKrxuNajhfaTRXitVqtZZKMaEJI0xZarUa7e3tlMtlXC4XPT090lVWVIoVi0V1uLKCsVqtBINBvF4vXV1dDAwM4HA4pFgunLvqV9BcKebxeKhWq2QyGfR6vUqKXSWYTKZ5K8Xm0xgVlWKAdKQslUot9xHJDIBoNCorxlSl2LWB0WiUlT9ut1tudMX6U8RQ8zhyrjVm80a6WbjfarXicrnkfeZSKBSkVq5Ktq48RHLU5XIRCATo6ekhGAwSj8dJJBJST2x2dlbNFdcQQhtMrPfhzJghWmWtVqtcL/j9fsLhMIBsr1csDrWLWiQi+eBwOAiFQnR0dNDZ2SlLkuGMeHY6nZYnOA6Hg0AggNfrpb+/n0ajITP4wgFGuYKsTOx2O4FAAKvVyurVq1m/fr0caAwGw1nJMMHchFmzQ1QymaRarcoWG3ECaLFYFixTX6harLk9z+1209vbi9fr5ciRI2oAvAwYjUbp/tW8wYFXFqcioSWSINVqlVKpRDQaJZvNtgjmJhIJqTcTjUalU63RaJSJEFFVptfrSafTMhly6NAh0uk0yWSS06dPS9Fl1Va38mg0GhSLRTKZDBaLBZfLRXt7O7lcjlwux+zsrNSOajQaOJ1Ocrkcer2ecrmsKsKuMur1umxzFNpSzZVBi0mIiXlBr9fT2dnJrl27SKVSsq1WzCXpdFrp/awQxJwrnKqF1o/D4cBut2MymeR8XS6XqVQqLS7mzTEhEhfNh1s6nQ6z2SyvIdpq6/W6XD8orm4qlQpjY2PYbDZsNhsTExPyYL2zsxOn09kynpzvsy/EuU0mE2azmUAg0HKQ1+x83Wg0ZEdLLpdjampKuhcqlh+z2Yzf75fJMBEPJpOJwcFBhoeHGRwcJB6PSzkNERvNgu2hUEi248diMbLZLPV6XR7EKq4uKpWKPFz1eDxyjyDMvkqlkpofLhCVFFskRqORSCRCV1cXkUiEzZs3s2XLFrnRgTMuYdPT02QyGXK5HMFgELPZTGdnJ6tXr8ZgMPDMM8/w1FNPkc1micViSmtsheLz+diyZQs+n48bbriBe+65B5/PJxe4i0G4iFWrVSYmJnjppZfIZDJEIhF6enrkCWAgEMBoNJ5Tq2wuzafO4XAYl8tFLpfj0KFDqmLoMiAWJaFQ6KyqD3jF8EB8ppPJJNlstsVVrDkp1uw+KUS1NU0jkUgwMjIC0LJ5KhQKGAwGqRXhdDrliVGtVqNQKKgE+wpEtM9PT09js9mkE10mkyEejzM4ONjiDiR0KUVlmJobri6q1Sq5XE4K4c5Nii1mfBcJFU3T2Lx5M729vZRKJfbu3Us4HCaVSvHSSy9x7Ngxeeii4mT50Ol0GAwGmYRwOBxyvhBfosVR0zRyuRypVAqj0Yjf7z9rPWE0GnG73S3vqYgjoUfmcrno6OiQumVq03P1UywW2b9/P8ePH2+p7AoGg2zatIlgMDhvkn0hLBYLHR0dBINBqX08t7q9Wa90aGiI559/nkQiwZEjRygWi1L6QbG8NOvDORwO2tvbcTgcjI+P88Mf/pBUKkUmk5EO9OJ9EwLtDocDj8fDzTffzMaNG0kkEjz33HMMDw/LQ1q1frz6KBaLjI6OUiqV5LpR6GCL8ULNDxeG2j0vEhFoHo+n5UucCgLSCSabzVKpVOQkFAwG6e/vx2g0cvr0adliqcreVy7C/ScQCBAKhaQuyFzmW5Q0J0oqlQqVSoVcLicrgoxGozzltdvtMrsvnKjmXvNcA5po7xQOVcIIQLG0iHYmo9GITqeTLZHitFW0RmazWSl8K05ex8bGOH36NMViUSbF5iLe84UWJiJGyuUytVqtxcUOkAL+ipWFaGERyXFxiGKxWCiXy+RyOXlfIZYqqgyb46v5S7EyEUmP5iRncxs+nL9STNxXjOFCILtSqTA5OUkkEpGnwEajsWWuUSwPzQkrIYxvsVjknCySG4CcK0qlEkajUY7rzdII4lpzn6PZtMVkMsmKInUIdm0gDlDS6XTL7ZlMBpfLRbFYlLGxUFKsOflutVqx2WxYrVZMJlNLrIkvcSgnDF+mp6eJx+NSmFvNN8uPaK/2eDwEg0GpLSuqCaPRKDMzM1J+Y+46UFQe2+12QqEQ3d3dch1iNptle63i6kOYc2UyGelCK6ScLBaLnB9UUmzxqNl0kRgMBnw+H93d3YRCIdxut6zuEZNLPB5n7969DA8PU6vVqFQqADIBZrPZ6OzsZPPmzVJDRjkFrhyaT3x9Ph8DAwN0dHTQ3t6+YAKzuYxdiKlPTU1JG+3x8XFpm37ixAlyuRwjIyOcPHlSnuR1dXVhs9no6OggEonIhbVol1AsP7FYjH379jE5OYnb7SYYDGIwGGSrdLVaJRaLEY/HZbVIsVikVCpRLBalUL7b7ZZi62Izk0gkmJmZkVWj50puiU3V3MWq0KtSrCyE0H42myWXy1EqlWTSa773S1SPejwe2W5frVaZnp5mdnZWxpVi5aHT6ejs7OTOO+8kGAyyfv16nE6nFMkW9zkXzUmz5n/r9Xra2trYunUrmUwGOCPMXSgUmJ6eloYNSnPuyiPWDUajke7ubm666SYCgQAbNmygra2tZfNZrVaZmppiaGhItsjabLaWA5f5ri++i5gwGo0y8WaxWDCbzbI6RB2OXFsUi0UmJyfJZrMtSfbmRKpojxPVh16vF4fDQTAYlFVFRqNRrk3Gx8flXCIkXwYHBzl8+DCZTEbOOyoxtnyYTCYCgYBMhg0MDNDX10c+n2d4eJhCocDY2Jh8/+ZbAxoMBsLhMD09Pfj9fvr6+ujs7ETTNIxGY4vWqeLqQ5h2FQoFurq6mJ6exmQyUa1WCYVCWCwW3G63SnpeACoptkjE4LJu3TrZ8iaqNer1OvV6nampKb7//e+zb98+AoEAfX19uFyuFh2pVatWYTQaSSaTxGIxjh07ppJiKwRRsi5aZbdt20Z/fz9+vx+z2XzOU36xIE2n07z00ksMDw8zMzPD/v375aCVTCapVCqyutBoNNLX10d/fz8ej4dbbrmFnTt3YrPZFvWciivH1NQUjz32GA6HA5vNJvU9hJ5XrVYjl8tRKBTkxqTRaMhkp9frxWKxyO9msxmbzYZOp+PYsWPk83my2axsh1qIRqMhq4maUVVEK5N6vU4ul6Ner5NKpcjn85TL5QX1Wux2u6xKbTQajI2NSTcwUSavkh4rE51Ox+rVq3nzm99MZ2enrNRYSC9yoWvM92+DwUBvby9tbW0Ui0VCoRC9vb0kk0n27t3L4OCgdKJT8XFlaU5KrF27lp//+Z9nYGAAq9UqK7fFIWmhUOD06dPs3btXOhcHAgF5aDpfhdhCz2e32ymVStJhUFSmq6TYtUU+n+fUqVMtztbNCL1jp9MpDXhEJ0tnZyd9fX1SV6xcLjMzM8Ozzz7LxMQEqVSKyclJisUi09PTjI6OtlQrqzXF8mE2m+X+IBAIsHXrVnp6ehgcHOSHP/yhdBUUerLzrQGNRiNdXV3s2LEDv9/Phg0bWL16NZqmyXhQY8bVS7FYZGxsTOYnhoeHgTPrhY6ODgKBAH6/XyXFLgCVFDsPzWXxYsJxOp0toqfiBLBYLJJMJpmdnUWv1xOJROQJnjhNtNlseL1eKZaqEh4rB/EeidJT4RwlFqsLvVeiukcsStPpNLFYjGg0Kis8RKtUcwJUr9fLhXO5XCaVSlEoFADOubFpFtlfjLaE4tIROmGFQgGr1Srb3pLJJIlEQn7+hWOYqCLV6/WYTCaZTBNl7yIpptfrcblcF6QppxJgVxeiRaVZ62O+RaioABFtUTqdTlYaClMWpUG5chCfVzFvCLfBYDBIKBRa9HUW41QsRNlFq3wgECAcDmM0GqVbodFoJJ/Pt1Scqli5/DS3vArdwPb29pb7iPdCaDgVCgX0en2LO+Bi3isRK6Kd32AwYDabsVqtLe5kimsH0YEwl+a4s1gs8jaTySTHCXEAp9frZZtkLpcjHo8zOztLKpWSDsiibVIZ9iwv4n0V5k4ej0dKLgh5lVwuJw/Z5ztIFWtPs9mMw+HA6/Xi8XhkO524jliPqHni6kQckut0OrlOLJVK0o1S7D+azTkU50Ylxc6BTqeTulIej4c1a9awbt06nE4nbrcbnU4nT3FisRhHjhyRvfjZbJaRkRHsdjs9PT3kcjk5QYVCITngqaTYykFYHQvLaqHncj73jkajId3kJiYmOHz4MAcPHpRmCoVCYd4SZU3TSKfTjIyMEI/HCQaDmEwmfD6f1B2bL8M/n2iziqPLS6VSIZPJyM2vaKctFouyl19sRmw2G2vXrqWrqwuv1yvbaERyTLiNCW2yRCKB0+mUemKqnP3aobndVVSIzV2Iio2NaNFftWqVFOAulUoUCoUFT4IVy4PNZiMQCMhDLiGAvHPnzrPErM/F3Na4xdzXYDAQiUTkQtjr9bJjxw6SySQHDx5kYmJCzkX5fP7if0nFkiEO2ur1OoFAgO7ublkJHo/HsdlsspqnmbmV4iJGxPWcTiebNm3i3nvvJZlM8vLLLzM8PCyTY2q8uPYQ8eByuWTl+dq1a9mwYQMOh4Pe3l46OjowmUxYLBa5Bh0fHyeZTDIzM8O+ffuYnZ2V7ZPValU6ICuWDyHd4na7cbvddHd309HRQaPR4NChQ7z44otMTk4yPT0tq8bnS4h1dHTQ3d2N2+3mhhtuYOfOnfLQ5ODBgwwPDzM7O0s+n1dmClc5YowXY75wvRaH72IvK1xG53aZKFpRSbFzoNfr8fv9DAwMEAgEWL9+PRs2bGjRCCkUChw7dowTJ04wPDxMOp2WSbFCoYDRaGTdunVks1npSuR2u+UGWSUzVg4Gg0HaqHs8HrxeL16v97ztL/V6XbrJjY+Pc+jQIZ555hk5SIkJZ76kWDKZJJPJSFHESqVCJBKhs7OTgYGBs+6v4mV5qFQqpFIpgJZ4aNYAE++vzWZj27Zt3HTTTfj9frZu3UpnZ2fLYyuVitSXGhsbw+VyyeRas5224upGJMWE26j4txBEhVZNIr/fz+rVqwmFQiQSCeLxuKz+UQvXlYPVaqWrqwufz0d/fz833HADgUCArq6uRSfF5ptXFvrcNyfPTCYTbW1tBINBNE1j69at1Ot1Jicn8fv9HDlyhKmpKdLptEqKrRBEVZemabL1Fc6837FYTB60Op3Osx7bXBnefD1RZbx161ZcLhczMzMUi0WmpqbkukNJc1x7iHHD7XbT09ODy+Xi9ttv59WvfrVsnXS73ZTLZcbGxpidnWVmZoYnn3ySkydPkslkGB0dJZPJtFSUnk/PVHH5MRgMMmnucrno6emhq6uL2dlZnnnmGY4fPy6NnIRj+Vz0ej3d3d3cfPPN+P1+br75Znbu3EmxWJSt9pOTk8zMzMiOB7XevLppNs2oVCro9XocDgeNRqMlKSYqQdX7vTAqKXYeRPmpaH+yWCyYTCaZ8CiXy2SzWRKJBNlsVpYeN+sKCf2YRqPRsgFSfb4rC4PBINsZrVarLDM+H2IxIdpoRcvTYhBxodfrpWh7uVyedzGrEmLLy0Itb6LSRziN+Xw+fD4fgUBAnvq5XK6WJKler5fVZfO5DCquLZpdCee2TzbPCaL1RbTDiEpE1dKyshCV3qKa2O/34/f7cTqd553X52tXaV4niASKaHmYbw4SPwdkrBQKBbxeLz6fj3w+r1wJVxDNhgmi2lj8f24lWPM8MZ8Af7PYuqhu9/l8VKtVqSVVLpdVUuwaRBgsGAwG3G43fr8ft9uNz+eT4vpClkXTNAqFAqlUSmqfJpNJqX26kNO14srT/HkW+tOik0jsC3K5nExqLCSqL+LD5XLJdagoxhAHsalUikwms2BSTXH1ItaWosVetOGKL5VzOD9q1XQO9Ho9Xq9XCh2KqqFarUYqlSKXyzE6OspLL73E/v37yWQyMvOuuPpwOp2sXr2a9vZ2+vv7sVqty/2SFCscm82G3W7HZrOxefNm1q1bh9frZdu2bQwMDEgdQjiT4JiZmSGfz5NIJBgdHSWXy3HgwAFisRjZbFZpRl3DCP2HfD4vRdHhzMGLx+PBarXi9XpxuVzY7XaSySSHDh2SLS/qFH/l4HA4WLNmDb29vXR1ddHb2ys3pec6SKnX6+TzeYrFoqwKFbbqU1NTMrHV0dEhDT1EO/35Wiztdjvr16/H5/Px8ssvs3///svxqysuEZEY0+v1MonVfNgqKnmy2Sxer1eaNjQn05qv5fP5MJlMeL1e9uzZQyQSIRqN8vzzzzM8PKz05a4hgsEg69atw+PxMDAwwLZt23C5XHR2duJyudDr9USjUTKZDOl0mueff55jx46RyWQ4deoU0WiUSqWiWqhWGMKUxWaz0dvby4YNG9A0jcnJSY4dO0Y6nWZiYkLOG2ItIBJper2eUChEV1cXTqeTG2+8kZtvvlnOH0JH7tSpUxw4cIB0Oi1djBXXBrVaTcpt1Go1DAYDOp1OJlkrlYqqHF8EKil2DnQ6HR6PR9rZCh0xkRSbnZ1ldHSUo0ePcvDgQSm0rrg6sdvtrFq1ilWrVtHT0yNP4BWK+RATjmizvfXWW3nNa16Dw+EgHA7LJLo4nSmVSkxOThKPx5mYmOCll14ilUpx+vRp4vE4xWJRbVyuYYSumDilFwtbIdDucDhkC5XNZiOVSnHkyBHpVKySYisHh8NBf38/GzZsIBKJ0N3dLR1pz9dqL078hSmLELk+cuQI8Xicrq4utm3bhtfrJRwO43a7MRqN5x0bbDYbq1evpru7m3q9Pm8rnmL5EUkxo9Eo3SfFSb6Q3jh16hQzMzN0dXXhcrnQ6XTSGbs5vsTBrcfjIRAIoNfr6e/v5/Tp04yNjTE+Pt7SHqe4uvH7/Wzfvp22tjY2bdrETTfdJKvQhYlDPB5naGiIWCzG008/zb59+6RmmKgOU7GwchAmKmLu7+rqYu3atWSzWY4cOcKLL75IpVIhl8udZbggTOAMBgOhUIhNmzbh8/nYsWMHO3fuxGKxkMvlpEvl6dOnefnllymVSmSz2WX6jRWXA2HIIQ5cm03j7HY7xWJR6hmrz//CqKTYORALEdE+KURQG42GHGTEola0PswXbPMJoyuuDhar4yVaFS7Hiey5XoPSGbvyCGcfg8GAx+Ohvb1dtkuKKh/R4tBoNOTJjXCmFc6kYvwoFArqJP86QFQJpVIpstmsNGYQSTGXy4XBYCCXy6FpGtlslnw+r9onVxgi0S3aXcWmZL7WhLlOwZqmSXHrUqlELBYjl8uRSCSIxWKkUimsVqt0hDMYDPj9fur1unye5sRb87WF3hicSZCJ1s5qtbpgS77i0mnWY6rValQqFcrlsoyRua2PJpMJu90uE2OAfJwQ3o9Go8zOzmI0GgkEAmSzWdmuKxwnhQP6XId0IdItDmsqlQrZbFYl1a9SxPsqNCcDgYBca5jNZgwGA/l8Xu5FpqenmZmZIR6Pk81mZTWqMl5YeYhKL4fDQTAYxOl0SoMd8dVs0CMQrXHi8242mwmHw/IwVuhWGwwGSqUSiUSCZDIpq9QrlYqaD65Bmlvr5/tSnB+VFFsAsen1+/309/fj9/vxeDzS8enEiRPs37+fmZkZYrGY3OA0TzpiwaIC8+pAbFozmYxMVCw2IVYsFuUmdqkt0edqjijXyeVFaDbYbDZuvfVW7rrrLtlmHQ6HpesTQC6XY3BwkJmZGSYnJ3nuueeYmpoim80SjUYpl8vkcjmV9LgOyOVyvPzyy9RqNUZGRmT7gs/nY8uWLQSDQSwWCy+88AKapnHgwAHGx8dlYkxtaJaX5lYV4UArNh4Lze1zD8TK5TIjIyMcP36cdDrN0aNHmZmZkVovpVKJkydPcvz4cWnYUS6XZTWQz+eTSRGTydQyH+j1etmGFw6H2b59O1arldnZWU6cOEEul1PJ98uApmnSCCOTyTA1NYXdbsflcuH3+1u03URFh5BmEKYr2WyWkydPMjs7y/T0NC+88AIzMzO4XC6efPJJbDabNN9xOBx0dnZKB0ubzSY1UAOBgGzh3bVrF1arlWg0yksvvUQ8Hl+uP5HiEvB6vWzdulW2Tt52222EQiGcTqesLNy7dy/PPPMMmUyGiYkJmVSfnJykWCwqfbkViGiHNpvNbNy4kdtuuw2LxUImk+HIkSNks1mmp6elK6h4/0SS1GQy0d3dzY4dO6Rr9aZNm3A6nYRCIYxGI+VymcHBQQ4cOCArCLPZbItbuuLaQFSFWa1WWRGmuHBUUmwemkUP3W437e3t+P1+bDYbcMaJbnx8nMOHD5NOp6Xj5ELXUcmwqwOh8TK3vel8iEVxoVBo0Qq6HDRXBiiWB2Fz7HK52LRpE6997WvxeDxyo9pMqVRieHiYkydPMjY2xjPPPMP4+LhstVan99cPIhYqlQrRaJRCoYBOp8PlctHf3097ezuJRILjx49TKBSkBszclgnF8iFaEprFaxdjxiKo1WrMzMxw4sQJotEozz33nNR9an4Oi8WC0WikVqvR09NDKBSiXq/LBa/YUM1XhQRnNtIDAwMYjUZOnjwpk6vC4EOxdDQL4xcKBRKJhDxA9Xg8LUmxZh2xWq0mHUIzmYx0MZ+enubFF19kZmZGGm8IF/NkMonX66VWq+HxeGQFkcViQa/XyyoxgHXr1qHX6xkeHmZoaEglxa5SXC4X69ato6+vj9WrV7N582YCgQDlclkasRw/fpzvf//7stU+mUyqBPgKRxyuWK1Went7ufnmmzEajTz99NMcPnyYTCZDIpE4SxBfr9dLM57Ozk52795NR0cH3d3drF+/HpvNJttpa7Ua4+PjHDhwgFQqJXUrVVxce4j5v/mgTnHhqKTYPFgsFpxOJw6HA6fTKUuUa7UahUKBfD5PNpuVwvrzVXmIhYrZbJZuhuIUVyTJjEYjVqtV2qmKxaoasJaHWq1GNpuVDj3N70dzH7YYbJqTU80uhDabDYfD0XJtYZe7FA6DcyvHhKuMKI1WiZbLi9lsxul0ymox0ULV3D4lXCXz+TzxeJypqSlisZhMmgrHScX1g4gH0cagaZpMrIjFDCCFkJsFdRXLj3AGs1gsUlJBtEov1tVprsvsXCdSeCXJAsjxQ6wRyuUyZrNZVo4ZDAbpig2vzA1ms5lAICC1aEKhEICsaFZxtbSI91NoN2WzWVwu11ljvJivhUv1xMQE8XicWCzG9PQ08XicdDotWynFuqHRaJDL5WR1scfjkQ514XBY6pKJpKlIkIXDYbLZrNQpbF6HKFYuZrMZv9+Pw+Ggp6eH9vZ2wuEwTqeTWq1GsViUBiy5XI7p6Wlyudx5pVwUKwebzUYgEJBGTWLNWCgUyGazFAoFAHlA4nA4ZCWQ1+vFarXS1tYmpX3E5150M4k9aiKRIJVKtYwrimuP5gIcTdPkGkLo2BaLRdVCvQhUUmwOOp2OcDjM2rVrZUuUy+XCYrHIwWV6eppTp05x4sQJ6SY2F7vdTnt7Ow6Hg66uLsLhsDztFfogYtFSKBTkhNasTaW4suRyOY4fP87k5CROp1NWaMynCTdXK0Zoetjtdtra2ujv728ZfMQJcqVSuSR9h/mqxBKJBMPDw6TTaaamplQlwGVEp9Phdrvp7+/H5/MRDodlslssSOr1ulzUjI2N8fzzz/Pss89KQe3m5Kji+qFUKjEyMiKdJDVNk4cvwnkKkJvqUqmkYmQFIdoSfT4ffX199Pb20tfXN2+F6KUgkiv1ep3JyUleeOEF2RInWieF86VwTO7s7GyZF3w+HzfccAPFYpHu7m4AZmZmGB4e5siRIxSLxSV7vdc7Inkl2idHRkaoVqsYjUZ6enpa7ttoNFo0JZ966ikOHz5MPp9nYmKCVColW+rF/SuVCjqdjrGxMbLZLGazmSNHjtDW1obdbmfTpk2sXbtWJlAikYisLOvt7cXn83Hs2DHpPhaPx5Uh1AonEAhw7733smHDBoLBIBs3bsTv96NpGplMhlQqxaFDh3jqqadIJBIMDQ0xMTFBuVxWiY+rAJ1OR0dHB7t27cLtdtPW1kYymZTt9adOnaJWq2E0Gmlra8Pr9bJlyxY6Ojqw2+0Eg0HpfO73+zGbzVitVvR6PY1Gg7GxMY4dO0YikeDFF1/k8OHDlEolOa4orj3EPtRgMMgDWDHfTExMkEwmlZnXIlBJsXkQDiB+v59gMChP38rlMslkskUIdaHklcVikYKHPp8Pl8slEy2lUkmWwAob5Wq1Khc/KiG2PJTLZWZnZ0mlUsRisXPqPM1NlAmxW5PJhNvtJhAItAw+RqNRDlLNWfzz0ZwEm5uIE7fl83mmp6elcLuKn8uLzWYjGAzi9/txuVyyXFnQaDTkxiaVSkkNIcX1jTBbgFfE9S0Wi6woFokV0RajdOZWFsItsFns2u/3z3vfS2lxb64iS6fTjI6OYjabpYC7+Lemafh8Ptra2s56PrvdTm9vL3BmPBoZGcHhcJDP51va+RRLg3jPhKi1yWSis7PzrAMqYdIUi8WYmZnhpZde4umnn5YJq7nJKpFwA0ilUqRSKXQ6HdPT0wwPD8uKdJPJ1KI7ZzQaiUQiGAwGstksoVCIqakpADkGKVYuDoeDDRs2cPvtt+NyuaS7bTKZZGJiglwux9DQEM8++yzRaJRsNqvWflcRorVaHK6azWbZhZRMJolGowDSfTgUCrFhwwbWrFkj3c1FdZnoDhGmHo1Gg1QqxdDQEIlEgtHRUaamppSG2HWAqBQThym1Wk2aO6VSKZUQWwRqdfQ/NGdZXS4XbW1tBAIB3G63zL7ncjnpHreQzotoo7DZbPJU2ev1yk2zqCiyWCxEIhHWrFlDNpvl9OnTMoibWykVlxe9Xi/bY91uN93d3bhcLrq6umRLylzmbkD0ej0OhwO/349er5ents2k02lCoRClUqnFDUxUCYpFragaERuXhVo1m8nlcoyPjxOPx6WWhOLyIdoXhCug2BA1vz9CANnj8bBq1SqZZBWPEad2aqFyfWIymfB4PNjtdqkNZDabqdfrshJAneqtLMxmM+3t7fT399PZ2YnVaj1n4qtYLErnt2g0SiKRIJ1Oy2rkZDJ5Xr24SqVCJpPBZDJRrVapVqtyfhCHbhaL5Zwi/1arlUAgQKPRwOfzYbPZWtYaiqWjUCgwNTVFuVyWFSAul4tqtSodJkdGRpicnJSOo6Kd8kI0TGu1GuVyGZ1Ox8zMDENDQ/h8PiKRCOFwGLPZLNuybTYboVCIrq4uDAaDNHZQrAya9QndbjcOh4O+vj5CoZA8OCmXywDMzs5y7NgxkskkIyMjZLNZ6U6o5oqrC6FbLTQqLRYLmqYRiUQYGBhAr9cTiUTw+Xx4PB5MJhPFYpFyuUw2m23RJBMOlsViEZ1ORzKZZHp6mkQiIaUaFNcmYp4XrsZOp1OuCZSu2IWjkmL/Q7OjU2dnJzt37iQSidDZ2YnRaKRSqTA5OcmhQ4eIx+MkEomzBhqR8NLr9YTDYbZt2yYX0SLBIqpK9Ho9O3fuxOv1EovFeOyxx1oW0apK4MpgNBrx+Xyy9WDPnj10dXXR09ODx+OZ9zFzBxqTySTNGKrVKqtXrz5r0SlaG5uTYtVqldOnT3PixAk0TaOzs5NIJILf75fuVAs9p0DTNCYnJ3n66aeZnp5mfHxcxc5lplgsSsdZ4egGryQu9Xq91HDR6/W87nWvY+PGjaTTaU6fPi0dyo4dO0Y2m13m30axHNjtdvr6+ggGg6xatUoewFSrVUZGRojFYhQKBZW0WEG43W5uuOEGbr75Zrxe74JVYnBmLEgmk0xOTpLJZPjv//5vnnnmGakFJLRIz/f5z2azVCoVeTCnaRputxubzcaqVauksPrc+aF5Qez1elm/fj2dnZ2k02kOHjwIICsT1IZp6YjFYjz33HOYzWZGR0eZnJzEbrfLRHelUmF6elpqgyUSCTmHXMhhVrlclvPPvn37GBwclFUlwWBQHq6ZTCZ8Ph/bt28nFApx+PBhhoeH1byzQhAHqk6nE6fTyZYtW+jv7ycSibB582a6urpkYrxSqbB//36+8Y1vMDExQSKRYHp6WiZc1ef46kLsF00mEw6HQ5o37dq1i46ODoxGIx0dHQQCAWnKEY1GW9aR7e3tbNy4EY/Hg6Zp2O12AE6dOsXevXul7pw6KL82EfsNvV4v9SXb29ulzrE6dL9wVFLsfxDC90ajEafTSSQSkad8er0eTdPI5XLEYjESicS8J23N1WbidK6trQ2PxyMryMTpgMViIRwOo9PpcDqdsi+8Xq8vWrRXcemINlbxHqxatYqBgQF8Pl9Lpdhckf3m28UpjcPhQNM0+b42L1LS6TTBYFCKHQrtB4BMJkOtVpu3Uqz5eef7t4jLiYkJJicnVQn9FUBUilksFukgObe11Ww2o2kaHo+Hvr4+nE6nTKTF43FKpZJqY7qOEZViIhkmKsUajQbZbJZUKqXEklcYZrOZSCRCf38/NpvtrIOLuZRKJdLpNPF4nOPHj/PMM89csJaTqA5rRix4PR4PLpcLs9l8zmtYLBZ50OL1eqUwv5BrUDG2dBSLRVmtIdaSVqtViumXy2Wi0ag0T7hYmrsJisUi0WhUalYWCgUMBgONRgOdTofVapVGC1NTU0uqf6e4NIRjnM1mw+Vy0dHRwerVq2V7ttPpJJfLScOM2dlZBgcHGR4elpWH6vN79SL2i6JSDJCtkaJAIxgMks1myefzFAoFkskkQ0NDRKNRKpWKTKAJMXVAal8Ld1sVI9cuzcZ9QmdO6BsrLhy1K/sfhHaDEKkTXyLBYDAYiEQibNiwgWw2i91uP0tMXZSz6vV61qxZI0ugm9snhZB+sVjk5MmTvPzyy7LvW0x+Krt7eRELRXGKKk7kOjs76ejowOfz4XQ6MRgMMskxXzJsvtub/9/c+mgymaSTab1el2L7oky60WjITY7D4ZCn/wtdr1gskk6npQ5aLpdraedTXB6EboxIbJ08eZIXX3xRxov4Es5glUpFtsY2C2CGQiEcDofcNE9OTkrNoLkW3IprD4fDIRPwdru9pS2iVquphNhVTvOhxVK/j/V6nampKQ4fPozX62XNmjWYzWa5wRKHanNdk1U8XX6ETqzZbKa7u5ve3l7Z3lQqlTAYDNKBfKnfj3K5zOnTp9m7dy+RSERWM4oEvDikEW52zXpliiuHOAgXrc+9vb10dXXhcrnYsGEDvb29WCwWMpkMp0+fJh6PS9H0o0ePks1m5d5EfaavXoSbcLlclhWDOp1OrgPr9TonTpzgyJEjFAoFxsfHpRGHMHLr6Oigp6eHYDBIo9FgaGiIcrnMxMQEhUJBdh4prk2a9UfF4YioOBQHYeLfOp2uJXGqmB+VFPsfhA26TqeTp7PCAUokNdatW0coFJJtD4VC4aykmMFgQKfT4fV6aW9vlxl/cTonWudSqRQ//vGP+eY3v0kulyMej5PJZC5IhF1xcRgMBjweD263m56eHl73utexY8cOHA6HdHRqXrwKLkU8WZzWiiSr+N7R0cH27dvRNA2j0SiTKqIMeiGENk0qleLUqVNEo1FSqZSMV8XlI51OUywWZcVGKpXCarVitVqxWCyytamtrU0abvh8PgA2bNgAnDnJm5qaIp/P8+KLL/LYY4+RTCZJJBLE43G1WbnG8fv93HLLLezevZvp6WmOHz9OOp1mdnZWLogVK5PFJrqa77OUY3KlUuHo0aNomkYwGJSizeKkWFSpisSLcrq9crhcLtasWYPL5WLdunXs2rULi8WC1WqlWCySzWZJJBKX5bnz+TwvvPACp0+flu6kQrqjvb0dr9fL8PAwLpcLm80mdcxUbFxZhFbUwMAAHo+HG2+8kW3btsn2J6/XSzabZXBwkJmZGcbGxnjiiScYHx+X1WJCY0xxdSIchvP5PBaLRbZJioPTarVKIpHgySef5MCBA7I7oVqtEgwG2bRpE4FAgPXr17Njxw6CwSAHDx7kRz/6EYlEgsOHD0vNStU5cm1Tr9fR6XSk02mGhoaoVCr09/fT1tYm9509PT04nU4p4aPG/IVRSbEmRMZVJMiaT+yFTpDRaKTRaBAIBM5qa2ju77Varbjd7pZSdXEyV6lUKJVKRKNRhoeHKRaLqkLsCiLE9UXJent7O729vZjNZlnNNR8LVW3N/f981WMi2TWXuYL8i7kenGnhE45DosJQ2axfGcTYYDAYiEajjI+Py2SY1WrF4XBIEXUhpC4S43a7HaPRKNtki8Ui09PTeDwe6UAmKgdBVXdci+h0OiwWC4FAgLa2Nuk6l8vl1CL2KmK+z+Z8hijN6wIhxXApn2vhSjk1NUW9Xpe6Y+L551aIzYdqrbg8iIpwj8cjD0PEab0QTJ9vHbAU1Ot1Ke3hcrmkUYdYj4rvQvdWxcDyoNPpsNls+Hw+fD6fXH+KPYPdbpemPNFoVCbGRkZG5P5BrQuufhqNhiy+EDIs4kun00mDlqGhIdlhpGmadKv2eDzyy+12o2kasViM2dlZ0uk0lUpFHa5dJ4gkay6XI5PJSBMW0ZbrcDgol8uXrUr5WkIlxf4HkRCr1WpMTEzw7LPPEggE2LhxowwsvV4vHUKMRqMsYRaDT3O723ytdfV6ndHRUY4ePUoikWB4eFgKpqqN0JXDaDTK7Hl3d7fUWWluPVkscweYS11oLvZ6YsATxg2KK4+maWQyGcbGxjAajdKow2KxkEgk8Pv90oXW5XK1JMVcLhfBYFC22dx9991ks1mGh4cZGhqiWCxKp1vRbqvGiKsb0UYrYkJU9Aj34YmJCSmcrLg6aE6CzT3AsNlsBAIBjEajNNoQTsHRaFRWhV/oArXRaJDJZJicnKRUKnHkyBGsVisej4c1a9YQDodb7m8ymWRLn9frxev1Sk1LJbi+tNjtdjo7OwmFQnR3d9Pe3o7FYiEajTI7OysrhC9HQkrTNJkcLZVKckMs1gpi3SoSYiopduXQ6XTY7XZcLhdWq5WNGzdy66234vF46O/vx+l0yva3VCpFPB7nhRdekKYrqVRKrQGuMeLxOEeOHMHhcBCLxRgeHkav15NIJEilUnKMF9qAQms4GAzS39/PqlWrcDqdjI6OMjU1xfHjxxkeHpbxomLl+kIYtwgtOhE3brdbumUnEgk17p8HlRT7H8QCVafTMTQ0xH/913/hcrnI5/MEg0HcbrcUQm9OXIhWylKpNK8GVPOCuV6vc+zYMb75zW+SSCQ4ceKEXLyozO2VQwwamzZtor29nXA4jNPpBDhnUmyhqq2LbbG8lOsJ/Tqz2SxPlhRXlkajQTweJ51Oy8+6qAoRph1msxmfzyfbqB0OByaTiU2bNvETP/ETtLW1sW7dOrZu3Uqj0eDw4cMcOHCAVCrFvn37KJVKVCoVWU2quHoRbRKhUIiuri6sViuappFKpThy5AinTp0imUyqpNhVxHzVw+LfwrBHtEgFg0Hi8Tg/+tGPyOVyMiF2oRXi9XpdbnyEhkg6naajowO/339WUkwI7ddqNYLBoHQzEy66iqXD5XIxMDBAV1cXfX19sgJdiGQnEgmGhobQ6/VLXsUhdGXK5TL5fF7GVbPWrfjenBhTa8/Li/hbezweuru7cbvd3Hzzzdx3332ym8RkMpFMJjl8+DD79u0jHo9z4MABxsbGpAax2idcO2iaxvT0NKlUqsWBFM4YZwgtMGHMJbpY7HY7HR0dbNq0iQ0bNhCLxaSL+b59+3j55ZdJp9PUajVVJXadIbpOqtUqPT09slDH5/OxatUqPB4PExMTaq94HlRSbA5CxFwIaScSCTKZjGx5sdlsLUElnASbk2LiZK65BUqUv2azWaLRKIlEgnw+rzQdriBicSIqdjwej2yXbG4nmOsk2HzbxbDU14NWt1Rx+rsUrTmKC0O0Ui6EyWSiXC5LYwe73Y7JZCISiZDL5aSLpTBW8Pv9BINBWU0mHImUU9zVj16vx2az4XQ6sdlssk1WtE6KwxV1wrtyaTbhaWbueN7sMg3g9XoJh8Po9XrpNiqSn3Nb8ecy3zwhqoJEwjyfzy8oqizmCjH3iS/VQrf0iPdctNJbrVbMZjN2ux2n00m5XMZisUjtoMsxXy/U1jv3S3H5EQdkYuwX7W4+n0+6S1arVWq1GtVqVepKCm3RVCq13L+C4jLR7Cws9AaBFmd6gehSEpIcwu1eaFEnk0nS6bQSUr+OEcnzQqFApVKR60ix7xA6yGrOPzcqKTYPlUpFimm/+OKLlMtlHA4HHR0dRCKRlmqiUqnE9PQ0mUwGg8EgK3fWrFnDHXfcQSAQIJfLkUwmyefzskUmlUopq9wriMFgIBgM4vf7CQQCbNiwgY0bN+J2u3G5XC33nasJM/ff5+JclV9LdT04o0XW1dWF3+/n5MmThEIhNE2jUCiouFpBiImqWq1iMBgoFovo9XoOHz4sT48jkQjd3d1SK6Kvr49SqSRdpnK5HCMjI8zMzMgkikqcXH2YzWbC4TB9fX0EAgEKhYJskRXtEuVyWb23K5Ryucz09DQnT56UG1qbzQbMP04bjUap4dTR0YHdbicSiVAsFgmHwy3rDKEhNDdRJhIsYs2h0+mo1+tyw+x2u9m0aRPbtm0jEAjg9XqvzB9DMS/1ep1CoUAul5MuwsJ4qa+vT37v6emhUCiQSqXI5XJL8txGoxGv14vT6ZQmT3BmjTozM0M+n2dqakpqF6rKo8uP1+ulu7sbh8PB2rVr2bFjBx6Ph40bN2IymahUKpw6dYrR0VHi8Tj79+/n2LFj5PP5JYsLxcpHaMWJfwvEwYXb7Wbz5s309vYSiUSAM+2XY2NjHDp0iJmZGSYmJlQ3wXVMPp9nbGyMZDLJwMCArEIEcLvd1Go1eUinWBiVFJsHkanX6XRkMhkOHjyIxWKhv7+fnp6elqRYLpeTtslCZNVsNrNnzx62bNmC3+8nm80yPj5OOp1mbGyMyclJstnsRemJKC4Og8EgHX9CoRCbN29my5YtmM1m3G43cOnVW3O5nNcTG7JarcaxY8eIRCKynU+U2iuWn0ajQaFQOCsxKmzWDQYD3d3drF+/HrfbzS233MIdd9yBXq+nUqlgMBhIpVJS/0c44qrEydWH2Wymra2NVatWydb86elp6RybTqdVFccKRljdezweurq66O7uPuf9hTstnNGaam9vp1gs4na72bBhg9QNzGazspVRnPKLinNhpy4qveDMod3JkycZHh7G6/WydetWbr75ZinerVg+arVaS1Ks0Wig1+ulvmQmk2HVqlX09fWRyWSo1WpLmhQLBoO0t7fT2dkpHayLxSLj4+MkEgkmJiZkRaoaZy4/Xq+XLVu2EAwG2bFjB3v27MHj8WA2mzGbzRQKBQYHB3n66adJJBLs3buXwcFBqW+suD6Yr/oYziTFDAYDHo+Hbdu2sWPHDqkhHIvFGBkZYd++fYyPj1OpVJQr6XWMODw3m81s3LiRVColK8M8Hg/1eh2r1aoqxc6DSorNQ/PGRGg0iJ5/h8PRImwuqsBSqZQsixdOEOI69XqdcrlMuVyWpdJKNPPKotfrsdvtBAIB/H6/FDwVbSSw9I5cl+t6zdpVwlFKlFVnMpklfU7FpTNfokOMCWLjm0gkpKNoqVSSJgoejwdN01oEskXLtWjLVpublUtzm7Noe3A6nZhMJqkXksvlqFaraj5Y4Yi5/Hwt03B2dbCYYzRNw+VyUSqVsNls1Ot1zGazdAo8V1JM3F6pVKSWmMvlwul04nA4sFgsLckzcX81Plw5mt3FxRoQkF0EFosFl8uFz+fDYDBIGY16vS4PPICLGgtEe6yoOG6OuVqtJh3O1Zxx5RA6os2fVafTKfWi8vk82WxW7iFE65N6fxR6vV6OGSKGRHJDVHoWCgXZMqkqP69vRBeJkFYQuQZA6k9fqJHc9YhKip2HZlfKWCwmK8gElUqFTCZDtVrF7XbL1pienp4WPSChGSMGL7UwubKYTCY2btzI6173OjweD319fdjtdnkSczXjdrvp7+/H4XBQr9eZnZ1VlWJXCZqmkU6nGRoawmq1otfrSaVSOBwO2tra2LRpE+VymUAgwNatW6UYr3CeSyQS6nRwBWOxWOjr66OtrY2Ojg62bdvGhg0bmJ2d5eDBg0SjUU6dOqVaZa4CmnVdxGf1QjEajfj9fqxWK7VajUgkIhewon2yeX0xX/tkpVLB4XDIVrmuri48Ho9MpAvmGv003664POTzeUZGRsjlcoTDYbkpEUkxp9PJ1q1bcTgcZLNZTpw4wfj4ONlslqGhIWKxmIyFC60UEgd/Xq9Xuh0rlgfR9ibm8c7OTtnaXKlUGB8fZ3R0lHQ6zYEDBxgcHCSXy5HJZNS+QAGcGftXr15NZ2cnHR0drFmzhs7OTqLRKCdPnpSOlWKsUHFzfSMO7XQ6HcVikXQ6jcVikVrFYn5Q8/+5UUmxRSBO2uLxOIlEYt6fa5qGxWKhu7ub7u5uOjo6ZFKsWq3KE6HmSg/FlcNsNrN27Vruvvtuucm4FrLmQm+gt7cXh8NBNBq96pN81xvZbJZcLofBYCCbzTI6OorP5+PNb34za9euRa/X09vbSy6XY2pqSp4IZjIZ2aajWJkIjbhNmzbJJOeaNWsolUocO3aMl156SQrkKlY2zUkxURV+oRiNRnw+X4v2l6jmmm9dMLc6GM5sqs1ms6wO6+jowO12t8xnzfef7xpznbIVS4PQjc1ms6xdu1Y6mhsMBgwGA0ajkY0bN7Jq1Sry+Ty9vb2MjY0xMzMjq7lKpRLlcvmik2LCQEglxZaH5ip+oSPY0dGBx+MBXkmKvfjii6RSKQ4fPszJkyepVCrk8/llfvWKlYJYO2zbto1QKCQP13K5HJOTk5w6dYrJyUkKhYI6BFfIpBic0ZHMZDLS2Mnn88muIsW5UUmxC+B8ei9GoxG32y3b88SiWSx4m9ueFFceg8EgnbeaOZf218Xogl3J64mfC00ClXC9+mh2BCuVSuRyOYxGI8lkklgsJuNVOJj5/X7C4TAGg4Hp6WlprKDe95WBTqeTmjEej0c6igqx03Q6LROa+XxeietfJTQaDekS5na7ZcvrhSaYml2qmx93vs+wuH+j0cBms0l3WrPZfNbzNyfZRKW7aNlWc8XlQxirGAwGCoWClM0QCTG9Xi/H80ajgdvtxufzUa/XaW9vp1wuUywWsdlsskVKVIGIpNncsUKMNaLV1u/3y8pBOKNzls/nyWQyagN9BRDvsTDaEG3zRqNRtl5ns1lpliHa51ULvQKQCVXxmfb5fLLlNpvNkslk5Hf1eVbMZa7L8ELrDcX8qKTYEiLEELdv347H45FCp41GQ056agBbeczdmFyMS+RyXU84TkajUSnarDY6Vyeapkl9mXQ6zQ9/+EOmpqbw+XzcdNNNrFu3DqPRyC233MKaNWs4deoU6XRaahUqV8qVgdFopKenh66uLoLBIHfccQc7duygXC4zOjrKSy+9xNDQEMPDw0Sj0RbtB8XKpVAocPLkSUqlEul0moGBAdxuN0ajEYvFcsGVx3PH6cWM25qmYTAYCIfDsuJZVKA0IwTfhXaRcDadnJyUmynhdKlYOgqFApOTk1gsFkZHRxkbG6NSqeD1eqWOmNB90+v19PX1EQqFKBaLrFq1Sr430WhUCvbH43HK5TKzs7PyeuKQ1Wg0ys4Et9vNtm3bGBgYkAmyer3eUo00OjoqdesUlwez2UwoFMJut9PT08OqVavo7e2lWq1KI6QjR47w9NNPk06nicfjct5X+4PrG51Oh81mw2azEQ6HWbduHTfccAPVapWJiQmOHz/OyMgIhw4dkp9l5TipUCwdKim2hDgcDgYGBtiyZYssmW8W21eucSsf0cqyVBn1K3G9crlMKpUimUxSLBZVjF3FFItFuYltNBqMjY3R0dHBwMAAO3fuxGazYbFYqFQq2Gw2nnvuOSYnJ9HpdGqTu0IQSYt169YRDofZsmUL27dvZ2pqioMHD/LSSy8xPT3N9PQ06XR6uV+uYpGIpFKhUMBkMpFOpymVSpjN5hbDlgtBjOWLTYjBmTlAGG8I5s4vIhlWLpfJZrPMzs5SKBSIxWKygknp0Cw9zZVhMzMzzM7Oygp18X4ZDAZZTWSz2eR7sHHjRuBMC+bMzAyFQoF4PC41yoaGhqTemKggs1qtrF27lg0bNuDxeNi8eTN9fX0YDAYsFguNRkM6pB85coRkMqna7S8zwiDH7XYTCoVob2+no6OD2dlZYrEY6XSa4eFhDh8+rDTEFC3odDosFgtOpxOv10t3dzfr1q0jFotx7NgxTpw4wcTEBKdPn2ZiYmK5X65Ccc2hkmKXiNAZMRgM2O12uThublVIpVLMzs6SSCTI5XIqabHCma8VpXnj0ixePN/tS3m9Wq1GqVSSp0HiZ8LlqlarMTMzQzKZJJPJKKv1awThIFMsFmW1wNTUlHQyFK5WkUiEVCpFOp2mUqmok+ZlRJSnG41GXC4XwWBQVoeUy2UKhQLpdJpEIiHNWRRXD41Gg1KpRD6fJ51OMz09jcvlwu12y82MXq8/ywHyfDSP14s9QBH3aW6NFO01IjGTSqVakmLFYpGZmRlyuRzFYrHFHVGxtGiaRrlclrouXq93wb/1XO03kSyDM/pTgUAAm80mxZPFwZemaZjNZrq6ugiFQjgcDsxms/yZqD5tbtUulUpq/XmZEOL6drudtrY2gsEgoVAIo9Eoxw7hMikqw9TnT9GMXq/H4XAQCATwer3o9Xq5BkylUsRiMVKplKoOu8YQRTR6vR63243H40Gn08limmYXc9F5JnIM88WDWBeo7rQLRyXFLhEhdOvxeOjp6cHhcGAwGMjlckxPT1MoFDhw4AA/+tGPiMVizMzMqM3QCma+TcncRWvz/c6XELvU6xWLRelK1Wg0ZLVhLpcjGo1SLBZ5+eWXOXToEJlMRi62FFc34j0WrZHPP/88xWIRv9/Ptm3b6Orqoquri7vvvpstW7Zw5MgRvv/971MqlZb7pV+3iGSl0+mkv7+fG264QR6UTE1NMTo6ypEjR9i/f79MriiuHkT7k6ju+N73vsdLL71Ef38/N910E36/H7vd3qIneqFcaEWxaLXO5XIkk0kOHDjA2NjYWUmxaDQqxXeFw6Gwb1csPZqmkUgkOHr0KNFoFKvVSm9vLyaT6bx/c5PJhM/nk3pCbW1t1Go11q1bx7Zt26jVarL6zGAw4PV6ZWJWOI9VKhVSqRTFYpHBwUFGRkaYmJiQMh6KpUVoQBmNRrq6urjnnntYu3Yt4XAYu91OpVJhamqK/fv3E4/HGRsbUy3zirMwGo309vaydetWaZ4yOjrK+Pg4Bw4c4ODBg7KtWnHtYDabpYHPTTfdxG233YbZbJYHGgaDgUAggNvtplwuy5brsbExnnzyybOqBqvVKtlsVrbiqnl+8aik2CViNBrxeDyEw2F8Pp8Uva1Wq7J6Z2JighMnThCLxZTuzwqjOWnVnJg63+ZkvsTW5bhetVolFosxNjYmqwHq9TqJRILR0VHy+TxDQ0NMTExQKBTU4HcNUalU5AnQyMgIBoOBjo4O1q5dKzdO69ato7Ozk1KppJxllhlRJWSxWAgGg/T29mI2m6UGVSKRYHp6mvHxcZngVlw9NBoN6RKq1+s5duwYMzMz1Ot11qxZIyvGHQ6HrBq5UC601V7TNNluPTs7y8svv8yxY8dkzDUnxVTb3JWlUCjIQ1DRDr+Y+Vmv18tKseZYKJVKdHd302g0sFgssjJRfNVqNZLJJNlslmKxSCKRIJ1Oyy6FVCp1uX7V6x5RySHaZNevX8/27dsxmUyYzWZqtRqZTIbx8XGi0SipVErtAxRnYTAY8Pv99Pb2Yrfb0el0JBIJotEoExMTjIyMyEohxbWDaHd3OBysWrWK2267DbvdTiwWI5FIYDKZ6OzsJBgMUigUmJiYIJlMYrfb2b9//1nXE1VkpVJJVYRfICopdokYDAZcLpfM4grHn2KxKBcjiURCtropx6floV6vMzs7y/Hjx3E6nQSDQVmiCq2bkfNtSs61cZnveuL5xfsvWqnq9bo89WmuAmsmk8lw/PhxZmZmZElso9Egm80yMzMj3dBUKf7SIxa6c7WCxHt5pajX62QyGWZmZjCbzbIypFaryZaZUChER0eHFNgWMaG4chgMBukEZ7Vasdls6HQ6WZ0jKofVHHD1Iza5mqYxNjbGoUOHmJycpL29nYGBAfn+CzH8C0HMBUKLtNnlEl4xVxGaYRMTE8RiMaLRKFNTUyQSCarVKrlcjkqlotxNl4lisUg0GpVVQpOTkzidThwOh9zwzrfmWGhtIXTIGo2GbLWZew2j0ShbKG02G9VqFavVetGVi4rFIWRUxGfearVKTbdMJkO9XicejxONRolGo0pGRdGC+ByLNYTVasVoNMq251gsJtumVdxce4hEpzBUGRwclIdrYky3WCxYrVZ0Oh0+n0861Hd2dsr1gBhrTCYTdrsdu92OwWCQrZQqds6PSopdIlarla6uLtavX09PT48sVUwkEhw4cEBWiQn3JxWUy0O5XGb//v0YDAaCwSB79uxh+/bti06ENTPffc/nMilOi6vVKjMzM4yOjlIoFBgaGuLkyZNSB6ZcLrdsmCuVColEQlaBNeuFCM26Zs0xxdIhtKFMJlPL7ULj4Up9liuVCqOjo8zOzpJOp9m8eTPBYFBqitlsNgqFAjfddBNdXV0MDw/z8ssvK5exK4hOp5M6by6XC6/XSzAYpFgsMjw8zL59+6RDrEhWqsTY1UuxWGRsbAyj0cjExAQvv/wyFouF3bt3c8899+D3++nq6qK7u/uCk2JCR7Jer0stGREzogp9dHSUiYkJ8vk8p06dYmpqinw+z/j4OMlksuWQ5Uon8RVnPtuxWIxDhw5ht9tlktTr9bJmzRr6+/tbElvzPX7u7UajsaWCTMSVuJ+oMBNVB7VaDZvNxuTk5FlzmGJpMRqNeL1ePB4PwWBQtrSKVslcLseRI0c4dOiQTHCoQyuFoDn54XQ68fl8NBoNTp8+zdTUFPF4XB52gFo7XGuIw+xKpcLBgwdJp9O43W527NjBpk2bcDgceDweqU3p8Xio1+s4nU6mp6fp6uqSh3PZbBa73U4wGCQcDmMwGCgWi8pxepGopNglIirF/H4/LpdLVoqVSiV5cptMJpUI9jLTXCmWyWTYsWOHdAady3zVXgtph80VST7X84tTeyHSnM1mOXHiBAcPHpSDVrFYbLlOo9GgWCxKpzA1GV45xMl8c1uiSEgulZvoYhCVgdlsFqfTKXUGhA6BSMC0t7ejaRqpVEpVBiwDQudHxIyo1BBtM0LjR32Gr35qtZrUdUmlUkxMTGAwGHC73WzZsgVAbmzO9X7P1ZWEVpFcUQlcrVblfUXl0enTp8nlcpw4cYKxsbEWHSnF8iPMDCwWC9PT00xNTVEqlWhvb6fRaLQkS5vXFwvFi2iTnC9hJh7TbPIgDmhVpdjlR6fTyflYaAOZzWY0TSObzZJKpUgkEsRiMeLx+HK/XMUKQ6/XYzAYZAuu1WqlXC6Ty+WYnZ1Va4drHJEbEPvUWq2G2+1m1apVZ1WKAbILIZfL0dnZKQ/SzGaz3LfY7XZsNps8FFOi+4tDJcUuAr1ej9PpxGq10tbWRnd3N729vbKkUZRBFgoF8vn8WdU/iiuPKGOfmpqiWq1y+PBhuXEVVTfiJNZoNJ6lB7aQdphOp2txAKtWq9IhqplkMsn4+DiFQoHp6WlOnz5NoVBgbGxMOgeWy+V5XURUu9XyYDabCQaDuFwunE4ngUAAs9ks3eeWqvpCtNCKiWuuAHazM01nZydutxuLxYLJZJJxKdxvnU6n1JpRXDl0Oh1ut5uuri78fj8mk4lsNiu1xIRAu6rovHbRNI1oNMrBgwfxer2Mjo5y/PhxeVA2H/MlxZorxQqFgmyJENRqNSYmJmT7fDwep1AoyDlIsTIQld2iOvzIkSO43W7ZzmK322lvb8fv98u1xFzDnfmY70CmueJdVJ81O1erDoXLi8lkIhAI0NHRQTAYxGw2A2cOx2dnZ6WOmPp8Kuai1+sJBoO0tbVJcw1xiJ5MJmUVsNKEvLYR84XQAW00GgwNDeFyufB4PFSrVWq1GmazWe4BbDab7FBzOBwyCb9161aCwSBut1vqSSaTSUqlktpLngeVFLsITCYTkUiEcDhMX18f27dvZ/fu3bIEtlwuk8/nSSaT0iVCLUqWl3q9zvT0NIlEAqfTSb1eZ3BwkGAwyA033CCFLSORSMtp63wOkXPRNI1SqSTdvY4fP8709HTLfcbHxzl06BCpVIpUKkU0GqVarcrHNbdGzr22qhBbHux2O319fUQiEXp7e9m9ezder5d8Pk8mk1mSpJimabLqo1gskk6nSafTLeOFXq/HarVK7bBIJCJPo8UGymw24/V6qdVquFwulRS7wuj1etra2ti2bRterxe73U40GiUWizE6Osrp06cplUpSqF1x7SEWsbFYTJ7uCuOdC6F5LhAHLnN/Lg5QGo0GlUpFiumqTffKQbyH9XqdEydOMDExgd1uZ2JigqGhIQKBAHfccQcej0dWgS1GzmE+Mx9Bc0umqDIU+qWKy4dwF123bh09PT3Y7XbgjCaseO+F+6dC0YzBYKC/v59bbrlF6h3X63Xy+TwTExMcO3ZMHpYqrk3EPCGqv4rFokyiDw0N4fP5SKVS5HI53G43q1evJhQK4fV62blzp6wS3717N+VyWWqbGgwG4vE4ExMTLc7ZioVRSbGLQIhqOp1OmcUVrRJC56lWq8nqH9H6plg+mhNXtVqNqakpDAYD5XKZgYEBAoEAOp2OSqUiT/maK8TO1SYpTnXEple4xTTfb2pqitHRURKJBLlcjkQioRaqKxyDwYDNZsPpdOL3+6X7Sz6fX1DIfu5mZjGmDSaTiWKxSD6fx2QyodfrW64tXofVasXn88lqRoPB0FJdIDbhzUldxZVB6PkIXZlmHQdRMaxa6K998vk8+Xx+uV+GYoUgDrRyuRy5XA6LxUIoFJIn/6JCWLRPiTVHc3JsoTlFrC/mrk2aDRrK5bISWL4CCNdZr9eL0+mU1aHiPRbdAwu9DwsdtiquDxwOB+FwWFb6i8MQUSmsYuH6QIzdIocQj8epVCrStCWZTAJIfXKDwYDH40HTNGw2G2azmWq1Kg9mxTXFOlQ5UZ4flRS7SJqtsMXJnCiVr1arcjDLZDLScUyxMqjVaiQSCTRNI5PJoNPpGBwclK2UVqsVt9tNJBLBYrHIQaper8tWqObNbaPRkG0KhUJBJr+aicfjxGIxCoWCKmG9SigUCgwPD5NKpaTQqdPplKXKzdVYer1euooZDAasVismk0m2NYpE63yIhFalUpGb6ubqQL1ej9lslkLuPT09BAIB+RzzbZwUVwYRCzabjd7eXtavX4/dbqdUKnH06FHpCigOR9Q8oFBcv9TrdWKxGCdPniQajWK325menm5ZSzqdTjo7O3E6nVIzcj6hfHEgItpqhKnH9PQ0+XyesbExEomElGhQLD3iPROtsAMDA/h8vhYd0vkQ2pMGgwGn04nT6WyZw8vlMslkUq4F1Lxx7aLT6WRSzGazkc1m5XqzVCot98tTLBOapsk9AcDLL79MLpfD4/EwOTlJOBzGYrHg9XqxWCwtjy2VSuRyOWn4Mjk5KQsy1N7z3Kik2EUiTvaaT/dEEIuAFMKaykZ3ZVGtVpmamiIajWIwGDh69KhcpNjtdoxGI729vezatQufzyff00qlwrFjxzh8+HBLKXNzu0u9Xpens82IajIRCyoeVj7ZbJYjR45IAdTHHnsMo9FIf38/mzZtkk5gcGaR297eLicqn88nY0qYcCxEKBRiYGCgJY6aqwDE+CIW4CaTSVaDie8qKbY8OBwOOjo6cLvdbNiwgd27d2MwGHjyySd54YUXSCaTTExMyCoBtSBRKK5fhB7c7OwsFouF0dFR/H5/y+FqV1cXd955J52dnYTDYex2+4LukaKVtlAoEI/H+eEPf8jzzz9PoVBgZmaGbDYrdecUS4uYf4XZ1qpVq9iyZQsWi0VWaSyE2WzG4XBgsVjo7u6mo6Oj5ZAtk8lw9OhRuWZUFR7XLnq9XuqRWq1Wjh49ytTUlHSdV1yfaJpGsViUhguZTIZ9+/bhcDjo6+vD7/fj9/tZt24dPp8Pt9tNe3s7VqtValrX63WmpqYYGhqS0j1qHDk3Kil2kSwUWM1JD2WFvjIRp6sicSUmHqPRiMVikXow0WhUJrlEUmxqaorx8fF5T3Ca3cPUwHP1I4Sum9HpdPJU2OFwyNtNJhNOpxOHw0GtVpNVXM2tkM36cM2bIFEFJq7fTHNSTPxMxJdOp5MVjCKehcOMir8rg6jeE6f94sS/VqvJRUipVFJjgkKhAM64hwppDaFB2yyQbzKZiMfjMmmSy+XmlXGAM3OBqC7OZDLEYjGmpqYoFovEYjHZnqnWoZcP8d4J10Ax78MrDtYWi0UKY4vKINEq53K5cLvd0llUrE+bDTrOZ76guHoRyVXhWCoc54XUi+L6pbmdUjhQF4tF6U5arVYJBAJy3HC73WiaJk13hEt2Pp+X7ZOKc6OSYhdBc1ljsVikUqnI1hiDwYDJZMJsNsvWGrFZVZPaykS8L6Kaq1arMTMzw4EDB7Db7XJAEln3c7k5KVH8axtN00gmkxw/frylZFmv1zMyMoLb7cZoNGK327FarbhcLimKKdqqq9UqHo9HnuqcD9GeIVp5C4VCywlyo9FgeHiYvXv3Eo/HGR4eVqKsVwCdTkcwGGTLli34/X7a2trkexKLxRgeHiabzaqSdYVCcRaNRkOK4DcffGiaxpNPPonX68XlcsnqYzg7KSbWopVKhVwux+HDh5mcnKRarUrHOlWZfnloNsIoFApMTk5y8uRJWfXjdDoJhULcdNNNrF27lkQiwU033US1WsVqtWK1WmUiVBxwpdNpcrlcy/XVgcq1idFoxGQyYbPZ5GE8QCwWY3BwkEwmQzqdVu+9Anhl7K9UKiQSCWnMlcvlpISHaLU3Go0YjUYp1D80NESpVCKbzap4Og8qKXYRCEF9IV7XnBQTDpRmsxm73S71ZZTY/sqlOSkmFo+ivVKc3on7qeo/RTweJ51On1XVJaq/xL91Oh1er5ctW7bQ2dkpT++LxSLd3d3s2LEDr9d73ucTLZhut5tKpUIsFiOfz1OtVikWi1SrVUZGRmS7XjqdVkmxK4BOpyMUCrFjxw7C4TAdHR3ylHdmZoahoSE5RygUCkUzospr7viQTCYZGxuT84nBYDjndZor1MVatLkqWa07Lx9izVgoFBgfH2dwcJBIJEIgEMDpdBIOh7ntttvkwbg4zBKb1lqtxujoKJOTkxQKBWq1mtQQEt0m6j28NjEajbJwQlQYaprG7OwsR48epVAoyASpQgGvtMvHYjGZTD916pTcb8znYNxclKMS7OdHJcUukmZ3SeEyBrS0RgktomatAMXKpjlBppziFPMhNh+LQafTkUwmZZ9/PB6nVCrhcDjOMmxYCLFYEovqeDx+VlIsmUzKMulyuawmviuEwWCQbQ/C5Sefz1MqlSiXy+esKlUoFNc38yU8RLWp4upAtCvl83lSqRQ2m006Det0OqxWqzTSMRgM8vBcVAWKQ3YxZ4h5Q8kgXB+ItZ3QHS2VSjIW1B5EMR/NcaHmiqVFJcUuAlHmLCa5Q4cOodPpcLvddHd343K5MJvNWK1WbDYbtVpNCWErFNchpVKJ0dFRksmkbLMQC6BMJrPo9klRYi/aJ0U7r9AOyGQyzM7OUiqVZEul4vIjNrDlcpnh4WEGBwfJZrOMjIyo90KhUCiuYUTSKpfL8dJLLxGNRlm9ejVtbW3ShEtU+sViMcbHx2XiSyTCjh07xqlTpyiXy7IdqlQqqda5axzhGNtoNBgaGuKZZ55B0zSGh4dlB5JKiikUVxaVFLsIxCY0k8mg0+k4cuQI9Xqdzs5OQqGQdJ4TugGlUkklxRSK65Byuczk5GSLUK6wST59+vSix4Xm+zUvlJuvKZIvaiF95RAt1ZVKhfHxcUZHR8lms3Lzo1qtFQqF4tomn89z9OhRhoaGyOVy7NixA4/Hg8ViweFwoNfrSSQSnDhxQjrJpdNpCoUChw8f5vjx4/KAq9mBWs3l1y7CAEPIX+zduxdN0xgbG6NYLKqEmEKxDKik2EXSLHonXH+MRiPj4+NUq1Wi0ahsbVKDm0Jx/TJfpVBzEktx9SJaYqvVKvF4nEQiIdsn1YZGoVAorn2aW16z2SwzMzN4vV6pLazX65mcnCQajZLP58lms2QyGUqlkpQ8aNa0VVw/aJomKwMBJX+hUCwjOu0q+/SttIorq9VKW1sbHo8Hu91OJBLBbrczMzMjW2kqlQrFYnFFDHSLeQ0//OEPueuuu3j88cfZs2fP5X9Rl8BKi4erjWspHvr6+hgZGVnul3FVc754uFpiAa7M2NDW1kZfXx9ms5l8Pk8ul6NarZJIJEilUpf9+S8namxQNKPGBoVgMWPD8PAw/f39PPjgg7zzne+8/C/qErjUeBBtknq9Hr/fz5o1a/D5fFJXWKfTkclkSCQSUhu0Wq1Sq9VIJpMkk8kl+k2Wh2spHq70XCGkdzweDwCjo6NX7LkvF2quUAiutnXkBSnA//M//3OLdbTVamXt2rW8973vZWZm5nK9xhVNqVRiZGSEQ4cO8eyzz/Ktb32Lr371qzz++OOMjY2RSqUoFAorIiG21JwrHh555BHuuusugsEgXq+XG2+8kS9/+cvL/ZIVl4lzxcKDDz7IvffeS0dHBxaLha6uLt7ylrdw+PDh5X7ZisvEueLhH/7hH9i5cydWq5VQKMQv/dIvEYvFlvslXxTT09M899xzPPXUU+zbt4/BwUFOnz591SfElpLzrRu++tWvXjPxoDg/i11HvuY1r0Gn0/He9753GV+t4nKzUDx0dna23N78ZTKZlvtltyDE9iuVCtPT0zz55JN8+9vf5pvf/CZf//rX+drXvsb3vvc9XnjhBQ4cOMCRI0c4ceIEp0+fvuoTYkvJucaGz3zmMwvGw/T09HK/9ItG0zTS6TSjo6PXREJsKVkoHl7/+tezZ88etadQzMulrB0uqn3yox/9KP39/ZRKJZ566in+/u//nv/8z//k8OHD2O32i7nkVc18Gj/XE/PFw9/93d9x00038cd//MfodDr+7d/+jbe//e3EYjE++MEPLvdLVlwm5osFj8fDq1/9at7//vcTDAaZnp7mi1/8IjfeeCPPPPMM27ZtW+6XrbhMzI2Hz33uc2iaxp49e/irv/orxsfH+cxnPsPevXt57rnnFmU8sNJQ2i+LY76x4atf/SrxeJy77777mokHxeI41zryO9/5Ds8888xyv0TFFWRuPHz5y18mFArx8Y9/HIvFApzR7nrPe97Da1/72mV+teenWe9TcWHMNzYEAoGWnzXj9XqX4VUqrhRz4+FLX/oSdrud3/qt36Kjo0PtKRSSb3zjG5e2dtAugAcffFADtBdeeKHl9l//9V/XAO3hhx9e8LG5XO5CnmpBAPV1CV+L4fHHH9cA7fHHHz/n/RaKh56eHg3Q/uVf/kXeVq1WtYGBAW3r1q2apql4WClfi2Ex8XChY8P09LRmNBq1d7/73UsWC729vcv+97zav87HpYwN5XJZs1gsGqA99NBD8vZvf/vbGqB99rOf1TRNjQ0r5WsxXMrY8P73v18DtPXr12uNRkPe3hwPamxYOV/n41LXDWKu+Od//metr69P++hHP6oB2q/92q/J+6ixYWV8LYbTp09rgPbggw+e834Xsnb48pe/rMEr84eKh5XxtRgWEw/ni4X5fiZQc8XK+TofSzVXNI8NzXsKTVNjw0r5WgyLjYfzUSwWF1w7LJYLap9ciFe/+tUAnD59GoB3vvOdOJ1OTp06xetf/3pcLhe/8Au/AJwRpPz0pz/Npk2bsFqtRCIR3v3ud59VQqxpGn/yJ39CV1cXdrudu+66i5dffnkpXu51za/+6q+ybt06bDYbgUCAt771rQwPD5/3cYVCgWPHji2qrUWc7o+PjwNn4sHr9eJ0OhkZGVHxsIK43PGw0NiQzWYB+Kd/+icVCyuIyxkLhw8fplwuA8jrvvOd7+T+++/Hbrfzh3/4h2psWEFc7rFBnPavWbMGnU4nx4YNGzZgMBj4wAc+oGJhBXG51w1irvjyl79Mo9FgcHAQgHQ6rdaRK4wPfehDbNmyBafTidvt5nWvex0HDx487+Oq1SrHjh1jamrqvPedb+3wzne+E5vNxr/8y7+oeFhBXO54ELEg+IVf+AW1x1zBXKm5onlsGBgYwGq18q1vfUvFwwriSuQcBJ/85CdpNBp86EMfuujXuyRJsVOnTgHI8lY4Yzd77733Eg6H+dSnPsXP/MzPAPDud7+b3/zN3+S2227jM5/5DA888AAPPfQQ9957r3RvAfjDP/xD/uAP/oBt27bxF3/xF6xateqqKJle6fz4xz/m/vvv57Of/Szvec97eOyxx9izZw+FQuGcj3v++efZsGEDf/u3f3ve5+ju7gbgqaee4uTJk2SzWcrlMgcPHmTHjh0qHlYQlzsemseGVCpFqVSiWq2yc+dOarUaP/uzP7tksZDP5y/xr6G4nLEgEmJw9lxRKpXIZrN88pOfVGPDCuFyjw1iYeTz+eRtYt1gNBoxGAy8+c1vBtTYsBK43OsGMVc88cQT/Pmf/zkGgwGAb33rW2oducL45je/yX333cdf/dVf8Zu/+Zu89NJLvOpVr2JycvKcj5uYmGDDhg38zu/8znmfY+6+olQqUa/XMRgMtLe3q3hYQVzueBCxAHDXXXfx8MMPk8/n2bp1K1ardUljQc0Vl86VmitsNhvRaJRkMkmpVCKXy9HX16fGhhXElcg5wBmDik984hP8+Z//OTab7eJf8IWUlYlSxh/84AdaNBrVxsbGtK9+9ataIBDQbDabNj4+rmmapr3jHe/QAO23f/u3Wx7/5JNPatDaOqNpmvad73yn5fbZ2VnNbDZrb3jDG1raKn73d39XA7R3vOMdLY/v7e3Vent7L+RX0TRN0w4fPqwB2oc//OFFPwbOXw4u+NSnPqXZbDYtk8lomqZpg4ODGqA9+uijLfe78847NZfLpY2MjLTc3vy7/8Vf/IUGaKdPn265z7lKkgHtj/7oj+T/C4XCWfd55plnNED70pe+JG+br5RR3NZ8vYXiwe/3awaD4awyyp/5mZ9pee7ljoeRkRHtta99rfb3f//32re+9S3t05/+tNbT06Pp9XrtP/7jP877eE1T8SCut5ixYd26dTIWTCaT9vu///tavV7XNG35Y0HTNO0//uM/NKPRqL388suapp0ZxxwOx6Ieq2kqFs43NnzhC1/QAM1gMJw1V4ivWCymaZqKh2spHs41TwDa/fffr2naK7Hwv//3/26Jh+WOhTe+8Y2a1+uV743glltu0QDtU5/61HmvoWLhleuda64wGAzarl27NE17JR527tzZ8tzLHQ/z8cQTT2g6nU77gz/4g0Xdv7e3t+Vvci6+9rWvaYB24sQJTdM0LZPJaFarVfvrv/7rlvu9/e1v1/R6/bztZeL3f+SRRxZsU5n7PjW/1ua/ValUkvO24PTp05rFYtE++tGPttw2N8bEbc3XW+y+4sYbb9QA7a1vfWvLc6+UePj4xz/eMpfdfffd2ujo6KIeq+LhzPXOFQtms1l761vfqv3Lv/yLdtddd2mAZjQatWAwKP/OKyEW/s//+T+a1+ttiYV3vOMdWrVaXdTj1VzxyvXONzasWrWq5e986623tsTiSoiHZlTO4dLi4Vy85S1v0W699daW13LF2ifvueceQqEQ3d3d3H///TidTh599FE6Oztb7vcrv/IrLf9/5JFH8Hg8vOY1ryEWi8mvXbt24XQ6efzxxwH4wQ9+QKVS4X3ve1+LHeoHPvCBeV/P8PDwosrx5vLQQw8ByDLLpeahhx7iDW94Ay6XCzjTJrJr1y75vADRaJQnnniCX/zFX6Snp6fl8UttBducPa1Wq8TjcVavXo3X62Xfvn3nfOyePXvQNI0//uM/Putnc+PB5XLxtre9jbe+9a185Stf4Y477gDgv/7rv3j22Wfl45Y7Hnp6evjud7/Le97zHt74xjfy/ve/n/379xMKhfiN3/iN8z7+Qrke4uFcY8ODDz7IPffcA8CGDRsoFovU63Vg+WOhUqnwwQ9+kPe85z1s3LjxvPe/VK6HWIDWeHjXu96F3W5H0zS++tWvMjQ0JN3mjMYzni/FYhFQ8XAtxsN888Sdd97J1772Nf7yL/9StlQ/9dRT0l2uWCwueyz8yq/8CqlUip/92Z9l//79DA4O8oEPfIC9e/fK17iUXA+xAGfHg9FopF6v8/d///ct99u8eXPL/5c7HuYyOzvLz//8z9Pf38+HP/zhC378+XjooYfYvXs3q1evBsDlcvGGN7yhJR4ajQbf/OY3eeMb38ju3bvPusZSxoTFYkGvP7N1qNfrxONxnE4n69atO2889PX1oWka//zP/3zWz863rxCtUp/4xCdaHrdS4uHnfu7n+P73v8/DDz/Mz//8zwNLPzbA9REP88XCt771LWnYJcY8YdTyp3/6p8DKiIXOzk5uvPFGPv3pT/Poo4/y67/+6zz00EP89m//9qIefyFcr3OFGBv+9V//le985zvcfPPNAGzatEnuKWBlxEMzKuewNPEwl8cff5yvf/3rfPrTn77EV3yR7pN/93d/x9q1azEajUQiEdatWycHRXlho5Gurq6W206cOEE6nSYcDs973dnZWQBGRkaAM29oM6FQqKXV4lLQNI2HH36YzZs3s3Xr1iW5ZjNHjx5l//79vP3tb+fkyZPy9j179vB3f/d3ZDIZ3G43Q0NDwNkLv8tBsVjk4x//OA8++CATExMtrjjpdPqirzs3Hj796U/z3HPPsW/fPvR6vXSS6ujo4P3vfz/PPfccsLLiQeD3+3nggQf4xCc+wfj4+FkxfLFcL/FwrrHhlltuobOzE6PRyH//93+zadMmAD71qU8teyz89V//NbFYjI985CMXfY3Fcr3EApwdD21tbbzzne/kQx/6kOz71+l0vPGNb+TRRx/F6XQCyz82qHi4MmNDNpvl7W9/e4sGxM6dO9mwYQPf+MY3cDqdyx4Lr3vd6/ibv/kbfvu3f5udO3cCsHr1av70T/+UD3/4wzJml4LrJRagNR4CgQA/93M/x7333ssNN9zQcr+5f9/ljodm8vk89913H9lslqeeempJYwEglUrxn//5n7z3ve9tiYfbbruNr3/96wwODrJ27Vqi0SiZTOaKxEOj0eAzn/kMn/vc5zh9+nTLJrS5Lf5COdfaYWhoiGg0il6vp6+vr+VxKyUeent76e3tBc4kyN71rndxzz33cPz48Utr52nieomHxe4x3/zmN3PTTTfxgx/8AFj+WHj66ae57777ePbZZ2Uy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lQsT8bGPfQyPP/44Pv7xj+O2226DzWaDSqXCww8/fNXW4EDn8fB//+//xczMDKampvD5z38e3/nOdxCJRODxeGC32wGsr/Gw0jz55JOoVCr4sz/7M/zZn/3Zgv9/4okn8Hu/93sr+h7ax8Qf/uEf4pOf/CR+5md+Bp/+9KfhdDqhVqvx8Y9//KrHw+XmBhJK/amf+qmWx9fDWPiFX/gFPProozh16hT0ej0OHjyIv/mbvwEA7Nix47p9n606N1SrVXz1q1/FY4891rI2CIKABx98EF/84hdRrVah1+vXfDwEAgEAgM/na3mcNlftIq3XwlYZD8vZNwBY1/sGJaSBlUqlrltQbKuMBWDjzg0AXytWejx89atfxejoKL785S+zigyq3pUkCVNTU/B6vRBFcV2MB+DSGP7RH/1RnDp1Ct/97ndX5NDJ95GXWM/7SIKfMfkZUwkfD9dvPCzGyZMn8Y53vAN79+7FU0891RIwXy5XFRS7WgYHB/HMM8/gjjvuaCmraycYDAK4FOXdtm0bezwej1+3w8gTTzwBlUqFn/iJn7gu11NCEeH77rsPP//zP7/g/z/96U/jiSeewKOPPsp+vpGRkSWvudhApCh2JpNpeZwi30qeeuopPPLIIy2LablcXvDa60VfXx/6+vrw1a9+FQDw2muvMfFDYH2Nh5XmiSeewN69e/E7v/M7C/7vr/7qr/D1r38dv/d7vwePxwOr1XrV4wG4NCba72m1Wl3g8PPUU0/hvvvuY5t5IpPJXLk44TKZmJiASqXC4cOHWx5fL2PBZDLhtttuY/9+5plnYDQacccdd1zztYGtPTckk0nU6/WOi2etVkOz2WT/t9bj4dChQ/jKV76C+fn5lsdJOPh6baa28nhYLms9FhaDMq58LFw7G2luIPhasXLjYWZmBrVarePv8u///u/x93//93j66afxzne+c12Mh2azife///343ve+h3/6p3/CPffcc03XWwy+j7zEet9HAvyMSfAz5iX4eLjESo2H8fFxvPWtb4XX68W3v/3tq67SvS7uk8vlPe95DxqNBj796U8v+L96vc5+UW9+85uh0+nwhS98oaXc7rOf/WzH646PjzN3kuVQq9Xw5JNP4s4771zQU3s9eP755zE1NYVHH30UP/ZjP7bg673vfS+effZZhEIheDwe3H333fjqV7+KmZmZluso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\n"},"metadata":{}}]},{"cell_type":"code","source":["if misclassified:\n"," plt.figure(figsize=(20, 20))\n"," for i, item in enumerate(misclassified):\n"," plt.subplot(5, 10, i + 1)\n"," plt.imshow(item[\"image\"], cmap='gray')\n"," plt.title(f\"Pred: {item['pred']} | Actual: {item['actual']}\")\n"," plt.axis('off')\n"," plt.tight_layout()\n"," plt.show()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":258},"id":"IafxHomvgZE8","executionInfo":{"status":"ok","timestamp":1779551355465,"user_tz":-420,"elapsed":3135,"user":{"displayName":"Cici rizky plk","userId":"03714270658772765776"}},"outputId":"fb8dd3ec-b5df-4866-a1fb-f3b78aa74999"},"execution_count":10,"outputs":[{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"iVBORw0KGgoAAAANSUhEUgAAB8YAAAbgCAYAAAAShTnPAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xd8VfX5OPAnDNmCQnBVhoPhHuCugLsOxFHEidSttGpVXLUOVGitA7VWaxVXUCsKrf1abVEsrjpRi4oDBVdVwIGIMs/vD39JiTknJJCQ3JP3+/XyD5/nPud8bsiTz73nuaMoSZIkAAAAAAAAACCnGtX1AgAAAAAAAACgNhmMAwAAAAAAAJBrBuMAAAAAAAAA5JrBOAAAAAAAAAC5ZjAOAAAAAAAAQK4ZjAMAAAAAAACQawbjAAAAAAAAAOSawTgAAAAAAAAAuWYwDgAAAAAAAECuNdjBeJcuXeLoo4+us/MXFRXFbbfdVmfnXxkef/zxKCoqiscff7yul0IV1XVfdOnSJS666KI6O//KMH369AbR/3lT173REH5n7BmFp677wp5BfVXXvdEQfmfsGYVHX9Q+fVGY9Ebt0xuFp677wvMM6qu67o2G8Dtjzyg8+qL25bEv6mQwftttt0VRUVHZf82bN49u3brF0KFD49NPP62LJVXbkiVL4re//W107do1mjdvHptttlncfffdtXrOgQMHRlFRUZx99tnLfYynn346Lrroovjyyy9rbmG17N57743tt98+WrVqFe3atYsddtghHnvssbpeVo0r9L6YOnVqDBs2LLbYYoto06ZNrLXWWrHPPvvECy+8UKvnHTZsWBQVFcUhhxyy3Md4/fXX46KLLorp06fX3MJq0Ysvvhj77rtvrLnmmtG6devYbLPN4tprr43FixfX9dJqRaH3xkUXXVRu/T/876mnnqqV8za0PeOBBx6IQw45JNZbb71o2bJldO/ePc4444yCWPvyKPS++Pjjj+OII46I7t27R5s2baJdu3axzTbbxO233x5JktTaeRvanvHD35Ol//vkk0/qenm1otB7w56xcrz55ptx+umnxw477BDNmzePoqKigujp5VXofRER8c4778TBBx8cq622WrRs2TJ22mmnmDhxYq2es6H1RUTEhAkTol+/ftGhQ4eyvfnOO++s62XVmjz0RkTEtGnT4rDDDouOHTtGixYtYsMNN4zzzz+/1s7XEHtjabvvvnsUFRXF0KFD63optaLQ+8K1qZWjb9++mY9XmzZtWtfLqxWF3hs/VFJSEkVFRdG6detaPU9D3DPuueee2GqrraJ58+ZRXFwcxxxzTMyaNauul1UrCr0vSl8klPbfPffcU2vn1Rd13xdN6uzMEXHJJZdE165d47vvvosnn3wy/vCHP8RDDz0UU6ZMiZYtW9bl0pbp/PPPj5EjR8Zxxx0XvXv3jr/85S9x2GGHRVFRUQwaNKjGzzdnzpx48MEHo0uXLnH33XfHyJEjo6ioqNrHefrpp+Piiy+Oo48+Otq1a1fj66xpF110UVxyySVx8MEHx9FHHx0LFy6MKVOmxEcffVTXS6s1hdoXf/rTn+KWW26Jgw46KE4++eT46quv4qabbortttsuHn744dhtt91q/JxJksTdd98dXbp0iQcffDC+/vrraNOmTbWP8/rrr8fFF18cffv2jS5dutT4OmvSiy++GDvssENsuOGGcfbZZ0fLli3j73//e5x66qkxbdq0GDVqVF0vsdYUam8ceOCBscEGG1SIn3feeTF37tzo3bt3jZ+zIe4Zxx9/fKy99tpxxBFHRKdOneI///lPXH/99fHQQw/FSy+9FC1atKjrJdaKQu2LWbNmxYcffhgHH3xwdOrUKRYuXBj//Oc/4+ijj44333wzLr/88ho/Z0PcM0qV/p4srb739Ioq1N6wZ6wczzzzTFx77bWx0UYbRc+ePePll1+u6yWtFIXaFx988EFsv/320bhx4zjrrLOiVatWMXr06Nhjjz3i0UcfjZ133rnGz9kQ++Kvf/1rDBgwILbffvuyF+n8+c9/jqOOOipmzZoVp59+el0vsdYUam9ERLz88svRt2/fWGeddeKMM86I9u3bx/vvvx8ffPBBrZyvIfbG0h544IF45pln6noZK0Wh9oVrUyvH+eefH8cee2y52DfffBMnnnhi7LHHHnW0qpWjUHtjaXPnzo1hw4ZFq1atavU8DXHP+MMf/hAnn3xy7LrrrnHVVVfFhx9+GKNGjYoXXnghnn322WjevHldL7FWFHpfHHroobH33nuXi22//fa1ci59UU/6IqkDo0ePTiIief7558vFf/nLXyYRkYwZMyazdu7cuTWyhs6dOyeDBw9ertoPP/wwadq0aXLKKaeUxZYsWZL8+Mc/Tn70ox8lixYtWuYxIiIZPXp0lc956623Jk2bNk0ee+yxJCKSxx9/fHmWnlxxxRVJRCTvvffectVXx8SJE5OISCZOnLhc9c8880xSVFSUXHXVVTW7sHqq0PvihRdeSL7++utysVmzZiXFxcXJjjvuWOXzX3jhhVU+Z2k/PPbYY0nTpk2T2267rTpLLnPfffet0O9qdbz33nvV7v+lHXfccckqq6ySzJ49u1x85513TlZdddUaWGH9U+i9keb9999PioqKkuOOO65Kt7dnVK3+h26//fYkIpKbb755xRZXD+WxL5IkSfbdd9+kVatWVXosZc9YtqzfkzzLY2/YMypa0T1j9uzZyZw5c5IkWbnrriuF3hcnn3xy0qRJk2Tq1KllsW+++SZZd911k6222qpKx9AXy7b77rsna6+9dvLdd9+VxRYuXJisv/76yWabbVZDq6xfCr03Fi9enGyyySbJtttum8ybN2+5jqE3qu7bb79NunTpklxyySVJRJS7Jpgnhd4Xrk1VzYo+z0hz5513JhGRlJSU1Ngx65NC742lnX322Un37t2Tww8/PGnVqlWV6+wZlZs/f37Srl27ZOedd06WLFlSFn/wwQeTiEiuvfbaGlxp/VDofVH6t/CKK65Y7vPri8rV176oV98xvssuu0RExHvvvRcREUcffXS0bt06pk2bFnvvvXe0adMmDj/88Ij4/qPMr7nmmth4442jefPmscYaa8QJJ5wQX3zxRbljJkkSl156afzoRz+Kli1bRr9+/eK1115LPf+0adNi2rRpy1znX/7yl1i4cGGcfPLJZbGioqI46aST4sMPP6yVV4+WlJTE7rvvHv369YuePXtGSUlJ6u2mTp0aAwcOjOLi4mjRokV079697CO0LrroojjrrLMiIqJr165lHwsxffr0Sr9bpqioqNx368yYMSNOPvnk6N69e7Ro0SLat28fP/3pT6v0UT/z5s2LqVOnVuljEq655ppYc80149RTT40kSWLu3LnLrMmjQumLrbfeusLH77Rv3z5+/OMfxxtvvFHt+10VJSUlsdFGG0W/fv1it912y+yLjz76KI455phYe+21o1mzZtG1a9c46aSTYsGCBXHbbbfFT3/604iI6NevX1lflH5nxg9//0v98PtLPv/88zjzzDNj0003jdatW8eqq64aP/nJT+KVV15Z5v1YuHBhTJ06Nf773/8u87Zz5syJ5s2bV3gl2FprrZXbd8RmKZTeSHP33XdHkiRl66tpDXHP6Nu3b4XYAQccEBFRa3+D6qNC7ouI7/+2zps3LxYsWLDcx8jSEPeMpX399de5/cqNqijk3rBn1Pyesfrqqy/XO7nyplD64oknnogtt9wyunfvXhZr2bJl9O/fP1566aV4++23l+v+V6Yh9sWcOXNitdVWi2bNmpXFmjRpEh06dPA8o572xj/+8Y+YMmVKXHjhhdGiRYuYN29ere/1DbE3Sv32t7+NJUuWxJlnnlnlmjwplL5wbWrlP88oNWbMmGjVqlXsv//+y1VfqAqlN0q9/fbbcfXVV8dVV10VTZrU7ocJN7Q9Y8qUKfHll1/GIYccUu4dwPvuu2+0bt26Vj+au74ptL6I+P5TL2rjWtQP6Yvv1XVf1KvBeOkva/v27ctiixYtij333DM6duwYv/vd7+Kggw6KiIgTTjghzjrrrNhxxx1j1KhRMWTIkCgpKYk999wzFi5cWFb/61//Oi644ILYfPPN44orroj11lsv9thjj/jmm28qnH/XXXeNXXfddZnrnDx5crRq1Sp69uxZLr7NNtuU5WvSxx9/HBMnToxDDz00Ir7/aIexY8dWaNRXX301tt1223jsscfiuOOOi1GjRsWAAQPiwQcfjIjvP5qx9BhXX3113HnnnXHnnXdGcXFxtdbz/PPPx9NPPx2DBg2Ka6+9Nk488cR49NFHo2/fvjFv3rxKa5977rno2bNnXH/99cs8z6OPPhq9e/eOa6+9NoqLi8u+G6gqtXlSKH2R5ZNPPokOHTosd32W+fPnx/3331+uLx577LEK35n68ccfxzbbbBP33HNPHHLIIXHttdfGkUceGf/6179i3rx5sfPOO8cvfvGLiPj+Y0pL++KH/b0s7777bowfPz723XffuOqqq+Kss86K//znP9GnT5/4+OOPK6396KOPomfPnnHuuecu8zx9+/aNOXPmxAknnBBvvPFGzJgxI2688cZ44IEHqlSfJ4XcGyUlJbHuuuvWykd/NtQ9I03p34Pa+BtUXxVaX3z77bcxa9asmD59etx+++0xevTo2H777Wv8AnxD3TNK9evXL1ZdddWyQVJtDJHqu0LrjaXZM1bOntEQFUpfzJ8/P3VfKP1YxhdffLF6d3wZGmpf9O3bN1577bW44IIL4p133olp06bF8OHD44UXXohhw4ZVa82FrlB6Y8KECRER0axZs+jVq1e0atUqWrZsGYMGDYrPP/98hX4GaRpqb0REvP/++zFy5Mj4zW9+0+BeKFKqUPoii2tTtfM8o9TMmTPjn//8ZwwYMKDWP567vim03jjttNOiX79+FT42uqY1xD1j/vz5ERGp+0SLFi1i8uTJsWTJkmqtu1AVWl9cfPHF0bp162jevHn07t07/vGPfyzvXa+UviivTvuiLt6mXvoRCxMmTEhmzpyZfPDBB8k999yTtG/fPmnRokXy4YcfJkmSJIMHD04iIjnnnHPK1T/xxBOpH83y8MMPl4t/9tlnySqrrJLss88+5d6mf9555yURUeEjFjp37px07tx5mevfZ599kvXWW69C/Jtvvkldb5qoxkcs/O53v0tatGhR9nF/b731VhIRybhx48rdbuedd07atGmTzJgxo1x86fue9RELlX2ETkSU+wihtI/oeuaZZ5KISO64446yWNpHLJTGlvWRRJ9//nkSEUn79u2T1q1bJ1dccUVy7733JnvttVcSEcmNN95YaX0hKvS+SDNp0qSkqKgoueCCC6p0++p8XNXYsWOTiEjefvvtJEmSZM6cOUnz5s2Tq6++utztjjrqqKRRo0apHyNbev8r+7iqrN/XH35My3fffZcsXry43G3ee++9pFmzZskll1xSLvbDXiuNVeVjXxYtWpQMHTo0adq0aRIRSUQkjRs3Tv7whz8ss7ZQ5a03pkyZkkREMmzYsCrX2DMurHCMqjjmmGOSxo0bJ2+99dZy1ddneemLESNGlP0ti4hk1113Td5///0q1dozBifLcu+99yZHH310cvvttyfjxo1LfvWrXyUtW7ZMOnToUOWfc6HJS2+UsmfU/p7RkD5KvVD7Yr/99kvatWtX9ntaavvtt08iIvnd7363zGPoiwsrHOOH5s6dmwwcODApKioq25dbtmyZjB8/fpm1harQe6N///5l100OP/zwZOzYsckFF1yQNGnSJNlhhx3KnSuL3riwwjHSHHzwwckOO+xQbi15/yj1Qu2LNK5N1fzzjB+67rrrkohIHnrooWrXFoo89Mbf/va3pEmTJslrr71Wttba+ij1hrhnzJw5MykqKkqOOeaYcvGpU6eWPbaaNWtWpccoNIXeFzNmzEj22GOP5A9/+EPy17/+NbnmmmuSTp06JY0aNUr+9re/VelnoC8urHCMpdXXvqjTd4zvtttuUVxcHOuuu24MGjQoWrduHePGjYt11lmn3O1OOumkcv9/3333Rdu2bWP33XePWbNmlf1X+nE5EydOjIjvXz27YMGC+PnPf17ubfqnnXZa6npKP2pgWb799ttyHy9WqvRL4r/99ttlHqM6SkpKYp999in7uL8NN9wwtt5663IfszBz5syYNGlS/OxnP4tOnTqVq1/6vteEpV/dsXDhwpg9e3ZssMEG0a5du3jppZcqre3bt28kSZL68T9LK/3Y9NmzZ8ef/vSnOPPMM2PgwIHxf//3f7HRRhvFpZdeusL3o74q1L74oc8++ywOO+yw6Nq1a628w6CkpCR69eoVG2ywQUREtGnTJvbZZ59yfbFkyZIYP3587LffftGrV68Kx6jJ3mjWrFk0avT9n9TFixfH7Nmzo3Xr1tG9e/dl9kWXLl0iSZLUjzj5ocaNG8f6668fe+65Z9x+++1x7733xn777Rc///nPY/z48TVwT+qvvPRG6e9obX4kbkPbM9KMGTMmbrnlljjjjDNiww03rHZ9oSj0vjj00EPjn//8Z4wZMyYOO+ywiKj5x1ERDXfPGDhwYIwePTqOOuqoGDBgQAwfPjweeeSRmD17dlx22WU1cVfqrULvjVL2jJWzZzQUhdoXJ510UtnH702ePDneeuutOO200+KFF16ICM+/K1OdvmjWrFl069YtDj744Lj77rvjrrvuil69esURRxwR//73v1f0btRrhdobpddNevfuHXfddVccdNBBcckll8Tw4cPj6aefjkcffbQaP4Vla6i9MXHixLj//vvjmmuuWcEVF5ZC7Ysfcm2qdp5n/NCYMWOiuLg4dt999+VZdkEp1N5YsGBBnH766XHiiSfGRhttVL07vRwa4p7RoUOHGDhwYNx+++1x5ZVXxrvvvhtPPPFEHHLIIdG0adOIqJ3rHfVBofZFp06d4pFHHokTTzwx9ttvvzj11FNj8uTJUVxcHGeccUb1fghVoC/qT1/U7hdJLMPvf//76NatWzRp0iTWWGON6N69e9nmXapJkybxox/9qFzs7bffjq+++io6duyYetzPPvssIr7/jPyIqHBBvLi4OFZbbbXlXneLFi3KPgJgad99911Zvqa88cYbMXny5DjqqKPinXfeKYv37ds3fv/738ecOXNi1VVXjXfffTciIjbZZJMaO3eWb7/9NkaMGBGjR4+Ojz76KJIkKct99dVXNXKO0p9h06ZN4+CDDy6LN2rUKA455JC48MIL4/3336/wxyEPCrUvlvbNN9/EvvvuG19//XU8+eSTFb7faUV9+eWX8dBDD8XQoUPL9cWOO+4Y999/f7z11lvRrVu3mDlzZsyZM2el9MWSJUti1KhRccMNN8R7771X7rvdlv7YmBU1cuTIGDVqVLz99ttlP9eBAwdGv3794pRTTol999231r8jqK7koTeSJIkxY8bEJptsEptttlmNHHNpDXXP+KEnnngijjnmmNhzzz1zP/wr9L7o3LlzdO7cOSK+H5Iff/zxsdtuu8Wbb75ZY4+nGvKekWannXaKbbfdtuzjV/Oq0Hsjwp6xsvaMhqRQ++InP/lJXHfddXHOOefEVlttFRERG2ywQVx22WUxbNiwGn2u0ZD7YujQofHvf/87XnrppbLfi4EDB8bGG28cp556ajz77LM1dq76plB7o/SxUulHaZY67LDD4txzz42nn346dtttt+U+/tIaam8sWrQofvGLX8SRRx4ZvXv3rpFjFopC7YuluTa1cp5nvPvuu/HMM8/E0KFDc3s9ammF2htXX311zJo1Ky6++OLlPkZVNdQ9IyLipptuim+//TbOPPPMOPPMMyMi4ogjjoj1118/HnjggRr/O1RfFGpfpFl99dVjyJAhMXLkyPjwww8rrHl56Yv61Rd1ultts802qa+UW9rSr3QrtWTJkujYsWPmF9NX97P0q2uttdaKiRMnRpIk5V6l8d///jciItZee+0aO9ddd90VERGnn356nH766RXy999/fwwZMmSFz5P1apOlH0CV+vnPfx6jR4+O0047Lbbffvto27ZtFBUVxaBBg2rs+wBWX331aN68ebRr1y4aN25cLlf6h/KLL77I5WC8UPui1IIFC+LAAw+MV199NR555JFa+SN+3333xfz58+PKK6+MK6+8skK+pKSk1h/o/bA3Lr/88rjgggviZz/7WQwfPjxWX331aNSoUZx22mk1+j0ZN9xwQ+yyyy4VNoz+/fvHL3/5y5g+fXrZK5XzptB7IyLiqaeeihkzZsSIESNq5fgNdc9Y2iuvvBL9+/ePTTbZJMaOHZv7J+Z56IulHXzwwXHzzTfHpEmTYs8996yRYzbkPSPLuuuuG2+++Watn6cu5aE37Bm1v2c0NIXcF0OHDo0hQ4bEq6++GqusskpsscUWccstt0RERLdu3WrsPA21LxYsWBC33HJLDBs2rNy/f9OmTeMnP/lJXH/99bFgwYJYZZVVauR89U2h9kbptac11lijXHzpayY1paH2xh133BFvvvlm3HTTTRXeefb111/H9OnTo2PHjtGyZcsaOV99Uqh9Ucq1qZX3PGPMmDERUXufcFTfFGJvfPXVV3HppZfGySefHHPmzIk5c+ZExPefPJIkSUyfPj1atmyZOZysroa6Z0REtG3bNv7yl7/E+++/H9OnTy97M8AOO+wQxcXF0a5duxo7V31SiH1RmXXXXTciIj7//PMaG4zri/rVFwV5tXj99dePCRMmxI477ljpu4lK34H09ttvx3rrrVcWnzlz5go9Qdhiiy3iT3/6U7zxxhvlPnqk9BXUW2yxxXIfe2ml7xLp169fnHzyyRXyw4cPj5KSkhgyZEjZ/ZsyZUqlx8xqjNJX1nz55Zfl4qWvxlna2LFjY/DgweUe9H333XcValdEo0aNYosttojnn3++whPwjz/+OCLq7g9jfVXXfRHx/WZ21FFHxaOPPhp//vOfo0+fPit0vCwlJSWxySabxIUXXlghd9NNN8WYMWPi4osvjuLi4lh11VWXuy8ivu+NH/5uL1iwoOyFMKXGjh0b/fr1K7tAV+rLL7+MDh06LOMeVd2nn36aupEtXLgwIr5/RTvl1YfeKFVSUhJFRUVlHxldkxrynlFq2rRpsddee0XHjh3joYceyu0rcWtCfeqLpZV+fFJNvjK1Ie8ZWd59912PozLUp96wZ3yvtvYMqq6+9EWrVq1i++23L/v/CRMmRIsWLWLHHXdc4WNHNOy+mD17dixatCjzecaSJUtScw1dXffG1ltvHTfffHN89NFH5eI1fc2kIffG+++/HwsXLkz9O3PHHXfEHXfcEePGjYsBAwbU2DkLXV33RYRrUyv7ecaYMWNi/fXXj+22265Wjp8XddkbX3zxRcydOzd++9vfxm9/+9sK+a5du8b+++9fI1/R2JD3jKV16tSp7A19X375Zbz44otx0EEH1cq5Cll92DPSlL5r22OpmlWf+qJOv2N8eQ0cODAWL14cw4cPr5BbtGhR2T/cbrvtFk2bNo3rrruu3McAZH0v0LRp02LatGnLPP/+++8fTZs2jRtuuKEsliRJ3HjjjbHOOuvEDjvsUL07lOGpp56K6dOnx5AhQ+Lggw+u8N8hhxwSEydOjI8//jiKi4tj5513jltvvTXef//9csdZ+r63atUqIio2xqqrrhodOnSISZMmlYsvfR9LNW7cuNwxIyKuu+66Kj1RnjdvXkydOjVmzZq1zNsecsghsXjx4rj99tvLYt99912UlJTERhttVKPvzM+Duu6LiO9fZXTvvffGDTfcEAceeGC170NVfPDBBzFp0qQYOHBgal8MGTIk3nnnnXj22WejUaNGMWDAgHjwwQfLvoNwaaX3P6svIr7foH/YF3/84x8r/L6n9cV9991X4SJFmoULF8bUqVMrPKFJ061bt/jnP/8Zs2fPLostXrw4/vznP0ebNm1i/fXXX+YxGpr60BsR3/8733fffbHTTjvVyqddNPQ945NPPok99tgjGjVqFI888oih3zLUdV/MnDkzNX7LLbdEUVFR2UflrqiGvmek/ZwfeuihePHFF2OvvfZaZn1DVNe9Ucqe8T+1sWdQPfWlL5b29NNPxwMPPBDHHHNMtG3bdrmO8UMNuS86duwY7dq1i3HjxsWCBQvK4nPnzo0HH3wwevToUaNfGZcXdd0b+++/fzRr1ixGjx5d7l09f/rTnyIiauy7fhtybwwaNCjGjRtX4b+IiL333jvGjRsX22677TLP15DUdV9EuDa1Mp5nlJo8eXK88cYbtfJCzrypy97o2LFj6t+yfv36RfPmzWPcuHFx7rnnLvd9W1pD3jOynHvuubFo0aLUdwk3dHW9Z6RdM/noo4/i1ltvjc022yzWWmutqt2RZdAXFdV1XxTkO8b79OkTJ5xwQowYMSJefvnl2GOPPaJp06bx9ttvx3333RejRo2Kgw8+OIqLi+PMM8+MESNGxL777ht77713TJ48Of7+97+nvkpu1113jYio8PFIP/SjH/0oTjvttLjiiiti4cKF0bt37xg/fnw88cQTUVJSUuGjv5dX6bH22Wef1Hz//v3j/PPPj3vuuSd++ctfxrXXXhs77bRTbLXVVnH88cdH165dY/r06fF///d/8fLLL0fE968ojog4//zzY9CgQdG0adPYb7/9olWrVnHsscfGyJEj49hjj41evXrFpEmT4q233qpw3n333TfuvPPOaNu2bWy00UbxzDPPxIQJE6r0XTXPPfdc9OvXLy688MK46KKLKr3tCSecEH/605/ilFNOibfeeis6deoUd955Z8yYMSMefPDBZZ6roanrvrjmmmvihhtuiO233z5atmxZ9vEgpQ444ICyP9grYsyYMZEkSfTv3z81v/fee0eTJk2ipKQktt1227j88svjH//4R/Tp0yeOP/746NmzZ/z3v/+N++67L5588slo165dbLHFFtG4ceP4zW9+E1999VU0a9Ysdtlll+jYsWMce+yxceKJJ8ZBBx0Uu+++e7zyyivxyCOPVPhZ7bvvvnHJJZfEkCFDYocddoj//Oc/UVJSUu5VbFk++uij6NmzZwwePDhuu+22Sm97zjnnxBFHHBHbbrttHH/88dGiRYu4++6748UXX4xLL700mjZtWuWfZUNR171R6pFHHonZs2fX2seLNfQ9Y6+99op33303hg0bFk8++WQ8+eSTZbk11lijxi4M5kVd98Vll10WTz31VOy1117RqVOn+Pzzz+P++++P559/Pn7+85/X2FdCNPQ9Y4cddogtt9wyevXqFW3bto2XXnopbr311lh33XXjvPPOq/LPsSGp694oZc+o3T3jq6++iuuuuy4ivr9IERFx/fXXR7t27aJdu3YxdOjQZZ6vIanrvpgxY0YMHDgw+vfvH2uuuWa89tprceONN8Zmm20Wl19+eY3dz4bcF40bN44zzzwzfvWrX8V2220XRx11VCxevDhuueWW+PDDDys8t+N7dd0ba665Zpx//vnx61//Ovbaa68YMGBAvPLKK3HzzTfHoYceWmPfid2Qe6NHjx7Ro0eP1FzXrl29UzxFXfeFa1Mr53lGqdKPP24oH6O+IuqyN1q2bJn692r8+PHx3HPP1ejfsoa8Z0REjBw5MqZMmRLbbrttNGnSJMaPHx//+Mc/4tJLL62xfTlP6nrPGDZsWEybNi123XXXWHvttWP69Olx0003xTfffBOjRo2qsfupL+phXyR1YPTo0UlEJM8//3yltxs8eHDSqlWrzPwf//jHZOutt05atGiRtGnTJtl0002TYcOGJR9//HHZbRYvXpxcfPHFyVprrZW0aNEi6du3bzJlypSkc+fOyeDBg8sdr3Pnzknnzp2rdB8WL16cXH755Unnzp2TVVZZJdl4442Tu+66q0q1SZIkEZGMHj06M79gwYKkffv2yY9//ONKj9O1a9dkyy23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pEmTUuNTp07NrClUVekN7xgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyLUmdb2A+uiaa67JzE2ZMiU1/u2339bSaoDaVFRUlBp/4oknVvJKqA9WXXXVzNzqq6+eGj/ggAMyawYPHpwa33TTTau3MMiZuXPnpsa32mqrGj3Po48+mpmbMGFCjZ4LVtTmm2+eGq/sd3XRokWp8REjRmTW3HnnnZm5l156KTXepk2bzBqojo4dO6bGS0pKMmv69OlTW8upE82aNcvMdejQYSWuhIamR48eqfHhw4dn1jRt2rTa53nuuecyc5dcckm1jwe17Y9//GNqfKONNsqsOfroozNz6623Xmr873//e2bN448/npmD2nL22Wdn5rbbbrtqH+9Xv/pVZm7ixImp8azrZhERm2yySWr8rLPOqt7CyI3OnTtn5g4//PDUeNa1/4iIyy+/PDU+a9as6i0sIg466KDM3Pjx4zNzp512Wmq8e/fumTWffvppajxJksyak046KTU+derUzJo8845xAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByrUldL6Au7b777qnxJk2yfyybb755bS1nha2//vqZuXbt2qXGX3zxxcyafv36pcZ33HHHaq1rWV555ZXM3IMPPlij56JhOuCAAzJzSZKkxh944IHaWg51rEWLFpm5u+66KzO3zz771MZyquxvf/tbZm7+/PmZuYMOOqg2lgMrZIMNNkiNDx06NLOmqKio2ue5++67q10DdeWrr75KjQ8aNCiz5p133kmNz5gxI7Pm73//e2auTZs2qfHPPvsss+bTTz/NzMEPZT0uz3ruubwWLVqUGj///PMza/71r39l5g4++ODU+Jlnnlm9hUEta9asWWbu5ptvTo2vu+66y3WurOfSlT3+evfdd5frXFAXTjvttMxcZddgs64dnH766Zk1jz/+eFWXBTVm7bXXrnbNZZddlpn7/e9/n5nLuhZ37rnnZtZkXTe4//77M2v+/e9/Z+YofB06dMjMtW/fPjWe9XilpnXv3j0z161bt8xc1rWuymYTBx54YGq8svu60047Vfs8s2bNyswVOu8YBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMi1JnW9gLq05557psaXLFmyUs6/9tprZ+bGjx9f7eOtuuqqmblmzZqlxj/88MPMmuLi4tT4hhtuWL2FLcOsWbMyczNmzEiNb7PNNjW6BvJt3LhxmbnjjjsuNf7kk0/W1nKoY82bN8/M7bPPPitxJen+/e9/p8YHDx6cWbPrrrtm5g466KAVXhPUtKzHYK1bt86sSZIkNf7www9n1tx3333VWxjUoenTp1crvryy+i8iu89uvPHGzJqsx+uQZsiQISvlPG+99VZq/Morr1yu42277bYrshyocY0bN06NT5o0KbOmd+/eNbqGu+66KzU+atSozJpGjdLfn3Pqqadm1mRdg7rmmmsya7L+BkBNeeyxxzJzWdcVFixYUFvLgUplzQwqe14wd+7c1Pjtt9+eWbN48eLM3Iknnpga79atW2bN/PnzU+Pz5s3LrCHfsq7jR0QUFRVVKx4RceCBB6bGs+ZiEREHHHBAtc9T2fyrT58+qfGpU6dm1gwfPjw1ft5552XWHHHEEanxb775JrPmpJNOyswVOu8YBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg15rU9QJq29prr52Z23zzzVPjxx57bGZNr169UuPvv/9+Zs1nn32WGr/11lsza1ZdddXMXFFRUWp8gw02yKzJcvvtt2fmGjdunBo/77zzqn2eynTo0CEz99xzz9XouSh8xcXFmblzzz03NX7AAQdk1rz++usrvCYahpKSktT44YcfXu1jPfjgg9U+z5dffplZc9hhh1V7DVCXzjzzzBo71nXXXZeZmz9/fo2dBwrJjjvumJnLei4Rkb3X3HzzzSu6JKhxb7zxRmauf//+NXqu5Xm8tzxmzpy5Us5DYWjWrFlmLus5Q+/evWt0Dffdd19m7vTTT6/28bIeA44cObLax9pyyy0zc9tvv321jwfVsWTJkmrXZF1nhdqW9ThmjTXWyKx59NFHU+PvvPPOcq1hnXXWqXbNrFmzUuOvvvrqcq2Bwjdu3LjMXGUzvSzdu3dPjffo0SOzJkmS1PikSZMya375y19m5qZOnZqZyzJixIjU+IABAzJrNtpoo9R4z549q33+PPCOcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBca1LXC6htd955Z2aub9++qfGbbrops6ZTp06p8cMPPzyz5rPPPkuNz507N7Pm4IMPzsw1apT+eoY11lgjsybLpEmTMnPrrrtuaryytXXt2jUz17Rp09T4I488klnzs5/9LDNH4evcuXNqfObMmZk1RxxxRGbu1FNPTY3Pmzcvs+anP/1pZo6G58MPP8zMZf2+rrPOOtU+z9dff52Z++abb6p9vJ/85CfVroG6lCRJjR1rs802y8w9//zzmbkvvvgiNb5kyZIVXhOsLE2apD+dGz58eGZNZf331FNPpcY//vjj6i0MVoJp06Zl5qZPn17t4+23336ZuS233LLax1se11xzzUo5D/VLixYtUuMXX3xxZs2BBx5YY+d/9tlnM3Mnn3xyZu7zzz9Pje++++6ZNZXtT9VVVFRUY8eClWGDDTao6yXQQG244YbVrnnsscdqdA277rprjR6Phumll17KzE2ePDk1vvXWW9foed54443U+OWXX55ZM3Xq1GqvoTJZs47vvvsusybrcdOPf/zjGllTofGOcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcq1JXS+gJmy77baZud69e2fmJk+enBo/55xzMmt++ctfpsY///zzzJosBx98cLVrVqZ33nknNb7NNttk1vz+97/PzB1++OGp8Y8//jizZubMmZk5Ct9zzz2XGs/qs4jK+zNJktT45ZdfnlkzderUzBz5NG/evMzcIYcckplr3rx5avyTTz5Z4TVVxZAhQzJzTZrkYjunAdlqq61S4//5z38ya9Zee+3U+IgRIzJrRo4cmZm75557UuP/93//l1mTZfr06Zm5p556qtrHg6pq27ZtarxPnz7LdbyxY8euyHIgIiI233zzzFynTp1q7DwffPBBjR0rImLrrbfOzDVt2rTGzvPmm29m5t5+++0aOw+F48Ybb0yNH3nkkTV6nq+//jo1fvrpp2fWzJ49OzPXpUuX1Ph1112XWVOTvfSvf/2rxo4F1fXss89Wu2attdbKzPXr1y81PnHixGqfB2rCq6++Wu2a4uLizFxlv/9ZHnrooWrXkG+VzYp+8pOfpMaX5/nHSy+9VO2a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6i2MBiHr8f9BBx2UWTNgwIDUeO/evWtiSfVKz549U+OVPZ7K82Mt7xgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXmtT1Aqpjww03TI3feuutmTVz587NzG233Xap8V133TWz5s0338zMVdeiRYsyc6NGjcrMPfroo6nx1157bYXXRMMxc+bMzNzs2bNT48cff3xmzfvvv58aHzduXPUWtpIdcMABqfEHHnggs2bJkiWp8bvuuqtG1kTD9vjjj6fG11hjjRo9T5cuXTJzw4YNS40/9dRTmTWrrrpqanzTTTfNrDnqqKMycwMHDkyNP/vss5k11J4zzjgjM/fuu++mxp944onMmlmzZqXGf/SjH2XWnHDCCanxs846K7NmlVVWycwlSZIa/+677zJrsv7ODx06NLMGVlTz5s0zc61atar28bL6D/Lk448/ruslZNpqq60yc1tssUVq/OWXX66dxbDSZD1fjsi+BtWtW7fMmr/85S+p8fXWW696C1sBv/nNb1LjV111VWZNZdch4IcaNUp/P9dXX32VWZP1WH7q1KmZNVnXfw488MDMmi233DIz9+STT6bGs55nR0S8/vrrqfGNNtoos+all15KjS9YsCCzhobphhtuSI23a9cus6Zr166p8bFjx2bWrLvuupm5rN//zTbbLLNm8803T42/8MILmTU0XFdffXVqfK+99sqsybrGf8QRR2TWvPHGG6nxF198sZLVZevcuXNqvEOHDpk1WTOaAQMGZNYUFxenxrOujUVU/vh13rx5mblC4B3jAAAAAAAAAOSawTgAAAAAAAAAuWYwDgAAAAAAAECuGYwDAAAAAAAAkGsG4wAAAAAAAADkmsE4AAAAAAAAALlWlCRJUqUbFhXV9lqWW7du3TJz7777bmauU6dOqfG//OUvmTVrrrlm1Re2DL/+9a8zc3/4wx9q7DwsWxXbIFV97o3lddppp6XGjznmmMyaLl26pMYvv/zyzJoRI0ZUZ1nL7fzzz8/MnXPOOanxli1bZtZcdtllqfHKerpQLW9v5LEvVpZDDjkkNT5mzJiVvJKK5syZk5n75JNPUuN//vOfM2vWXXfdzNypp56aGv/6668za1aWhrhnPPPMM5m5bbbZJjX+2WefZdZk/S6tvvrqmTWV5bJU9vN+7bXX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AAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBca7CD8S5dusTRRx9dp+e/6KKL6uz8K8P06dOjqKgobrvttrpeClVU133REH5fHn/88SgqKorHH3+8rpdCNeiN2qc3Co++qH36ojDpjdqnNwqPvqh9+qIw6Y3apzcKT133hWu21Fd13RsN4XfGnlF49EXty2Nf1Mlg/LbbbouioqKy/5o3bx7dunWLoUOHxqeffloXS6q2yy67LPr37x9rrLFGFBUVrZQHTMOGDYuioqI45JBDlvsYr7/+elx00UUxffr0mltYLenbt2+535Ol/2vatGldL6/G5aEvIiKmTZsWhx12WHTs2DFatGgRG264YZx//vm1dr6BAwdGUVFRnH322ct9jKeffjouuuii+PLLL2tuYbXkzTffjNNPPz122GGHaN68eRQVFRVEP6+IQu+Niy66KPNvWVFRUTz11FO1ct6G1hsRERMmTIh+/fpFhw4dol27drHNNtvEnXfeWdfLqhX6Yvk0tL544IEH4pBDDon11lsvWrZsGd27d48zzjijINa+vAq9N36opKQkioqKonXr1rV6nobWGxER99xzT2y11VbRvHnzKC4ujmOOOSZmzZpV18uqFXnoi3feeScOPvjgWG211aJly5ax0047xcSJE2v1nA2xL5a2++67R1FRUQwdOrSul1Jr9Mby0Rv57o089IVrtivPhAkTYpdddom2bdtGmzZtYuutt4577723rpdVK/LQG/aMlc+eUf8tWbIkfvvb30bXrl2jefPmsdlmm8Xdd99dq+dsaH1RH69NNamzM0fEJZdcEl27do3vvvsunnzyyfjDH/4QDz30UEyZMiVatmxZl0tbpl/96lex5pprxpZbbhmPPPJIrZ8vSZK4++67o0uXLvHggw/G119/HW3atKn2cV5//fW4+OKLo2/fvtGlS5eaX2gNOv/88+PYY48tF/vmm2/ixBNPjD322KOOVlX7CrkvXn755ejbt2+ss846ccYZZ0T79u3j/fffjw8++KBWzjdnzpx48MEHo0uXLnH33XfHyJEjo6ioqNrHefrpp+Piiy+Oo48+Otq1a1fzC61BzzzzTFx77bWx0UYbRc+ePePll1+u6yWtNIXaGwceeGBssMEGFeLnnXdezJ07N3r37l3j52yIvfHXv/41BgwYENtvv33Z0PXPf/5zHHXUUTFr1qw4/fTT63qJtUJfVF1D7Ivjjz8+1l577TjiiCOiU6dO8Z///Ceuv/76eOihh+Kll16KFi1a1PUSa02h9sbS5s6dG8OGDYtWrVrV6nkaYm/84Q9/iJNPPjl23XXXuOqqq+LDDz+MUaNGxQsvvBDPPvtsNG/evK6XWCsKtS8++OCD2H777aNx48Zx1llnRatWrWL06NGxxx57xKOPPho777xzjZ+zIfbF0h544IF45pln6noZK43eqDq90XB6o1D7IsI125Vl9OjRccwxx8Tuu+8el19+eTRu3DjefPPNWrsGWF8Uam/YM1Y+e0b974uI72dQI0eOjOOOOy569+4df/nLX+Kwww6LoqKiGDRoUI2fryH2RX28NlWng/Gf/OQn0atXr4iIOPbYY6N9+/Zx1VVXxV/+8pc49NBDU2u++eabWr84VBXvvfdedOnSJWbNmhXFxcW1fr7HH388Pvzww3jsscdizz33jAceeCAGDx5c6+etS7vvvnuF2F133RUREYcffvjKXs5KU6h9sWTJkjjyyCOjR48eMXHixJXyB+3++++PxYsXx6233hq77LJLTJo0Kfr06VPr561L/fv3jy+//DLatGkTv/vd7xrUYLxQe2OzzTaLzTbbrFzsgw8+iA8//DCOPfbYWGWVVWr8nA2xN66//vpYa6214rHHHotmzZpFRMQJJ5wQPXr0iNtuuy23g3F9UXUNsS/Gjh0bffv2LRfbeuutY/DgwVFSUlLhBYh5Uqi9sbRLL7002rRpE/369Yvx48fX2nkaWm8sWLAgzjvvvNh5553jn//8Z9lFiB122CH222+/uPnmm+PnP/95Ha+ydhRqX4wcOTK+/PLLmDJlSnTv3j0iIo477rjo0aNHnH766fHiiy/W+DkbWl8s7bvvvoszzjgjzj777Pj1r39d18tZKfRG1emNhtMbhdoXEa7ZrgzTp0+PU045JX7+85/HqFGj6no5K1Wh9oY9Y+WyZxRGX3z00Udx5ZVXximnnBLXX399RHy//j59+sRZZ50VP/3pT6Nx48Y1es6G2Bf18dpUvfqO8V122SUivn8AExFx9NFHR+vWrWPatGmx9957R5s2bcoGokuWLIlrrrkmNt5442jevHmsscYaccIJJ8QXX3xR7phJksSll14aP/rRj6Jly5bRr1+/eO2111LPP23atJg2bVqV1rqyX7lXUlISG220UfTr1y922223KCkpSb3dRx99FMccc0ysvfba0axZs+jatWucdNJJsWDBgrjtttvipz/9aURE9OvXr+wjLkq/GyDr44V++D0Nn3/+eZx55pmx6aabRuvWrWPVVVeNn/zkJ/HKK68s834sXLgwpk6dGv/973+r/TOIiBgzZky0atUq9t9//+WqL0SF0hf/+Mc/YsqUKXHhhRdGixYtYt68ebF48eIVuevLVFJSErvvvnv069cvevbsmdkXU6dOjYEDB0ZxcXG0aNEiunfvXvbx7hdddFGcddZZERHRtWvXsr6YPn16pd+59MN+mTFjRpx88snRvXv3aNGiRbRv3z5++tOfVukjsObNmxdTp06t0sd3rr766sv1yuM8KpTeSHP33XdHkiS19iKfhtgbc+bMidVWW61sKB4R0aRJk+jQoUOu3xX7Q/oiW0Psix8+8YiIOOCAAyIi4o033lhmfZ4UWm+8/fbbcfXVV8dVV10VTZrU7muZG1pvTJkyJb788ss45JBDyr0yf999943WrVvHPffcs8xz5UWh9MUTTzwRW265ZdlF3IiIli1bRv/+/eOll16Kt99+e7nuf2UaWl8s7be//W0sWbIkzjzzzCrX5I3eyKY3Gm5vFEpfRLhmuzKu2d54442xePHiuOSSSyLi+086SpJkmXV5VCi9Yc+wZ6xMhdIXf/nLX2LhwoVx8sknl8WKioripJNOig8//LBW3vHfEPuiPl6bqleD8dJf1vbt25fFFi1aFHvuuWd07Ngxfve738VBBx0UEd+/C+yss86KHXfcMUaNGhVDhgyJkpKS2HPPPWPhwoVl9b/+9a/jggsuiM033zyuuOKKWG+99WKPPfaIb775psL5d91119h1111r+V5W3/z58+P+++8ve3XNoYceGo899lh88skn5W738ccfxzbbbBP33HNPHHLIIXHttdfGkUceGf/6179i3rx5sfPOO8cvfvGLiPj+o0rvvPPOuPPOO6Nnz57VWs+7774b48ePj3333TeuuuqqOOuss+I///lP9OnTJz7++ONKaz/66KPo2bNnnHvuudU6Z0TEzJkz45///GcMGDCgzl9NtDIVSl9MmDAhIiKaNWsWvXr1ilatWkXLli1j0KBB8fnnn6/QzyDNxx9/HBMnTizXF2PHjo0FCxaUu92rr74a2267bTz22GNx3HHHxahRo2LAgAHx4IMPRsT3H+dbeoyrr766rC+q+6ri559/Pp5++ukYNGhQXHvttXHiiSfGo48+Gn379o158+ZVWvvcc89Fz549y16ZRtUUSm+kKSkpiXXXXbdWPqqqofZG375947XXXosLLrgg3nnnnZg2bVoMHz48XnjhhRg2bFi11lzI9EW6htoXaUofP3bo0GG56gtVofXGaaedFv369Yu99957ee9ylTTE3pg/f35EROqLplq0aBGTJ0+OJUuWVGvdhapQ+mL+/Pmp/16lH8tY0+9waoh9Uer999+PkSNHxm9+85sG9cLCH9Ib6fRGw+6NQumLla2hXrOdMGFC9OjRIx566KH40Y9+FG3atIn27dvHBRdc0GAeR5UqlN6wZ9gzVqZC6YvJkydHq1atKvyt3WabbcryNakh98UP1fm1qaQOjB49OomIZMKECcnMmTOTDz74ILnnnnuS9u3bJy1atEg+/PDDJEmSZPDgwUlEJOecc065+ieeeCKJiKSkpKRc/OGHHy4X/+yzz5JVVlkl2WeffZIlS5aU3e68885LIiIZPHhwufrOnTsnnTt3rtZ9mTlzZhIRyYUXXlitus6dO1e5ZuzYsUlEJG+//XaSJEkyZ86cpHnz5snVV19d7nZHHXVU0qhRo+T555+vcIzS+3/fffclEZFMnDixwm2y7kfnzp3L/ay+++67ZPHixeVu89577yXNmjVLLrnkknKxiEhGjx5dIfbDn31VXHfddUlEJA899FC1awtBofdF//79k4hI2rdvnxx++OHJ2LFjkwsuuCBp0qRJssMOO5Q7V5Yf/r5U5ne/+13SokWLZM6cOUmSJMlbb72VREQybty4crfbeeedkzZt2iQzZswoF196PVdccUUSEcl7771X7jZpv8NLr3Xpfpk3b16F2zzzzDNJRCR33HFHWWzixIkVerA0Vt2/I1nrzptC740fmjJlShIRybBhw6pcozcurHCMH5o7d24ycODApKioKImIJCKSli1bJuPHj19mbSHSF/qiuntGqWOOOSZp3Lhx8tZbby1XfX2Xh97429/+ljRp0iR57bXXytbaqlWrKv8M9MaFFY6xtJkzZyZFRUXJMcccUy4+derUsv1j1qxZlR6j0BR6X+y3335Ju3btyn5PS22//fZJRCS/+93vlnkMfXFhhWOkOfjgg5Mddtih3FpOOeWUKtUWIr2hN/RGRYXeF0tzzfZ7tXHNdtVVV01WW221pFmzZskFF1yQjB07NjnssMNSfyfyotB7w55hz6gNhd4X++yzT7LeeutViH/zzTdV/numLy6scIyqqOtrU3X6jvHddtstiouLY911141BgwZF69atY9y4cbHOOuuUu91JJ51U7v/vu+++aNu2bey+++4xa9assv+23nrraN26dUycODEivn/12oIFC+LnP/95uY/JO+2001LXU/pRA/VNSUlJ9OrVKzbYYIOIiGjTpk3ss88+5T5mYcmSJTF+/PjYb7/9yr7PYWlL3/8V1axZs2jU6PtfncWLF8fs2bOjdevW0b1793jppZcqre3SpUskSZL6UQ7LMmbMmCguLk797vE8KdS+mDt3bkRE9O7dO+6666446KCD4pJLLonhw4fH008/HY8++mg1fgrLVlJSEvvss0/Zx4pvuOGGsfXWW5fri5kzZ8akSZPiZz/7WXTq1KlcfU32RET5dx0tXLgwZs+eHRtssEG0a9dumX3Rt2/fSJIk9WOx+J9C7Y0fKv0drc2Pi26IvdGsWbPo1q1bHHzwwXH33XfHXXfdFb169Yojjjgi/v3vf6/o3ai39EXVj98Q++KHxowZE7fcckucccYZseGGG1a7vpAUam8sWLAgTj/99DjxxBNjo402qt6dXg4NsTc6dOgQAwcOjNtvvz2uvPLKePfdd+OJJ56IQw45JJo2bRoREd9+++0K35f6qFD74qSTTir7+PvJkyfHW2+9Faeddlq88MILEVHz/14NsS8iIiZOnBj3339/XHPNNSu44sKjN6pGb1yzgisuLIXaFytbQ71mO3fu3Pjiiy/i4osvjksuuSQOOuigKCkpib322itGjRoVX3/9dU3cnXqpUHvDnmHPqE2F2hfffvttua9kLNW8efOyfE1qqH3xQ/Xh2lTtfmHdMvz+97+Pbt26RZMmTWKNNdaI7t27l23epZo0aRI/+tGPysXefvvt+Oqrr6Jjx46px/3ss88i4vvPyI+ICj/c4uLiWG211WrqbtSqL7/8Mh566KEYOnRovPPOO2XxHXfcMe6///546623olu3bjFz5syYM2dObLLJJrW+piVLlsSoUaPihhtuiPfee6/c90gv/fEYNendd9+NZ555JoYOHVrr37NY1wq1L0r/kJZ+jEepww47LM4999x4+umnY7fddlvu4y/tjTfeiMmTJ8dRRx1Vri/69u0bv//972POnDmx6qqrxrvvvhsRsVL64ttvv40RI0bE6NGj46OPPir33UpfffVVrZ+/ISjU3lhakiQxZsyY2GSTTWKzzTarkWMurSH3xtChQ+Pf//53vPTSS2W/FwMHDoyNN944Tj311Hj22Wdr7Fz1ib5YtobcF0t74okn4phjjok999wzLrvsslo5R31SqL1x9dVXx6xZs+Liiy9e7mNUVUPujZtuuim+/fbbOPPMM8u+9++II46I9ddfPx544IFo3bp1jZ2rPinUvvjJT34S1113XZxzzjmx1VZbRUTEBhtsEJdddlkMGzasRv+9GmpfLFq0KH7xi1/EkUceGb17966RYxYSvbFseqPh9Uah9sXK1JCv2bZo0SK++eabCtcADz300Hj44Ydj8uTJtfIVWfVBofaGPcOeUZsKtS9atGhR9lVbS/vuu+/K8jWlofbFD9WXa1N1OmHcZpttUl8pt7SlX+lWasmSJdGxY8fML6av7mfp12f33XdfzJ8/P6688sq48sorK+RLSkpq/cLZ0g+iIiIuv/zyuOCCC+JnP/tZDB8+PFZfffVo1KhRnHbaabX2PTJjxoyJiNp7J1l9Uqh9sfbaa0dExBprrFEuXrqxffHFFzV2rrvuuisiIk4//fQ4/fTTK+Tvv//+GDJkyAqfJ+tVWD/siYiIn//85zF69Og47bTTYvvtt4+2bdtGUVFRDBo0qMF9v1JtKdTeWNpTTz0VM2bMiBEjRtTK8RtqbyxYsCBuueWWGDZsWLl//6ZNm8ZPfvKTuP7662PBggWxyiqr1Mj56hN9sWwNtS+W9sorr0T//v1jk002ibFjx+b+RYYRhdkbX331VVx66aVx8sknx5w5c2LOnDkR8f07cpIkienTp0fLli0zLxpUV0PujbZt28Zf/vKXeP/992P69OnRuXPn6Ny5c+ywww5RXFwc7dq1q7Fz1SeF2Belhg4dGkOGDIlXX301Vlllldhiiy3illtuiYiIbt261dh5Gmpf3HHHHfHmm2/GTTfdVOHdNV9//XVMnz49OnbsWPY9pHmjN5ZNbzS83ijkvlhZGvI127XXXjvefvvtlXINsL4p5N6wZ9gzakuh9sVaa60VEydOjCRJyv0+/fe//42I/807akJD7Yul1adrUwV5VWz99dePCRMmxI477ljpqzY6d+4cEd+/8mS99dYri8+cObNgNuiSkpLYZJNN4sILL6yQu+mmm2LMmDFx8cUXR3Fxcay66qoxZcqUSo9X2cctrLbaavHll1+Wiy1YsKDsD0GpsWPHRr9+/co2zlJffvlldOjQYRn3aPmMGTMm1l9//dhuu+1q5fh5UNd9sfXWW8fNN98cH330Ubn4xx9/HBE1t5GVvrOwX79+cfLJJ1fIDx8+PEpKSmLIkCFl9295+6L0FWc/7IvSV6ktbezYsTF48OByT4a+++67CrWsfHXdG0srKSmJoqKiOOyww2rkeEtryL0xe/bsWLRoUeqDvIULF8aSJUtScw2Zvvhenvui1LRp02KvvfaKjh07xkMPPZTbd8LWlLrsjS+++CLmzp0bv/3tb+O3v/1thXzXrl1j//33j/Hjxy/X8ZemN77XqVOnso+n+/LLL+PFF1+Mgw46qFbOVcjqy57RqlWr2H777cv+f8KECdGiRYvYcccdV/jYEQ27L95///1YuHBh6s/yjjvuiDvuuCPGjRsXAwYMqLFz5oHe+J7e0BtLqy99sTI05Gu2W2+9dbz99tvx0Ucflfv3q+lrgHlSX3rDnmHPqE/qui+22GKL+NOf/hRvvPFGua8yK/3UyS222GK5j720htwXperbtak6/Y7x5TVw4MBYvHhxDB8+vEJu0aJFZf9wu+22WzRt2jSuu+66ch8DkPUdD9OmTYtp06bVxpKXywcffBCTJk2KgQMHxsEHH1zhvyFDhsQ777wTzz77bDRq1CgGDBgQDz74YNl3gyyt9P63atUqIio2RsT3f4gmTZpULvbHP/6xwjChcePG5X6eEd+/SvKHA9E0CxcujKlTp1Z44FaZyZMnxxtvvFErF8zzpK77Yv/9949mzZrF6NGjy72i6E9/+lNERI19N/xTTz0V06dPjyFDhqT2xSGHHBITJ06Mjz/+OIqLi2PnnXeOW2+9Nd5///1yx1n6vmf1xaqrrhodOnSo0Bc33HBDhXWl9cV1111XpWHcvHnzYurUqTFr1qxl3pbqq+veKLVw4cK47777YqeddqrwHTE1oSH3RseOHaNdu3Yxbty4WLBgQVl87ty58eCDD0aPHj1q9OOP8kBf5L8vIiI++eST2GOPPaJRo0bxyCOPuEBVBXXZGx07doxx48ZV+K9fv37RvHnzGDduXJx77rnLfd+W1tB7I825554bixYtSn31fkNXX/aMpT399NPxwAMPxDHHHBNt27ZdrmP8UEPui0GDBqX+/YmI2HvvvWPcuHGx7bbbLvN8DY3e0Bt6o6L62Be1oaFfsz3kkEMiIsoN4JcsWRKjR4+O1VdfPbbeeutlHqOhqY+9Yc+wZ9S1uu6L/fffP5o2bVrudyZJkrjxxhtjnXXWiR122KF6dyhDQ+6LiPp5baog3zHep0+fOOGEE2LEiBHx8ssvxx577BFNmzaNt99+O+67774YNWpUHHzwwVFcXBxnnnlmjBgxIvbdd9/Ye++9Y/LkyfH3v/899VVyu+66a0REhY+6SHPnnXfGjBkzYt68eRERMWnSpLj00ksjIuLII48sexXLihgzZkwkSRL9+/dPze+9997RpEmTKCkpiW233TYuv/zy+Mc//hF9+vSJ448/Pnr27Bn//e9/47777osnn3wy2rVrF1tssUU0btw4fvOb38RXX30VzZo1i1122SU6duwYxx57bJx44olx0EEHxe677x6vvPJKPPLIIxV+Vvvuu29ccsklMWTIkNhhhx3iP//5T5SUlJR7tU6Wjz76KHr27BmDBw+O2267rUo/h9KP0mgIH6O+Iuq6L9Zcc804//zz49e//nXstddeMWDAgHjllVfi5ptvjkMPPbTGvlulpKQkGjduHPvss09qvn///nH++efHPffcE7/85S/j2muvjZ122im22mqrOP7446Nr164xffr0+L//+794+eWXIyLKHrCff/75MWjQoGjatGnst99+0apVqzj22GNj5MiRceyxx0avXr1i0qRJ8dZbb1U477777ht33nlntG3bNjbaaKN45plnYsKECVX6Dqfnnnsu+vXrFxdeeGFcdNFFld72q6++iuuuuy4ivt9UIyKuv/76aNeuXbRr1y6GDh26zPM1NHXdG6UeeeSRmD17dq39LWvIvdG4ceM488wz41e/+lVst912cdRRR8XixYvjlltuiQ8//LDs44r4H33xvTz3RUTEXnvtFe+++24MGzYsnnzyyXjyySfLcmussUaNvWgtT+qyN1q2bJn67oHx48fHc889V6PvLGjovTFy5MiYMmVKbLvtttGkSZMYP358/OMf/4hLL720wX0fYFXU9Z4xY8aMGDhwYPTv3z/WXHPNeO211+LGG2+MzTbbLC6//PIau58NuS969OgRPXr0SM117drVO5sy6I3v6Q2WVtd9EeGa7cq4Zrv//vvHrrvuGiNGjIhZs2bF5ptvHuPHj48nn3wybrrppmjWrFmVf5YNRV33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kiRJivWFBQXl3Uu1s3z58miuqH+WfffdNzX+zDPPlLqn6qqYyyCVtVH1denSJZo7+eSTU+OHHXZYtObf//53avyggw6K1ixbtiyaq8pKujaqwroYNGhQanzgwIEV2whRRa3NcePGVVwjObJnFE+vXr2iuWHDhqXGBw8eHK258MILc+6hcePG0dzbb7+dGt9oo42iNSNGjEiNH3XUUbk1llH5vGdUlEaNGkVzn376aWp80aJF0Zqdd945Nf7tt9/m1hjlJqt7RosWLaK52M/XEEJ48sknU+PHHHNMqXvKgq233jo1/v7771dwJ+XPnlE6devWTY3/61//itb8/ve/L692VjFp0qRobpNNNkmNb7PNNtGa5557LjW+9tprR2vmzZsXzRUWFqbGFy9eHK2pKFndM/jZBhtsEM198sknqfHLLrssWnPttdeWuqd8Yc8oH927d4/m7r333tR4gwYNojVjx46N5p5++unU+HHHHRetieXefPPNaE11Ys9Y1WmnnZYav+WWWyq4k9V999130dztt9+eGt9vv/2iNdtvv31qvHbt2rk1VsFq1KiY+7SLszbcMQ4AAAAAAABAphmMAwAAAAAAAJBpBuMAAAAAAAAAZJrBOAAAAAAAAACZZjAOAAAAAAAAQKbVquwGqrO//vWv0dwpp5wSzR155JGp8WeeeabUPUFVV1BQEM0dcsghqfGbb745WrPhhhumxkePHh2tGTZsWGp82bJl0Roq3rhx43KuGThwYNk3Us116dIlmivJvxH54+KLL47mYj/LZ86cWaY9zJkzJ5q76aabUuNF7RmHHnpoavzqq6+O1kyYMCGao/rZc889o7nCwsLUeFF707ffflvqnqAk+vbtG82tvfba0dyzzz5bHu1USc2aNUuN9+/fP1rTqVOn1Hj79u3LoiXyTKNGjaK5UaNGpcaLeu1dEgsXLozmvvjii9T4Cy+8EK1p06ZNaryonw1F/UyJadiwYTQXe7/txhtvzPk8kGadddZJjd99993Rmu+//z41ft9995VJT1RvsevvHj16RGsaNGiQGl+wYEG05qCDDormYu/Zxq6BQgjhkksuyfk8ZFuTJk2iuTPOOKNCeli0aFFqvKj3he68885o7rvvvkuNX3bZZdGaAw88MDU+ePDgaM3mm28ezVVH7hgHAAAAAAAAINMMxgEAAAAAAADININxAAAAAAAAADLNYBwAAAAAAACATDMYBwAAAAAAACDTDMYBAAAAAAAAyLRald1AdXb99ddHc717947m9tlnn9R48+bNozVfffVVsfuCqmyTTTaJ5kaOHJnz8b755pvU+O233x6tGTt2bM7noeKNGzcup3gIIQwaNCia69y5c07xEEIYOHBgNFdRYo+3S5cu0Zqivg9lWUM2bLnllqnxZs2aRWuWLl2aGr/tttvKpKfimDNnTs41derUSY136tQpWjNhwoSczwO/tN5661V2C7Caon7Gz58/P5p78803y6OdSlOrVvwtlQsvvDA1ftJJJ0Vrpk6dWuqeyI6//vWv0VxRr+VzNXHixGju8ssvj+ZGjBiRGt9xxx2jNQ899FBqfJ111onWlLXWrVtX2LnIroKCgmiuf//+qfHYdVMI8TX93Xff5dQXpDn00ENT40ceeWTOx7riiiuiudh1fgghPPLII6nxiy++OFqz0047Fb8xqoWWLVtGcxtvvHGF9PDuu++mxot6zVTWxowZkxpfa621ojX33HNPOXWTn9wxDgAAAAAAAECmGYwDAAAAAAAAkGkG4wAAAAAAAABkmsE4AAAAAAAAAJlmMA4AAAAAAABAptWq7Aaqs8mTJ0dz9913XzR30kknpcbr169f2pagSmjRokU0989//rNMz3XHHXekxseOHVum5yH/jRs3Lqd4UbkXXnih9A0VU+fOnXOuGTRoUJnVdOrUKedjhRBCly5dSlRHxevYsWNqvFGjRtGakSNHpsaXLl1aJj0VR+y11jXXXBOtWXfddcurHaqJt99+O5qbPXt2anzPPfeM1jRs2DA1Pm/evJz6grLUoEGDaC52LXv66aeXVzvlqkOHDtFc7LHOnDkzWtOtW7dS90TVVLNmzWjuySefTI2X9HV0zAcffJAa32effaI1sb0phBCOOuqo1Pjtt98erYntW2Xtp59+iuZi32/IxaabbhrNXXjhhanx448/Plrz+eefl7oniCnJ64uXXnopNX7TTTeVshsouX79+lV2C2SEO8YBAAAAAAAAyDSDcQAAAAAAAAAyzWAcAAAAAAAAgEwzGAcAAAAAAAAg0wzGAQAAAAAAAMg0g3EAAAAAAAAAMq1WZTdAuo8//riyW4By16pVq9T4U089Fa3ZdNNNcz7P3XffHc299NJLOR8PimvcuHGp8S5dukRrOnfunBofOHBgGXT02+cJId53UTVl3d+gQYNyilO+GjZsGM2dddZZOR+vd+/epeimfM2YMSOaW3fddSuwE7JoypQp0dx7772XGu/UqVO0ZptttkmNv/LKK7k1Vg66desWzZ166qmp8b59+0Zrvv7661L3RNl5+OGHo7k//OEP0dzWW2+dGo9dF4QQwuTJk4vbVoXbcccdc6759ttvo7kJEyaUph2qsKOOOiqa23vvvcvsPFOnTo3m9tlnn9R48+bNozVF7SetW7cufmPlYOLEidHcCSecEM29+uqr5dEOGbThhhtGc8OGDYvmYu9BPfDAA6XuCWJq1YqPefbbb7/U+PLly6M1gwcPTo0vXrw4t8b+v5o1a6bGCwoKSnQ8qqevvvqqslsI06ZNq+wWKAPuGAcAAAAAAAAg0wzGAQAAAAAAAMg0g3EAAAAAAAAAMs1gHAAAAAAAAIBMMxgHAAAAAAAAINNqVXYDQLbVrFkzmrvllltS45tuummJzvXKK6+kxs8///xozcyZM0t0LiiNcePG5ZwbOHBgmfZQ1PFiuc6dO5dpD0V9HwYNGlSm56J0evXqFc3FfmY/8cQT0ZrFixeXuqfy8o9//COau+GGG1LjG2ywQXm1QzXSs2fP1Ph3330XrTnppJNS46+99lq0Zvny5bk19hvatGmTGr/pppuiNTVqpP9+9owZM8qiJSrAU089Fc3dc8890dypp56aGi/qNcGxxx6bGn/nnXeiNXPnzo3mqrLYevr8888ruBPK2qWXXloh5ynqZ/xtt92WGj/44IOjNbVqVf7bhgsXLkyNF3Wd/+qrr5ZXO1Qjffv2jeaWLFkSzcWem0uXLi11TxBz8sknR3NNmzZNjb/44ovRmqJe65VE7P2kdu3aRWu+//771PiWW24Zrfniiy9S4wsWLIg3R94o6jrjyiuvrJAe6tatmxrv1KlTiY4Xu6bJ1+uZYcOGVXYLxeKOcQAAAAAAAAAyzWAcAAAAAAAAgEwzGAcAAAAAAAAg0wzGAQAAAAAAAMg0g3EAAAAAAAAAMs1gHAAAAAAAAIBMK0iSJCnWFxYUlHcv/MJpp50Wzd18882p8Xbt2kVrPvnkk1L3lGXFXAaprI2iDR48OJo755xzcj7evHnzornWrVunxmfOnJnzefhZSdeGdVH2Bg0aFM0NHDiw4hrJ0aWXXhrNFfWYqrLquGc8//zz0dwmm2ySGj/wwAOjNe+++25pWyo3G2ywQTQ3ZcqU1Pj06dOjNS1btix1T/nCnlE6DRo0SI3PnTs352MNGDAgmrvxxhtzPt5uu+0Wzd1///2p8RYtWkRrdthhh9R4Vf7ZUFLVcc+oU6dONHfLLbekxvv27RutiX0fvvjii2jN2LFjU+ObbbZZtKZJkybRXExhYWE016xZs9T4/PnzozXfffddarxNmza5NZYHqtue8eWXX0Zz1em1Qkk8/vjjqfEePXpUbCMVoDruGVXBtttumxofM2ZMtKaofeupp54qbUv8SnXbM4qy1lprpcZfe+21aE3smv3EE0+M1tx99925NRbi1zMhhHDvvfemxrt3757zed5+++1o7qijjkqNf/rppzmfp6rL6p4R+5kcQgi33357NNehQ4dy6Kb8xa6Bf/zxx2jNHXfckRov6nt39tln59JWicV+3oQQwqRJkyqkh+KsDXeMAwAAAAAAAJBpBuMAAAAAAAAAZJrBOAAAAAAAAACZZjAOAAAAAAAAQKYZjAMAAAAAAACQaQbjAAAAAAAAAGRaQZIkSbG+sKCgvHvhF+bOnRvNNWzYMDXerl27aM3EiRNL3VOWFXMZpLI2frbGGmukxidPnhytWW+99VLjixcvjtb06tUrmhs9enQ0R8mUdG1YFxWrND/DyluXLl2iuXHjxlVcI2Uoq3vG1ltvHc298sor0dxVV12VGr/66qtL3VNVs2TJktT4008/Ha058MADy6udKseeUTo1a9ZMjR9xxBHRmnvvvTc1vmzZsmjN22+/nVtjIYTtt98+mov1fd1110VrLrjggtR4UX3nq6zuGWXtxBNPjOZ69OiRGt9nn33Kq51y9e9//zuaO+CAAyqwk8pV3faMIUOGRHN9+/atwE7yT2wPevfddyu2kQpgzyg/sfesQgjhq6++So2PHz8+WvOHP/whmqvK1+f5qrrtGUWpW7duavzVV1+N1myzzTap8VmzZkVrfvzxx9waCyHUrl07mmvWrFnOx4v117p162jNvHnzcj5Pvsr3PSP2vCzqtfL6669fXu2QowceeCA13rt372jN8uXLy6mbVRVnbbhjHAAAAAAAAIBMMxgHAAAAAAAAINMMxgEAAAAAAADININxAAAAAAAAADLNYBwAAAAAAACATKtV2Q2QLkmSnHNF1UB523///VPj6623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AAAAAAAAAGSawTgAAAAAAAAAmWYwDgAAAAAAAECmGYwDAAAAAAAAkGkG4wAAAAAAAABkmsE4AAAAAAAAAJlmMA4AAAAAAABAphmMAwAAAAAAAJBpBuMAAAAAAAAAZJrBOAAAAAAAAACZZjAOAAAAAAAAQKYZjAMAAAAAAACQaQbjAAAAAAAAAGSawTgAAAAAAAAAmWYwDgAAAAAAAECmGYwDAAAAAAAAkGkG4wAAAAAAAABkmsE4AAAAAAAAAJlmMA4AAAAAAABAphmMAwAAAAAAAJBpBuMAAAAAAAAAZJrBOAAAAAAAAACZZjAOAAAAAAAAQKYZjAMAAAAAAACQaQbjAAAAAAAAAGSawTgAAAAAAAAAmWYwDgAAAAAAAECmGYwDAAAAAAAAkGkG4wAAAAAAAABkmsE4AAAAAAAAAJlmMA4AAAAAAABAphmMAwAAAAAAAJBpBuMAAAAAAAAAZJrBOAAAAAAAAACZZjAOAAAAAAAAQKYZjAMAAAAAAACQaQbjAAAAAAAAAGSawTgAAAAAAAAAmWYwDgAAAAAAAECmGYwDAAAAAAAAkGkG4wAAAAAAAABkmsE4AAAAAAAAAJlmMA4AAAAAAABAphmMAwAAAAAAAJBpBuMAAAAAAAAAZJrBOAAAAAAAAACZZjAOAAAAAAAAQKYZjAMAAAAAAACQaQbjAAAAAAAAAGSawTgAAAAAAAAAmWYwDgAAAAAAAECmGYwDAAAAAAAAkGkG4wAAAAAAAABkmsE4AAAAAAAAAJlmMA4AAAAAAABAphmMAwAAAAAAAJBpBuMAAAAAAAAAZJrBOAAAAAAAAACZZjAOAAAAAAAAQKYZjAMAAAAAAACQaQbjAAAAAAAAAGSawTgAAAAAAAAAmWYwDgAAAAAAAECmGYwDAAAAAAAAkGkG4wAAAAAAAABkmsE4AAAAAAAAAJlmMA4AAAAAAABAphmMAwAAAAAAAJBpBuMAAAAAAAAAZJrBOAAAAAAAAACZZjAOAAAAAAAAQKYZjAMAAAAAAACQaQbjAAAAAAAAAGSawTgAAAAAAAAAmWYwDgAAAAAAAECmGYwDAAAAAAAAkGkG4wAAAAAAAABkmsE4AAAAAAAAAJlmMA4AAAAAAABAphmMAwAAAAAAAJBpBuMAAAAAAAAAZJrBOAAAAAAAAACZZjAOAAAAAAAAQKYZjAMAAAAAAACQaQbjAAAAAAAAAGSawTgAAAAAAAAAmWYwDgAAAAAAAECmGYwDAAAAAAAAkGkG4wAAAAAAAABkmsE4AAAAAAAAAJlmMA4AAAAAAABAphmMAwAAAAAAAJBpBuMAAAAAAAAAZJrBOAAAAAAAAACZZjAOAAAAAAAAQKYZjAMAAAAAAACQaQbjAAAAAAAAAGSawTgAAAAAAAAAmWYwDgAAAAAAAECmGYwDAAAAAAAAkGkG4wAAAAAAAABkmsE4AAAAAAAAAJlmMA4AAAAAAABAphmMAwAAAAAAAJBpBuMAAAAAAAAAZJrBOAAAAAAAAACZZjAOAAAAAAAAQKYZjAMAAAAAAACQaQbjAAAAAAAAAGSawTgAAAAAAAAAmWYwDgAAAAAAAECmGYwDAAAAAAAAkGkG4wAAAAAAAABkmsE4AAAAAAAAAJlmMA4AAAAAAABAphmMAwAAAAAAAJBpBuMAAAAAAAAAZJrBOAAAAAAAAACZZjAOAAAAAAAAQKYZjAMAAAAAAACQaQbjAAAAAAAAAGSawTgAAAAAAAAAmWYwDgAAAAAAAECmGYwDAAAAAAAAkGkG4wAAAAAAAABkmsE4AAAAAAAAAJlmMA4AAAAAAABAphmMAwAAAAAAAJBpBuMAAAAAAAAAZJrBOAAAAAAAAACZZjAOAAAAAAAAQKYZjAMAAAAAAACQaQbjAAAAAAAAAGSawTgAAAAAAAAAmWYwDgAAAAAAAECmGYwDAAAAAAAAkGkG4wAAAAAAAABkmsE4AAAAAAAAAJlmMA4AAAAAAABAphmMAwAAAAAAAJBpBuMAAAAAAAAAZJrBOAAAAAAAAACZZjAOAAAAAAAAQKYZjAMAAAAAAACQaQbjAAAAAAAAAGSawTgAAAAAAAAAmWYwDgAAAAAAAECmGYwDAAAAAAAAkGkG4wAAAAAAAABkmsE4AAAAAAAAAJlmMA4AAAAAAABAphmMAwAAAAAAAJBpBuMAAAAAAAAAZJrBOAAAAAAAAACZZjAOAAAAAAAAQKYZjAMAAAAAAACQaQbjAAAAAAAAAGSawTgAAAAAAAAAmVZtB+OtWrUKvXv3rtTzDxo0qNLOXxEmT54cCgoKwj333FPZrVBMlb0uqsPzZdy4caGgoCCMGzeuslshB9ZG+bM28o91Uf6si/xU2WvDdQZVUWWvi+rwfLFn5J/KXhf2C6qqyl4b1eE5Y8/IT9ZG+bM28o91Uf6yuC4qZTB+zz33hIKCgpX/1a1bN2y66abhtNNOC999911ltJST6dOnh6OPPjq0bds2rLnmmqFJkyahffv24d577w1JkpTbec8555xQUFAQDj/88BIf46OPPgqDBg0KkydPLrvGysmvnye//O/bb7+t7PbKXL6vixBC+Pzzz8Nhhx0W1lprrVC/fv2w2267hRdeeKFcz9mzZ89QUFAQzj333BIf49VXXw2DBg0Ks2fPLrvGykmrVq2i62KTTTap7PbKRRbWxvLly8M111wTNtpoo1C3bt2w9dZbhxEjRpTrOavb2ljhoYceCh07dgwNGjQITZo0Cbvsskt4/vnnK7utMmddlEx1WxeDBg1K3S/q1q1b2a2Vm3xfGxMnTgznnHNO2HbbbcOaa64Zfve734UDDjggvPnmm+V63up2ndG5c+fo66natWtXdntlLt/Xxa8NGzYsFBQUhIYNG5brearbnhFCCA8++GDYfvvtQ926dUNhYWE4/vjjw8yZMyu7rXKR7+vCflExxo8fHw466KDQvHnzULdu3bD++uuHfffdN7zyyiuV3Vq5yfe1EXv9u+K/8vq3q457xrPPPhu6dOkSmjZtuvK98fvvv7+y2yo3+b42VvyiUNp/Dz74YLmdt7qtjVGjRoWuXbuGDTbYIKyxxhphww03DIcddliYMGFCZbdWLvJ9Xfya64zyU9WuM2pV2plDCJdddlnYaKONwqJFi8LLL78cbr/99vDkk0+GCRMmhPr161dma0WaOXNm+Prrr8Nhhx0WWrRoEZYuXRqeeeaZ0Lt37/DJJ5+Eq666qszPmSRJGDFiRGjVqlUYM2ZM+PHHH8Oaa66Z83E++uijcOmll4bOnTuHVq1alXmf5WHF8+SXmjRpUjnNVIB8XRdfffVV6NixY6hZs2Y4++yzQ4MGDcLQoUPDPvvsE5577rmwxx57lPk5586dG8aMGRNatWoVRowYEQYPHhwKCgpyPs6rr74aLr300tC7d+8q/9y66aabwrx581aJTZkyJVx00UVhn332qaSuKka+ro0QQrjwwgvD4MGDQ9++fcNOO+0URo8eHY488shQUFAQevXqVebnq45rI4Sf3wS57LLLwmGHHRZ69+4dli5dGiZMmBCmTZtW2a2VG+ui+KrrugghhNtvv32VC7uaNWtWYjcVI1/Xxt///vdw9913h0MPPTSccsopYc6cOWHIkCFh5513Dk899VTYa6+9yvyc1fE648ILLwwnnHDCKrH58+eHk046KdOvp/J1XfzSvHnzwjnnnBMaNGhQruepjnvG7bffHk455ZSw5557hhtuuCF8/fXX4eabbw5vvvlmeP311zP7S1X5ui7sFxXj008/DTVq1AgnnXRSWH/99cMPP/wQHnjggbDHHnuEJ554Iuy7776V3WK5yde10aNHj9CmTZvV4hdccEGYN29e2Gmnncr8nNVxz/jnP/8ZDjnkkNCxY8eVv4zw8MMPh2OOOSbMnDkznHnmmZXdYrnJ17WxwhFHHBH233//VWIdO3Ysl3NVx7XxwQcfhLXWWiucccYZoWnTpuHbb78N//jHP0L79u3Da6+9FrbZZpvKbrFc5Pu6CMF1RnmqktcZSSUYOnRoEkJI/vvf/64S//Of/5yEEJLhw4dHa+fNm1cmPbRs2TI59thjy+RYK3Tr1i1p0KBB8tNPPxXr/AMHDiz2sZ9//vkkhJA8//zzSe3atZN77rmnRD0+8sgjSQgheeGFF0pUn4svv/wyCSEkQ4cOLVF97HmSVfm+Lk455ZSkVq1aycSJE1fG5s+fnzRv3jzZfvvti3WMXJ8v//jHP5LatWuvXB/jxo3Lte0kSZLk2muvTUIIyZdfflmi+ly88MILZb4GL7/88iSEkLzyyitldsyqJN/Xxtdff53Url07OfXUU1fGli9fnuy+++7JhhtuWKw9w9r4ba+99lpSUFCQ3HDDDWXbWBVlXVgXxTFw4MAkhJDMmDGjbBurwvJ9bbz55pvJjz/+uEps5syZSWFhYbLrrrsW+/yuM3J3//33JyGEZNiwYWV2zKoi39fFL5177rlJ27Ztk6OOOipp0KBBsevsGUVbvHhx0qRJk2SPPfZIli9fvjI+ZsyYJISQ3HLLLWXYadWQ7+vCflE85bFfzJ8/P1lvvfWSrl27ltkxq5J8Xxtppk6dmhQUFCR9+/Yt1tfbM37b3nvvnWywwQbJokWLVsaWLl2abLzxxsnWW29dRl1WLfm+Nlb8PLz22mtLfH5ro2S+/fbbpFatWkm/fv3K7JhVRb6vi19ynRGXxeuMKvU3xn//+9+HEEL48ssvQwgh9O7dOzRs2DBMmjQp7L///mHNNdcMRx11VAjh54/fvOmmm8IWW2wR6tatG9Zbb73Qr1+/8MMPP6xyzCRJwhVXXBE23HDDUL9+/dClS5fw4Ycfpp5/0qRJYdKkSSXuv1WrVmHBggVhyZIlJT5GzLBhw0K7du1Cly5dwl577RWGDRuW+nXTpk0Lxx9//MqP69hoo43CySefHJYsWRLuueee8Ic//CGEEEKXLl1WfsTFir8NUFBQkPr3pX79dxq+//77MGDAgLDVVluFhg0bhkaNGoX99tsvvPfee7/5OJYuXRomTpwYvvnmm5we/48//hiWLVuWU01W5Mu6eOmll8J2220X2rZtuzJWv379cNBBB4W33347fPbZZyV6/EUZNmxY2HvvvUOXLl3C5ptvHl0XEydODD179gyFhYWhXr16oW3btuHCCy8MIfx8h+nZZ58dQghho402WrkuJk+eXOTfI/v1epkyZUo45ZRTQtu2bUO9evXCOuusE/7whz8U6+PhFixYECZOnFjijw8ZPnx42GijjcIuu+xSovp8lS9rY/To0WHp0qXhlFNOWRkrKCgIJ598cvj666/Da6+9VqLHX5TquDZuuummsP7664czzjgjJEmy2icrVBfWRVx1XBcrJEkS5s6dW65/8qeqy5e1scMOO6z2sW3rrLNO2H333cPHH3+c8+Mujup+nbHC8OHDQ4MGDcLBBx9covp8lC/rYoXPPvss3HjjjeGGG24ItWqV74ffVbc9Y8KECWH27Nnh8MMPX+WOlW7duoWGDRuW60esVjX5si7sF5W3X9SvXz8UFhbmzUeXlpV8WRtpRowYEZIkWdlfWatue0YIP9/xuNZaa4U11lhjZaxWrVqhadOmoV69er9ZnyX5uDbmz59fLvOLX6uOayPNuuuuG+rXr1+t9o18WxeuM6rfdUaVGoyveLKus846K2M//fRT6Nq1a1h33XXDddddFw499NAQQgj9+vULZ599dth1113DzTffHPr06ROGDRsWunbtGpYuXbqy/pJLLgkXX3xx2GabbcK1114bWrduHfbZZ58wf/781c6/5557hj333LPY/S5cuDDMnDkzTJ48Odx7771h6NChoWPHjmX+AmDx4sVh5MiR4Ygjjggh/PyRJ88///xqf2d7+vTpoX379uHBBx8Mhx9+eLjlllvCH//4x/Diiy+GBQsWhD322COcfvrpIYSfP0Lo/vvvD/fff3/YfPPNc+rniy++CI8//njo1q1buOGGG8LZZ58dPvjgg9CpU6cwffr0ImunTZsWNt9883D++ecX+3xdunQJjRo1WjlkLY8Ba1WWL+ti8eLFqc/9FR+X8tZbb+X2wH/D9OnTwwsvvLDKunj00UdXe2H3/vvvhw4dOoTnn38+9O3bN9x8883hkEMOCWPGjAkh/PwxWyuOceONN65cF4WFhTn189///je8+uqroVevXuGWW24JJ510UnjuuedC586dw4IFC4qsfeONN8Lmm28ebrvttpzOGUII77zzTvj444/DkUcemXNtvsuXtfHOO++EBg0arPaztn379ivzZam6ro3nnnsu7LTTTuGWW24JhYWFK//WYknWVT6zLtJV13WxQuvWrUPjxo3DmmuuGY4++ui8/FtfpZUvayPm22+/DU2bNi1xfUx1v85YYcaMGeGZZ54JhxxySLl/dF5Vkm/ron///qFLly6rffxnWauOe8bixYtDCCH1eq5evXrhnXfeCcuXL8+p73yVb+vi1+wX5bNfzJ07N8ycOTNMnDgxXHDBBWHChAml+nfKR/m8NoYNGxaaN29eLn/irzruGSGE0Llz5/Dhhx+Giy++OHz++edh0qRJ4fLLLw9vvvlmOOecc3LqOd/l29q49NJLQ8OGDUPdunXDTjvtFMaOHVvSh16k6ro2Vpg9e3aYMWNG+OCDD8IJJ5wQ5s6dW632jXxbF64zquF1RmXcpr7iIxaeffbZZMaMGclXX32VPPjgg8k666yT1KtXL/n666+TJEmSY489NgkhJOedd94q9S+99FLqx9w99dRTq8T/97//JXXq1EkOOOCAVW7Tv+CCC5IQwmofsdCyZcukZcuWxX4cV199dRJCWPnfnnvumUydOrVYtbl8ZNWjjz6ahBCSzz77LEmSJJk7d25St27d5MYbb1zl64455pikRo0aqR89vuLxF/WRVSGE1J5+/XEUixYtSpYtW7bK13z55ZfJGmuskVx22WWrxMKvPkpiRaw4H2/x0EMPJb17907uvffeZNSoUclFF12U1K9fP2natGmxv8/5JN/XxYEHHpg0adIkmTt37irxjh07JiGE5LrrrvvNY/z6+VKU6667LqlXr97K83366adJCCEZNWrUKl+3xx57JGuuuWYyZcqUVeK/fOyxjx4p6mPXfr1eFixYsNrXvPbaa0kIIbnvvvtWxtI+emRFLJePsVvhrLPOSkIIyUcffZRzbb7I97VxwAEHJK1bt14tPn/+/NR+01gbA1c7xi99//33SQghWWeddZKGDRsm1157bfLQQw8l++67bxJCSO64444i6/ORdWFdFGfPuOmmm5LTTjstGTZsWPLoo48mZ5xxRlKrVq1kk002SebMmfOb9fko39dGmvHjxycFBQXJxRdfXKyvd51xbJKrW2+9NQkhJE8++WTOtfkgC+viX//6V1KrVq3kww8/XNlreX3EYXXcM2bMmJEUFBQkxx9//CrxiRMnrny/Y+bMmUUeI99kYV38mv2i/PaLrl27rlwLderUSfr165csXLiw2PX5JGtrY8KECUkIITnnnHOKXWPPGLjaMX5t3rx5Sc+ePZOCgoKVa6N+/frJ448//pu1+Srf18aUKVOSffbZJ7n99tuTf/7zn8lNN92UtGjRIqlRo0byr3/9q1jfA2tj4GrHiGnbtu3KtdGwYcPkoosuWm3fyoJ8XxdJ4jrj16rLdUal3jG+1157hcLCwtC8efPQq1ev0LBhwzBq1KjQrFmzVb7u5JNPXuX/P/LII6Fx48Zh7733DjNnzlz534qPknrhhRdCCCE8++yzYcmSJeFPf/rTKrfp9+/fP7WfFR81UFxHHHFEeOaZZ8Lw4cNX3q25cOHCYtcX17Bhw8KOO+4Y2rRpE0IIYc011wwHHHDAKh+zsHz58vD444+HAw88MOy4446rHeOXj7+01lhjjVCjxs9PnWXLloVZs2aFhg0bhrZt24a33367yNpWrVqFJElSP8rh13r27BmGDh0ajjnmmHDIIYeEyy+/PDz99NNh1qxZ4corryyLh1Il5eu6OPnkk1d+LMY777wTPv3009C/f//w5ptvhhDKfm0MGzYsHHDAAWHNNdcMIYSwySabhB122GGVdTFjxowwfvz4cNxxx4UWLVqsUl+WayKEVX/raenSpWHWrFmhTZs2oUmTJr+5Ljp37hySJEn9yLiiLF++PDz44INhu+22y/k37PNRvq6NhQsXrvLxYivUrVt3Zb4sVce1seJj02fNmhX+/ve/hwEDBoSePXuGJ554IrRr1y5cccUVpX4cVZV1UTzVcV2EEMIZZ5wRbr311nDkkUeGQw89NNx0003h3nvvDZ999ln429/+VtqHUaXl69r4tf/973/hyCOPDBtttFG53H1TXa8zfm348OGhsLAw7L333iVpO2/k67pYsmRJOPPMM8NJJ50U2rVrl9uDLoHquGc0bdo09OzZM9x7773h+uuvD1988UV46aWXwuGHHx5q164dQiif9zqqgnxdF79mvyjf/WLw4MFh7Nix4e677w4777xzWLJkSfjpp59K8xCqvKysjRXP0fL8GPXqtmeE8PMa3HTTTcNhhx0WRowYER544IGw4447hqOPPjr85z//Ke3DqNLydW20aNEiPP300+Gkk04KBx54YDjjjDPCO++8EwoLC8NZZ52V2zehGKrr2lhh6NCh4amnngp/+9vfwuabbx4WLlyY6T8Tm6/rwnVG9b3OKN8PzP8Nf/3rX8Omm24aatWqFdZbb73Qtm3blS9sV6hVq1bYcMMNV4l99tlnYc6cOWHddddNPe7//ve/EMLPn5Efws9PsF8qLCwMa621Vqn7b9myZWjZsmUI4ech+Yknnhj22muv8Mknn5TZx6nPnj07PPnkk+G0004Ln3/++cr4rrvuGkaOHBk+/fTTsOmmm4YZM2aEuXPnhi233LJMzluU5cuXh5tvvjn87W9/C19++eUqP9R/+fEY5WG33XYLHTp0CM8++2y5nqcy5eu62G+//cKtt94azjvvvLD99tuHEEJo06ZNuPLKK8M555yz2t8/K42PP/44vPPOO+GYY45ZZV107tw5/PWvfw1z584NjRo1Cl988UUIIVTIuli4cGG4+uqrw9ChQ8O0adNW+Tuuc+bMKZdzvvjii2HatGnhzDPPLJfjVzX5ujbq1au38mNjfmnRokUr82Wluq6NFd/D2rVrh8MOO2xlvEaNGuHwww8PAwcODFOnTl3tBWUWWBe/rbqui5gjjzwynHXWWeHZZ58N5513XrmeqzLl69r4pfnz54du3bqFH3/8Mbz88stl+loqBNcZK3zxxRfhtddeC6eddlq5/z25ypav6+LGG28MM2fODJdeemmJj1Fc1XnPGDJkSFi4cGEYMGBAGDBgQAghhKOPPjpsvPHG4bHHHivzn0FVRb6ui1+yX5T/frHtttuu/N9HH3102H777UPv3r3Do48+WubnqiqysDaSJAnDhw8PW265Zdh6663L5Ji/VJ33jNNOOy385z//CW+//fbK50XPnj3DFltsEc4444zw+uuvl9m5qposrI0V1l577dCnT58wePDg8PXXX6/Wc0lV57WxQseOHVf+7169eq28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Xt4x3qlTp9CvX79w9dVXh3fffTfss88+oXbt2uGzzz4LjzzySLj55pvDYYcdFgoLC8OAAQPC1VdfHbp16xb233//8M4774R///vfqb9Buueee4YQfv5hVZQrr7wyvPLKK2HfffcNLVq0CN9//30YOXJk+O9//xv+9Kc/hTZt2pTJ4xw+fHhIkiQcdNBBqfn9998/1KpVKwwbNix06NAhXHXVVWHs2LGhU6dO4cQTTwybb755+Oabb8IjjzwSXn755dCkSZOw7bbbhpo1a4a//OUvYc6cOWGNNdYIv//978O6664bTjjhhHDSSSeFQw89NOy9997hvffeC08//fRq36tu3bqFyy67LPTp0yfssssu4YMPPgjDhg1b5bd1YqZNmxY233zzcOyxx4Z77rmnyK/dZZddwnbbbRd23HHH0Lhx4/D222+Hf/zjH6F58+bhggsuKPb3sbqo7HUxZcqU0LNnz3DQQQeF9ddfP3z44YfhjjvuCFtvvXW46qqryuxxDhs2LNSsWTMccMABqfmDDjooXHjhheHBBx8Mf/7zn8Mtt9wSdtttt7D99tuHE088MWy00UZh8uTJ4YknngjvvvtuCCGEHXbYIYQQwoUXXhh69eoVateuHQ488MDQoEGDcMIJJ4TBgweHE044Iey4445h/Pjx4dNPP13tvN26dQv3339/aNy4cWjXrl147bXXwrPPPlusv2/2xhtvhC5duoSBAweGQYMGFfv7sMYaa7h7oxgqe21suOGGoX///uHaa68NS5cuDTvttFN4/PHHw0svvbTy+VwWqvva6NevX/j73/8eTj311PDpp5+GFi1ahPvvvz9MmTIljBkz5jfPVd1YFz/L+rpo2bJlOPzww8NWW20V6tatG15++eXw4IMPhm233Tb069fvN89VHVX22rjpppvC3/72t9CxY8dQv379lR+3tkL37t1XXgCXRnW/zlhhxUf2+UXDolXmuqhfv3445JBDVos//vjj4Y033kjNlVR13zMGDx4cJkyYEDp06BBq1aoVHn/88TB27NhwxRVXhJ122uk3z1Xd2C9+lvX9Yr/99gsbbrhh6NChQ1h33XXD1KlTw9ChQ8P06dPDQw89VOzvY3VS2WtjhaeffjrMmjWr3Pb46rxn1KxZMwwYMCBcdNFFYeeddw7HHHNMWLZsWbj77rvD119/vdrPI35W2WvjnHPOCZMmTQp77rln2GCDDcLkyZPDkCFDwvz588PNN99cZo+zOq+NEELYaqutwp577hm23XbbsNZaa4XPPvss3H333WHp0qVh8ODBv3mu6sZ1xs+yvi6q5HVGUgmGDh2ahBCS//73v0V+3bHHHps0aNAgmr/zzjuTHXbYIalXr16y5pprJltttVVyzjnnJNOnT1/5NcuWLUsuvfTS5He/+11Sr169pHPnzsmECROSli1bJscee+wqx2vZsmXSsmXL3+x/7NixSbdu3ZINNtggqV27drLmmmsmu+66azJ06NBk+fLlv1m/4lwDBw4s8mu22mqrpEWLFkV+TefOnZN11103Wbp0aZIkSTJlypTkmGOOSQoLC5M11lgjad26dXLqqacmixcvXllz1113Ja1bt05q1qyZhBCSF154IUmSn79X5557btK0adOkfv36SdeuXZPPP/98te/VokWLkrPOOmvl93TXXXdNXnvttaRTp05Jp06dVn7dl19+mYQQkqFDh64W+/X3Ps2FF16YbLvttknjxo2T2rVrJy1atEhOPvnk5Ntvv/3N2nyU7+vi+++/Tw4++OBk/fXXT+rUqZNstNFGybnnnpvMnTv3N2tX+PXz5deWLFmSrLPOOsnuu+9e5HE22mijZLvttlv5/ydMmJB07949adKkSVK3bt2kbdu2ycUXX7xKzeWXX540a9YsqVGjRhJCSL788sskSZJkwYIFyfHHH580btw4WXPNNZOePXsm//vf/5IQwipr+Icffkj69OmTNG3aNGnYsGHStWvXZOLEiat9T1944YVV1t0vY7/1M2GFOXPmJHXr1k169OhRrK/Pd/m+NlYc96qrrkpatmyZ1KlTJ9liiy2SBx54oFi1SWJtFHdtfPfdd8mxxx6brL322skaa6yRdOjQIXnqqaeKVZtvrAvrojjr4oQTTkjatWuXrLnmmknt2rWTNm3a5Lw355t8XxvHHntsEkKI/rfiuVYU1xn/d7yiLFu2LGnWrFmy/fbbF+vr81m+r4uS9Ppr9oz/O17Mv/71r6R9+/bJmmuumdSvXz/Zeeedk4cffvg36/JVvq8L+0XF7Be33XZbsttuuyVNmzZNatWqlRQWFiYHHnhgMn78+N+szVf5vjZW6NWrV1K7du1k1qxZxa5ZwZ7xf8cryrBhw5L27dsnTZo0SerVq5d06NAhefTRR4tVm4/yfW0MHz482WOPPZLCwsKkVq1aSdOmTZPu3bsnb7311m/WrmBt/N/xYgYOHJjsuOOOyVprrZXUqlUr2WCDDZJevXol77///m/W5qN8Xxcl6fXXrIv/O15MVbzOKEiSX90rT4Vo1apV6N27d7HvDoXqoKCgIAwdOjT07t27sluBKsXagNVZF5DOdQaszp4Bq7NfQDp7BqSzNmB11kV+ysu/MQ4AAAAAAAAAxWUwDgAAAAAAAECmGYwDAAAAAAAAkGn+xjgAAAAAAAAAmeaOcQAAAAAAAAAyzWAcAAAAAAAAgEwzGAcAAAAAAAAg02oV9wsLCgrKsw+oVEmSlLjW2iDLSro2rAuyzJ4B6ewZsDp7BqSzZ8Dq7BmQzp4Bq7NnQLrirA13jAMAAAAAAACQaQbjAAAAAAAAAGSawTgAAAAAAAAAmWYwDgAAAAAAAECmGYwDAAAAAAAAkGkG4wAAAAAAAABkmsE4AAAAAAAAAJlmMA4AAAAAAABAphmMAwAAAAAAAJBpBuMAAAAAAAAAZJrBOAAAAAAAAACZZjAOAAAAAAAAQKbVquwGAIDfts0220RzY8eOjeaOPfbY1PhTTz1V6p4AAAAAACBfuGMcAAAAAAAAgEwzGAcAAAAAAAAg0wzGAQAAAAAAAMg0g3EAAAAAAAAAMs1gHAAAAAAAAIBMMxgHAAAAAAAAINNqVXYDAMD/adeuXWq8X79+0Zp11lknmrvrrrtS4xdccEG05v7774/mAAAAAAAgH7ljHAAAAAAAAIBMMxgHAAAAAAAAINMMxgEAAAAAAADININxAAAAAAAAADLNYBwAAAAAAACATKtV2Q0AAP/nxBNPTI3369cvWpMkSTS3zjrr5FwDudh0001T43feeWe05oQTTkiNf/7552XSEwBAvtt+++2jubfeeis1/r///S9a89JLL6XGR48eHa0ZPnx4NLds2bJoDoD81qZNm9T4BRdcEK3Zc889o7nf//73qfFJkybl1hhAGXDHOAAAAAAAAACZZjAOAAAAAAAAQKYZjAMAAAAAAACQaQbjAAAAAAAAAGSawTgAAAAAAAAAmWYwDgAAAAAAAECmFSRJkhTrCwsKyruXvLbDDjtEc4ccckhqvF27djnXhBD/t/j444+jNYWFhanxxx57LFozfPjw1Pj48eOjNfmqmMsglbVBlpV0bVgXP4t9H5o2bRqtefrpp1Pj22yzTbSmqH+n2bNnp8Z79OgRrcniz/myZM9YVZMmTVLjb731VrSmVq1aqfHu3btHazbeeOPU+GuvvRat+frrr6M5yp49A1Znz4B09ozf1rJly2juoYceSo1vsskm0ZratWunxhs2bBitGT16dDR31llnpca/+OKLaA1Fs2dAOntGxXv99ddT4+3bt4/WFPXvFDtex44dc2uMlewZkK44a8Md4wAAAAAAAABkmsE4AAAAAAAAAJlmMA4AAAAAAABAphmMAwAAAAAAAJBpBuMAAAAAAAAAZFqtym6gKurevXs0d8EFF6TGt99++2hNkiSp8YKCgpxrQghh5syZqfEZM2ZEazbbbLPU+AknnBCt6dq1a2r8pZdeitYcc8wx0Rz82sUXX5wa32qrraI1derUieY6duyYGi8sLIzWxNbh6aefHq259dZbozn4pX333Tc1PmbMmArrIbY3jB8/vsJ6INtmz56dGv/b3/4WrbnmmmtS4y+++GK0pl69eqnxW265JVozcODAaG7ttddOjV933XXRmjfeeCM1fu2110ZroDw1aNAgNb7bbrtFa1599dVo7vzzz0+Njx07Nlrz1ltvRXMxZ511Vmr86KOPjtY89NBDOZ+nKJdeemlqfMmSJWV6HrIhdj0dey6HEL9uvu+++8qkJ7JvypQp0dzOO++c8/HWWWed1HjsujyEoq+LmzRpkhqPXQOFEMLixYujOQCqjtdffz01vtNOO5Xp8YCKscsuu6TGzz777GjNP//5z2hu6NChpe6pMrljHAAAAAAAAIBMMxgHAAAAAAAAINMMxgEAAAAAAADININxAAAAAAAAADLNYBwAAAAAAACATDMYBwAAAAAAACDTalV2A5Xp/vvvT40fddRR0ZokSVLjBQUFOZ9/wYIF0dzEiROjuccffzw1PnLkyGjNHnvskRp/7LHHojXt2rVLjV9//fXRmhNPPDGau/POO6M5qqfvvvsuNb7ddttFa4YMGRLNXXjhhanx3//+99Gam2++OTX+3nvvRWvgl4455pho7sorr6zATtI1aNAgNb7ffvtFa/7973+XVztUI7vvvnvONfXq1cu55vTTT4/mDjjggGgu9tqtdevW0Zr58+cXvzGoANddd11qfM8994zWFPUcr1mzZmr83HPPza2x3xBbS7E9K4QQzjvvvDLt4aqrrkqNL1mypEzPQ/7o0KFDNHfFFVekxs8+++xozbvvvlvalqBMzZo1KzXev3//aE1Rr8369u2bGu/du3e0pqjreQCqjtieUZRvv/02mjMXgLITu24ePnx4tGbvvfdOjRf1Wm/ZsmXR3NChQ6O5fOCOcQAAAAAAAAAyzWAcAAAAAAAAgEwzGAcAAAAAAAAg0wzGAQAAAAAAAMg0g3EAAAAAAAAAMs1gHAAAAAAAAIBMq1XZDVSmzTbbLDWeJEm0JpZ76aWXojUff/xxavzmm2+O1kycODGaK4mSHG/8+PGp8f3226+07UAIIYT33nsvNX7HHXdEa3r06JHzeZo1a5ZzDfxaQUFBanzatGnRmtq1a5dXO8W2wQYbpMbHjBkTrbnoootS49dff320ZunSpbk1Rl6pV69eNBd7jm288cY5n2fChAnR3JZbbpnz8YrqIbami3od2L59+5x7gPJ08skn51xz9NFHR3OxfauodVESe+65Z2r8yCOPLNHx5s6dmxqP7WchhLBkyZISnYv8dvrpp0dzW2+9dTTXq1ev1PisWbNy7qFVq1bR3F/+8pfU+MCBA6M1Zf3eAfzSE088Ec317ds3NV6S12zkjyZNmkRzu+66a2p8xx13LNG51l577dT44YcfHq3573//mxp/8803cz5/7HohhJK9Npo+fXo0N3r06JyPFzN//vwS5ah+WrZsGc317t075+M98sgj0dxHH32U8/GgsjRs2DCai+0zRXnnnXeiudg1/Zw5c6I1V111VWr8oIMOyq2x33DdddeV6fGqEneMAwAAAAAAAJBpBuMAAAAAAAAAZJrBOAAAAAAAAACZZjAOAAAAAAAAQKYZjAMAAAAAAACQaQVJkiTF+sKCgvLupcJtttlmqfF11103WvPRRx+lxmfOnJnz+ffdd99oLtZbCCGss846qfGrr746WrNgwYLiN1YNFXMZpMri2qgoa6+9dmp80qRJ0Zq11lor5/Ocf/750dzvf//71HjXrl2jNcuXL8+5h3xV0rWRxXURe0xLly6t1POHULqfYbmc67777ovW/OUvf0mNT5w4sUx6qkqq455R1Gujb775JufjzZ49OzV+zjnnRGuuuuqq1HjTpk1zPn8I8X+Lov59f/jhh9R469atozVz587NrbE8Zs+onlq2bJkaP+6446I1ffv2TY3Xq1cvWnPRRRdFc6+//npq/M0334zWVJTquGdUBf369UuN9+nTJ1pzwAEHRHOzZs0qdU8rDB48OJo7+eSTU+NFvT9Qkn24KrBn5IcaNeL30zz//POp8fXXXz9aU9Rzmaq1Zzz00EOp8U6dOkVrSvq6PKYkr9cr4vxVvYfYe9chhHDzzTdHcy+++GJq/PPPP4/WVBR7Rvk4+OCDo7lRo0blfLyiZhOx94ZeeOGFaM3XX3+dcw/VSVXaM7KmUaNG0dycOXPK9FzbbbddanzevHnRmldffTU1XlhYmPP5b7311miuqPfoFi1alPO5Kkpx1oY7xgEAAAAAAADININxAAAAAAAAADLNYBwAAAAAAACATDMYBwAAAAAAACDTDMYBAAAAAAAAyDSDcQAAAAAAAAAyrVZlN1CZJk6cmFO8pO6///7U+JFHHhmtSZIkmps1a1Zq/K677orWTJ06NZqDyvL999+nxhctWlSi49WtWzc1fsQRR0Rr3nnnndT48uXLS9QD+e3ggw+O5vr3758aLygoKKduVlWjRvx32cr6+Ro71zHHHBOtieXOOOOMaM1tt92WW2NUSUW9Zolp0qRJanzvvfeO1nzwwQep8c6dO+d8/qIU9XhifT/88MPRmp49e6bG586dm1NfUBFq1qyZGt9nn32iNUOGDEmNN2vWLFrz1FNPpcYHDhwYrXnzzTejOaqnAw44IJrbbbfdUuPdunWL1sSus0vq8ssvT42fddZZ0Zqrr746Nf7NN9+USU+Qq6KuM3788cfU+A477BCtadWqVWp88uTJubRFBTjssMNS4yV57U/FateuXTQXe90WQgg//PBDarywsLDUPVG5mjdvnhq/5JJLyvQ8559/fs41b7/9djR38cUXp8b//e9/53weSFO7du3U+Kmnnprzsb788storkWLFtHchhtumBov6rqlJD+X77zzztT4n//852jNTz/9lPN58oU7xgEAAAAAAADININxAAAAAAAAADLNYBwAAAAAAACATDMYBwAAAAAAACDTDMYBAAAAAAAAyLRald1Avtlss81S44899li0pm3btqnxgoKCaM2oUaOiuWHDhqXGp06dGq2BfPLdd9+VqC621po1axatOe6440p0LrLpxBNPjOZ233331HiSJGXaw0cffZQanzJlSrSmqD3oj3/8Y2p8jz32iNYsX748NV6Sx3rRRRdFc7fddlvOxyPb1lhjjWhu6623To0vXbo0WnPHHXdEc7G10aRJk2hNzF577RXNjR49OjW+//77R2sWLlyYcw9QFgYPHpwa//Of/xytWbBgQWr8nnvuidYMGDAgNf7DDz/Em6PaatOmTWr8qKOOitacfvrpqfGZM2eWqIf69eunxvv16xetOffcc1PjkydPjtYUtW9BVRNbTw0aNIjWrL/++qnxotYFlaOwsDA1PmLEiGjNNttsk9OxfktR75uWpdjrj2+++aZCzh9CCGuvvXZq/He/+12F9eB1WHbF3vvcbrvtKriT1W2//fbRXGw+cuihh0ZrnnjiiVL3RPWx6aabpsYvueSSaM1JJ52UGv/73/8erfnss8+iuTFjxkRzuSpqjy7quqU6csc4AAAAAAAAAJlmMA4AAAAAAABAphmMAwAAAAAAAJBpBuMAAAAAAAAAZJrBOAAAAAAAAACZZjAOAAAAAAAAQKbVquwGqqLNNtssmvvvf/+bGq9fv360JkmS1PhVV10Vrbn66qujuQULFkRzkAVXXHFFNFdQUBDN/elPf0qNX3DBBdGaN998s/iNkQkNGjSI5or6WV5R7rzzztT4bbfdVqLjPfzww6nxBx54IFrTsWPH1HjTpk1zPn9RNeedd140d/3116fGly5dmnMPlN6cOXOiuddeey01HnseFeXAAw+M5qZMmZIaP/fcc6M1Q4cOjeYGDhyYGj/llFOiNX379k2Nt2zZMlqz++67p8aL2psuvvjiaA5K69prr43mzjrrrNT4zJkzozV77LFHanzixIm5NUa11rhx42gu9ppl0KBB0ZqinrMxzZs3j+ZuueWW1PjBBx8crVmyZElq/JxzzonWTJ8+PZqDqqZJkyaV3QLl6Pvvv0+Nd+3aNVrTqlWr1HhRr5VL4tRTT43mevTokfPxYu+zdu/ePVrz+eef53yeopx88smp8aLeB4i937x48eJozR133BHNXXLJJdEcVV+zZs2iuRNOOKHMzhP72RBC/HkcQghffvllajz23k8I8Wtp+w9l5fLLL0+NF/Xe45AhQ3I+T1Hv8RT1/mzMI488khq/4YYbcj5WdeWOcQAAAAAAAAAyzWAcAAAAAAAAgEwzGAcAAAAAAAAg0wzGAQAAAAAAAMg0g3EAAAAAAAAAMq1WZTdQFe23337RXP369VPjBQUF0ZqJEyemxi+++OLcGoNq4tFHH43m1l9//Whu7bXXTo1//fXXpe6J7Nhjjz2iud13370CO6kY8+fPT43feOON0ZpBgwalxk844YRozcknn5xTXyGEcOWVV0ZzSZKkxv/yl7/kfB5Kb/HixdHcM888kxrv2LFjzucZO3ZsNHfsscemxmfMmJHzeUIIYe7cuanxwYMHR2uGDx+eGj/77LOjNb169UqNDxgwIFozevToaO7NN9+M5mCFV199NZpr3759NPef//wnNX7kkUdGayZPnlzsviDmkksuiebef//91Hhs/wkhhG222SY1XtQ1eLt27aK5OXPmpMaLeh/gmmuuSY2PGjUqWgP5pFat9LcUv/3222jNG2+8UV7tUAXEXhOU9WuF2OuVEEI49dRTU+O77LJLtGbkyJGp8bfffjta071792juvffeS40X9Rp/yy23jOZyVdQ182WXXVZm56FqKep1TOz90pkzZ0ZrYmvpo48+itZ8+OGH0VzMtddeG83F3qPr27dvtGbYsGE59wBlYdttt43mbr311pyPF9tLQoi/z7R8+fKcz1NduWMcAAAAAAAAgEwzGAcAAAAAAAAg0wzGAQAAAAAAAMg0g3EAAAAAAAAAMs1gHAAAAAAAAIBMMxgHAAAAAAAAINMKkiRJivWFBQXl3UuV0bVr12juiSeeSI0X9f2JfYufeeaZaM2oUaOiuTvvvDOao2SKuQxSVae1URWcdNJJ0dxxxx2XGt9tt92iNUuWLCl1T1lW0rVRldfFp59+Gs1tvPHGZXquJ598MjV+4IEHlul5KkpZf+9q1Ij/ft6ECRNS4926dYvWTJkyJeceSsKeUTxHHHFENPfBBx+kxmP/7vls/PjxqfHdd989WvPQQw9Fc7169Sp1T+Uli3tGVdCmTZto7txzz02N9+7dO1rz9ttvR3N77rlnanzevHnRGopmzyie22+/PZpr3bp1anzy5MnRmg4dOqTGx4wZE625//77o7kzzjgjNV7Uewexn/PffPNNtKY6sWfkhzp16kRzkyZNSo3XqlUrWtOsWbPU+PLly3NrLKPsGeWnsLAwmovtQd27d4/WfPXVV9Hcjz/+mBrffPPNozUxRf27Xnrppanxv/zlL9GaxYsX59xDVWDPKJ3Y66L58+dHayrq2nybbbaJ5t55553UeFGvAWOvG7PInlF6jz32WGr8kEMOidbEXss3bNgwWtOoUaOc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BuMAAAAAAAAA5JrBOAAAAAAAAAC5ZjAOAAAAAAAAQK4ZjAMAAAAAAACQawbjAAAAAAAAAOSawTgAAAAAAAAAuWYwDgAAAAAAAECuGYwDAAAAAAAAkGsG4wAAAAAAAADkmsE4AAAAAAAAALlmMA4AAAAAAABArhmMAwAAAAAAAJBrBuMAAAAAAAAA5JrBOAAAAAAAAAC5ZjAOAAAAAAAAQK4ZjAMAAAAAAACQawbjAAAAAAAAAOSawTgAAAAAAAAAuWYwDgAAAAAAAECuGYwDAAAAAAAAkGsG4wAAAAAAAADkmsE4AAAAAAAAALlmMA4AAAAAAABArhmMAwAAAAAAAJBrBuMAAAAAAAAA5JrBOAAAAAAAAAC5ZjAOAAAAAAAAQK4ZjAMAAAAAAACQawbjAAAAAAAAAOSawTgAAAAAAAAAuWYwDgAAAAAAAECuGYwDAAAAAAAAkGsG4wAAAAAAAADkmsE4AAAAAAAAALlmMA4AAAAAAABArhmMAwAAAAAAAJBrBuMAAAAAAAAA5JrBOAAAAAAAAAC5ZjAOAAAAAAAAQK4ZjAMAAAAAAACQawbjAAAAAAAAAOSawTgAAAAAAAAAuWYwDgAAAAAAAECuGYwDAAAAAAAAkGsG4wAAAAAAAADkmsE4AAAAAAAAALlmMA4AAAAAAABArhmMAwAAAAAAAJBrBuMAAAAAAAAA5JrBOAAAAAAAAAC5ZjAOAAAAAAAAQK4ZjAMAAAAAAACQawbjAAAAAAAAAOSawTgAAAAAAAAAuWYwDgAAAAAAAECuGYwDAAAAAAAAkGsG4wAAAAAAAADkmsE4AAAAAAAAALlmMA4AAAAAAABArhmMAwAAAAAAAJBrBuMAAAAAAAAA5JrBOAAAAAAAAAC5ZjAOAAAAAAAAQK4ZjAMAAAAAAACQawbjAAAAAAAAAOSawTgAAAAAAAAAuWYwDgAAAAAAAECuGYwDAAAAAAAAkGsG4wAAAAAAAADkmsE4AAAAAAAAALlmMA4AAAAAAABArhmMAwAAAAAAAJBrBuMAAAAAAAAA5JrBOAAAAAAAAAC5ZjAOAAAAAAAAQK4ZjAMAAAAAAACQawbjAAAAAAAAAOSawTgAAAAAAAAAuWYwDgAAAAAAAECuGYwDAAAAAAAAkGsG4wAAAAAAAADkmsE4AAAAAAAAALlmMA4AAAAAAABArhmMAwAAAAAAAJBrBuMAAAAAAAAA5JrBOAAAAAAAAAC5ZjAOAAAAAAAAQK4ZjAMAAAAAAACQawbjAAAAAAAAAOSawTgAAAAAAAAAuWYwDgAAAAAAAECuGYwDAAAAAAAAkGsG4wAAAAAAAADkmsE4AAAAAAAAALlmMA4AAAAAAABArhmMAwAAAAAAAJBrBuMAAAAAAAAA5JrBOAAAAAAAAAC5ZjAOAAAAAAAAQK4ZjAMAAAAAAACQa9V2MN66des45phjKm3/BQUFcfPNN1fa/teEJ554IgoKCuKJJ56o7FIoJX1R8fRF1VTZvdG6desYPnx4pe1/TZgxY0a1+BuQJ/qi4umLqqmye6M6PGY8n6p69EXF0xdVk96oeHqj6qnsvnCewdqqsnujOjxmHDOqHn1R8fLYF5UyGL/55pujoKBg2b+6detG27ZtY9CgQfH5559XRkmrpbCwMAoKCqJhw4YVup++fftGQUFBnH766au8jcmTJ8fw4cNjzpw55VdYBbrzzjtj++23j7p160bz5s3j2GOPjdmzZ1d2WRUiD33x7rvvRp8+fWK99daL+vXrx2677RYTJkyo0H1Wx75YXo8ePaKgoCAGDRpU2aVUmKreG9OmTYthw4ZFx44do1GjRrHRRhvFvvvuGy+88EKF7nfYsGFRUFAQhx122Cpv44033ojhw4fHjBkzyq+wCtKtW7dij5Pl/9WuXbuyyyt3Vb0vPvnkkzjyyCOjXbt20ahRo2jSpEnstNNOccstt0SSJBW23+rWFz99nCz/77PPPqvs8ipEVe+NiIhPP/00jjvuuGjTpk3Uq1cvNt988/jDH/4QX375ZYXts7o9nxo3blzsvffesfHGG0edOnVik002iT59+sTUqVMru7QKUdX7Yvjw4Zl/ywoKCuKpp56qkP1Wt774KecZeiNLdewN16aqTl9ERFx44YXRu3fv2GCDDaKgoGCNDLmr23lGdTv/jshHb7huu2aMHz8+unfvHs2aNVt2reO2226r7LIqRB76IiJi+vTpccQRR0SLFi2iXr16seWWW8aZZ55ZYfurbn3x1ltvxdChQ6Nz585Rt27dKCgoqPRjXa3K3Pl5550Xbdq0ie+++y4mTZoU1157bTz44IMxderUqF+/fmWWVmrz58+PYcOGRYMGDSp0P/PmzYsHHnggWrduHXfccUeMGDEiCgoKyrydyZMnx7nnnhvHHHNMNGnSpPwLLUfXXnttnHTSSbHHHnvEZZddFh999FFcccUV8cILL8Szzz4bdevWrewSK0RV7YsPP/wwOnXqFDVr1ozTTjstGjRoEKNGjYq99torHnvssejSpUu577M69sXy7r333nj66acru4w1pqr2xg033BA33nhjHHLIIXHSSSfF3Llz47rrrotddtklHnroodhzzz3LfZ9JksQdd9wRrVu3jgceeCC++eabaNSoUZm388Ybb8S5554b3bp1i9atW5d7neXpzDPPjIEDBxaLLViwIE444YTYa6+9KqmqildV+2L27Nnx0UcfRZ8+faJly5axePHiePTRR+OYY46Jt956Ky666KJy32d17Iullj5OlleVjneroqr2xvz586NTp06xYMGCOOmkk2LTTTeNKVOmxNVXXx0TJkyIF198MWrUKN/XNlfH51OvvfZarLfeenHyySdHs2bN4rPPPoubbropdtppp3j66afjF7/4RWWXWCGqal8cfPDBscUWW6wQP+OMM2L+/Pnxy1/+stz3WR37YnnOM/RGlurYG65NVa2+iIg466yzYsMNN4ztttsuHn744QrfX3U8z6iu598RVbc3XLddM/75z3/GgQceGJ06dVr2Ara77747jj766Jg9e3YMHTq0skusEFW1LyIiXnnllejWrVv87Gc/i1NOOSWaNm0aH3zwQXz44YcVsr/q2BdPP/10XHnllbHVVltFhw4d4pVXXqnskip3ML7PPvvEjjvuGBERAwcOjKZNm8Zll10W999/fxx++OGpOQsWLKjwIXRZXHDBBdGoUaPo3r173HfffRW2n3vuuSeWLFkSN910U+y+++4xceLE6Nq1a4Xtr7ItWrQozjjjjOjSpUs8+uijy/44dO7cOfbff/+4/vrrY/DgwZVcZcWoqn0xYsSImDNnTkydOjXatWsXERG//e1vo3379jF06NB48cUXy32f1a0vlvfdd9/FKaecEqeffnr8+c9/ruxy1oiq2huHH354DB8+vNinivzmN7+JDh06xPDhwytkMP7EE0/ERx99FI8//njsvffece+990b//v3LfT9rkx49eqwQu/322yMi4te//vWaLmeNqap9se22267wEUyDBg2K/fffP6688so4//zzo2bNmuW6z+rYF0st/zipLqpqb/zzn/+MmTNnxr/+9a/Yd999l8XXX3/9OO+882LKlCmx3Xbbles+q+PzqbTnTgMHDoxNNtkkrr322vi///u/Sqiq4lXVvth2221j2223LRb78MMP46OPPoqBAwfGOuusU+77rI59sZTzDL1RkurWG65NVb2+iIh4//33o3Xr1jF79uxo3rx5he+vOp5nVNfz74iq2xuu264ZV199dWy00Ubx+OOPR506dSIi4vjjj4/27dvHzTffnNvBeFXti6KiojjqqKOiffv2MWHChKhXr16F77M69kXv3r1jzpw50ahRo7jkkkvWisH4WvUd47vvvntE/PgEJiLimGOOiYYNG8b06dOjV69e0ahRo2UH16Kiorj88svj5z//edStWzc22GCDOP744+Prr78uts0kSeKCCy6ITTbZJOrXrx/du3eP119/PXX/06dPj+nTp5e63nfeeSdGjhwZl112WdSqVbGvMSgsLIwePXpE9+7do0OHDlFYWJj6c9OmTYu+fftG8+bNo169etGuXbtlH/swfPjwOO200yIiok2bNss+4mLGjBklfrfMTz92aObMmXHSSSdFu3btol69etG0adM49NBDS/XxBwsXLoxp06at9COnpk6dGnPmzInDDjus2Ctm9ttvv2jYsGHceeedK91XXlSVvnjyySdju+22W/bkKiKifv360bt373jppZfinXfeWaXbX5Lq1hfL++tf/xpFRUVx6qmnljonb6pKb+ywww4rfNVG06ZN41e/+lW8+eabZb7dpVFYWBhbbbVVdO/ePfbcc8/M3vj444/j2GOPXfZRsm3atIkTTzwxFi1aFDfffHMceuihERHRvXv3Zb2xdJiZ9ZF0P/1un6+++ipOPfXU2GabbaJhw4ax7rrrxj777BNTpkxZ6e1YvHhxTJs2LT799NMy3wcREaNHj44GDRrEAQccsEr5VVFV6YssrVu3joULF8aiRYtWeRtZqntffPPNN7FkyZIy5eRJVemNefPmRUTEBhtsUCy+0UYbRURUyIl6dX4+tbwWLVpE/fr1q8RH0ZWXqtIXae64445IkqTCLr5X575wnqE3SlLdesO1qf+pSn2xpt9tXd3PM5aqjuffEVWnN1y3XTPPp+bNmxfrrbfesqF4REStWrWiWbNma2TouraoKn3xyCOPxNSpU+Occ86JevXqxcKFCyv8ukl17Iv1119/lT5JpSJV6jvGf2rpg7Vp06bLYj/88EPsvffesdtuu8Ull1yy7KMXjj/++Lj55ptjwIAB8fvf/z7ef//9uPrqq+Pll1+Op556atn3mfz5z3+OCy64IHr16hW9evWKl156Kfbaa6/UC6577LFHRESpP99+yJAh0b179+jVq1fcfffdq3PTS/TJJ5/EhAkT4pZbbomIH999OHLkyLj66quLvQL41VdfjV/96ldRu3btOO6446J169Yxffr0eOCBB+LCCy+Mgw8+ON5+++244447YuTIkdGsWbOIiGjevHnMmjWr1PU8//zzMXny5OjXr19ssskmMWPGjLj22mujW7du8cYbb5T48RjPPfdcdO/ePc4555wSv+Pn+++/j4j0i3/16tWLl19+OYqKisr9oyTXRlWlL77//vtYb731Vogvre3FF1+MLbfcsux3QIbq2BdLffDBBzFixIi46aabqtWTqp+qKr2R5bPPPlv2eCtP33//fdxzzz1xyimnRMSPvTFgwID47LPPYsMNN1z2c5988knstNNOMWfOnDjuuOOiffv28fHHH8fYsWNj4cKF0aVLl/j9738fV155ZZxxxhnRoUOHiIhl/1ta7733Xtx3331x6KGHRps2beLzzz+P6667Lrp27RpvvPFGbLzxxpm5H3/8cXTo0CH69++f+oSuJLNmzYpHH300DjvssEp/BeqaVNX64ttvv40FCxbE/Pnz47///W+MGjUqOnXqVO5/26p7X3Tv3j3mz58f66yzTuy9995x6aWXlusxuSqoKr3RpUuXqFGjRpx88slx6aWXxiabbBKvvvpqXHjhhXHggQdG+/bty+PuWKY6P5+KiJgzZ04sXrw4Pvvss7j88stj3rx5y35X1UFV6Ys0hYWFsemmm1bIx35W575wnvEjvZGuOvaGa1P/U5X7oiJV9/OMparr+XdE1ekN123XzPOpbt26xV/+8pc4++yzo3///lFQUBCjR4+OF154oULnR2ubqtIX48ePj4iIOnXqxI477hgvvvhirLPOOnHQQQfFNddcE+uvv/5q3xfLq659sVZKKsGoUaOSiEjGjx+fzJo1K/nwww+TO++8M2natGlSr1695KOPPkqSJEn69++fRETyxz/+sVj+k08+mUREUlhYWCz+0EMPFYt/8cUXyTrrrJPsu+++SVFR0bKfO+OMM5KISPr3718sv1WrVkmrVq1KdRv+9a9/JbVq1Upef/31ZbU2aNCg1PdBRCSjRo0q1c9ecsklSb169ZJ58+YlSZIkb7/9dhIRybhx44r9XJcuXZJGjRolM2fOLBZf/rb/7W9/SyIief/994v9zPvvv59ZU0Qk55xzzrL/Xrhw4Qo/8/TTTycRkdx6663LYhMmTEgiIpkwYcIKseW3l2bWrFlJQUFBcuyxxxaLT5s2LYmIJCKS2bNnl7iNqqaq98X++++fNGnSZNnjdKlOnTolEZFccsklK92GvjhnhW2k6dOnT9K5c+ditfzud78rVW5VVNV7I83EiROTgoKC5Oyzzy7Vz7dq1arUj4+xY8cmEZG88847SZIkybx585K6desmI0eOLPZzRx99dFKjRo3k+eefX2EbS2//mDFjVni8LpX1mG3VqlWx++q7775LlixZUuxn3n///aROnTrJeeedVyz2035bGvvpfV8aV111VRIRyYMPPljm3KogL31x8cUXLzuuR0Syxx57JB988EGpcvVF/2Rl7rrrruSYY45JbrnllmTcuHHJWWedldSvXz9p1qxZqe/nqiYPvXHDDTckTZo0KdYb/fv3TxYvXlyqfM+nzllhG1natWu37D5u2LBhctZZZ63Qm3mQh75Y3tSpU5OISIYNG1bqHH1xzgrbSOM8Q2+UpDr2hmtTVbsvZs2aVebnBkv35TyjbPJ+/p0kVb83XLddM8+n5s+fn/Tt2zcpKChYdpyoX79+ct999600tyqq6n3Ru3fvJCKSpk2bJr/+9a+TsWPHJmeffXZSq1atpHPnzsX2lUVfnLPCNkqSVfeaVqkvadxzzz2jefPmsemmm0a/fv2iYcOGMW7cuPjZz35W7OdOPPHEYv89ZsyYaNy4cfTo0SNmz5697N/Sj6udMGFCRPz4io9FixbF4MGDi33k0ZAhQ1LrWfpRAyuzaNGiGDp0aJxwwgmx1VZble1Gr4LCwsLYd999l33cwJZbbhk77LBDsY9ZmDVrVkycODF+85vfRMuWLYvlL3/by8Pyr5RdvHhxfPnll7HFFltEkyZN4qWXXioxt1u3bpEkyUpfRdKsWbPo27dv3HLLLXHppZfGe++9F08++WQcdthhy14l9O233672bVkbVdW+OPHEE5d9xNjLL78cb7/9dgwZMiReeOGFiCj/31d17A/UnBQAAHuXSURBVIuIiAkTJsQ999wTl19++WpWXPVU1d74qS+++CKOOOKIaNOmTQwbNqzM+StTWFgYO+64Y2yxxRYREdGoUaPYd999i/VGUVFR3HfffbH//vunfu9wefZHnTp1lr2DYsmSJfHll19Gw4YNo127divtjdatW0eSJGV+tXrEjx/j1rx589TvPsuTqt4Xhx9+eDz66KMxevToOOKIIyKiYo7v1bUv+vbtG6NGjYqjjz46DjzwwDj//PPj4Ycfji+//DIuvPDC8rgpa62q3Bs/+9nPYqeddorLL788xo0bF3/4wx+isLAw/vjHP5b+Diil6vp8aqlRo0bFQw89FNdcc0106NAhvv3221x/5UBV7ovlLX18VuRHRVfHvnCeoTdKs/3q1huuTVX9vqho1fU846eqy/l3RNXtDddt18zzqTp16kTbtm2jT58+cccdd8Ttt98eO+64Yxx55JHxzDPPrO7NWGtV1b6YP39+RET88pe/jNtvvz0OOeSQOO+88+L888+PyZMnx2OPPVaGe2HlqmtfrI0q9aPU//73v0fbtm2jVq1ascEGG0S7du1W+PihWrVqxSabbFIs9s4778TcuXOjRYsWqdv94osvIuLHz8iPiBU+BqR58+apHx1SWiNHjozZs2fHueeeu8rbKK0333wzXn755Tj66KPj3XffXRbv1q1b/P3vf4958+bFuuuuG++9915ERGy99dYVXtO3334bF198cYwaNSo+/vjjSJJk2drcuXPLbT/XXXddfPvtt3Hqqacu+36zI488MjbffPO49957V/jO3ryoqn2xzz77xFVXXRV//OMfY/vtt4+IiC222CIuvPDCGDZsWLn+vqprX/zwww/x+9//Po466qj45S9/WS7brEqqam8sb8GCBbHffvvFN998E5MmTSr3v2Nz5syJBx98MAYNGlSsN3bddde455574u233462bdvGrFmzYt68eWukN4qKiuKKK66Ia665Jt5///1iA4flP1KpPL333nvx9NNPx6BBg6JWrbXqW2PKXVXvi1atWkWrVq0i4sch+XHHHRd77rlnvPXWW+X2Ea76orjddtstdt5552UfGZZXVbU3nnrqqdhvv/3imWeeWXbh9MADD4x11103zj333PjNb35Tbi/Mra7Pp5bXqVOnZf+/X79+yz6u9JJLLin3fa0NqmpfLC9Jkhg9enRsvfXWse2225bLNpdXXfvCeYbeWJnq2hsRrk1V5b6oaM4zflSdzr8jqm5vuG67Zo4ZgwYNimeeeSZeeumlZY+Lvn37xs9//vM4+eST49lnny23fa1NqmpfLL3udPjhhxeLH3HEEfGnP/0pJk+eHHvuuecqb3951bkv1kaVerTaaaedUl8pt7zlX+m2VFFRUbRo0SLzi+mbN29ebjX+1Ny5c+OCCy6Ik046KebNmxfz5s2LiB9fXZIkScyYMSPq16+f2cxldfvtt0dExNChQ2Po0KErrN9zzz0xYMCA1d5P1qtN0t4xMXjw4Bg1alQMGTIkOnXqFI0bN46CgoLo169fFBUVrXYtSzVu3Djuv//++OCDD2LGjBnLLp537tw5mjdvHk2aNCm3fa1NqmJfLDVo0KAYMGBAvPrqq7HOOutEx44d48Ybb4yIiLZt25bbfqprX9x6663x1ltvxXXXXbfCq96++eabmDFjRrRo0aLE7/+oyqpyb0T8+GkjBx98cLz66qvx8MMPV8gTnDFjxsT3338fl156aVx66aUrrBcWFlb4i7p+2h8XXXRRnH322fGb3/wmzj///Fh//fWjRo0aMWTIkHI9Zixv9OjREVFx75ZZm1T1vvipPn36xPXXXx8TJ06Mvffeu1y2qS9WtOmmm8Zbb71V4fupTFW1N6677rrYYIMNVqi9d+/eMXz48Jg8eXK5Dcar6/OpLOutt17svvvuUVhYmNvBeFXti+U99dRTMXPmzLj44osrZPvVtS+cZ+iNlamuvRHh2lRJ1va+qGjOM35Unc6/I6p2b7huW7HHjEWLFsWNN94Yw4YNK/b7r127duyzzz5x9dVXx6JFi4p9l3ReVNW+2HjjjSMiYoMNNigWXzrb+/rrr8ttX9W1L9ZWVfJlXJtvvnmMHz8+dt111xLfTbT0HUjvvPNObLbZZsvis2bNWuUH9ddffx3z58+Pv/71r/HXv/51hfU2bdrEAQccEPfdd98qbX95S1/x27179zjppJNWWD///POjsLAwBgwYsOz2TZ06tcRtZjXG0lfWzJkzp1h86atxljd27Njo379/sSd933333Qq55aVly5bLPjZizpw58eKLL8YhhxxSIfuqyiqzL5bXoEGDYu++GT9+fNSrVy923XXX1d52RPXuiw8++CAWL16cel/eeuutceutt8a4cePiwAMPLLd95sHa0BtFRUVx9NFHx2OPPRZ33313dO3adbW2l6WwsDC23nrrOOecc1ZYu+6662L06NFx7rnnRvPmzWPddddd5d6I+LE/fvr4XrRoUXz66afFYmPHjo3u3bsvO9laas6cOdGsWbOV3KJVM3r06Nh8881jl112qZDt58Ha0Bdpln58W3m+MlVfrOi9997L1UXJ8lTZvfH555+nnrAuXrw4In58V2d5qM7Pp0ry7bff5v6V8auisvtieYWFhVFQULDs6zfKU3XuC+cZq0Zv/CjPvbE816ZKZ23qi4rmPONHzr9LZ23pDddtK+6Y8eWXX8YPP/yQeT5XVFSU669tWhWV3Rc77LBDXH/99fHxxx8Xi3/yyScRUX6D+ercF2urSv2O8VXVt2/fWLJkSZx//vkrrP3www/LfnF77rln1K5dO6666qpiHwOQ9Z1Z06dPj+nTp5e47xYtWsS4ceNW+Ne9e/eoW7dujBs3Lv70pz+t8m1b3lNPPRUzZsyIAQMGRJ8+fVb4d9hhh8WECRPik08+iebNm0eXLl3ipptuig8++KDYdpa/7Q0aNIiIFRtj3XXXjWbNmsXEiROLxa+55poV6qpZs2axbUZEXHXVVaX6w75w4cKYNm1azJ49e6U/m+ZPf/pT/PDDD6mvqqnuKrMvskyePDnuvffeOPbYY6Nx48artI2fqs590a9fv9S/PxERvXr1inHjxsXOO++80v1VN2tDbwwePDjuuuuuuOaaa+Lggw8u820ojQ8//DAmTpwYffv2Te2NAQMGxLvvvhvPPvts1KhRIw488MB44IEHln2f1PKW3v6s3oj48cnrT3vjH//4xwqP+bTeGDNmzApPOtMsXrw4pk2btsLJfklefvnlePPNNyvkomCeVHZfzJo1KzV+4403RkFBwbKPdltd1b0v0u7nBx98MF588cXo2bPnSvOro8rujbZt28bnn38eTzzxRLH4HXfcERER2223XeluyEpU5+dTEf/7SL7lzZgxIx577LGVvtOhOqrsvlhq8eLFMWbMmNhtt91W+L698lCd+8J5xqrRG/nvjSyuTWVbW/qiolX384ylnH+X3trYG67blu8xo0WLFtGkSZMYN25cLFq0aFl8/vz58cADD0T79u3L7Svj8qKy++KAAw6IOnXqxKhRo4q9Q/qGG26IiIgePXqU4dZkq859sbaqku8Y79q1axx//PFx8cUXxyuvvBJ77bVX1K5dO955550YM2ZMXHHFFdGnT59o3rx5nHrqqXHxxRfHfvvtF7169YqXX345/vOf/6S+Sm6PPfaIiFjho8OWV79+/dRXSd93333x3HPPlesrqAsLC6NmzZqx7777pq737t07zjzzzLjzzjvjD3/4Q1x55ZWx2267xfbbbx/HHXdctGnTJmbMmBH//ve/45VXXomIH18FExFx5plnRr9+/aJ27dqx//77R4MGDWLgwIExYsSIGDhwYOy4444xceLEePvtt1fY73777Re33XZbNG7cOLbaaqt4+umnY/z48aX6rprnnnsuunfvHuecc04MHz68xJ8dMWJETJ06NXbeeeeoVatW3HffffHII4/EBRdcUC2/92xlKrMvIn581VHfvn2jd+/eseGGG8brr78e//d//xfbbrttXHTRReV2O6tzX7Rv3z7at2+futamTRvv4MhQ2b1x+eWXxzXXXBOdOnWK+vXrL/vonKUOOuigZU9mVsfo0aMjSZLo3bt36nqvXr2iVq1aUVhYGDvvvHNcdNFF8cgjj0TXrl3juOOOiw4dOsSnn34aY8aMiUmTJkWTJk2iY8eOUbNmzfjLX/4Sc+fOjTp16sTuu+8eLVq0iIEDB8YJJ5wQhxxySPTo0SOmTJkSDz/88Ar31X777RfnnXdeDBgwIDp37hyvvfZaFBYWFnuFZ5aPP/44OnToEP3794+bb765VPfD0o9fqi4f47aqKrsvLrzwwnjqqaeiZ8+e0bJly/jqq6/innvuieeffz4GDx4cW2yxRbnczureF507d47tttsudtxxx2jcuHG89NJLcdNNN8Wmm24aZ5xxRqnvx+qksntj0KBBMWrUqNh///1j8ODB0apVq/jvf/8bd9xxR/To0aPcBlPV+flURMQ222wTe+yxR3Ts2DHWW2+9eOedd+LGG2+MxYsXx4gRI1a6r+qmsvtiqYcffji+/PLLCjvGV+e+cJ6xavTGj/LcGxGuTZXV2tAXt912W8ycOTMWLlwYERETJ06MCy64ICIijjrqqGXvPFwd1f08Yynn36VX2b3hum3FHzNq1qwZp556apx11lmxyy67xNFHHx1LliyJG2+8MT766KMVrgdS+X2x4YYbxplnnhl//vOfo2fPnnHggQfGlClT4vrrr4/DDz+83I7z1bkvIn78VMirrroqIn58kUBExNVXXx1NmjSJJk2axKBBg1a6v3KXVIJRo0YlEZE8//zzJf5c//79kwYNGmSu/+Mf/0h22GGHpF69ekmjRo2SbbbZJhk2bFjyySefLPuZJUuWJOeee26y0UYbJfXq1Uu6deuWTJ06NWnVqlXSv3//Yttr1apV0qpVq1W6TSur9aciIhk1alTm+qJFi5KmTZsmv/rVr0rcTps2bZLttttu2X9PnTo1Oeigg5ImTZokdevWTdq1a5ecffbZxXLOP//85Gc/+1lSo0aNJCKS999/P0mSJFm4cGFy7LHHJo0bN04aNWqU9O3bN/niiy+SiEjOOeecZflff/11MmDAgKRZs2ZJw4YNk7333juZNm3aCvfphAkTkohIJkyYsEJs+e1l+de//pXstNNOSaNGjZL69esnu+yyS3L33XevNK+qqup98dVXXyUHHHBAsuGGGybrrLNO0qZNm+T0009P5s2bt9LcpfTF/7ZXFhGR/O53v1ul3KqgqvdG//79k4jI/Lf0sVaSVq1arfTxsc022yQtW7Ys8We6deuWtGjRIlm8eHGSJEkyc+bM5Oijj06aN2+e1KlTJ9lss82S3/3ud8n333+/LOf6669PNttss6RmzZrFHrtLlixJTj/99KRZs2ZJ/fr1k7333jt59913V7ivvvvuu+SUU05Zdp/uuuuuydNPP5107do16dq167Kfe//991f4G7A09tP7PsuSJUuSn/3sZ8n2229fqp+vyqp6XzzyyCPJfvvtl2y88cZJ7dq1k0aNGiW77rprMmrUqKSoqGil+Uv3pS9KduaZZyYdO3ZMGjdunNSuXTtp2bJlcuKJJyafffbZSnOrqqreG0mSJNOmTUv69OmTbLrppknt2rWTVq1aJaeeemqyYMGCUuV7PvW/7WU555xzkh133DFZb731klq1aiUbb7xx0q9fv+TVV19daW5VlIe+SJIk6devX1K7du3kyy+/LHXOUvrif9srC+cZP9Ib1bs3XJtKtzb3RdeuXTPPv5d/HGRxnvG/7ZWkOp1/J0nV7w3Xbdfc86nCwsJkp512Spo0aZLUq1cv2XnnnZOxY8eWKreqqep9kSRJUlRUlFx11VVJ27Ztk9q1ayebbrppctZZZyWLFi0qVb6++N/2siw9vqT9W9V57OoqSJKfvFeeNaKgoCBGjRoVxxxzTGWXAmsNfQHpWrduHcccc8xKX4EH1Ym+gHSeT8GK9AWk0xuwIucZkM4xA1akL6qmKvkd4wAAAAAAAABQWgbjAAAAAAAAAOSawTgAAAAAAAAAueY7xgEAAAAAAADINe8YBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByrVZpf7CgoKAi64BKlSTJKufqDfJsVXtDX5BnjhmQzjEDVuSYAekcM2BFjhmQzjEDVuSYAelK0xveMQ4AAAAAAABArhmMAwAAAAAAAJBrBuMAAAAAAAAA5JrBOAAAAAAAAAC5ZjAOAAAAAAAAQK4ZjAMAAAAAAACQawbjAAAAAAAAAOSawTgAAAAAAAAAuWYwDgAAAAAAAECuGYwDAAAAAAAAkGsG4wAAAAAAAADkmsE4AAAAAAAAALlmMA4AAAAAAABArhmMAwAAAAAAAJBrBuMAAAAAAAAA5JrBOAAAAAAAAAC5ZjAOAAAAAAAAQK4ZjAMAAAAAAACQawbjAAAAAAAAAOSawTgAAAAAAAAAuWYwDgAAAAAAAECuGYwDAAAAAAAAkGsG4wAAAAAAAADkmsE4AAAAAAAAALlWq7ILAAAAAACApRo1apQaf+uttzJz7rnnntT4yJEjM3Pee++9shW2Bh199NGZa7feeusarASAtcWll16aGh8yZEhmTo0a6e+RvuSSSzJzTjvttDLVVZV4xzgAAAAAAAAAuWYwDgAAAAAAAECuGYwDAAAAAAAAkGsG4wAAAAAAAADkmsE4AAAAAAAAALlmMA4AAAAAAABArhUkSZKU6gcLCiq6lipt/fXXz1ybMGFCanybbbbJzHnuuecy18aMGZMaf+yxxzJzXnnllcw1IkrZBqn0Bnm2qr2hL8gzx4yq49xzz81cO/vss1PjJf2OPvvss9R49+7dM3OmTZuWuZY3jhlr3i9+8YvUeJcuXTJzmjVrlrl21llnpcaffPLJzJwDDjggNT537tzMnOqkOh4zBg0alLnWsWPH1PiZZ56ZmfP555+vbkmVIut+yLoPIiIGDhxYQdWsfRwzYEXV8ZhRks6dO6fGb7zxxsycjz76KDV+2mmnZeasyjXTTTbZJHMt67i1ePHiMu+HHzlmwIocM/Jt6NChmWuXXHJJaryoqCgzp0aN9PdIl5RTu3btzLW1WWl6wzvGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINcMxgEAAAAAAADItYIkSZJS/WBBQUXXUqUNGjQoc+2KK65Ijc+ePTsz5+67785cW3fddVPjl156aWbOq6++mrlGRCnbIJXeIM9WtTf0xaqrWbNmanzEiBGZOTvvvHPm2m677ZYa/+KLLzJzxowZkxr/4x//mJmzYMGCzLW8ccwonW233TZzrWfPnqnxwYMHZ+ZkPZfZY489MnNq1aqVuVaev4s33ngjc22bbbYpt/2s7RwzVs8+++yTGr/88sszc5o0aZIab9q0aTlU9D8l/Y5uvfXW1PiAAQPKtYaqqqofM+rXr58a7927d2bOVVddlbm2/vrrp8YHDhyYmTNq1KjMtbVZ1nOtkvpzu+22S43n8XzeMQNWVNWPGWtK48aNM9eKiopS47/4xS8ycyZNmlTmGho2bJi5tnDhwtR4Vm0lOfHEEzPXHnnkkdT49OnTy7yftZ1jRtWw2WabZa7tv//+qfHWrVtn5mQ9Dy3peWN5e+yxx1Lj++67b2bO4sWLK6qcYhwz8iFrpjdkyJDMnKzfX0mPiaycvn37ZuaMHTs2c21tVpre8I5xAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFyrVdkF5EWzZs3KnDNs2LDMtVtuuWV1yoEq4eSTT06Njxw5MjOnoKAgc+2CCy5IjZ999tllK2wlOnbsmBp/7LHHMnPWW2+9zLVLLrkkNV7S3wiqti222CJz7eGHH06Nt27dOjOnpL5IkiQ13rx588yck046KTW+8cYbZ+YccsghmWtUT4MHD85c+81vflPm7ZX0+KtsNWvWrOwSqCL22WefzLVRo0alxks6z8j6+5/1t78itGrVKjXeoEGDzJwFCxZUVDmUs7333js1vnDhwsycTz75JHNt/fXXT41/+OGHZSusCvjggw9S402bNs3MOfjgg1Pjr776arnUBGVVu3btzLV27dqlxv/2t79l5mT9Tfn73/+emVPSc0qqp7lz55Y5Z9KkSeVaw/z588t1e1nXjB5//PHMnOnTp5drDbC8888/PzW+zTbbZObsv//+mWvleX6yJs912rRpkxpfd911M3O+/PLLiiqHKmro0KGZa0OGDEmNFxUVZebUqJH+fudVyVmT/bQ28Y5xAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFyrVdkFVDV169ZNjR944IFl3tbs2bNXsxpYs9Zdd93Mtf/7v/9LjV9yySWZOcOHD0+NJ0mSmVPS2pFHHpkaHzVqVGbOe++9lxrv2LFjZs6jjz6aGm/SpElmTkl1DxkyJDX+0ksvZebceeedmWusWS1btsxca926dWp88ODBZc6ZNWtWZs5NN92Uufbhhx+mxjfffPPMnKFDh6bGt9hii8wcqq8BAwakxo855pg1W0gleu655yq7BCpBQUFB5trIkSNT40cddVRmTuPGjVe7psrQpUuX1Phuu+2WmfPwww9XVDmUs3HjxpU55+c//3nm2gEHHJAaHz9+fJn3s7YbMWJEavyuu+7KzPnuu+8qqhzIVFLPXnbZZZlrPXr0SI2/9dZbmTlPPPFEanzRokWZOVAdHHzwwanxa665JjNnjz32SI1PmjSpXGoiP2rXrp0aHz16dGbOXnvtlRpv0KBBudQEebPppptmrvXp0ydzLeu6Qo0a2e9pXpWcU089NTV+zz33ZObkmXeMAwAAAAAAAJBrBuMAAAAAAAAA5JrBOAAAAAAAAAC5ZjAOAAAAAAAAQK4ZjAMAAAAAAACQa7Uqu4Cq5thjj02Nb7PNNpk5V155ZWr8wQcfLJeaYE0ZMWJE5tqhhx6aGt9zzz0zc9Zdd93Vrml5LVu2TI33798/M2fcuHGp8YcffjgzZ/311y9bYSvx7bffpsZnzZpVrvuhYvz+97/PXBs6dGiZt1dUVJQaP/vsszNzrr/++jLvp0uXLplrq1I31deMGTNS4999911mTv369SuomtU3e/bszLV//OMfqfGLLrqoosphLTZy5MjMtUGDBq3BSsrmn//8Z+bazJkzU+MlHeuyXH755ZlrHTp0KPP2qDqmTp2aubZkyZI1WEnlKul+gIrStGnTzLVDDjkkNX7++edn5kyZMiVzbdttt02Nl3QeW69evdR41vNJqIoaNGiQGr/hhhsyc2rXrp0a79evX2bOiy++WLbCqLaaNGmSGt9///0zc2rVKvvYqKTneS+//HJq/Msvv8zMadGiRWq8Y8eOZaprZUqq4aCDDkqNf/311+VaA1XfLrvskrm20047Za4lSZIaz7o+HBFRo0b6+50vvfTSzJySrl9UR94xDgAAAAAAAECuGYwDAAAAAAAAkGsG4wAAAAAAAADkmsE4AAAAAAAAALlmMA4AAAAAAABArhmMAwAAAAAAAJBrtSq7gKqmfv36qfGCgoLMnLfffjs1niRJudRUGrVqpf+qa9TIfm3EokWLKqoc1gLrrbde5trIkSNT47169crMyXosNW3atGyFRcSXX36ZuTZ48ODMtY8//jg1vnjx4sycY445JjXerFmzzJzyduaZZ6bGH3vssTVWA6tur732Ktft3XPPPanx66+/vlz3A+VlwoQJqfGJEydm5vTs2bOiyllt33zzTebaddddlxr/9ttvK6ocylHr1q0z1zp06JAaP/744zNzfvWrX61uSatt5syZqfGxY8dm5gwfPjxzLes++v3vf1+WskrcVkTEUUcdlRq/7bbbyrwf1j5bbLFF5tott9yyBiupXNOmTUuNl3QfTJo0qaLKIWcOPfTQ1Phvf/vbzJwddtghNX7iiSdm5mSdm0RELFmyJDW+7rrrZuass846mWuQF1nXxzbeeOMyb+vf//535prrtpTWjjvumBrPmheU5NNPP81ce/bZZzPX+vTpkxov6XlReV9vy1LStevLL788NX744Ydn5syaNWt1S2Ittssuu6TG77rrrsyckuaAWXPFkuZ2WTnPPfdcZg7Fecc4AAAAAAAAALlmMA4AAAAAAABArhmMAwAAAAAAAJBrBuMAAAAAAAAA5JrBOAAAAAAAAAC5VquyC1gbrbfeeplrv/3tb1Pj33//fWbOAw88sNo1ra6sGlq1apWZs9VWW1VUOawFevfunbl21FFHrZEa3nvvvdT4CSeckJnz2GOPlXk/TZs2zVzr1atXmbe3Kp588snMtbFjx66RGlh7zJo1K3Ptb3/72xqpoU+fPmXO+c9//lMBlZBX9957b+Zaz54912AlZdOmTZvMtXHjxqXGDz744MycDz/8cLVronx06dIlc+26665LjdeuXbuiylnBJ598kho/44wzMnPOO++81PjPf/7zzJwxY8ZkrrVv3z5zraxKOtZNnDix3PbD2uf555/PXPv888/XYCWVq1at9MstWfGIiC233DI1Pnny5MycXXbZJXOtcePGqfEkSTJzHnroocw11qySzhM7duyYGi/pOda77767uiWVyrbbbpu5tskmm6TGjz766MycIUOGpMbffvvtMtUFa0q9evVS4yU9F33//fdT4wUFBeVS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AHLNYBwAAAAAAACAXKtV2QVUppYtW6bG11lnncyce++9NzU+Y8aMzJxatdLv5hEjRmTmnHLKKZlrSZKkxv/6179m5vz3v/9Njf/73//OzKHqW7JkSebaiy++mLnWrl27cquhdu3a5battd3FF1+cuXbllVeuwUqobv7whz+UOWfKlCmZa99///3qlAOr7JVXXllj+5o6dWpq/MQTT8zMyXoeWFhYmJnTtGnT1PiwYcMyc6666qrMNSrGwoULU+PTp09fYzXMmjVrjeznk08+yVxbsGBBanzo0KGZOVnnJieccEJmzq9+9avU+HrrrZeZU52eU65pb731VubapptumhofPXp0Zk5JfxNPOumk1HifPn0yc7Lqa9u2bWbOqigoKMhcy3qcl7cuXbqkxl977bXMnLlz51ZUOazF6tSpkxov6Xn8UUcdlRp/8803M3O+/PLLzLX7778/Nb799ttn5tx8882p8e7du2fmwNpo2rRpmWtZx6eSrhnB2ibrnHTLLbfMzOnatWtFlVPMp59+mrl26KGHpsaff/75iiqHKmzIkCGp8ZKe+xcVFaXGa9TIfg9yVk5ExDPPPFOmeHkr6Vy/JCNHjiznStYs7xgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXalV2AZVp++23T40nSZKZ8+mnn6bGmzRpkplz5ZVXpsZ//etfZ+aUVMMjjzySGr/gggsyc3bccccy74d8+/vf/5651qtXr9R4SY/zvHnvvfcy17J6d8qUKZk533///WrXRPXWr1+/zLXddtstcy3r7/zIkSNXuyaobh599NHU+IQJEzJz+vTpU1HlkDNDhgxJjb/wwguZOYccckhq/J577snMeeCBBzLXZs6cmblWVg8//HDm2uWXX54aHzx4cGZOSb30l7/8pdR1saItt9wycy3recSAAQMyc0paK+t+IrLrKylnwYIFqfFvv/02M2fUqFGZa999911q/PPPP8/Mufrqq1Pjr776ambOpEmTMtfIr0aNGqXGe/bsmZnz+uuvp8bfeOONzJysa0kl9cW8efMy17Icc8wxmWtjxoxJjb/yyitl3g9UtKzejIg47LDDMtfuvffe1Pj999+/2jVBeVpnnXUy1zp16pQa79q1a2ZOjRrZ78EsKioqfWH/38cff5wa79GjR2bOW2+9Veb9UH0VFBSUKR6R/ThflZyIiE8++SQ1/tFHH2XmsPq8YxwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg12pVdgFVTatWrVLjTz/9dGZO27Zty7yfq6++OnPtjDPOSI3Pnz+/zPuh+nrmmWcy1wYOHJgav/HGGzNzGjduvNo1VYaZM2emxnv27JmZM3369IoqBzJtuOGGmWtJkmSuPfroo6nxKVOmrHZNUN20bt06Nd65c+c1WwjVSkFBQeZa9+7d12Al5WfSpEmp8ZNPPjkz56KLLspcyzqmPfTQQ2UrjAqX9dy7pOclb7/9dmq8Tp06mTlZ59PvvvtuCdWV3ZVXXlnmnHHjxpVrDVR933zzTWp8zJgx5bqfzz//vFy39/Of/zw1nnXdLCLisssuK9caoCJttdVWmWvXX3995tqWW25ZEeXAKqtZs2Zq/KijjsrMufbaa1PjJV1/KioqylwrKS/L5MmTU+NvvfVWmbdF9bXLLrtkru28886p8VV5nNeokf0e5FXpjaFDh2bmZN2mkup+9tlnU+MjR47MzMkz7xgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXalV2AZVp9uzZZc458MADy5zz7rvvpsavv/76zJxLLrmkzPspyTbbbFPmnNdee61ca6DqGDduXGp81qxZmTmbbrppue3/ggsuyFxr3bp1ue0nImLkyJGp8enTp5frfmB1de3adZXynnvuudR4kiSrUw7kVr169TLXhg4dmhrfeOONK6ocqpFmzZqlxrOeq0RENGnSJDV+/vnnl0dJFWbs2LGp8alTp2bmdOjQocxrDz30UNkKq6aaN2+eubbffvulxv/1r3+t0r6+//771Pj8+fNXaXtryi677JIaL+lx+c4776TGL7744nKpCSrboEGDUuObbLJJZs5///vfiioHVtkvfvGLct3eqlxvhtW1+eabZ6717NkzNX7FFVdUVDnl4o033qjsEsiBkmYWWWsFBQWZOTVqpL/XeFVyIiL69u2bGj/00EMzc7L2lbWtiOxz8OrKO8YBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcq1WZRdQmSZNmpQaP+644zJz9tlnn9T4W2+9lZnzt7/9LTX+9ddfl1Bd+WrTpk2Zc6ZPn14BlVCVZfXMqqpZs2ZqfJ111snMuemmm8q8nx9++GGV1qAy7LLLLqnxvfbaa5W29/zzz69OOZBbdevWTY2PGDEiM2fQoEHltv81+TyQ/BowYEBq/NFHH83Mee211zLXFixYsNo1lcaJJ55YrtvLOn8bOXJkue4nr7788svMtVtuuWUNVrL26tKlS2p89913z8yZNm1aanzx4sXlUhOsCYcffnjm2gknnJAa79WrV0WVAxWidevWqfFGjRpl5rzzzjuZa64zUZEOO+ywMsUjInr37l1R5ay2G264IXPt4osvXoOVkFdDhgzJXCsqKkqN16iR/X7i8swpKa+knGeeeaZMcVbkHeMAAAAAAAAA5JrBOAAAAAAAAAC5ZjAOAAAAAAAAQK4ZjAMAAAAAAACQawbjAAAAAAAAAORarcouYG10ww03rNLa2qygoKBMcVgTBg0alBq/7LLLVml7n3/+eWq8Z8+emTmvvvrqKu0LKkqHDh1S43Xr1s3MefPNNzPXHnzwwdWuCVbFbrvtlrl2zDHHpMZff/31zJy77767zDW0adMmc+30009Pjffq1avM+ynJkiVLUuMXXnhhue6H6qlVq1ap8UmTJmXm3HTTTZlrxx133GrXtFTz5s0z137729+mxrfaaqvMnCRJVrsmKG8lnU8716aqyDqWRET84Q9/yFybOHFiavw///nPatcEa4N//OMfmWv77LNP5tr8+fMrohyqkVGjRmWude3aNTXesmXLiiqnXFx66aWp8TFjxmTmLF68uKLKIYfuuuuu1HinTp0yc7LOMUt6Hl+jRvp7jVclJyLi448/To337ds3M+eZZ57JXKN0vGMcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINdqVXYBrBlJkpQpDlXRp59+mhp/9dVX13AlsOp69uxZ5py33347c+2HH35YnXJglZ1yyimZa7179y7z9i655JLVKafS/P3vf0+N33XXXWu4EtZ2c+fOTY2/9tprmTkdO3ZMjRcVFWXmHHvssWVeq1Ej+/XUJe2rrFZ1PyXlQXk4+OCDU+Pff/99Zs4555xTUeVAudp+++0z15o2bZq5duihh1ZEOVAh2rZtm7l26qmnpsanTp2amTNx4sTVronq7bbbbstcO+ywwzLX1ubnvSeddFLm2t13350a//rrryuqHKqZVZl/ZZ1jrsp5aUk5l156aebavffemxp/5plnMnNYfWvvX1IAAAAAAAAAKAcG4wAAAAAAAADkmsE4AAAAAAAAALlmMA4AAAAAAABArhmMAwAAAAAAAJBrBuMAAAAAAAAA5Fqtyi4AqL5OP/30Mud88cUXmWunnHLK6pQDa0zdunUz17bddtsyb2/atGmrUw5UiB133LGySyh3RUVFqfGZM2dm5lx33XUVVQ45M2vWrNR4jx49MnMmTJiQGu/QoUO51LRU1mM/IiJJkkrfz+uvv15uNVB9tW/fPnMtq6f+85//ZOaMGTNmtWuC8lSnTp3U+DnnnJOZ8+KLL2auzZgxY3VLgnI3ZMiQ1PicOXMyc7LOwUs6zy7P5z9Ufc2bN89cu//++1PjO+ywQ2ZOjRpr5r2MCxYsyFy77LLLUuPXXHNNZk7W+QysCc8++2xqvGXLlpk5O++8c2q8oKAgMyerP0899dTMnJEjR2auUTm8YxwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFyrVdkFsGY8+uijqfGTTz55DVcC/zNnzpzU+AYbbJCZM27cuMy1J554YjUrgjVjxx13zFxr27ZtuW5vhx12SI2//vrrmTnfffddmWuAnyoqKqrsElZJkiSZa5dccklq/E9/+lNFlQMxe/bszLX99tsvNX777bdn5my77baZaw0aNCh9YWvYjBkzMtcuu+yyNVcIudWzZ8/MtYYNG6bG586dW1HlQLnbcMMNU+MlPY95+eWXK6ocqBBTpkxJjT/++OOZOYsWLUqNn3XWWeVSE/l36aWXZq7ttNNOa6SGkp6T3H333anxE088saLKgTVu5MiRqfExY8Zk5txxxx2p8c6dO2fmZPV71v5ZO3nHOAAAAAAAAAC5ZjAOAAAAAAAAQK4ZjAMAAAAAAACQawbjAAAAAAAAAOSawTgAAAAAAAAAuWYwDgAAAAAAAECuFSRJkpTqBwsKKroWKtCGG26YGn/yySczc7bccsuKKmetU8o2SKU3Vt3DDz+cGt9pp50yczp16pS5Nm3atNWuieJWtTf0Rckee+yxzLVu3bqVeXsl3d9Zv8M33ngjM+fxxx9PjZ988sllKyynHDNKp2PHjplr++67b5m31759+9T4BhtskJnTpk2bzLWbb745Nf7JJ59k5owaNSpzDceMquLf//535tree++dGl+V48yqGDJkSObabbfdlrk2d+7ccquhvDlmVB3HHHNM5lrjxo1T4yU9Lr/66qvVLSnXHDMqxm677Za51rRp09T4/fffX1HlUEaOGZBubT9mvPjii5lrv/jFL8q8vTfffDNzbdKkSanxq6++OjPn9ddfL3MNrP0cMyBdaXrDO8YBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMi1WpVdAGvGZ599lhrfcsst13Al8D8PPvhgavyLL77IzJk2bVpFlQNrzGWXXZa51q1btzJv76OPPspce+edd1LjX331VWbOvHnzylwD/NQrr7yySmtAxdp3330ruwRYK918882VXQKUWuvWrVPjQ4cOzcwZOXJkBVUDUL2VdH67/vrrp8bHjRuXmZN1vTQiYvz48aWuC4B03jEOAAAAAAAAQK4ZjAMAAAAAAACQawbjAAAAAAAAAOSawTgAAAAAAAAAuWYwDgAAAAAAAECuGYwDAAAAAAAAkGu1KrsAgJ968MEHK7sEqFD//ve/M9dq1qy5BisBAACqmp/97Gep8V122SUzZ9KkSRVVDkC1duyxx1Z2CQCUgXeMAwAAAAAAAJBrBuMAAAAAAAAA5JrBOAAAAAAAAAC5ZjAOAAAAAAAAQK4ZjAMAAAAAAACQawVJkiSl+sGCgoquBSpNKdsgld4gz1a1N/QFeeaYAekcM2BFjhmQzjEDVuSYAekcM2BFjhmQrjS94R3jAAAAAAAAAOSawTgAAAAAAAAAuWYwDgAAAAAAAECuGYwDAAAAAAAAkGsG4wAAAAAAAADkmsE4AAAAAAAAALlWkCRJUtlFAAAAAAAAAEBF8Y5xAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcs1gHAAAAAAAAIBcMxgHAAAAAAAAINcMxgEAAAAAAADINYNxAAAAAAAAAHLNYBwAAAAAAACAXDMYBwAAAAAAACDXDMYBAAAAAAAAyDWDcQAAAAAAAAByzWAcAAAAAAAAgFwzGAcAAAAAAAAg1wzGAQAAAAAAAMg1g3EAAAAAAAAAcq3aDsZbt24dxxxzTKXtv6CgIG6++eZK2/+a8MQTT0RBQUE88cQTlV0KpaQvKp6+qJoquzdat24dw4cPr7T9rwkzZsyoFn8D8qSy+6I6PF4cM6omvVHx9EbVoy8qnr6omvRGxdMbAAAsr1IG4zfffHMUFBQs+1e3bt1o27ZtDBo0KD7//PPKKKlMll68T/t35513Vth++/btGwUFBXH66aev8jYmT54cw4cPjzlz5pRfYRVo/Pjx0b1792jWrFk0adIkdtppp7jtttsqu6wKUdX7IiLi3XffjT59+sR6660X9evXj9122y0mTJhQofusjn2xvB49ekRBQUEMGjSoskupMFW9N6ZNmxbDhg2Ljh07RqNGjWKjjTaKfffdN1544YUK3e+wYcOioKAgDjvssFXexhtvvBHDhw+PGTNmlF9hFaRbt26Zx+batWtXdnnlrqr3xfDhwzN/XwUFBfHUU09VyH6r4zHjzjvvjO233z7q1q0bzZs3j2OPPTZmz55d2WVVGL2xaqpbb9x7771x2GGHxWabbRb169ePdu3axSmnnFIlal8V+mLVVLe+iHDMqGq9sdT06dPjiCOOiBYtWkS9evViyy23jDPPPLPC9lfdeiPrb1DdunUruzQAAFZBrcrc+XnnnRdt2rSJ7777LiZNmhTXXnttPPjggzF16tSoX79+ZZZWKocffnj06tWrWKxTp04Vsq958+bFAw88EK1bt4477rgjRowYEQUFBWXezuTJk+Pcc8+NY445Jpo0aVL+hZajf/7zn3HggQdGp06dlp2I3H333XH00UfH7NmzY+jQoZVdYoWoqn3x4YcfRqdOnaJmzZpx2mmnRYMGDWLUqFGx1157xWOPPRZdunQp931Wx75Y3r333htPP/10ZZexxlTV3rjhhhvixhtvjEMOOSROOumkmDt3blx33XWxyy67xEMPPRR77rlnue8zSZK44447onXr1vHAAw/EN998E40aNSrzdt54440499xzo1u3btG6detyr7M8nXnmmTFw4MBisQULFsQJJ5wQe+21VyVVVfGqal8cfPDBscUWW6wQP+OMM2L+/Pnxy1/+stz3WR2PGddee22cdNJJsccee8Rll10WH330UVxxxRXxwgsvxLPPPpvrC7p6o/SqY28cd9xxsfHGG8eRRx4ZLVu2jNdeey2uvvrqePDBB+Oll16KevXqVXaJFUJflF517AvHjKrXGxERr7zySnTr1i1+9rOfxSmnnBJNmzaNDz74ID788MMK2V917I2lrr322mjYsOGy/65Zs2YlVgMAwKqq1MH4PvvsEzvuuGNERAwcODCaNm0al112Wdx///1x+OGHp+YsWLAgGjRosCbLzLT99tvHkUceuUb2dc8998SSJUvipptuit133z0mTpwYXbt2XSP7rixXX311bLTRRvH4449HnTp1IiLi+OOPj/bt28fNN9+c28F4Ve2LESNGxJw5c2Lq1KnRrl27iIj47W9/G+3bt4+hQ4fGiy++WO77rI59sdR3330Xp5xySpx++unx5z//ubLLWSOqam8cfvjhMXz48GIXUX7zm99Ehw4dYvjw4RUyGH/iiSfio48+iscffzz23nvvuPfee6N///7lvp+1SY8ePVaI3X777RER8etf/3pNl7PGVNW+2HbbbWPbbbctFvvwww/jo48+ioEDB8Y666xT7vusbseMRYsWxRlnnBFdunSJRx99dNlF686dO8f+++8f119/fQwePLiSq6w4eqP0qltvRESMHTs2unXrViy2ww47RP/+/aOwsHCFF1rlhb4overWF44ZVbM3ioqK4qijjor27dvHhAkT1siLeqpbbyyvT58+0axZs8ouAwCA1bRWfcf47rvvHhER77//fkREHHPMMdGwYcOYPn169OrVKxo1arTs4nZRUVFcfvnl8fOf/zzq1q0bG2ywQRx//PHx9ddfF9tmkiRxwQUXxCabbBL169eP7t27x+uvv566/+nTp8f06dPLVPOCBQti0aJFZb2pZVZYWBg9evSI7t27R4cOHaKwsDD156ZNmxZ9+/aN5s2bR7169aJdu3bLPkJr+PDhcdppp0VERJs2bZZ9/NOMGTNK/G7XgoKCYt9tO3PmzDjppJOiXbt2Ua9evWjatGkceuihpfqo3YULF8a0adNK9XFs8+bNi/XWW2/ZUDwiolatWtGsWbPcvosjTVXpiyeffDK22267ZUPxiIj69etH796946WXXop33nlnlW5/SapjXyz117/+NYqKiuLUU08tdU7eVJXe2GGHHYoNxSMimjZtGr/61a/izTffLPPtLo3CwsLYaqutonv37rHnnntm9sbHH38cxx57bGy88cZRp06daNOmTZx44omxaNGiuPnmm+PQQw+NiIju3bsv642l38330x5Y6qffk/jVV1/FqaeeGttss000bNgw1l133dhnn31iypQpK70dixcvjmnTpsWnn35a5vsgImL06NHRoEGDOOCAA1YpvyqqKn2R5o477ogkSSrshQzV7ZgxderUmDNnThx22GHF3sm13377RcOGDSv063/WRnojW3XrjYhYYSgeEXHQQQdFRFTYsXltpC+yVbe+cMworqr0xiOPPBJTp06Nc845J+rVqxcLFy6MJUuWrM5NX6nq1hvLS5Ik5s2bF0mSlDoHAIC1z1o1GF/6xL9p06bLYj/88EPsvffe0aJFi7jkkkvikEMOiYgf3zl82mmnxa677hpXXHFFDBgwIAoLC2PvvfeOxYsXL8v/85//HGeffXb84he/iL/97W+x2WabxV577RULFixYYf977LFH7LHHHqWu99xzz42GDRtG3bp145e//GU88sgjq3rTS/TJJ5/EhAkTlr1S+fDDD4+xY8euMJB/9dVXY+edd47HH388fvvb38YVV1wRBx54YDzwwAMR8eNH0C3dxsiRI+O2226L2267LZo3b16mep5//vmYPHly9OvXL6688so44YQT4rHHHotu3brFwoULS8x97rnnokOHDnH11VevdD/dunWL119/Pc4+++x49913Y/r06XH++efHCy+8EMOGDStTzVVZVemL77//PvUFC0s/eq683zFeXfsiIuKDDz6IESNGxF/+8pdq9SKRn6oqvZHls88+q5B3HHz//fdxzz33FOuNxx9/PD777LNiP/fJJ5/ETjvtFHfeeWccdthhceWVV8ZRRx0V//3vf2PhwoXRpUuX+P3vfx8RP35U6dLe6NChQ5nqee+99+K+++6L/fbbLy677LI47bTT4rXXXouuXbvGJ598UmLuxx9/HB06dIg//elPZdpnRMSsWbPi0UcfjQMPPLDS382zJlXlvigsLIxNN920Qr56ozoeM77//vuIiNTjRL169eLll1+OoqKiMtVdlemNdNWxN7IsPU5Wp3cD6ot01bEvHDOKqyq9MX78+IiIqFOnTuy4447RoEGDqF+/fvTr1y+++uqr1boP0lTH3ljeZpttFo0bN45GjRrFkUceWaW+hx4AgOUklWDUqFFJRCTjx49PZs2alXz44YfJnXfemTRt2jSpV69e8tFHHyVJkiT9+/dPIiL54x//WCz/ySefTCIiKSwsLBZ/6KGHisW/+OKLZJ111kn23XffpKioaNnPnXHGGUlEJP379y+W36pVq6RVq1YrrX/mzJnJXnvtlVx77bXJP//5z+Tyyy9PWrZsmdSoUSP517/+Var7ICKSUaNGlepnL7nkkqRevXrJvHnzkiRJkrfffjuJiGTcuHHFfq5Lly5Jo0aNkpkzZxaLL3/b//a3vyURkbz//vvFfub999/PrCkiknPOOWfZfy9cuHCFn3n66aeTiEhuvfXWZbEJEyYkEZFMmDBhhdjy28syf/78pG/fvklBQUESEUlEJPXr10/uu+++leZWRVW9L/bff/+kSZMmyx6nS3Xq1CmJiOSSSy5Z6Tb0xTkrbCNNnz59ks6dOxer5Xe/+12pcquiqt4baSZOnJgUFBQkZ599dql+vlWrVqV+fIwdOzaJiOSdd95JkiRJ5s2bl9StWzcZOXJksZ87+uijkxo1aiTPP//8CttYevvHjBmzwuN1qazHbKtWrYrdV999912yZMmSYj/z/vvvJ3Xq1EnOO++8YrGf9tvS2E/v+9K46qqrkohIHnzwwTLnVgV564upU6cmEZEMGzas1DmOGeessI3lzZo1KykoKEiOPfbYYvFp06Yte141e/bsErdRFekNvVHa4+VPHXvssUnNmjWTt99+e5Xy12b6Ql84ZqSr6r3Ru3fvJCKSpk2bJr/+9a+TsWPHJmeffXZSq1atpHPnzsX2lUVvnLPCNn7q8ssvTwYNGpQUFhYmY8eOTU4++eSkVq1ayZZbbpnMnTt3pfkAAKxdKvUd43vuuWc0b948Nt100+jXr180bNgwxo0bFz/72c+K/dyJJ55Y7L/HjBkTjRs3jh49esTs2bOX/Vv6cbUTJkyIiB9fPbto0aIYPHhwsY8DGzJkSGo9Sz+2aWVatmwZDz/8cJxwwgmx//77x8knnxwvv/xyNG/ePE455ZSy3QmlUFhYGPvuu280atQoIiK23HLL2GGHHYp9ZNWsWbNi4sSJ8Zvf/CZatmxZLH/5214eln8V+eLFi+PLL7+MLbbYIpo0aRIvvfRSibndunWLJElSP373p+rUqRNt27aNPn36xB133BG333577LjjjnHkkUfGM888s7o3Y61VVfvixBNPXPbxey+//HK8/fbbMWTIkHjhhRciIuLbb78tw72wctW1LyZMmBD33HNPXH755atZcdVTVXvjp7744os44ogjok2bNhXy6ReFhYWx4447xhZbbBEREY0aNYp99923WG8UFRXFfffdF/vvv/+y71NcXnn2R506daJGjR+fbixZsiS+/PLLaNiwYbRr126lvdG6detIkiT1oxRXZvTo0dG8efPU7x7Pk7z0xdLHZ0V+JG51O2Y0a9Ys+vbtG7fccktceuml8d5778WTTz4Zhx12WNSuXTsiyv/YvDbRG6XffnXrjTSjR4+OG2+8MU455ZTYcssty5xfVeiL0m+/uvWFY0bV7I358+dHRMQvf/nLuP322+OQQw6J8847L84///yYPHlyPPbYY2W4F1auOvZGRMTJJ58cV111VRxxxBFxyCGHxOWXXx633HJLvPPOO3HNNdes7s0AAGANq1WZO//73/8ebdu2jVq1asUGG2wQ7dq1W3bxfKlatWrFJptsUiz2zjvvxNy5c6NFixap2/3iiy8i4sfvG4qIFS5uNG/ePNZbb73yuhkREbH++uvHgAEDYsSIEfHRRx+tUPOqevPNN+Pll1+Oo48+Ot59991l8W7dusXf//73mDdvXqy77rrx3nvvRUTE1ltvXS77Lcm3334bF198cYwaNSo+/vjjYt+vNHfu3HLbz6BBg+KZZ56Jl156adnjom/fvvHzn/88Tj755Hj22WfLbV9rk6raF/vss09cddVV8cc//jG23377iIjYYost4sILL4xhw4at8B3Lq6O69sUPP/wQv//97+Ooo46KX/7yl+WyzaqkqvbG8hYsWBD77bdffPPNNzFp0qRy7YuIiDlz5sSDDz4YgwYNKtYbu+66a9xzzz3x9ttvR9u2bWPWrFkxb968NdIbRUVFccUVV8Q111wT77//frHvPVz+4ynL03vvvRdPP/10DBo0KGrVqtSnOhUuD32RJEmMHj06tt5669h2223LZZvLq67HjIiI6667Lr799ts49dRT49RTT42IiCOPPDI233zzuPfee8v9b9DaRG+sXHXujeU9+eSTceyxx8bee+8dF154YYXsY22hL1auOveFY0bV642lg+GlH0u+1BFHHBF/+tOfYvLkybHnnnuu8vaXV517I80RRxwRp5xySowfPz7++Mc/Vui+AAAoX5V6tXinnXZKfafa8pZ/p9lSRUVF0aJFi2KvSl1eWb+XqLxsuummERHx1Vdfldtg/Pbbb4+IiKFDh8bQoUNXWL/nnntiwIABq72frFfuLj/AWGrw4MExatSoGDJkSHTq1CkaN24cBQUF0a9fv3L73rFFixbFjTfeGMOGDSv2+69du3bss88+cfXVV8eiRYtinXXWKZf9rU2qcl8MGjQoBgwYEK+++mqss8460bFjx7jxxhsjIqJt27bltp/q2he33nprvPXWW3Hdddet8A6Cb775JmbMmBEtWrRY9r3ueVOVeyPix79rBx98cLz66qvx8MMPV8jFojFjxsT3338fl156aVx66aUrrBcWFsa5555b7vtd3k/746KLLoqzzz47fvOb38T5558f66+/ftSoUSOGDBlSYd9VOXr06IiouHeSrU2qel9ERDz11FMxc+bMuPjiiytk+9X1mBER0bhx47j//vvjgw8+iBkzZkSrVq2iVatW0blz52jevHk0adKk3Pa1ttEbK1ede2OpKVOmRO/evWPrrbeOsWPH5v7FVPpi5apzXzhmVL3e2HjjjSMiYoMNNigWXzqo//rrr8ttX9W5N7JsuummFfJd7gAAVKwqeea/+eabx/jx42PXXXct9tFJP9WqVauI+PFVvJttttmy+KxZs8r1BGGppa+MLa+Tn6Wvhu/evXucdNJJK6yff/75UVhYGAMGDFh2+6ZOnVriNrNOMpa+SnnOnDnF4ktf2by8sWPHRv/+/YsNXb777rsVclfHl19+GT/88EPqyc/ixYujqKgoda06W1v6okGDBtGpU6dl/z1+/PioV69e7Lrrrqu97Yjq3RcffPBBLF68OPW+vPXWW+PWW2+NcePGxYEHHlhu+8yDtaE3ioqK4uijj47HHnss7r777ujatetqbS9LYWFhbL311nHOOeessHbdddfF6NGj49xzz43mzZvHuuuuu8q9EfFjf/z08b1o0aL49NNPi8XGjh0b3bt3X/YimaXmzJkTzZo1W8ktWjWjR4+OzTffPHbZZZcK2X4erA19sVRhYWEUFBTEEUccUS7bW151PmYsr2XLlss+znTOnDnx4osvxiGHHFIh+6rq9MaPqkNvTJ8+PXr27BktWrSIBx98MNfvhl1d+uJH1aEvIhwzyqKye2OHHXaI66+/Pj7++ONi8U8++SQiXJuqSEmSxIwZM2K77bar8H0BAFC+KvU7xldV3759Y8mSJXH++eevsPbDDz8sexK85557Ru3ateOqq64q9pFKWd/NO3369Jg+ffpK9z9r1qwVYh9//HHcdNNNse2228ZGG21UuhuyEk899VTMmDEjBgwYEH369Fnh32GHHRYTJkyITz75JJo3bx5dunSJm266KT744INi21n+tjdo0CAiVjzJWHfddaNZs2YxceLEYvG070uqWbNmsW1GRFx11VWlGlQvXLgwpk2bFrNnzy7x51q0aBFNmjSJcePGxaJFi5bF58+fHw888EC0b9++xBPP6qiy+yLN5MmT4957741jjz02GjduvErb+Knq3Bf9+vWLcePGrfAvIqJXr14xbty42HnnnVe6v+pmbeiNwYMHx1133RXXXHNNHHzwwWW+DaXx4YcfxsSJE6Nv376pvTFgwIB4991349lnn40aNWrEgQceGA888EC88MILK2xr6e3P6o2IHy8E/rQ3/vGPf6zwmE/rjTFjxqxwAS/N4sWLY9q0aSsM20vy8ssvx5tvvlkhF8zzZG3oi4gff8djxoyJ3XbbbYXvoSwP1fmYkeVPf/pT/PDDD6nv9kJvVJfe+Oyzz2KvvfaKGjVqxMMPP1xpnzhWVeiL6tEXaRwzSlbZvXHAAQdEnTp1YtSoUcXeIX3DDTdERESPHj3KcGuyVffeSLsGeO2118asWbOiZ8+eK80HAGDtUiXfMd61a9c4/vjj4+KLL45XXnkl9tprr6hdu3a88847MWbMmLjiiiuiT58+0bx58zj11FPj4osvjv322y969eoVL7/8cvznP/9JfZfaHnvsERGxwkcU/9SwYcNi+vTpsccee8TGG28cM2bMiOuuuy4WLFgQV1xxRbndzsLCwqhZs2bsu+++qeu9e/eOM888M+688874wx/+EFdeeWXstttusf3228dxxx0Xbdq0iRkzZsS///3veOWVVyLix1cUR0SceeaZ0a9fv6hdu3bsv//+0aBBgxg4cGCMGDEiBg4cGDvuuGNMnDgx3n777RX2u99++8Vtt90WjRs3jq222iqefvrpGD9+fKm+K/a5556L7t27xznnnBPDhw/P/LmaNWvGqaeeGmeddVbssssucfTRR8eSJUvixhtvjI8++mjZx3jxP5XdFzNnzoy+fftG7969Y8MNN4zXX389/u///i+23XbbuOiii8rtdlbnvmjfvn20b98+da1NmzbeKZ6hsnvj8ssvj2uuuSY6deoU9evXX+Hv10EHHbTswtDqGD16dCRJEr17905d79WrV9SqVSsKCwtj5513josuuigeeeSR6Nq1axx33HHRoUOH+PTTT2PMmDExadKkaNKkSXTs2DFq1qwZf/nLX2Lu3LlRp06d2H333aNFixYxcODAOOGEE+KQQw6JHj16xJQpU+Lhhx9e4b7ab7/94rzzzosBAwZE586d47XXXovCwsJi75bJ8vHHH0eHDh2if//+cfPNN5fqflj6UZbV4WPUV0dl98VSDz/8cHz55ZcV9vuqzseMiIgRI0bE1KlTY+edd45atWrFfffdF4888khccMEF8ctf/nKl+6qO9MaP8t4bPXv2jPfeey+GDRsWkyZNikmTJi1b22CDDcptmJQX+uJHee8Lx4yyq+ze2HDDDePMM8+MP//5z9GzZ8848MADY8qUKXH99dfH4YcfXm6/t+reG61atYrDDjssttlmm6hbt25MmjQp7rzzzv/X3r1HWVWedwA+g+DAIAXCxQsMkgmxXkJANASigEmzvGBtQG6yrPGWqhFrlYs2NOAlbZQYICmpqxpTiI1YAWNIvJQGZZVUByO1y7WI0YSAOgHRWQJiBIZk2P2npjF873jO3GfzPGvlj/ze8+79MXO++c7wspPC8OHDC1dfffUH3gsAgHYmawNLly7NCoVC9txzzzX4uksvvTTr3r17WL/33nuz0047LevWrVvWo0ePbOjQodlNN92Ubd++/fevqa+vz2677bbs2GOPzbp165adddZZ2aZNm7Ljjz8+u/TSS993veOPPz47/vjjP3D9y5cvz8aOHZv169cv69y5c9a3b99s4sSJ2X//939/YO97CoVCtnTp0rB+4MCBrE+fPtmYMWMavM6HP/zh7NRTT/39f9+0aVM2ceLErFevXlnXrl2zP/3TP83mzZv3vp6vfOUr2YABA7JOnTplhUIh27p1a5ZlWbZ3797syiuvzHr27Jn16NEjmzp1avbmm29mhUIhu+WWW37fv2vXruzyyy/P+vbtmx111FHZOeeck7300kuHfE3XrVuXFQqFbN26dYdkf3i9hjzwwAPZyJEjs169emXdunXLPvnJT2arVq0qqrej6ej7YufOndnnPve57JhjjsmOPPLI7MMf/nB28803Z3v27PnA3vfYF/9/vVIUCoVsxowZjertCDr63rj00kuzQqEQ/ue991pDjj/++A98fwwdOjQbNGhQg68566yzsv79+2e//e1vsyzLsldffTX7/Oc/n/Xr1y8rLy/PqqqqshkzZmR1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+Mcl93T0M2PYsGHJfPz48WHP+vXrw9rTTz/d5DW9p6qqKqxF76Xt27eHPb179w5rF198cTJ/4IEHwp577703mR88eDDsOeaYY5J5ZWVl2NNROTNaxqhRo8LaihUrknke3181NTVhberUqcl8w4YNLbWconX0M6Ojin727tixo1HXu/HGG5N5Q5//N23alMw/8YlPhD11dXWlLawDy+OZ0adPn7D2xS9+seRa9D5uyL/927+FteizT2vq27dvMm/o7wAiY8aMCWvPPPNMyddrD5pyZgAAUBxPjAMAAAAAAACQawbjAAAAAAAAAOSawTgAAAAAAAAAuWYwDgAAAAAAAECuGYwDAAAAAAAAkGud23oBbalLly7J/Kmnngp7fve73yXzq666KuyZP39+Mh87dmzYs2zZsrAGLe2v//qvk3lVVVXY84lPfKLZ7n/00UeHtbKysrCWZVmz9TTk6quvTuYHDx4MexYvXlzyfWh9nTvHx+I555zTbPfp06dPWFu0aFGz3adQKBQeffTRZH7SSSeFPXPmzEnmxx13XMn379evX1jr0aNHWOvVq1cyj87uhmzevDmsnXDCCSVfr6N78cUXk3ltbW3YM23atLDWv3//ZB699wqFQuG6665L5j//+c/Dntdeey2Zb9myJexpSPR12LdvX9jz5JNPJvNZs2aFPRMmTChpXRy+Kisrk3lD50LU09xqamrCWvQZZ9u2bWHPgAEDkvmNN94Y9jT0Z62urk7mM2fODHt8Nsu3HTt2lNwzbty4sPbVr341mTf0e8YVV1yRzOvq6kpbGB3G7bffHtauueaaZr3XL37xi2R+5ZVXNut9mtu1115bcs/GjRuT+XPPPdfU5QAAcBjyxDgAAAAAAAAAuWYwDgAAAAAAAECuGYwDAAAAAAAAkGsG4wAAAAAAAADkmsE4AAAAAAAAALlmMA4AAAAAAABArpVlWZYV9cKyspZeS6u7++67k/mECRPCnrFjxybzzZs3hz2nnXZaMl+3bl3Y8/jjj4e1iy66KKzROEVug6Q87o3I+eefH9bmzJmTzKM9k0e/+tWvwto//dM/hbUlS5Yk8/r6+iavqakauzfa87742Mc+Fta+973vhbWPf/zjLbGcFvfuu++W3NO9e/dmu39NTU1Y27hxY7Pdp1AoFL72ta8l89deey3sef3110u+T0c/M/r375/M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\n"},"metadata":{}}]}]}