diff --git "a/Code.ipynb" "b/Code.ipynb" --- "a/Code.ipynb" +++ "b/Code.ipynb" @@ -53,11 +53,1814 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "de50025a", "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9720.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10040.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10052.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9881.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10070.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9822.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9894.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9841.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9685.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9645.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9753.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9766.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9740.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9999.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9910.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9892.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9979.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9917.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9858.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10097.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9883.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9873.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9951.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10103.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10051.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9889.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9938.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10057.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9719.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10042.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10056.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9815.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9954.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9738.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9991.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9687.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9771.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9930.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10099.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9621.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9622.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9669.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9885.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10094.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9663.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9915.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9959.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9789.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9724.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9802.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9631.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9957.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9710.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9814.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10085.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9820.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9739.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9786.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9862.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9914.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10047.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9680.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10081.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9658.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10019.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9896.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9857.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9931.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9843.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9886.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9911.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9909.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9633.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9779.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9772.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9701.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9796.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9879.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9783.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9682.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9697.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10023.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9849.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9790.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9824.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10008.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9793.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9855.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10001.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9769.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9839.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10016.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9827.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9718.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9918.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9871.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9908.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9678.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10091.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10014.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9846.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10075.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9949.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9609.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9648.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9882.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10063.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10067.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10087.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9800.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9997.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9877.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9742.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9801.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9964.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9875.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9703.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9664.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9952.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9853.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9847.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9995.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9924.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9967.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10032.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9880.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9767.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9920.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9643.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9925.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10018.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9747.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9998.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9972.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10025.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10030.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9926.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9674.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9655.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9713.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10076.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10060.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10003.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9932.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9807.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9634.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10068.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10031.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9683.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9642.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9632.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9699.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9888.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9989.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9652.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10064.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9974.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9864.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9758.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9831.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9613.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9646.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9705.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9752.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9679.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10007.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9610.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9660.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9969.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9929.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9943.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9653.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9654.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9762.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9934.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9754.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9606.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9757.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9902.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9907.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9706.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10044.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10043.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9835.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9986.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9670.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9876.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9729.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9868.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10013.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9860.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10046.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9732.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9960.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9717.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9735.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9805.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9775.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9626.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9988.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9764.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9780.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9817.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9936.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9708.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9852.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9867.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9798.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9866.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9869.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9726.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9808.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9956.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10035.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9933.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9928.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9651.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9913.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9963.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9618.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10058.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9890.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9675.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9977.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9629.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9950.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9741.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9829.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9854.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9948.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10073.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9776.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9759.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9725.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9787.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9671.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9818.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10071.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9782.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10088.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9842.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9704.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9657.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9625.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9693.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9821.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9714.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10026.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9639.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9665.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9795.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9832.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9760.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10029.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9905.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9662.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9906.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9966.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9684.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9980.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9763.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9607.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9826.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9833.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9668.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9945.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9825.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9628.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10021.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9696.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10028.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10101.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9781.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10072.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9987.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9700.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10039.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9941.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9755.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9840.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9813.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10020.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9834.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9947.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9865.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9649.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9615.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9695.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9870.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10095.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9733.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9746.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9887.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9605.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10066.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10065.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9863.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9916.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9899.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10034.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9616.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10069.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9851.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9778.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9837.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9723.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10041.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9734.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9939.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10011.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9659.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9644.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9661.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9803.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9828.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9878.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9810.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10024.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9721.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9993.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9691.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9656.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9736.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9667.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9898.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9715.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9737.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10053.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9728.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9722.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9861.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9836.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9744.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10098.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9958.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9973.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9961.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9996.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10002.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10082.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9650.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9748.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9922.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9884.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9694.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9698.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9731.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9636.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9901.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9707.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10061.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9942.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10006.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10038.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9768.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9785.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9895.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10045.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9777.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9900.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9968.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9611.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10000.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9688.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9981.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9614.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10080.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9850.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9770.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9619.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10005.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9953.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10009.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10050.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10096.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10092.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9897.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10059.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9676.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9806.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9816.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9983.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9859.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9893.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10017.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10055.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9812.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9620.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9792.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9640.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10015.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9830.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9690.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10048.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10089.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9965.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9765.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9749.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9638.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9962.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9788.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9791.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10033.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9750.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9848.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9994.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9819.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10036.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9692.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10086.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9624.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9677.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9630.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9712.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9992.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9672.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9838.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9944.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9689.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9709.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10049.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10083.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9856.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9970.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9845.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9937.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9912.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9976.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9647.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9623.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10027.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9804.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9971.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9797.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10090.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9673.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9686.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9903.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10054.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9702.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9612.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9730.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9617.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9761.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9984.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9978.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9809.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9844.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9940.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9891.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10079.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9608.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9811.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9975.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9874.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9823.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10084.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10078.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10074.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10004.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9641.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10077.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10010.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9773.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9716.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9756.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10037.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9985.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9743.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9627.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10102.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9921.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9784.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9990.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9794.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9799.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10062.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9955.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9904.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9666.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9982.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9946.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10100.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10093.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9681.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10022.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9711.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10104.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9727.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9745.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9751.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9923.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9919.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9637.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9635.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_10012.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9872.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9935.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9774.jpg\n", + "Resized and saved: /home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1/melanoma_9927.jpg\n" + ] + } + ], + "source": [ + "import os\n", + "from PIL import Image\n", + "\n", + "def resize_images(input_folder, output_folder, size=(224, 224)):\n", + " \"\"\"\n", + " Resize all images in the input folder to the specified size and save them to the output folder.\n", + " \n", + " Args:\n", + " input_folder (str): Path to the folder containing input images.\n", + " output_folder (str): Path to the folder where resized images will be saved.\n", + " size (tuple): Target size for resizing (width, height).\n", + " \"\"\"\n", + " if not os.path.exists(output_folder):\n", + " os.makedirs(output_folder)\n", + " \n", + " for filename in os.listdir(input_folder):\n", + " input_path = os.path.join(input_folder, filename)\n", + " output_path = os.path.join(output_folder, filename)\n", + " \n", + " try:\n", + " with Image.open(input_path) as img:\n", + " img_resized = img.resize(size, Image.Resampling.LANCZOS)\n", + " img_resized.save(output_path)\n", + " print(f\"Resized and saved: {output_path}\")\n", + " except Exception as e:\n", + " print(f\"Error processing {input_path}: {e}\")\n", + "\n", + "# Example usage\n", + "input_folder = \"/home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign\" # Replace with the path to your input folder\n", + "output_folder = \"/home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test/benign1\" # Replace with the path to your output folder\n", + "resize_images(input_folder, output_folder)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "eaf63bb7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Batch size: torch.Size([32, 3, 224, 224])\n", + "Labels: tensor([1, 3, 2, 3, 0, 1, 0, 2, 1, 2, 1, 1, 0, 3, 0, 3, 0, 2, 3, 2, 1, 1, 0, 1,\n", + " 1, 1, 3, 2, 0, 2, 1, 0])\n" + ] + } + ], + "source": [ + "import os\n", + "from torchvision import datasets, transforms\n", + "from torch.utils.data import DataLoader\n", + "\n", + "def create_data_loader(data_dir, batch_size=32, shuffle=True):\n", + " \"\"\"\n", + " Create a DataLoader for the given directory.\n", + "\n", + " Args:\n", + " data_dir (str): Path to the directory containing the dataset.\n", + " batch_size (int): Number of samples per batch.\n", + " shuffle (bool): Whether to shuffle the data.\n", + "\n", + " Returns:\n", + " DataLoader: A PyTorch DataLoader for the dataset.\n", + " \"\"\"\n", + " # Define transformations: resize to 224x224, convert to tensor, and normalize\n", + " transform = transforms.Compose([\n", + " transforms.Resize((224, 224)),\n", + " transforms.ToTensor(),\n", + " transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) # Standard ImageNet normalization\n", + " ])\n", + "\n", + " # Load dataset from directory\n", + " dataset = datasets.ImageFolder(root=data_dir, transform=transform)\n", + "\n", + " # Create DataLoader\n", + " data_loader = DataLoader(dataset, batch_size=batch_size, shuffle=shuffle)\n", + "\n", + " return data_loader\n", + "\n", + "# Example usage\n", + "if __name__ == \"__main__\":\n", + " # Define paths to datasets\n", + " train_dir = \"/home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/train\"\n", + " test_dir = \"/home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test\"\n", + "\n", + " # Create DataLoaders\n", + " train_loader = create_data_loader(train_dir, batch_size=32, shuffle=True)\n", + " test_loader = create_data_loader(test_dir, batch_size=32, shuffle=False)\n", + "\n", + " # Iterate through the train DataLoader\n", + " for images, labels in train_loader:\n", + " print(f\"Batch size: {images.size()}\") # Should print: [batch_size, 3, 224, 224]\n", + " print(f\"Labels: {labels}\")\n", + " break" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "019c397e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Dataset sizes: {'train': 9605, 'test': 1000}\n", + "Class names: ['benign', 'malignant']\n", + "Using device: cuda:0\n", + "Input shape: torch.Size([32, 3, 224, 224])\n", + "Labels: tensor([1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1,\n", + " 1, 0, 0, 1, 1, 0, 1, 1])\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ubuntu/.local/lib/python3.12/site-packages/torchvision/models/_utils.py:208: UserWarning: The parameter 'pretrained' is deprecated since 0.13 and may be removed in the future, please use 'weights' instead.\n", + " warnings.warn(\n", + "/home/ubuntu/.local/lib/python3.12/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and may be removed in the future. The current behavior is equivalent to passing `weights=DenseNet121_Weights.IMAGENET1K_V1`. You can also use `weights=DenseNet121_Weights.DEFAULT` to get the most up-to-date weights.\n", + " warnings.warn(msg)\n", + "Downloading: \"https://download.pytorch.org/models/densenet121-a639ec97.pth\" to /home/ubuntu/.cache/torch/hub/checkpoints/densenet121-a639ec97.pth\n", + "100%|██████████| 30.8M/30.8M [00:31<00:00, 1.03MB/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 0/19\n", + "----------\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ubuntu/.local/lib/python3.12/site-packages/torch/optim/lr_scheduler.py:62: UserWarning: The verbose parameter is deprecated. Please use get_last_lr() to access the learning rate.\n", + " warnings.warn(\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "train Loss: 0.3518 Acc: 0.8569\n", + "test Loss: 0.3365 Acc: 0.8450\n", + "\n", + "Epoch 1/19\n", + "----------\n", + "train Loss: 0.2853 Acc: 0.8816\n", + "test Loss: 0.2946 Acc: 0.8710\n", + "\n", + "Epoch 2/19\n", + "----------\n", + "train Loss: 0.2709 Acc: 0.8909\n", + "test Loss: 0.2936 Acc: 0.8650\n", + "\n", + "Epoch 3/19\n", + "----------\n", + "train Loss: 0.2629 Acc: 0.8944\n", + "test Loss: 0.2803 Acc: 0.8720\n", + "\n", + "Epoch 4/19\n", + "----------\n", + "train Loss: 0.2623 Acc: 0.8939\n", + "test Loss: 0.2539 Acc: 0.8950\n", + "\n", + "Epoch 5/19\n", + "----------\n", + "train Loss: 0.2534 Acc: 0.9003\n", + "test Loss: 0.2449 Acc: 0.8970\n", + "\n", + "Epoch 6/19\n", + "----------\n", + "train Loss: 0.2503 Acc: 0.8981\n", + "test Loss: 0.2445 Acc: 0.8960\n", + "\n", + "Epoch 7/19\n", + "----------\n", + "train Loss: 0.2533 Acc: 0.8978\n", + "test Loss: 0.2542 Acc: 0.8930\n", + "\n", + "Epoch 8/19\n", + "----------\n", + "train Loss: 0.2534 Acc: 0.8957\n", + "test Loss: 0.2698 Acc: 0.8830\n", + "\n", + "Epoch 9/19\n", + "----------\n", + "train Loss: 0.2473 Acc: 0.8995\n", + "test Loss: 0.2698 Acc: 0.8810\n", + "\n", + "Epoch 10/19\n", + "----------\n", + "train Loss: 0.2470 Acc: 0.8985\n", + "test Loss: 0.2769 Acc: 0.8750\n", + "\n", + "Epoch 11/19\n", + "----------\n", + "train Loss: 0.2551 Acc: 0.8951\n", + "test Loss: 0.2852 Acc: 0.8710\n", + "\n", + "Epoch 12/19\n", + "----------\n", + "train Loss: 0.2495 Acc: 0.8990\n", + "test Loss: 0.2525 Acc: 0.8970\n", + "\n", + "Epoch 13/19\n", + "----------\n", + "train Loss: 0.2316 Acc: 0.9060\n", + "test Loss: 0.2582 Acc: 0.8970\n", + "\n", + "Epoch 14/19\n", + "----------\n", + "train Loss: 0.2369 Acc: 0.9049\n", + "test Loss: 0.2567 Acc: 0.8970\n", + "\n", + "Epoch 15/19\n", + "----------\n", + "train Loss: 0.2375 Acc: 0.9052\n", + "test Loss: 0.2623 Acc: 0.8930\n", + "\n", + "Epoch 16/19\n", + "----------\n", + "train Loss: 0.2372 Acc: 0.9060\n", + "test Loss: 0.2412 Acc: 0.8990\n", + "\n", + "Epoch 17/19\n", + "----------\n", + "train Loss: 0.2364 Acc: 0.9062\n", + "test Loss: 0.2513 Acc: 0.8970\n", + "\n", + "Epoch 18/19\n", + "----------\n", + "train Loss: 0.2363 Acc: 0.9056\n", + "test Loss: 0.2640 Acc: 0.8890\n", + "\n", + "Epoch 19/19\n", + "----------\n", + "train Loss: 0.2318 Acc: 0.9065\n", + "test Loss: 0.2540 Acc: 0.8990\n", + "\n", + "Training complete in 12m 36s\n", + "Best val Acc: 0.899000\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAHqCAYAAADVi/1VAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAD1pUlEQVR4nOzdeVxU9ffH8dcMO4iAgKKgAqbirrnlltlmZqW2W1matlvZnqUtZvtmZdm3zNSy8le271ZW7vu+7wuCbAoCss79/XFhlHABHbjAvJ+PxzzmcufOveeC4L1nzud8bIZhGIiIiIiIiIiIiFQiu9UBiIiIiIiIiIiI+1FSSkREREREREREKp2SUiIiIiIiIiIiUumUlBIRERERERERkUqnpJSIiIiIiIiIiFQ6JaVERERERERERKTSKSklIiIiIiIiIiKVTkkpERERERERERGpdEpKiYiIiIiIiIhIpVNSSkROaOrUqdhsNmw2G3///Xep1w3D4KyzzsJms3Heeee59Ng2m41nnnmm3O/btWsXNpuNqVOnlvk9a9euxWaz4eXlRUJCQrmPKSIiIlJRavL1WPF2r7322ukFKCLVnpJSInJKgYGBfPTRR6XW//PPP2zfvp3AwEALonKdyZMnA1BQUMD06dMtjkZERESktJp+PSYi7klJKRE5peuuu45Zs2aRkZFRYv1HH31Et27daNSokUWRnbnc3FxmzJhBu3btiIyMZMqUKVaHdEJHjhzBMAyrwxAREREL1OTrMRFxX0pKicgpDR48GIDPP//cuS49PZ1Zs2Zx6623Hvc9aWlp3H333URGRuLt7U1sbCxPPvkkubm5JbbLyMjgtttuIzQ0lFq1anHJJZewZcuW4+5z69at3HDDDdStWxcfHx9atGjBu+++e0bn9u2335KamsqIESO45ZZb2LJlC/PmzSu1XW5uLuPGjaNFixb4+voSGhpKnz59WLBggXMbh8PBO++8Q/v27fHz8yM4OJhzzjmH77//3rnNicrgo6OjGTp0qPPr4lL933//nVtvvZXw8HD8/f3Jzc1l27ZtDBs2jKZNm+Lv709kZCSXX345a9euLbXfQ4cO8dBDDxEbG4uPjw9169bl0ksvZdOmTRiGQdOmTenbt2+p92VmZhIUFMQ999xTzu+oiIiIVISafD12Knv27OGmm24qcczXX38dh8NRYrtJkybRrl07atWqRWBgIHFxcTzxxBPO17Ozs3n44YeJiYnB19eXOnXq0KlTpxLfUxGpXJ5WByAiVV/t2rW5+uqrmTJlCnfccQdgXhDZ7Xauu+46JkyYUGL7nJwc+vTpw/bt23n22Wdp27Ytc+fO5cUXX2TVqlX89NNPgNkDYeDAgSxYsICnnnqKzp07M3/+fPr161cqhg0bNtC9e3caNWrE66+/TkREBL/99hv33XcfKSkpPP3006d1bh999BE+Pj7ceOONpKWl8eKLL/LRRx/Rs2dP5zYFBQX069ePuXPnMmrUKM4//3wKCgpYtGgRe/bsoXv37gAMHTqUTz/9lOHDhzNu3Di8vb1ZsWIFu3btOq3YAG699Vb69+/PJ598QlZWFl5eXuzfv5/Q0FBeeuklwsPDSUtLY9q0aXTt2pWVK1fSvHlzAA4fPkzPnj3ZtWsXjz32GF27diUzM5N///2XhIQE4uLiuPfeexk1ahRbt26ladOmzuNOnz6djIwMJaVERESqiJp8PXYyycnJdO/enby8PJ577jmio6P58ccfefjhh9m+fTvvvfceAF988QV333039957L6+99hp2u51t27axYcMG574efPBBPvnkE8aPH0+HDh3Iyspi3bp1pKamujxuESkjQ0TkBD7++GMDMJYuXWrMmTPHAIx169YZhmEYnTt3NoYOHWoYhmG0atXK6N27t/N977//vgEY//d//1dify+//LIBGL///rthGIbxyy+/GIDx1ltvldju+eefNwDj6aefdq7r27evERUVZaSnp5fYduTIkYavr6+RlpZmGIZh7Ny50wCMjz/++JTnt2vXLsNutxvXX3+9c13v3r2NgIAAIyMjw7lu+vTpBmB8+OGHJ9zXv//+awDGk08+edJj/ve8ijVu3Ni45ZZbnF8Xf+9vvvnmU55HQUGBkZeXZzRt2tR44IEHnOvHjRtnAMbs2bNP+N6MjAwjMDDQuP/++0usb9mypdGnT59THltEREQqVk2+Hive7tVXXz3hNo8//rgBGIsXLy6x/q677jJsNpuxefNmZwzBwcEnPV7r1q2NgQMHnnQbEalcGr4nImXSu3dvmjRpwpQpU1i7di1Lly49Yan4X3/9RUBAAFdffXWJ9cXD0/78808A5syZA8CNN95YYrsbbrihxNc5OTn8+eefDBo0CH9/fwoKCpyPSy+9lJycHBYtWlTuc/r4449xOBwlzuPWW28lKyuLmTNnOtf98ssv+Pr6nvB8i7cBXF5ZdNVVV5VaV1BQwAsvvEDLli3x9vbG09MTb29vtm7dysaNG0vE1KxZMy688MIT7j8wMJBhw4YxdepUsrKyAPPnt2HDBkaOHOnScxEREZEzUxOvx07lr7/+omXLlnTp0qXUeRiGwV9//QVAly5dOHToEIMHD+a7774jJSWl1L66dOnCL7/8wuOPP87ff//NkSNHXB6viJSPklIiUiY2m41hw4bx6aef8v7779OsWTN69ep13G1TU1OJiIjAZrOVWF+3bl08PT2dJdKpqal4enoSGhpaYruIiIhS+ysoKOCdd97By8urxOPSSy8FOO6Fx8k4HA6mTp1KgwYN6NixI4cOHeLQoUNceOGFBAQElJjdJjk5mQYNGmC3n/hPZnJyMh4eHqViP1P169cvte7BBx9k7NixDBw4kB9++IHFixezdOlS2rVrV+LiKjk5maioqFMe49577+Xw4cPMmDEDgIkTJxIVFcWAAQNcdyIiIiJyxmra9VhZpKamHvd6qEGDBs7XAYYMGcKUKVPYvXs3V111FXXr1qVr167Mnj3b+Z63336bxx57jG+//ZY+ffpQp04dBg4cyNatW10et4iUjZJSIlJmQ4cOJSUlhffff59hw4adcLvQ0FAOHDhQaqa4pKQkCgoKCAsLc25XUFBQahx/YmJiia9DQkLw8PBg6NChLF269LiP4ouhsvrjjz/YvXu3sz9TSEgIISEhREZGkpWVxaJFi5w9CMLDw9m/f3+pZprHCg8Pp7CwsFTs/+Xj41OquShwwl4G/72QBPj000+5+eabeeGFF+jbty9dunShU6dOpS4Ew8PD2bdv30njATjrrLPo168f7777Lnv37uX777/nzjvvxMPD45TvFRERkcpVk67HyiI0NJSEhIRS6/fv3w/gPA+AYcOGsWDBAtLT0/npp58wDIPLLruM3bt3AxAQEMCzzz7Lpk2bSExMZNKkSSxatIjLL7/c5XGLSNkoKSUiZRYZGckjjzzC5Zdfzi233HLC7S644AIyMzP59ttvS6yfPn2683WAPn36ADgrdIp99tlnJb729/enT58+rFy5krZt29KpU6dSj/9+uncqH330EXa7nW+//ZY5c+aUeHzyyScATJkyBYB+/fqRk5PD1KlTT7i/4magkyZNOulxo6OjWbNmTYl1f/31F5mZmWWO3Waz4ePjU2LdTz/9RHx8fKmYtmzZ4ixrP5n777+fNWvWcMstt+Dh4cFtt91W5nhERESk8tSk67GyuOCCC9iwYQMrVqwodR42m80Z/7ECAgLo168fTz75JHl5eaxfv77UNvXq1WPo0KEMHjyYzZs3k52d7fLYReTUNPueiJTLSy+9dMptbr75Zt59911uueUWdu3aRZs2bZg3bx4vvPACl156qbPH0cUXX8y5557Lo48+SlZWFp06dWL+/PnOpNCx3nrrLXr27EmvXr246667iI6O5vDhw2zbto0ffvihTImXYqmpqXz33Xf07dv3hEPU3nzzTaZPn86LL77I4MGD+fjjj7nzzjvZvHkzffr0weFwsHjxYlq0aMH1119Pr169GDJkCOPHj+fAgQNcdtll+Pj4sHLlSvz9/bn33nsBs7R87NixPPXUU/Tu3ZsNGzYwceJEgoKCyhz/ZZddxtSpU4mLi6Nt27YsX76cV199tdRQvVGjRjFz5kwGDBjA448/TpcuXThy5Aj//PMPl112WYmLuIsuuoiWLVsyZ84c55TLIiIiUjXVhOuxY61du5avvvqq1PrOnTvzwAMPMH36dPr378+4ceNo3LgxP/30E++99x533XUXzZo1A+C2227Dz8+PHj16UL9+fRITE3nxxRcJCgqic+fOAHTt2pXLLruMtm3bEhISwsaNG/nkk0/o1q0b/v7+pxW7iJwha/usi0hVduxsLyfz39leDMMwUlNTjTvvvNOoX7++4enpaTRu3NgYPXq0kZOTU2K7Q4cOGbfeeqsRHBxs+Pv7GxdddJGxadOm485St3PnTuPWW281IiMjDS8vLyM8PNzo3r27MX78+BLbcIrZXiZMmGAAxrfffnvCbYpnrJk1a5ZhGIZx5MgR46mnnjKaNm1qeHt7G6Ghocb5559vLFiwwPmewsJC48033zRat25teHt7G0FBQUa3bt2MH374wblNbm6u8eijjxoNGzY0/Pz8jN69exurVq064ex7x/veHzx40Bg+fLhRt25dw9/f3+jZs6cxd+5co3fv3qV+DgcPHjTuv/9+o1GjRoaXl5dRt25do3///samTZtK7feZZ54xAGPRokUn/L6IiIhI5aqp12PHbneiR/H7d+/ebdxwww1GaGio4eXlZTRv3tx49dVXjcLCQue+pk2bZvTp08eoV6+e4e3tbTRo0MC49tprjTVr1ji3efzxx41OnToZISEhho+PjxEbG2s88MADRkpKyknjFJGKYzOM/wwyFhERt9SpUydsNhtLly61OhQREREREXEDGr4nIuLGMjIyWLduHT/++CPLly/nm2++sTokERERERFxE0pKiYi4sRUrVtCnTx9CQ0N5+umnGThwoNUhiYiIiIiIm9DwPRERERERERERqXR2qwMQERERERERERH3o6SUiIiIiIiIiIhUOiWlRERERERERESk0qnR+XE4HA72799PYGAgNpvN6nBERETEQoZhcPjwYRo0aIDdrs/zTkbXUCIiIgJlv35SUuo49u/fT8OGDa0OQ0RERKqQvXv3EhUVZXUYVZquoURERORYp7p+UlLqOAIDAwHzm1e7dm2LoxERERErZWRk0LBhQ+f1gZyYrqFEREQEyn79pKTUcRSXm9euXVsXVCIiIgKg4WhloGsoEREROdaprp/UGEFERERERERERCqdklIiIiIiIiIiIlLplJQSEREREREREZFKp55SZ6CwsJD8/HyrwxAX8PLywsPDw+owREREREREaizdQ9ccrrqHVlLqNBiGQWJiIocOHbI6FHGh4OBgIiIi1MhWRERERETEhXQPXTO54h5aSanTUPzLVLduXfz9/ZXEqOYMwyA7O5ukpCQA6tevb3FEIiIiIiIiNYfuoWsWV95DKylVToWFhc5fptDQUKvDERfx8/MDICkpibp162oon4iIiIiIiAvoHrpmctU9tBqdl1Px+Fd/f3+LIxFXK/6ZaoyziIiIiIiIa+geuuZyxT20klKnSeWGNY9+piIiIiIiIhVD91s1jyt+pkpKiYiIiIiIiIhIpVNSSs7Ieeedx6hRo6wOQ0RERERERKTK0z10SWp07iZOVVZ3yy23MHXq1HLv9+uvv8bLy+s0oxIRERERERGpenQPXTmUlHITCQkJzuWZM2fy1FNPsXnzZue64s75xfLz88v0i1KnTh3XBSkiIiIiIiJSBegeunJo+J6biIiIcD6CgoKw2WzOr3NycggODub//u//OO+88/D19eXTTz8lNTWVwYMHExUVhb+/P23atOHzzz8vsd//lh5GR0fzwgsvcOuttxIYGEijRo344IMPKvlsRURERERERE6f7qErh5JSLmAYBtl5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1Cjee+89evTowf/+9z/69evHhg0baNSoUantAwICGDlyJG3btiUgIIB58+Zxxx13EBAQwO23315i2927d/Pwww/Tq1evyjqd0xIZ4seGhAxVSomIVHG6h655XHkPbXlS6r333uPVV18lISGBVq1aMWHChJNeBL377rtMnDiRXbt20ahRI5588kluvvnmEtvMmjWLsWPHsn37dpo0acLzzz/PoEGDXBKv3W4nJiaGhIQE9u/f75J9StXg7+9Po0aNsNtV/SHyX9+v3s+SXWn4eXnw5KUtrA5HxO298cYbDB8+nBEjRgAwYcIEfvvtNyZNmsSLL75YavsOHTrQoUMH59fR0dF8/fXXzJ07t0RSqrCwkBtvvJFnn32WuXPncujQoQo/l9NVXCm1T83ORUSqNN1D11yuuIe2NClV3k/5Jk2axOjRo/nwww/p3LkzS5Ys4bbbbiMkJITLL78cgIULF3Ldddfx3HPPMWjQIL755huuvfZa5s2bR9euXV0St7e3N40aNaKgoIDCwkKX7FOs5eHhgaenpzL2IseRmVvACz9vBOCePk2cDYZFxBp5eXksX76cxx9/vMT6iy++mAULFpRpHytXrmTBggWMHz++xPpx48YRHh7O8OHDTzocsFhubi65ubnOrzMyMsp0fFeIKp6BT5VSIiJVnu6hax5X3UNbmpQq76d8n3zyCXfccQfXXXcdALGxsSxatIiXX37ZmZSaMGECF110EaNHjwZg9OjR/PPPP0yYMIHPP//cZbHbbDa8vLzw8vJy2T6l5tmRnMm7c7bTJy6cS1vXx25X0kuqn3f+2sqBjFwah/ozoles1eGIuL2UlBQKCwupV69eifX16tUjMTHxpO+NiooiOTmZgoICnnnmGec1GMD8+fP56KOPWLVqVZljefHFF3n22WfLFb+rHO0ppaSUiEh1oHtoOR7LxikVf8p38cUXl1h/sk/5cnNz8fX1LbHOz8+PJUuWkJ+fD5iVUv/dZ9++fcv8yaGIq+QXOrjns5XMWrGPkZ+t5Ip35/HvlmQMw7A6NJEy256cyZR5OwF46rKW+Hp5WByRiBT77yeThmGc8tPKuXPnsmzZMt5///0SH9gdPnyYm266iQ8//JCwsLAyxzB69GjS09Odj71795b/RE5TpCqlREREqj3LKqVO51O+vn37MnnyZAYOHMjZZ5/N8uXLmTJlCvn5+aSkpFC/fn0SExPL/cmhlaXnUnN98O8ONiZkEOjriWHAuvgMbp6yhG6xoTx6SXM6NAqxOkSRkzIMg3E/bCC/0KBP83AuaFHv1G8SkQoXFhaGh4dHqWubpKSkUtdA/xUTEwNAmzZtOHDgAM888wyDBw9m+/bt7Nq1y1l5Dkdn1PH09GTz5s00adKk1P58fHzw8fE501M6LcWVUkmHc8ktKMTHU0lzERGR6sbyjs7l+ZRv7Nix9OvXj3POOQcvLy8GDBjA0KFDAXM84+nsE8zS86CgIOejYcOGp3k2IqZtSZm89cdWAJ4b0Jp/HjmP4T1j8Paws3BHKoPeW8Dt05ex9cBhiyMVObE/Nibxz5ZkvD3sPHV5K6vDEZEi3t7edOzYkdmzZ5dYP3v2bLp3717m/RiG4fxQLi4ujrVr17Jq1Srn44orrqBPnz6sWrWqSl4b1QnwxtfLvJRNOJRjcTQiIiJyOixLSp3Op3x+fn5MmTKF7Oxsdu3axZ49e4iOjiYwMNBZah4REVHuTw6tLD2XmsfhMHhs1hryCh30aR7OgPYNCK3lw9jLWjLnkfO4pmMUdhv8vuEAfSf8y8NfrmbfwWyrw67x8goc/L05ib1p+l6XRU5+IeN+XA/A8F4xxIQFWByRiBzrwQcfZPLkyUyZMoWNGzfywAMPsGfPHu68807AvLY5dnbid999lx9++IGtW7eydetWPv74Y1577TVuuukmAHx9fWndunWJR3BwMIGBgbRu3fqMpnquKDabTX2lREREqjnLhu8d+ynfoEGDnOtnz57NgAEDTvpeLy8voqKiAPjiiy+47LLLnFMQduvWjdmzZ/PAAw84t//9999P+smhlaXnUvNMX7iL5bsPEuDtwfOD2pSo0osM9uPVa9pxR+9YXvttC7+uT+Sr5fv4ftV+bjqnMff0aUJoLf1bdLXM3AJum7aMhTtSAXPGpm6xoXRrEso5saGaTe44Pvh3B3vTjhBR25eRfc6yOhwR+Y/rrruO1NRUxo0bR0JCAq1bt+bnn3+mcePGACQkJLBnzx7n9g6Hg9GjR7Nz5048PT1p0qQJL730EnfccYdVp+ASkSH+bE/OUl8pERGRaspmWNh1eebMmQwZMoT333+fbt268cEHH/Dhhx+yfv16GjduzOjRo4mPj2f69OkAbNmyhSVLltC1a1cOHjzIG2+8wezZs1m+fDnR0dEALFiwgHPPPZfnn3+eAQMG8N133zFmzBjmzZtH165dyxRXRkYGQUFBpKenU7t27Yo6famB9qZl03fCv2TnFfLcwNYMOafxSbdfuecgr/y62ZksCfD2YESvWEb0iiHQV7NSuMLBrDyGfryE1fvS8fa0U+gwKHSU/LPXONSfbrFmgqpbk1Dq1fY9wd7cw76D2Vz4xj/k5Dt4e3AHrmjXwOqQRCyl64Kyq+zv1eiv1/L5kj3cd0FTHryoWYUfT0RERMqmrNcEllVKQfk/5SssLOT1119n8+bNeHl50adPHxYsWOBMSAF0796dL774gjFjxjB27FiaNGnCzJkzy5yQEjldhmHwxDdryc4rpEt0HW7s0uiU7+nQKITPbuvKvG0pvPLrZtbGp/PWn1v5ZNFu7ulzFjd2baTZzs5AYnoOQz5azNakTEL8vZh2axdiw2uxbFcaC3eksmh7Kmvj09mdms3u1Gy+WGoO3Y0NC6Crs5KqDnUD3StJ9cLPG8nJd9A1pg6Xt61vdTjuLScDvPzBw9L/rqu+XfOgXmvwC7Y6EqlkUZqBT0REpFqztFKqqtInonI6vlq+j4e/XI2Pp51f7u9FbHitcr3fMAx+WZfIa79tZkdKFmAO97v/wqZc2SESTw/L5yWoVnanZnHTR4udQ9A+Gd6FpvUCS213OCefpbvSWLg9lUU70li3P53//lVsEh5AtyahdIsNo2tsHcJq8BDLTxbtZuy367Db4Kf7etGivv4GWmbXPPj0KggIh56joP1N4OVeCdIyycuC1+OgMB9u+wvqtXT5IXRdUHaV/b36dmU8o2au4pzYOnxxe7cKP56IiIiUTbWolBKpKZIO5/DcjxsAeOCiZuVOSIHZsPXSNvW5uGU9vlq+jwl/bCX+0BEe/WoNH/y7g4cvbk7fVvVOOpOkmDYnHuamjxaTfDiXxqH+fDq8Kw3r+B9320BfL86Pq8f5ceZkCOlH8lmyM41FO1JZuD2VjYkZbE/OYntyFp8uMis3m9Wr5exJ1SUmlDoBVa8B8On48N8dPP/zRgDu6XOWElJWysmAb+6EghxI3ws/PQT/vAo97oOOQ8Fbjeed1n4FuRkQEg3hcVZHIxXJMODQHqhVz5mgjQxRo3MREZHqTEkpERd45vv1pB/Jp3VkbUb0jDmjfXl62Lm+SyMGdohk+sJdvPf3drYlZXLnp8tp1zCYxy5pTvcmYS6KvOZZuecgQz9eSvqRfOIiApk+vEu5ht8F+XlxUct6XNTSTFIdys5j8c7iSqpUNiUeZsuBTLYcyGTawt0AxEUEOpumnxMTSpB/9eoHZhgG7/y1jTdmbwHgnj5N1JvFar+ONpNRIdHQ9U5Y8A5kxMNvT8DcN6DbPdB5BPi6eeLQMGDpZHO5061gV0Vpjfa/cyFxDdzyA8ScC+CcfS/hUA6FDgMPuz64ERERqU40fO84VKYv5fHrugTu/HQFnnYb34/sScsGrv03k5GTz4f/7mDy3J0cyS8EoFfTMB7tG0ebqCCXHqu6m78thdumLyM7r5AOjYL5eGhngv1dW8WUlpXH4h2pZk+qHalsOZBZ4nUfTzvPD2rD1R2jXHrcimIYBq/8tplJf28H4OGLmzHy/KYWR+XmNv0EX9wA2GDYL9C4GxTkwerPYd4bcHCXuZ1vEHS9C7reAf51rIzYOvuWweQLwMMHHtwIAaEVchhdF5RdhX6vvrgRNv0IF4+H7vcCUOgwaD7mFwocBgtHn0/9IM2mKiIiUhVo+J5IJUjPzmfsd+sBuLN3E5cnpABq+3rx0MXNGdKtMe/+tY3Pluxh7tYU5m6dR/+29XnoNIcL1jS/rU/k3s9WklfooOdZYfxvSEcCfFz/J65OgDf92tSnXxuzAXhKZi6LihJU87elsjMli4e/XM3WpMM82jeuSn9q73AYjPtxA1MX7AJgTP8WjOgVa21Q7i4rBX6431zucZ+ZkALw9IaOt0D7G2HdV/Dva5C6Ff55CRa+C11GwDn3QK1w62K3wtKPzOdWgyosISVVSP32ZlIqYY1zlYfdRkSQL/sOHiH+4BElpURERKoZJaVEzsDzP28g+XAuTcIDGHn+WRV6rLqBvjw7oDXDe8by5h9b+HZVPD+tSeDXdYlc1rY+MWEB1AnwJtjfmxB/L0L8vQkJ8KaOvzd+3jV7Br9Zy/fx6Kw1FDoMLmkVwVuD2+PjWTnnHFbLh8vaNuCytg1wOAzemL2FiXO28b9/drA9KYsJ17enVgUkx85UocPgyW/WOmccHD+wNTed09jiqNycYZgJqaxkqNsS+jxZehsPT2h3PbS5BjZ+byanDqyDeW/Coveh0zDofh/UdoNZE7PTYN0sc7nzcGtjkcpRv635nLimxOrIYD8zKXXoCJ0sCEtEREROX9W7UxKpJuZtTeH/lu3DZoOXr2qLr1flJEEahfrz5nXtuaN3LK/9tpk/Nibx3ar9J32Pj6e9ZMIqwHyu41+0LqAoieXvXbSdF7V8PKtFU/Wp83fyzA9mk/mrO0bx0pVtLJup0G638XDf5jStV4tHvlrDHxsPcPWkBUy+pRNRIcdvtG6FgkIHD3+5mm9X7cdug1eubldthhvWaGtmmlUgdi8Y9D/wPMksj3YPszqoxQDY8iv8+wrsXwmL3jN7LHUYYs7YF9yo0sKvdKtmQGEuRLSBqM5WRyOVIaIoKZWyBfKywdv8uxoZ4gc7Yd9BNTsXERGpbpSUEjkNWbkFPP61+UntLd2i6RRd+f1c4iJqM/mWzizfncacTcmkZedxMCuPg9l5HMrOJy3LfM4rdJBb4CAhPYeE9Jwy79/Lw1ai6qplg9rc1iuWBsFVY2jEf5tz39ojhjH9W2CvAsPlBrSPpFEdf26bvpxNiYcZ+O58/jekIx0bW9/3J6/Awf1frOSXdYl42m1MuL49l7VtYHVYkr4Pfn7EXD7v8aMVIadit0PcpdC8H2z/C/59FfYshGUfwYpp0PZ66PUghDapuNit4HAcHbrXaThUgwS6uEBgBASEm9WEB9ZDQzMZGRWsGfhERESqKyWlRE7Da79vZt/BI0QG+/FI3+aWxtKxcZ0TJjsMwyArr9CZrDqYnX+C5TwOZuU7l3PyHeQXGiQfziX5cC4Ai3emMWPRHq7v0pC7zzuLiKCyz2jnaoZhMP6njXw0bycAD1zYjPsuOKtKVXZ1aBTC9yN7MGLaMjYkZDD4g8W8eGUbrrKwIiknv5C7Z6zgr01JeHvYeffGs52zDIqFHA749m7IzTArfnqMKv8+bDY46wLzsWuemZza8Tes+hRWfwatr4JeD0HdFq6O3ho75sDBneBT2xzKKO7BZoP67WDbH5C42pmUigwpSkqpUkpERKTaUVJKpJyW7z7obAz9wpVtKqSZtqvYbDZq+XhSy8eThnXKPnzsSF5hiWRVcmYOM5fuZdGONKYv3M0XS/dyQ5dG3H1eE+rWrtzkVEGhg9Ffr+XL5fsAePrylgzrEVOpMZRVg2A/vrqrGw/MXMVv6w/w0Jer2ZqUyaN9m1d6RVd2XgG3TV/G/G2p+HrZ+WBIJ85t5mZNsauqpR/Czn/Ay98ctudxhn9Tonuaj71LzJ5TW3+DtV+ajxaXw7mPmDf21VlxlVS768FHEz24lYi2ZlLqmGbnkcHm/2+qlBIREal+rGm8IlJN5RYU8tisNRgGXHV2FL1r6E29n7cHDYL9aNUgiJ5NwxjUIYovbu/GZ7d1pUt0HfIKHExdsIter8xh3A8bSDpc9mGBZyK3oJCRn63ky+X7sNvgtWvaVdmEVDF/b08m3diRkX3MRvjv/7OdOz5dTlZuQaXFcDgnn5s/WsL8bakEeHswdVgXJaSqipStMPtpc/mica4dZtewC9z4f3DHv9DiCnPdxh/gf+fCjGth71LXHasype+DLb+Yy53U4NztHKfZ+bGVUoZhWBGViIiInKaqW+IhUgW9+9c2tiVlElbLm7GXlXEYzJGD4BNk9n6p5ro3CaNbbCgLtqfyxuwtLN99kCnzd/LZkt0MOacxd/RuQlitkzRnPgPZeQXc8cly5m5NwdvDztuDO3BJ64gKOZarFTdAP6tuLR6dtYbZGw5wVSU1QD+UncfNU5awZl86tX09mXprF85uFHLyN+WkmzObVXf+dcA3yOooTqywAL65AwqOQGwf6DyiYo5Tvx1c9wkkbYS5r5sz1m39zXzE9Ibej5qVVdXF8qlgOKBxT6gbZ3U0UtmKq/wOrIfCfPDwon7RcPIj+YUczM6nToC3hQGKiIhIeSgpJVJGGxMyeO/v7QCMG9CaYP+TXPQahtnz5N/XYPd88KsDjbsffdRrc+ZDdCxis9nocVYY3ZuEMndrCm/+sYWVew7x4dydfLpoDzd3b8wd5zZx6U1BenY+t05byvLdB/H39uCDIZ3o2TTMZfuvLAM7RNIo1J/bSzRA70THxqdIEp2mlMxcbpq8mE2Jh6kT4M30W7vQOvIUSZrU7fBeN3NWs+rO0xcGvAttrrY6kuOb9ybELzeT1gPerfhm3XVbwFWT4bzRMO8NWP2FOWxw5z/Q//WKS4q5UkEerJhuLndWlZRbCo42e4nlZkDyZohoja+XB+GBPiQfziX+4BElpURERKqR6nlXLFLJCgodPDZrDQUOg0taRXBpm/rH39AwYMtvZpPh+GVH1x9JM6d63/Sj+bV3IDTqCo17mI8GHcCzel1E22w2zm0WTq+mYfy9JZkJs7ewel86//tnB58s3M0t3aO5vVcsIWd4c5B8OJchH5mJlSA/Lz4e1vnUlT5V2NmNQviuqAH6xoQMBn+wiJeuasOVZ7u2AXpieg43Tl7E9uQswgN9mDGiK83qBZ76jbvmmQkpm4eZ1KmuDIdZgfT1bWY1RfvBVkdU0v5V8M9L5nL/1yAosvKOHdrETIL1fgzmvACrP4e/noe214FPGf6NWGnTj5B5AALqQtxlVkcjVrDbIaKN+YFP4hqIaA1AZLCfmZQ6lE2bqCpcISkiIiIlKCklUgZT5u90Dn8aN6BV6Q0cDtj4vVkZdWCtuc7TFzoOhXPugsxk8wJ69wLYswhy081Grdv+OLptVOeiJFV3c9m7Yod1uYrNZqNP87qc1yycvzYl8eYfW1gXn8Gkv7czfcEuhvWIYUSvmJNXlp3AvoPZ3DR5MbtSswkP9OGT4V2Ii6hdAWdRuSKD/fjqTrMB+u8bDvDg/5kN0B+52DUN0PemZXPj5MXsScumQZAvM247h5iwgLK9OWWL+dzlduj30hnHYhmHA36836yq+fYuKMyDjrdYHZUpP8cctucogJYDrJs9LrgRXDER9i2F1G2w6H3o/Yg1sZTVsinmc8dbql0iX1wooq35f2rCamh/A2D2lVq19xD7NAOfiIhItaKklMgp7ErJ4vXfzRv1MZe1LDnbXGEBrP/aTEalbDbXeQVAlxHQbSTUqmuuC4k2p67uOQochWYvjN0LjiaqslNg11zzAWD3MqunGnc3E1WNulbt3jiYyakLWtTj/Li6/LExiTdnb2FDQgYT52xj2oJdDOsZw/CeMQT5eZVpf9uSDnPT5CUkZuTQsI4fnw7vSuPQMiZWqoEAH0/ev6kjr8/ezLtztjPp7+1sS8pkwnXtz2hGx50pWdz44SL2p+fQqI4/M0Z0LdfMiyQX/TsOb3baMVQJdjtc9hZ4+Jiz2/1wn5mY6nKb1ZHBnPGQvMms9un/ZsUP2zsZD09zON+s4bDgHfNvl18VrURM3mz+jbTZzYS/uK/ivlLHzMAXFVzU7Fwz8ImIiFQrSkqJnITDYfDYrDXkFjjoeVYY13QsGmJVkAdrvoC5b8DBneY6nyDoeodZGeVf58Q7tXuYswfVbwvn3GkO+UvZcjRBtWs+HN4P+5aYj/kTzJuwiDZHK6kadYeA0Ao//9Nhs9m4qGU9Loiry+8bDjDhjy1sSjzM239u5eP5OxneM4Zbe8ZQ2/fEyal18encPGUJaVl5NK1bi0+GdyUiqBoPJTsBu93GI33jOKtuLR6btZbZGw5w9fsLmXxLJyKLbrDKY8uBw9w4eTHJh3NpEh7AjBHnlP/7VlwpFda83Mevcux2uPRV8PSBhRPh54ehIBe6j7Qupl3zYcFEc/mKd6rG73GrK80G6EkbzNguGGt1RMe39CPzuVk/CHLtcFepZpwz8K01qyLt9hIz8ImIiEj1oaSUyEl8vnQPi3em4eflwYtXtsFWkAsrP4H5b0H6XnMjvzrQ7R6zAuN0qplsNghvbj463WomqQ7tLllJlbbDHKaQsBoWvWe+LzzuaCVVdE8IrFoz0dntNi5pHcHFLevx6/pEJvyxhS0HMpnwx1amzNvJbb1iGdojmsD/JKcW70hlxLRlHM4toG1UEFOHdanxTWsHdYiiUZ0A7vjE7DM1YOK8cjdAPzaRFxcRyKcjupZ/JsT8I3Boj7kcVs0rpYrZbHDxeDMxNfd1+P1JKMiBcx+u/FhyD8O3dwIGdBgCzS+p/BiOx26HPk/AzJtg0SQzsR5QxSYSyMsye18BdL7V2ljEemHNzCrIvMPmB0OhTZyJfFVKiYiIVC9KSomcQEL6EV78eRMAoy9sRMNNU8zhLZmJ5gYBdaHHfdBxGPjUct2BbTZzuF9ItLNXBhn7i5JURY/kjebwn+RNZo8Vmwf0GQ09HzQrsaoQu93GpW3qc0mrCH5am8Bbf25lW1Imr8/ewkfzzeTULd2jqeXjyZxNSdz56XJyCxycE1uHD2/uVCppVVN1bBzCdyN7lmiA/vLVbRjU4dQVISv3HOSWKUvIyDETedNv7XJaPbxI3QYY5vCtqpaUOBM2G1zwlNm7bc7z8Ndz5lC+80ZX7tC5354wk37BjaDvC5V33LKIu8wcEpWw2qzOvHi81RGVtPZLc7a1kBiIPd/qaMRqHl5QrxXsX2H+mw1tcrRSSkkpERGRakVJKZHjMAyDJ79ZB7kZPBc6l5sW/wjZqeaLtaPM3lAdbgKv8g+xOi21G5jT2hdPbZ+VCnsWFg33+9ccwvDXeNjxD1z5gbl9FWO327i8XQMubVOfH9fs560/t7IjOYtXf9vM5Lk76N+2Pl8s2UuBw+DCFnWZeMPZ+HpVrQRbRftvA/QHZq5m64FMHj5JA/RFO1IZPnUpWXmFdGocwpRhnU86NPKkivtJhTWzts9RRen9qHkz+8cz8M/L5lC+C5+pnHPd/KvZdB0bDJwEvlWsYb/NBuePhRlXw5IPzZ54VaX60jBg6WRzudOtZmWXSP22ZlIqcQ20vtJZKXUoO5+s3IIz6s0nIiIilUdXdiLH8cvSDbTb9h7zfe5nSNY0bNmpZuXS5W/DfSvNoXqVlZA6noBQaHEZXPIC3DEXBr5vNljfNRcm9YDNv1gX2yl42G0MaB/J7Ad68+Z17YgO9edgdj6fLtpDgcNgYPsGTLqpo9slpIoVN0C/+7wmALz393bu/HQ5WbkFpbb9d0syQz9eQlZeId2bhDJ9eJfTT0gBpGw1n2vK0L3j6fkAXFI0q+D8CfDraDPpUZGyUuH7e83lbveYw22rorMuhIZdzeGNc1+3Opqj9i0zE+8ePuaHASJgzsAHzmbngb5e1PY1E1GqlhIREak+lJQSOVZmMkd+HkPvn8/nfs+vCbJlmTfogz6Akcur5jTkNhu0Hwx3/GtepB9Jg8+vh18eM6eer6I87DYGdYjijwd789o17WgXFcSdvZvwxrXt8fJw7z9NdruNRy+J441r2+HtYef3DQe45v2F7D/mRmv2hgOMmLaMnHwHfZqHM2VoZ/y9z7AyIOWYSqma7Jy7oP8b5vLiSfDTg2az5IpgGPDTA5CVZPaBO7+KNhGHomqpMebyso+P9hez2rKiBuetrzz5JBLiXpwz8K12JpYjQ8yZRtXsXEREpPpw7zs/kWIZ+82KiQlt8FvyDgHksMMeTf6VH8Pdi6DddebU6VVZ2Fkw4g9z2A3A4vdh8oWQvMXauE7B08PO1R2j+G5kTx7vF3fCYWru6Mqzo/j89nMIq+XNhoQMrpg4nxV7DvLjmv3c9ely8god9Gsdwf+GdHJNZVlxpVR4DZh571Q6D4cB7wI2sy/b9/eCo9D1x1n7FWz4DuyeMOh98Kris0jGnAvRvcCRD/++anU0kJ0G6742lzsNtzYWqVrqtTL7KWanwOEEAOcQvn2qlBIREak2lJQS93ZwN/z4ALzVzpzVruAIqxyxjMh/iMND/8ar7ZVVrnH4SXn6QN/n4YYvwT8MDqyFD3rDik8qfoiSVIiOjUP49p4exEUEkpKZy/X/W8R9n690DnV8Z3AHvD1d8KfcUegew/eO1eEmswebzQ6rPoVv7oTC0sMkT1t6PPz8kLnc+zFo0MF1+65IxdVSK2dA6nZrY1n5KRTmmlWgUZ2sjUWqFi+/o3+riobwRRU3O1ellIiISLWhpJS4r9Tt8G4Xs0qiMI+CqHO4z/MpBuY9R2yPa2jXKMTqCE9fs4vhrvkQ0xvys+H7kfDVrZCTbnVkchqiQvyZdVd3LmpZj7xCBw4Dru/ckNevbY+nq4Y6Htpt3vx7+Jizw7mLttfC1VPMSqa1/wezboXC/DPfr2HAd/eYv3ORHc2ZMauLRufAWReBUQj/vGJdHA6H+fcZzMq2mth8X85M/aK+UolmUqq4Uko9pURERKoPJaXEfe2ebzb0DYmBoT/xdOhrfJ8ZR3RoAA9cWAMqRQIjYMi35uxidk9Y/zW83xP2LrU6MjkNAT6e/O+mjjx7RSueubwlL17ZBg9XDnV0Vkk1rV7Vga7QahBcOx3sXuZQu/+72ZyZ70wsnQw75oCnrzkRQVUf/vtf5z9pPq+ZCUmbrIlhx19wcCf41IY211gTg1Rtx/aVAiKdlVLZVkUkIiIi5aSklLivAxvM5+aXsrCwBTMWm019X7yyLX7eNeSm3G43Zxsb9isENzYbF0/pC3PfqLjGzlJh7HYbt3SPZmiPGGyurhpJLm5y3tS1+60u4vrD4M/NSrHNP8MXN0L+aVZbpG6H2U+Zyxc+C+HVMMndoAPEXQYY8PeL1sSwtKjBebvB4B1gTQxStf1nBj5VSomIiFQ/SkpJlVToMPjg3+2M+mIlr/62ic+X7GHu1mR2pWSRV+CiZMqBdQDkhbVg9NfmBe0NXRvRrUmoa/ZflTTsDHfOhdZXmUNy/nwWPhkIhxOtjkyqipSihvhhbtDk/ESaXgQ3/h94+sG22fDZdZCXVb59FBaYvanys82m4V1ur5hYK0OfJwAbbPjWedNfaQ7thS2/msud1eBcTiCijfmcvgey05yVUkmHc113rSAiIiIVqpqNJxB3kJVbwL2fr+SvTUnHfd1mg4javkSF+BEV4k/DoueoED8a1vEnIsgXr1P12TEMOLAegE931mJXajYRtX15vF+cq0+n6vANgqs+gibnw8+PwM5/YFJ3c2hRs4utjk6s5kxKuWmlVLHY8+CmWfDZtebvyKdXm4kqn8CyvX/BW7BviTnkbMB7ZrVidVWvFbS+EtbNgjkvwA1fVN6xl08Fw2HOBOgOs0HK6fELLqoC3g2JawmNORdfLzs5+Q4S0o/QOFQVdiIiIlWdklJSpSSm53Dr1KVsSMjAx9POiF4xZBwpYN/BbPYdPMLeg9lFF5s5JKTnsHTXwVL7sNugfpDf0aRVnf8krWr74pGZCEfSMGx2Xllhvm/8wNbU9vWq5DOuZDabOeNYVBez8fmBtfDZNXDO3WbvKU8fqyMUKxjG0eF7SgBAdA8Y8g18ehXsWQCfDIIbvzJvgE8mYQ3MKRrq1u9lCG5Y4aFWuPNGw/pvYMsvsG85RHWs+GMW5MGK6eayqqTkVOq3M5NSCauxxfamQbAfO5KziD+opJSIiEh1oKSUVBnr96czfOoyEjNyCKvlzYc3d6LDf2bAMwyD1Kw8M0GVdjRRte/gEWfiKq/AQfyhI8QfOsLinWmljuNptzEgcAOvA7toQI7hzRXtGnBhy3qVdKZVQHgzGPEH/PEMLJ4Ei96DXfPg6o8h7Cyro5PKlpUCOYcAG4Tq5w9Awy5w83dmQmrfUpg+wExU+dc5/vYFufDNHeDIN3sxtRtcufFWlLCm5rmsmgFzxpvfg4q26UfISoJa9Yr6WomcRP22sPH7EjPw7UjOYp/6SomIiFQLSkpJlfDXpgOM/Gwl2XmFNK1biylDO9Owjn+p7Ww2G2G1fAir5UP7hsGlXnc4DFIyc9l7TJJq38Fs9qaZz/GHjpBfaBCWuQ28YF1BFCH+Xjx9ectKOMsqxssX+r1kDlf69i7zgv5/58Klr0L7GzT9ujtJKaqSCm4EXn7WxlKVRJ4NQ380E1IJq2Da5WaiKiCs9LZznoekDeAfBpdNqFm/P70fNWfh2/4X7JpvVpJVpOIG52ffAh41vHpVzlxE8Qx8ZlIqyjkDn5JSIiIi1YGSUmK56Qt38cz363EY0OOsUN67sSNBfqd3I2K326hb25e6tX3p2Dik1OuFDoOkwzl4fzcTdkB4k458clFXQmu58bC15pfAXfPh69th11z47m5zKvv+b4Bvbaujk8pQ3E9KQ/dKi2gDQ3+CaVeYkyNM7W8mpgIjjm6zeyHMf9tcvuJtqBVuTawVJSQazr4Zlk2Bv8bDsJ8rLumWtAl2zwObHTreUjHHkJqlftEMfClbIC9LM/CJiIhUM9W4A6tUd4UOg3E/bOCp78yE1HWdGjJ1WJfTTkiVhYfdRv0gP0KztgNwTrdetI4MqrDjVRu1G5g32uePBZsHrP0S/tfL7CEjNV9ycZPzZtbGUVXVbQHDfoHABpC8CT6+FNLjzddyM+HbOwED2t0Acf0tDbXC9HoYPHzMHls75lTccZYVVUk1vxSCoiruOFJzBEaYQz0xJzCJVKWUiIhItaKklFgiO6+AOz5ZzpT5OwF49JLmvHRVm1PPmucKBXlHmzrXa1Xxx6su7B5w7sPmzXdQIzi4C6ZcDPMmgENTa9doKUpKnVLYWWaFUFAjSNsOH/eDg7vh9zHm70rtKHM4bE0VFHm06fhf483m+K6Wmwmri2b463Sr6/cvNVdEUbVUwmoig82h/6qUEhERqR6UlJJKdyAjh2v/t5A/Nh7A29POxBs6cPd5Z2GrrB4sqVvNZsQ+tSGoBsyO5WqNusKdc6HlQHAUwB9Pw6dXwuEDVkcmFUVJqbKpEwPDfoKQGHO2rw/Ph+Ufm68NfA98a3jVZc8HwMsf4pfDlt9cv/+1X0JuBtSJhdg+rt+/1FzFQ/gS1zgrpRLSj+BwVEDyVERERFxKSSmpVBsTMhj07nzWxWdQJ8Cbz287h8vaNqjcIA6sN5/rtapZzYhdyS8YrpkKl78Nnn7mcJ3JF0JettWRiavlZUH6XnNZPaVOLbiRWTEV2hSyU8x1Xe+C2N7WxlUZatWFLreby3PGu7aC0jCODt3rdCvYdXki5VC/uNn5auoF+uBht5FfaJB0ONfauEREROSUdNUnlebvzUlc8/5C9qfn0CQ8gG/v7nHcZuQV7sA681lD907OZjMbDd/xDwTWh/Q9sP5rq6MSV0vZaj77h4F/HWtjqS5qNzCbn8eca1b0XPi01RFVnh73g3cgJK6Fjd+7br/7lpr79PSF9je6br/iHoqH7yVtxJNCImr7AhB/SB+kiIiIVHVKSkml+HTRboZPW0ZmbgHdYkP5+q4eNAr1tyaYYyul5NTCm0PXO8zlpZOtjUVcT0P3Tk9gPbjlB7j5W/DyszqayuNfB7rdYy7PeQEcha7Z79KiKqlWVyo5KuUXEg0+QVCYB8mbnEP49qnZuYiISJWnpJRUKIfD4PmfNjDm23UUOgyu7hjFtFu7EORfcTPsnZIzKdXauhiqmw5DwMMb9q+E+BVWRyOuVJyUCldSSsqo293gGwwpm2HtV2e+v6zUo1WYnUec+f7E/dhsENHGXE5YTVRw0Qx8anYuIiJS5SkpJRXmSF4hd89YwYdzzRn2Hr64Ga9e3RZvTwv/2WWnweEEc7luC+viqG4CwszG53C074vUDMUzUapSSsrKN8gcxgfw94tQmH9m+1v1qVnhUr8dRJ595vGJe3L2lTra7DxelVIiIiJVnpJSUiGSDudw/QcL+XV9It4edt66vj0jz29aeTPsnUhxlVRwY/AJtDaW6qZ4Ovi1s+DIQWtjEdcp7ikVpibnUg5d74CAcDi4E1Z/fvr7cThg2RRzufMITT4hp+/YGfhUKSUiIlJtKCklLrflwGEGvbuA1fvSCfH3YsZtXRnQPtLqsEwaunf6GnY1v28FR2DVGdyEStVRWACp28zlsKbWxiLVi3cA9HzAXP7nFSg4zVnOtv8FB3eZ/YBaX+Wy8MQNFTc7T1xLZLAPoEopERGR6kBJKXGpeVtTuOq9BcQfOkJMWABf392DztFVqGmtZt47fTabOVU7mEP4DMPaeOTMHdoNjnzw9IOghlZHI9VNp1uLZubcCyumn94+iocDtx9sJrpETldYM3P2xrxMom2JgFkpZej/KhERkSpNSSlxmS+W7GHox0s4nFtAl+g6fH1Xd2LCqthNhmbeOzNtrwXvWmZ1zc5/rI5GzpSzn9RZYNd/B1JOXn5w7sPm8r+vQl52+d5/aC9s+dVc7jTctbGJ+/HwdP7fXi/bnMAhO6+QQ9ln2PNMREREKpTuQuSMORwGL/+6ice/XkuBw2Bg+wZ8MqILIQHeVodWkqMQkjaayxq+d3p8AqHd9eby0snWxiJnLqU4KaV+UnKaOtwMQY0g80D5J0FYPhUMB0T30uyP4hpFQ/i8k9YRVqtoCJ/6SomIiFRpSkrJGcnJL+Tez1cy6e/tANx/QVPevK49Pp4eFkd2HGk7zX5Inn5QJ8bqaKqv4oqGTT9Dxn5rY5EzU9zkPFxJKTlNnt5w3mPm8rw3Ifdw2d5XkAcrppnLnUdUTGzifo5tdl40A98+9ZUSERGp0pSUktOWkpnL4A8X8dPaBLw8bLxxbTseuKiZ9TPsnUhS0dC9unFgr4JJs+qiXkto1B2MQlg+zepo5Ew4h++pybmcgbbXQ50mkJ0Ki/9Xtvds+gGykqFWBMT1r9j4xH3Ub2c+J6wmKsgXUKWUiIhIVaeklJyW7cmZDHpvPiv3HCLIz4tPhnflyrOjrA7r5NRPynU6F1VLrZgGherXUS0ZxtFKKQ3fkzPh4Ql9njCXF7wNRw6d+j1Li4b6dbwFPLwqLDRxM3Vbgc0DslOJq5UJaAY+ERGRqk5JKSk3wzC47/OV7E07QuNQf76+uzvnxIZaHdapOZNS6id1xlpcDgHhcDgBNv9sdTRyOjIPQG462OwQ2sTqaKS6a3UlhLeAnHRY+O7Jt03aCLvnm8mDs2+pnPhqqPfee4+YmBh8fX3p2LEjc+fOPeG28+bNo0ePHoSGhuLn50dcXBxvvvlmiW0+/PBDevXqRUhICCEhIVx44YUsWbKkok/Ddbx8ncORW7ITgPhD5WzALyIiIpXK8qRUeS6oAGbMmEG7du3w9/enfv36DBs2jNTUVOfr+fn5jBs3jiZNmuDr60u7du349ddfK/o03MrCHams35+Bn5cHX97ZjSbhtawOqWwOrDOfVSl15jx9oMMQc3lpOZsbS9WQYs5ORUi0+fMUORN2+9FqqUXvQVbqibct/pvRvB8ERVZ8bDXUzJkzGTVqFE8++SQrV66kV69e9OvXjz179hx3+4CAAEaOHMm///7Lxo0bGTNmDGPGjOGDDz5wbvP3338zePBg5syZw8KFC2nUqBEXX3wx8fHxlXVaZ65oCF90/jZAw/dERESqOkuTUuW9oJo3bx4333wzw4cPZ/369Xz55ZcsXbqUESOONkkdM2YM//vf/3jnnXfYsGEDd955J4MGDWLlypWVdVo13kdzzU8fr+4YRd1AX4ujKaPcw3Bwl7lcV0kpl+g0DLDBzn+ODgOT6sPZT0qznomLtLjcnP0sLxPmTzj+NrmZsPoLc7l4GLCcljfeeIPhw4czYsQIWrRowYQJE2jYsCGTJk067vYdOnRg8ODBtGrViujoaG666Sb69u1b4sPAGTNmcPfdd9O+fXvi4uL48MMPcTgc/Pnnn5V1WmeuaAa+ulnm3zgN3xMREanaLE1KlfeCatGiRURHR3PfffcRExNDz549ueOOO1i2bJlzm08++YQnnniCSy+9lNjYWO666y769u3L66+/XlmnVaNtT87kz01J2GwwrEe01eGUXdJG8zmwPgRUg6GG1UFwI2jW11xeNsXaWKT8nP2klJQSF7HZ4Pyx5vKSD+HwgdLbrP0/yDtsNkaPOa8yo6tR8vLyWL58ORdffHGJ9RdffDELFiwo0z5WrlzJggUL6N279wm3yc7OJj8/nzp16pxRvJWqaAa+gLQNABzMzic7r8DKiEREROQkLEtKnc4FVffu3dm3bx8///wzhmFw4MABvvrqK/r3PzpzT25uLr6+Jat3/Pz8mDdvnutPwg1NmWdWSV0QV4/Y6jJsDzR0r6IUT+W+agbkqW9HtZJSVCkVribn4kJNL4KoLlBwBOa9UfI1wzg6dK/TreaQPzktKSkpFBYWUq9evRLr69WrR2Ji4knfGxUVhY+PD506deKee+4pUW3+X48//jiRkZFceOGFJ9wmNzeXjIyMEg9LRbQBwJ6xjyhfs0pK1VIiIiJVl2VXhKdzQdW9e3dmzJjBddddh7e3NxEREQQHB/POO+84t+nbty9vvPEGW7duxeFwMHv2bL777jsSEhJOGEuVu6Cqog5m5TFrxT4ARvSKsTiacjpgfmKqpJSLNbkAghubzY3XzbI6GimP5KKeUqqUEley2eD8MebysimQvu/oa3uXmB8QePpC+xusia+GsdlsJb42DKPUuv+aO3cuy5Yt4/3332fChAl8/vnnx93ulVde4fPPP+frr78u9WHfsV588UWCgoKcj4YNG5b/RFzJNwhCzGuUXgH7AdinvlIiIiJVluUfU5bngmrDhg3cd999PPXUUyxfvpxff/2VnTt3cueddzq3eeutt2jatClxcXF4e3szcuRIhg0bhoeHxwljqHIXVFXUZ0v2kJPvoHVkbbrGVKNSfjg68576SbmW3W5WPAAsU8PzaiP3MBw2b9YIa2ptLFLzxPaG6F5QmAf/vnp0ffHfiNZXgX81+z+kigkLC8PDw6PUh3hJSUmlPuz7r5iYGNq0acNtt93GAw88wDPPPFNqm9dee40XXniB33//nbZt2550f6NHjyY9Pd352Lt3b7nPx+WKhvCd7W32KFWllIiISNVlWVLqdC6oXnzxRXr06MEjjzxC27Zt6du3L++99x5TpkxxVkKFh4fz7bffkpWVxe7du9m0aRO1atUiJubElT1V8oKqisktKGTqgl0ADO8Zc8pPYqsUwzialFKllOt1uAk8vGH/SohfbnU0UhbFM+8F1AW/EGtjkZqpuFpq5aeQtsOcjW/9N+Y6NTg/Y97e3nTs2JHZs2eXWD979my6d+9e5v0YhkFubm6Jda+++irPPfccv/76K506dTrlPnx8fKhdu3aJh+WKmp03ZxegGfhERESqMk+rDnzsBdWgQYOc62fPns2AAQOO+57s7Gw8PUuGXFwBZRhGifW+vr5ERkaSn5/PrFmzuPbaa08Yi4+PDz4+mhL9ZH5cnUDy4Vzq1fahf5sGVodTPun7IDcd7J4aqlQRAsKg1SBYMxOWToHIjlZHJKdS3ORc/aSkojQ6B866ELb9Af+8AuFxZuVU/fb6G+EiDz74IEOGDKFTp05069aNDz74gD179jirx0ePHk18fDzTp08H4N1336VRo0bExcUB5ozGr732Gvfee69zn6+88gpjx47ls88+Izo62vnBYa1atahVqxr1kazfDoBGuebfOlVKiYiIVF2WJaWg/BdUl19+ObfddhuTJk2ib9++JCQkMGrUKLp06UKDBmaiZPHixcTHx9O+fXvi4+N55plncDgcPProo5adZ3VnGAaTixqc39I9Gm9Py0d9lk9xlVRYc/D0tjaWmqrTcDMpte4ruPg5Dc2p6pKLmpxr6J5UpD5PmkmpNTPBP8xc1/nETbWlfK677jpSU1MZN24cCQkJtG7dmp9//pnGjRsDkJCQwJ49e5zbOxwORo8ezc6dO/H09KRJkya89NJL3HHHHc5t3nvvPfLy8rj66qtLHOvpp58+7jC/KqsoKRWUvRt/clQpJSIiUoVZmpQq7wXV0KFDOXz4MBMnTuShhx4iODiY888/n5dfftm5TU5ODmPGjGHHjh3UqlWLSy+9lE8++YTg4ODKPr0aY+H2VDYmZODn5cENXRpZHU75aea9itewC9RrAwfWwurPods9VkckJ1M8fC9MlVJSgSLPhrjLYNOPkJVkNqBufZXVUdUod999N3ffffdxX5s6dWqJr++9994SVVHHs2vXLhdFZrFadaFWBLbMROJse4g/GGx1RCIiInIClialoHwXVHDqi6revXuzYcMGV4UnwEdFVVLXdIoi2L8aVhqpn1TFs9mg863w4wPmlO9d79J071VZcVIqXMNZpYL1eQI2/QQY0P5G8Pa3OiJxF/XbwtZEWtl3sfJwM/IKHNWv0ltERMQN6H9nOantyZn8uSkJmw2G9Thxs/gqLakoSVmvtbVx1HRtrgXvQEjbDjv/sToaOZHCfLPxNKjHmlS8eq3MysngxtD1zlNvL+IqRUP42nnswjAgMT3H4oBERETkeJSUkpOaUlQldUFcPWLCAiyO5jTk5xxt6lyvpbWx1HQ+taDd9eby0snWxiInlrYTHAXgFQC1I62ORtxB3+dh1BoIaWx1JOJOimbga+dptoHYdyjbymhERETkBJSUkhNKy8pj1op9AIzoVU2rpFI2g1Fo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UcUp7p2lpJRIjVaea6h58+bRo0cPQkND8fPzIy4ujjffLP13cNasWbRs2RIfHx9atmzJN998U5GnYAk/bw9CA7xJozb5AfXNlQfWWRuUiIiImyp3Uuqhhx7iu+++IzY2losuuogvvviC3Nzc0zr4zJkzGTVqFE8++SQrV66kV69e9OvX74QJr3nz5nHzzTczfPhw1q9fz5dffsnSpUsZMWKEc5sZM2bw+OOP8/TTT7Nx40Y++ugjZs6cyejRo08rxupmW1JRpVRdN6iUchRC0kZzWcP3pCyCIuHSV83lf16C/assDadCZKXAkTTAZjY6F5EaqbzXUAEBAYwcOZJ///2XjRs3MmbMGMaMGcMHH3zg3GbhwoVcd911DBkyhNWrVzNkyBCuvfZaFi9eXFmnVWmK+0odrB1nrtAQPhEREUuUOyl17733snz5cpYvX07Lli257777qF+/PiNHjmTFihXl2tcbb7zB8OHDGTFiBC1atGDChAk0bNiQSZMmHXf7RYsWER0dzX333UdMTAw9e/bkjjvuYNmyZc5tFi5cSI8ePbjhhhuIjo7m4osvZvDgwSW2qcncaua9tJ3mUCxPP017L2XX9lpocYU5M983d0B+DauiLG5yHtwQvP2tjUVEKkx5r6E6dOjA4MGDadWqFdHR0dx000307du3RHXVhAkTuOiiixg9ejRxcXGMHj2aCy64gAkTJlTSWVWe4iF88X5NzRWagU9ERMQSp91Tql27drz11lvEx8fz9NNPM3nyZDp37ky7du2YMmUKhmGc9P15eXksX76ciy++uMT6iy++mAULFhz3Pd27d2ffvn38/PPPGIbBgQMH+Oqrr+jfv79zm549e7J8+XKWLFkCwI4dO/j5559LbPNfubm5ZGRklHhUR243815xqX3dFpr2XsrOZoPL3oSAupC8CeaMtzoi19LQPZEa73Suof5r5cqVLFiwgN69ezvXLVy4sNQ++/bte9J9VtdrqOKk1FZbrLlClVIiIiKWOO2kVH5+Pv/3f//HFVdcwUMPPUSnTp2YPHky1157LU8++SQ33njjSd+fkpJCYWEh9erVK7G+Xr16JCYmHvc93bt3Z8aMGVx33XV4e3sTERFBcHAw77zzjnOb66+/nueee46ePXvi5eVFkyZN6NOnD48//vgJY3nxxRcJCgpyPho2bFiO70TVsaVo5r3IYD83m3lP/aSknALC4Iq3zeUFE2HXfGvjcSVnk3PNvCdSU53ONVSxqKgofHx86NSpE/fcc0+JFgiJiYnl3md1vYYqHr63qqCxuSJ5IxScXjsKEREROX3lTkqtWLGCe++9l/r163PvvffSqlUr1q1bx7x58xg2bBhPPvkk33//fZkbY9psthJfG4ZRal2xDRs2cN999/HUU0+xfPlyfv31V3bu3Mmdd97p3Obvv//m+eef57333mPFihV8/fXX/Pjjjzz33HMnjGH06NGkp6c7H3v37i1T7FXN1qKZ986q6wZD9+CYpJT6SclpaN4POtwEGPDtnZB72OqIXCOluFKqqbVxiEiFK881VLG5c+eybNky3n//fSZMmMDnn39+RvusrtdQxZVS6zIDwS/EHNKdtMHiqERERNxPuctpOnfuzEUXXcSkSZMYOHAgXl5epbZp2bIl119//Un3ExYWhoeHR6lP35KSkkp9SlfsxRdfpEePHjzyyCMAtG3bloCAAHr16sX48eOpX78+Y8eOZciQIc5P/tq0aUNWVha33347Tz75JHZ76Tycj48PPj4+ZTr/qsztZt5LUqWUnKG+L8KOf+HQHvjtCbjinVO/p6or7ikVrkopkZrqdK6hisXExADm9dGBAwd45plnGDx4MAARERHl3md1vYYqrpSKP5QDjdrCzn/MIXwNOlgcmYiIiHspd6XUjh07+PXXX7nmmmuOm5ACc4aXjz/++KT78fb2pmPHjsyePbvE+tmzZ9O9e/fjvic7O7tUUsnDw+wlVNzD6kTbGIZxyj5X1d3WpOIm527QTyr3MBzcZS4rKSWny7c2DJoE2GDFdNjym9URnZm8bDhUVKWg4XsiNdbpXEMdj2EYJWZQ7tatW6l9/v777+XaZ3URFWxOBJGalUd+vbbmyoTVFkYkIiLinspdKZWUlERiYiJdu3YtsX7x4sV4eHjQqVOnMu/rwQcfZMiQIXTq1Ilu3brxwQcfsGfPHudwvNGjRxMfH8/06dMBuPzyy7ntttuYNGkSffv2JSEhgVGjRtGlSxcaNGjg3OaNN96gQ4cOdO3alW3btjF27FiuuOIKZwKrptpSNHyvmTskpZI2ms+BDcC/jrWxSPUW3RO63QMLJ8J3I+HuRRAQanVUpyd1K2CAX53qew4iUiblvYZ69913adSoEXFxcQDMmzeP1157jXvvvde5z/vvv59zzz2Xl19+mQEDBvDdd9/xxx9/MG/evMo/wQpW28+TWj6eZOYWkBoYRwRoBj4RERELlDspdc899/Doo4+WSkrFx8fz8ssvs3jx4jLv67rrriM1NZVx48aRkJBA69at+fnnn2nc2Gw6mZCQwJ49e5zbDx06lMOHDzNx4kQeeughgoODOf/883n55Zed24wZMwabzcaYMWOIj48nPDycyy+/nOeff768p1qtHMrOI7lo5j236ClVPPNevZbWxiE1w/ljYdsf5mx8Pz0A10wzZ+mrboqbnGvonkiNV95rKIfDwejRo9m5cyeenp40adKEl156iTvuuMO5Tffu3fniiy8YM2YMY8eOpUmTJsycObPUNV9NYLPZiAz2Y/OBw+zxPstMSh1YD45CzegrIiJSiWxGOce01apVizVr1hAbG1ti/c6dO2nbti2HD1f/ZsEZGRkEBQWRnp5O7dq1rQ6nTJbuSuOa9xcSGezH/MfPtzqcivfTQ7B0MvS4Hy4aZ3U0UhPsXwmTLzSb3V45GdpeY3VE5ffX8/DvK3D2zTWjP5ZIFVEdrwusUp2+V7dOXcpfm5J4cWBLBv/ZHfKz4Z4lSuyLiIi4QFmvCcrdU8rHx4cDBw6UWp+QkICnZ7kLr8RFipucN3WXJueaeU9crUEHOPdRc/nnhyBjv7XxnI7iJufqJyUickrFM/DtS8+FiDbmSvWVEhERqVTlTkpddNFFzul/ix06dIgnnniCiy66yKXBSdltdad+UoYBB4qmbVaTc3GlXg9Cg7MhJx2+u8f8t1adOJNSzayNQ0SkGnDOwHfwCESo2bmIiIgVyp2Uev3119m7dy+NGzemT58+9OnTh5iYGBITE3n99dcrIkYpg+KZ99yin1T6PshNB7sXhDa1OhqpSTy8YND/wNMXtv8Fyz6yOqKycxRC6jZzOVxJKRGRUymulIo/dATqFyWl1OxcRESkUpU7KRUZGcmaNWt45ZVXaNmyJR07duStt95i7dq1NGzYsCJilDJwq5n3iofuhTcHT29rY5GaJ7wZXPiMufz7WEjdbmk4ZXZwFxTmmQm1oEZWRyMiUuWVqJSq385cmbCm+lXJioiIVGOn1QQqICCA22+/3dWxyGk6dua9pu5QKeWceU9D96SCdLkDNv0Eu+bCN3fCsF/Ao4r3zCueeS+0KdjL/XmDiIjbiSqqlErMyCE/tDledi/IOQSH9kBIY2uDExERcROnfZe1YcMG9uzZQ15eXon1V1xxxRkHJeVTXCUVGexHgE8Vv3F2heJKqbotrY1Dai67HQZOgkndYd8SWPAW9HrI6qhOLmWz+ayheyIiZRJWywdvDzt5hQ4SMx00rBsHiWvNIXxKSomIiFSKcmcwduzYwaBBg1i7di02mw2jqMTZZrMBUFhY6NoI5ZSK+0lp5j0RFwpuCP1ehm/vgjkvQtOLj87OVBUlq8m5iEh52O02GgT7sis1m/hDR2gY0c5MSiWsgRaXWx2eiIiIWyj3GI/777+fmJgYDhw4gL+/P+vXr+fff/+lU6dO/P333xUQopyKW828l58DqUXDlDR8Typau8EQdxk48uHrO6Ag1+qITkwz74lUC3v37mXfvn3Or5csWcKoUaP44IMPLIzKfR2/r5Rm4BMREaks5U5KLVy4kHHjxhEeHo7dbsdut9OzZ09efPFF7rvvvoqIUU5hy4GiSil36CeVvAkMB/jVgcAIq6ORms5mg8smgH8YJK2HOS9YHdHxGcbR4XtKSolUaTfccANz5swBIDExkYsuuoglS5bwxBNPMG7cOIujcz/HnYEvfjms/wb2LYfMJDU+FxERqUDlHr5XWFhIrVpm8iMsLIz9+/fTvHlzGjduzObNm10eoJyaW828l7TBfK7XykwYiFS0WuFw+QSYeRPMfwua94NG51gdVUlZyZCTDjY7hJ5ldTQichLr1q2jS5cuAPzf//0frVu3Zv78+fz+++/ceeedPPXUUxZH6F4ig/2Bokqpeq3B7gnZKfDl0KMbefpCUBQENTSHdgc1Knou+jqwQdWfDENERKSKKvf/oK1bt2bNmjXExsbStWtXXnnlFby9vfnggw+IjY2tiBjlJA5m5ZGSaQ4pOssdKqXUT0qs0OJyaHcDrP7MnI3vznngU4V+35KLPhAIbgxevtbGIiInlZ+fj4+PDwB//PGHc4KYuLg4EhISrAzNLTmH7x06Yv5dv/ID2PQzpO+FQ3vhcAIU5EDqNvNxPDYPqN3gmKTVsc+NzISWl18lnpWIiEj1Ue6k1JgxY8jKygJg/PjxXHbZZfTq1YvQ0FBmzpzp8gDl5LYmudvMe+vMZ/WTksrW7yXY+S8c3Amzx8Jlb1od0VHqJyVSbbRq1Yr333+f/v37M3v2bJ577jkA9u/fT2hoqMXRuZ8Sw/cAWl9lPooV5EFG/NEklfN5T9HzPrPvYHrRa3tOcKCA8KPJquBG0HEYhDap2JMTERGpBsqdxejbt69zOTY2lg0bNpCWlkZISIhzBj6pPMX9pJq53cx7SkpJJfMNgoHvwfQrYNkUaH4pNL3I6qhMxUmpcCWlRKq6l19+mUGDBvHqq69yyy230K6d2Vz7+++/dw7rk8oTdUyllMNhYLf/51rW0xvqxJiP43E4IDPxmITVntIJrPwsc5h1VjLsX2G+b/UXMHIZ+AVX3MmJiIhUA+VKShUUFODr68uqVato3fro8Kk6deq4PDApm63OpJQb9JPKTDIv6LBBeJzV0Yg7iu0NXe+Exe/DdyPh7oXgXwX+/iWryblIdXHeeeeRkpJCRkYGISEhzvW33347/v7+FkbmniKCfLHbIK/AQUpWLnUDyzkE2m43h+7VbgB0Lf26YcCRgyWTVUs/hLQd8Nd46P+aS85DRESkuirX7Huenp40btyYwsLCiopHyql4+J579JMqGroX2gS8deEuFrngaQhtan4y/vPDVkdjStlqPoc1tzYOETmlI0eOkJub60xI7d69mwkTJrB582bq1q1rcXTux8vDTr3aZiIq/uAR1x/AZjM/vGjQ3uxP2O1uuPxt87VlH8H+Va4/poiISDVSrqQUmD2lRo8eTVpaWkXEI+XkVjPvaeieVAXe/jDof2Zj23WzzIeVcjMhY5+5HNbU2lhE5JQGDBjA9OnTATh06BBdu3bl9ddfZ+DAgUyaNMni6NxTqb5SFS2mF7S5BgwH/PSgOQRQRETETZU7KfX2228zd+5cGjRoQPPmzTn77LNLPKTyuN/MexvMZ828J1aL6gjnFlVJ/fQQZFg4Y1ZqUZVUQHjVGEooIie1YsUKevXqBcBXX31FvXr12L17N9OnT+ftt9+2ODr35JyBryIqpU7k4vHgUxvil8OKaZV3XBERkSqm3I3OBw4cWAFhyOkobnIeFaKZ90Qq3bmPwJZfIWE1fH8v3PilOUyjsiUXz7ynoXsi1UF2djaBgWZ18++//86VV16J3W7nnHPOYffu3RZH554qvVIKIDAC+jwBvz4Ofz4LLa6AAM2+KCIi7qfcmYynn366IuKQ01DcT6qpO1RJFRZA8iZzWUkpqQo8vMxhfP/rDdtmw/Kp0GlY5cdRPPOehu6JVAtnnXUW3377LYMGDeK3337jgQceACApKYnatWtbHJ17sqRSCqDzbbByBhxYC388DQMmVu7xRUREqoByD9+TqsOtZt5L3QaFeeAdCEGNrI5GxFS3BVzwlLn825PmbEqVLaVo5r1wVUqJVAdPPfUUDz/8MNHR0XTp0oVu3boBZtVUhw4dLI7OPVlSKQXg4Qn9XzeXV34Ce5dU7vFFRESqgHInpex2Ox4eHid8SOUpbnLe1B2SUsVD9+q2MKdfFqkqzrkbGveE/Cz49m5wVPLspMmqlBKpTq6++mr27NnDsmXL+O2335zrL7jgAt58800LI3NfUVZVSgE06grtbzKXf3rQrAwXERFxI+UevvfNN9+U+Do/P5+VK1cybdo0nn32WZcFJqfmVsP3NPOeVFV2Owx8Fyb1gD0LYeFE6HF/5Ry7MP9odZZ6SolUGxEREURERLBv3z5sNhuRkZF06dLF6rDcVoOiSqnDuQWkH8knyM+rcgO46FnY9CMkroVlH0HXOyr3+CIiIhYqd8nJgAEDSjyuvvpqnn/+eV555RW+//77iohRjsP9Zt5TUkqqsJBouORFc/mv8bBrfuUc9+AucOSDlz/UjqycY4rIGXE4HIwbN46goCAaN25Mo0aNCA4O5rnnnsPhcFgdnlvy9/akToA3YFG1VEAYXFjUs/Wv8XD4QOXHICIiYhGXjYPq2rUrf/zxh6t2J6fgdjPvJW0wn+u1tjYOkRPpMATiLjN7n824Gnb8XfHHPLbJuYa1ilQLTz75JBMnTuSll15i5cqVrFixghdeeIF33nmHsWPHWh2e27Ksr1Sxs2+BBmdDbgb8PsaaGERERCzgkruYI0eO8M477xAVFeWK3UkZbCkauucWTc6PHIL0veZyvZaWhiJyQjYbXDUZzroQ8rNhxrWwdXbFHjO5qMm5hu6JVBvTpk1j8uTJ3HXXXbRt25Z27dpx99138+GHHzJ16lSrw3NbzqTUwWxrArB7FDU9t8Ha/4Odc62JQ0REpJKVOykVEhJCnTp1nI+QkBACAwOZMmUKr776akXEKMexrahSyi36SRVXSQU1At8ga2MRORkvP7j+M2h+KRTmwhc3wKafK+54KVvN57BmFXcMEXGptLQ04uLiSq2Pi4sjLS3NgogEIDLE4kopgMizodOt5vLPD5t9A0VERGq4co/7evPNN7HZbM6v7XY74eHhdO3alZCQEJcGJyfmXjPvqZ+UVCOePnDNNPh6BGz4Dv5vCFz1EbQa6PpjpRRVSoUrKSVSXbRr146JEyfy9ttvl1g/ceJE2rZta1FUYvnwvWIXjDX/70jeBIveq7yJM0RERCxS7qTU0KFDKyAMKa+tSWalVLN6blApdWCd+ayhe1JdeHrDVVPA405Y+yV8NczsNdX2WtcdwzAgubinlJJSItXFK6+8Qv/+/fnjjz/o1q0bNpuNBQsWsHfvXn7+uQIrK+WknJVSVjQ6P5ZfCFw0Dr67G/5+GVpfDUGayEJERGqucg/f+/jjj/nyyy9Lrf/yyy+ZNm2aS4KSk0vLyiMlMw/QzHsiVZaHJwz6H7S/CQwHfH07rPjEdfs/nAh5h8HmAXViXbdfEalQvXv3ZsuWLQwaNIhDhw6RlpbGlVdeyfr16/n444+tDs9tVZlKKYB2g6HhOZCfBb+NtjoaERGRClXupNRLL71EWFhYqfV169blhRdecElQcnJbj5l5z9+7hs+853DAAc28J9WU3QOueKeoR4gB34+EpR+5Zt/FQ/dCos0hgyJSbTRo0IDnn3+eWbNm8fXXXzN+/HgOHjyoD/csFFVUKZWSmUdOfqG1wdjtZtNzm4c5lG+bZrcWEZGaq9xJqd27dxMTE1NqfePGjdmzZ49LgpKTc6uZ9w7tNj8p9PCBOk2sjkak/Ox26P8GdL3L/PqnB2HRpDPfb3GT83DNvCcicqaC/LwI8PYAqki1VERr6HqnufzzI5CfY208IiIiFaTcSam6deuyZs2aUutXr15NaGioS4KSkyuulGrqFv2kiobu1Y0zh0OJVEc2G1zy4tGGtb8+DvMmnNk+k4sqpdRPSkTkjNlstqrTV6rYeY9DrQhI2wEL3j719iIiItVQuZNS119/Pffddx9z5syhsLCQwsJC/vrrL+6//36uv/76iohR/mNLUVKqWV03qJRy9pPS0D2p5mw2uPBZ6P2Y+fUfT8M/r5z+/lLU5FxExJWqVF8pAN/a0Pd5c3nu63Bwl6XhiIiIVIRyl56MHz+e3bt3c8EFF+Dpab7d4XBw8803q6dUJdlWNHzPPSqlimfeU5NzqQFsNujzBHh4wV/jYc7zUJAL548xXyuP4qSUhu+JVAtXXnnlSV8/dOhQ5QQiJ1TlKqUAWl8FK6bBzn/hl8fghplWRyQiIuJS5U5KeXt7M3PmTMaPH8+qVavw8/OjTZs2NG7cuCLik//QzHsiNcC5j4CnL/w+Bua+BgU5cPH4siemctLhcIK5HNa04uIUEZcJCgo65es333xzJUUjxxMZ7A9UoUopMP9fuPR1mNQdtvwKm36GuEutjkpERMRlTrtJT9OmTWnaVDdDla146F7DOm4w815eltlHAaCuklJSw3S/12zg/8sjsHCiWTHV7xWzMfqppGwzn2tFgO/Jb3RFpGr4+OOPrQ5BTqFKVkoBhDeD7iNh3ptmtVTseeDtb3VUIiIiLlHunlJXX301L730Uqn1r776Ktdcc41LgpIT2+pO/aSSNgEGBNSFWuFWRyPiel1vh8smADZY+iH8eD84HKd+X0pxk3N9MCAi4ipVrqfUsc59BIIaQvoes8JWRESkhih3Uuqff/6hf//+pdZfcskl/Pvvvy4JSk5sa1E/qbPUT0qkZug0DAa+BzY7rJgO390NjsKTv0f9pEREXC6qqFIqMSOH/MIyfEBQmbwDzFlcAea/DSlbrY1HpLrJSoUlH0J2mtWRiMh/lDsplZmZibe3d6n1Xl5eZGRkuCQoOTG3mnkvaYP5rKSU1HTtb4ArPwSbB6z+HL6+DQrzT7x9cvHMe0pKiYi4SngtH0IDvCl0GHy5bJ/V4ZQWdxmcdRE48uHnh8EwrI5IpHrISoGpl5q/N/+q0lCkqil3Uqp169bMnFl65o8vvviCli1buiQoObGtB8xKqWb13CAp5Wxy3traOEQqQ5ur4ZqpYPeCdbPgy6FQkHf8bYsrpTR8T0TEZex2GyPPPwuAN2ZvJjO3wOKI/sNmg0tfMfsR7vgb1n9jdUQiVV92GkwfCMmbzK93/mNpOCJSWrmTUmPHjuW5557jlltuYdq0aUybNo2bb76Z8ePHM3bs2IqIUYqkZuaSmpWHzeYGM+8V5kPiWnNZlVLiLlpeAdd9Ch7esOlHmHkT5OeU3KYg7+gEABq+JyLiUjd2bUxMWAApmXlM+nub1eGUVicWej1oLv/2BOQetjYekaosJx0+vRIOrAX/MHPdgXUawidSxZQ7KXXFFVfw7bffsm3bNu6++24eeugh4uPj+euvv4iOjq6AEKVYcT+pqBA//Lw9LI6mgi39CHIOgX+obrzFvTS/BAZ/AZ6+sPU3+GIw5GUfff3gTjAKwTsQAutbF6eISA3k7Wnn8X5xAEyeu5P9VbHpeY9REBIDhxPg79KTD4kIZsL206th/0rzfmLoj0fbHuxeYG1sIlJCuZNSAP3792f+/PlkZWWxbds2rrzySkaNGkXHjh1dHZ8cw21m3stMhjkvmMvnjwVPH2vjEalsZ10AN34JXv6w/S/47FrINZPSJB8z857NZl2MIiI11MUt69E1pg65BQ5e/W2z1eGU5uULl75qLi+adLTdgYiY8rLgs+tg3xLwDYabv4O6LSC6h/n67vmWhiciJZ1WUgrgr7/+4qabbqJBgwZMnDiRSy+9lGXLlrkyNvmPLUX9pJrW9H5Sfz4LuelQvx2cfbPV0YhYI+ZcuOlrsyJq11z49CrIyYCU4qRUM2vjExGpoWw2G2P6m31Sv1kZz5p9h6wN6HiaXmQ2PjcK4Sc1PRdxyj8Cnw82E08+tWHINxDRxnwtuqf5vGuedfGJSCnlSkrt27eP8ePHExsby+DBgwkJCSE/P59Zs2Yxfvx4OnToUFFxCsfMvFevBveTil8OKz81l/u9CvYaPkxR5GQadzM/3fMNgr2L4JOB/9/efYdHUbV9HP/uppJAQgkhdCIlgFTpTQQFqQoWwEJRsIGiYuXBgj72gjyvCjYUCwKiiChNVDoiLSDSkQ4JEEoSElJ33j8mGwgEksDuzib5fa5rrz2ZnZ25J0P07L3n3AcOZiX/yyspJSLiLg2rhHJL08oAvPLLVgxvTPp0e8McUbt/JWycZnU0ItbLSIXpA81i5v4l4e4foPI1Z1+vnpWUit0EZ05ZEqKIXCjfSakePXpQv359tmzZwvvvv8/hw4d5//333RmbnGdXVk2p2kV1+p7DAXOfBgxoNACqtbI6IhHrVWkGg2ZDiTJm0nbHfHN7mGqtiYi405M3RhHga2f13hMs2HzE6nAuVLoqXPuU2V74vD5kS/GWmQ4z7oFdC8G3BNz5HVRtmXOfUhWgXC3AgP2rLAlTRC6U76TUr7/+yrBhw3jppZfo2bMnPj4aweJJBVp5b99KGN/IXFa+MNk4FQ6tNb/Z6PKS1dGIeI9KTWDInLMrx4Cm74mIuFml0iW4/9qrAHhj3lbSMhwWR5SLNg+b/z9IOgZ/vGJ1NCLWyMyAH4bB9jngEwB3TD1bP+p81Z11pTSFT8Rb5DsptWzZMhITE2nevDmtWrXigw8+4NixY+6MTc7hrCdVtUxQ3ivvbfoeTu2Dnx45u3S8t0uJh99eNNsdn4ZSEdbGI+JtKlwN98yF0Krmt3xlr7I6IhGRIu+BjjUJKxnA3uPJfLNqn9XhXMjXH3q8Y7bXTjJXGhMpThyZMOsh2DIL7H4wYArU7HTx/bPrSqnYuYi3yHdSqk2bNnz66afExMTwwAMPMG3aNCpXrozD4WDhwoUkJia6M85ib+dR8/dbO69RUgBxO8zn9CT48SHzP9bebslb5rd85WpBq4esjkbEO5WPgkfWw/BV4ONrdTQiIkVeyQBfnuhqjkz93+87OZWcZnFEubiqIzS4DQwHzHnCLIcgUhw4HPDzSNj0Hdh9od+X5iIAl+IcKRWzwVxARkQsV+DV94KCgrj33ntZvnw5mzZt4oknnuCNN94gPDycm266qcABTJgwgcjISAIDA2nWrBnLli275P5TpkyhcePGBAUFUbFiRe655x6OHz+e/fp1112HzWa74NGzZ88Cx+ZNdhZk5T3nkvE2u1kc+c8P3BiZCxzbDn99ZLa7vWl+6yciufP1Bx8/q6MQESk2+jWvSlSFUsSfSef9P3ZZHU7ubnzVXK310DpY/6XV0Yi4n2HA3CfNBZJsdrj1M6ibj897oZWhTA0ziXvgL7eHKSJ5K3BS6lxRUVG89dZbHDx4kKlTpxb4/dOnT+exxx5jzJgxREdH06FDB7p3787+/ftz3X/58uUMGjSIoUOHsnnzZmbMmMGaNWsYNmxY9j4zZ84kJiYm+/HPP//g4+PD7bffftnX6Q3yvfLemZOQdNRs3/ia+fzHK3BksxujuwKGAfOeBkcGRPWA2jdYHZGIiEihUJAv9mbOnEmXLl0oX748ISEhtGnThgULFlyw3/jx44mKiqJEiRJUrVqVxx9/nJSUFHdehtfzsdsY07MeAF/9uZe9cUkWR5SLUhHQ6T9m+/eXIOn4pfcXKcwMA+aPNqesYoO+H8PVffP/fucqfHtVV0rEG1xRUsrJx8eHPn36MHv27AK9b9y4cQwdOpRhw4ZRr149xo8fT9WqVZk4cWKu+69atYoaNWowcuRIIiMjad++PQ888ABr167N3qds2bJERERkPxYuXEhQUFChT0rtzFp5r05eI6XidprPpSpBqwehTnfITIOZD0CGFw453/YL7F5sFiV0JtFERETkkgr6xd7SpUvp0qULc+fOZd26dXTq1InevXsTHX22BtGUKVN49tlnefHFF9m6dSuTJk1i+vTpjB492lOX5bWurVOejnXKk55p8Ma8bVaHk7uW90OFBuYXlM46nSJFjWHAb2Phr6zPize9D436FewYzrpS+1RXSsQbuCQpdTnS0tJYt24dXbt2zbG9a9eurFy5Mtf3tG3bloMHDzJ37lwMw+DIkSN8//33l5yaN2nSJAYMGEBwcPBF90lNTSUhISHHw5vEnU7lRNbKezXL5zFSyllPqnwdsNngpv+DoHJwZBMsecP9wRZE+hlYkPWtXttHoGyktfGIiIgUEgX9Ym/8+PE8/fTTtGjRgtq1a/Paa69Ru3Ztfv755+x9/vzzT9q1a8edd95JjRo16Nq1K3fccUeOL/+KszE962G3wfzNsazec8LqcC7k4ws93zXb0V/DgdXWxiPiDovfgBXjzXbPcXDNwIIfw7ky3+FoSPPCkY8ixYxlSam4uDgyMzOpUKFCju0VKlQgNjY21/e0bduWKVOm0L9/f/z9/YmIiKB06dK8//77ue6/evVq/vnnnxzT+3Lz+uuvExoamv2oWrXq5V2Um+wsyMp7znpSzuXiS4ZDr/fM9vL3vKuDsuJ/cGo/hFSBDqOsjkZERKRQuJwv9s7ncDhITEykbNmy2dvat2/PunXrWL3a7Cvs3r2buXPnXvLLP2//Ys+V6lQoxYCW1QB4dc4WHA7D4ohyUa01NL7TbK/KPUEpUmgte/fsl+zd3oAWQy/vOKWrQWg1s3yI6kqJWM6ypJSTzWbL8bNhGBdsc9qyZQsjR47khRdeYN26dcyfP589e/bw4IMP5rr/pEmTaNCgAS1btrxkDKNHjyY+Pj77ceDAgcu7GDdxrryXZz0pODt9z5mUAqh/MzTqbxb0+/FB7/hG4NR+M0kG0PW/4H/xkWwiIiJy1uV8sXe+d999l6SkJPr1OzvtZcCAAfz3v/+lffv2+Pn5UbNmTTp16sSzzz570eN4+xd7rvb4DXUI9vdh48F4fv77sNXh5K75Pebzrt+8s3SDyOVY+QH8/rLZvuElaH2Fq3U7R0vt1RQ+EatZlpQKCwvDx8fngs7T0aNHL+hkOb3++uu0a9eOp556ikaNGnHjjTcyYcIEPv/8c2JiYnLsm5yczLRp0/IcJQUQEBBASEhIjoc3cRY5z9fKe3HnjZRy6v6WWWfqxL+w0AvqDCwYAxkpUKNDwQoTioiICFCwL/bONXXqVMaOHcv06dMJDw/P3r548WJeffVVJkyYwPr165k5cya//PIL//3vfy96LG//Ys/VypcKYHinWgC8OW8bKemZFkeUi8rNILg8pCaoZo4UDas/hV/HmO3r/gPtH7vyY1bPSkrpb0TEcpYlpfz9/WnWrBkLFy7MsX3hwoW0bds21/ckJydjt+cM2cfHnM5mGDmHUH/33XekpqZy9913uzBqa+zImr5XOzyPkVIZqXByr9kuH5XztRKloc+HZnvNp7Drd5fGWCC7F8PW2WDzge5vmrWvREREJF8u54s9p+nTpzN06FC+++47brgh54q3zz//PAMHDmTYsGE0bNiQvn378tprr/H666/jcDhyPZ63f7HnDkPbR1IpNJDD8SlMWr7H6nAuZPeBOjea7e3zrI1F5Eqt+xLmPmm2OzwBHZ92zXGdI6UOroW0ZNccU0Qui6XT90aNGsVnn33G559/ztatW3n88cfZv39/9nS80aNHM2jQoOz9e/fuzcyZM5k4cSK7d+9mxYoVjBw5kpYtW1KpUqUcx540aRJ9+vShXLlyHr0md9iV35X3jv9rTtELCIWSuXRKa3Y2V2YB+Olhc3UWT8tMh3nPmO0Ww6DC1Z6PQUREpBC7nC/2wBwhNWTIEL799ttc60Rd7Ms/wzAu+PKvOAv08+HpbnUBmLj4X+JOp1ocUS6iepjP2+eZq5WJFEYbpsLPj5rtNg9D5+dd92V2mUhzFokjHQ6ucc0xReSyWJqU6t+/P+PHj+fll1+mSZMmLF26lLlz51K9enUAYmJicixtPGTIEMaNG8cHH3xAgwYNuP3224mKimLmzJk5jrtjxw6WL1/O0KGXWfzOixRs5T3n1L3aF/8P9g0vQblakHgY5rrom4aCWP0pHNtmrgjYSUtMi4iIXI6CfrE3depUBg0axLvvvkvr1q2JjY0lNjaW+Pj47H169+7NxIkTmTZtGnv27GHhwoU8//zz3HTTTdkj08V0U+NKNKoSyunUDN5buMPqcC501XXgGwjx++HIZqujESm4f36An4YDhvmletdXXDu7wmY7O1pKU/hELOVrdQDDhw9n+PDhub42efLkC7Y98sgjPPLII5c8Zp06dYrMN3rOelLVyuZj5T1nkfPzp+6dyz8I+n4Mk7rApu+gbk+4uo9rgs3L6aOw+HWzff0LUKKMZ84rIiJSxPTv35/jx4/z8ssvExMTQ4MGDS75xd7HH39MRkYGI0aMYMSIEdnbBw8enN3feu6557DZbDz33HMcOnSI8uXL07t3b1599VWPXlthYLfbeK5nffp9/CdTV+9ncNsaeY9o9yT/YDMxtWO+OVoqooHVEYnk39af4Yf7zBkg1wyGbm4q91GjPWyaoWLnIhazfPU9ubSd+a0nBXDsnJFSl1KlObQfZbZ/eRwSj1xBhAXw20tm0c2KTaDpQM+cU0REpIgaPnw4e/fuJTU1lXXr1nHttddmvzZ58mQWL16c/fPixYuzp+Gd+zj3C0BfX19efPFFdu3axZkzZ9i/fz8ffvghpUuX9txFFSItI8ty49UVcBjw2tytVodzoaju5vP2udbGIVIQOxbAjHvAyITGd0Cv8WB300fW6u3N54NrID3FPecQkTwpKeXldh4tyMp7WcPHwy4xUsqp4zMQ0RDOnICfR7q/3sDBdbDhG7Pd422zCKeIiIhIIfZs93r4+dhYvP0Yy3YeszqcnOp0M58Pr4eEmEvvK+INdv0O0weadZ4a3Ao3f+i+hBRAuZpmHd7MVDi0zn3nEZFLUlLKyzlX3qtTIY+RUg7H2el7YXXyPrCvP/T9BHz8zaHd0V9fYaR5xOZcNaPxHVC1pfvOJSIiIuIhkWHBDGxdA4BX52wl0+FF5SNKRUDlZmZ7x3xrYxHJy55lMO1OM0FUt5dZbsTdX2LbbFBddaVErKaklBczDIOdWTWlaofnMVIq4SBknDGTTGVq5O8EFeqbq1gAzB8NJ/dedqyXtGGK+S2dfymz0LqIiIhIETHy+lqElvBjW2wiM9YesDqcnLKn8M2zNg6RS9n1O3zbHzJSoPaNcNsX4OPnmXM7i53vXeaZ84nIBZSU8mLHk9I4mZyev5X3jmVN3StbE3wKUL++zQio1hbSTsOs4eaoJlc6cwp+G2u2r3sGSlVw7fFFRERELFQ6yJ9HOtcC4N2FO0hKzbA4onNE9TCfdy+GtCRLQxHJVfQU+LYfpCdBzc7Q7ytzRoenOOtKHVgDGWmeO6+IZFNSyosVbOW9fBY5P5/dB/pMAL9gc9jqqgmXEeklLHkTkuOgXG1o+YBrjy0iIiLiBQa1qUGNckEcS0zl4yX/Wh3OWeH1oXQ1c0rUv4usjkbkLMOAxW/CT8PBkQEN+8Ed08Ev0LNxlI+CoDBzxsnh9Z49t4gASkp5tbMr7xWgyHn5fBQ5P1/ZSOj2mtn+/WU46qIVZI5uhb8+Ntvd3/Tstx4iIiIiHuLva+fZ7nUB+GTZbmLiz1gcURab7exoKU3hE2+RmQ6zH4HFWZ8/2o+CWz6x5rOCzQbV25rtvcs9f34RUVLKmzlHSuVZ5BzOTt/LT5Hz3FwzGGp3Nb9Jm3n/lQ9fNQyY94y5nGvdXlDr+is7noiIiIgXu/HqCFrWKEtKuoO3F2y3OpyznHWldswHR6a1sYiknoapA8xFlmx26DkObnjRTA5ZpUYH81nFzkUsoaSUF9t5NGukVH6SUnFXmJSy2eCm96FEGYj9G5a+fXnHcdo6G/YsAZ8A6PrKlR1LRERExMvZbDbG9KwHwMz1h/jnULzFEWWp3g4CQs1yCgfXWh2NFGeJR2ByD9j1G/iWgAHfQouhVkd1ttj5/r/MUVwi4lFKSnmpAq28l3zC7GhAwWtKnatUBPR6z2wvexcOrru846Qlw4IxZrvdo+b0QBEREZEirnHV0vRpUgmAV+ZswTAMiyPCXMWsdhezvX2utbFI8XVsO3x2A8RsNGs4DZlzdhSf1crXM7+YT08y4xMRj1JSykvFnTZX3rPboFZ4HiOlnKOkQquCf/CVnfjqvtDgNnPa3Y8PmAmmglrxP4g/YMbT/vEri0dERESkEHmqW10CfO2s2n2ChVuOWB2OyfnhX3WlxAr7VsKkrhC/H8peBcMWQpVmVkd1lt1ujigE1ZUSsYCSUl5q5zkr7wX65bHy3jHnynuXOXXvfD3ehlIV4fhO+P2lgr335D5YMd5sd30F/INcE5OIiIhIIVC5dAmGtjdHib8xbxvpmQ6LIwJq3QB2X3O15uNetDqgFH2bf4Sv+kDKKajSAoYuNBNT3kZJKRHLKCnlpZz1pGoVZOU9VyWlgsrCzR+Y7b8+gt2L8//eBf+BjBSzYGD9m10Tj4iIiEgh8tB1NQkr6c/uuCSmrNpndThQovTZD90aLSWe8ueHMOMecyGlur1g0GwIDrM6qtxl15VaBZkZ1sYiUswoKeWlCrTynjMpVd5FSSkwv1FrnlV4cNYISMlHsc5//4Btv4DNxxxtZeUqGiIiIiIWKRXox+NdzH7Z/37fSXyyFxRPjuphPispJe7myIR5z5pfVmNAy/uh31fePYOiQgNzQYC0RHPRJxHxGCWlvNTOI+ZIqToV8jFSytXT95y6/hfKRELCQfN/LJeSmQ7znjHbLe+H8HqujUVERESkEOnfvCq1w0tyMjmdDxbttDociOpmPu//01wkR8Qd0s/AjCHw10Tz5y7/he5vgT2PciRWs/tA9TZme98Ka2MRKWaUlPJChmGw42jWynt5jZRKPwOn9pvtsCjXBuIfDH0/BpsdNn4LW3+++L5/fWyO2AoKg+vySGCJiIiIFHG+Pnb+09P8ku7LlfvYf/wyFo9xpTI1IPxqczGbnQutjUWKpuQT8NXNsHU2+PjDrZOg3cjCM3uiRnvzea+SUiKepKSUF4o7ncaprJX3apbPIyl1fBdgQGBp98zRrtYK2j1qtn9+DE4fu3CfxCOw+A2zfcOLZt0CERERkWLuujrl6VA7jLRMB2/O32Z1OOeswjfX2jik6Dm5FyZ1gQN/QWAoDPwRGt5mdVQF46y7tn+lOQVRRDxCSSkvVKCV97LrSUW571uI60ab86yT4+DnR8Ewcr7++0vm/OtKTaHJ3e6JQURERKSQsdlsjOlZD7sN5myKYe1ei6fNOetK7fodMlKtjUWKjkPr4bMbzC/LQ6rAvQvOjjoqTCIagX8ps5bukc1WRyNSbCgp5YWcRc5r56uelItX3suNb4A5jc/uB9vnwIZvz752YA1smGK2e7wDdv2TEhEREXGqGxFCv+ZVAXhlzlaM87/c86RKTaFkBfPLxL3LrYtDio4dv8LknpB0DCIawrDfCm9tWR9fqNbabKuulIjHKIPghXYcNYuc1w7Pz8p7bipyfr6IBtB5jNme/6xZx8rhgHlPmdua3AVVmrs3BhEREZFCaFTXOgT5+7DhwCl+/jvGukDsdqiTVfBcq/DJlVo3GaYOgPRkqNkZ7pkHIRWtjurK1MiawqekrYjHKCnlhXYVZOW9uKzVXMq7uMh5btqOhKqtIDUBZg2H6K/gcDQEhMANY91/fhEREZFCKLxUIA91rAnAm/O2kZJuYb0a5xS+7fMuLMkgkh+GAX+8klXWI9P8cvrO7yAgH59dvF31rGmH+1aYX8CLiNspKeVlCrTyniPzbFIqrLabI8NcKrXPRPALgr3LYM4T5vaOz0DJcPefX0RERKSQGtbhKiJCAjl06gyTlu+xLpCrOoJvCUg4CLGbrItDCqeMNJj1ECx92/y547Nw84fg42dtXK5SqQn4BcOZk3Bsq9XRiBQLSkp5mWOnU/O/8t6p/ZCZCj4BULq6ZwIsVxO6vmK2HRkQFgWtHvDMuUVEREQKqRL+Pjx1ozmy/d1ft/Nj9EFrAvErYU61Ak3hk4JJiYdvb4eNU8HmAze9D51Gu2+xJSv4+EHVlmZ7r+pKiXiCklJeZmfW1L0CrbxXrpY5islTmt8LUT3B7gs93yk634yIiIiIuNEt11TmjpZVcRgw6ruNfL/OosRUVHfzeftca84vhU/CYfiiB+xebI4kunM6XDPI6qjcw7ly4D7VlRLxBF+rA5CcdhZk5T1nUqq8m4ucn89mg/5fm9+WBJX17LlFRERECimbzcarfRpit9mY8td+nvp+Iw6HQb8WVT0bSJ0bARvEbID4QxBa2bPnF9dJS4bYv8E4t/7ReSOXcoxkuozXUk7B7JGQcAiCw+Gu78yVHIuq7KTUSrN+VlEaCSbihZSU8jLOlffq5FVPCuCYc+U9DxQ5P5/dRwkpERERkQKy22280qcBPnYbX/25j6d/+JtMw+COltU8F0TJcKjSAg6uhh3zocVQz51bXMcwYNqdsHuRZ85Xrjbc/QOU8VDZEKtUusasu5Z0zBwE4IkFpUSKMSWlvIxzpFSBVt7zRJFzEREREXEJm83GSzddjd1mY/LKvYyeuYlMh8HdrT34YT+qu5mU2j5PSanCavci82H3hTKRWRvPWVExx+qKBd1+3muVmkKv8cXjS2lff6jaAvYsNRd3UlJKxK2UlPIihmGwI6umVK3wPEZKGQbEZY2U0n8oRURERAoVm83Gi73r42O3MWn5Hp6b9Q8Ow2BQmxqeCSCqB/z+EuxZAqmnISAfo/TFexgG/JG1+FCL+6D7G9bGU9RUb5+VlFoBLYZZHY1IkaZC517k2OlU4s/kc+W9pDhzqVJsZqFzERERESlUbDYbz/Wsx/3XXgXACz9tZvKKPZ45efkoc3RNZhr8+4dnzimus30eHFoHfkHQYZTV0RQ9NdqZz/tW5DKCTERcSUkpL+Jcea96ueD8r7xXupq5tK+IiIiIFDo2m43R3evyYMeaAIz9eQuTlnsgMWWzmaOlwExwSOHhcMCiV812qwfMGmHiWpWbg08AnD4Cx/+1OhqRIk1JKS+yw7nyXl5T9+Ds1L0wD6+8JyIiIiIuZbPZeKZbFCM6mYmp//6yhU+X7nb/iaO6m8875oMj0/3nE9fY8iMc+QcCQqDtSKujKZr8AqFKc7O9b7m1sYgUcUpKeRFnPana+Vl5z1nkXPWkRERERAo9m83Gk12jGHm9uYDNq3O3MnGxm0doVGsNgaXhzAk4sNq95xLXyMyARa+Z7baPFI/C41ap0d583rvC2jhEijglpbzIrqMFWHnvmEZKiYiIiBQlNpuNUV3q8NgNZmLqzfnb+HDRLved0McPanc129vnuu884jp/T4fju6BEWWj1oNXRFG3VVVdKxBOUlPIS5668Vzs8H0kp50gpJaVEREREipTHbqjDE13MPt7bC7bzf7/vdN/JnFP4VFfK+2WkwZKsVfbaPw6BIdbGU9RVaQF2P0g4BCf3Wh2NSJGlpJSXOJZ4duW9q8oHX3rntCSI32+2NX1PREREpMh55PraPHWj2c8bt3AH43/b4Z4T1bre/OB9fOfZLz3FO63/Ek7th5IVoMUwq6Mp+vyDoHIzs71XdaVE3EVJKS+xo0Ar72V1GILKaR65iIiISBE1olMtnu1eF4Dxv+1k3K/bMVw9jSgw9GztHI2W8l7pZ2DpO2b72qfMhIm4X41zpvCJiFsoKeUldh4tyMp7zql7GiUlIiIiUpQ92LEmY3rUA+D//tjFO+5ITEX1MJ+VlPJeaz6D07EQWg2uGWR1NMWHs66Uip2LuI2SUl7COVIqX0XO45xFzmu7MSIRERER8Qb3XXsVz/eqD8CHi/7ljfnbXJuYiupmPh9YBUnHXXdccY3URFj+ntnu+DT4BlgbT3FStRXYfMzSKaf2Wx2NSJGkpJSX2Hkka6RUhfyMlMqqKaB6UiIiIiLFwtD2kYztbSamPl6ym9fmbnVdYqp0NajQEAwH7PzVNccU11n1ESQfh7I1ofEdVkdTvASUhEpNzbZGS4m4hZJSXsBcec85fS8fI6WOZSWlNH1PREREpNgY0i6S/958NQCfLtvDf39xYWIqexW+ua45nrjGmZOw8n2z3ek/4ONrbTzFkbPm2j4VOxdxByWlvMCxxFQSUjLyt/JeZgac+Ndsa/qeiIiISLEysE0NXu3bAIDPV+zhpZ+3uCYx5UxK7fod0lOu/HjiGivfh9R4CL8arr7F6miKJ2dSSiOlRNxCSSkv4KwnVSM/K++d2geZaeBbAkKreiA6EREREfEmd7Wqzhu3NMRmg8kr9/Li7M1Xnpiq2ARKVYT0JNirESFe4fQxc+oeQOcxYNdHN0tUbQU2O5zcA/GHrI5GpMjRf9m8wI6C1JM65ixyXkv/YxIREREppga0rMabtzbCZoOv/tzHc7P+weG4gsSU3Q51sgqeawqfd1j+npkkrHTN2RUSxfMCQ6BiY7O9T6OlxIP2LIXTR62Owu2U1fACO4+aI6XyVU8qTvWkRERERAT6Na/K27c1xmaDKX/tZ8ysTVeWmHImPrbPA1eu7icFF38I1nxmtjs/BzabtfEUd9Xbmc8aRSieEv0NfNkbPrsBkk9YHY1bKSnlBS5r5b2wOm6MSEREREQKg9uaVWFcv8bYbTB19QGenfn35SemIq8FvyBIPAwxG10bqBTM0rchM9VMhtTsbHU0kl3sXCOlxANOH4UFY8z2qX0wY4hZW7qIUlLKYueuvFenQgFGSpVXUkpEREREoG/TKrzXvwl2G3y39iBPff83sfEppGZkFuxAfoFnEyDb57k+UMmfE3sg+muzrVFS3qFaG8AGx3dBYqzV0UhRN380pJwyB6L4BcOeJbDwBaujchutKWqxowVZec8w4Jim74mIiIhITjc3qYzdZuOx6Rv4Yf1Bflh/EIBSAb6ULelP2WB/ygWbz2Wy2wHZ28oG+1OupD9BUT1g2y9mXalOoy2+qmJqyZvgyICa10P1tlZHIwAlSkNEA4jdZI6WanCr1RFJUbVzIfzzvVlc/5ZP4NR++G4QrPoQKjaCxgOsjtDllJSy2M5zVt4L8M1j5b3TR80lYW12KFfTA9GJiIiISGHRu3El/HzsvDp3CzGnUshwGCSmZpCYmsG+48n5OkZFP19W+Niwx/7N45/8gi20ipm0Knk2kVU22J8a5YIoVzLAzVdUDB3bDn9PN9udx1gbi+RUo4OZlNqrpNQVSUuCQ+vNhKs9j8+/xU3qafhllNluPRwqNTUf1z5lTumdPdIcPVX5GmvjdDElpSxWoJX34rJW3itTA3zVCRARERGRnLo1iKBbgwgMwyDhTAbHk1I5kZTG8aQ0TmQ9jp9O40RSas5tSWmkZTiISS/JOlttWth3ELzvN77J7JLrefx97LzbrzG9G1fy8BUWcYteA8MBdXtB5WZWRyPnqt4OVk1QXakrcXAtzLwPTuyGDk/C9c9bHZF3Wfw6xO+H0GrQ6T9nt1/3HzMhumM+TL8b7l8MJcMtC9PVLE9KTZgwgbfffpuYmBiuvvpqxo8fT4cOHS66/5QpU3jrrbfYuXMnoaGhdOvWjXfeeYdy5cpl73Pq1CnGjBnDzJkzOXnyJJGRkbz77rv06OF9S6nuPFqAelLHspJSKnIuIiIiIpdgs9kIDfIjNMiPq8rnvb9hGCSlZXLidBo+f/4Na99gRKUdVGnwSI5E1omkNI4mphITn8Ko7zZQJsif9rXD3H9BxUHMRtgyC7Dl/EAq3sE5lfLYNjh9DErm4w9LTJnp5kifpe+AkVXrbv2XcN2z4ONnbWze4tB6M+kJ0Gsc+J9T2seeNZXv0+vh+E5zOt+g2eDrb02sLmZpofPp06fz2GOPMWbMGKKjo+nQoQPdu3dn//79ue6/fPlyBg0axNChQ9m8eTMzZsxgzZo1DBs2LHuftLQ0unTpwt69e/n+++/Zvn07n376KZUrV/bUZRXIjqzpe7XC8zNSaqf5rKSUiIiIiLiQzWajZIAv1coFUbmVOTWp4ok1PNg6nP/0qMe7/RrzxT0t+enh9ix/pjM9G1YkPdPgga/X8s+heIujLyIWvWY+N7gVKlxtbSxyoaCyEJ51XzRaKv/idsKkLmatNCMTGt4OweUh6ZhZP0nMlfV+HmmOkmxwG9TOZYRqYCjcMRUCQmD/nzD/Gc/H6SaWJqXGjRvH0KFDGTZsGPXq1WP8+PFUrVqViRMn5rr/qlWrqFGjBiNHjiQyMpL27dvzwAMPsHbt2ux9Pv/8c06cOMGsWbNo164d1atXp3379jRu3NhTl5VvhmGws0Ar72mklIiIiJgmTJhAZGQkgYGBNGvWjGXLll1035kzZ9KlSxfKly9PSEgIbdq0YcGCBRfsd+rUKUaMGEHFihUJDAykXr16zJ07152XId4orDaUrQmZafDvHxe87GO3Ma5/Y9rWLEdSWiZDvljN3rgkCwItQg6sMafm2HzgOhWY91o12pnPSkrlzTBg9afwUQc4HG0mVW77HG79DBr1N/eJ/sbaGL3Fqgnm9LzA0tDt9YvvF1bb/P1hg7Wfw9ovPBWhW1mWlEpLS2PdunV07do1x/auXbuycuXKXN/Ttm1bDh48yNy5czEMgyNHjvD999/Ts2fP7H1mz55NmzZtGDFiBBUqVKBBgwa89tprZGZefEnc1NRUEhIScjw8wbnyno/dlvfKe3B2pFR5rbwnIiJSnBV0tPnSpUvp0qULc+fOZd26dXTq1InevXsTHR2dvU9hG20ubmSzQVR3s719Xq67BPj68PHAZtSvGELc6TQGfb6ao4kpHgyyiPnjv+ZzkzsgrJa1scjFVc9KSu1VUuqSEmLgm1th7pOQcQau6gTDV50tEN/0bvN55wJzMa/i7OTes6Mkb3w171pRdW6Ezs+Z7blPwf5Vbg3PEyxLSsXFxZGZmUmFChVybK9QoQKxsbG5vqdt27ZMmTKF/v374+/vT0REBKVLl+b999/P3mf37t18//33ZGZmMnfuXJ577jneffddXn311YvG8vrrrxMaGpr9qFq1qmsuMg/OIufVywXlvfJeaiIkHDLbYbXdHJmIiIh4s4KONh8/fjxPP/00LVq0oHbt2rz22mvUrl2bn3/+OXufwjTaXDwgKqsW644F5tSSXJQK9GPyvS2oVjaI/SeSGfL5GhJT0j0YZBGxZynsWQJ2P+hYdKbkFEnOpNTRzZB8wtpYvNXmWTCxDfz7O/gGQve34O6ZEHLOogjh9cxC/o6Ms6tNFkeGAb88bibuanSAJnfl730dnoD6N4MjHaYPhPhD7o3TzSydvgfm/PVzGYZxwTanLVu2MHLkSF544QXWrVvH/Pnz2bNnDw8++GD2Pg6Hg/DwcD755BOaNWvGgAEDGDNmzEU7aQCjR48mPj4++3HgwAHXXFwenPWkaheknlRwOJQo48aoRERExJtdzmjz8zkcDhITEylbtmz2tssZbS5FWNVWZp/zzAk4uPqiu4WXCuSre1sSVtKfLTEJ3P/VOlIz9G8m3wwDfs8aJdX8Hihdzdp45NJKloewrFkr+/L339tiIyUeZj4AMwbDmZNQsTE8sBRaPWAW6j6fc7RU9Dfm30FxtGmGOUXaJwB6jTdHqeaHzQY3TzBrnCUdNVfkSy+8I1UtS0qFhYXh4+Nzwaioo0ePXjB6yun111+nXbt2PPXUUzRq1Igbb7yRCRMm8PnnnxMTEwNAxYoVqVOnDj4+Z0ce1atXj9jYWNLS0nI9bkBAACEhITkenrCrICvvxe0wnzV1T0REpFi7nNHm53v33XdJSkqiX79+2dsuZ7S5VSUQxAN8fKH2jWZ7+6XritUIC2byPS0J9vfhz93HeXz6BjIdxfRDZkHtXGgm/XxLmKMfxPvVaG8+q67UWXuWwcR28Pc0sNmhw5Mw9LdLf3ZtcKs5kurYNnPlueIm+QTMf9Zsd3yq4NN2A0rCHd+aXx4cXm+OuCqkyT3LklL+/v40a9aMhQtzVtxfuHAhbdu2zfU9ycnJ2M/LsjqTT0bWDWjXrh27du3C4XBk77Njxw4qVqyIv793LZmYPVKqIEkpTd0TERERCjba/FxTp05l7NixTJ8+nfDws7UrLme0uVUlEMRD8qgrda4GlUP5ZFBz/HxszN0Uy0s/b87un8tFOBxna0m1vA9KRVgbj+SPs9j53uXWxuEN0lNgwRj4sjfEH4AyNeCe+XD98+Cbx2fvwFCod5PZ3lAMC54vGAPJxyG8PrR99PKOUaYG3D7ZTARu/Bb++siVEXqMpdP3Ro0axWeffcbnn3/O1q1befzxx9m/f3/2dLzRo0czaNCg7P179+7NzJkzmThxIrt372bFihWMHDmSli1bUqmSOUf1oYce4vjx4zz66KPs2LGDOXPm8NprrzFixAhLrvFiDMPIrilVp0I+pu8dc668p5FSIiIixdnljDZ3mj59OkOHDuW7777jhhtuyPHa5Yw2t6oEgnhIrevBxx+O7zpbSuIS2tUK473+TbDZ4Ks/9/HBH7s8EGQhtu1niP0b/EtBu8esjkbyq3rWSKnYTeY0teIq9h/4tDP8+QFgwDWD4cEVUK1V/o/RNKuG0qYfIP2MW8L0SrsXm0kkbND7f3kn8C7lquug6ytme8EY89iFjKVJqf79+zN+/HhefvllmjRpwtKlS5k7dy7Vq1cHICYmJscqMkOGDGHcuHF88MEHNGjQgNtvv52oqChmzpyZvU/VqlX59ddfWbNmDY0aNWLkyJE8+uijPPvssx6/vks5kpBKYtbKe5Fh+Vl5TyOlRERE5PJGm4M5QmrIkCF8++23OVYudrqc0eZWlUAQDwkoZRbfhTyn8Dn1alSJF3vVB+DdhTuYujr3FSGLPUcm/JE1NbbNcAguZ208kn+lKkC5WoBRJFY+KzBHJqz4H3zaySz4Hlwe7pgGN/2fOaWsIGpcC6HVIDUetv7inni9TfoZ+Pkxs91iGFRteeXHbD0cGg0AIxNm3GOu6FeIWF7ofPjw4ezdu5fU1FTWrVvHtddem/3a5MmTWbx4cY79H3nkETZv3kxycjKHDx/mm2++uWCp4jZt2rBq1SpSUlL4999/+c9//pPjWz9vsPNoAVbey0yHE7vNtmpKiYiIFHsFHW0+depUBg0axLvvvkvr1q2JjY0lNjaW+Pj47H0Ky2hz8bACTOFzGtIukoc7mfVRxvy4iQWb81frrFjZNAPitkNgaWijv7FCp3oxncJ3cp85VW/hC5CZZq7S+dCfZ/87UVB2OzS502wXlyl8S96Ck3ugVCW4/gXXHNNmg97joVJTc3GKaXdBWpJrju0BlieliitnPak64fmoJ3Vij7lcpl8whFTOe38REREp0go62vzjjz8mIyODESNGULFixezHo4+erWNRWEabi4c5P2we+AuS4vL9tie61qF/86o4DHhkajR/7T7upgALocx0WPy62W73qFlbRwoXK4qdZ6bDXx/D/NGw/ms4HO25KW+GARummsXM960A/5Jw0wcw4FtzRcIr4UxK7V4Cp4r4yMrYf2Dl/5ntnu9AoAtHF/uVgP7fmCPXjvwDs4YXmsLnvlYHUFztLEg9qXOn7uV3mUgREREp0oYPH87w4cNzfW3y5Mk5fj5/5PnFOEebi2QLrQIRjczaRzt/PfsBMg82m41X+zbgeFIav209wrCv1jLjwTbUjdAUT6K/MafXBJeHVg9YHY1cDudIqZiNkJLg2uRCbuJ2wcz7zFXWzmWzQ7naUOFqiGgAFbIeIZVc97kx6Tj88hhsnW3+XLUV9P0Yyka65vhlqkPktbBnqZn4uu4Z1xzX2zgy4eeR5mCTer2h7oXT6K9YaBXo97U5mm3LLFj+HnQY5frzuJhGSlnEWeS8Vr5W3ssqcq6peyIiIiLiaVE9zOd81pVy8vWx88GdTWlRowyJKRkMmrSaAyeS3RBgIZKeAkvfNtsdngD/fNSWFe8TWtlc+cxwmKMI3cUwYN1k+LiDmZAKDIXmQ80kTomy5vnjtsPmmfD7y/BtP3ivPrwVCZN7wbxnzFFVh9Zf3qiqnQthYhszIWX3Naeb3TPPdQkpp6YDzecN35irUhZFaz6DQ+sgIAS6v+2+81RvAz3eMtu/vww7fnXfuVxEI6UsYBgGO49mTd/L10iprNVOVORcRERERDwtqjsseQN2/WEmVfwC8/3WQD8fPhvUgts/XsmOI6cZ/Plqvn+oLWWDr2C1qcJs3ReQcMgsydHsHqujkStRo7054m3vcqjdxfXHTzoOsx+B7XPMnyOvhT4fmQkxMBNWibHmVK0j/5hTw45sNmfZnDkJe5eZDyeb3SzQXqFB1siqhuZzSOULR1WlJcGvz8PaSebPYVFwyydQqYnrrxOgbi8zWXNqP+xbbl5rURJ/0EwQAdwwFkIquvd8ze81R/Gtmww/DIP7/oCwWu495xVQUsoCBV5571jWSKkwjZQSEREREQ+r2Ngsypt42PyQW8AP4KFBfnx1bytunbiS3XFJ3DN5Dd8Oa0VwQDH7KJKWBMveNdsdny5Qck+8UPX25lRMd9SV2vkb/DQcTh8Bu585QqnNw2ZhcCebzUxuhFTM+TeZkQrHtp1NUh3ZZLbPnDATVnE7zJFVToGlzURVRFayKqicmZA68a/5equH4IYXzZpF7uIfBA1uNZO20d8UraSUYcCcJyDttDn10VPJ6O5vw9FtcGAVTLsDhv3u/mmml6mY/Z/AOzin7tXIz8p7hnHOSKk6bo5MREREROQ8Nps5WmrtJHMK32WMCokIDeTLe1ty20cr2XjgFA9NWc+kwc3x8ylG1UT++hiSjkGZSGhyl9XRyJWqkVVX6tB6SD0NAfmYAZOX9DOw8EVY/bH5c1gU3PoZVGyU/2P4BpiJ5IqNz27LHlWVlaQ6stlMVMXtgJRT5uikfeetJFiqEvSZADU7XfFl5UvTu82k1JbZ0OPtorMAwJafYMd8M7nY+385E4vu5OsP/b6CT64z7/PM+83C9J46fwF4X0TFgDMpVTs/K+8lxkBaIth8oOxVbo5MRERERCQX2XWl5l32ik61wkvyxZAWlPDzYemOYzz9/d84HIVjdagrduYUrPif2b5uNPj4WRqOuEDpahBaDYxM19SVit0En3Q6m5Bq+QA8sKRgCamLcY6qqn0DtH/cTHSNWAVjYuCBpdBnIrQeAZEdIbQqNL4Thq/0XEIKoHIzMwmXcQb+mZn3/oXBmVMw72mz3f5xCK/n2fOXqgADvgGfANgx7+yqn15GSSkL7CpIPSnn1L2yV5nZThERERERT4vsYC4DnxgDMRsu+zBNq5Vhwt3X4GO38WP0IV6ft9V1MXqzVRPMESnl60LD26yORlzFOVrqSqbwORyw8n34tDMc2wrB4XDX92axandOmYOzo6qa3AndXoPBs+Hxf6DvRChRxr3nPp/NZo6WAtgwxbPndpffXjSnYJarbS5sYIXKzcwRWgBL3zJHonkZJaUskD1SKl8r72nqnoiIiIhYzDcAanY229vnXdGhOkWF89at5uiPT5ft4ZOl/15pdN4t6Tj8+aHZ7vQfsOdRvkMKj+pZSam9l5mUij8EX/eBX5+DzDRzROLwP91TOL0waNTfnCF0cM3ZwRmF1b6VZqFxgN7jra0h1+QOaD3cbP/4IBzZYl0suVBSysMMw2DnEedIqfwkpbL+GMsrKSUiIiIiFsqewjf3ig91a7Mq/KdHXQBem7uNH9YdvOJjeq0V75lFjiMaQb2brI6m2DqdmuH6g2bXlVoHackFe+/mWTCxLexZAr4loNd7Zs2f4DCXh1lolKoAdW4029HfWBvLlchIhZ8fNdvXDDJXarRal/+aBeTTk8zC58knrI4om5JSHhabkEJiqrnyXo2woLzfELfDfNZIKRERERGxUu2u5rLysZvg1IErPtz919bkvg6RADz9w98s2nb0io/pdRJjYfWnZrvz8+YUJfEowzB4be5WGry4gIe+WceJpDTXHbxMpFkQ3JFuju7Jj9REmDUcZgw2p3RWagoPLoPm9+rfB5xdBGDjNMhMtzaWy7VsnPk5PjgcurxsdTQmH1+4bbJZC+3kXvj+Xsh0Q6L2Migp5WHOUVL5WnkP4JgzKRXlxqhERERERPIQXA6qtjbbO+a75JCju9ejb9PKZDoMhk9Zz/r9J11yXK+x9B3ISDGXgi+uU7IsZBgGr8zZyidLdwMw759Ybhy/lMXbXZQAtdnOjoLJT12p/X/BR+2zaibZzDpDQxdCWG3XxFMU1LkRgstD0lHY9ZvV0RTcse2w7F2z3f1Nz9fmupTgcjBgKvgFwe5F8PtYqyMClJTyuKplg3iyax3ubFU9751T4uF0rNkOq+XewERERERE8hLV3Xx2wRQ+ALvdxlu3NaJjnfKcSc/k3slr2HU00SXHttyp/WdrymiUlMcZhsGrc7YyafkeAEZ2rkWt8JIcS0xlyBdreH7WP5xJy7zyE9XIR12pzAxY9Bp80c0cpRJaDe6ZC9e/oJUYz+fjZ9aWgsI3hc/hMKftOdKh9o1wdV+rI7pQRAPoM8Fsr3wf/v7O2nhQUsrjIsOCebhzbYa2j8x7Z2eR81IVITDUvYGJiIiIiOTFWVdqzzJISXDJIf187Ey46xoaVy3NqeR0Bk1aTUz8GZcc2zIZafDjQ+aH08iO5uqF4jHOhNRnWQmp1/o2ZFTXKH55pD1D2tYA4OtV++j5f8vYeODUlZ2setZIqYNrID3lwteP/wuf3whL3gTDYSZcHloO1dte2XmLMucUvh3z4fQxa2MpiPVfwv4/wS8Yer7rvYnoq/tC+1Fme/YjcHiDpeEoKeXNnCsOqJ6UiIiIiHiDsFrm8uaOdPhtLBiGSw4bHODLF0NacFX5YA7HpzD489XEJxfSejKGAXOfhH3Lwb8U9HjbjacyMFx0D4oKZw0pZ0Lq1b4NuLNVNQAC/XwYe9PVfD20JRVCAtgdl8StE1fyf7/vJCPTcXknLFcTSlaAzFQ4tPbcQGD91/BRB3N7QCjcOglu+UQDDvJSoT5UugYcGbDJ+pE8+ZIYCwtfNNvXPw+lq1obT146P2fWCcxIgcVvWBqKr6Vnl0tTkXMRERER8TY3vAjTB8LaSRBSEa59yiWHLRvsz1f3tuTWiSvZceQ0/T/5k/uvvYruDSpSwj8ftVi9xepPYP2XGNhYUPdVtm+0k565nfRMB+mZBumZDjIcDtIycrYzHA5znwyD9FzaGVnvTctwkOEwso9XNtifF3vX5+Ymla2+css5E1KfLjubkLorl7IpHWqXZ8Fj1zJm1j/M+TuGcQt3sGj7Ud7r14QaYcEFO6nNBtXbweaZ5hS+Gu3Nlc1+Hglbfzb3qd4e+n7k/YkKb9L0bji83pzC13q49446cpr3NKTGm4XrW95vdTR5s/vArZ/B0rfhuv9YGorNUGr9AgkJCYSGhhIfH09ISIh1gUy9w5yv3+MdaHmfdXGIiIgUY17TLygE9LsqRv762PwQBnDTB3DNQJcdeltsAv0++pOEFHNlqJIBvvRqVJHbm1fhmmplsHnxh9NTm+YT8sMd2HHwSvpdfJbZ02PnvqtVNZ7vVZ9Av0KUwHMhwzB4fd627KLmr/RpwN2tL13H1zAMftpwmOd/+ofElAyC/H14vld9BrSoWrB/Z2s+gzlPQOS10P5xc3W9xBiw+0HnMdB2pJkEkPw7cwrejTJH8ty3CCpfY3VEF7dtLky7A2w+cP9iqNjI6oi8Qn77BBop5c2yR0ppNQYRERER8SKtHjCnqywfZxb2DS4PUd1ccui6ESH8+nhHpq85wPfrD3DgxBmmrTnAtDUHuKp8MLc1q8Kt11ShQkigS853pc6kZfLrllhW/rWKMYcfxm5z8F1GRyYbPekUVZ6KpUvgZ7fh52PHz9ee3fb1sePnY8Pf146v/cK2n48962HD18eOv48d36ztzravj42vVu7jg0W7mPLXfjYePMWEO5tRrVyQ1b8Wj7qchBSAzWajT9PKtIgsyxPfbWDV7hOMnrmJ37ce4fVbGlG+VED+AnDWldq7AvYsNdvlapsjUSo1uYwrEkqUhnq9YdMMc7SUtyalUhLM6boAbR9WQuoyaKRULrziW76MNHg1AoxMGLXNHBotIiIiHucV/YJCQr+rYsYwzBEhG78F3xIw+Geo2sKlp3A4DP7ac4IZ6w4wb1MsZ9LN1dLsNri2Tnlub1aVG+qHE+Dr2VEomQ6DVbuPM3P9Ieb/E4NPWjyz/F/gKnssW3zrs77Tl/RoUoOywf4eiWfR9qOMmr6Bk8nplAr05e3bGtOtQYRHzm01wzB4Y942Ps5KSP23TwMG5iMhdT6Hw2DS8j28vWA7aZkOygX788atjehSv0J+goC3a0FynPlz86HQ9RXwL17JQZf7dxF83ceswfXEdvArYXVEF5r7NKz+GMrUgIf+1D0/R377BEpK5cIrOlRHt8GEVmZxxNEHvH8OrYiISBHlFf2CQkK/q2IoMx2mDoBdv0GJsjD0V7eN8j+dmsHcv2OYse4Aa/aezN4eWsKPm5tU4vZmVWlQOcSt0/u2xyYyM/ogP0UfJjbBXGnNh0ymBb1DC8dG0ktWxu/BJVCyvNtiuJjDp87w8LfrWb//FABD20fyTLe6+PsW3bWtDMPgjfnb+HjJlSWkzrUtNoHHpm1gW2wiAANaVOX5XvUJDshjktHy92DjNLjhJZeNGiz2HA74XyOIP2AWiW94m9UR5XRwLXx2A2DAwB+hZmerI/IqSkpdAa/oUG35Cb4bBJWbwX1/WBODiIiIeEe/oJDQ76qYSj0NX/Y2ixKHVjMTU24e5b8nLonv1x3gh3WHspNDAHUjSnFbsyr0bVqZciXzOfUqD0cTUpi98TAz1x9iS0xC9vaQQF96Na7Eo2mfUmHrl+Yy8EMXQERDl5z3cqRnOnhr/rbsQt9Nq5XmgzuvoXJpLxxhcoUuSEjdfDUD29RwybFTMzIZ9+sOPlm2G8OAamWDeK9/E5pVL+OS40sBLHoNlrwJV3WCQbOsjuaszHT4uCMc3QyNBsAtH1sdkddRUuoKeEWHasnbsOgVaHwn9J1oTQwiIiLiHf2CQkK/q2IsKQ4mdYETu6FCQ7hnjkeWvc90GCzfFceMtQf4dcsR0jIcAPjabXSuG87tzatyXVR5/HwKNlooOS2DXzcfYWb0IZbvPIYj6xOTn4+N66LCuaVpZTrXCydgw5fwy+Pmi/2nQL1erry8y7ZgcyxPzthIYkoGpYP8eK9fEzrVDbc6LJcxDIM352/noyX/AvDyzVczyEUJqXOt2n2cJ77byKFTZ7DbYESnWoy8vnaB/z3JFTi5F/7XGLDBY5u8ZwXDZe/C7y+bI0QfXgvB5ayOyOsoKXUFvKJD9cN9sOk7uP5F6DDKmhhERETEO/oFhYR+V8XciT0wqSskHYUaHeDuH8DXNaOV8iM+OZ3ZGw8xY91B/j4Yn709rKQ/fZtW5rZmVYmKKHXR92c6DP789zgzow+y4J9YktIys19rWq00tzStTK9GlSjjrBO1Zyl83RccGXD9C9DhCbdd2+XYfzyZEd+uZ9Mh83cx/LqajOpSB99CnlDxVELKKSElnbE/bWZm9CEAGlYO5b3+TagVXtJt55TzTO4Fe5dBpzHQ8Wmro4FD6+HzbpCZCn0/hsYDrI7IKykpdQW8okP18bUQsxEGfAt1PbeUrIiIiOTkFf2CQkK/K+HwBpjcE9JOw9W3mHVg7J5PgmyPTeT7dQf4MfoQcafTsrc3qhLK7c2qcFPjyoQG+QFmDaEf1x9i1oZDHElIzd63Wtkg+jStTN+mlYkMC855ghO74dPOcOYkNLwdbvnUK2vApqRn8uqcrXy9ah8ArSLL8v4dTQn3kpULC8owDN5asJ2Jiz2TkDrXnL9jGDNrE6eS0wnwtfOfHvUY1Ka6W2uYSZaN0+DHB8xi4o9EW/LflGynj8EnHSHhEET1MD+v699ArpSUugKWd6gcDni9MqQnm0MB3VQsUkRERPJmeb+gENHvSgD49w+Y0g8c6dDqIej2umUf2tIzHSzefowZaw/wx7ajZGTNw/P3tXN93XD2Hk9m6zl1okJL+NGrUUVuuaYy11Qrk3vCISXBLG4ct92s/zpkjneuCnaO2RsPM/qHv0lKyySspD//N6ApbWuFWR1WgViZkHI6kpDCkzM2smynucpeh9phvHN7YyoU0iRfoZGWDO/UgbREGPwLRHawJo7MdPjqZti3AsrVhvt+98g05cJKSakrYHmH6tQBGN8A7H4wJgZ8/Dwfg4iIiABe0C8oRPS7kmx/z4CZw8x2l5eh3aPWxgPEnU5lVvQhvl93MHtlNTDrRHWuG07fplXoVLc8Ab4+Fz+II9NcbXDnr1CqEty/CEpFeCD6K/fvsdOMmLKebbGJ2Gzw2PV1eLhzLXzs3j/KwzAM3l6wnQlZCamXbrqawW1rWBbLV3/u47W5W0nNcFA6yI/X+jakR0P3Fvcv9maPhPVfQuM7oO9H1sQw7xn46yPwL2UuRla+jjVxFBJKSl0ByztUu36Hb26BsCh4eLXnzy8iIiLZLO8XFCL6XUkOK9+HX58z215Ud8UwDP45lMCvW2KpEBJIr0YVKR3kn783//qceV2+JeDeeVCpqXuDdbEzaZmMnb2Z6WsPAOZIn/H9m7hspUJ3MAyDd37dzoeLrE9InWvX0dM8Pn1Dds2uW5pWZuzNVxMSqAEFbnFgDUy6wfzbe3IHBHr4/zEbpsKsB822SuzkS377BIW7yl1RFbfDfFbmVUREREQKq7aPQJuHzfZPI8wvXr2AzWajYZVQnugaxd2tq+c/IRU9xUxIgbk6diFLSAGU8Pfhzdsa8c7tjQn0s7NsZxw9/285a/aesDq0XJ2fkBrbu75XJKQAaoWX5IeH2vJwp1rYbTAz+hA9/reMowkpVodWNFVpDmF1IOMMbP7Rs+c+tB5+zhrt2fEZJaRcTEkpb3Rsu/kcFmVtHCIiIiIiV6LLf6HBbeYKddMHmh/uCqP9q875UPosXN3X2niu0G3NqvDTiPZcVT6Y2IQUBnyyio+X/IvD4T2TaAzD4N1fd2QnpF7sXZ8h7SItjionf187T94YxYwH21ClTAkOnjzDJ0t3Wx1W0WSzQdO7zXb0N5477+lj5n+7MlOhTjfz719cSkkpbxS303wO00gpERERESnE7HboMxGuug7Sk+DbfubKdYXJqf0w7S6zcHv9m82REkVAVEQpfn64PTc3qUSmw+D1edu4/+u1nEpOy/vNbuZMSH2waBdgJqTu8bKE1LmaVS/Lf29uAMC0NQdISEm3OKIiqtEAsPnAwdVwbIf7z5eZDjOGQMJBKFcLbvnE2pX/iij9Rr1RXNZIKU3fExEREZHCztcf+n0NEQ0h6Rh8fYs5+qAwSD0NU++A5DiIaGQm2IrQh9LgAF/G92/Cq30b4O9r57etR+n5f8vZcOCUZTEZhsG4hWcTUi/08u6ElFPHOuWpFV6S06kZTF99wOpwiqZSFaB2V7O9wQOjpX59HvYtB/+SZh0prbTnFkXnv6hFRfIJ83/WYC4zKSIiIiJS2AWGwF0/QOnqcHIPTLnNTPh4M4cDfnwAjvwDweFwx1TwD7Y6Kpez2Wzc1ao6Mx9qS7WyQRw6dYbbP1rJ5BV78PSaWM6E1Pt/nE1I3dve+xNSAHa7jWFZsX6xYg/pmQ6LIyqimt5lPm+cBpkZ7jvPxmnw10Sz3fdjKK/SOu6ipJS3cU7dC6kCASWtjUVERERExFVKVYC7Z0JQOYjZAN8NhAzrp4pd1KJXYNsv4BNgJqRCq1gdkVs1qBzKLyPb0+3qCNIzDcb+vIWHv40m0UNT0QzD4L1zElLPF6KElFOfppUJK+nP4fgU5m6KsTqcoqn2jeZ/Q04fgX/dtHjC4eizNeSufRrq9XLPeQRQUsr7OFfeC9MoKREREREpYsJqwZ0zwC8I/v0DZj8CHh6Nky9/z4Bl75rtm943V/4qBkIC/Zh49zW80Ks+vnYbczbF0Pv95SzadpRNB+PZeSSRAyeSOZaYyunUDDJcNBrIMAze+20n/5eVkHquZz2GFrKEFECgnw8DW9cA4LNlnh9pViz4+pu1pQCiv3b98ZPizMLmGSlmYfPrRrv+HJKDr9UByHmy60lpeKCIiIiIFEFVmkG/r+Db/vD3NCgVAV1esjqqsw6ug59GmO32j0Pj/tbG42E2m41720fSpFppHvk2mr3Hk7ln8pqL7u/nYyPQ14dAfx9K+PkQ6GenhJ8PAX45fw4855G93d+HQF8ftsQkMHnlXsBMSA3rcJWHrtb17m5djQmLd7HpUDx/7TlB66vKWR1S0dP0Llj1IWyfbyaRgsNcc1xnYfP4A1C2pjltrwjVkPNWSkp5G+cqAlp5T0RERESKqtpdzBFIPw2HFePNxFTrh6yOCuIPwbQ7spZ/7w6dX7A6IstcU60MvzzSnv/+soXoA6dISc/kTHomKemZpKSfHSGVnmmQnplBYuqV1/cp7AkpgHIlA7i1WRW+/Ws/ny3braSUO1S4Gio1NafZ/f0dtBnumuMufAH2Ljtb2LxEadccVy5JSSlvE6eklIiIiIgUA03vgtOx8PvLMH80lAyHBrdaF09aMky706xVE14fbv202I+SKBPsz7j+TS7YbhgGqRkOzqRlkpKRaT6nOziTnklqdvLKcU4SK/OcpNb52x2kZzq4uUllbmtWNOp2DW0fybd/7ee3rUf599hpapZXrWCXa3KXmZSK/sZMaNtsV3a8jdNg1QSz3fcjCK975TFKvigp5U3SU+DUPrOt6XsiIiIiUtS1HwWJsbD6E/jxQQguD5HXej4Ow4BZD5kF2IPKwR3TIKCU5+MoJGw2W/ZUPLlQzfIluaFeOL9tPcqk5Xt4rW9Dq0MqehreBgvGwNHN5t9tpaaXf6zDG84pbP4U1Ovtiggln4p36t/bnPgXDAcEhpr/QxYRERERKcpsNuj2BtS/GTLTYNpdELvJ83EseQu2zAK7H/T/BspU93wMUqQ4pyH+sO4gx0+nWhxNEVSizNlV8aKnXP5xkuJg+t1mYfPaXVXY3AJKSnmTY1lFzsOirnz4oYiIiIhIYWD3gb6fQPV2kJoA39wGJ/d57vybZ8Hi18x2r3FQva3nzi1FVqvIsjSsHEpqhoNvVu23Opyiqend5vOm78xZRwWVmXFOYfOr4JZPzf8eiUcpKeVN4naaz6onJSIiIiLFiV+gWVg4vL5ZZ+qbWyHpuPvPG7PRnDYI0HoEXDPI/eeUYsFmszGsQyQAX6/aS0p6psURFUGRHSGkCqTEw/Y5BX+/Cpt7BdWU8iZxWSOlyispJSIiIiLFTInScPcP8FkXOL4TJrSG0MrmB8aAUlnPJQv2s2/AxWcgJMbC1Dsg4wzUugG6vOzRy5Wir0fDirw5bxuH41OYFX2IAS2rWR1S0WL3gSZ3wtK3zILnBVkoYeN0WPWh2e4zEcLruSdGyZOSUt7kmHPlPRU5FxEREZFiKKSSmZia3AOSjpqPK2H3vUjSqqTZ9044ZM5SuO1z8NFHI3EtPx8797SL5NW5W/ls+R76Na+K3a4yLS7lTEr9uwjiD0JoPlZwjNkIP4802x2egPo3uTdGuST9l9dbOBzmN0IAYbWtjUVERERExCrhdWFktFnwPPU0pJ2G1MSs50v9nHR2W3qSeSxHBqScMh+5CSxtrrQXGOqhi5Pipn/Lqvzv953sOnqaJTuO0aluuNUhFS1lI6FGB3Ma3sap5up5l5J0HKZlFTav1QU6jfFMnHJRSkp5i/j95h+Gjz+UqWF1NCIiIiIi1gkMhRrtL//9jsycSaq0xHMSWFk/Z6RCVA/zQ62Im4QE+jGgRVU+W76HT5ftVlLKHZrcZSaloqdAhycvPmU3MwO+H2J+9i4TCbeqsLk3UFLKWziLnJerpT8MEREREZErYfeBwBDzIWKxe9pH8sXKvaz89zibD8dzdSWNzHOp+jfB3Kfg5B7YtxJqtMt9v99ehD1LwS84q7B5Gc/GKbnS6nve4lhWkXOtvCciIiIiIlJkVC5dgh4NKwLw2bI9FkdTBPkHQ4O+Zjv6m9z3+XsG/PmB2e47ESrU90xskiclpbxFnLPIuZJSIiIiIiIiRcl9Hcxpoj9vPExM/BmLoymCmtxtPm+ZZdaYO1fMRpj9iNluPwrq3+zR0OTSlJTyFs6kVHmtvCciIiIiIlKUNKpSmpaRZclwGExeudfqcIqeqi2hXG1IT4bNP57dnl3Y/AzUugE6P2ddjJIry5NSEyZMIDIyksDAQJo1a8ayZcsuuf+UKVNo3LgxQUFBVKxYkXvuuYfjx49nvz558mRsNtsFj5SUFHdfypXRSCkREREREZEi674OVwHw7V/7OZ2aYXE0RYzNBk3vMtvRU8znzAz4/p5zCpt/pvrNXsjSpNT06dN57LHHGDNmDNHR0XTo0IHu3buzf//+XPdfvnw5gwYNYujQoWzevJkZM2awZs0ahg0blmO/kJAQYmJicjwCAwM9cUmXJ+k4JB8HbGahcxERERERESlSrq8bzlVhwSSmZPDdmgNWh1P0NL4DbD5wYJW5kNhvL8KeJSps7uUsTUqNGzeOoUOHMmzYMOrVq8f48eOpWrUqEydOzHX/VatWUaNGDUaOHElkZCTt27fngQceYO3atTn2s9lsRERE5Hh4tbisIuelq4J/kLWxiIiIiIiIiMvZ7TbubW/Wlvp8xR4yMh0WR1TElIowp+gB/PjA2cLmfT5UYXMvZllSKi0tjXXr1tG1a9cc27t27crKlStzfU/btm05ePAgc+fOxTAMjhw5wvfff0/Pnj1z7Hf69GmqV69OlSpV6NWrF9HR0ZeMJTU1lYSEhBwPj9LUPRERERERkSLv1muqUCbIj4Mnz7Bg8xGrwyl6mmYVPD+0znxu/zhc3de6eCRPliWl4uLiyMzMpEKFCjm2V6hQgdjY2Fzf07ZtW6ZMmUL//v3x9/cnIiKC0qVL8/7772fvU7duXSZPnszs2bOZOnUqgYGBtGvXjp07d140ltdff53Q0NDsR9WqVV1zkfl1zJmUUpFzERERyZ+C1OWcOXMmXbp0oXz58oSEhNCmTRsWLFhw0f2nTZuGzWajT58+bohcRKT4KuHvw8DW1QH4dNluDMOwOKIipk43CCpntmteD52ftzYeyZPlhc5tNluOnw3DuGCb05YtWxg5ciQvvPAC69atY/78+ezZs4cHH3wwe5/WrVtz991307hxYzp06MB3331HnTp1ciSuzjd69Gji4+OzHwcOeHh+b/ZIqdqePa+IiIgUSgWty7l06VK6dOnC3LlzWbduHZ06daJ37965jibft28fTz75JB06dHD3ZYiIFEsD29TA39fOhgOnWLfvpNXhFC2+/tD7/+CawSpsXkj4WnXisLAwfHx8LhgVdfTo0QtGTzm9/vrrtGvXjqeeegqARo0aERwcTIcOHXjllVeoWLHiBe+x2+20aNHikiOlAgICCAgIuIKruULOmlLlNVJKRERE8nZuXU6A8ePHs2DBAiZOnMjrr79+wf7jx4/P8fNrr73GTz/9xM8//0zTpk2zt2dmZnLXXXfx0ksvsWzZMk6dOuXOyxARKZbKlwqgb5PKTF97gE+X7aZ5jbJWh1S01OtlPqRQsGyklL+/P82aNWPhwoU5ti9cuJC2bdvm+p7k5GTs9pwh+/iYmc+LDXs0DIMNGzbkmrDyCmnJcCprZJam74mIiEgeLqcu5/kcDgeJiYmULZvzg9DLL79M+fLlGTp0aL6OY3ldThGRQmpYB7Pg+a9bjrA3LsniaESsY+n0vVGjRvHZZ5/x+eefs3XrVh5//HH279+fPR1v9OjRDBo0KHv/3r17M3PmTCZOnMju3btZsWIFI0eOpGXLllSqVAmAl156iQULFrB79242bNjA0KFD2bBhQ44pfl7l+C7AgBJlIbic1dGIiIiIl7ucupzne/fdd0lKSqJfv37Z21asWMGkSZP49NNP8x2L5XU5RUQKqdoVSnFdVHkMw1yJT6S4smz6HkD//v05fvw4L7/8MjExMTRo0IC5c+dSvbpZ+C0mJiZHbYQhQ4aQmJjIBx98wBNPPEHp0qXp3Lkzb775ZvY+p06d4v777yc2NpbQ0FCaNm3K0qVLadmypcevL1+c9aQ0dU9EREQKoCB1Oc81depUxo4dy08//UR4eDgAiYmJ3H333Xz66aeEhYXlO4bRo0czatSo7J8TEhKUmBIRyaf7OlzF4u3HmLH2IKO61KF0kL/VIYl4nM1Quf8LJCQkEBoaSnx8PCEhIe492aLXYMmbcM0guOnixdhFRETEGh7tF+RDWloaQUFBzJgxg759zy5z/eijj7JhwwaWLFly0fdOnz6de+65hxkzZtCzZ8/s7Rs2bKBp06bZZRHAnOIHZn3O7du3U7NmzTxj87bflYiINzMMgx7/t5ytMQk8dWMUIzrVsjokEZfJb5/A8tX3ir1jWUXOVU9KRERE8uFy6nKCOUJqyJAhfPvttzkSUgB169Zl06ZNbNiwIftx00030alTJzZs2KDRTyIibmCz2bj/WrO21OSVe0nNyLQ4IhHPs3T6ngBxWasChtWxNg4REREpNEaNGsXAgQNp3rw5bdq04ZNPPrmgLuehQ4f46quvADMhNWjQIP73v//RunXr7NpTJUqUIDQ0lMDAQBo0aJDjHKVLlwa4YLuIiLhOr0aVeHPedmITUpi94TC3N9eXAFK8aKSUlRyZWYXOgfJKSomIiEj+9O/fn/Hjx/Pyyy/TpEkTli5desm6nB9//DEZGRmMGDGCihUrZj8effRRqy5BREQAPx87Q9rVAGDS8j0XXVVepKhSTalceKwewond8H9NwTcQ/hMDduUIRUREvI3qJOWfflciIgUXfyadtq//TlJaJl/d25Jr65S3OiS3cDgMElLSSTiTga+PjRJ+PgT6+RDga8duz3uhDilc8tsn0PQ9Kx3LWnmvXG0lpERERERERIqh0BJ+9GtRlS9W7OXTZbsLTVIq02FwMjmNE0lpHD9tPp9ISuV4Uta2pDROnD7bPpmcRqYj9zExAb52Svj7EOjrQwl/nwt+DvSzE5iVxDKTWfbspNb52wP9fCgZ4EuFkEDCSvrj66PP2t5MSSkrxWUVOdfUPRERERERkWLr3naRfLlyL8t2xrEtNoG6EdaMNo0/k86hk2eyEkmpWYmm8xNM5vZTZ9K5nHlXJfx8yHA4SM88++bUDAepGQ4g3XUXA9htEFYygIjQQCqEBBIREkhEaCDhpcxtESGBVAgNpFSALzabRmtZQUkpK8VljZRSkXMREREREZFiq2rZILo3qMicTTF8tmwP79ze2KPnT8tw8OGiXUxYvCtHsig/Sgf5UTbYn3LB/pQN9qdscEB2u1xJ5zZ/ygUHUCbYjwBfHwAyMh2kZDg4k5ZJSrrz4SAlIzN725n0TFLTHZxJP/tzSroje/+z2x3nHCOThDMZHDudSqbD4GhiKkcTU4H4i15DkL8PFUICqRASkJ2oiggJzNp2NpHlp1FXLqeklJWOKSklIiIiIiIiMKxDJHM2xfDThkM8fWMU4SGBHjnvpoPxPPX9RrbFJgJQ7pxkUrnggLNJpfMSTGWD/SkT5HfZ0+N8feyU9LFTMsA9aYlMh8Hx06nEJqQQG5/CkYQUjiSYPx/J2habkEJiSgbJaZnsiUtiT1zSRY9ns0G54IDsxFVICT/sNht2G+azHWzn/pz9ALvdhi17O/jYbFn7Xvi6+Rr42m20qxVG7Qql3PL78RZKSlnFMDRSSkRERERERABoWq0MzauXYe2+k3z5516eurGuW8+XmpHJ/37bycdLd5PpMCgb7M/LN19Nz4YVi8RUNh+7jfCQQMJDAmlU5eL7JadlmMmq7MRVSo7E1ZGEVI4mppCeaRB3OpW406lsPpzgkWuw26B/i6o83qUO4aU8k6T0NCWlrJJ0DFJOgc0O5WpZHY2IiIiIiIhYbFiHq1i7bx3frNrPiE61CPJ3z0f26P0neer7v9l19DQAvRpV5KWbrqZcyQC3nM+bBfn7EhnmS2RY8EX3cTgMTiSnZSeuYhNSSE7NxGEYOAxwGAaGYZDpONt2bs9+duTc9+zrBg7H2X2NrG1xp9NYviuOqasP8NOGwzzYsSb3dbiKEv4+HvztuJ+SUlZxjpIqXR38imbGU0RERERERPKvS/0KVC8XxL7jyXy/7iCD2tRw6fFT0jN599ftTFq+B4dhFgF/pU8DujWIcOl5ihq73UZYyQDCSgbQoHKox867du8JXpmzlQ0HTjFu4Q6m/LWPJ7tGces1VbDbC/9oNgBV6bLKsayV9zR1T0RERERERDCnnA1tHwnApOV7yHRcxvJ2F7Fm7wm6/28Zny4zE1J9m1Zm4ePXKiHlxZrXKMuPw9vy/h1NqVKmBEcSUnnq+7/p9f5yVu6Kszo8l1BSyirOkVLllZQSERERERER023NqhBawo99x5NZuOXIFR8vOS2DsbM30+/jP9kTl0SFkAAmDW7Oe/2bUCbY3wURizvZbDZ6N67Eb6M6Mrp7XUoF+rIlJoE7P/uLoZPXsOtootUhXhElpayiIuciIiIiIiJyniB/X+5uXQ2Az5btvqJj/fnvcbqNX8bklXsxDLi9WRV+fbwj19er4IpQxYMC/Xx4oGNNljzViSFta+Brt/H7tqPcOH4Zz83aRNzpVKtDvCxKSlnlmDMpFWVtHCIiIiIiIuJVBrepgb+PnbX7ThK9/2SB3386NYPnZm3ijk9Xsf9EMpVCA5l8Twvevr0xoSX83BCxeErZYH/G3nQ1vz5+LV3qVyDTYfDNqv1c9/ZiPly0i5T0TKtDLBAlpayQehoSDprtsNrWxiIiIiIiIiJeJTwkkJuaVALgs2V7CvTeZTuPceN7S/lm1X4A7mxVjQWPX8t1UeEuj1Osc1X5knw6qDnT7m9Nw8qhnE7N4O0F2+n8zmJ+jD6Iw4X1yNxJSSkrHN9pPgeXh6Cy1sYiIiIiIiIiXmdYB7Pg+bx/YjhwIjnP/RNS0nn2h78ZOGk1h06doUqZEkwZ1orX+jakVKBGRxVVra8qx08j2jG+fxMqhQZyOD6Fx6dvpM+EFfy1+7jV4eVJSSkrxGUlpTR1T0RERERERHJRNyKEDrXDcBjw+YpLj5ZatO0oXcctZdqaAwAMblOdBY9dS7taYZ4IVSxmt9vo07Qyfzx5HU/dGEXJAF/+PhhP/09Wcf9Xa9l97LTVIV6UklJWOLbdfNbUPREREREREbmI+zpcBcB3aw4Qfyb9gtfjk9MZ9d0G7pm8htiEFKqXC2L6/a156eYGBAf4ejpcsVignw8jOtVi8VPXcXfravjYbfy65Qhd31vK2NmbOZGUZnWIF1BSygrOlffKa6SUiIiIiIiI5K5D7TDqRpQiKS2Tqav353jt182x3PDeEmauP4TNBkPbRzL/0WtpdVU5i6IVbxFWMoBX+jRkwWMduL5uOBkOg8kr99Lx7UV8vORfryqGrqSUFZxJKY2UEhERERERkYuw2WwMbW/Wlpq8Yi9pGQ5OJKUxcmo093+9jmOJqVxVPpjvH2zD873qU8Lfx+KIxZvUCi/FpCEtmDKsFfUrhpCYksHr87Zxw7glzN54GMOwvhi6klKelpkBx/8126opJSIiIiIiIpdwU5NKlC8VQGxCCi/O/oeu75kJBbsNHuh4FXNHdqBZdS2gJRfXrlYYvzzSnndub0xESCAHT55h5NRo+k5Yydq9JyyNTUkpTzu5Fxzp4BcEIZWtjkZERERERES8WICvD0Pa1gBg6uoDxJ1Oo06Fkvw4vB2ju9cj0E+joyRvdruN25pVYdGT1/FElzoE+fuw4cApvj1vWqjH47L07MVR3DlFzu369YuIiIiIiMil3dWqGmWC/PCx23ikcy1+fqQ9jauWtjosKYRK+PvwyPW1WfzUddzVqhpP3WjtDC6V4/e06u1g0GwwvKewmIiIiIiIiHiv0kH+zH/sWhyGQcXQElaHI0VAeKlAXu3b0OowlJTyuBKl4aqOVkchIiIiIiIihUiFkECrQxBxOc0fExERERERERERj1NSSkREREREREREPE5JKRERERERERER8TglpURERERERERExOOUlBIREREREREREY9TUkpERERERERERDxOSSkREREREREREfE4JaVERERERERERMTjlJQSERERERERERGPU1JKREREREREREQ8TkkpERERERERERHxOCWlRERERERERETE45SUEhERERERERERj1NSSkREREREREREPE5JKRERERERERER8ThfqwPwRoZhAJCQkGBxJCIiImI1Z3/A2T+Qi1MfSkRERCD//SclpXKRmJgIQNWqVS2ORERERLxFYmIioaGhVofh1dSHEhERkXPl1X+yGfra7wIOh4PDhw9TqlQpbDaby4+fkJBA1apVOXDgACEhIS4/vrfSdRef6y6O1wy6bl138VAcr9swDBITE6lUqRJ2uyofXIo7+1DF8d8e6Lp13cWDrlvXXdQVx2vOb/9JI6VyYbfbqVKlitvPExISUmz+QZ5L1118FMdrBl13caPrLh40Qip/PNGHKm7/9px03cWLrrt40XUXH8XtmvPTf9LXfSIiIiIiIiIi4nFKSomIiIiIiIiIiMcpKWWBgIAAXnzxRQICAqwOxaN03cXnuovjNYOuW9ddPBTX6xbrFdd/e7puXXdxoOvWdRd1xfGa80uFzkVERERERERExOM0UkpERERERERERDxOSSkREREREREREfE4JaVERERERERERMTjlJRykwkTJhAZGUlgYCDNmjVj2bJll9x/yZIlNGvWjMDAQK666io++ugjD0XqGq+//jotWrSgVKlShIeH06dPH7Zv337J9yxevBibzXbBY9u2bR6K+sqNHTv2gvgjIiIu+Z7Cfq9r1KiR630bMWJErvsX1vu8dOlSevfuTaVKlbDZbMyaNSvH64ZhMHbsWCpVqkSJEiW47rrr2Lx5c57H/eGHH6hfvz4BAQHUr1+fH3/80U1XcHkudd3p6ek888wzNGzYkODgYCpVqsSgQYM4fPjwJY85efLkXP8NpKSkuPlq8i+v+z1kyJAL4m/dunWexy3M9xvI9b7ZbDbefvvtix6zMNxv8V7qP6n/dDGF/V6D+lBO6kOpD1XY+1DqP7mWklJuMH36dB577DHGjBlDdHQ0HTp0oHv37uzfvz/X/ffs2UOPHj3o0KED0dHR/Oc//2HkyJH88MMPHo788i1ZsoQRI0awatUqFi5cSEZGBl27diUpKSnP927fvp2YmJjsR+3atT0QsetcffXVOeLftGnTRfctCvd6zZo1Oa534cKFANx+++2XfF9hu89JSUk0btyYDz74INfX33rrLcaNG8cHH3zAmjVriIiIoEuXLiQmJl70mH/++Sf9+/dn4MCBbNy4kYEDB9KvXz/++usvd11GgV3qupOTk1m/fj3PP/8869evZ+bMmezYsYObbropz+OGhITkuP8xMTEEBga64xIuS173G6Bbt2454p87d+4lj1nY7zdwwT37/PPPsdls3HrrrZc8rrffb/FO6j+p/3QxReFeg/pQTupDqQ9V2PtQ6j+5mCEu17JlS+PBBx/Msa1u3brGs88+m+v+Tz/9tFG3bt0c2x544AGjdevWbovR3Y4ePWoAxpIlSy66z6JFiwzAOHnypOcCc7EXX3zRaNy4cb73L4r3+tFHHzVq1qxpOByOXF8vCvcZMH788cfsnx0OhxEREWG88cYb2dtSUlKM0NBQ46OPPrrocfr162d069Ytx7Ybb7zRGDBggMtjdoXzrzs3q1evNgBj3759F93niy++MEJDQ10bnBvldt2DBw82br755gIdpyje75tvvtno3LnzJfcpbPdbvIf6T+o/XUxRvNeGoT6Uk/pQ6kOdrzDdb/WfrpxGSrlYWloa69ato2vXrjm2d+3alZUrV+b6nj///POC/W+88UbWrl1Lenq622J1p/j4eADKli2b575NmzalYsWKXH/99SxatMjdobnczp07qVSpEpGRkQwYMIDdu3dfdN+idq/T0tL45ptvuPfee7HZbJfct7Df53Pt2bOH2NjYHPcyICCAjh07XvTvHC5+/y/1Hm8XHx+PzWajdOnSl9zv9OnTVK9enSpVqtCrVy+io6M9E6ALLV68mPDwcOrUqcN9993H0aNHL7l/UbvfR44cYc6cOQwdOjTPfYvC/RbPUv/JpP5T7orivVYfSn0o9aEurijdb/Wf8qaklIvFxcWRmZlJhQoVcmyvUKECsbGxub4nNjY21/0zMjKIi4tzW6zuYhgGo0aNon379jRo0OCi+1WsWJFPPvmEH374gZkzZxIVFcX111/P0qVLPRjtlWnVqhVfffUV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XDnuv/9+Tp8+nWOfzz//nKuvvpqAgAAqVqzIww8/nOP1uLg4+vbtS1BQELVr12b27NnuvWgRERGRK6Q+lIh4mpJSIlLsPP/889x6661s3LiRu+++mzvuuIOtW7cCkJycTLdu3ShTpgxr1qxhxowZ/Pbbbzk6TBMnTmTEiBHcf//9bNq0idmzZ1OrVq0c53jppZfo168ff//9Nz169OCuu+7ixIkTHr1OEREREVdSH0pEXM4QESlCBg8ebPj4+BjBwcE5Hi+//LJhGIYBGA8++GCO97Rq1cp46KGHDMMwjE8++cQoU6aMcfr06ezX58yZY9jtdiM2NtYwDMOoVKmSMWbMmIvGABjPPfdc9s+nT582bDabMW/ePJddp4iIiIgrqQ8lIlZQTSkRKXI6derExIkTc2wrW7ZsdrtNmzY5XmvTpg0bNmwAYOvWrTRu3Jjg4ODs19u1a4fD4WD79u3YbDYOHz7M9ddff8kYGjVqlN0ODg6mVKlSHD169HIvSURERMTt1IcSEU9TUkpEipzg4OALhoLnxWazAWAYRnY7t31KlCiRr+P5+fld8F6Hw1GgmEREREQ8SX0oEfE01ZQSkWJn1apVF/xct25dAOrXr8+GDRtISkrKfn3FihXY7Xbq1KlDqVKlqFGjBr///rtHYxYRERGxmvpQIuJqGiklIkVOamoqsbGxObb5+voSFhYGwIwZM2jevDnt27dnypQprF69mkmTJgFw11138eKLLzJ48GDGjh3LsWPHeOSRRxg4cCAVKlQAYOzYsTz44IOEh4fTvXt3EhMTWbFiBY888ohnL1RERETEhdSHEhFPU1JKRIqc+fPnU7FixRzboqKi2LZtG2Cu6jJt2jSGDx9OREQEU6ZMoX79+gAEBQWxYMECHn30UVq0aEFQUBC33nor48aNyz7W4MGDSUlJ4b333uPJJ58kLCyM2267zXMXKCIiIuIG6kOJiKfZDMMwrA5CRMRTbDYbP/74I3369LE6FBEREZFCQ30oEXEH1ZQSERERERERERGPU1JKREREREREREQ8TtP3RERERERERETE4zRSSkREREREREREPE5JKRERERERERER8TglpURERERERERExOOUlBIREREREREREY9TUkpERERERERERDxOSSkREREREREREfE4JaVERERERERERMTjlJQSERERERERERGPU1JKREREREREREQ87v8BJ7ONzBGAMOYAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Confusion Matrix:\n", + "[[441 59]\n", + " [ 42 458]]\n", + "\n", + "Classification Report:\n", + " precision recall f1-score support\n", + "\n", + " benign 0.91 0.88 0.90 500\n", + " malignant 0.89 0.92 0.90 500\n", + "\n", + " accuracy 0.90 1000\n", + " macro avg 0.90 0.90 0.90 1000\n", + "weighted avg 0.90 0.90 0.90 1000\n", + "\n" + ] + }, + { + "data": { + "image/png": "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3kpLS7uOaHNXrlw5rVmzRiVLllS/fv1Urlw5lStXTlOmTPnH806dOnXN93H5+JWufi+X+5UdeS8Wi0U9evTQ/PnzNWPGDFWoUEEPPPBArmN//PFHNW3aVNKlVS42bdqk+Ph4jRgxwuHr5vY+/ynG7t276+LFiwoJCaH3FoDTkOACcAp3d3c1atRICQkJdjeJ5eZykpeYmGh37Pfff1dQUFC+xVakSBFJUnp6us3+q/t8JemBBx7QF198oZSUFG3dulX16tVTTEyM4uLirjl/YGDgNd+HpHx9L1fq3r27/vrrL82YMUM9evS45ri4uDh5enrqv//9rzp37qz69eurVq1a13XN3G7Wu5bExET169dP1apV06lTpzRkyJDruiYA/BsSXABOM2zYMBmGod69e+d6U1ZmZqa++OILSdLDDz8sSdabxC6Lj4/Xvn371KhRo3yL6/JKAD///LPN/sux5Mbd3V116tTRu+++K0navn37Ncc2atRIa9eutSa0l3388ccqVqyY05bQuuOOO/Tiiy+qdevWevrpp685zmKxyMPDQ+7u7tZ9aWlpmjdvnt3Y/KqKZ2dn6/HHH5fFYtHXX3+t2NhYTZ06VUuXLr3huQHgaqyDC8Bp6tWrp+nTp6tv376qWbOm+vTpoypVqigzM1M7duzQBx98oMjISLVu3VoVK1bUM888o6lTp8rNzU0tWrTQ0aNHNXLkSIWHh+uFF17It7geeeQRBQQEKDo6Wq+//ro8PDw0Z84cnThxwmbcjBkztHbtWrVs2VKlS5fWxYsXrSsVNG7c+Jrzjxo1Sv/973/10EMP6dVXX1VAQIAWLFigL7/8UuPHj5e/v3++vZerjR079l/HtGzZUhMnTlTXrl31zDPP6NSpU3r77bdzXcotKipKcXFxWrRoke68804VKVLkuvpmR40ape+//16rVq1SSEiIBg8erA0bNig6OlrVq1dX2bJlHZ4TAK6FBBeAU/Xu3Vv33nuvJk2apHHjxikpKUmenp6qUKGCunbtqv79+1vHTp8+XeXKldOsWbP07rvvyt/fX82bN1dsbGyuPbfXy8/PTytXrlRMTIyeeOIJ3XbbberVq5datGihXr16WcdVq1ZNq1at0qhRo5SUlKTixYsrMjJSK1assPaw5qZixYravHmzhg8frn79+iktLU133323Zs+e7dATwZzl4Ycf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aN26ddZzJk6cKInee+BaSHCBQi4nJ8fm9aOPPqrmzZvr999/1/fff6/z589bj02cOFHNmzfXW2+9pVWrVt3sUAFch8vfzIwcOVKtWrVS9erVNWLECO3atUulS5fWsmXLdP78eb322msaN26cWrdurddff13Z2dkFHDlQeFkMvt8ATOG///2vfH191aBBA0nS448/rp07d2r48OHq2LGjihUrZh07depU9e3bV+7u7gUVLoB/cWXLwWeffab+/fvr3Xff1datW7V9+3a5ublp3Lhxql69uk6ePKkBAwYoJSVF3t7eWrFihTw9PbnxDLgGElygkLryg+vHH3/UE088oZo1a+rFF19UjRo1JEmdO3fW7t27NWzYMLskV5Kys7NJcoFC7quvvtLatWtVqVIl9erVS5K0fPlyvf/++8rMzNT48eNVo0YNnT9/Xunp6SpRooQsFouysrKsPbsAbPFnH1AIXbkU2H/+8x/Nnz9fGRkZ+uyzzzRu3Dj98MMPkqTFixcrKipKb731lj7++GOlp6fbzENyCxRu27dv1yuvvKLZs2fb7G/Xrp2effZZeXp66uWXX1Z8fLx8fHwUEBAgi8WinJwcklvgH5DgAoXMlV9bTpgwQW+99Zbat2+vr776Su+++65++uknTZ06VfHx8ZKkRYsWqWTJktq4caO8vLwKMnQADqpRo4b69Omj0NBQzZ49W0ePHrUea9eunfr06aPTp09r/vz5NufRlgD8M1oUgELi008/VadOnayvs7Oz1a5dO0VERGjatGnW/QsXLtQLL7yghg0basiQIapdu7Z1vLu7e65LCQEoeP/UL/vhhx9q7ty5KlOmjN58801FRERYj33//fe67777SGoBB/D9BlAIjB8/Xrt27VLHjh1tPsSKFCliXSXhcgLbtWtX/fzzz3rvvffk4+MjT09PVatWTe7u7txwAhRSV/5uLlmyRLt379btt9+ue+65R/fff7969+6trKwsLVy4UCNGjNCYMWNUunRpSdIDDzxgNweAf8ZvClAIPPnkk5o9e7bc3NysrQfu7u6qUaOGFi9erJ07d1qrs5JUsmRJ1a5dWwkJCVq+fLkk275dAIXHlb+bL730kp5//nn9+OOPWrJkiQYPHqyFCxdKkvr06aOuXbvq5MmTeu655/THH3/YzMPvN5B3/LYAhUBoaKg8PDz01Vdf6cknn9SECRMkScOGDVOjRo30yCOPaPPmzfrzzz+Vnp6u7777Tn379lXXrl311ltv8VAHoBC7/Lv57rvvavHixVqyZIm++uorPfroo9q5c6dGjhypmTNnSrqU5LZq1UplypTR7bffXpBhA6ZGiwJQiFSsWFH333+/li1bJnd3d8XExGjBggXq2bOnmjdvrrCwMOuDH9q1a6e1a9eqVKlSrJYAFHJpaWnatWuX+vfvr3r16mnFihUaMWKEXnrpJf3666967bXXVKxYMXXt2lVDhgyx9tLTlgBcH24yAwrI1R9cl18fOnRI48eP108//aSuXbtq4MCBki4tBH/mzBllZ2crOjpa7u7u6t+/v7Zv366VK1fKz8+voN4KgKvkdrNnYmKiLly4oJycHD3yyCPq16+fYmJitGTJEnXr1k1eXl76+OOP1b59+2vOASBvqOACBeDKnrz3339fv/76q4oXL65evXqpXLlyevHFF/XWW29p4cKFys7O1gsvvKCOHTtaz//11181YcIELVmyROvWrSO5BQqRK/94vfJhDKGhoZKkBQsWKCgoSD179pQkFS9eXK1atVLz5s3Vpk0b6zwkt8D143sP4CbLycmxfnC9/PLLGjlypH7++WctX75c9913n/bv36+77rpLQ4cOVbVq1bRkyRK98cYb1vNTU1O1d+9eHT9+XOvWrVPVqlUL6q0AuMqVf7xOnDhRvXr10uOPP65ffvlFGRkZki7dLHbkyBFt2rRJaWlpevfdd3XnnXeqV69ecnd3V3Z2dkG+BcAlkOACN9nlD7/k5GRduHBB33zzjVavXq2FCxcqKipKdevW1f79+62V3FKlSun48ePWFRT8/PzUokULffrppyS3QCFy5R+vY8aMsfbVbt++XU2aNNGKFSuUkZGhOnXq6L777lPXrl0VGRmpo0ePasyYMbJYLDIMg556IB/QgwsUgPnz56tPnz6qXLmylixZovDwcEnSwYMH9fzzz2vLli3asmWLKlasqN9++02hoaFyc3PjhhPABI4fP67Ro0crOjpa9913nySpU6dO+vHHHzVhwgQ9+uijOnz4sPbu3au//vpLTz75pNzd3W3aGQDcGD4pgQJwxx136L777tPevXutlVnDMHTXXXfpnXfe0f3336+7775bx48f1x133EFyC5jERx99pEqVKmnbtm02vfGffvqp6tSpo0GDBumzzz5TWFiYWrVqpe7du1vbEkhugfxDBRdwstwSU8MwtG3bNvXp00epqanatGmTbr/9dutd0/v379fMmTMVGxvLhx5QiOX2+924cWOtXbtWixYtUocOHWxaDh577DEtW7ZMX3/9tR5++OGbHS5wyyDBBZzoyg+/ZcuW6ffff1dOTo6aNGmiSpUqafv27Ro4cKBOnz6tdevWqWTJknZLA/G1JVD4rV+/XiVLllTlypUlSffff79+++03zZs3T/Xr17dJgkeOHKnRo0fTaws4EQkucBMMHTpU8+fP13333aeDBw/KYrGof//+6tmzpzZv3qyXX35ZZ86c0apVqxQSElLQ4QL4F1f+8bp161Y1adJE/fr1U+/evVWuXDlJUr169ZScnKy5c+faJbmSlJ2dTZILOAkNfYCTxcXF6ZNPPtHnn3+uTz/9VAMHDtSePXt02223SZLq16+vt99+WxkZGRoyZEjBBgvgX125FNi4ceO0Zs0aeXh4aOrUqZo+fboOHjwoSdqyZYuCg4PVs2dPrVu3TlfXk0huAechwQWc7ODBg2rQoIFq166tTz/9VDExMZoyZYo6dOigc+fO6fDhw7r33nu1ZMkSzZ07t6DDBfAPrmwhio2NVWxsrGrXrq1ly5Zp2LBh+uCDD/TBBx/o0KFDkqTNmzcrJydH77//Pg9uAG4iGvuAfJTbDSd//vmnwsPDtXXrVvXs2VNvvfWWnnvuORmGoc8++0ynTp3SgAEDFBkZKYmvLYHCaP369WrYsKE1Sb148aJWrlypgQMHqlmzZpKkhg0bys/PT0OGDJFhGHrmmWdUvnx5HTx4UFlZWQUZPnDLIcEF8smVienBgwdVrFgxBQcHq2PHjmrYsKHGjRunRYsWqVOnTpKktLQ0LVy4UFWqVJGnp6d1HpJboHCJiYnRxYsX1aBBA2uCm52drczMTGvbQXp6ury9vTVw4EBt375dH330kYoUKaJnn31WpUqVkoeHB3+8AjcRLQrADZo+fbp27Nhh/eB66aWX1LJlS1WtWlUPP/ywfvrpJ02ZMkVeXl7KzMzUsWPHtGvXLnXo0EHJyckaP358Ab8DAP+kb9++mjp1qiwWi3755RdJko+Pj2rXrq33339fp06dkre3t7VKGxoaqkqVKmn69OlatWqVJPGEMuAmYxUF4AYcOXJEDz74oFq0aKGXXnpJP//8s/r166fp06frzJkz2rt3r9555x099dRTioyM1NChQ1WiRAkFBwerRIkS+uabb+Tp6UllByiE3nvvPbVv316hoaGSpAULFmjKlCkaPHiwunTpojNnzuiRRx7RqVOn9O233+r222+Xp6enHn30UQ0ePFhLly7VwoULdejQIRUrVqyA3w1wa6FFAbgBZcuW1RdffKFevXpp6tSpSk9P14svvqi2bdtKklJSUhQREaGXX35Zn3zyifbs2aMTJ07Iz89P99xzj9zc3FjnFiiEvvjiC02ePFk7d+7UmDFjFBQUpMqVK6t48eKaM2eOvLy81L59e33wwQfq37+/qlSpoipVquj06dPKyspS3bp1dfDgQa1atYo/XoECQAUXyAfbt2/Xs88+q0OHDmnQoEF65ZVXrMdOnTql6OhohYeHa+rUqTbn8fhdoPCaNGmSPvvsM1WqVElvvvmmgoODtXv3bg0aNEiGYWjAgAFq06aNpEutSn///bc8PT01aNAgeXh46LnnntPhw4e1bNky+fj4FPC7AW4tJLhAPtm1a5fatGmjgIAAzZw5U9WrV7ce69Wrl06ePKmVK1cWYIQA8uLKPzwnTZqkJUuWqFKlShozZoyCg4O1a9cuDR48WIZh6LnnnlPHjh1tzv/tt98UGxurTz75RBs2bLCukALg5qF0BOSTqKgoff7558rOztaUKVO0c+dOSdLZs2e1b98+hYeHF2yAAPLEzc1N2dnZkqQXXnhBHTt21C+//KLhw4crKSlJUVFRmjhxotzc3PThhx/q448/tp77559/6uuvv9bu3bu1du1akluggFDBBfLZjh079MQTT+jvv/9W7dq15e3trUOHDumHH36Qp6enzULxAAqPf2oZmjBhgpYuXWptVwgJCdHu3bv19NNP68EHH9SkSZOsY//++2+5u7vL39//ZoUO4CokuIAT7N69W+3bt1fRokU1ZMgQdevWTe7u7txQBhRSVya3n3/+uX755ReFhIQoMjJSNWvWlPS/JPfuu++29uQePnxYZcqUkZubGz31QCFCggs4SXx8vGbOnKkZM2bIYrHw4QcUUld+q/LSSy9p4cKFKleunLKzs5WTk6OXX35ZrVu3lnQpyf38888VFBSkmTNnKiAgQBI3jAKFDaUkwElq166tWrVqkdwChdzl5Hbq1KmKi4vT4sWLVa9ePU2aNEkvv/yy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edLS0nTo0CFJ0r59+/Tcc8/ZHK9Xr57WrVuXawz79u1Tenq6GjVqlOe4//zzT504cULR0dHq3bu3dX9WVpa1v3ffvn265557VKxYMZs4HLVu3TqNGTNGe/fuVWpqqrKysnTx4kWdP39ePj4+kiQPDw/VqlXLek6lSpV02223ad++fbr33nuVkJCg+Ph4m4ptdna2Ll68qAsXLtjECACFEQkuANN46KGHNH36dHl6eiosLMzuJrLLCdxlOTk5Cg0N1fr16+3mut6lsooWLerwOTk5OZIutSnUqVPH5pi7u7skyTCM64rnSseOHdMjjzyi5557Tv/5z38UEBCgjRs3Kjo62qaVQ7q0zNfVLu/LycnRa6+9pg4dOtiNKVKkyA3HCQDORoILwDR8fHx011135Xl8jRo1lJSUJA8PD5UpUybXMXfffbe2bt2qp556yrpv69at15yzfPnyKlq0qL799lv16tXL7riXl5ekSxXPy4KDg3XHHXfo8OHD6tatW67zVq5cWfPmzVNaWpo1if6nOHKzbds2ZWVlacKECXJzu3SLxeLFi+3GZWVladu2bbr33nslSfv379eZM2dUqVIlSZd+bvv373foZw0AhQkJLgCX1bhxY9WrV0/t2rXTuHHjVLFiRf3+++/66quv1K5dO9WqVUvPP/+8nn76adWqVUv333+/FixYoD179ujOO+/Mdc4iRYropZde0tChQ+Xl5aX77rtPf/75p/bs2aPo6GiVLFlSRYsW1cqVK1WqVCkVKVJE/v7+Gj16tAYOHCg/Pz+1aNFC6enp2rZtm06fPq1Bgwapa9euGjFihKKjo/XKK6/o6NGjevvttx16v+XKlVNWVpamTp2q1q1ba9OmTZoxY4bdOE9PTw0YMEDvvPOOPD091b9/f9WtW9ea8L766qtq1aqVwsPD1alTJ7m5uennn3/Wrl279MYbbzj+vwgAuMlYRQGAy7JYLPrqq6/04IMPqmfPnqpQoYIee+wxHT161LrqQZcuXfTqq6/qpZdeUs2aNXXs2DH16dPnH+cdOXKkBg8erFdffVV33323unTpouTkZEmX+lvfeecdvf/++woLC1Pbtm0lSb169dLMmTM1Z84cRUVFqUGDBpozZ451WbHixYvriy++0N69e1W9enWNGDFC48aNc+j9VqtWTRMnTtS4ceMUGRmpBQsWKDY21m5csWLF9NJLL6lr166qV6+eihYtqri4OOvxZs2a6b///a9Wr16t2rVrq27dupo4caIiIiIcigcACorFyI/GLwAAAKCQoIILAAAAl0KCCwAAAJdCggsAAACXQoILAAAAl0KCCwAAAJdCggsAAACXQoILAAAAl0KCCwAAAJdCggsAAACXQoILAAAAl0KCCwAAAJfyf2Rutxz4+GaNAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import os\n", + "import torch\n", + "import torch.nn as nn\n", + "import torch.optim as optim\n", + "from torchvision import datasets, transforms, models\n", + "from torch.utils.data import DataLoader\n", + "import matplotlib.pyplot as plt\n", + "from sklearn.metrics import confusion_matrix, classification_report\n", + "import numpy as np\n", + "import time\n", + "\n", + "# Định nghĩa đường dẫn\n", + "train_dir = \"/home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/train\"\n", + "test_dir = \"/home/ubuntu/vnet/TaoST/Model3/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test\"\n", + "\n", + "# Định nghĩa transforms\n", + "data_transforms = {\n", + " 'train': transforms.Compose([\n", + " transforms.Resize((224, 224)),\n", + " transforms.RandomHorizontalFlip(),\n", + " transforms.RandomVerticalFlip(),\n", + " transforms.RandomRotation(20),\n", + " transforms.ToTensor(),\n", + " transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])\n", + " ]),\n", + " 'test': transforms.Compose([\n", + " transforms.Resize((224, 224)),\n", + " transforms.ToTensor(),\n", + " transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])\n", + " ])\n", + "}\n", + "\n", + "# Tạo datasets\n", + "image_datasets = {\n", + " 'train': datasets.ImageFolder(train_dir, data_transforms['train']),\n", + " 'test': datasets.ImageFolder(test_dir, data_transforms['test'])\n", + "}\n", + "\n", + "# Tạo dataloaders\n", + "batch_size = 32\n", + "dataloaders = {\n", + " 'train': DataLoader(image_datasets['train'], batch_size=batch_size, shuffle=True, num_workers=4),\n", + " 'test': DataLoader(image_datasets['test'], batch_size=batch_size, shuffle=False, num_workers=4)\n", + "}\n", + "\n", + "# Kiểm tra kích thước dữ liệu\n", + "dataset_sizes = {x: len(image_datasets[x]) for x in ['train', 'test']}\n", + "class_names = image_datasets['train'].classes\n", + "print(f\"Dataset sizes: {dataset_sizes}\")\n", + "print(f\"Class names: {class_names}\")\n", + "\n", + "# Kiểm tra device\n", + "device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\n", + "print(f\"Using device: {device}\")\n", + "\n", + "# Kiểm tra hình dạng của dữ liệu\n", + "for inputs, labels in dataloaders['train']:\n", + " print(f\"Input shape: {inputs.shape}\") # Nên là [batch_size, 3, 224, 224]\n", + " print(f\"Labels: {labels}\")\n", + " break\n", + "\n", + "# Tạo mô hình DenseNet-121\n", + "def create_model():\n", + " # Tải mô hình pretrained DenseNet-121\n", + " model = models.densenet121(pretrained=True)\n", + " \n", + " # Đóng băng tất cả các lớp để bắt đầu\n", + " for param in model.parameters():\n", + " param.requires_grad = False\n", + " \n", + " # Thay thế lớp phân loại\n", + " # DenseNet-121 có 1024 đặc trưng đầu ra ở lớp cuối cùng\n", + " num_ftrs = model.classifier.in_features\n", + " \n", + " # Thay thế lớp phân loại của DenseNet với một lớp mới có 1 đầu ra\n", + " # Sigmoid sẽ được áp dụng trong BCEWithLogitsLoss\n", + " model.classifier = nn.Linear(num_ftrs, 1)\n", + " \n", + " return model\n", + "\n", + "# Tạo mô hình và chuyển sang device\n", + "model = create_model()\n", + "model = model.to(device)\n", + "\n", + "# Định nghĩa hàm loss và optimizer\n", + "criterion = nn.BCEWithLogitsLoss()\n", + "# Chỉ tối ưu lớp phân loại\n", + "optimizer = optim.Adam(model.classifier.parameters(), lr=0.001)\n", + "# Learning rate scheduler\n", + "scheduler = optim.lr_scheduler.ReduceLROnPlateau(optimizer, mode='min', factor=0.1, patience=5, verbose=True)\n", + "\n", + "# Hàm huấn luyện mô hình\n", + "def train_model(model, criterion, optimizer, scheduler, num_epochs=25):\n", + " since = time.time()\n", + " \n", + " best_model_wts = model.state_dict()\n", + " best_acc = 0.0\n", + " \n", + " history = {'train_loss': [], 'train_acc': [], 'test_loss': [], 'test_acc': []}\n", + " \n", + " for epoch in range(num_epochs):\n", + " print(f'Epoch {epoch}/{num_epochs - 1}')\n", + " print('-' * 10)\n", + " \n", + " # Mỗi epoch có một phase training và testing\n", + " for phase in ['train', 'test']:\n", + " if phase == 'train':\n", + " model.train() # Đặt model ở chế độ training\n", + " else:\n", + " model.eval() # Đặt model ở chế độ evaluation\n", + " \n", + " running_loss = 0.0\n", + " running_corrects = 0\n", + " \n", + " # Lặp qua data\n", + " for inputs, labels in dataloaders[phase]:\n", + " inputs = inputs.to(device)\n", + " # Chuyển đổi labels sang float và reshape để phù hợp với sigmoid\n", + " labels = labels.float().view(-1, 1).to(device)\n", + " \n", + " # Zero the parameter gradients\n", + " optimizer.zero_grad()\n", + " \n", + " # Forward\n", + " # Theo dõi history nếu đang training\n", + " with torch.set_grad_enabled(phase == 'train'):\n", + " outputs = model(inputs)\n", + " preds = torch.sigmoid(outputs) > 0.5\n", + " loss = criterion(outputs, labels)\n", + " \n", + " # Backward + optimize chỉ khi training\n", + " if phase == 'train':\n", + " loss.backward()\n", + " optimizer.step()\n", + " \n", + " # Thống kê\n", + " running_loss += loss.item() * inputs.size(0)\n", + " running_corrects += torch.sum(preds == labels.byte())\n", + " \n", + " if phase == 'test' and scheduler is not None:\n", + " scheduler.step(running_loss)\n", + " \n", + " epoch_loss = running_loss / dataset_sizes[phase]\n", + " epoch_acc = running_corrects.double() / dataset_sizes[phase]\n", + " \n", + " print(f'{phase} Loss: {epoch_loss:.4f} Acc: {epoch_acc:.4f}')\n", + " \n", + " # Lưu lại lịch sử\n", + " if phase == 'train':\n", + " history['train_loss'].append(epoch_loss)\n", + " history['train_acc'].append(epoch_acc.item())\n", + " else:\n", + " history['test_loss'].append(epoch_loss)\n", + " history['test_acc'].append(epoch_acc.item())\n", + " \n", + " # Sao chép mô hình tốt nhất\n", + " if phase == 'test' and epoch_acc > best_acc:\n", + " best_acc = epoch_acc\n", + " best_model_wts = model.state_dict()\n", + " \n", + " print()\n", + " \n", + " time_elapsed = time.time() - since\n", + " print(f'Training complete in {time_elapsed // 60:.0f}m {time_elapsed % 60:.0f}s')\n", + " print(f'Best val Acc: {best_acc:4f}')\n", + " \n", + " # Tải model tốt nhất\n", + " model.load_state_dict(best_model_wts)\n", + " return model, history\n", + "\n", + "# Huấn luyện mô hình\n", + "num_epochs = 20\n", + "model, history = train_model(model, criterion, optimizer, scheduler, num_epochs=num_epochs)\n", + "\n", + "# Lưu mô hình\n", + "torch.save(model.state_dict(), 'melanoma_classifier_densenet121.pth')\n", + "\n", + "# Vẽ đồ thị training và validation accuracy/loss\n", + "def plot_training_history(history):\n", + " plt.figure(figsize=(12, 5))\n", + " \n", + " plt.subplot(1, 2, 1)\n", + " plt.plot(history['train_acc'], label='Train')\n", + " plt.plot(history['test_acc'], label='Validation')\n", + " plt.title('Model Accuracy')\n", + " plt.xlabel('Epoch')\n", + " plt.ylabel('Accuracy')\n", + " plt.legend()\n", + " \n", + " plt.subplot(1, 2, 2)\n", + " plt.plot(history['train_loss'], label='Train')\n", + " plt.plot(history['test_loss'], label='Validation')\n", + " plt.title('Model Loss')\n", + " plt.xlabel('Epoch')\n", + " plt.ylabel('Loss')\n", + " plt.legend()\n", + " \n", + " plt.tight_layout()\n", + " plt.savefig('training_history.png')\n", + " plt.show()\n", + "\n", + "plot_training_history(history)\n", + "\n", + "# Đánh giá mô hình trên tập test\n", + "def evaluate_model(model, dataloader):\n", + " model.eval()\n", + " y_true = []\n", + " y_pred = []\n", + " \n", + " with torch.no_grad():\n", + " for inputs, labels in dataloader:\n", + " inputs = inputs.to(device)\n", + " outputs = model(inputs)\n", + " preds = torch.sigmoid(outputs) > 0.5\n", + " \n", + " y_true.extend(labels.numpy())\n", + " y_pred.extend(preds.cpu().numpy())\n", + " \n", + " cm = confusion_matrix(y_true, y_pred)\n", + " report = classification_report(y_true, y_pred, target_names=class_names)\n", + " \n", + " return cm, report\n", + "\n", + "cm, report = evaluate_model(model, dataloaders['test'])\n", + "print(\"Confusion Matrix:\")\n", + "print(cm)\n", + "print(\"\\nClassification Report:\")\n", + "print(report)\n", + "\n", + "# Lưu confusion matrix\n", + "plt.figure(figsize=(8, 6))\n", + "plt.imshow(cm, interpolation='nearest', cmap=plt.cm.Blues)\n", + "plt.title('Confusion Matrix')\n", + "plt.colorbar()\n", + "tick_marks = np.arange(len(class_names))\n", + "plt.xticks(tick_marks, class_names, rotation=45)\n", + "plt.yticks(tick_marks, class_names)\n", + "\n", + "thresh = cm.max() / 2.\n", + "for i in range(cm.shape[0]):\n", + " for j in range(cm.shape[1]):\n", + " plt.text(j, i, format(cm[i, j], 'd'),\n", + " horizontalalignment=\"center\",\n", + " color=\"white\" if cm[i, j] > thresh else \"black\")\n", + "\n", + "plt.tight_layout()\n", + "plt.ylabel('True label')\n", + "plt.xlabel('Predicted label')\n", + "plt.savefig('confusion_matrix.png')\n", + "plt.show()\n", + "\n", + "# Hàm dự đoán cho một ảnh mới\n", + "def predict_image(image_path, model, transform):\n", + " from PIL import Image\n", + " \n", + " model.eval()\n", + " img = Image.open(image_path)\n", + " img_t = transform(img)\n", + " batch_t = torch.unsqueeze(img_t, 0).to(device)\n", + " \n", + " with torch.no_grad():\n", + " output = model(batch_t)\n", + " prob = torch.sigmoid(output).item()\n", + " \n", + " return prob\n", + "\n", + "# Ví dụ sử dụng hàm dự đoán\n", + "# image_path = '/path/to/image.jpg' # Thay đổi đường dẫn này\n", + "# probability = predict_image(image_path, model, data_transforms['test'])\n", + "# print(f\"Probability of malignant: {probability:.4f}\")\n", + "# if probability > 0.5:\n", + "# print(\"Prediction: Malignant\")\n", + "# else:\n", + "# print(\"Prediction: Benign\")" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "551d7c55", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ubuntu/.local/lib/python3.12/site-packages/torchvision/models/_utils.py:208: UserWarning: The parameter 'pretrained' is deprecated since 0.13 and may be removed in the future, please use 'weights' instead.\n", + " warnings.warn(\n", + "/home/ubuntu/.local/lib/python3.12/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and may be removed in the future. The current behavior is equivalent to passing `weights=None`.\n", + " warnings.warn(msg)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mô hình đã được chuyển đổi thành công sang ONNX và lưu tại: /home/ubuntu/vnet/TaoST/Model3/melanoma_classifier_densenet121.onnx\n", + "Mô hình ONNX đã được kiểm tra và xác nhận hợp lệ.\n" + ] + } + ], + "source": [ + "import torch\n", + "import torch.nn as nn\n", + "from torchvision import models\n", + "\n", + "# 1. Định nghĩa lại kiến trúc mô hình (giống hệt khi training)\n", + "def create_model():\n", + " # Tải mô hình pretrained DenseNet-121\n", + " model = models.densenet121(pretrained=False) # Không cần pretrained vì sẽ load weights\n", + " \n", + " # Thay thế lớp phân loại\n", + " # DenseNet-121 có 1024 đặc trưng đầu ra ở lớp cuối cùng\n", + " num_ftrs = model.classifier.in_features\n", + " \n", + " # Thay thế lớp phân loại của DenseNet với một lớp mới có 1 đầu ra\n", + " model.classifier = nn.Linear(num_ftrs, 1)\n", + " \n", + " return model\n", + "\n", + "# 2. Khởi tạo mô hình và tải trọng số đã lưu\n", + "device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n", + "model = create_model()\n", + "\n", + "# Tải trọng số từ file .pth\n", + "model_path = \"/home/ubuntu/vnet/TaoST/Model3/melanoma_classifier_densenet121.pth\"\n", + "model.load_state_dict(torch.load(model_path, map_location=device))\n", + "model.to(device)\n", + "model.eval() # Chuyển sang chế độ inference\n", + "\n", + "# 3. Tạo dummy input với kích thước phù hợp (batch_size, channels, height, width)\n", + "dummy_input = torch.randn(1, 3, 224, 224).to(device)\n", + "\n", + "# 4. Xuất sang ONNX\n", + "onnx_path = \"/home/ubuntu/vnet/TaoST/Model3/melanoma_classifier_densenet121.onnx\"\n", + "torch.onnx.export(\n", + " model, # Mô hình cần xuất\n", + " dummy_input, # Input đầu vào mẫu\n", + " onnx_path, # Đường dẫn tới file ONNX đầu ra\n", + " export_params=True, # Lưu các tham số của mô hình\n", + " opset_version=12, # Phiên bản ONNX opset\n", + " do_constant_folding=True, # Tối ưu hóa các hằng số\n", + " input_names=['input'], # Tên của input\n", + " output_names=['output'], # Tên của output\n", + " dynamic_axes={ # Kích thước động (batch size có thể thay đổi)\n", + " 'input': {0: 'batch_size'},\n", + " 'output': {0: 'batch_size'}\n", + " }\n", + ")\n", + "\n", + "print(f\"Mô hình đã được chuyển đổi thành công sang ONNX và lưu tại: {onnx_path}\")\n", + "\n", + "# 5. Kiểm tra xem mô hình ONNX có thể được tải và sử dụng không (tùy chọn)\n", + "try:\n", + " import onnx\n", + " \n", + " # Tải mô hình ONNX\n", + " onnx_model = onnx.load(onnx_path)\n", + " \n", + " # Kiểm tra mô hình ONNX\n", + " onnx.checker.check_model(onnx_model)\n", + " \n", + " print(\"Mô hình ONNX đã được kiểm tra và xác nhận hợp lệ.\")\n", + "except ImportError:\n", + " print(\"Thư viện ONNX không được cài đặt. Bỏ qua bước kiểm tra.\")\n", + "except Exception as e:\n", + " print(f\"Lỗi khi kiểm tra mô hình ONNX: {e}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "779e716c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Đã nén file /home/ubuntu/vnet/TaoST/Model3/Code.ipynb thành /home/ubuntu/vnet/TaoST/Model3/Code.zip\n" + ] + } + ], + "source": [ + "import zipfile\n", + "\n", + "# Đường dẫn đến file ipynb\n", + "ipynb_file = \"/home/ubuntu/vnet/TaoST/Model3/Code.ipynb\"\n", + "\n", + "# Đường dẫn file zip đầu ra\n", + "zip_file = \"/home/ubuntu/vnet/TaoST/Model3/Code.zip\"\n", + "\n", + "# Tạo file zip\n", + "with zipfile.ZipFile(zip_file, 'w') as zipf:\n", + " zipf.write(ipynb_file, arcname=\"Code.ipynb\") # arcname để đặt tên file trong zip\n", + "\n", + "print(f\"Đã nén file {ipynb_file} thành {zip_file}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "7c4a9686", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Dataset sizes: {'train': 9605, 'test': 1000}\n", + "Class names: ['benign', 'malignant']\n", + "Using device: cuda:0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Input shape: torch.Size([128, 3, 224, 224])\n", + "Labels: tensor([1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0,\n", + " 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1,\n", + " 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1,\n", + " 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1,\n", + " 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0,\n", + " 1, 1, 1, 0, 0, 0, 1, 1])\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ubuntu/.local/lib/python3.12/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and may be removed in the future. The current behavior is equivalent to passing `weights=DenseNet169_Weights.IMAGENET1K_V1`. You can also use `weights=DenseNet169_Weights.DEFAULT` to get the most up-to-date weights.\n", + " warnings.warn(msg)\n", + "Downloading: \"https://download.pytorch.org/models/densenet169-b2777c0a.pth\" to /home/ubuntu/.cache/torch/hub/checkpoints/densenet169-b2777c0a.pth\n", + "100%|██████████| 54.7M/54.7M [00:00<00:00, 86.9MB/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 0/19\n", + "----------\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ubuntu/.local/lib/python3.12/site-packages/torch/optim/lr_scheduler.py:62: UserWarning: The verbose parameter is deprecated. Please use get_last_lr() to access the learning rate.\n", + " warnings.warn(\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "train Loss: 0.3839 Acc: 0.8516\n", + "test Loss: 0.2918 Acc: 0.8750\n", + "\n", + "Epoch 1/19\n", + "----------\n", + "train Loss: 0.2725 Acc: 0.8925\n", + "test Loss: 0.2708 Acc: 0.8790\n", + "\n", + "Epoch 2/19\n", + "----------\n", + "train Loss: 0.2539 Acc: 0.8984\n", + "test Loss: 0.2471 Acc: 0.8940\n", + "\n", + "Epoch 3/19\n", + "----------\n", + "train Loss: 0.2495 Acc: 0.8993\n", + "test Loss: 0.2396 Acc: 0.8960\n", + "\n", + "Epoch 4/19\n", + "----------\n", + "train Loss: 0.2419 Acc: 0.9008\n", + "test Loss: 0.2336 Acc: 0.9010\n", + "\n", + "Epoch 5/19\n", + "----------\n", + "train Loss: 0.2339 Acc: 0.9041\n", + "test Loss: 0.2415 Acc: 0.8940\n", + "\n", + "Epoch 6/19\n", + "----------\n", + "train Loss: 0.2366 Acc: 0.9081\n", + "test Loss: 0.2219 Acc: 0.9090\n", + "\n", + "Epoch 7/19\n", + "----------\n", + "train Loss: 0.2319 Acc: 0.9065\n", + "test Loss: 0.2340 Acc: 0.8980\n", + "\n", + "Epoch 8/19\n", + "----------\n", + "train Loss: 0.2276 Acc: 0.9085\n", + "test Loss: 0.2535 Acc: 0.8900\n", + "\n", + "Epoch 9/19\n", + "----------\n", + "train Loss: 0.2247 Acc: 0.9105\n", + "test Loss: 0.2178 Acc: 0.9130\n", + "\n", + "Epoch 10/19\n", + "----------\n", + "train Loss: 0.2231 Acc: 0.9103\n", + "test Loss: 0.2267 Acc: 0.9040\n", + "\n", + "Epoch 11/19\n", + "----------\n", + "train Loss: 0.2244 Acc: 0.9111\n", + "test Loss: 0.2163 Acc: 0.9120\n", + "\n", + "Epoch 12/19\n", + "----------\n", + "train Loss: 0.2207 Acc: 0.9131\n", + "test Loss: 0.2193 Acc: 0.9050\n", + "\n", + "Epoch 13/19\n", + "----------\n", + "train Loss: 0.2184 Acc: 0.9147\n", + "test Loss: 0.2342 Acc: 0.8980\n", + "\n", + "Epoch 14/19\n", + "----------\n", + "train Loss: 0.2199 Acc: 0.9116\n", + "test Loss: 0.2169 Acc: 0.9090\n", + "\n", + "Epoch 15/19\n", + "----------\n", + "train Loss: 0.2173 Acc: 0.9143\n", + "test Loss: 0.2246 Acc: 0.9030\n", + "\n", + "Epoch 16/19\n", + "----------\n", + "train Loss: 0.2150 Acc: 0.9145\n", + "test Loss: 0.2260 Acc: 0.9040\n", + "\n", + "Epoch 17/19\n", + "----------\n", + "train Loss: 0.2261 Acc: 0.9078\n", + "test Loss: 0.2156 Acc: 0.9130\n", + "\n", + "Epoch 18/19\n", + "----------\n", + "train Loss: 0.2165 Acc: 0.9113\n", + "test Loss: 0.2160 Acc: 0.9110\n", + "\n", + "Epoch 19/19\n", + "----------\n", + "train Loss: 0.2204 Acc: 0.9109\n", + "test Loss: 0.2141 Acc: 0.9140\n", + "\n", + "Training complete in 14m 43s\n", + "Best val Acc: 0.914000\n" + ] + }, + { + "data": { + "image/png": "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pLB27do8f6avvvoKq9Wa7XM88MADJCcnM3fuXPu5P/74Ay8vr8t+XlsbwOEzi2677bYc5zIyMnjjjTdo1KgRHh4euLm54eHhwf79+9m9e3e2mOrXr0+vXr0u27+fnx/3338/M2bMIDk5GTD//nbt2sXjjz/u0M8iIiIijlcar9GuZunSpTRq1Ii2bdvm+ByGYbB06VIA2rZty9mzZxkyZAi//PILsbGxOfpq27Ytf/zxB6NHj2b58uWcP3/e4fGKyNUpKSUiV2SxWLj//vv55ptv+OSTT6hfvz5dunS5ZNu4uDhCQkKwWCzZzgcFBeHm5mafDh0XF4ebmxuBgYHZ2oWEhOToLyMjgw8//BB3d/dsj/79+wNc8iLjSqxWKzNmzKBq1aq0atWKs2fPcvbsWXr16oWvr2+2nWxOnTpF1apVcXG5/D+Vp06dwtXVNUfsBVWlSpUc555++mleeuklBg4cyG+//ca6devYsGEDzZs3z3YhderUKapXr37VMUaOHEliYiLffvstAB999BHVq1dnwIABjvsgIiIiUihK2zVabsTFxV3yGqlq1ar21wGGDh3Kl19+ydGjR7ntttsICgqiXbt2LF682P6eDz74gBdeeIH58+fTo0cPKlasyMCBA9m/f7/D4xaRy1NSSkSu6r777iM2NpZPPvmE+++//7LtAgMDiY6OzrFTXExMDBkZGVSqVMneLiMjI8ea/aioqGxfV6hQAVdXV+677z42bNhwyYftwie3lixZwtGjR+31mSpUqECFChWoVq0aycnJrF271l5voHLlypw8eTJH4cyLVa5cmczMzByx/5enp2eOQqLAZesW/PeiEeCbb77hnnvu4Y033qBv3760bduW1q1b57joq1y5MsePH79iPAB169alX79+fPzxxxw7doxff/2VRx55BFdX16u+V0RERJyvNF2j5UZgYCCRkZE5zp88eRLA/jkA7r//flavXk18fDwLFizAMAxuvPFGjh49CoCvry+vvvoqe/bsISoqimnTprF27Vpuuukmh8ctIpenpJSIXFW1atV47rnnuOmmm7j33nsv2+66664jKSmJ+fPnZzs/c+ZM++sAPXr0ALDP0LH57rvvsn3t4+NDjx49CA8Pp1mzZrRu3TrH47+/ybuaL774AhcXF+bPn8+yZcuyPWbNmgXAl19+CUC/fv1ISUlhxowZl+3PVvhz2rRpVxw3LCyMbdu2ZTu3dOlSkpKSch27xWLB09Mz27kFCxZw4sSJHDHt27fPPoX9Sp588km2bdvGvffei6urKw8++GCu4xERERHnKk3XaLlx3XXXsWvXLjZv3pzjc1gsFnv8F/P19aVfv36MHTuWtLQ0du7cmaNNcHAw9913H0OGDGHv3r2cO3fO4bGLyKVp9z0RyZU333zzqm3uuecePv74Y+69916OHDlC06ZNWbVqFW+88Qb9+/e31zjq06cPXbt25fnnnyc5OZnWrVvz77//2pNCF3v//ffp3LkzXbp04dFHHyUsLIzExEQOHDjAb7/9lqvEi01cXBy//PILffv2vewStffee4+ZM2cyceJEhgwZwldffcUjjzzC3r176dGjB1arlXXr1tGwYUMGDx5Mly5dGDp0KK+//jrR0dHceOONeHp6Eh4ejo+PDyNHjgTMaeQvvfQSL7/8Mt26dWPXrl189NFHBAQE5Dr+G2+8kRkzZtCgQQOaNWvGpk2beOedd3Is1Rs1ahRz585lwIABjB49mrZt23L+/Hn++ecfbrzxxmwXbL1796ZRo0YsW7bMvr2yiIiIlByl4RrtYtu3b+fHH3/Mcb5NmzY89dRTzJw5kxtuuIEJEyZQs2ZNFixYwNSpU3n00UepX78+AA8++CDe3t506tSJKlWqEBUVxcSJEwkICKBNmzYAtGvXjhtvvJFmzZpRoUIFdu/ezaxZs+jQoQM+Pj75il1E8sG5ddZFpDi6eGeXK/nvzi6GYRhxcXHGI488YlSpUsVwc3MzatasaYwZM8ZISUnJ1u7s2bPGAw88YJQvX97w8fExevfubezZs+eSu9QdPnzYeOCBB4xq1aoZ7u7uRuXKlY2OHTsar7/+erY2XGVnlylTphiAMX/+/Mu2se1O89NPPxmGYRjnz583Xn75ZaNevXqGh4eHERgYaPTs2dNYvXq1/T2ZmZnGe++9ZzRp0sTw8PAwAgICjA4dOhi//fabvU1qaqrx/PPPGzVq1DC8vb2Nbt26GVu2bLns7nuX+rM/c+aMMWzYMCMoKMjw8fExOnfubKxcudLo1q1bjr+HM2fOGE8++aQRGhpquLu7G0FBQcYNN9xg7NmzJ0e/48ePNwBj7dq1l/1zEREREecrrddoF7e73MP2/qNHjxp33nmnERgYaLi7uxvXXHON8c477xiZmZn2vr7++mujR48eRnBwsOHh4WFUrVrVuOOOO4xt27bZ24wePdpo3bq1UaFCBcPT09OoXbu28dRTTxmxsbFXjFNEHMtiGP9ZWCwiImVK69atsVgsbNiwwdmhiIiIiIhIGaLleyIiZVBCQgI7duzg999/Z9OmTcybN8/ZIYmIiIiISBmjpJSISBm0efNmevToQWBgIK+88goDBw50dkgiIiIiIlLGaPmeiIiIiIiIiIgUORdnByAiIiIiIiIiImWPklIiIiIiIiIiIlLklJQSEREREREREZEip0Lnl2C1Wjl58iR+fn5YLBZnhyMiIiJFxDAMEhMTqVq1Ki4u+t1dQemaSkREpGzK7TWVklKXcPLkSWrUqOHsMERERMRJjh07RvXq1Z0dRomnayoREZGy7WrXVEpKXYKfnx9g/uH5+/s7ORoREREpKgkJCdSoUcN+LSAFo2sqERGRsim311RKSl2CbXq5v7+/LqBERETKIC01cwxdU4mIiJRtV7umUrEEEREREREREREpckpKiYiIiIiIiIhIkVNSSkREREREREREipxqShVAZmYm6enpzg5DHMDd3R1XV1dnhyEiIiIiIlJq6R669HDUPbSSUvlgGAZRUVGcPXvW2aGIA5UvX56QkBAVtxUREREREXEg3UOXTo64h1ZSKh9sP0xBQUH4+PgoiVHCGYbBuXPniImJAaBKlSpOjkhERERERKT00D106eLIe2glpfIoMzPT/sMUGBjo7HDEQby9vQGIiYkhKChIS/lEREREREQcQPfQpZOj7qFV6DyPbOtffXx8nByJOJrt71RrnEVERERERBxD99CllyPuoZWUyidNNyx99HcqIiIiIiJSOHS/Vfo44u9USSkRERERERERESlySkpJgXTv3p1Ro0Y5OwwRERERERGRYk/30Nmp0HkZcbVpdffeey8zZszIc78///wz7u7u+YxKREREREREpPjRPXTRUFKqjIiMjLQfz507l5dffpm9e/faz9kq59ukp6fn6gelYsWKjgtSREREREREpBjQPXTR0PK9MiIkJMT+CAgIwGKx2L9OSUmhfPnyfP/993Tv3h0vLy+++eYb4uLiGDJkCNWrV8fHx4emTZsye/bsbP3+d+phWFgYb7zxBg888AB+fn6EhoYyffr0Iv60IiIiIiIiIvmne+iioaSUAxiGwbm0DKc8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BODll1/mueeeo2bNmrRp04b27dsDZtZUixYtCnUONzc3wsLCiIiIyLM/IiKC8PDwQvfFMAxSU1Nz37dv3/6yc/7666+55yyu65YUAdlf8MUmpF6lpYiIiBSnImdKOTk5XTFtOzMz87o6JIUXW9RMqb+Xmz9ra+qeiIiItd1999107NiRqKioPKsWd+3alTvvvLPQ5xk9ejQDBw6kVatWtG/fnk8//ZTIyEiGDx8OmFPmTp48mVtU/aOPPqJGjRo0aNAAgLVr1/Lf//6Xp556KvecTz/9NDfeeCNvv/02d9xxBz/++CPLly9n7dq1hb5uaRLobX7Bl1MaQURERGyjyEGpH374Ic/79PR0tm3bxqxZs3j11VeLrWNydTnT94IKE5TKzIDDK83tOt2s1ykRERHJFRQURFBQECdOnMBisVC1alXatGlTpHP079+fs2fP8tprrxEVFUWTJk1YsmQJISEhAERFRREZGZnbPisrizFjxnDkyBFcXFyoXbs2b731Fo899lhum/DwcObOnctLL73EuHHjqF27NvPmzaNt27aFvm5pkvMFX6yCUiIiIjZlMYpp7dtvvvmGefPm8eOPPxbH6ewqPj4eX19f4uLiCl3zwR5aTVjOmcRUFo/sSOMqvlduHLkRZvYADz944TA4OdukjyIiIiVJcY4BsrKymDBhAu+99x6JiYkAeHt78+yzzzJ27FicnEp/FYWSMqb63x9HGffjbno2DuLjgWH27o6IiEiJV9gxQJEzpQrStm1bHnnkkeI6nVxFemYWZ5NyakoVIlPqUPaqe7VvVkBKRETEBsaOHcuMGTN466236NChA4ZhsG7dOsaPH09KSgpvvPGGvbso2Sp7m2OpmARlSomIiNhSsQSlLl68yJQpU6hWrVpxnE4K4UxiKoYBrs4WKhZm6eKcelKauiciImITs2bN4vPPP+f222/P3de8eXOqVq3KE088oaCUA8lZNCY2XoXORUREbKnIQakKFSrkKXRuGAYJCQl4enry9ddfF2vnpGDRceY3eQHeHjg5FVx4HoDkc3Byq7ldu4uVeyYiIiIA586dyy02/k8NGjTg3LlzduiRFCS3plRCCllZxtXHViIiIlIsihyUmjx5cp6glJOTE5UrV6Zt27ZUqFChWDsnBYvJ/iYvIPubvSs6tAIwIKAx+FSxbsdEREQEMLOipk6dyocffphn/9SpU2nWrJmdeiX5qZy9+l56psH55DQqlS/E+EpERESuW5GDUkOGDLFCN6SoYrNrHgR6F6ae1ArzZx1lSYmIiNjKO++8Q+/evVm+fDnt27fHYrGwfv16jh8/zpIlS+zdPfkHV2cn/Mu7cSYxjZj4VAWlREREbKTIy7588cUXzJ8//7L98+fPZ9asWcXSKbm6mOwli4N8rxKUMgz4O7vIuepJiYiI2Eznzp05cOAAd955JxcuXODcuXP069eP3bt388UXX9i7e/IvASp2LiIiYnNFDkq99dZb+Pv7X7Y/ICCAN998s1g6JVcXHVfI6XsxuyExGlw9oUZ7G/RMREREclSpUoU33niD77//ngULFjBhwgTOnz+vL/Ic0KVi5wpKiYiI2EqRg1LHjh0jNDT0sv0hISFERkYWS6fk6go9fS9n1b2ancBFqegiIiIi+ckpdh6jFfhERERspshBqYCAAP7666/L9u/YsYNKlSoVS6fk6nKm7+UMoAp0KGfqXlcr90hERESk5ArIDUopU0pERMRWihyUGjBgACNHjuT3338nMzOTzMxMVqxYwdNPP82AAQOs0UfJR3RcTk2pK2Q/pSbCsT/MbdWTEhERkdImNcGsn1kMcqfvJShTSkRExFaKvPrehAkTOHbsGF27dsXFxTw8KyuLQYMGXVNNqWnTpvHuu+8SFRVF48aNef/99+nUqVOB7WfPns0777zDwYMH8fX1pWfPnvz3v//Nk6X1/vvvM336dCIjI/H39+fuu+9m4sSJeHgUYqW6EuBiWibxKRnApW/18nV0LWSlg18IVKxlo96JiIiUbf369bvi5xcuXLBNR0q7P7+AFa9D70nQuO91ny6nJIJqSomIiNhOkYNSbm5uzJs3jwkTJrB9+3bKlStH06ZNCQkJKfLF582bx6hRo5g2bRodOnTgk08+oVevXuzZs4caNWpc1n7t2rUMGjSIyZMn06dPH06ePMnw4cMZNmwYP/zwA2AGrV588UVmzpxJeHg4Bw4cYMiQIQBMnjy5yH10RDn1pMq5OuPtfoVHmFNPqk43sFhs0DMRERHx9fW96ueDBg2yUW9KsYRoSD5rBqYa9AZn1+s6nWpKiYiI2F6Rg1I56tatS926da/r4pMmTWLo0KEMGzYMMDOcli1bxvTp05k4ceJl7Tds2EDNmjUZOXIkAKGhoTz22GO88847uW3++OMPOnTowP333w9AzZo1ue+++9i0adN19dWR5AyWAn3csVwp2KR6UiIiIjb3xRdf2LsLZUP4k7D5czj7N2z7H7R6+LpOlzN973RiKplZBs5O+kJPRETE2opcU+ruu+/mrbfeumz/u+++yz333FPo86SlpbFlyxZ69OiRZ3+PHj1Yv359vseEh4dz4sQJlixZgmEYxMTE8N1339G7d+/cNh07dmTLli25QajDhw+zZMmSPG3+LTU1lfj4+DwvRxZdmCLn5w6bLycXCL3RRj0TERERsRF3b+j8grm98m1IS7qu01Uq746TBTKzDM4mKVtKRETEFooclFq1alW+AZ6ePXuyevXqQp/nzJkzZGZmEhgYmGd/YGAg0dHR+R4THh7O7Nmz6d+/P25ubgQFBeHn58eUKVNy2wwYMIDXX3+djh074urqSu3atbn55pt58cUXC+zLxIkT8fX1zX1Vr1690PdhD7GFCUr9nZ0lVb2dOWgTERERKW3CHjJrZyZGw4bp13UqZycL/uWzi51rCp+IiIhNFDkolZiYiJub22X7XV1drynD6N/TzwzDKHBK2p49exg5ciQvv/wyW7ZsYenSpRw5coThw4fntlm5ciVvvPEG06ZNY+vWrSxYsICff/6Z119/vcA+jBkzhri4uNzX8ePHi3wfthSTG5S6wsp7f2vqnoiIiJRyLm7Q5SVze90HkHzuuk53qa6Uip2LiIjYQpGDUk2aNGHevHmX7Z87dy6NGjUq9Hn8/f1xdna+LCsqNjb2suypHBMnTqRDhw48//zzNGvWjFtuuYVp06Yxc+ZMoqKiABg3bhwDBw5k2LBhNG3alDvvvJM333yTiRMnkpWVle953d3d8fHxyfNyZNG5NaUKyJTKSIMj2VlrCkqJiIhIadbkbghsCqnxsOa96zpVzhd+KnYuIiJiG0UudD5u3DjuuusuDh06RJcuXQD47bff+Oabb/juu+8KfR43NzfCwsKIiIjgzjvvzN0fERHBHXfcke8xycnJuLjk7bKzszNgZljltHFycrqsjWEYuW1KupirTd87vgHSk8ArwBykiYiIiJRWTk7QbTzMvgs2fQptHwO/y1dxLowAZUqJiIjYVJEzpW6//XYWLlzI33//zRNPPMGzzz7LyZMnWbFiBTVr1izSuUaPHs3nn3/OzJkz2bt3L8888wyRkZG5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KRERERERERERsTkFpURERERERERExOYUlBIREREREREREZtTUEpERERERERERGxOQSkREREREREREbE5BaVERIqJxWJh4cKF9u6GiIiISImmMZVI2aGglIiUCkOGDMFisVz26tmzp727JiIiIlJiaEwlIrbkYu8OiIgUl549e/LFF1/k2efu7m6n3oiIiIiUTBpTiYitKFNKREoNd3d3goKC8rwqVKgAmGng06dPp1evXpQrV47Q0FDmz5+f5/idO3fSpUsXypUrR6VKlXj00UdJTEzM02bmzJk0btwYd3d3goODefLJJ/N8fubMGe688048PT2pW7cuixYtsu5Ni4iIiBQzjalExFYUlBKRMmPcuHHcdddd7NixgwcffJD77ruPvXv3ApCcnEzPnj2pUKECmzdvZv78+SxfvjzPAGn69OmMGDGCRx99lJ07d7Jo0SLq1KmT5xqvvvoq9957L3/99Re33norDzzwAOfOnbPpfYqIiIhYk8ZUIlJsDBGRUmDw4MGGs7Oz4eXllef12muvGYZhGIAxfPjwPMe0bdvWePzxxw3DMIxPP/3UqFChgpGYmJj7+eLFiw0nJycjOjraMAzDqFKlijF27NgC+wAYL730Uu77xMREw2KxGL/88kux3aeIiIiINWlMJSK2pJpSIlJq3HzzzUyfPj3PvooVK+Zut2/fPs9n7du3Z/v27QDs3buX5s2b4+Xllft5hw4dyMrKYv/+/VgsFk6dOkXXrl2v2IdmzZrlbnt5eeHt7U1sbOy13pKIiIiIzWlMJSK2oqCUiJQaXl5el6V+X43FYgHAMIzc7fzalCtXrlDnc3V1vezYrKysIvVJRERExJ40phIRW1FNKREpMzZs2HDZ+wYNGgDQqFEjtm/fTlJSUu7n69atw8nJiXr16uHt7U3NmjX57bffbNpnEREREUejMZWIFBdlSolIqZGamkp0dHSefS4uLvj7+wMwf/58WrVqRceOHZk9ezabNm1ixowZADzwwAO88sorDB48mPHjx3P69GmeeuopBg4cSGBgIADjx49n+PDhBAQE0KtXLxISEli3bh1PPfWUbW9URERExIo0phIRW1FQSkRKjaVLlxIcHJxnX/369dm3bx9gruIyd+5cnnjiCYKCgpg9ezaNGjUC2pZCagAAAPtJREFUwNPTk2XLlvH000/TunVrPD09ueuuu5g0aVLuuQYPHkxKSgqTJ0/mueeew9/fn7vvvtt2NygiIiJiAxpTiYitWAzDMOzdCRERa7NYLPzwww/07dvX3l0RERERKbE0phKR4qSaUiIiIiIiIiIiYnMKSomIiIiIiIiIiM1p+p6IiIiIiIiIiNicMqVERERERERERMTmFJQSERERERERERGbU1BKRERERERERERsTkEpERERERERERGxOQWlRERERERERETE5hSUEhERERERERERm1NQSkREREREREREbE5BKRERERERERERsTkFpURERERERERExOb+H9yjgqxuRAxCAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Confusion Matrix:\n", + "[[467 33]\n", + " [ 53 447]]\n", + "\n", + "Classification Report:\n", + " precision recall f1-score support\n", + "\n", + " benign 0.90 0.93 0.92 500\n", + " malignant 0.93 0.89 0.91 500\n", + "\n", + " accuracy 0.91 1000\n", + " macro avg 0.91 0.91 0.91 1000\n", + "weighted avg 0.91 0.91 0.91 1000\n", + "\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAArgAAAJhCAYAAACq8cPIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABmJElEQVR4nO3deVxUddvH8e+wKwIJxJaE+wouqbm0aLnnkktq6V2aaOUaqVlqpnUXLuUWlmWakktopmWbqbmUqYVbrlnmEhZEmYIiAsI8f3g7j+OAMcoIZ/y8e53Xy/md3/nNNTw3DxcX1/kdk9lsNgsAAABwEi7FHQAAAABQlEhwAQAA4FRIcAEAAOBUSHABAADgVEhwAQAA4FRIcAEAAOBUSHABAADgVEhwAQAA4FRIcAEAAOBUSHABONyePXv0+OOPq0KFCvLy8lKZMmV0xx13aMqUKfrnn38c+t67du1Ss2bN5OfnJ5PJpBkzZhT5e5hMJk2YMKHI1/03CxYskMlkkslk0saNG23Om81mVa5cWSaTSc2bN7+m93jrrbe0YMECu67ZuHFjgTEBwI3gVtwBAHBu7777rgYNGqRq1arp2WefVc2aNZWTk6Pt27fr7bff1tatW7Vy5UqHvX+/fv2UkZGhhIQElS1bVuXLly/y99i6davKlStX5OsWlo+Pj+bNm2eTxG7atEm//vqrfHx8rnntt956S4GBgerbt2+hr7njjju0detW1axZ85rfFwCuBwkuAIfZunWrBg4cqFatWunjjz+Wp6en5VyrVq00YsQIrV692qEx7Nu3TwMGDFC7du0c9h6NGzd22NqF0bNnTy1evFhvvvmmfH19LePz5s1TkyZNlJ6efkPiyMnJkclkkq+vb7F/TQDc3GhRAOAwsbGxMplMmjNnjlVye4mHh4c6depkeZ2Xl6cpU6aoevXq8vT0VFBQkB577DGdOHHC6rrmzZsrMjJSiYmJuueee1S6dGlVrFhRkyZNUl5enqT///P9hQsXNHv2bMuf8iVpwoQJln9f7tI1x44ds4ytX79ezZs3V0BAgEqVKqXbb79d3bp107lz5yxz8mtR2Ldvnx588EGVLVtWXl5eqlu3ruLj463mXPpT/gcffKCxY8cqLCxMvr6+atmypQ4dOlS4L7KkRx55RJL0wQcfWMbS0tL00UcfqV+/fvle89JLL6lRo0by9/eXr6+v7rjjDs2bN09ms9kyp3z58tq/f782bdpk+fpdqoBfin3hwoUaMWKEbrvtNnl6eurw4cM2LQp///23wsPD1bRpU+Xk5FjWP3DggLy9vfXoo48W+rMCQGGQ4AJwiNzcXK1fv17169dXeHh4oa4ZOHCgnnvuObVq1UqrVq3Sf//7X61evVpNmzbV33//bTU3JSVFvXv31n/+8x+tWrVK7dq10+jRo7Vo0SJJUvv27bV161ZJ0kMPPaStW7daXhfWsWPH1L59e3l4eOi9997T6tWrNWnSJHl7eys7O7vA6w4dOqSmTZtq//79euONN7RixQrVrFlTffv21ZQpU2zmjxkzRsePH9fcuXM1Z84c/fLLL+rYsaNyc3MLFaevr68eeughvffee5axDz74QC4uLurZs2eBn+3JJ5/UsmXLtGLFCnXt2lVDhw7Vf//7X8uclStXqmLFiqpXr57l63dlO8no0aP122+/6e2339ann36qoKAgm/cKDAxUQkKCEhMT9dxzz0mSzp07p+7du+v222/X22+/XajPCQCFZgYAB0hJSTFLMj/88MOFmn/w4EGzJPOgQYOsxr///nuzJPOYMWMsY82aNTNLMn///fdWc2vWrGlu06aN1Zgk8+DBg63Gxo8fb87v//3Nnz/fLMl89OhRs9lsNi9fvtwsybx79+6rxi7JPH78eMvrhx9+2Ozp6Wn+7bffrOa1a9fOXLp0afPp06fNZrPZvGHDBrMk8wMPPGA1b9myZWZJ5q1bt171fS/Fm5iYaFlr3759ZrPZbG7YsKG5b9++ZrPZbK5Vq5a5WbNmBa6Tm5trzsnJMb/88svmgIAAc15enuVcQddeer977723wHMbNmywGp88ebJZknnlypXmPn36mEuVKmXes2fPVT8jAFwLKrgASoQNGzZIks3NTHfeeadq1Kihr7/+2mo8JCREd955p9VY7dq1dfz48SKLqW7duvLw8NATTzyh+Ph4HTlypFDXrV+/Xi1atLCpXPft21fnzp2zqSRf3qYhXfwckuz6LM2aNVOlSpX03nvvae/evUpMTCywPeFSjC1btpSfn59cXV3l7u6uF198USdPnlRqamqh37dbt26Fnvvss8+qffv2euSRRxQfH6+4uDhFRUUV+noAKCwSXAAOERgYqNKlS+vo0aOFmn/y5ElJUmhoqM25sLAwy/lLAgICbOZ5enoqMzPzGqLNX6VKlbRu3ToFBQVp8ODBqlSpkipVqqSZM2de9bqTJ08W+Dkunb/clZ/lUr+yPZ/FZDLp8ccf16JFi/T222+ratWquueee/Kd+8MPP6h169aSLu5y8d133ykxMVFjx461+33z+5xXi7Fv3746f/68QkJC6L0F4DAkuAAcwtXVVS1atNCOHTtsbhLLz6UkLzk52ebcH3/8ocDAwCKLzcvLS5KUlZVlNX5ln68k3XPPPfr000+Vlpambdu2qUmTJoqJiVFCQkKB6wcEBBT4OSQV6We5XN++ffX333/r7bff1uOPP17gvISEBLm7u+uzzz5Tjx491LRpUzVo0OCa3jO/m/UKkpycrMGDB6tu3bo6efKkRo4ceU3vCQD/hgQXgMOMHj1aZrNZAwYMyPemrJycHH366aeSpPvvv1+SLDeJXZKYmKiDBw+qRYsWRRbXpZ0A9uzZYzV+KZb8uLq6qlGjRnrzzTclSTt37ixwbosWLbR+/XpLQnvJ+++/r9KlSztsC63bbrtNzz77rDp27Kg+ffoUOM9kMsnNzU2urq6WsczMTC1cuNBmblFVxXNzc/XII4/IZDLpyy+/1MSJExUXF6cVK1Zc99oAcCX2wQXgME2aNNHs2bM1aNAg1a9fXwMHDlStWrWUk5OjXbt2ac6cOYqMjFTHjh1VrVo1PfHEE4qLi5OLi4vatWunY8eOady4cQoPD9czzzxTZHE98MAD8vf3V3R0tF5++WW5ublpwYIFSkpKspr39ttva/369Wrfvr1uv/12nT9/3rJTQcuWLQtcf/z48frss89033336cUXX5S/v78WL16szz//XFOmTJGfn1+RfZYrTZo06V/ntG/fXtOmTVOvXr30xBNP6OTJk3r99dfz3cotKipKCQkJWrp0qSpWrCgvL69r6psdP368vv32W61Zs0YhISEaMWKENm3apOjoaNWrV08VKlSwe00AKAgJLgCHGjBggO68805Nnz5dkydPVkpKitzd3VW1alX16tVLQ4YMscydPXu2KlWqpHnz5unNN9+Un5+f2rZtq4kTJ+bbc3utfH19tXr1asXExOg///mPbrnlFvXv31/t2rVT//79LfPq1q2rNWvWaPz48UpJSVGZMmUUGRmpVatWWXpY81OtWjVt2bJFY8aM0eDBg5WZmakaNWpo/vz5dj0R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zJEjR3TmzBndc889uvfee/Xhhx/qzJkzio2N1YYNGyzXTJs2TRK990BBSHCBEi4vL8/q9UMPPaS2bdvqjz/+0LfffquMjAzLuWnTpqlt27Z67bXXtGbNmhsdKoBrcOkvM+PGjVOHDh1Ur149jR07Vnv37tXtt9+ulStXKiMjQy+99JImT56sjh076uWXX1Zubm4xRw6UXCYzf98ADOGzzz6Tj4+PmjVrJkl65JFHtHv3bo0ZM0bdunVT6dKlLXPj4uI0aNAgubq6Fle4AP7F5S0HH330kYYMGaI333xT27Zt086dO+Xi4qLJkyerXr16OnHihIYOHaq0tDR5enpq1apVcnd358YzoAAkuEAJdfkPrh9++EH/+c9/VL9+fT377LO64447JEk9evTQvn37NHr0aJskV5Jyc3NJcoES7osvvtD69etVvXp19e/fX5L08ccf65133lFOTo6mTJmiO+64QxkZGcrKylLZsmVlMpl04cIFS88uAGv82geUQJdvBfbf//5XixYtUnZ2tj766CNNnjxZ33//vSRp2bJlioqK0muvvab3339fWVlZVuuQ3AIl286dO/XCCy9o/vz5VuOdO3fWk08+KXd3dz3//PNKTEyUt7e3/P39ZTKZlJeXR3ILXAUJLlDCXP5ny6lTp+q1115Tly5d9MUXX+jNN9/Ujz/+qLi4OCUmJkqSli5dqqCgIG3evFkeHh7FGToAO91xxx0aOHCgQkNDNX/+fB07dsxyrnPnzho4cKBOnTqlRYsWWV1HWwJwdbQoACXEhx9+qO7du1te5+bmqnPnzoqIiNCsWbMs40uWLNEzzzyj5s2ba+TIkWrYsKFlvqura75bCQEoflfrl3333XcVHx+v8uXL69VXX1VERITl3Lfffqu77rqLpBawA3/fAEqAKVOmaO/everWrZvVDzEvLy/LLgmXEthevXppz549euutt+Tt7S13d3fVrVtXrq6u3HAClFCXf28uX75c+/bt06233qo6dero7rvv1oABA3ThwgUtWbJEY8eOVWxsrG6//XZJ0j333GOzBoCr4zsFKAEeffRRzZ8/Xy4uLpbWA1dXV91xxx1atmyZdu/ebanOSlJQUJAaNmyoHTt26OOPP5Zk3bcLoOS4/Hvzueee09NPP60ffvhBy5cv14gRI7RkyRJJ0sCBA9WrVy+dOHFCTz31lP7880+rdfj+BgqP7xagBAgNDZWbm5u++OILPfroo5o6daokafTo0WrRooUeeOABbdmyRX/99ZeysrL0zTffaNCgQerVq5dee+01HuoAlGCXvjfffPNNLVu2TMuXL9cXX3yhhx56SLt379a4ceM0d+5cSReT3A4dOqh8+fK69dZbizNswNBoUQBKkGrVqunuu+/WypUr5erqqpiYGC1evFj9+vVT27ZtFRYWZnnwQ+fOnbV+/XqVK1eO3RKAEi4zM1N79+7VkCFD1KRJE61atUpjx47Vc889p59//lkvvfSSSpcurV69emnkyJGWXnraEoBrw01mQDG58gfXpde//vqrpkyZoh9//FG9evXSsGHDJF3cCP706dPKzc1VdHS0XF1dNWTIEO3cuVOrV6+Wr69vcX0UAFfI72bP5ORknTt3Tnl5eXrggQc0ePBgxcTEaPny5erdu7c8PDz0/vvvq0uXLgWuAaBwqOACxeDynrx33nlHP//8s8qUKaP+/furUqVKevbZZ/Xaa69pyZIlys3N1TPPPKNu3bpZrv/55581depULV++XBs2bCC5BUqQy395vfxhDKGhoZKkxYsXKzAwUP369ZMklSlTRh06dFDbtm3VqVMnyzokt8C14+8ewA2Wl5dn+cH1/PPPa9y4cdqzZ48+/vhj3XXXXTp06JAqV66sUaNGqW7dulq+fLleeeUVy/Xp6ek6cOCAfvvtN23YsEG1a9curo8C4AqX//I6bdo09e/fX4888oh++uknZWdnS7p4s9jRo0f13XffKTMzU2+++aYqVqyo/v37y9XVVbm5ucX5EQCnQIIL3GCXfvilpqbq3Llz+uqrr7R27VotWbJEUVFRaty4sQ4dOmSp5JYrV06//fabZQcFX19ftWvXTh9++CHJLVCCXP7La2xsrKWvdufOnWrVqpVWrVql7OxsNWrUSHfddZd69eqlyMhIHTt2TLGxsTKZTDKbzfTUA0WAHlygGCxatEgDBw5UzZo1tXz5coWHh0uSDh8+rKefflpbt27V1q1bVa1aNf3+++8KDQ2Vi4sLN5wABvDbb79pwoQJio6O1l133SVJ6t69u3744QdNnTpVDz30kI4cOaIDBw7o77//1qOPPipXV1erdgYA14eflEAxuO2223TXXXfpwIEDlsqs2WxW5cqV9cYbb+juu+9WjRo19Ntvv+m2224juQUM4r333lP16tW1fft2q974Dz/8UI0aNdLw4cP10UcfKSwsTB06dFDfvn0tbQkkt0DRoYILOFh+ianZbNb27ds1cOBApaen67vvvtOtt95quWv60KFDmjt3riZOnMgPPaAEy+/7u2XLllq/fr2WLl2qrl27WrUcPPzww1q5cqW+/PJL3X///Tc6XOCmQYILONDlP/xWrlypP/74Q3l5eWrVqpWqV6+unTt3atiwYTp16pQ2bNigoKAgm62B+LMlUPJt3LhRQUFBqlmzpiTp7rvv1u+//66FCxeqadOmVknwuHHjNGHCBHptAQciwQVugFGjRmnRokW66667dPjwYZlMJg0ZMkT9+vXTli1b9Pzzz+v06dNas2aNQkJCijtcAP/i8l9et23bplatWmnw4MEaMGCAKlWqJElq0qSJUlNTFR8fb5PkSlJubi5JLuAgNPQBDpaQkKAPPvhAn3zyiT788EMNGzZM+/fv1y233CJJatq0qV5//XVlZ2dr5MiRxRssgH91+VZgkydP1rp16+Tm5qa4uDjNnj1bhw8fliRt3bpVwcHB6tevnzZs2KAr60kkt4DjkOACDnb48GE1a9ZMDRs21IcffqiYmBjNnDlTXbt21dmzZ3XkyBHdeeedWr58ueLj44s7XABXcXkL0cSJEzVx4kQ1bNhQK1eu1OjRozVnzhzNmTNHv/76qyRpy5YtysvL0zvvvMODG4AbiMY+oAjld8PJX3/9pfDwcG3btk39+vXTa6+9pqeeekpms1kfffSRTp48qaFDhyoyMlISf7YESqKNGzeqefPmliT1/PnzWr16tYYNG6Y2bdpIkpo3by5fX1+NHDlSZrNZTzzxhKpUqaLDhw/rwoULxRk+cNMhwQWKyOWJ6eHDh1W6dGkFBwerW7duat68uSZPnqylS5eqe/fukqTMzEwtWbJEtWrVkru7u2UdklugZImJidH58+fVrFkzS4Kbm5urnJwcS9tBVlaWPD09NWzYMO3cuVPvvfeevLy89OSTT6pcuXJyc3Pjl1fgBqJFAbhOs2fP1q5duyw/uJ577jm1b99etWvX1v33368ff/xRM2fOlIeHh3JycnT8+HHt3btXXbt2VWpqqqZMmVLMnwDA1QwaNEhxcXEymUz66aefJEne3t5q2LCh3nnnHZ08eVKenp6WKm1oaKiqV6+u2bNna82aNZLEE8qAG4xdFIDrcPToUd17771q166dnnvuOe3Zs0eDBw/W7Nmzdfr0aR04cEBvvPGGHnvsMUVGRmrUqFEqW7asgoODVbZsWX311Vdyd3ensgOUQG+99Za6dOmi0NBQSdLixYs1c+ZMjRgxQj179tTp06f1wAMP6OTJk/r666916623yt3dXQ899JBGjBihFStWaMmSJfr1119VunTpYv40wM2FFgXgOlSoUEGffvqp+vfvr7i4OGVlZenZZ5/Vgw8+KElKS0tTRESEnn/+eX3wwQfav3+/kpKS5Ovrqzp16sjFxYV9boES6NNPP9WMGTO0e/duxcbGKjAwUDVr1lSZMmW0YMECeXh4qEuXLpozZ46GDBmiWrVqqVatWjp16pQuXLigxo0b6/Dhw1qzZg2/vALFgAouUAR27typJ598Ur/++quGDx+uF154wXLu5MmTio6OVnh4uOLi4qyu4/G7QMk1ffp0ffTRR6pevbpeffVVBQcHa9++fRo+fLjMZrOGDh2qTp06SbrYqvTPP//I3d1dw4cPl5ubm5566ikdOXJEK1eulLe3dzF/GuDmQoILFJG9e/eqU6dO8vf319y5c1WvXj3Luf79++vEiRNavXp1MUYIoDAu/8Vz+vTpWr58uapXr67Y2FgFBwdr7969GjFihMxms5566il169bN6vrff/9dEydO1AcffKBNmzZZdkgBcONQOgKKSFRUlD755BPl5uZq5syZ2r17tyTpzJkzOnjwoMLDw4s3QACF4uLiotzcXEnSM888o27duumnn37SmDFjlJKSoqioKE2bNk0uLi5699139f7771uu/euvv/Tll19q3759Wr9+PcktUEyo4AJFbNeuXfrPf/6jf/75Rw0bNpSnp6d+/fVXff/993J3d7faKB5AyXG1lqGpU6dqxYoVlnaFkJAQ7du3T3369NG9996r6dOnW+b+888/cnV1lZ+f340KHcAVSHABB9i3b5+6dOmiUqVKaeTIkerdu7dcXV25oQwooS5Pbj/55BP99NNPCgkJUWRkpOrXry/p/5PcGjVqWHpyjxw5ovLly8vFxYWeeqAEIcEFHCQxMVFz587V22+/LZPJxA8/oIS6/K8qzz33nJYsWaJKlSopNzdXeXl5ev7559WxY0dJF5PcTz75RIGBgZo7d678/f0lccMoUNJQSgIcpGHDhmrQoAHJ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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import os\n", + "import torch\n", + "import torch.nn as nn\n", + "import torch.optim as optim\n", + "from torchvision import datasets, transforms, models\n", + "from torch.utils.data import DataLoader\n", + "import matplotlib.pyplot as plt\n", + "from sklearn.metrics import confusion_matrix, classification_report\n", + "import numpy as np\n", + "import time\n", + "\n", + "# Định nghĩa đường dẫn\n", + "train_dir = \"//home/ubuntu/vnet/TaoST/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/train\"\n", + "test_dir = \"/home/ubuntu/vnet/TaoST/melanoma-skin-cancer-dataset-of-10000-images/versions/1/melanoma_cancer_dataset/test\"\n", + "\n", + "# Định nghĩa transforms\n", + "data_transforms = {\n", + " 'train': transforms.Compose([\n", + " transforms.Resize((224, 224)),\n", + " transforms.RandomHorizontalFlip(),\n", + " transforms.RandomVerticalFlip(),\n", + " transforms.RandomRotation(20),\n", + " transforms.ToTensor(),\n", + " transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])\n", + " ]),\n", + " 'test': transforms.Compose([\n", + " transforms.Resize((224, 224)),\n", + " transforms.ToTensor(),\n", + " transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])\n", + " ])\n", + "}\n", + "\n", + "# Tạo datasets\n", + "image_datasets = {\n", + " 'train': datasets.ImageFolder(train_dir, data_transforms['train']),\n", + " 'test': datasets.ImageFolder(test_dir, data_transforms['test'])\n", + "}\n", + "\n", + "# Tăng kích thước batch lên 128 để tận dụng GPU tốt hơn\n", + "batch_size = 128\n", + "dataloaders = {\n", + " 'train': DataLoader(image_datasets['train'], batch_size=batch_size, shuffle=True, num_workers=6, pin_memory=True),\n", + " 'test': DataLoader(image_datasets['test'], batch_size=batch_size, shuffle=False, num_workers=6, pin_memory=True)\n", + "}\n", + "\n", + "# Kiểm tra kích thước dữ liệu\n", + "dataset_sizes = {x: len(image_datasets[x]) for x in ['train', 'test']}\n", + "class_names = image_datasets['train'].classes\n", + "print(f\"Dataset sizes: {dataset_sizes}\")\n", + "print(f\"Class names: {class_names}\")\n", + "\n", + "# Kiểm tra device\n", + "device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\n", + "print(f\"Using device: {device}\")\n", + "\n", + "# Kiểm tra hình dạng của dữ liệu\n", + "for inputs, labels in dataloaders['train']:\n", + " print(f\"Input shape: {inputs.shape}\") # Nên là [batch_size, 3, 224, 224]\n", + " print(f\"Labels: {labels}\")\n", + " break\n", + "\n", + "# Tạo mô hình DenseNet-169 (thay đổi từ DenseNet-121)\n", + "def create_model():\n", + " # Tải mô hình pretrained DenseNet-169\n", + " model = models.densenet169(pretrained=True)\n", + " \n", + " # Đóng băng tất cả các lớp để bắt đầu\n", + " for param in model.parameters():\n", + " param.requires_grad = False\n", + " \n", + " # Thay thế lớp phân loại\n", + " # DenseNet-169 có 1664 đặc trưng đầu ra ở lớp cuối cùng\n", + " num_ftrs = model.classifier.in_features\n", + " \n", + " # Thay thế lớp phân loại của DenseNet với một lớp mới có 1 đầu ra\n", + " # Sigmoid sẽ được áp dụng trong BCEWithLogitsLoss\n", + " model.classifier = nn.Linear(num_ftrs, 1)\n", + " \n", + " return model\n", + "\n", + "# Tạo mô hình và chuyển sang device\n", + "model = create_model()\n", + "model = model.to(device)\n", + "\n", + "# Định nghĩa hàm loss và optimizer\n", + "criterion = nn.BCEWithLogitsLoss()\n", + "# Chỉ tối ưu lớp phân loại\n", + "optimizer = optim.Adam(model.classifier.parameters(), lr=0.001)\n", + "# Learning rate scheduler\n", + "scheduler = optim.lr_scheduler.ReduceLROnPlateau(optimizer, mode='min', factor=0.1, patience=5, verbose=True)\n", + "\n", + "# Hàm huấn luyện mô hình\n", + "def train_model(model, criterion, optimizer, scheduler, num_epochs=25):\n", + " since = time.time()\n", + " \n", + " best_model_wts = model.state_dict()\n", + " best_acc = 0.0\n", + " \n", + " history = {'train_loss': [], 'train_acc': [], 'test_loss': [], 'test_acc': []}\n", + " \n", + " for epoch in range(num_epochs):\n", + " print(f'Epoch {epoch}/{num_epochs - 1}')\n", + " print('-' * 10)\n", + " \n", + " # Mỗi epoch có một phase training và testing\n", + " for phase in ['train', 'test']:\n", + " if phase == 'train':\n", + " model.train() # Đặt model ở chế độ training\n", + " else:\n", + " model.eval() # Đặt model ở chế độ evaluation\n", + " \n", + " running_loss = 0.0\n", + " running_corrects = 0\n", + " \n", + " # Lặp qua data\n", + " for inputs, labels in dataloaders[phase]:\n", + " inputs = inputs.to(device)\n", + " # Chuyển đổi labels sang float và reshape để phù hợp với sigmoid\n", + " labels = labels.float().view(-1, 1).to(device)\n", + " \n", + " # Zero the parameter gradients\n", + " optimizer.zero_grad()\n", + " \n", + " # Forward\n", + " # Theo dõi history nếu đang training\n", + " with torch.set_grad_enabled(phase == 'train'):\n", + " outputs = model(inputs)\n", + " preds = torch.sigmoid(outputs) > 0.5\n", + " loss = criterion(outputs, labels)\n", + " \n", + " # Backward + optimize chỉ khi training\n", + " if phase == 'train':\n", + " loss.backward()\n", + " optimizer.step()\n", + " \n", + " # Thống kê\n", + " running_loss += loss.item() * inputs.size(0)\n", + " running_corrects += torch.sum(preds == labels.byte())\n", + " \n", + " if phase == 'test' and scheduler is not None:\n", + " scheduler.step(running_loss)\n", + " \n", + " epoch_loss = running_loss / dataset_sizes[phase]\n", + " epoch_acc = running_corrects.double() / dataset_sizes[phase]\n", + " \n", + " print(f'{phase} Loss: {epoch_loss:.4f} Acc: {epoch_acc:.4f}')\n", + " \n", + " # Lưu lại lịch sử\n", + " if phase == 'train':\n", + " history['train_loss'].append(epoch_loss)\n", + " history['train_acc'].append(epoch_acc.item())\n", + " else:\n", + " history['test_loss'].append(epoch_loss)\n", + " history['test_acc'].append(epoch_acc.item())\n", + " \n", + " # Sao chép mô hình tốt nhất\n", + " if phase == 'test' and epoch_acc > best_acc:\n", + " best_acc = epoch_acc\n", + " best_model_wts = model.state_dict()\n", + " \n", + " print()\n", + " \n", + " time_elapsed = time.time() - since\n", + " print(f'Training complete in {time_elapsed // 60:.0f}m {time_elapsed % 60:.0f}s')\n", + " print(f'Best val Acc: {best_acc:4f}')\n", + " \n", + " # Tải model tốt nhất\n", + " model.load_state_dict(best_model_wts)\n", + " return model, history\n", + "\n", + "# Huấn luyện mô hình\n", + "num_epochs = 20\n", + "model, history = train_model(model, criterion, optimizer, scheduler, num_epochs=num_epochs)\n", + "\n", + "# Lưu mô hình\n", + "torch.save(model.state_dict(), 'melanoma_classifier_densenet169.pth')\n", + "\n", + "# Vẽ đồ thị training và validation accuracy/loss\n", + "def plot_training_history(history):\n", + " plt.figure(figsize=(12, 5))\n", + " \n", + " plt.subplot(1, 2, 1)\n", + " plt.plot(history['train_acc'], label='Train')\n", + " plt.plot(history['test_acc'], label='Validation')\n", + " plt.title('Model Accuracy')\n", + " plt.xlabel('Epoch')\n", + " plt.ylabel('Accuracy')\n", + " plt.legend()\n", + " \n", + " plt.subplot(1, 2, 2)\n", + " plt.plot(history['train_loss'], label='Train')\n", + " plt.plot(history['test_loss'], label='Validation')\n", + " plt.title('Model Loss')\n", + " plt.xlabel('Epoch')\n", + " plt.ylabel('Loss')\n", + " plt.legend()\n", + " \n", + " plt.tight_layout()\n", + " plt.savefig('training_history_densenet169.png')\n", + " plt.show()\n", + "\n", + "plot_training_history(history)\n", + "\n", + "# Đánh giá mô hình trên tập test\n", + "def evaluate_model(model, dataloader):\n", + " model.eval()\n", + " y_true = []\n", + " y_pred = []\n", + " \n", + " with torch.no_grad():\n", + " for inputs, labels in dataloader:\n", + " inputs = inputs.to(device)\n", + " outputs = model(inputs)\n", + " preds = torch.sigmoid(outputs) > 0.5\n", + " \n", + " y_true.extend(labels.numpy())\n", + " y_pred.extend(preds.cpu().numpy())\n", + " \n", + " cm = confusion_matrix(y_true, y_pred)\n", + " report = classification_report(y_true, y_pred, target_names=class_names)\n", + " \n", + " return cm, report\n", + "\n", + "cm, report = evaluate_model(model, dataloaders['test'])\n", + "print(\"Confusion Matrix:\")\n", + "print(cm)\n", + "print(\"\\nClassification Report:\")\n", + "print(report)\n", + "\n", + "# Lưu confusion matrix\n", + "plt.figure(figsize=(8, 6))\n", + "plt.imshow(cm, interpolation='nearest', cmap=plt.cm.Blues)\n", + "plt.title('Confusion Matrix')\n", + "plt.colorbar()\n", + "tick_marks = np.arange(len(class_names))\n", + "plt.xticks(tick_marks, class_names, rotation=45)\n", + "plt.yticks(tick_marks, class_names)\n", + "\n", + "thresh = cm.max() / 2.\n", + "for i in range(cm.shape[0]):\n", + " for j in range(cm.shape[1]):\n", + " plt.text(j, i, format(cm[i, j], 'd'),\n", + " horizontalalignment=\"center\",\n", + " color=\"white\" if cm[i, j] > thresh else \"black\")\n", + "\n", + "plt.tight_layout()\n", + "plt.ylabel('True label')\n", + "plt.xlabel('Predicted label')\n", + "plt.savefig('confusion_matrix_densenet169.png')\n", + "plt.show()\n", + "\n", + "# Hàm dự đoán cho một ảnh mới\n", + "def predict_image(image_path, model, transform):\n", + " from PIL import Image\n", + " \n", + " model.eval()\n", + " img = Image.open(image_path)\n", + " img_t = transform(img)\n", + " batch_t = torch.unsqueeze(img_t, 0).to(device)\n", + " \n", + " with torch.no_grad():\n", + " output = model(batch_t)\n", + " prob = torch.sigmoid(output).item()\n", + " \n", + " return prob\n", + "\n", + "# Ví dụ sử dụng hàm dự đoán\n", + "# image_path = '/path/to/image.jpg' # Thay đổi đường dẫn này\n", + "# probability = predict_image(image_path, model, data_transforms['test'])\n", + "# print(f\"Probability of malignant: {probability:.4f}\")\n", + "# if probability > 0.5:\n", + "# print(\"Prediction: Malignant\")\n", + "# else:\n", + "# print(\"Prediction: Benign\")" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "a5f51335", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ubuntu/.local/lib/python3.12/site-packages/torchvision/models/_utils.py:208: UserWarning: The parameter 'pretrained' is deprecated since 0.13 and may be removed in the future, please use 'weights' instead.\n", + " warnings.warn(\n", + "/home/ubuntu/.local/lib/python3.12/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and may be removed in the future. The current behavior is equivalent to passing `weights=DenseNet169_Weights.IMAGENET1K_V1`. You can also use `weights=DenseNet169_Weights.DEFAULT` to get the most up-to-date weights.\n", + " warnings.warn(msg)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mô hình đã được chuyển đổi thành công sang ONNX và lưu tại: /home/ubuntu/vnet/TaoST/Model3/melanoma_classifier_densenet169.onnx\n", + "Mô hình ONNX đã được kiểm tra và xác nhận hợp lệ.\n" + ] + } + ], + "source": [ + "import torch\n", + "import torch.nn as nn\n", + "from torchvision import models\n", + "\n", + "# 1. Định nghĩa lại kiến trúc mô hình (giống hệt khi training)\n", + "def create_model():\n", + " # Tải mô hình pretrained DenseNet-169\n", + " model = models.densenet169(pretrained=True)\n", + " \n", + " # Đóng băng tất cả các lớp để bắt đầu\n", + " for param in model.parameters():\n", + " param.requires_grad = False\n", + " \n", + " # Thay thế lớp phân loại\n", + " # DenseNet-169 có 1664 đặc trưng đầu ra ở lớp cuối cùng\n", + " num_ftrs = model.classifier.in_features\n", + " \n", + " # Thay thế lớp phân loại của DenseNet với một lớp mới có 1 đầu ra\n", + " # Sigmoid sẽ được áp dụng trong BCEWithLogitsLoss\n", + " model.classifier = nn.Linear(num_ftrs, 1)\n", + " \n", + " return model\n", + "\n", + "# 2. Khởi tạo mô hình và tải trọng số đã lưu\n", + "device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n", + "model = create_model()\n", + "\n", + "# Tải trọng số từ file .pth\n", + "model_path = \"/home/ubuntu/vnet/TaoST/Model3/melanoma_classifier_densenet169.pth\"\n", + "model.load_state_dict(torch.load(model_path, map_location=device))\n", + "model.to(device)\n", + "model.eval() # Chuyển sang chế độ inference\n", + "\n", + "# 3. Tạo dummy input với kích thước phù hợp (batch_size, channels, height, width)\n", + "dummy_input = torch.randn(1, 3, 224, 224).to(device)\n", + "\n", + "# 4. Xuất sang ONNX\n", + "onnx_path = \"/home/ubuntu/vnet/TaoST/Model3/melanoma_classifier_densenet169.onnx\"\n", + "torch.onnx.export(\n", + " model, # Mô hình cần xuất\n", + " dummy_input, # Input đầu vào mẫu\n", + " onnx_path, # Đường dẫn tới file ONNX đầu ra\n", + " export_params=True, # Lưu các tham số của mô hình\n", + " opset_version=12, # Phiên bản ONNX opset\n", + " do_constant_folding=True, # Tối ưu hóa các hằng số\n", + " input_names=['input'], # Tên của input\n", + " output_names=['output'], # Tên của output\n", + " dynamic_axes={ # Kích thước động (batch size có thể thay đổi)\n", + " 'input': {0: 'batch_size'},\n", + " 'output': {0: 'batch_size'}\n", + " }\n", + ")\n", + "\n", + "print(f\"Mô hình đã được chuyển đổi thành công sang ONNX và lưu tại: {onnx_path}\")\n", + "\n", + "# 5. Kiểm tra xem mô hình ONNX có thể được tải và sử dụng không (tùy chọn)\n", + "try:\n", + " import onnx\n", + " \n", + " # Tải mô hình ONNX\n", + " onnx_model = onnx.load(onnx_path)\n", + " \n", + " # Kiểm tra mô hình ONNX\n", + " onnx.checker.check_model(onnx_model)\n", + " \n", + " print(\"Mô hình ONNX đã được kiểm tra và xác nhận hợp lệ.\")\n", + "except ImportError:\n", + " print(\"Thư viện ONNX không được cài đặt. Bỏ qua bước kiểm tra.\")\n", + "except Exception as e:\n", + " print(f\"Lỗi khi kiểm tra mô hình ONNX: {e}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "fed15a92", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Đã nén file /home/ubuntu/vnet/TaoST/Model4/Code.ipynb thành /home/ubuntu/vnet/TaoST/Model4/Code.zip\n" + ] + } + ], + "source": [ + "import zipfile\n", + "\n", + "# Đường dẫn đến file ipynb\n", + "ipynb_file = \"/home/ubuntu/vnet/TaoST/Model4/Code.ipynb\"\n", + "\n", + "# Đường dẫn file zip đầu ra\n", + "zip_file = \"/home/ubuntu/vnet/TaoST/Model4/Code.zip\"\n", + "\n", + "# Tạo file zip\n", + "with zipfile.ZipFile(zip_file, 'w') as zipf:\n", + " zipf.write(ipynb_file, arcname=\"Code.ipynb\") # arcname để đặt tên file trong zip\n", + "\n", + "print(f\"Đã nén file {ipynb_file} thành {zip_file}\")" + ] } ], "metadata": {