2023-05-12 12:07:58 +00:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "5a38ed25",
"metadata": {
"ExecuteTime": {
"end_time": "2023-04-12T14:25:46.519408Z",
"start_time": "2023-04-12T14:25:03.003304Z"
},
"scrolled": true
},
"outputs": [],
"source": [
"import sys\n",
"import numpy as np\n",
"import h5py\n",
"import matplotlib.pyplot as plt\n",
"import scienceplots\n",
"from glob import glob\n",
"\n",
"sys.path.append(\"../\")\n",
"import csiborgtools\n",
"\n",
"\n",
"%matplotlib widget\n",
"%load_ext autoreload\n",
"%autoreload 2"
]
},
{
"cell_type": "code",
2023-05-13 16:37:34 +00:00
"execution_count": 2,
2023-05-12 12:07:58 +00:00
"id": "3648b42e",
"metadata": {},
"outputs": [],
"source": [
2023-05-13 16:37:34 +00:00
"paths = csiborgtools.read.Paths(**csiborgtools.paths_glamdring)\n",
2023-05-12 12:07:58 +00:00
"files = glob(\"/mnt/extraspace/rstiskalek/CSiBORG/overlap/overlap_0*\")\n",
"\n",
"nsim0 = 7444\n",
"files = [f for f in files if str(nsim0) in f]\n",
"\n",
"nsimxs = np.sort([int(f.split(\"_\")[-1].split(\".\")[0][1:]) for f in files])"
]
},
{
"cell_type": "code",
2023-05-13 16:37:34 +00:00
"execution_count": 6,
2023-05-12 12:07:58 +00:00
"id": "5d73697d",
"metadata": {},
"outputs": [],
"source": [
"cat0 = csiborgtools.read.HaloCatalogue(nsim0, paths, minmass=(\"totpartmass\", 1e12))\n",
"catxs = [csiborgtools.read.HaloCatalogue(nsimx, paths, minmass=(\"totpartmass\", 1e12)) for nsimx in nsimxs]"
]
},
{
"cell_type": "code",
2023-05-13 16:37:34 +00:00
"execution_count": 7,
2023-05-12 12:07:58 +00:00
"id": "a8c63faa",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
2023-05-13 16:37:34 +00:00
"100%|██████████| 100/100 [02:52<00:00, 1.73s/it]\n"
2023-05-12 12:07:58 +00:00
]
}
],
"source": [
"reader = csiborgtools.read.NPairsOverlap(cat0, catxs, paths)"
]
},
2023-05-13 16:37:34 +00:00
{
"cell_type": "code",
"execution_count": 8,
"id": "99aa9bce",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 100/100 [00:32<00:00, 3.07it/s]\n"
]
}
],
"source": [
"x = reader.cat0(\"totpartmass\")\n",
"y1 = reader.summed_overlap(True)"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 100/100 [01:01<00:00, 1.63it/s]\n"
]
}
],
"source": [
"y2 = reader.prob_nomatch(True)"
]
},
{
"cell_type": "code",
"execution_count": 45,
"id": "f4b8934e",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_26899/1670519415.py:1: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`). Consider using `matplotlib.pyplot.close()`.\n",
" plt.figure()\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "5ce0c4068b4248f89c7b7d94392ab53a",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.scatter(1 - np.mean(y1, axis=1), np.mean(y2, axis=1), c=np.log10(x), s=2)\n",
"plt.colorbar(label=r\"$\\log_{10} M_{\\rm halo} / M_\\odot$\")\n",
"\n",
"t = np.linspace(0.3, 1, 100)\n",
"plt.plot(t, t, color=\"red\", linestyle=\"--\")\n",
"\n",
"plt.xlabel(r\"$1 - \\langle \\mathcal{O}_a^{\\mathcal{A} \\mathcal{B}} \\rangle_{\\mathcal{B}}$\")\n",
"plt.ylabel(r\"$\\langle \\eta_a^{\\mathcal{A} \\mathcal{B}} \\rangle_{\\mathcal{B}}$\")\n",
"plt.tight_layout()\n",
"plt.savefig(\"../plots/prob_nomatch_vs_overlap.png\", dpi=450)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "887da7fa",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "20e95e79",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 18,
"id": "56b70f96",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "8eabaceb0b6447efb4d690d6fe5eb507",
"version_major": 2,
"version_minor": 0
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydd7gdRf3GPzO7p9ye3kjoRQJIDZHeBQQUEBGQLiAKNhQEC0Wq8FNUmjTpIIj0JohUQVoIvSWEkJDebj9ld+b3x+6eurvnJucmNzHzeZ4LuWd26u655z0z835HaK01BoPBYDAYDIbVBjnQDTAYDAaDwWAwrFiMADQYDAaDwWBYzTAC0GAwGAwGg2E1wwhAg8FgMBgMhtUMIwANBoPBYDAYVjOMADQYDAaDwWBYzTAC0GAwGAwGg2E1wwhAg8FgMBgMhtUMIwANBoPBYDAYVjOMADQYDAaDwWBYzTAC0GAwGAwGg2E1wwhAg8FgMBgMhtUMIwANBoPBYDAYVjOMADQYDAaDwWBYzTAC0GAwGAwGg2E1wwhAg8FgMBgMhtUMIwANhhXIzTffjBCCzz77bKCb0meWps3nnnsuQggWLFiw/Bu2jAzkPVgeda+Kz5TBYBh4jAA0rPJMnTqV733ve6y77rqk02laW1vZYYcd+NOf/kRvb+9AN+9/kpdeeolzzz2XJUuW9Gu5XV1dnHPOOeyzzz4MGTIEIQQ333xzv9axqrK8xtxgMKyeGAFoWKV59NFH2Wyzzbjnnns44IADuOKKK7j44otZc801Of300/nxj3880E0s46ijjqK3t5e11lproJvSZ8La/NJLL3Heeef1uxhZsGABv/3tb/nggw/YfPPN+7XsgFXxHkD0mK+q/TEYDAOLPdANMBiWlWnTpnHYYYex1lpr8e9//5vRo0cX0k455RSmTJnCo48+Gpm/u7ubpqamFdHUApZlYVnWCq2zXlZkm0ePHs3s2bMZNWoUr7/+OhMmTOj3OlbFexDH/1p/DAbDisHMABpWWS699FK6urq48cYby8RfwPrrr1+YAQz2pr3//vscccQRDB48mB133LFw7Ztvvsm+++5La2srzc3N7LHHHvz3v/8tK6+zs5Of/OQnrL322qRSKUaMGMFee+3FpEmT+nxN2H6toG1Tpkzh2GOPZdCgQbS1tXHcccfR09NT1a9nn32WbbbZhnQ6zXrrrce1115bKCOKt99+GyEEDz30UOG1N954AyEEW221Vdm1++67LxMnTiz8Xtnmc889l9NPPx2AddZZByFEVZ+WLFnSp75UkkqlGDVqVM3roujLPQrrjxCCjz/+mCOPPJK2tjaGDx/Ob37zG7TWzJgxg2984xu0trYyatQofv/735fVeeyxx7L22mtXtaXWPQGYPn06P/jBD9hoo41oaGhg6NChfOtb36razxc35lF7APvyTC/Ns9eXsTUYDKsOZgbQsMry8MMPs+6667L99tv3Oc+3vvUtNthgAy666CK01gC899577LTTTrS2tnLGGWeQSCS49tpr2XXXXXnuuecKYujkk0/m3nvv5dRTT2X8+PEsXLiQF198kQ8++KAgovpyTRSHHnoo66yzDhdffDGTJk3ihhtuYMSIEfzud78rXPPmm2+yzz77MHr0aM477zxc1+W3v/0tw4cPjy170003ZdCgQTz//PN8/etfB+CFF15ASslbb71FR0cHra2tKKV46aWXOOmkkyLLOvjgg/n444+56667uPzyyxk2bBhAWRv60pflQT3j/+1vf5uNN96YSy65hEcffZQLLriAIUOGcO2117L77rvzu9/9jjvuuIOf//znTJgwgZ133rnu9r722mu89NJLHHbYYYwdO5bPPvuMa665hl133ZX333+fxsZGoG9jXkpfn+mAvtyvesbWYDCshGiDYRWkvb1dA/ob3/hGn64/55xzNKAPP/zwqrQDDzxQJ5NJPXXq1MJrs2bN0i0tLXrnnXcuvNbW1qZPOeWU2HpqXXPTTTdpQE+bNq2qbccff3zZtQcddJAeOnRo2WsHHHCAbmxs1F988UXhtU8++UTbtq1rvZ33228/ve222xZ+P/jgg/XBBx+sLcvSjz/+uNZa60mTJmlAP/jgg7Ftvuyyy6peW9q+1OK1117TgL7pppv6nKcv96iyP0GbTzrppMI1juPosWPHaiGEvuSSSwqvL168WDc0NOhjjjmm8Noxxxyj11prrap6gnLj6u7p6anK9/LLL2tA33rrrWWvR4152P3p6zO9NPerL2NrMBhWHcwSsGGVpKOjA4CWlpalynfyySeX/e66Lk8++SQHHngg6667buH10aNHc8QRR/Diiy8W6ho0aBCvvPIKs2bNiiy/L9f0tW077bQTCxcuLNTvui7/+te/OPDAAxkzZkzhuvXXX5999923Zvk77bQTkyZNoru7G4AXX3yRr33ta2yxxRa88MILgDcrKIQoWx5fFmr1ZXlRz/ifcMIJhX9blsU222yD1prvfve7ZeVvtNFGfPrpp/3S3oaGhsK/8/k8CxcuZP3112fQoEHLvLS6NM90QF/uVz1jazAYVj6MADSskrS2tgLevqSlYZ111in7ff78+fT09LDRRhtVXbvxxhujlGLGjBmAt+fw3XffZdy4cWy77bace+65VUKgL9dEseaaa5b9PnjwYAAWL14MwLx58+jt7WX99devyhv2WiU77bQTjuPw8ssv89FHHzFv3jx22mkndt555zIBOH78eIYMGdKnNi9rX5YX/Tn+bW1tpNPpwnJr6ev91Y/e3l7OPvtsxo0bRyqVYtiwYQwfPpwlS5bQ3t6+TGUuzTMd0Jf7Vc/YGgyGlQ8jAA2rJK2trYwZM4Z33313qfKVzrgsLYceeiiffvopV1xxBWPGjOGyyy5jk0024fHHH1+qa6KIcnJqf69ivQTGkeeff54XXniBESNGsOGGG7LTTjvx6quvks1meeGFF9hpp53qrmt59yWK/h7/vvQjyujhum7NOn/4wx9y4YUXcuihh3LPPffw5JNP8tRTTzF06FCUUjXz9xd96Wc9Y2swGFY+jAA0rLLsv//+TJ06lZdffnmZyxg+fDiNjY189NFHVWkffvghUkrGjRtXeG306NH84Ac/4IEHHmDatGkMHTqUCy+8sCxfX65ZFkaMGEE6nWbKlClVaWGvVZJMJtl222154YUXyoTeTjvtRDab5Y477mDu3Ll9MjfUcrcOJMtr/KMYPHhwaDzE6dOn18x77733cswxx/D73/+eQw45hL322osdd9wxtLy+jvnSPtNLw4oeW4PBsPwwAtCwynLGGWfQ1NTECSecwNy5c6vSp06dyp/+9KfYMizL4qtf/SoPPvhgWRiNuXPncuedd7LjjjvS2tqK67pVS3IjRoxgzJgxZLNZgD5dUw+WZbHnnnvywAMPlO3DmjJlSp9nYXbaaSdeeeUVnnnmmYIAHDZsGBtvvHHB8dmXGcAgfuLKdCrF8h7/KNZbbz3a29t5++23C6/Nnj2b+++/v2Zey7KqZkWvuOKK0NnDvo55X5/ppaEvY9vT08OHH364Uh8DaDAYipgwMIZVlvXWW48777yzEL7j6KOPZtNNNyWXy/HSSy/x97//nWOPPbZmORdccAFPPfUUO+64Iz/4wQ+wbZtrr72WbDbLpZdeCnh7DceOHcshhxzC5ptvTnNzM//617947bXXCnHh+nJNvZx77rk8+eST7LDDDnz/+9/HdV2uvPJKNt10UyZPnlwz/0477cSFF17IjBkzyoTezjvvzLXXXsvaa6/N2LFja5az9dZbA/CrX/2Kww47jEQiwQEHHLDM/SrlyiuvZMmSJQWR+/DDDzNz5kzAWzJta2sLzbcixj+Mww47jF/84hccdNBB/OhHP6Knp4drrrmGDTfcsKaRY//99+e2226jra2N8ePH8/LLL/Ovf/2LoUOHVl27NGPel2d6aejL2L766qvstttunHPOOZx77rlLXYfBYFjBDKQF2WDoDz7++GN94okn6rXXXlsnk0nd0tKid9hhB33FFVfoTCajtS6Gu5g/f35oGZMmTdJ77723bm5
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydd7gdRf3GPzO7p9ye3kjoRQJIDZHeBQQUEBGQLiAKNhQEC0Wq8FNUmjTpIIj0JohUQVoIvSWEkJDebj9ld+b3x+6eurvnJucmNzHzeZ4LuWd26u655z0z835HaK01BoPBYDAYDIbVBjnQDTAYDAaDwWAwrFiMADQYDAaDwWBYzTAC0GAwGAwGg2E1wwhAg8FgMBgMhtUMIwANBoPBYDAYVjOMADQYDAaDwWBYzTAC0GAwGAwGg2E1wwhAg8FgMBgMhtUMIwANBoPBYDAYVjOMADQYDAaDwWBYzTAC0GAwGAwGg2E1wwhAg8FgMBgMhtUMIwANBoPBYDAYVjOMADQYDAaDwWBYzTAC0GAwGAwGg2E1wwhAg8FgMBgMhtUMIwANhhXIzTffjBCCzz77bKCb0meWps3nnnsuQggWLFiw/Bu2jAzkPVgeda+Kz5TBYBh4jAA0rPJMnTqV733ve6y77rqk02laW1vZYYcd+NOf/kRvb+9AN+9/kpdeeolzzz2XJUuW9Gu5XV1dnHPOOeyzzz4MGTIEIQQ333xzv9axqrK8xtxgMKyeGAFoWKV59NFH2Wyzzbjnnns44IADuOKKK7j44otZc801Of300/nxj3880E0s46ijjqK3t5e11lproJvSZ8La/NJLL3Heeef1uxhZsGABv/3tb/nggw/YfPPN+7XsgFXxHkD0mK+q/TEYDAOLPdANMBiWlWnTpnHYYYex1lpr8e9//5vRo0cX0k455RSmTJnCo48+Gpm/u7ubpqamFdHUApZlYVnWCq2zXlZkm0ePHs3s2bMZNWoUr7/+OhMmTOj3OlbFexDH/1p/DAbDisHMABpWWS699FK6urq48cYby8RfwPrrr1+YAQz2pr3//vscccQRDB48mB133LFw7Ztvvsm+++5La2srzc3N7LHHHvz3v/8tK6+zs5Of/OQnrL322qRSKUaMGMFee+3FpEmT+nxN2H6toG1Tpkzh2GOPZdCgQbS1tXHcccfR09NT1a9nn32WbbbZhnQ6zXrrrce1115bKCOKt99+GyEEDz30UOG1N954AyEEW221Vdm1++67LxMnTiz8Xtnmc889l9NPPx2AddZZByFEVZ+WLFnSp75UkkqlGDVqVM3roujLPQrrjxCCjz/+mCOPPJK2tjaGDx/Ob37zG7TWzJgxg2984xu0trYyatQofv/735fVeeyxx7L22mtXtaXWPQGYPn06P/jBD9hoo41oaGhg6NChfOtb36razxc35lF7APvyTC/Ns9eXsTUYDKsOZgbQsMry8MMPs+6667L99tv3Oc+3vvUtNthgAy666CK01gC899577LTTTrS2tnLGGWeQSCS49tpr2XXXXXnuuecKYujkk0/m3nvv5dRTT2X8+PEsXLiQF198kQ8++KAgovpyTRSHHnoo66yzDhdffDGTJk3ihhtuYMSIEfzud78rXPPmm2+yzz77MHr0aM477zxc1+W3v/0tw4cPjy170003ZdCgQTz//PN8/etfB+CFF15ASslbb71FR0cHra2tKKV46aWXOOmkkyLLOvjgg/n444+56667uPzyyxk2bBhAWRv60pflQT3j/+1vf5uNN96YSy65hEcffZQLLriAIUOGcO2117L77rvzu9/9jjvuuIOf//znTJgwgZ133rnu9r722mu89NJLHHbYYYwdO5bPPvuMa665hl133ZX333+fxsZGoG9jXkpfn+mAvtyvesbWYDCshGiDYRWkvb1dA/ob3/hGn64/55xzNKAPP/zwqrQDDzxQJ5NJPXXq1MJrs2bN0i0tLXrnnXcuvNbW1qZPOeWU2HpqXXPTTTdpQE+bNq2qbccff3zZtQcddJAeOnRo2WsHHHCAbmxs1F988UXhtU8++UTbtq1rvZ33228/ve222xZ+P/jgg/XBBx+sLcvSjz/+uNZa60mTJmlAP/jgg7Ftvuyyy6peW9q+1OK1117TgL7pppv6nKcv96iyP0GbTzrppMI1juPosWPHaiGEvuSSSwqvL168WDc0NOhjjjmm8Noxxxyj11prrap6gnLj6u7p6anK9/LLL2tA33rrrWWvR4152P3p6zO9NPerL2NrMBhWHcwSsGGVpKOjA4CWlpalynfyySeX/e66Lk8++SQHHngg6667buH10aNHc8QRR/Diiy8W6ho0aBCvvPIKs2bNiiy/L9f0tW077bQTCxcuLNTvui7/+te/OPDAAxkzZkzhuvXXX5999923Zvk77bQTkyZNoru7G4AXX3yRr33ta2yxxRa88MILgDcrKIQoWx5fFmr1ZXlRz/ifcMIJhX9blsU222yD1prvfve7ZeVvtNFGfPrpp/3S3oaGhsK/8/k8CxcuZP3112fQoEHLvLS6NM90QF/uVz1jazAYVj6MADSskrS2tgLevqSlYZ111in7ff78+fT09LDRRhtVXbvxxhujlGLGjBmAt+fw3XffZdy4cWy77bace+65VUKgL9dEseaaa5b9PnjwYAAWL14MwLx58+jt7WX99devyhv2WiU77bQTjuPw8ssv89FHHzFv3jx22mkndt555zIBOH78eIYMGdKnNi9rX5YX/Tn+bW1tpNPpwnJr6ev91Y/e3l7OPvtsxo0bRyqVYtiwYQwfPpwlS5bQ3t6+TGUuzTMd0Jf7Vc/YGgyGlQ8jAA2rJK2trYwZM4Z33313qfKVzrgsLYceeiiffvopV1xxBWPGjOGyyy5jk0024fHHH1+qa6KIcnJqf69ivQTGkeeff54XXniBESNGsOGGG7LTTjvx6quvks1meeGFF9hpp53qrmt59yWK/h7/vvQjyujhum7NOn/4wx9y4YUXcuihh3LPPffw5JNP8tRTTzF06FCUUjXz9xd96Wc9Y2swGFY+jAA0rLLsv//+TJ06lZdffnmZyxg+fDiNjY189NFHVWkffvghUkrGjRtXeG306NH84Ac/4IEHHmDatGkMHTqUCy+8sCxfX65ZFkaMGEE6nWbKlClVaWGvVZJMJtl222154YUXyoTeTjvtRDab5Y477mDu3Ll9MjfUcrcOJMtr/KMYPHhwaDzE6dOn18x77733cswxx/D73/+eQw45hL322osdd9wxtLy+jvnSPtNLw4oeW4PBsPwwAtCwynLGGWfQ1NTECSecwNy5c6vSp06dyp/+9KfYMizL4qtf/SoPPvhgWRiNuXPncuedd7LjjjvS2tqK67pVS3IjRoxgzJgxZLNZgD5dUw+WZbHnnnvywAMPlO3DmjJlSp9nYXbaaSdeeeUVnnnmmYIAHDZsGBtvvHHB8dmXGcAgfuLKdCrF8h7/KNZbbz3a29t5++23C6/Nnj2b+++/v2Zey7KqZkWvuOKK0NnDvo55X5/ppaEvY9vT08OHH364Uh8DaDAYipgwMIZVlvXWW48777yzEL7j6KOPZtNNNyWXy/HSSy/x97//nWOPPbZmORdccAFPPfUUO+64Iz/4wQ+wbZtrr72WbDbLpZdeCnh7DceOHcshhxzC5ptvTnNzM//617947bXXCnHh+nJNvZx77rk8+eST7LDDDnz/+9/HdV2uvPJKNt10UyZPnlwz/0477cSFF17IjBkzyoTezjvvzLXXXsvaa6/N2LFja5az9dZbA/CrX/2Kww47jEQiwQEHHLDM/SrlyiuvZMmSJQWR+/DDDzNz5kzAWzJta2sLzbcixj+Mww47jF/84hccdNBB/OhHP6Knp4drrrmGDTfcsKaRY//99+e2226jra2N8ePH8/LLL/Ovf/2LoUOHVl27NGPel2d6aejL2L766qvstttunHPOOZx77rlLXYfBYFjBDKQF2WDoDz7++GN94okn6rXXXlsnk0nd0tKid9hhB33
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "0ebdcde210464b4d8b0fcfa8e2e25150",
"version_major": 2,
"version_minor": 0
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydd5wURdqAn+qesDnB7pKTCKeimAATKooBFAVUBBPmhGc6891nujOfnh5nzhFFJaiYxYCCiCBiAiXnsLA5TOiu74+emZ3Z6Z5ZdpbdRer5/fY8urpi10y/89YbhJRSolAoFAqFQqHYZdBaewAKhUKhUCgUipZFCYAKhUKhUCgUuxhKAFQoFAqFQqHYxVACoEKhUCgUCsUuhhIAFQqFQqFQKHYxlACoUCgUCoVCsYuhBECFQqFQKBSKXQwlACoUCoVCoVDsYigBUKFQKBQKhWIXQwmACoVCoVAoFLsYSgBUKBQKhUKh2MVQAqBCoVAoFArFLoYSABUKhUKhUCh2MZQAqFAoFAqFQrGLoQRAhUKhUCgUil0MJQAqFAqFQqFQ7GIoAVCh2AG88MILCCFYuXJlaw+l0WzPmG+//XaEEJSUlOz4ge1gWvNZ7ai+d8b9p1AoWhYlACp2GpYtW8Yll1xCr169SEtLIycnh0MPPZRHHnmE2tra1h7en5LZs2dz++23U1ZW1qztVlVVcdttt3H88cdTUFCAEIIXXnjB8X6fz8eNN95Ip06dSE9PZ9CgQXzyySfNOqadjR31bBQKxa6BEgAVOwUzZsxg7733ZvLkyYwYMYKJEydyzz330K1bN66//nquuuqq1h5iDGeffTa1tbV07969tYfSaOzGPHv2bO64445mFzJKSkq48847+e233+jfv3/S+88991weeughzjzzTB555BF0XWf48OF8/fXXKY9lZ3xWkPjZ7KxzUigULYertQegUCRjxYoVjB07lu7duzNz5kw6duwYKZswYQJLly5lxowZjvWrq6vJzMxsiaFG0HUdXddbtM9Uackxd+zYkQ0bNtChQwe+//57BgwY4Hjvd999x+uvv84DDzzAddddB8A555xDv379uOGGG5g9e3ZKY9kZn1Uy/oxzUigUzYvSACraPPfffz9VVVU8++yzMcJfmN69e0c0gGHbtF9//ZUzzjiD/Px8DjvssMi9P/zwA8OGDSMnJ4esrCyOPvpovv3225j2Kisrufrqq+nRowder5eioiKOOeYYFixY0Oh77GywwmNbunQp5557Lnl5eeTm5nLeeedRU1MTN68vvviCAw88kLS0NHbbbTeefPLJSBtOLFq0CCEE77zzTuTa/PnzEUKw//77x9w7bNgwBg0aFPl3wzHffvvtXH/99QD07NkTIUTcnMrKyho1l4Z4vV46dOiQ9D6At956C13XufjiiyPX0tLSuOCCC5gzZw5r1qxxrNuYZ5noWf3++++cddZZ5ObmUlhYyP/93/8hpWTNmjWcfPLJ5OTk0KFDBx588MGYfs8991x69OgRN55kzw9g1apVXH755fTt25f09HTatWvHaaedFje+RM/Gbk6N2fvRY0y2TxuztgqFou2iNICKNs+7775Lr169OOSQQxpd57TTTmP33Xfn7rvvRkoJwC+//MLgwYPJycnhhhtuwO128+STT3LkkUfy5ZdfRoShSy+9lLfeeosrrriCPffck61bt/L111/z22+/RYSoxtzjxJgxY+jZsyf33HMPCxYs4JlnnqGoqIj77rsvcs8PP/zA8ccfT8eOHbnjjjswDIM777yTwsLChG3369ePvLw8vvrqK0466SQAZs2ahaZp/Pjjj1RUVJCTk4NpmsyePTtGqGrI6NGj+f3335k0aRL/+c9/aN++PUDMGBozl1T54Ycf6NOnDzk5OTHXBw4cCMDChQvp2rWrbd1UnhPA6aefzh577MG9997LjBkz+Ne//kVBQQFPPvkkRx11FPfddx+vvvoq1113HQMGDODwww9Peb7z5s1j9uzZjB07li5durBy5Uoef/xxjjzySH799VcyMjIa9WyiaezejybZs011bRUKRSsjFYo2THl5uQTkySef3Kj7b7vtNgnIcePGxZWNHDlSejweuWzZssi19evXy+zsbHn44YdHruXm5soJEyYk7CfZPc8//7wE5IoVK+LGdv7558fcO2rUKNmuXbuYayNGjJAZGRly3bp1kWt//PGHdLlcMtnH9oQTTpADBw6M/Hv06NFy9OjRUtd1+cEHH0gppVywYIEE5PTp0xOO+YEHHoi7tr1zSca8efMkIJ9//nnb8r322kseddRRcdd/+eUXCcgnnnjCse3GPMtEz+riiy+OXAsGg7JLly5SCCHvvffeyPXS0lKZnp4ux48fH7k2fvx42b1797i+wu0m6rumpiau3pw5cyQgX3rppcg1p2dj125j9370GJM928asrUKhaLuoI2BFm6aiogKA7Ozs7ap36aWXxvzbMAw+/vhjRo4cSa9evSLXO3bsyBlnnMHXX38d6SsvL4+5c+eyfv16x/Ybc09jxzZ48GC2bt0a6d8wDD799FNGjhxJp06dIvf17t2bYcOGJW1/8ODBLFiwgOrqagC+/vprhg8fzr777susWbMASysohIg5Hm8KyebSHNTW1uL1euOup6WlRcqdSOU5AVx44YWR/6/rOgceeCBSSi644IKYPvr27cvy5cub1EdD0tPTI/8/EAiwdetWevfuTV5eXpOOV7dn70eT7NmmurYKhaJ1UQKgok0TPvarrKzcrno9e/aM+feWLVuoqamhb9++cffusccemKYZsSW7//77+fnnn+natSsDBw7k9ttvj3u5N+YeJ7p16xbz7/z8fABKS0sB2Lx5M7W1tfTu3Tuurt21hgwePJhgMMicOXNYsmQJmzdvZvDgwRx++OExAuCee+5JQUFBo8bc1Lk0B+np6fh8vrjrdXV1kXInUnlOED+/3Nxc0tLSIkeu0deba861tbXceuutdO3aFa/XS/v27SksLKSsrIzy8vLtbm979n40yZ5tqmurUChaFyUAKto0OTk5dOrUiZ9//nm76iUSCpIxZswYli9fzsSJE+nUqRMPPPAAe+21Fx988MF23eOEk3emDNkqpkrYceSrr75i1qxZFBUV0adPHwYPHsx3332Hz+dj1qxZDB48OOW+dvRcoN5juCHha9Fa0oak8pzAfn6NmbOTo4dhGEn7/Otf/8pdd93FmDFjmDx5Mh9//DGffPIJ7dq1wzTNRo27OUg2z1TXVqFQtC5KAFS0eU488USWLVvGnDlzmtxGYWEhGRkZLFmyJK5s8eLFaJoW40jQsWNHLr/8cqZNm8aKFSto164dd911V0y9xtzTFIqKikhLS2Pp0qVxZXbXGuLxeBg4cCCzZs2KEfQGDx6Mz+fj1VdfZdOmTY1yWEjmsdoS7Lvvvvz+++9xx5Rz586NlCdiRz2nROTn59vG51u1alXSum+99Rbjx4/nwQcf5NRTT+WYY47hsMMOi2uvsc9me/f+9tAaa6tQKJoHJQAq2jw33HADmZmZXHjhhWzatCmufNmyZTzyyCMJ29B1nWOPPZbp06fHhMbYtGkTr732Gocddhg5OTkYhhF3zFZUVESnTp0ix5CNuScVdF1n6NChTJs2Lca+aunSpY3WrgwePJi5c+fy+eefRwTA9u3bs8cee0S8OBujAQzHT2zNbBOnnnoqhmHw1FNPRa75fD6ef/55Bg0a5Ci87OjnlIjddtuN8vJyFi1aFLm2YcMGpk6dmrSurutxGtSJEyfGaQ8b+2wau/e3h8aubU1NDYsXL/5TpAxUKP5sqDAwijbPbrvtxmuvvRYJyREOAuz3+5k9ezZvvvkm5557btJ2/vWvf/HJJ59w2GGHcfnll+NyuXjyySfx+Xzcf//9gGVr2KVLF0499VT69+9PVlYWn376KfPmzYvEemvMPaly++238/HHH3PooYdy2WWXYRgG//vf/+jXrx8LFy5MWn/w4MHcddddrFmzJkbQO/zww3nyySfp0aMHXbp0SdrOAQccAMDf//53xo4di9vtZsSIEU2eVzT
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydd5wURdqAn+qesDnB7pKTCKeimAATKooBFAVUBBPmhGc6891nujOfnh5nzhFFJaiYxYCCiCBiAiXnsLA5TOiu74+emZ3Z6Z5ZdpbdRer5/fY8urpi10y/89YbhJRSolAoFAqFQqHYZdBaewAKhUKhUCgUipZFCYAKhUKhUCgUuxhKAFQoFAqFQqHYxVACoEKhUCgUCsUuhhIAFQqFQqFQKHYxlACoUCgUCoVCsYuhBECFQqFQKBSKXQwlACoUCoVCoVDsYigBUKFQKBQKhWIXQwmACoVCoVAoFLsYSgBUKBQKhUKh2MVQAqBCoVAoFArFLoYSABUKhUKhUCh2MZQAqFAoFAqFQrGLoQRAhUKhUCgUil0MJQAqFAqFQqFQ7GIoAVCh2AG88MILCCFYuXJlaw+l0WzPmG+//XaEEJSUlOz4ge1gWvNZ7ai+d8b9p1AoWhYlACp2GpYtW8Yll1xCr169SEtLIycnh0MPPZRHHnmE2tra1h7en5LZs2dz++23U1ZW1qztVlVVcdttt3H88cdTUFCAEIIXXnjB8X6fz8eNN95Ip06dSE9PZ9CgQXzyySfNOqadjR31bBQKxa6BEgAVOwUzZsxg7733ZvLkyYwYMYKJEydyzz330K1bN66//nquuuqq1h5iDGeffTa1tbV07969tYfSaOzGPHv2bO64445mFzJKSkq48847+e233+jfv3/S+88991weeughzjzzTB555BF0XWf48OF8/fXXKY9lZ3xWkPjZ7KxzUigULYertQegUCRjxYoVjB07lu7duzNz5kw6duwYKZswYQJLly5lxowZjvWrq6vJzMxsiaFG0HUdXddbtM9Uackxd+zYkQ0bNtChQwe+//57BgwY4Hjvd999x+uvv84DDzzAddddB8A555xDv379uOGGG5g9e3ZKY9kZn1Uy/oxzUigUzYvSACraPPfffz9VVVU8++yzMcJfmN69e0c0gGHbtF9//ZUzzjiD/Px8DjvssMi9P/zwA8OGDSMnJ4esrCyOPvpovv3225j2Kisrufrqq+nRowder5eioiKOOeYYFixY0Oh77GywwmNbunQp5557Lnl5eeTm5nLeeedRU1MTN68vvviCAw88kLS0NHbbbTeefPLJSBtOLFq0CCEE77zzTuTa/PnzEUKw//77x9w7bNgwBg0aFPl3wzHffvvtXH/99QD07NkTIUTcnMrKyho1l4Z4vV46dOiQ9D6At956C13XufjiiyPX0tLSuOCCC5gzZw5r1qxxrNuYZ5noWf3++++cddZZ5ObmUlhYyP/93/8hpWTNmjWcfPLJ5OTk0KFDBx588MGYfs8991x69OgRN55kzw9g1apVXH755fTt25f09HTatWvHaaedFje+RM/Gbk6N2fvRY0y2TxuztgqFou2iNICKNs+7775Lr169OOSQQxpd57TTTmP33Xfn7rvvRkoJwC+//MLgwYPJycnhhhtuwO128+STT3LkkUfy5ZdfRoShSy+9lLfeeosrrriCPffck61bt/L111/z22+/RYSoxtzjxJgxY+jZsyf33HMPCxYs4JlnnqGoqIj77rsvcs8PP/zA8ccfT8eOHbnjjjswDIM777yTwsLChG3369ePvLw8vvrqK0466SQAZs2ahaZp/Pjjj1RUVJCTk4NpmsyePTtGqGrI6NGj+f3335k0aRL/+c9/aN++PUDMGBozl1T54Ycf6NOnDzk5OTHXBw4cCMDChQvp2rWrbd1UnhPA6aefzh577MG9997LjBkz+Ne//kVBQQFPPvkkRx11FPfddx+vvvoq1113HQMGDODwww9Peb7z5s1j9uzZjB07li5durBy5Uoef/xxjjzySH799VcyMjIa9WyiaezejybZs011bRUKRSsjFYo2THl5uQTkySef3Kj7b7vtNgnIcePGxZWNHDlSejweuWzZssi19evXy+zsbHn44YdHruXm5soJEyYk7CfZPc8//7wE5IoVK+LGdv7558fcO2rUKNmuXbuYayNGjJAZGRly3bp1kWt//PGHdLlcMtnH9oQTTpADBw6M/Hv06NFy9OjRUtd1+cEHH0gppVywYIEE5PTp0xOO+YEHHoi7tr1zSca8efMkIJ9//nnb8r322kseddRRcdd/+eUXCcgnnnjCse3GPMtEz+riiy+OXAsGg7JLly5SCCHvvffeyPXS0lKZnp4ux48fH7k2fvx42b1797i+wu0m6rumpiau3pw5cyQgX3rppcg1p2dj125j9370GJM928asrUKhaLuoI2BFm6aiogKA7Ozs7ap36aWXxvzbMAw+/vhjRo4cSa9evSLXO3bsyBlnnMHXX38d6SsvL4+5c+eyfv16x/Ybc09jxzZ48GC2bt0a6d8wDD799FNGjhxJp06dIvf17t2bYcOGJW1/8ODBLFiwgOrqagC+/vprhg8fzr777susWbMASysohIg5Hm8KyebSHNTW1uL1euOup6WlRcqdSOU5AVx44YWR/6/rOgceeCBSSi644IKYPvr27cvy5cub1EdD0tPTI/8/EAiwdetWevfuTV5eXpOOV7dn70eT7NmmurYKhaJ1UQKgok0TPvarrKzcrno9e/aM+feWLVuoqamhb9++cffusccemKYZsSW7//77+fnnn+natSsDBw7k9ttvj3u5N+YeJ7p16xbz7/z8fABKS0sB2Lx5M7W1tfTu3Tuurt21hgwePJhgMMicOXNYsmQJmzdvZvDgwRx++OExAuCee+5JQUFBo8bc1Lk0B+np6fh8vrjrdXV1kXInUnlOED+/3Nxc0tLSIkeu0deba861tbXceuutdO3aFa/XS/v27SksLKSsrIzy8vLtbm979n40yZ5tqmurUChaFyUAKto0OTk5dOrUiZ9//nm76iUSCpIxZswYli9fzsSJE+nUqRMPPPAAe+21Fx988MF23eOEk3emDNkqpkrYceSrr75i1qxZFBUV0adPHwYPHsx3332Hz+dj1qxZDB48OOW+dvRcoN5juCHha9Fa0oak8pzAfn6NmbOTo4dhGEn7/Otf/8pdd93FmDFjmDx5Mh9//DGffPIJ7dq1wzTNRo27OUg2z1TXVqFQtC5KAFS0eU488USWLVvGnDlzmtxGYWEhGRkZLFmyJK5s8eLFaJoW40jQsWNHLr/8cqZNm8aKFSto164dd911V0y9xtzTFIqKikhLS2Pp0qVxZXbXGuLxeBg4cCCzZs2KEfQGDx6Mz+fj1VdfZdOmTY1yWEjmsdoS7Lvvvvz+++9xx5Rz586NlCdiRz2nROTn59vG51u1alXSum+99Rbjx4/nwQcf5NRTT+WYY47hsMMOi2uvsc9me/f+9tAaa6tQKJoHJQAq2jw33HADmZmZXHjhhWzatCmufNmyZTzyyCMJ29B1nWOPPZbp06fHhMbYtGkTr732Gocddhg5OTkYhhF3zFZUVESnTp0ix5CNuScVdF1n6NChTJs2Lca+aunSpY3WrgwePJi5c+fy+eefRwTA9u3bs8cee0S8OBujAQzHT2zNbBOnnnoqhmHw1FNPRa75fD6ef/55Bg0a5Ci87OjnlIjddtuN8vJyFi1aFLm2YcMGpk6dmrSurutxGtSJEyfGaQ8b+2wau/e3h8aubU1NDYsXL/5TpAxUKP5sqDAwijbPbrvtxmuvvRYJyREOAuz3+5k9ezZvvvkm5557btJ2/vWvf/HJJ59w2GGHcfnll+NyuXjyySfx+Xzcf//9gGVr2KVLF0499VT69+9PVlYWn376KfPmzYvEemvMPaly++238/HHH3PooYdy2WWXYRgG//vf/+jXrx8LFy5MWn/w4MHcddddrFmzJkbQO/zww3nyySfp0aMHXbp
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "fa03059388e2413ebb92da78be9db1e4",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "e4331846eb994bbc8b07faa8fa4469e7",
"version_major": 2,
"version_minor": 0
},
"image/png": "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6s477/Qf83g8olmzZkJRFPH3v//dfzwnJ0ckJCSISZMm+Y9NmjRJtGzZslxbvnrDtV1cXFyu3IoVKwQgPvzwQ/+xUPcmWL0VXful+xjp3lZkbiUSSe1FbgFLajX5+fkApKSkVKrc3XffHfC3russWrSI8ePH06ZNG//xxo0bc9111/Hzzz/720pPT2fVqlUcPXo0ZP0VuaaifRs4cCAnT570t6/rOt999x3jx4+nSZMm/uvatWvHiBEjItY/cOBA1q9fT1FREQA///wzI0eOpHv37ixbtgwwtYKKogRsj1eFSGOJxIMPPsjixYv54IMPGDFiBLqu43K5Aq6x2+3ExcWVKxsfH+8/H4po7hPA7bff7v+/pmn06tULIQS33XZbQBsdO3Zk7969VWqjLAkJCf7/u91uTp48Sbt27UhPT6/S9mpl1n5pIt3baOdWIpHULFIAlNRqfNt+BQUFlSrXunXrgL9PnDhBcXExHTt2LHdtp06dMAzDb0v2z3/+k99++43mzZvTp08fnnnmmXIP94pcE4oWLVoE/J2RkQFATk4OAFlZWdjtdtq1a1eubLBjZRk4cCAej4cVK1awY8cOsrKyGDhwIIMGDQoQADt37kydOnUq1OeqjiUS55xzDkOGDOGmm25izpw5FBYWMmbMGP+2PZgCkdPpLFfW4XD4z4cimvsE5ceXlpZGfHy8f8u19PGKjjkSdrudp556iubNmxMXF0e9evWoX78+ubm55OXlVbq+yqz90kS6t9HOrUQiqVmkACip1aSmptKkSRN+++23SpULJxRE4qqrrmLv3r289tprNGnShBdffJFzzz2X+fPnV+qaUITyziwt9ESDz3Hkp59+YtmyZTRo0IAOHTowcOBAVq9ejdPpZNmyZQwcODDqtmI9liuuuII1a9awc+dO/7HGjRtz7Nixctf6jpXWkpYlmvsEwcdXkTGHcvTQdT1im/fddx/PPfccV111FV988QWLFi1i8eLF1K1bF8MwKtTvWBBpnNHOrUQiqVmkACip9YwePZo9e/awYsWKKtdRv359EhMT2bFjR7lz27dvR1XVAEeCxo0bc++99zJz5kz27dtH3bp1ee655wLKVeSaqtCgQQPi4+PZvXt3uXPBjpXFZrPRp08fli1bFiDoDRw4EKfTyccff0xmZmaFHBYieazGGt92bmlNV/fu3dm5c2e5bcpVq1b5z4fjdN2ncGRkZASNz3fgwIGIZb/66ismTZrEv//9b6644gouu+wyBgwYUK6+it6byq79ylATcyuRSGKDFAAltZ5HH32UpKQkbr/9djIzM8ud37NnD6+88krYOjRNY+jQocyaNSsgNEZmZiaffPIJAwYMIDU1FV3Xy22zNWjQgCZNmvi3IStyTTRomsaQIUOYOXNmgH3V7t27K6xdGThwIKtWrWLp0qV+AbBevXp06tTJ78VZEQ2gL35irANBZ2VllTvmdrv58MMPSUhIoHPnzv7jV1xxBbquBwSIdjqdvPfee/Tt2zek8HK671M42rZtS15eHps3b/YfO3bsGDNmzIhYVtO0chrU1157rZz2sKL3pqJrvzJUdG6Li4vZvn377yJloETye0OGgZHUetq2bcsnn3ziD8nhCwLscrlYvnw5X375JTfffHPEep599lkWL17MgAEDuPfee7FYLLz
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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6s477/Qf83g8olmzZkJRFPH3v//dfzwnJ0ckJCSISZMm+Y9NmjRJtGzZslxbvnrDtV1cXFyu3IoVKwQgPvzwQ/+xUPcmWL0VXful+xjp3lZkbiUSSe1FbgFLajX5+fkApKSkVKrc3XffHfC3russWrSI8ePH06ZNG//xxo0bc9111/Hzzz/720pPT2fVqlUcPXo0ZP0VuaaifRs4cCAnT570t6/rOt999x3jx4+nSZMm/uvatWvHiBEjItY/cOBA1q9fT1FREQA///wzI0eOpHv37ixbtgwwtYKKogRsj1eFSGOJxIMPPsjixYv54IMPGDFiBLqu43K5Aq6x2+3ExcWVKxsfH+8/H4po7hPA7bff7v+/pmn06tULIQS33XZbQBsdO3Zk7969VWqjLAkJCf7/u91uTp48Sbt27UhPT6/S9mpl1n5pIt3baOdWIpHULFIAlNRqfNt+BQUFlSrXunXrgL9PnDhBcXExHTt2LHdtp06dMAzDb0v2z3/+k99++43mzZvTp08fnnnmmXIP94pcE4oWLVoE/J2RkQFATk4OAFlZWdjtdtq1a1eubLBjZRk4cCAej4cVK1awY8cOsrKyGDhwIIMGDQoQADt37kydOnUq1OeqjiUS55xzDkOGDOGmm25izpw5FBYWMmbMGP+2PZgCkdPpLFfW4XD4z4cimvsE5ceXlpZGfHy8f8u19PGKjjkSdrudp556iubNmxMXF0e9evWoX78+ubm55OXlVbq+yqz90kS6t9HOrUQiqVmkACip1aSmptKkSRN+++23SpULJxRE4qqrrmLv3r289tprNGnShBdffJFzzz2X+fPnV+qaUITyziwt9ESDz3Hkp59+YtmyZTRo0IAOHTowcOBAVq9ejdPpZNmyZQwcODDqtmI9liuuuII1a9awc+dO/7HGjRtz7Nixctf6jpXWkpYlmvsEwcdXkTGHcvTQdT1im/fddx/PPfccV111FV988QWLFi1i8eLF1K1bF8MwKtTvWBBpnNHOrUQiqVmkACip9YwePZo9e/awYsWKKtdRv359EhMT2bFjR7lz27dvR1XVAEeCxo0bc++99zJz5kz27dtH3bp1ee655wLKVeSaqtCgQQPi4+PZvXt3uXPBjpXFZrPRp08fli1bFiDoDRw4EKfTyccff0xmZmaFHBYieazGGt92bmlNV/fu3dm5c2e5bcpVq1b5z4fjdN2ncGRkZASNz3fgwIGIZb/66ismTZrEv//9b6644gouu+wyBgwYUK6+it6byq79ylATcyuRSGKDFAAltZ5HH32UpKQkbr/9djIzM8ud37NnD6+88krYOjRNY+jQocyaNSsgNEZmZiaffPIJAwYMIDU1FV3Xy22zNWjQgCZNmvi3IStyTTRomsaQIUOYOXNmgH3V7t27K6xdGThwIKtWrWLp0qV+AbBevXp06tTJ78VZEQ2gL35irANBZ2VllTvmdrv58MMPSUhIoHPnzv7jV1xxBbquBwSIdjqdvPfee/Tt2zek8HK671M42rZtS15eHps3b/YfO3bsGDNmzIhYVtO0chrU1157rZz2sKL3pqJrvzJUdG6Li4vZvn377yJloETye0OGgZHUetq2bcsnn3ziD8nhCwLscrlYvnw5X37
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "cc5abff21ceb4b98836289111f502ae8",
"version_major": 2,
"version_minor": 0
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydd3wU1drHf2dmS7LpCUkIEJoU6UjvRSnSi6KISrFdFQHlem2vil2vXgsCig1RFAtIk96k9yogvUNIQnrdNnPeP2Z3k2VndkN2SQJ5vvezVzJn5pxnzszsPPucpzDOOQdBEARBEARRaRDKWwCCIAiCIAiibCEFkCAIgiAIopJBCiBBEARBEEQlgxRAgiAIgiCISgYpgARBEARBEJUMUgAJgiAIgiAqGaQAEgRBEARBVDJIASQIgiAIgqhkkAJIEARBEARRySAFkCAIgiAIopJBCiBBEARBEEQlgxRAgiAIgiCISgYpgARBEARBEJUMUgAJgiAIgiAqGaQAEgRBEARBVDJIASQIgiAIgqhkkAJIEDeA2bNngzGGc+fOlbcoJeZ6ZH7jjTfAGENaWtqNF+wGU57X6kaNfTPefwRBlC2kABI3DadPn8a//vUv1K1bF0FBQQgPD0fnzp0xdepUFBYWlrd4tyTbtm3DG2+8gaysrBs6zrvvvgvGGJo2barabrFY8OKLL6JatWoIDg5G+/btsWbNmhsqU0WnrK4NQRC3JqQAEjcFy5YtQ7NmzfD7779j0KBBmDZtGt5//33UrFkT//nPfzBp0qTyFtGNhx9+GIWFhahVq1Z5i1Ji1GTetm0b3nzzzRuqZFy6dAnvvfceQkJCNPcZO3YsPvnkEzz44IOYOnUqRFFE//79sWXLFr/HvxmvFeD92tys50QQRNmhK28BCMIXZ8+exciRI1GrVi2sX78eCQkJrrbx48fj1KlTWLZsmebx+fn5XpWLG4EoihBFsUzH9Jfykvn5559Hhw4dIEmS6pLyrl278Ouvv+Kjjz7C888/DwAYPXo0mjZtihdeeAHbtm3za/yb8Vr54lY8J4IgAgtZAIkKz4cffoi8vDx89913bsqfk3r16rksgE7ftH/++QejRo1CVFQUunTp4tp3//796NevH8LDwxEaGoq77roLO3bscOsvNzcXzz77LGrXrg2j0Yi4uDj07t0b+/btK/E+aj5YTtlOnTqFsWPHIjIyEhERERg3bhwKCgo8zmvDhg1o06YNgoKCcNttt+Grr75y9aHF33//DcYYlixZ4tq2d+9eMMbQqlUrt3379euH9u3bu/6+VuY33ngD//nPfwAAderUAWPM45yysrJKdC5abNq0CfPnz8dnn32muc/8+fMhiiKeeOIJ17agoCA8+uij2L59Oy5evKh5bEmupbdrdeLECTz00EOIiIhAbGwsXnvtNXDOcfHiRQwZMgTh4eGoWrUqPv74Y7dxx44di9q1a3vI4+v6AcD58+fx9NNPo2HDhggODkZMTAxGjBjhIZ+3a6N2TiW594vL6Os+LcncEgRRcSELIFHh+fPPP1G3bl106tSpxMeMGDEC9evXx3vvvQfOOQDgyJEj6Nq1K8LDw/HCCy9Ar9fjq6++Qo8ePbBx40aXMvTkk09i/vz5eOaZZ9C4cWOkp6djy5YtOHr0qEuJKsk+Wtx3332oU6cO3n//fezbtw/ffvst4uLi8N///te1z/79+3H33XcjISEBb775JiRJwltvvYXY2FivfTdt2hSRkZHYtGkTBg8eDADYvHkzBEHAwYMHkZOTg/DwcMiyjG3btrkpVdcyfPhwnDhxAr/88gs+/fRTVKlSBQDcZCjJuWghSRImTJiAxx57DM2aNdPcb//+/WjQoAHCw8Pdtrdr1w4AcODAASQmJqoe6891AoD7778fjRo1wgcffIBly5bhnXfeQXR0NL766ivceeed+O9//4uff/4Zzz//PNq2bYtu3br57NMXu3fvxrZt2zBy5EjUqFED586dw5dffokePXrgn3/+gclkKtG1KU5J7/3i+Lq2/s4tQRDlDCeICkx2djYHwIcMGVKi/adMmcIB8AceeMCjbejQodxgMPDTp0+7tiUlJfGwsDDerVs317aIiAg+fvx4r+P42uf777/nAPjZs2c9ZHvkkUfc9h02bBiPiYlx2zZo0CBuMpn45cuXXdtOnjzJdTod9/XYDhgwgLdr18719/Dhw/nw4cO5KIp8xYoVnHPO9+3bxwHwxYsXe5X5o48+8th2veeixfTp03lERARPTU3lnHPevXt33qRJE4/9mjRpwu+8806P7UeOHOEA+MyZMzXHKMm19HatnnjiCdc2u93Oa9SowRlj/IMPPnBtz8zM5MHBwXzMmDGubWPGjOG1atXyGMvZr7exCwoKPI7bvn07B8B//PFH1zata6PWb0nv/eIy+rq2JZlbgiAqLrQETFRocnJyAABhYWHXddyTTz7p9rckSVi9ejWGDh2KunXrurYnJCRg1KhR2LJli2usyMhI7Ny5E0lJSZr9l2SfksrWtWtXpKenu8aXJAlr167F0KFDUa1aNdd+9erVQ79+/Xz237VrV+zbtw/5+fkAgC1btqB///5o2bIlNm/eDECxCjLG3JbHS4Ovc9EiPT0dr7/+Ol577TWfVs3CwkIYjUaP7UFBQa52Lfy5TgDw2GOPuf4tiiLatGkDzjkeffRRtzEaNmyIM2fOlGqMawkODnb922azIT09HfXq1UNkZGSpllev594vjq9r6+/cEgRRvpACSFRonMt+ubm513VcnTp13P6+evUqCgoK0LBhQ499GzVqBFmWXb5kH374IQ4fPozExES0a9cOb7zxhsfLvST7aFGzZk23v6OiogAAmZmZAIDU1FQUFhaiXr16HseqbbuWrl27wm63Y/v27Th+/DhSU1PRtWtXdOvWzU0BbNy4MaKjo0skc2nPRYtXX30V0dHRmDBhgs8xgoODYbFYPLabzWZXuxb+XCfA8/wiIiIQFBTkWnItvt3XOZeUwsJCvP7660hMTITRaESVKlUQGxuLrKwsZGdnX3d/13PvF8fXtfV3bgmCKF9IASQqNOHh4ahWrRoOHz58Xcd5Uwp8cd999+HMmTOYNm0aqlWrho8++ghNmjTBihUrrmsfLbSiM7nDV9FfnIEjmzZtwubNmxEXF4cGDRqga9eu2LVrFywWCzZv3oyuXbv6PVZpzuXkyZP4+uuvMXHiRCQlJeHcuXM4d+4czGYzbDYbzp07h4yMDNf+CQkJuHLlikc/zm3FraTX4s910jq/kpyzVqCHJEk+x5wwYQLeffdd3Hffffj999+xevVqrFmzBjExMZBluURyBwJf5+nv3BIEUb6QAkhUeAYOHIjTp09j+/btpe4jNjYWJpMJx48f92g7duwYBEFwCyRISEjA008/jUWLFuHs2bOIiYnBu+++63ZcSfYpDXFxcQgKCsKpU6c82tS2XYvBYEC7du2wefNmN0Wva9eusFgs+Pnnn5GSklKigAVfEaul4fLly5BlGRMnTkSdOnVcn507d+LEiROoU6cO3nrrLdf+LVu2xIkTJzyWKXfu3Olq98aNuk7eiIqKUs3Pd/78eZ/Hzp8/H2PGjMHHH3+Me++9F71790aXLl08+ivptbnee/96KI+5JQgiMJACSFR4XnjhBYSEhOCxxx5DSkqKR/vp06cxdepUr32Ioog+ffpg8eLFbqkxUlJSMHfuXHTp0gXh4eGQJMljmS0uLg7VqlVzLUOWZB9/EEURvXr1wqJFi9z8q06dOlVi60rXrl2xc+dO/PXXXy4FsEqVKmjUqJErirMkFkBn/sRAJoJu2rQpFi5c6PFp0qQJatasiYULF7r52N17772QJAlff/21a5vFYsH333+P9u3bayovN/o6eeO2225DdnY2/v77b9e2K1euYOHChT6PFUXRw4I6bdo0D+thSa9NSe/966Gkc1tQUIBjx47dEiUDCeJWg9LAEBWe2267DXPnznWl5HAmAbZardi2bRvmzZuHsWPH+uznnXfewZo1a9ClSxc8/fTT0Ol0+Oqrr2CxWPDhhx8CUHwNa9S
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydd3wU1drHf2dmS7LpCUkIEJoU6UjvRSnSi6KISrFdFQHlem2vil2vXgsCig1RFAtIk96k9yogvUNIQnrdNnPeP2Z3k2VndkN2SQJ5vvezVzJn5pxnzszsPPucpzDOOQdBEARBEARRaRDKWwCCIAiCIAiibCEFkCAIgiAIopJBCiBBEARBEEQlgxRAgiAIgiCISgYpgARBEARBEJUMUgAJgiAIgiAqGaQAEgRBEARBVDJIASQIgiAIgqhkkAJIEARBEARRySAFkCAIgiAIopJBCiBBEARBEEQlgxRAgiAIgiCISgYpgARBEARBEJUMUgAJgiAIgiAqGaQAEgRBEARBVDJIASQIgiAIgqhkkAJIEDeA2bNngzGGc+fOlbcoJeZ6ZH7jjTfAGENaWtqNF+wGU57X6kaNfTPefwRBlC2kABI3DadPn8a//vUv1K1bF0FBQQgPD0fnzp0xdepUFBYWlrd4tyTbtm3DG2+8gaysrBs6zrvvvgvGGJo2barabrFY8OKLL6JatWoIDg5G+/btsWbNmhsqU0WnrK4NQRC3JqQAEjcFy5YtQ7NmzfD7779j0KBBmDZtGt5//33UrFkT//nPfzBp0qTyFtGNhx9+GIWFhahVq1Z5i1Ji1GTetm0b3nzzzRuqZFy6dAnvvfceQkJCNPcZO3YsPvnkEzz44IOYOnUqRFFE//79sWXLFr/HvxmvFeD92tys50QQRNmhK28BCMIXZ8+exciRI1GrVi2sX78eCQkJrrbx48fj1KlTWLZsmebx+fn5XpWLG4EoihBFsUzH9Jfykvn5559Hhw4dIEmS6pLyrl278Ouvv+Kjjz7C888/DwAYPXo0mjZtihdeeAHbtm3za/yb8Vr54lY8J4IgAgtZAIkKz4cffoi8vDx89913bsqfk3r16rksgE7ftH/++QejRo1CVFQUunTp4tp3//796NevH8LDwxEaGoq77roLO3bscOsvNzcXzz77LGrXrg2j0Yi4uDj07t0b+/btK/E+aj5YTtlOnTqFsWPHIjIyEhERERg3bhwKCgo8zmvDhg1o06YNgoKCcNttt+Grr75y9aHF33//DcYYlixZ4tq2d+9eMMbQqlUrt3379euH9u3bu/6+VuY33ngD//nPfwAAderUAWPM45yysrJKdC5abNq0CfPnz8dnn32muc/8+fMhiiKeeOIJ17agoCA8+uij2L59Oy5evKh5bEmupbdrdeLECTz00EOIiIhAbGwsXnvtNXDOcfHiRQwZMgTh4eGoWrUqPv74Y7dxx44di9q1a3vI4+v6AcD58+fx9NNPo2HDhggODkZMTAxGjBjhIZ+3a6N2TiW594vL6Os+LcncEgRRcSELIFHh+fPPP1G3bl106tSpxMeMGDEC9evXx3vvvQfOOQDgyJEj6Nq1K8LDw/HCCy9Ar9fjq6++Qo8ePbBx40aXMvTkk09i/vz5eOaZZ9C4cWOkp6djy5YtOHr0qEuJKsk+Wtx3332oU6cO3n//fezbtw/ffvst4uLi8N///te1z/79+3H33XcjISEBb775JiRJwltvvYXY2FivfTdt2hSRkZHYtGkTBg8eDADYvHkzBEHAwYMHkZOTg/DwcMiyjG3btrkpVdcyfPhwnDhxAr/88gs+/fRTVKlSBQDcZCjJuWghSRImTJiAxx57DM2aNdPcb//+/WjQoAHCw8Pdtrdr1w4AcODAASQmJqoe6891AoD7778fjRo1wgcffIBly5bhnXfeQXR0NL766ivceeed+O9//4uff/4Zzz//PNq2bYtu3br57NMXu3fvxrZt2zBy5EjUqFED586dw5dffokePXrgn3/+gclkKtG1KU5J7/3i+Lq2/s4tQRDlDCeICkx2djYHwIcMGVKi/adMmcIB8AceeMCjbejQodxgMPDTp0+7tiUlJfGwsDDerVs317aIiAg+fvx4r+P42uf777/nAPjZs2c9ZHvkkUfc9h02bBiPiYlx2zZo0CBuMpn45cuXXdtOnjzJdTod9/XYDhgwgLdr18719/Dhw/nw4cO5KIp8xYoVnHPO9+3bxwHwxYsXe5X5o48+8th2veeixfTp03lERARPTU3lnHPevXt33qRJE4/9mjRpwu+8806P7UeOHOEA+MyZMzXHKMm19HatnnjiCdc2u93Oa9SowRlj/IMPPnBtz8zM5MHBwXzMmDGubWPGjOG1atXyGMvZr7exCwoKPI7bvn07B8B//PFH1zata6PWb0nv/eIy+rq2JZlbgiAqLrQETFRocnJyAABhYWHXddyTTz7p9rckSVi9ejWGDh2KunXrurYnJCRg1KhR2LJli2usyMhI7Ny5E0lJSZr9l2SfksrWtWtXpKenu8aXJAlr167F0KFDUa1aNdd+9erVQ79+/Xz237VrV+zbtw/5+fkAgC1btqB///5o2bIlNm/eDECxCjLG3JbHS4Ovc9EiPT0dr7/+Ol577TWfVs3CwkIYjUaP7UFBQa52Lfy5TgDw2GOPuf4tiiLatGkDzjkeffRRtzEaNmyIM2fOlGqMawkODnb922azIT09HfXq1UNkZGSpllev594vjq9r6+/cEgRRvpACSFRonMt+ubm513VcnTp13P6+evUqCgoK0LBhQ499GzVqBFmWXb5kH374IQ4fPozExES0a9cOb7zxhsfLvST7aFGzZk23v6OiogAAmZmZAIDU1FQUFhaiXr16HseqbbuWrl27wm63Y/v27Th+/DhSU1PRtWtXdOvWzU0BbNy4MaKjo0skc2nPRYtXX30V0dHRmDBhgs8xgoODYbFYPLabzWZXuxb+XCfA8/wiIiIQFBTkWnItvt3XOZeUwsJCvP7660hMTITRaESVKlUQGxuLrKwsZGdnX3d/13PvF8fXtfV3bgmCKF9IASQqNOHh4ahWrRoOHz58Xcd5Uwp8cd999+HMmTOYNm0aqlWrho8++ghNmjTBihUrrmsfLbSiM7nDV9FfnIEjmzZtwubNmxEXF4cGDRqga9eu2LVrFywWCzZv3oyuXbv6PVZpzuXkyZP4+uuvMXHiRCQlJeHcuXM4d+4czGYzbDYbzp07h4yMDNf+CQkJuHLlikc/zm3FraTX4s910jq/kpyzVqCHJEk+x5wwYQLeffdd3Hffffj999+xevVqrFmzBjExMZBluURyBwJf5+nv3BIEUb6QAkhUeAYOHIjTp09j+/btpe4jNjYWJpMJx48f92g7duwYBEFwCyRISEjA008/jUWLFuHs2bOIiYnBu+++63ZcSfYpDXFxcQgKCsKpU6c82tS2XYvBYEC7du2wefNmN0Wva9eusFgs+Pnnn5GSklKigAVfEaul4fLly5BlGRMnTkSdOnVcn507d+LEiROoU6cO3nrrLdf+LVu2xIkTJzyWKXfu3Olq98aNuk7eiIqKUs3Pd/78eZ/Hzp8/H2PGjMHHH3+Me++9F71790aXLl08+ivptbnee/96KI+5JQgiMJACSFR4XnjhBYSEhOCxxx5DSkqKR/vp06cxdepUr32Ioog+ffpg8eLFbqkxUlJSMHfuXHTp0gXh4eGQJMljmS0uLg7VqlVzLUOWZB9/EEURvXr1wqJFi9z8q06dOlVi60rXrl2xc+dO/PXXXy4FsEqVKmjUqJErirMkFkBn/sRAJoJu2rQpFi5c6PFp0qQJatasiYULF7r52N17772QJAlff/21a5vFYsH333+P9u3bayovN/o6eeO2225DdnY2/v77b9e2K1euYOHChT6PFUXRw4I6bdo0D+thSa9NSe/966Gkc1tQUIBjx47dEiUDCeJWg9LAEBWe2267DXPnznWl5HAmAbZardi2bRvmzZuHsWPH+uznnXfewZo1a9C
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "aefc357215304de59ca50be7ce67855a",
"version_major": 2,
"version_minor": 0
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydd5wUVbbHv1XV3ZMDExhyEkGCApIkCoogOZgxYF6VYFzDml3T6ltXRMwBc0IJShAEkSwZlZxzGpg806nqvj9quqHpMKGbmcG538+bt1Lh3lu3qrtOn3t+5yhCCIFEIpFIJBKJpNqgVvYAJBKJRCKRSCQVizQAJRKJRCKRSKoZ0gCUSCQSiUQiqWZIA1AikUgkEomkmiENQIlEIpFIJJJqhjQAJRKJRCKRSKoZ0gCUSCQSiUQiqWZIA1AikUgkEomkmiENQIlEIpFIJJJqhjQAJRKJRCKRSKoZ0gCUSCQSiUQiqWZIA1AikUgkEomkmiENQIlEIpFIJJJqhjQAJRKJRCKRSKoZ0gCUSCQSiUQiqWZIA1AikUgkEomkmiENQInkDDBp0iQURWH37t2VPZRSU5YxP/PMMyiKQmZm5pkf2BmmMu/Vmer7bHz+JBJJxSINQMlZw44dO/jHP/5BkyZNiI6OJjExkW7dujF+/HiKiooqe3h/S5YuXcozzzxDdnZ2RNtdsGABiqIE/Fu+fLnf8Q6Hg0ceeYQ6deoQExND586dmTt3bkTHdLZxpu6NRCKpHkgDUHJWMGPGDM4//3y+/fZbBg8ezIQJE3jppZdo0KAB//znP7n33nsre4g+3HjjjRQVFdGwYcPKHkqpCTTmpUuX8uyzz54xI2PcuHF89tlnPn9Nmzb1O+7mm2/mtdde4/rrr2f8+PFomsaAAQNYvHhx2GM4G+8VhL43Z+s1SSSSisNS2QOQSEpi165dXHvttTRs2JD58+dTu3Zt777Ro0ezfft2ZsyYEfT8goIC4uLiKmKoXjRNQ9O0Cu0zXCpjzD169ODKK68MecyKFSv4+uuvefXVV3nooYcAuOmmm2jdujUPP/wwS5cuDWsMZ+O9Kom/4zVJJJLIIj2AkirPK6+8Qn5+Ph9++KGP8eehadOmXg+gJzZt48aNjBw5kho1atC9e3fvsWvXrqV///4kJiYSHx/PpZde6rfkmJeXx3333UejRo2IioqiZs2aXHbZZaxZs6bUxwSKwfKMbfv27dx8880kJyeTlJTELbfcQmFhod91LViwgA4dOhAdHc0555zDu+++620jGH/88QeKojB9+nTvttWrV6MoChdeeKHPsf3796dz587ef58+5meeeYZ//vOfADRu3Ni7RHvqNWVnZ5fqWkKRl5eH2+0Oun/y5Mlomsadd97p3RYdHc1tt93GsmXL2LdvX8i2S7qXoe7V1q1bueGGG0hKSiI9PZ0nn3wSIQT79u1j6NChJCYmUqtWLf773//69HvzzTfTqFEjv/GUdP8A9uzZwz333EPz5s2JiYkhNTWVq666ym98oe5NoGsqzbN/6hhLek5LM7cSiaTqIj2AkirPjz/+SJMmTejatWupz7nqqqs499xzefHFFxFCALBhwwZ69OhBYmIiDz/8MFarlXfffZdevXrx22+/eY2hu+66i8mTJzNmzBhatmzJ8ePHWbx4MZs2bfIaUaU5JhhXX301jRs35qWXXmLNmjV88MEH1KxZk//85z/eY9auXcvll19O7dq1efbZZ9F1neeee4709PSQbbdu3Zrk5GQWLlzIkCFDAFi0aBGqqrJ+/Xpyc3NJTEzEMAyWLl3qY1SdzogRI9i6dStfffUV//vf/0hLSwPwGUNpriUUt9xyC/n5+WiaRo8ePXj11Vfp0KGDzzFr166lWbNmJCYm+mzv1KkTAOvWraN+/foB2w/nPgFcc801tGjRgpdffpkZM2bw/PPPk5KSwrvvvssll1zCf/7zH7744gseeughOnbsSM+ePUt13aFYuXIlS5cu5dprr6VevXrs3r2bt99+m169erFx40ZiY2NLdW9OpbTP/qmUdG/DnVuJRFLJCImkCpOTkyMAMXTo0FId//TTTwtAXHfddX77hg0bJmw2m9ixY4d328GDB0VCQoLo2bOnd1tSUpIYPXp0yH5KOubjjz8WgNi1a5ff2G699VafY4cPHy5SU1N9tg0ePFjExsaKAwcOeLdt27ZNWCwWUdLHduDAgaJTp07ef48YMUKMGDFCaJomZs2aJYQQYs2aNQIQ06ZNCznmV1991W9bWa8lEEuWLBFXXHGF+PDDD8W0adPESy+9JFJTU0V0dLRYs2aNz7GtWrUSl1xyiV8bGzZsEIB45513gvZTmnsZ6l7deeed3m1ut1vUq1dPKIoiXn75Ze/2rKwsERMTI0aNGuXdNmrUKNGwYUO/vjzthuq7sLDQ77xly5YJQHz66afebcHuTaB2S/vsnzrGku5taeZWIpFUXeQSsKRKk5ubC0BCQkKZzrvrrrt8/q3rOnPmzGHYsGE0adLEu7127dqMHDmSxYsXe/tKTk7m999/5+DBg0HbL80xpR1bjx49OH78uLd/Xdf55ZdfGDZsGHXq1PEe17RpU/r3719i+z169GDNmjUUFBQAsHjxYgYMGEDbtm1ZtGgRYHoFFUXxWR4vDyVdSzC6du3K5MmTufXWWxkyZAiPPvooy5cvR1EUHnvsMZ9ji4qKiIqK8msjOjrauz8Y4dwngNtvv93735qm0aFDB4QQ3HbbbT59NG/enJ07d5arj9OJiYnx/rfL5eL48eM0bdqU5OTkci2vluXZP5WS7m24cyuRSCoXaQBKqjSeZb+8vLwynde4cWOffx87dozCwkKaN2/ud2yLFi0wDMMbS/bKK6/w119/Ub9+fTp16sQzzzzj93IvzTHBaNCggc+/a9SoAUBWVhYAR48epaioKKAaNtC20+nRowdut5tly5axZcsWjh49So8ePejZs6ePAdiyZUtSUlJKNebyXktZaNq0KUOHDuXXX39F13Xv9piYGBwOh9/xdrvduz8Y4dwn8L++pKQkoqOjvUuup24vzzUHoqioiKeeeor69esTFRVFWloa6enpZGdnk5OTU+b2yvLsn0pJ9zbcuZVIJJWLNAAlVZrExETq1KnDX3/9VabzQhkFJXH11Vezc+dOJkyYQJ06dXj11Vdp1aoVs2bNKtMxwQimzhTFsYrh4hGOLFy4kEWLFlGzZk2aNWtGjx49WLFiBQ6Hg0WLFtGjR4+w+4r0tdSvXx+n0+n1XoLpqTp06JDfsZ5tp3pJTyec+wSBr6801xxM6HGqYRuMsWPH8sILL3D11Vfz7bffMmfOHObOnUtqaiqGYZRq3JGgpOsMd24lEknlIg1ASZVn0KBB7Nixg2XLlpW7jfT0dGJjY9myZYvfvs2bN6Oqqo+QoHbt2txzzz1MnTqVXbt2kZqaygsvvOBzXmmOKQ81a9YkOjqa7du3++0LtO10bDYbnTp1YtGiRT6GXo8ePXA4HHzxxRccOXKkVIKFkhSrkWbnzp1ER0cTHx/v3da2bVu2bt3qt0z5+++/e/eH4kzdp1DUqFEjYH6+PXv2lHju5MmTGTVqFP/973+58sorueyyy+jevbtfe6W9N2V99stCZcytRCKJDNIAlFR5Hn74YeLi4rj99ts5cuSI3/4dO3Ywfvz4kG1omkbfvn2ZNm2aT2qMI0eO8OWXX9K9e3cSExPRdd1vma1mzZrUqVPHuwxZmmPCQdM0+vTpw9SpU33iq7Zv315q70qPHj34/fff+fXXX70GYFpaGi1atPCqOEvjAfTkT4x0Iuhjx475bVu/fj3Tp0+nb9++qOrJr6Yrr7wSXdd57733vNscDgcff/wxnTt3Dmq8nOn7FIpzzjmHnJwc/vjjD++2Q4cOMWXKlBLP1TTNz4M6YcIEP+9hae9NaZ/9slDauS0sLGTz5s1/i5KBEsnfDZkGRlLlOeecc/jyyy+9KTk8SYCdTidLly7lu+++4+abby6xneeff565c+fSvXt37rnnHiwWC++++y4Oh4NXXnkFMGMN69Wrx5VXXkmbNm2Ij4/
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydd5wUVbbHv1XV3ZMDExhyEkGCApIkCoogOZgxYF6VYFzDml3T6ltXRMwBc0IJShAEkSwZlZxzGpg806nqvj9quqHpMKGbmcG538+bt1Lh3lu3qrtOn3t+5yhCCIFEIpFIJBKJpNqgVvYAJBKJRCKRSCQVizQAJRKJRCKRSKoZ0gCUSCQSiUQiqWZIA1AikUgkEomkmiENQIlEIpFIJJJqhjQAJRKJRCKRSKoZ0gCUSCQSiUQiqWZIA1AikUgkEomkmiENQIlEIpFIJJJqhjQAJRKJRCKRSKoZ0gCUSCQSiUQiqWZIA1AikUgkEomkmiENQIlEIpFIJJJqhjQAJRKJRCKRSKoZ0gCUSCQSiUQiqWZIA1AikUgkEomkmiENQInkDDBp0iQURWH37t2VPZRSU5YxP/PMMyiKQmZm5pkf2BmmMu/Vmer7bHz+JBJJxSINQMlZw44dO/jHP/5BkyZNiI6OJjExkW7dujF+/HiKiooqe3h/S5YuXcozzzxDdnZ2RNtdsGABiqIE/Fu+fLnf8Q6Hg0ceeYQ6deoQExND586dmTt3bkTHdLZxpu6NRCKpHkgDUHJWMGPGDM4//3y+/fZbBg8ezIQJE3jppZdo0KAB//znP7n33nsre4g+3HjjjRQVFdGwYcPKHkqpCTTmpUuX8uyzz54xI2PcuHF89tlnPn9Nmzb1O+7mm2/mtdde4/rrr2f8+PFomsaAAQNYvHhx2GM4G+8VhL43Z+s1SSSSisNS2QOQSEpi165dXHvttTRs2JD58+dTu3Zt777Ro0ezfft2ZsyYEfT8goIC4uLiKmKoXjRNQ9O0Cu0zXCpjzD169ODKK68MecyKFSv4+uuvefXVV3nooYcAuOmmm2jdujUPP/wwS5cuDWsMZ+O9Kom/4zVJJJLIIj2AkirPK6+8Qn5+Ph9++KGP8eehadOmXg+gJzZt48aNjBw5kho1atC9e3fvsWvXrqV///4kJiYSHx/PpZde6rfkmJeXx3333UejRo2IioqiZs2aXHbZZaxZs6bUxwSKwfKMbfv27dx8880kJyeTlJTELbfcQmFhod91LViwgA4dOhAdHc0555zDu+++620jGH/88QeKojB9+nTvttWrV6MoChdeeKHPsf3796dz587ef58+5meeeYZ//vOfADRu3Ni7RHvqNWVnZ5fqWkKRl5eH2+0Oun/y5Mlomsadd97p3RYdHc1tt93GsmXL2LdvX8i2S7qXoe7V1q1bueGGG0hKSiI9PZ0nn3wSIQT79u1j6NChJCYmUqtWLf773//69HvzzTfTqFEjv/GUdP8A9uzZwz333EPz5s2JiYkhNTWVq666ym98oe5NoGsqzbN/6hhLek5LM7cSiaTqIj2AkirPjz/+SJMmTejatWupz7nqqqs499xzefHFFxFCALBhwwZ69OhBYmIiDz/8MFarlXfffZdevXrx22+/eY2hu+66i8mTJzNmzBhatmzJ8ePHWbx4MZs2bfIaUaU5JhhXX301jRs35qWXXmLNmjV88MEH1KxZk//85z/eY9auXcvll19O7dq1efbZZ9F1neeee4709PSQbbdu3Zrk5GQWLlzIkCFDAFi0aBGqqrJ+/Xpyc3NJTEzEMAyWLl3qY1SdzogRI9i6dStfffUV//vf/0hLSwPwGUNpriUUt9xyC/n5+WiaRo8ePXj11Vfp0KGDzzFr166lWbNmJCYm+mzv1KkTAOvWraN+/foB2w/nPgFcc801tGjRgpdffpkZM2bw/PPPk5KSwrvvvssll1zCf/7zH7744gseeughOnbsSM+ePUt13aFYuXIlS5cu5dprr6VevXrs3r2bt99+m169erFx40ZiY2NLdW9OpbTP/qmUdG/DnVuJRFLJCImkCpOTkyMAMXTo0FId//TTTwtAXHfddX77hg0bJmw2m9ixY4d328GDB0VCQoLo2bOnd1tSUpIYPXp0yH5KOubjjz8WgNi1a5ff2G699VafY4cPHy5SU1N9tg0ePFjExsaKAwcOeLdt27ZNWCwWUdLHduDAgaJTp07ef48YMUKMGDFCaJomZs2aJYQQYs2aNQIQ06ZNCznmV1991W9bWa8lEEuWLBFXXHGF+PDDD8W0adPESy+9JFJTU0V0dLRYs2aNz7GtWrUSl1xyiV8bGzZsEIB45513gvZTmnsZ6l7deeed3m1ut1vUq1dPKIoiXn75Ze/2rKwsERMTI0aNGuXdNmrUKNGwYUO/vjzthuq7sLDQ77xly5YJQHz66afebcHuTaB2S/vsnzrGku5taeZWIpFUXeQSsKRKk5ubC0BCQkKZzrvrrrt8/q3rOnPmzGHYsGE0adLEu7127dqMHDmSxYsXe/tKTk7m999/5+DBg0HbL80xpR1bjx49OH78uLd/Xdf55ZdfGDZsGHXq1PEe17RpU/r3719i+z169GDNmjUUFBQAsHjxYgYMGEDbtm1ZtGgRYHoFFUXxWR4vDyVdSzC6du3K5MmTufXWWxkyZAiPPvooy5cvR1EUHnvsMZ9ji4qKiIqK8msjOjrauz8Y4dwngNtvv93735qm0aFDB4QQ3HbbbT59NG/enJ07d5arj9OJiYnx/rfL5eL48eM0bdqU5OTkci2vluXZP5WS7m24cyuRSCoXaQBKqjSeZb+8vLwynde4cWOffx87dozCwkKaN2/ud2yLFi0wDMMbS/bKK6/w119/Ub9+fTp16sQzzzzj93IvzTHBaNCggc+/a9SoAUBWVhYAR48epaioKKAaNtC20+nRowdut5tly5axZcsWjh49So8ePejZs6ePAdiyZUtSUlJKNebyXktZaNq0KUOHDuXXX39F13Xv9piYGBwOh9/xdrvduz8Y4dwn8L++pKQkoqOjvUuup24vzzUHoqioiKeeeor69esTFRVFWloa6enpZGdnk5OTU+b2yvLsn0pJ9zbcuZVIJJWLNAAlVZrExETq1KnDX3/9VabzQhkFJXH11Vezc+dOJkyYQJ06dXj11Vdp1aoVs2bNKtMxwQimzhTFsYrh4hGOLFy4kEWLFlGzZk2aNWtGjx49WLFiBQ6Hg0WLFtGjR4+w+4r0tdSvXx+n0+n1XoLpqTp06JDfsZ5tp3pJTyec+wSBr6801xxM6HGqYRuMsWPH8sILL3D11Vfz7bffMmfOHObOnUtqaiqGYZRq3JGgpOsMd24lEknlIg1ASZVn0KBB7Nixg2XLlpW7jfT0dGJjY9myZYvfvs2bN6Oqqo+QoHbt2txzzz1MnTqVXbt2kZqaygsvvOBzXmmOKQ81a9YkOjqa7du3++0LtO10bDYbnTp1YtGiRT6GXo8ePXA4HHzxxRccOXKkVIKFkhSrkWbnzp1ER0cTHx/v3da2bVu2bt3qt0z5+++/e/eH4kzdp1DUqFEjYH6+PXv2lHju5MmTGTVqFP/973+58sorueyyy+jevbtfe6W9N2V99stCZcytRCKJDNIAlFR5Hn74YeLi4rj99ts5cuSI3/4dO3Ywfvz4kG1omkbfvn2ZNm2aT2qMI0eO8OWXX9K9e3cSExPRdd1vma1mzZrUqVPHuwxZmmPCQdM0+vTpw9SpU33iq7Zv315q70qPHj34/fff+fXXX70GYFpaGi1atPCqOEvjAfTkT4x0Iuhjx475bVu/fj3Tp0+nb9++qOrJr6Yrr7wSXdd57733vNscDgcff/wxnTt3Dmq8nOn7FIpzzjmHnJwc/vjjD++2Q4cOMWXKlBLP1TTNz4M6YcIEP+9hae9NaZ/9slDauS0sLGTz5s1/i5KBEsnfDZkGRlLlOeecc/jyyy+9KTk8SYCdTidLly7lu+++4+abby6xneeff565c+fSvXt37rnnHiwWC++
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "76faa7490d5a4da39675a888d12cd69d",
"version_major": 2,
"version_minor": 0
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydd3wUZfrAv+/Mbja9QAi9iAhSFFSKVAHpHewN7A0R9Xe2u7PcneXuPAsqltNT7F1ApYPSEZFioUmTDqGkJ9tm3t8fk12ybEnILkmQ9/v5rJh5560zO/Ps8z5FSCklCoVCoVAoFIrTBq26B6BQKBQKhUKhqFqUAKhQKBQKhUJxmqEEQIVCoVAoFIrTDCUAKhQKhUKhUJxmKAFQoVAoFAqF4jRDCYAKhUKhUCgUpxlKAFQoFAqFQqE4zVACoEKhUCgUCsVphhIAFQqFQqFQKE4zlACoUCgUCoVCcZqhBECFQqFQKBSK0wwlACoUCoVCoVCcZigBUKFQKBQKheI0QwmACoVCoVAoFKcZSgBUKBQKhUKhOM1QAqBCoVAoFArFaYYSABWKk8CUKVMQQvD7779X91AqzImM+fHHH0cIweHDh0/+wE4y1XmtTlbfp+L9p1AoqhYlACpOGbZt28Ztt91G8+bNiY+PJzU1le7duzNp0iRKSkqqe3h/SJYvX87jjz9Obm7uSWl/zZo1jBgxglq1apGYmEi7du148cUXg85zuVw8+OCDNGjQgISEBLp06cK8efNOyphOFU72tVEoFH9slACoOCWYMWMG55xzDp9++inDhw/npZde4umnn6ZJkybcf//9TJw4sbqHGMB1111HSUkJTZs2re6hVJhQY16+fDl/+9vfToqQMXfuXLp27Up2djaPPPIIkyZNYtiwYezZsyfo3Ouvv57nnnuOa665hkmTJqHrOkOGDGHp0qVRj+NUvFYQ+dqcqnNSKBRVh626B6BQlMeOHTu48soradq0Kd9++y3169f3l40fP56tW7cyY8aMsPWLiopISkqqiqH60XUdXdertM9oqcox5+fnM3bsWIYOHcrnn3+OpoX/LfrDDz/w8ccf88wzz/CnP/0JgLFjx9KuXTseeOABli9fHtVYTsVrVR5/xDkpFIrYojSAihrPv//9bwoLC/nf//4XIPz5aNGihV8D6LNN27BhA1dffTUZGRn06NHDf+7atWsZPHgwqampJCcnc/HFF/P9998HtFdQUMA999xDs2bNcDgcZGVl0b9/f9asWVPhc0LZYPnGtnXrVq6//nrS09NJS0vjhhtuoLi4OGheCxcupGPHjsTHx3PmmWfy+uuv+9sIx88//4wQgq+++sp/bPXq1QghOP/88wPOHTx4MF26dPH/ffyYH3/8ce6//34AzjjjDIQQQXPKzc2t0FyO58MPP+TgwYM8+eSTaJpGUVERpmmGPPfzzz9H13VuvfVW/7H4+HhuuukmVqxYwe7du8P2U5FrGela/fbbb1x77bWkpaVRp04dHnnkEaSU7N69m5EjR5Kamkq9evV49tlnA/q9/vrradasWdB4yrt+ADt37uTOO++kVatWJCQkULt2bS677LKg8UW6NqHmVJF7v+wYy7tPK7K2CoWi5qI0gIoaz9dff03z5s3p1q1bhetcdtllnHXWWTz11FNIKQFYv349PXv2JDU1lQceeAC73c7rr79O7969WbRokV8Yuv322/n888+56667aNOmDUeOHGHp0qVs3LjRL0RV5JxwXH755Zxxxhk8/fTTrFmzhjfffJOsrCz+9a9/+c9Zu3YtgwYNon79+vztb3/DMAz+/ve/U6dOnYhtt2vXjvT0dBYvXsyIESMAWLJkCZqm8dNPP5Gfn09qaiqmabJ8+fIAoep4xowZw2+//cZHH33E888/T2ZmJkDAGCoyl1DMnz+f1NRU9u7dy6hRo/jtt99ISkriuuuu4/nnnyc+Pj5gLVq2bElqampAG507dwZg3bp1NG7cOGQ/0VwngCuuuILWrVvzz3/+kxkzZvDEE09Qq1YtXn/9dfr27cu//vUvPvjgA/70pz/RqVMnevXqVW6b5bFq1SqWL1/OlVdeSaNGjfj999959dVX6d27Nxs2bCAxMbFC16YsFb33y1LetY12bRUKRTUjFYoaTF5engTkyJEjK3T+Y489JgF51VVXBZWNGjVKxsXFyW3btvmP7du3T6akpMhevXr5j6Wlpcnx48dH7Ke8c95++20JyB07dgSN7cYbbww4d/To0bJ27doBx4YPHy4TExPl3r17/ce2bNkibTabLO9rO3ToUNm5c2f/32PGjJFjxoyRuq7LWbNmSSmlXLNmjQTk9OnTI475mWeeCTp2onMJxbnnnisTExNlYmKinDBhgvziiy/khAkTJCCvvPLKgHPbtm0r+/btG9TG+vXrJSBfe+21sP1U5FpGula33nqr/5jX65WNGjWSQgj5z3/+0388JydHJiQkyHHjxvmPjRs3TjZt2jSoL1+7kfouLi4OqrdixQoJyHfffdd/LNy1CdVuRe/9smMs79pWZG0VCkXNRW0BK2o0+fn5AKSkpJxQvdtvvz3gb8MwmDt3LqNGjaJ58+b+4/Xr1+fqq69m6dKl/r7S09NZuXIl+/btC9t+Rc6p6Nh69uzJkSNH/P0bhsH8+fMZNWoUDRo08J/XokULBg8eXG77PXv2ZM2aNRQVFQGwdOlShgwZQocOHViyZAlgaQWFEAHb45WhvLmEo7CwkOLiYsaOHcuLL77ImDFjePHFF7ntttv4+OOP2bJli//ckpISHA5HUBs+LWEkD/BorhPAzTff7P9/Xdfp2LEjUkpuuummgD5atWrF9u3bK9XH8SQkJPj/3+PxcOTIEVq0aEF6enqltldP5N4vS3nXNtq1VSgU1YsSABU1Gt+2X0FBwQnVO+OMMwL+PnToEMXFxbRq1Sro3NatW2Oapt+W7N///je//vorjRs3pnPnzjz++ONBL/eKnBOOJk2aBPydkZEBQE5ODgDZ2dmUlJTQokWLoLqhjh1Pz5498Xq9rFixgs2bN5OdnU3Pnj3p1atXgADYpk0batWqVaExV3Yu4fAJOVdddVXA8auvvhqAFStWBJzrcrmC2nA6nQFthSKa6wTB80tLSyM+Pt6/5Vr2eHlzriglJSU8+uijNG7cGIfDQWZmJnXq1CE3N5e8vLwTbu9E7v2ylHdto11bhUJRvSgBUFGjSU1NpUGDBvz6668nVC+SUFAel19+Odu3b+ell16iQYMGPPPMM7Rt25ZZs2ad0DnhCOedKUttFaPF5ziyePFilixZQlZWFi1btqRnz5788MMPuFwulixZQs+ePaPuq7Jz8Wk269atG3A8KysLCBQg69evz/79+4Pa8B0rqyU9nmiuE4SeX0XmHM7RwzCMcvucMGECTz75JJdffjmffvopc+fOZd68edSuXTuso8zJoLx5Rru2CoWielECoKLGM2zYMLZt2xagFTpR6tSpQ2JiIps3bw4q27RpE5qmBTgS1K9fnzvvvJNp06axY8cOateuzZNPPhlQryLnVIasrCzi4+PZunVrUFmoY8cTFxdH586dWbJkSYCg17NnT1wuFx988AEHDx6skMNCeR6rleWCCy4AYO/evQHHfduJZZ0ZOnTowG+//Ra0Tbly5Up/eSRO1nWKREZGRsj4fDt37iy37ueff864ceN49tlnufTSS+nfvz89evQIaq+i1+ZE7/0ToTrWVqFQxAYlACpqPA888ABJSUncfPPNHDx4MKh827ZtTJo0KWIbuq4zYMAApk+fHhAa4+DBg3z44Yf06NGD1NRUDMMI2mbLysqiQYMG/m3IipwTDbqu069fP6ZNmxZgX7V169YKa1d69uzJypUr+e677/wCYGZmJq1bt/Z7cVZEA+iLnxjrQNCXX345AP/73/8Cjr/55pvYbDZ69+7tP3bppZdiGAb//e9//cdcLhdvv/02Xbp0CSu8nOzrFIkzzzyTvLw8fv75Z/+x/fv3M3Xq1HLr6roepEF96aWXgrSHFb02Fb33T4SKrm1xcTGbNm36Q6QMVCj+aKgwMIoaz5l
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydd3wUZfrAv+/Mbja9QAi9iAhSFFSKVAHpHewN7A0R9Xe2u7PcneXuPAsqltNT7F1ApYPSEZFioUmTDqGkJ9tm3t8fk12ybEnILkmQ9/v5rJh5560zO/Ps8z5FSCklCoVCoVAoFIrTBq26B6BQKBQKhUKhqFqUAKhQKBQKhUJxmqEEQIVCoVAoFIrTDCUAKhQKhUKhUJxmKAFQoVAoFAqF4jRDCYAKhUKhUCgUpxlKAFQoFAqFQqE4zVACoEKhUCgUCsVphhIAFQqFQqFQKE4zlACoUCgUCoVCcZqhBECFQqFQKBSK0wwlACoUCoVCoVCcZigBUKFQKBQKheI0QwmACoVCoVAoFKcZSgBUKBQKhUKhOM1QAqBCoVAoFArFaYYSABWKk8CUKVMQQvD7779X91AqzImM+fHHH0cIweHDh0/+wE4y1XmtTlbfp+L9p1AoqhYlACpOGbZt28Ztt91G8+bNiY+PJzU1le7duzNp0iRKSkqqe3h/SJYvX87jjz9Obm7uSWl/zZo1jBgxglq1apGYmEi7du148cUXg85zuVw8+OCDNGjQgISEBLp06cK8efNOyphOFU72tVEoFH9slACoOCWYMWMG55xzDp9++inDhw/npZde4umnn6ZJkybcf//9TJw4sbqHGMB1111HSUkJTZs2re6hVJhQY16+fDl/+9vfToqQMXfuXLp27Up2djaPPPIIkyZNYtiwYezZsyfo3Ouvv57nnnuOa665hkmTJqHrOkOGDGHp0qVRj+NUvFYQ+dqcqnNSKBRVh626B6BQlMeOHTu48soradq0Kd9++y3169f3l40fP56tW7cyY8aMsPWLiopISkqqiqH60XUdXdertM9oqcox5+fnM3bsWIYOHcrnn3+OpoX/LfrDDz/w8ccf88wzz/CnP/0JgLFjx9KuXTseeOABli9fHtVYTsVrVR5/xDkpFIrYojSAihrPv//9bwoLC/nf//4XIPz5aNGihV8D6LNN27BhA1dffTUZGRn06NHDf+7atWsZPHgwqampJCcnc/HFF/P9998HtFdQUMA999xDs2bNcDgcZGVl0b9/f9asWVPhc0LZYPnGtnXrVq6//nrS09NJS0vjhhtuoLi4OGheCxcupGPHjsTHx3PmmWfy+uuv+9sIx88//4wQgq+++sp/bPXq1QghOP/88wPOHTx4MF26dPH/ffyYH3/8ce6//34AzjjjDIQQQXPKzc2t0FyO58MPP+TgwYM8+eSTaJpGUVERpmmGPPfzzz9H13VuvfVW/7H4+HhuuukmVqxYwe7du8P2U5FrGela/fbbb1x77bWkpaVRp04dHnnkEaSU7N69m5EjR5Kamkq9evV49tlnA/q9/vrradasWdB4yrt+ADt37uTOO++kVatWJCQkULt2bS677LKg8UW6NqHmVJF7v+wYy7tPK7K2CoWi5qI0gIoaz9dff03z5s3p1q1bhetcdtllnHXWWTz11FNIKQFYv349PXv2JDU1lQceeAC73c7rr79O7969WbRokV8Yuv322/n888+56667aNOmDUeOHGHp0qVs3LjRL0RV5JxwXH755Zxxxhk8/fTTrFmzhjfffJOsrCz+9a9/+c9Zu3YtgwYNon79+vztb3/DMAz+/ve/U6dOnYhtt2vXjvT0dBYvXsyIESMAWLJkCZqm8dNPP5Gfn09qaiqmabJ8+fIAoep4xowZw2+//cZHH33E888/T2ZmJkDAGCoyl1DMnz+f1NRU9u7dy6hRo/jtt99ISkriuuuu4/nnnyc+Pj5gLVq2bElqampAG507dwZg3bp1NG7cOGQ/0VwngCuuuILWrVvzz3/+kxkzZvDEE09Qq1YtXn/9dfr27cu//vUvPvjgA/70pz/RqVMnevXqVW6b5bFq1SqWL1/OlVdeSaNGjfj999959dVX6d27Nxs2bCAxMbFC16YsFb33y1LetY12bRUKRTUjFYoaTF5engTkyJEjK3T+Y489JgF51VVXBZWNGjVKxsXFyW3btvmP7du3T6akpMhevXr5j6Wlpcnx48dH7Ke8c95++20JyB07dgSN7cYbbww4d/To0bJ27doBx4YPHy4TExPl3r17/ce2bNkibTabLO9rO3ToUNm5c2f/32PGjJFjxoyRuq7LWbNmSSmlXLNmjQTk9OnTI475mWeeCTp2onMJxbnnnisTExNlYmKinDBhgvziiy/khAkTJCCvvPLKgHPbtm0r+/btG9TG+vXrJSBfe+21sP1U5FpGula33nqr/5jX65WNGjWSQgj5z3/+0388JydHJiQkyHHjxvmPjRs3TjZt2jSoL1+7kfouLi4OqrdixQoJyHfffdd/LNy1CdVuRe/9smMs79pWZG0VCkXNRW0BK2o0+fn5AKSkpJxQvdtvvz3gb8MwmDt3LqNGjaJ58+b+4/Xr1+fqq69m6dKl/r7S09NZuXIl+/btC9t+Rc6p6Nh69uzJkSNH/P0bhsH8+fMZNWoUDRo08J/XokULBg8eXG77PXv2ZM2aNRQVFQGwdOlShgwZQocOHViyZAlgaQWFEAHb45WhvLmEo7CwkOLiYsaOHcuLL77ImDFjePHFF7ntttv4+OOP2bJli//ckpISHA5HUBs+LWEkD/BorhPAzTff7P9/Xdfp2LEjUkpuuummgD5atWrF9u3bK9XH8SQkJPj/3+PxcOTIEVq0aEF6enqltldP5N4vS3nXNtq1VSgU1YsSABU1Gt+2X0FBwQnVO+OMMwL+PnToEMXFxbRq1Sro3NatW2Oapt+W7N///je//vorjRs3pnPnzjz++ONBL/eKnBOOJk2aBPydkZEBQE5ODgDZ2dmUlJTQokWLoLqhjh1Pz5498Xq9rFixgs2bN5OdnU3Pnj3p1atXgADYpk0batWqVaExV3Yu4fAJOVdddVXA8auvvhqAFStWBJzrcrmC2nA6nQFthSKa6wTB80tLSyM+Pt6/5Vr2eHlzriglJSU8+uijNG7cGIfDQWZmJnXq1CE3N5e8vLwTbu9E7v2ylHdto11bhUJRvSgBUFGjSU1NpUGDBvz6668nVC+SUFAel19+Odu3b+ell16iQYMGPPPMM7Rt25ZZs2ad0DnhCOedKUttFaPF5ziyePFilixZQlZWFi1btqRnz5788MMPuFwulixZQs+ePaPuq7Jz8Wk269atG3A8KysLCBQg69evz/79+4Pa8B0rqyU9nmiuE4SeX0XmHM7RwzCMcvucMGECTz75JJdffjmffvopc+fOZd68edSuXTuso8zJoLx5Rru2CoWielECoKLGM2zYMLZt2xagFTpR6tSpQ2JiIps3bw4q27RpE5qmBTgS1K9fnzvvvJNp06axY8cOateuzZNPPhlQryLnVIasrCzi4+PZunVrUFmoY8cTFxdH586dWbJkSYCg17NnT1wuFx988AEHDx6skMNCeR6rleWCCy4AYO/evQHHfduJZZ0ZOnTowG+//Ra0Tbly5Up/eSRO1nWKREZGRsj4fDt37iy37ueff864ceN49tlnufTSS+nfvz89evQIaq+i1+ZE7/0ToTrWVqFQxAYlACpqPA888ABJSUncfPPNHDx4MKh827ZtTJo0KWIbuq4zYMAApk+fHhAa4+DBg3z44Yf06NGD1NRUDMMI2mbLysqiQYMG/m3IipwTDbqu069fP6ZNmxZgX7V169YKa1d69uzJypUr+e677/wCYGZmJq1bt/Z7cVZEA+iLnxjrQNCXX345AP/73/8Cjr/55pvYbDZ69+7tP3bppZdiGAb//e9//cdcLhdvv/02Xbp0CSu8nOzrFIkzzzyTvLw8fv75Z/+x/fv3M3Xq1HLr6roepEF96aWXgrSHFb02Fb3
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "7039af54419347fe872a515620bf2b01",
"version_major": 2,
"version_minor": 0
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydZ5gUVdaA36rqMDkwMOQoGQQUAUkmUCQHc0TXLGLgcw3rGtY1rqurAuaAAbMCIhmUjIAkJSo5DwxMnulUdb8fNd0zTYcZppsJcN/naWXqVt176lZ116lzT1CEEAKJRCKRSCQSyRmDWtUCSCQSiUQikUgqF6kASiQSiUQikZxhSAVQIpFIJBKJ5AxDKoASiUQikUgkZxhSAZRIJBKJRCI5w5AKoEQikUgkEskZhlQAJRKJRCKRSM4wpAIokUgkEolEcoYhFUCJRCKRSCSSMwypAEokEolEIpGcYUgFUCKRSCQSieQMQyqAEolEIpFIJGcYUgGUSCQSiUQiOcOQCqBEIpFIJBLJGYZUACUSiUQikUjOMKQCKJFIJBKJRHKGIRVAieQUMGnSJBRFYffu3VUtSrk5GZmfeeYZFEUhMzPz1At2iqnKa3Wqxq6J959EIqlcpAIoqTHs2LGDu+66ixYtWhATE0NSUhK9e/fmjTfeoKioqKrFOy1Zvnw5zzzzDNnZ2VHt95ZbbkFRlJCfAwcO+O3vdDp59NFHadCgAbGxsfTo0YN58+ZFVaaaxqm6NhKJ5MxAEUKIqhZCIimLGTNmcNVVV2G327n55pvp2LEjLpeLpUuX8v3333PLLbfw3nvvVbWYPnRdx+12Y7fbURSlqsUpF8Fk/u9//8vf//53du3aRbNmzXz7PvPMM/zrX//i6NGj1K5d+6THWrFiBTt27PDbJoTg7rvvplmzZmzatMmv7brrruO7777jwQcfpFWrVkyaNInVq1fzyy+/0KdPn5M/2VJU5bWaNGkSt956a8D8lodQ1wZq5v0nkUgqF0tVCyCRlMWuXbu49tpradq0KT///DP169f3tY0ZM4bt27czY8aMkMcXFBQQHx9fGaL60DQNTdMqdcxIqUyZe/bsSc+ePf22LV26lMLCQm644Qa/7atWreKrr77ilVde4eGHHwbwvQQ88sgjLF++PCJZauK1KovT8ZwkEkl0kUvAkmrPf/7zH/Lz8/nwww/9lD8vLVu25IEHHgBKfNM2b97M9ddfT2pqqp+FaN26dQwcOJCkpCQSEhLo168fv/76q19/eXl5PPjggzRr1gy73U56ejqXXnopa9euLfc+wXywvLJt376dW265hZSUFJKTk7n11lspLCwMOK+FCxdy3nnnERMTw1lnncW7777r6yMUv//+O4qi8OOPP/q2rVmzBkVROPfcc/32HThwID169PD9faLMzzzzDH//+98BaN68uW95tvQ5ZWdnl+tcysMXX3yBoihcf/31ftu/++47NE3jzjvv9G2LiYnhtttuY8WKFezbty9kn+W5luGu1Z9//smNN95IcnIyderU4cknn0QIwb59+xg+fDhJSUnUq1ePV1991W/cW265JahFr6zrB7Bnzx7uvfde2rRpQ2xsLGlpaVx11VUB8oW7NsHOqTz3fmkZy7pPyzO3Eomk+iItgJJqz/Tp02nRogW9evUq9zFXXXUVrVq14oUXXsDr5bBp0yb69u1LUlISjzzyCFarlXfffZeLLrqIRYsW+ZShu+++m++++4777ruP9u3bc+zYMZYuXcqWLVt8SlR59gnF1VdfTfPmzXnxxRdZu3YtH3zwAenp6bz88su+fdatW8fll19O/fr1+de//oWu6zz77LPUqVMnbN8dO3YkJSWFxYsXM2zYMACWLFmCqqps2LCB3NxckpKSMAyD5cuX+ylVJzJq1Cj+/PNPvvzyS/73v//5lnpLy1CecykPbrebb775hl69egUoTuvWraN169YkJSX5be/evTsA69evp3HjxkH7jeQ6AVxzzTW0a9eOl156iRkzZvDcc89Rq1Yt3n33XS655BJefvllJk+ezMMPP0y3bt244IILTuq8g7F69WqWL1/OtddeS6NGjdi9ezdvv/02F110EZs3byYuLq5c16Y05b33S1PWtY10biUSSRUjJJJqTE5OjgDE8OHDy7X/008/LQBx3XXXBbSNGDFC2Gw2sWPHDt+2gwcPisTERHHBBRf4tiUnJ4sxY8aEHaesfT7++GMBiF27dgXI9re//c1v35EjR4q0tDS/bUOHDhVxcXHiwIEDvm1//fWXsFgsoqyv7eDBg0X37t19f48aNUqMGjVKaJomZs2aJYQQYu3atQIQ06ZNCyvzK6+8ErDtZM+lPEyfPl0A4q233gpo69Chg7jkkksCtm/atEkA4p133gnZb3muZbhrdeedd/q2eTwe0ahRI6EoinjppZd827OyskRsbKwYPXq0b9vo0aNF06ZNA8by9htu7MLCwoDjVqxYIQDx6aef+raFujbB+i3vvV9axrKubXnmViKRVF/kErCkWpObmwtAYmLiSR139913+/2t6zpz585lxIgRtGjRwre9fv36XH/99SxdutQ3VkpKCitXruTgwYMh+y/PPuWVrW/fvhw7dsw3vq7rzJ8/nxEjRtCgQQPffi1btmTgwIFl9t+3b1/Wrl1LQUEBYPrWDRo0iC5durBkyRLAtAoqihJxAEVZ51JevvjiC6xWK1dffXVAW1FREXa7PWB7TEyMrz0UkVwngNtvv933b03TOO+88xBCcNttt/mN0aZNG3bu3FmhMU4kNjbW92+3282xY8do2bIlKSkpFVpePZl7vzRlXdtI51YikVQtUgGUVGu8y355eXkndVzz5s39/j569CiFhYW0adMmYN927dphGIbPl+w///kPGzdupHHjxnTv3p1nnnkm4OFenn1C0aRJE7+/U1NTAcjKygLgyJEjFBUV0bJly4Bjg207kb59++LxeFixYgXbtm3jyJEj9O3blwsuuMBPAWzfvj21atUql8wVPZfykJ+fz7Rp0xgwYABpaWkB7bGxsTidzoDtDofD1x6KSK4TBJ5fcnIyMTExAZHPycnJJ3XO4SgqKuKpp56icePG2O12ateuTZ06dcjOziYnJ+ek+zuZe780ZV3bSOdWIpFULVIBlFRrkpKSaNCgARs3bjyp48IpBWVx9dVXs3PnTsaPH0+DBg145ZVX6NChA7NmzTqpfUIRKjpTRCkjkzdwZPHixSxZsoT09HRat25N3759WbVqFU6nkyVLltC3b9+Ix4rGuUydOjVo9K+X+vXrc+jQoYDt3m2lraQnEsl1guDnV55zDhXooet6mWOOHTuW559/nquvvppvvvmGuXPnMm/ePNLS0jAMo1xyR4OyzjPSuZVIJFWLVAAl1Z4hQ4awY8cOVqxYUeE+6tSpQ1xcHNu2bQto27p1K6qq+gUS1K9fn3vvvZepU6eya9cu0tLSeP755/2OK88+FSE9PZ2YmBi2b98e0BZs24nYbDa6d+/OkiVL/BS9vn374nQ6mTx5MhkZGeUKWKiMHHKTJ08mISHBF7RyIl26dOHPP/8MWKZcuXKlrz0cp+o6hSM1NTVoguY9e/aUeex3333H6NGjefXVV7nyyiu59NJL6dOnT0B/5b02J3vvnwxVMbcSiSQ6SAVQUu155JFHiI+P5/bbbycjIyOgfceOHbzxxhth+9A0jcsuu4xp06b5pcbIyMjgiy++oE+fPiQlJaHresAyW3p6Og0aNPAtQ5Znn0jQNI3+/fszdepUP/+q7du3l9u60rdvX1auXMkvv/ziUwBr165Nu3btfFGc5bEAevMnnqpqE0ePHmX+/PmMHDmSuLi4oPtceeWV6Lrul+jb6XTy8ccf06NHj5DKy6m+TuE466yzyMnJ4ffff/dtO3ToEFOmTCnzWE3TAiyo48ePD7AelvfalPfePxnKO7eFhYVs3br1tCgZKJGcbsg0MJJqz1lnncUXX3zhS8lRuhLI8uXL+fbbb7nlllvK7Oe5555j3rx59OnTh3vvvReLxcK7776L0+nkP//5D2D6GjZq1Igrr7ySzp0
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydZ5gUVdaA36rqMDkwMOQoGQQUAUkmUCQHc0TXLGLgcw3rGtY1rqurAuaAAbMCIhmUjIAkJSo5DwxMnulUdb8fNd0zTYcZppsJcN/naWXqVt176lZ116lzT1CEEAKJRCKRSCQSyRmDWtUCSCQSiUQikUgqF6kASiQSiUQikZxhSAVQIpFIJBKJ5AxDKoASiUQikUgkZxhSAZRIJBKJRCI5w5AKoEQikUgkEskZhlQAJRKJRCKRSM4wpAIokUgkEolEcoYhFUCJRCKRSCSSMwypAEokEolEIpGcYUgFUCKRSCQSieQMQyqAEolEIpFIJGcYUgGUSCQSiUQiOcOQCqBEIpFIJBLJGYZUACUSiUQikUjOMKQCKJFIJBKJRHKGIRVAieQUMGnSJBRFYffu3VUtSrk5GZmfeeYZFEUhMzPz1At2iqnKa3Wqxq6J959EIqlcpAIoqTHs2LGDu+66ixYtWhATE0NSUhK9e/fmjTfeoKioqKrFOy1Zvnw5zzzzDNnZ2VHt95ZbbkFRlJCfAwcO+O3vdDp59NFHadCgAbGxsfTo0YN58+ZFVaaaxqm6NhKJ5MxAEUKIqhZCIimLGTNmcNVVV2G327n55pvp2LEjLpeLpUuX8v3333PLLbfw3nvvVbWYPnRdx+12Y7fbURSlqsUpF8Fk/u9//8vf//53du3aRbNmzXz7PvPMM/zrX//i6NGj1K5d+6THWrFiBTt27PDbJoTg7rvvplmzZmzatMmv7brrruO7777jwQcfpFWrVkyaNInVq1fzyy+/0KdPn5M/2VJU5bWaNGkSt956a8D8lodQ1wZq5v0nkUgqF0tVCyCRlMWuXbu49tpradq0KT///DP169f3tY0ZM4bt27czY8aMkMcXFBQQHx9fGaL60DQNTdMqdcxIqUyZe/bsSc+ePf22LV26lMLCQm644Qa/7atWreKrr77ilVde4eGHHwbwvQQ88sgjLF++PCJZauK1KovT8ZwkEkl0kUvAkmrPf/7zH/Lz8/nwww/9lD8vLVu25IEHHgBKfNM2b97M9ddfT2pqqp+FaN26dQwcOJCkpCQSEhLo168fv/76q19/eXl5PPjggzRr1gy73U56ejqXXnopa9euLfc+wXywvLJt376dW265hZSUFJKTk7n11lspLCwMOK+FCxdy3nnnERMTw1lnncW7777r6yMUv//+O4qi8OOPP/q2rVmzBkVROPfcc/32HThwID169PD9faLMzzzzDH//+98BaN68uW95tvQ5ZWdnl+tcysMXX3yBoihcf/31ftu/++47NE3jzjvv9G2LiYnhtttuY8WKFezbty9kn+W5luGu1Z9//smNN95IcnIyderU4cknn0QIwb59+xg+fDhJSUnUq1ePV1991W/cW265JahFr6zrB7Bnzx7uvfde2rRpQ2xsLGlpaVx11VUB8oW7NsHOqTz3fmkZy7pPyzO3Eomk+iItgJJqz/Tp02nRogW9evUq9zFXXXUVrVq14oUXXsDr5bBp0yb69u1LUlISjzzyCFarlXfffZeLLrqIRYsW+ZShu+++m++++4777ruP9u3bc+zYMZYuXcqWLVt8SlR59gnF1VdfTfPmzXnxxRdZu3YtH3zwAenp6bz88su+fdatW8fll19O/fr1+de//oWu6zz77LPUqVMnbN8dO3YkJSWFxYsXM2zYMACWLFmCqqps2LCB3NxckpKSMAyD5cuX+ylVJzJq1Cj+/PNPvvzyS/73v//5lnpLy1CecykPbrebb775hl69egUoTuvWraN169YkJSX5be/evTsA69evp3HjxkH7jeQ6AVxzzTW0a9eOl156iRkzZvDcc89Rq1Yt3n33XS655BJefvllJk+ezMMPP0y3bt244IILTuq8g7F69WqWL1/OtddeS6NGjdi9ezdvv/02F110EZs3byYuLq5c16Y05b33S1PWtY10biUSSRUjJJJqTE5OjgDE8OHDy7X/008/LQBx3XXXBbSNGDFC2Gw2sWPHDt+2gwcPisTERHHBBRf4tiUnJ4sxY8aEHaesfT7++GMBiF27dgXI9re//c1v35EjR4q0tDS/bUOHDhVxcXHiwIEDvm1//fWXsFgsoqyv7eDBg0X37t19f48aNUqMGjVKaJomZs2aJYQQYu3atQIQ06ZNCyvzK6+8ErDtZM+lPEyfPl0A4q233gpo69Chg7jkkksCtm/atEkA4p133gnZb3muZbhrdeedd/q2eTwe0ahRI6EoinjppZd827OyskRsbKwYPXq0b9vo0aNF06ZNA8by9htu7MLCwoDjVqxYIQDx6aef+raFujbB+i3vvV9axrKubXnmViKRVF/kErCkWpObmwtAYmLiSR139913+/2t6zpz585lxIgRtGjRwre9fv36XH/99SxdutQ3VkpKCitXruTgwYMh+y/PPuWVrW/fvhw7dsw3vq7rzJ8/nxEjRtCgQQPffi1btmTgwIFl9t+3b1/Wrl1LQUEBYPrWDRo0iC5durBkyRLAtAoqihJxAEVZ51JevvjiC6xWK1dffXVAW1FREXa7PWB7TEyMrz0UkVwngNtvv933b03TOO+88xBCcNttt/mN0aZNG3bu3FmhMU4kNjbW92+3282xY8do2bIlKSkpFVpePZl7vzRlXdtI51YikVQtUgGUVGu8y355eXkndVzz5s39/j569CiFhYW0adMmYN927dphGIbPl+w///kPGzdupHHjxnTv3p1nnnkm4OFenn1C0aRJE7+/U1NTAcjKygLgyJEjFBUV0bJly4Bjg207kb59++LxeFixYgXbtm3jyJEj9O3blwsuuMBPAWzfvj21atUql8wVPZfykJ+fz7Rp0xgwYABpaWkB7bGxsTidzoDtDofD1x6KSK4TBJ5fcnIyMTExAZHPycnJJ3XO4SgqKuKpp56icePG2O12ateuTZ06dcjOziYnJ+ek+zuZe780ZV3bSOdWIpFULVIBlFRrkpKSaNCgARs3bjyp48IpBWVx9dVXs3PnTsaPH0+DBg145ZVX6NChA7NmzTqpfUIRKjpTRCkjkzdwZPHixSxZsoT09HRat25N3759WbVqFU6nkyVLltC3b9+Ix4rGuUydOjVo9K+X+vXrc+jQoYDt3m2lraQnEsl1guDnV55zDhXooet6mWOOHTuW559/nquvvppvvvmGuXPnMm/ePNLS0jAMo1xyR4OyzjPSuZVIJFWLVAAl1Z4hQ4awY8cOVqxYUeE+6tSpQ1xcHNu2bQto27p1K6qq+gUS1K9fn3vvvZepU6eya9cu0tLSeP755/2OK88+FSE9PZ2YmBi2b98e0BZs24nYbDa6d+/OkiVL/BS9vn374nQ6mTx5MhkZGeUKWKiMHHKTJ08mISHBF7RyIl26dOHPP/8MWKZcuXKlrz0cp+o6hSM1NTVoguY9e/aUeex3333H6NGjefXVV7nyyiu59NJL6dOnT0B/5b02J3vvnwxVMbcSiSQ6SAVQUu155JFHiI+P5/bbbycjIyOgfceOHbzxxhth+9A0jcsuu4xp06b5pcbIyMjgiy++oE+fPiQlJaHresAyW3p6Og0aNPAtQ5Znn0jQNI3+/fszdepUP/+q7du3l9u60rdvX1auXMkvv/ziUwBr165Nu3btfFGc5bEAevMnnqpqE0ePHmX+/PmMHDmSuLi4oPtceeWV6Lrul+jb6XTy8ccf06NHj5DKy6m+TuE466yzyMnJ4ffff/dtO3ToEFOmTCnzWE3TAiyo48ePD7AelvfalPfePxnKO7eFhYVs3br1tCgZKJGcbsg0MJJqz1lnncUXX3zhS8lRuhLI8uXL+fbbb7nlllvK7Oe5555j3rx59OnTh3vvvRe
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "97aa955ebe934deb87f78bca584300bd",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "7dfa0d5edc5c411f97381eb3108453a7",
"version_major": 2,
"version_minor": 0
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd5wTZf7A8c9Mspvtnd6RIk1AKdIUFKRJtWEDOcupiO3urGe7O/Xu/J2nYu+9nxSlKSgd6aioSC9SFha2l5SZ5/fHbMKGJLvLJluA7/v12vPITGaemWST7z7P832+mlJKIYQQQgghTht6bTdACCGEEELULAkAhRBCCCFOMxIACiGEEEKcZiQAFEIIIYQ4zUgAKIQQQghxmpEAUAghhBDiNCMBoBBCCCHEaUYCQCGEEEKI04wEgEIIIYQQpxkJAIUQQgghTjMSAAohhBBCnGYkABRCCCGEOM1IACiEEEIIcZqRAFAIIYQQ4jQjAaAQQgghxGlGAkAhhBBCiNOMBIBCVIO3334bTdPYtWtXbTel0k6kzY8++iiappGVlVX9DatmtflaVde5T8b3nxCiZkkAKE4a27dv549//COtW7cmJiaGpKQk+vXrx7PPPktxcXFtN++UtGLFCh599FFycnIifux169YxbNgwkpKSSExM5KKLLmLjxo1B93U6ndx77700btyY2NhYevfuzTfffBPxNp1MqvO1EUKc+iQAFCeF2bNn06VLFz799FNGjRrFtGnTePLJJ2nevDl/+ctfuOOOO2q7iX6uvfZaiouLadGiRW03pdKCtXnFihU89thjEQ8y1q9fT//+/dmxYwePPPIIDz/8MFu3buX888/nt99+C9j/uuuu4+mnn+bqq6/m2WefxWazMWLECJYtWxZ2W07G1wrKf21O1msSQtQce203QIiK7Ny5kwkTJtCiRQu+/fZbGjVq5Ns2ZcoUtm3bxuzZs0M+v7CwkPj4+Jpoqo/NZsNms9XoOcNVk21+6KGHiI2NZeXKlaSnpwNwzTXX0K5dOx544AH+97//+fZdvXo1H3/8MU899RR//vOfAZg4cSKdO3fmnnvuYcWKFWG15WR8rSpyKl6TECKypAdQ1Hn//ve/KSgo4I033vAL/rzatGnj6wH0zk375ZdfuOqqq0hNTaV///6+fTds2MDw4cNJSkoiISGBCy+8kO+//97vePn5+dx55520bNkSh8NB/fr1GTJkCOvXr6/0PsHmYHnbtm3bNq677jpSUlJITk5m8uTJFBUVBVzXokWL6NGjBzExMZxxxhm88sorvmOE8uOPP6JpGrNmzfI9tm7dOjRN4+yzz/bbd/jw4fTu3dv37+Pb/Oijj/KXv/wFgFatWqFpWsA15eTkVOpajrd06VIGDx7sC/4AGjVqxPnnn89XX31FQUGB7/HPP/8cm83GTTfd5HssJiaG66+/npUrV7J3796Q56nMa1nea7VlyxauueYakpOTqVevHg899BBKKfbu3cuYMWNISkqiYcOG/Oc///E773XXXUfLli0D2lPR6wewe/dubr31Vtq3b09sbCzp6elcdtllAe0r77UJdk2Vee+XbWNF79PK3FshRN0lPYCizvvyyy9p3bo1ffv2rfRzLrvsMtq2bcsTTzyBUgqAn3/+mQEDBpCUlMQ999xDVFQUr7zyCgMHDmTx4sW+YOjmm2/m888/57bbbqNjx44cOXKEZcuW8euvv/qCqMrsE8rll19Oq1atePLJJ1m/fj2vv/469evX51//+pdvnw0bNjBs2DAaNWrEY489hmEY/O1vf6NevXrlHrtz586kpKSwZMkSRo8eDVjBlq7r/PDDD+Tl5ZGUlIRpmqxYscIvqDre+PHj2bJlCx999BH//e9/ycjIAPBrQ2WuJRin00lsbGzA43FxcbhcLjZt2sS5557ruxft2rUjKSnJb99evXoBsHHjRpo1axb0POG8TgBXXHEFHTp04J///CezZ8/mH//4B2lpabzyyitccMEF/Otf/+KDDz7gz3/+Mz179uS8886r8JgVWbNmDStWrGDChAk0bdqUXbt28dJLLzFw4EB++eUX4uLiKvXalFXZ935ZFb224d5bIUQtU0LUYbm5uQpQY8aMqdT+jzzyiALUlVdeGbBt7NixKjo6Wm3fvt332P79+1ViYqI677zzfI8lJyerKVOmlHueivZ56623FKB27twZ0LY//OEPfvuOGzdOpaen+z02atQoFRcXp/bt2+d7bOvWrcput6uKfm1HjhypevXq5fv3+PHj1fjx45XNZlNz585VSim1fv16BaiZM2eW2+annnoq4LETvZZgunTpotq1a6c8Ho/vMafTqZo3b64A9fnnn/se79Spk7rgggsCjvHzzz8rQL388sshz1OZ17K81+qmm27yPebxeFTTpk2Vpmnqn//8p+/x7OxsFRsbqyZNmuR7bNKkSapFixYB5/Iet7xzFxUVBTxv5cqVClDvvvuu77FQr02w41b2vV+2jRW9tpW5t0KIukuGgEWdlpeXB0BiYuIJPe/mm2/2+7dhGHz99deMHTuW1q1b+x5v1KgRV111FcuWLfOdKyUlhVWrVrF///6Qx6/MPpVt24ABAzhy5Ijv/IZhsGDBAsaOHUvjxo19+7Vp04bhw4dXePwBAwawfv16CgsLAVi2bBkjRoygW7duLF26FLB6BTVN8xser4qKriWUW2+9lS1btnD99dfzyy+/sGnTJiZOnMiBAwcA/LK6i4uLcTgcAceIiYkJ2Pd44bxOADfccIPv/9tsNnr06IFSiuuvv97vHO3bt2fHjh1VOsfxyvaMut1ujhw5Qps2bUhJSanS8OqJvPfLqui1DffeCiFqlwSAok7zDvvl5+ef0PNatWrl9+/Dhw9TVFRE+/btA/bt0KEDpmn65pL9+9//ZtOmTTRr1oxevXrx6KOPBny5V2afUJo3b+7379TUVACys7MBOHToEMXFxbRp0ybgucEeO96AAQPweDysXLmS3377jUOHDjFgwADOO+88vwCwY8eOpKWlVarNVb2WUG6++WYeeOABPvzwQzp16kSXLl3Yvn0799xzDwAJCQm+fWNjY3E6nQHHKCkp8W0PJZzXCQKvLzk5mZiYGN+Qa9nHK7rmyiouLubhhx+mWbNmOBwOMjIyqFevHjk5OeTm5p7w8U7kvV9WRa9tuPdWCFG7JAAUdVpSUhKNGzdm06ZNJ/S88oKCilx++eXs2LGDadOm0bhxY5566ik6derE3LlzT2ifUEJlZ6rSuYrh8iaOLFmyhKVLl1K/fn3atWvHgAEDWL16NU6nk6VLlzJgwICwzxXOtTz++ONkZmaydOlSfvzxR9asWYNpmgC0a9fOt1+jRo18PYNleR8r20t6vHBeJwh+fZW55lCJHoZhVHjOqVOn8vjjj3P55Zfz6aef8vXXX/PNN9+Qnp7uuz81oaLrDPfeCiFqlwSAos67+OKL2b59OytXrqzyMerVq0dcXFzQNeY2b96Mrut+iQSNGjXi1ltvZcaMGezcuZP09HQef/xxv+dVZp+qqF+/PjExMWzbti1gW7DHjhcdHU2vXr1YunSpX6A3YMAAnE4nH3zwAZmZmZVKWKgoYzVc3iztLl26ALBgwQKaNm3KmWee6dunW7dubNmyJWCYctWqVb7t5amu16k8qampQdfn2717d4XP/fzzz5k0aRL/+c9/uPTSSxkyZAj9+/cPOF5lX5sTfe+fiNq4t0KIyJAAUNR599xzD/Hx8dxwww1kZmYGbN++fTvPPvtsucew2WxcdNFFzJw5029pjMzMTD788EP69+9PUlIShmEEDLPVr1+fxo0b+4YhK7NPOGw2G4MHD2bGjBl+86u2bdtW6d6VAQMGsGrVKr777jtfAJiRkUGHDh18WZyV6QH0rp9YE9UmPvnkE9asWcOdd96Jrh/7aLr00ksxDINXX33V95jT6eStt96id+/eIYOX6n6dynPGGWeQm5vLjz/+6HvswIEDTJ8+vcLn2my2gB7UadOmBfQeVva1qex7/0RU9t4WFRWxefPmU6JkoBCnGlkGRtR5Z5xxBh9++KF
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd5wTZf7A8c9Mspvtnd6RIk1AKdIUFKRJtWEDOcupiO3urGe7O/Xu/J2nYu+9nxSlKSgd6aioSC9SFha2l5SZ5/fHbMKGJLvLJluA7/v12vPITGaemWST7z7P832+mlJKIYQQQgghTht6bTdACCGEEELULAkAhRBCCCFOMxIACiGEEEKcZiQAFEIIIYQ4zUgAKIQQQghxmpEAUAghhBDiNCMBoBBCCCHEaUYCQCGEEEKI04wEgEIIIYQQpxkJAIUQQgghTjMSAAohhBBCnGYkABRCCCGEOM1IACiEEEIIcZqRAFAIIYQQ4jQjAaAQQgghxGlGAkAhhBBCiNOMBIBCVIO3334bTdPYtWtXbTel0k6kzY8++iiappGVlVX9DatmtflaVde5T8b3nxCiZkkAKE4a27dv549//COtW7cmJiaGpKQk+vXrx7PPPktxcXFtN++UtGLFCh599FFycnIifux169YxbNgwkpKSSExM5KKLLmLjxo1B93U6ndx77700btyY2NhYevfuzTfffBPxNp1MqvO1EUKc+iQAFCeF2bNn06VLFz799FNGjRrFtGnTePLJJ2nevDl/+ctfuOOOO2q7iX6uvfZaiouLadGiRW03pdKCtXnFihU89thjEQ8y1q9fT//+/dmxYwePPPIIDz/8MFu3buX888/nt99+C9j/uuuu4+mnn+bqq6/m2WefxWazMWLECJYtWxZ2W07G1wrKf21O1msSQtQce203QIiK7Ny5kwkTJtCiRQu+/fZbGjVq5Ns2ZcoUtm3bxuzZs0M+v7CwkPj4+Jpoqo/NZsNms9XoOcNVk21+6KGHiI2NZeXKlaSnpwNwzTXX0K5dOx544AH+97//+fZdvXo1H3/8MU899RR//vOfAZg4cSKdO3fmnnvuYcWKFWG15WR8rSpyKl6TECKypAdQ1Hn//ve/KSgo4I033vAL/rzatGnj6wH0zk375ZdfuOqqq0hNTaV///6+fTds2MDw4cNJSkoiISGBCy+8kO+//97vePn5+dx55520bNkSh8NB/fr1GTJkCOvXr6/0PsHmYHnbtm3bNq677jpSUlJITk5m8uTJFBUVBVzXokWL6NGjBzExMZxxxhm88sorvmOE8uOPP6JpGrNmzfI9tm7dOjRN4+yzz/bbd/jw4fTu3dv37+Pb/Oijj/KXv/wFgFatWqFpWsA15eTkVOpajrd06VIGDx7sC/4AGjVqxPnnn89XX31FQUGB7/HPP/8cm83GTTfd5HssJiaG66+/npUrV7J3796Q56nMa1nea7VlyxauueYakpOTqVevHg899BBKKfbu3cuYMWNISkqiYcOG/Oc///E773XXXUfLli0D2lPR6wewe/dubr31Vtq3b09sbCzp6elcdtllAe0r77UJdk2Vee+XbWNF79PK3FshRN0lPYCizvvyyy9p3bo1ffv2rfRzLrvsMtq2bcsTTzyBUgqAn3/+mQEDBpCUlMQ999xDVFQUr7zyCgMHDmTx4sW+YOjmm2/m888/57bbbqNjx44cOXKEZcuW8euvv/qCqMrsE8rll19Oq1atePLJJ1m/fj2vv/469evX51//+pdvnw0bNjBs2DAaNWrEY489hmEY/O1vf6NevXrlHrtz586kpKSwZMkSRo8eDVjBlq7r/PDDD+Tl5ZGUlIRpmqxYscIvqDre+PHj2bJlCx999BH//e9/ycjIAPBrQ2WuJRin00lsbGzA43FxcbhcLjZt2sS5557ruxft2rUjKSnJb99evXoBsHHjRpo1axb0POG8TgBXXHEFHTp04J///CezZ8/mH//4B2lpabzyyitccMEF/Otf/+KDDz7gz3/+Mz179uS8886r8JgVWbNmDStWrGDChAk0bdqUXbt28dJLLzFw4EB++eUX4uLiKvXalFXZ935ZFb224d5bIUQtU0LUYbm5uQpQY8aMqdT+jzzyiALUlVdeGbBt7NixKjo6Wm3fvt332P79+1ViYqI677zzfI8lJyerKVOmlHueivZ56623FKB27twZ0LY//OEPfvuOGzdOpaen+z02atQoFRcXp/bt2+d7bOvWrcput6uKfm1HjhypevXq5fv3+PHj1fjx45XNZlNz585VSim1fv16BaiZM2eW2+annnoq4LETvZZgunTpotq1a6c8Ho/vMafTqZo3b64A9fnnn/se79Spk7rgggsCjvHzzz8rQL388sshz1OZ17K81+qmm27yPebxeFTTpk2Vpmnqn//8p+/x7OxsFRsbqyZNmuR7bNKkSapFixYB5/Iet7xzFxUVBTxv5cqVClDvvvuu77FQr02w41b2vV+2jRW9tpW5t0KIukuGgEWdlpeXB0BiYuIJPe/mm2/2+7dhGHz99deMHTuW1q1b+x5v1KgRV111FcuWLfOdKyUlhVWrVrF///6Qx6/MPpVt24ABAzhy5Ijv/IZhsGDBAsaOHUvjxo19+7Vp04bhw4dXePwBAwawfv16CgsLAVi2bBkjRoygW7duLF26FLB6BTVN8xser4qKriWUW2+9lS1btnD99dfzyy+/sGnTJiZOnMiBAwcA/LK6i4uLcTgcAceIiYkJ2Pd44bxOADfccIPv/9tsNnr06IFSiuuvv97vHO3bt2fHjh1VOsfxyvaMut1ujhw5Qps2bUhJSanS8OqJvPfLqui1DffeCiFqlwSAok7zDvvl5+ef0PNatWrl9+/Dhw9TVFRE+/btA/bt0KEDpmn65pL9+9//ZtOmTTRr1oxevXrx6KOPBny5V2afUJo3b+7379TUVACys7MBOHToEMXFxbRp0ybgucEeO96AAQPweDysXLmS3377jUOHDjFgwADOO+88vwCwY8eOpKWlVarNVb2WUG6++WYeeOABPvzwQzp16kSXLl3Yvn0799xzDwAJCQm+fWNjY3E6nQHHKCkp8W0PJZzXCQKvLzk5mZiYGN+Qa9nHK7rmyiouLubhhx+mWbNmOBwOMjIyqFevHjk5OeTm5p7w8U7kvV9WRa9tuPdWCFG7JAAUdVpSUhKNGzdm06ZNJ/S88oKCilx++eXs2LGDadOm0bhxY5566ik6derE3LlzT2ifUEJlZ6rSuYrh8iaOLFmyhKVLl1K/fn3atWvHgAEDWL16NU6nk6VLlzJgwICwzxXOtTz++ONkZmaydOlSfvzxR9asWYNpmgC0a9fOt1+jRo18PYNleR8r20t6vHBeJwh+fZW55lCJHoZhVHjOqVOn8vjjj3P55Zfz6aef8vXXX/PNN9+Qnp7uuz81oaLrDPfeCiFqlwSAos67+OKL2b59OytXrqzyMerVq0dcXFzQNeY2b96Mrut+iQSNGjXi1ltvZcaMGezcuZP09HQef/xxv+dVZp+qqF+/PjExMWzbti1gW7DHjhcdHU2vXr1YunSpX6A3YMAAnE4nH3zwAZmZmZVKWKgoYzVc3iztLl26ALBgwQKaNm3KmWee6dunW7dubNmyJWCYctWqVb7t5amu16k8qampQdfn2717d4XP/fzzz5k0aRL/+c9/uPTSSxkyZAj9+/cPOF5lX5sTfe+fiNq4t0KIyJAAUNR599xzD/Hx8dxwww1kZmYGbN++fTvPPvtsucew2WxcdNFFzJw5029pjMzMTD788EP69+9PUlIShmEEDLPVr1+fxo0b+4YhK7NPOGw2G4MHD2bGjBl+86u2bdtW6d6VAQMGsGrVKr777jtfAJiRkUGHDh18WZyV6QH0rp9YE9UmPvnkE9asWcOdd96Jrh/7aLr00ksxDINXX33V95jT6eStt96id+/eIYOX6n6dynPGGWeQm5vLjz/+6HvswIEDTJ8+vcLn2my2gB7UadOmBfQeVva1qex7/0RU9t4
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "a51210b51ae34ff59703b40a6fe129f0",
"version_major": 2,
"version_minor": 0
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydd3gU1frHP2dmN5ueEELvRZAmIAJSBUUp0u2iol47iOWq93oteL22q1d/FrAX7A2lSJMuvYMVkN4JBNLLlpnz+2OyS5bsbkJ2SYKcz/PsA5k5c+bMmd2d777nLUJKKVEoFAqFQqFQnDVolT0AhUKhUCgUCkXFogSgQqFQKBQKxVmGEoAKhUKhUCgUZxlKACoUCoVCoVCcZSgBqFAoFAqFQnGWoQSgQqFQKBQKxVmGEoAKhUKhUCgUZxlKACoUCoVCoVCcZSgBqFAoFAqFQnGWoQSgQqFQKBQKxVmGEoAKhUKhUCgUZxlKACoUCoVCoVCcZSgBqFAoFAqFQnGWoQSgQqFQKBQKxVmGEoAKhUKhUCgUZxlKACoUCoVCoVCcZSgBqFCEyaRJkxBCsHv37soeSpk5lTE/9dRTCCFIT08//QOrQlTmfT0d5z4T36cKheL0oQSgokqyY8cO7rzzTpo2bUp0dDSJiYn06NGD1157jYKCgsoe3l+SFStW8NRTT5GZmRnRfnNzcxk/fjwDBgwgJSUFIQSTJk0K2t7pdPKPf/yDunXrEhMTQ9euXZk3b165251tnK77qFAo/looAaiocsycOZN27drxzTffMGTIEN544w2ef/55GjZsyMMPP8x9991X2UP048Ybb6SgoIBGjRpV9lDKTKAxr1ixgn//+98RFw7p6ek8/fTTbN68mfbt25fa/uabb+aVV15h1KhRvPbaa+i6zqBBg1i2bFm52pWXM/G+QvD7eKZej0KhOD3YKnsACkVxdu3axbXXXkujRo1YuHAhderU8e0bM2YM27dvZ+bMmUGPz8vLIy4uriKG6kPXdXRdr9BzhktFjrlOnTocOnSI2rVrs27dOjp37hy07Zo1a/jqq6946aWXeOihhwC46aabaNu2LY888ggrVqw4pXbhcCbe11D81a5HoVCEh7IAKqoUL774Irm5uXzwwQd+4s9L8+bNfRZAr2/aH3/8wfXXX0+1atXo2bOnr+3GjRsZOHAgiYmJxMfHc8kll7Bq1Sq//nJycrj//vtp3LgxDoeDmjVrcumll7Jhw4YytwnkW+Ud2/bt27n55ptJTk4mKSmJW265hfz8/BLXtXjxYi644AKio6Np1qwZ77zzjq+PYPzyyy8IIZg+fbpv2/r16xFCcP755/u1HThwIF27dvX9ffKYn3rqKR5++GEAmjRpghCixDVlZmaW6VpOxuFwULt27VLbAUyePBld17njjjt826Kjo/nb3/7GypUr2bdv3ym1C0ZZ7nugORJC8Oeff3LDDTeQlJREjRo1eOKJJ5BSsm/fPoYNG0ZiYiK1a9fm5Zdf9jvnzTffTOPGjUuMpbT77GXPnj3cc889tGzZkpiYGKpXr85VV11V4n0X7D4G8wEsy+fkVN7PZZlbhUJR+SgLoKJK8cMPP9C0aVO6d+9e5mOuuuoqzjnnHJ577jmklAD8/vvv9OrVi8TERB555BHsdjvvvPMOffr04aeffvKJobvuuovJkyczduxYWrduzbFjx1i2bBmbN2/2iaiytAnG1VdfTZMmTXj++efZsGED77//PjVr1uS///2vr83GjRsZMGAAderU4d///jeGYfD0009To0aNkH23bduW5ORklixZwtChQwFYunQpmqbx888/k52dTWJiIqZpsmLFCj+xdDIjR47kzz//5Msvv+T//u//SE1NBfAbQ1muJVw2btxIixYtSExM9NvepUsXADZt2kSDBg3K3C4Y4dzTa665hlatWvHCCy8wc+ZMnnnmGVJSUnjnnXe4+OKL+e9//8vnn3/OQw89ROfOnendu3d5pqIEa9euZcWKFVx77bXUr1+f3bt389Zbb9GnTx/++OMPYmNjy3Qfi1PWz4mXsrwHwplbhUJRgUiFooqQlZUlATls2LAytR8/frwE5HXXXVdi3/Dhw2VUVJTcsWOHb9vBgwdlQkKC7N27t29bUlKSHDNmTMjzlNbmo48+koDctWtXibHdeuutfm1HjBghq1ev7rdtyJAhMjY2Vh44cMC3bdu2bdJms8nSPqKXX3657NKli+/vkSNHypEjR0pd1+Xs2bOllFJu2LBBAnLatGkhx/zSSy+V2Haq11Iaa9eulYD86KOPAu5v06aNvPjii0ts//333yUg33777VNqF4yy3PeT58g7D3fccYevjcfjkfXr15dCCPnCCy/4tmdkZMiYmBg5evRo37bRo0fLRo0alTiPt99Q55ZSyvz8/BLHrly5UgLyk08+8W0Ldh8D9VnWz8mpvAfKMrcKhaLyUUvAiipDdnY2AAkJCad03F133eX3t2EYzJ07l+HDh9O0aVPf9jp16nD99dezbNky37mSk5NZvXo1Bw8eDNp/WdqUdWy9evXi2LFjvvMbhsH8+fMZPnw4devW9bVr3rw5AwcOLLX/Xr16sWHDBvLy8gBYtmwZgwYNokOHDixduhSwrIJCCL/l8fJQ2rVEgoKCAhwOR4nt0dHRvv2n0i4Y4dzT2267zfd/Xde54IILkFLyt7/9za//li1bsnPnzlPuPxgxMTG+/7vdbo4dO0bz5s1JTk4u1/LqqXxOvJTlPRDO3CoUiopDCUBFlcG7nJeTk3NKxzVp0sTv76NHj5Kfn0/Lli1LtG3VqhWmafp8xF588UV+++03GjRoQJcuXXjqqadKPLTL0iYYDRs29Pu7WrVqAGRkZABw5MgRCgoKaN68eYljA207mV69euHxeFi5ciVbt27lyJEj9OrVi969e/sJwNatW5OSklKmMZf3WiJBTEwMTqezxPbCwkLf/lNpF4xI3tOkpCSio6N9y63Ft0dybgoKCnjyySdp0KABDoeD1NRUatSoQWZmJllZWafc36l8TryU5T0QztwqFIqKQwlARZUhMTGRunXr8ttvv53ScaU97ENx9dVXs3PnTt544w3q1q3LSy+9RJs2bZg9e/YptQlGsKhLWeSrGC7ewJElS5awdOlSatasSYsWLejVqxdr1qzB6XSydOlSevXqFfa5Tve1wImI4ZPxbvNaScvaLhiRvqdlmZtggR6GYZR6ToB7772XZ599lquvvppvvvmGuXPnMm/ePKpXr45pmmXqI1zKcp3hzK1Coag4lABUVCkGDx7Mjh07WLlyZbn7qFGjBrGxsWzdurXEvi1btqBpml+AQJ06dbjnnnuYOnUqu3btonr16jz77LN+x5WlTXmoWbMm0dHRbN++vcS+QNtOJioqii5durB06VI/oderVy+cTieff/45aWlpZQpEKEsk6ummQ4cO/PnnnyWWHlevXu3bfyrtQnG67mkwqlWrFjDH4p49e8p0/OTJkxk9ejQvv/wyV155JZdeeik9e/Ys0WdZ7+Opfk5OhYqeW4VCceooAaioUjzyyCPExcVx2223kZaWVmL/jh07eO2110L2oes6l112GdOmTfNLeZGWlsYXX3xBz549SUxMxDCMEktnNWvWpG7dur7lxbK0CQdd1+nXrx9Tp07185navn17mS0mvXr1YvXq1SxatMgnAFNTU2nVqpUvOrMsFkBv/sTKrCBx5ZVXYhgG7777rm+b0+nko48+omvXrj5BUtZ2gTjd9zQYzZo1Iysri19++cW37dChQ0yZMqVMx+u6XsLa+sYbb5SwIJb1Ppb1c3IqlGVu8/Pz2bJly1lXWlChqGqoNDCKKkWzZs344osvfKk2vMl9XS4XK1as4Ntvv+Xmm28utZ9nnnmGefPm0bNnT+655x5sNhvvvPMOTqeTF198EbB8DevXr8+VV15J+/btiY+PZ/78+axdu9aXw60sbcLlqaeeYu7cufTo0YO7774bwzCYMGECbdu2ZdOmTaUe36tXL5599ln27dvnJ/R69+7NO++8Q+PGjalfv36p/XTq1AmAxx57jGu
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydd3gU1frHP2dmN5ueEELvRZAmIAJSBUUp0u2iol47iOWq93oteL22q1d/FrAX7A2lSJMuvYMVkN4JBNLLlpnz+2OyS5bsbkJ2SYKcz/PsA5k5c+bMmd2d777nLUJKKVEoFAqFQqFQnDVolT0AhUKhUCgUCkXFogSgQqFQKBQKxVmGEoAKhUKhUCgUZxlKACoUCoVCoVCcZSgBqFAoFAqFQnGWoQSgQqFQKBQKxVmGEoAKhUKhUCgUZxlKACoUCoVCoVCcZSgBqFAoFAqFQnGWoQSgQqFQKBQKxVmGEoAKhUKhUCgUZxlKACoUCoVCoVCcZSgBqFAoFAqFQnGWoQSgQqFQKBQKxVmGEoAKhUKhUCgUZxlKACoUCoVCoVCcZSgBqFCEyaRJkxBCsHv37soeSpk5lTE/9dRTCCFIT08//QOrQlTmfT0d5z4T36cKheL0oQSgokqyY8cO7rzzTpo2bUp0dDSJiYn06NGD1157jYKCgsoe3l+SFStW8NRTT5GZmRnRfnNzcxk/fjwDBgwgJSUFIQSTJk0K2t7pdPKPf/yDunXrEhMTQ9euXZk3b165251tnK77qFAo/looAaiocsycOZN27drxzTffMGTIEN544w2ef/55GjZsyMMPP8x9991X2UP048Ybb6SgoIBGjRpV9lDKTKAxr1ixgn//+98RFw7p6ek8/fTTbN68mfbt25fa/uabb+aVV15h1KhRvPbaa+i6zqBBg1i2bFm52pWXM/G+QvD7eKZej0KhOD3YKnsACkVxdu3axbXXXkujRo1YuHAhderU8e0bM2YM27dvZ+bMmUGPz8vLIy4uriKG6kPXdXRdr9BzhktFjrlOnTocOnSI2rVrs27dOjp37hy07Zo1a/jqq6946aWXeOihhwC46aabaNu2LY888ggrVqw4pXbhcCbe11D81a5HoVCEh7IAKqoUL774Irm5uXzwwQd+4s9L8+bNfRZAr2/aH3/8wfXXX0+1atXo2bOnr+3GjRsZOHAgiYmJxMfHc8kll7Bq1Sq//nJycrj//vtp3LgxDoeDmjVrcumll7Jhw4YytwnkW+Ud2/bt27n55ptJTk4mKSmJW265hfz8/BLXtXjxYi644AKio6Np1qwZ77zzjq+PYPzyyy8IIZg+fbpv2/r16xFCcP755/u1HThwIF27dvX9ffKYn3rqKR5++GEAmjRpghCixDVlZmaW6VpOxuFwULt27VLbAUyePBld17njjjt826Kjo/nb3/7GypUr2bdv3ym1C0ZZ7nugORJC8Oeff3LDDTeQlJREjRo1eOKJJ5BSsm/fPoYNG0ZiYiK1a9fm5Zdf9jvnzTffTOPGjUuMpbT77GXPnj3cc889tGzZkpiYGKpXr85VV11V4n0X7D4G8wEsy+fkVN7PZZlbhUJR+SgLoKJK8cMPP9C0aVO6d+9e5mOuuuoqzjnnHJ577jmklAD8/vvv9OrVi8TERB555BHsdjvvvPMOffr04aeffvKJobvuuovJkyczduxYWrduzbFjx1i2bBmbN2/2iaiytAnG1VdfTZMmTXj++efZsGED77//PjVr1uS///2vr83GjRsZMGAAderU4d///jeGYfD0009To0aNkH23bduW5ORklixZwtChQwFYunQpmqbx888/k52dTWJiIqZpsmLFCj+xdDIjR47kzz//5Msvv+T//u//SE1NBfAbQ1muJVw2btxIixYtSExM9NvepUsXADZt2kSDBg3K3C4Y4dzTa665hlatWvHCCy8wc+ZMnnnmGVJSUnjnnXe4+OKL+e9//8vnn3/OQw89ROfOnendu3d5pqIEa9euZcWKFVx77bXUr1+f3bt389Zbb9GnTx/++OMPYmNjy3Qfi1PWz4mXsrwHwplbhUJRgUiFooqQlZUlATls2LAytR8/frwE5HXXXVdi3/Dhw2VUVJTcsWOHb9vBgwdlQkKC7N27t29bUlKSHDNmTMjzlNbmo48+koDctWtXibHdeuutfm1HjBghq1ev7rdtyJAhMjY2Vh44cMC3bdu2bdJms8nSPqKXX3657NKli+/vkSNHypEjR0pd1+Xs2bOllFJu2LBBAnLatGkhx/zSSy+V2Haq11Iaa9eulYD86KOPAu5v06aNvPjii0ts//333yUg33777VNqF4yy3PeT58g7D3fccYevjcfjkfXr15dCCPnCCy/4tmdkZMiYmBg5evRo37bRo0fLRo0alTiPt99Q55ZSyvz8/BLHrly5UgLyk08+8W0Ldh8D9VnWz8mpvAfKMrcKhaLyUUvAiipDdnY2AAkJCad03F133eX3t2EYzJ07l+HDh9O0aVPf9jp16nD99dezbNky37mSk5NZvXo1Bw8eDNp/WdqUdWy9evXi2LFjvvMbhsH8+fMZPnw4devW9bVr3rw5AwcOLLX/Xr16sWHDBvLy8gBYtmwZgwYNokOHDixduhSwrIJCCL/l8fJQ2rVEgoKCAhwOR4nt0dHRvv2n0i4Y4dzT2267zfd/Xde54IILkFLyt7/9za//li1bsnPnzlPuPxgxMTG+/7vdbo4dO0bz5s1JTk4u1/LqqXxOvJTlPRDO3CoUiopDCUBFlcG7nJeTk3NKxzVp0sTv76NHj5Kfn0/Lli1LtG3VqhWmafp8xF588UV+++03GjRoQJcuXXjqqadKPLTL0iYYDRs29Pu7WrVqAGRkZABw5MgRCgoKaN68eYljA207mV69euHxeFi5ciVbt27lyJEj9OrVi969e/sJwNatW5OSklKmMZf3WiJBTEwMTqezxPbCwkLf/lNpF4xI3tOkpCSio6N9y63Ft0dybgoKCnjyySdp0KABDoeD1NRUatSoQWZmJllZWafc36l8TryU5T0QztwqFIqKQwlARZUhMTGRunXr8ttvv53ScaU97ENx9dVXs3PnTt544w3q1q3LSy+9RJs2bZg9e/YptQlGsKhLWeSrGC7ewJElS5awdOlSatasSYsWLejVqxdr1qzB6XSydOlSevXqFfa5Tve1wImI4ZPxbvNaScvaLhiRvqdlmZtggR6GYZR6ToB7772XZ599lquvvppvvvmGuXPnMm/ePKpXr45pmmXqI1zKcp3hzK1Coag4lABUVCkGDx7Mjh07WLlyZbn7qFGjBrGxsWzdurXEvi1btqBpml+AQJ06dbjnnnuYOnUqu3btonr16jz77LN+x5WlTXmoWbMm0dHRbN++vcS+QNtOJioqii5durB06VI/oderVy+cTieff/45aWlpZQpEKEsk6ummQ4cO/PnnnyWWHlevXu3bfyrtQnG67mkwqlWrFjDH4p49e8p0/OTJkxk9ejQvv/wyV155JZdeeik9e/Ys0WdZ7+Opfk5OhYqeW4VCceooAaioUjzyyCPExcVx2223kZaWVmL/jh07eO2110L2oes6l112GdOmTfNLeZGWlsYXX3xBz549SUxMxDCMEktnNWvWpG7dur7lxbK0CQdd1+nXrx9Tp07185navn17mS0mvXr1YvXq1SxatMgnAFNTU2nVqpUvOrMsFkBv/sTKrCBx5ZVXYhgG7777rm+b0+nko48+omvXrj5BUtZ2gTjd9zQYzZo1Iysri19++cW37dChQ0yZMqVMx+u6XsLa+sYbb5SwIJb1Ppb1c3IqlGVu8/Pz2bJly1lXWlChqGqoNDCKKkWzZs344osvfKk2vMl9XS4XK1as4Ntvv+Xmm28utZ9nnnmGefPm0bNnT+655x5sNhvvvPMOTqeTF198EbB8DevXr8+VV15J+/btiY+PZ/78+axdu9aXw60sbcLlqaeeYu7cufTo0YO7774bwzCYMGECbdu2ZdOmTaUe36tXL5599ln27dvnJ/R
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.close(\"all\")\n",
"ks = [1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]\n",
"for k in ks:\n",
" plt.figure()\n",
" plt.title(r\"Crossing with ${}$ simulations.\".format(k))\n",
" plt.hexbin(x, np.mean(y1[:, :k], axis=1), mincnt=1, xscale=\"log\", bins=\"log\", gridsize=50)\n",
" plt.colorbar()\n",
" plt.xlabel(r\"$M_{\\rm tot} / M_\\odot$\")\n",
" plt.ylabel(\"Mean overlap\")\n",
" plt.tight_layout()\n",
" plt.ylim(0, 1)\n",
" # plt.savefig(\"../plots/overlap_std_{}.png\".format(k), dpi=300, bbox_inches=\"tight\")\n",
" plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "62e81b80",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "6031ccb85fdc4e818919c1219e66084c",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.scatter(x, np.mean(y1, axis=1), s=1)\n",
"plt.xscale(\"log\")\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "02aad13e",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "22478552",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "a89b63fe",
"metadata": {},
"outputs": [],
"source": []
},
2023-05-12 12:07:58 +00:00
{
"cell_type": "code",
"execution_count": 136,
"id": "619ec149",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 40/40 [01:18<00:00, 1.96s/it]\n",
"100%|██████████| 40/40 [00:21<00:00, 1.82it/s]\n"
]
}
],
"source": [
"x = reader.cat0(\"totpartmass\")\n",
"mu, std = reader.counterpart_mass(True, 0.1, return_full=False)"
]
},
{
"cell_type": "code",
"execution_count": 137,
"id": "5612b4bd",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "062f1cbcc50b4bb2a0df793fe2075e39",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABPa0lEQVR4nO3df3zO9f7H8ee1mZlfQ5z5bR3RaWFjtpFkGI5OTjlRKRmVSvp1diROJw4JUdKPK0pJjn6I74lKxykkJT83m6T5UY6cMMRshuHa9f3jczbGNruu63P9ftxvN7f6fK7r8/m85nNb53nePy12u90uAAAABI0QbxcAAAAAzyIAAgAABBkCIAAAQJAhAAIAAAQZAiAAAECQIQACAAAEGQIgAABAkCEAAgAABBkCIAAAQJAhAAIAAAQZAiAAAECQIQACAAAEGQIgAABAkCEAAgAABBkCIAAAQJAhAAIAAASZgA6A/fv3V926dTVgwIBS5/fs2aPu3bsrJiZGbdu2VUFBgZcqBAAA8LyADoCPPfaY5s+ff8n5oUOHauLEidq+fbu++uorhYeHe6E6AAAA7wjoAJicnKxatWqVOvf9998rLCxMXbt2lSTVq1dPVapU8UZ5AAAAXuGzyWfNmjWaPn260tPTdeDAAX300Ue65ZZbSn3HarVq+vTpOnjwoGJjY/XKK68oMTGxwvvu2rVLNWvWVL9+/fTLL79owIAB+utf/+pQbUVFRdq/f79q1aoli8Xi6I8GAADgMLvdrvz8fDVu3FghIa614flsACwoKFBsbKzuuece/elPf7rk84ULFyotLU2zZ89WUlKSZs6cqT59+mjHjh36zW9+U+59z507p6+//lqZmZn6zW9+o9///vdKSEhQr169Kl3b/v371axZM6d+LgAAAFfs27dPTZs2dekePhsA+/btq759+5b7+YwZMzR8+HANGzZMkjR79mwtW7ZMc+fO1ZgxY8q9rkmTJurYsWNJgLvxxhuVmZlZYQAsLCxUYWFhybHdbpdkvIDatWs79HMBAAA4Iy8vT82aNbtkeJszfDYAVuTMmTNKT0/X2LFjS86FhIQoJSVF69atq/DahIQEHTp0SMeOHVNkZKTWrFmjBx54oMJrpkyZogkTJlxyvnbt2gRAAADgUWYMP/PLSSBHjhyRzWZTVFRUqfNRUVE6ePBgyXFKSooGDhyozz77TE2bNtW6detUpUoVTZ48WTfccIPatWunVq1a6aabbqrweWPHjtXx48dL/uzbt88tPxcAAIAn+GULYGWtWLGizPOX616+WHh4OEvFAACAgOGXLYD169dXaGiocnJySp3PyclRw4YNvVQVAACAf/DLAFi1alXFx8dr5cqVJeeKioq0cuVKde7c2W3PtVqtiomJUUJCgtueAQAA4G4+2wV84sQJ7d69u+R4z549yszMVL169dS8eXOlpaUpNTVVHTt2VGJiombOnKmCgoKSWcHuMHLkSI0cOVJ5eXmKjIx023MAAADcyWcD4ObNm9W9e/eS47S0NElSamqq5s2bp9tvv12HDx/WuHHjdPDgQcXFxWn58uWXTAwBAABAaRZ78aJ2qLTiFsDjx4+zDAwAAPAIM/OHX44BBAAAgPMIgA5gEggAAAgEdAE7gS5gAADgaXQBAwAAwGkEQAAAgCBDAAQAAAgyBEAHMAkEAACUZcH6veoydZUWrN/r7VIqhUkgTmASCAAAuFCXqav0S+4pNakTobVjerjlGUwCAQAA8CEjkluqSZ0IjUhu6e1SKoUWQCfQAggAADyNFkAAAAA4jQAIAAAQZAiAAAAAQYYA6ACWgQEAAIGASSBOYBIIAADwNCaBAAAAwGkEQAAAgCBDAAQAAAgyBEAAAIAgQwAEAAAIMgRAB7AMDAAACAQsA+MEloEBAACexjIwAAAAcBoBEAAAIMgQAAEAAIIMARAAACDIEAABAACCDAEQAAAgyBAAAQAAggwB0AEsBA0AAAIBC0E7gYWgAQCAp7EQNAAAAJxGAAQAAAgyBEAAAIAgQwAEAAAIMgRAAACAIEMABAAACDIEQAAAgCBDAAQAAH5hwfq96jJ1lRas3+vtUvweARAAAPiFWat/1C+5pzRr9Y/eLsXvEQABAIBfGJHcUk3qRGhEcktvl+L3qni7AH9itVpltVpls9m8XQoAAD5lwfq9mrX6R41IbqnBnVq45RmDO7Vw272DDXsBO4G9gAEAKK3L1FX6JfeUmtSJ0NoxPbxdTkBiL2AAAOBT6J71L7QAOoEWQAAA4Gm0AAIAAMBpBEAAAOA01ubzTwRAAADgNNbm808EQAAA4DQmf/gnJoE4gUkgAAB4hyfWG/RVTAIBAABBiS5ncxAAAQCA36DL2Rx0ATuBLmAAAOBpdAEDAADAaQRAAABQIdb6CzwEQAAAUCEmXgQeAiAAAKgQEy8CTxVvF+BPrFarrFarbDabt0sBAMBjBndqEXRr7gU6ZgE7gVnAAADA05gFDAAATMVEj+BCAAQAAEz0CDIEQAAAwESPIMMYQCcwBhAAAHgaYwABAADgNAIgAABAkCEAAgAABBkCIAAAfo4lXOAoAiAAAH7O3Uu4EDADDwEQAAA/5+4lXFgjMPCwFzAAAH7O3Xv1jkhuqVmrf2SNwADCOoBOYB1AAADgaawDCAAAAKcRAAEA8FNMzoCzCIAAAPgpJmfAWQRAAAD8lLtn/yJwMQnECUwCAQC4w4L1e0tm27pzVi/8E5NAAAAIQHTpwlMIgAAA+IjyunRdneyxYP1exU34XHETPmfCCCQRAAEA8BmDO7XQ2jE9Lun+dbVlcNbqH5V76qxyT52ldRGSAjwA9u/fX3Xr1tWAAQNKnY+Ojla7du0UFxen7t27e6k6AAAqx9XJHiOSW6pORJjqRISVeQ+Wkwk+AT0JZPXq1crPz9c777yjxYsXl5yPjo7Wtm3bVLNmTafuyyQQAIC/u3DCSXELY5M6EVo7poe3S0M5mARSScnJyapVq5a3ywAAwOdc2K3McjLBx2cD4Jo1a9SvXz81btxYFotFS5YsueQ7VqtV0dHRqlatmpKSkrRx48ZK3dtisahbt25KSEjQu+++a3LlAIBAEOjdoheGvvLGHiJw+WwALCgoUGxsrKxWa5mfL1y4UGlpaRo/frwyMjIUGxurPn366NChQ5e99zfffKP09HR9/PHHmjx5srZu3Wp2+QAAP+crS7K4K4gS+oKbzwbAvn37atKkSerfv3+Zn8+YMUPDhw/XsGHDFBMTo9mzZ6t69eqaO3fuZe/dpEkTSVKjRo104403KiMjo8LvFxYWKi8vr9QfAEBgc3u3aFaWVFh42a/5ShBFYPHZAFiRM2fOKD09XSkpKSXnQkJClJKSonXr1lV4bUFBgfLz8yVJJ06c0KpVq3TttddWeM2UKVMUGRlZ8qdZs2au/xAAANO4o5XMbS1kdrs0c6aUkCCNHn3ZrzsbRAO9CxuuqeLtApxx5MgR2Ww2RUVFlTofFRWl7OzskuOUlBRlZWWpoKBATZs21aJFixQVFVXSqmiz2TR8+HAlJCRU+LyxY8cqLS2t5DgvL48QCAA+5MJWMp/u0vz1V2nYMOmTT4zj//5Xstmk0NByLxncqYVTP1Px38n4pdtK7gMU88sAWFkrVqwo83xWVpZD9wkPD1d4eLgZJQEA3KB4KROfnsX6zTfSoEFG6AsPl154QXroIcli0aPvb9Gyrfv1h3aN9fKg9qY8bkRyS41fuk02u3w/GMPj/LILuH79+goNDVVOTk6p8zk5OWrYsKGXqgIAmMmRLkyfntBgs0mTJknduhnhr3Vraf16aeRIyWKRJC3bul82u/FPswzu1EITbm7D8i4ok18GwKpVqyo+Pl4rV64sOVdUVKSVK1eqc+fOXqwMAGCWgJn8cOCA9PzzUlGRNHiwtHmzFBdX6it/aNdYoRbjn2by6WAMr/LZLuATJ05o9+7dJcd79uxRZmam6tWrp+bNmystLU2pqanq2LGjEhMTNXPmTBUUFGjYsGFuq8lqtcpqtcpms7ntGQAAg19
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.scatter(x, mu, s=1)\n",
"# plt.hexbin(x, np.mean(y, axis=1), mincnt=1, xscale=\"log\", bins=\"log\", gridsize=50)\n",
"t = np.linspace(1e12, 1e15, 100)\n",
"plt.plot(t, t, c=\"red\", ls=\"--\")\n",
"plt.xscale(\"log\")\n",
"plt.yscale(\"log\")\n",
"plt.xlabel(r\"Reference $M_{\\rm tot} / M_\\odot$\")\n",
"plt.ylabel(r\"Cross $M_{\\rm tot} / M_\\odot$\")\n",
"plt.tight_layout()\n",
"# plt.savefig(\"../plots/prob_nomatch_vs_mass.png\", dpi=300, bbox_inches=\"tight\")\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 126,
"id": "dc7d0e3a",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "3dfb752fa43248149ccc4befff0085b3",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.hexbin(x, np.mean(y, axis=1), mincnt=1, xscale=\"log\", bins=\"log\", gridsize=50)\n",
"plt.xlabel(r\"$M_{\\rm tot} / M_\\odot$\")\n",
"plt.ylabel(\"Mean probability of no match\")\n",
"plt.tight_layout()\n",
"plt.savefig(\"../plots/prob_nomatch_vs_mass.png\", dpi=300, bbox_inches=\"tight\")\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "4eeb5e5f",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 84,
"id": "1cbd19d5",
"metadata": {},
"outputs": [],
2023-05-13 16:37:34 +00:00
"source": []
2023-05-12 12:07:58 +00:00
},
{
"cell_type": "code",
"execution_count": 118,
"id": "fb82e729",
"metadata": {},
"outputs": [],
2023-05-13 16:37:34 +00:00
"source": []
2023-05-12 12:07:58 +00:00
},
{
"cell_type": "code",
"execution_count": 117,
"id": "a2fb7aa8",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_28288/2049075485.py:5: DeprecationWarning: Starting with ImageIO v3 the behavior of this function will switch to that of iio.v3.imread. To keep the current behavior (and make this warning disappear) use `import imageio.v2 as imageio` or call `imageio.v2.imread` directly.\n",
" images.append(imageio.imread(filename))\n"
]
}
],
"source": [
"import imageio\n",
"images = []\n",
"for k in ks:\n",
" filename = \"../plots/overlap_{}.png\".format(k)\n",
" images.append(imageio.imread(filename))\n",
"imageio.mimsave(\"../plots/overlap_movie.gif\", images, duration=0.5)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "322910d7",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "98f3b679",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 21,
"id": "312c96c9",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 22,
"id": "174206f5",
"metadata": {},
"outputs": [],
"source": [
"clumpmap0 = csiborgtools.read.read_h5(paths.particles_path(nsim0))[\"clumpmap\"]\n",
"parts0 = csiborgtools.read.read_h5(paths.initmatch_path(nsim0, \"particles\"))[\"particles\"]\n",
"clid2map0 = {clid: i for i, clid in enumerate(clumpmap0[:, 0])}\n",
"\n",
"# # clumpmapx = csiborgtools.read.read_h5(paths.particles_path(nsimx))[\"clumpmap\"]\n",
"# # partsx = csiborgtools.read.read_h5(paths.initmatch_path(nsimx, \"particles\"))[\"particles\"]\n",
"# # clid2mapx = {clid: i for i, clid in enumerate(clumpmapx[:, 0])}\n",
"\n",
"cat0 = csiborgtools.read.HaloCatalogue(nsim0, paths, load_initial=True, minmass=None, with_lagpatch=True, load_clumps_cat=True)\n",
"catx = csiborgtools.read.HaloCatalogue(nsimx, paths, load_initial=True, minmass=None, with_lagpatch=True, load_clumps_cat=True)"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "0666813a",
"metadata": {},
"outputs": [],
"source": [
"f = np.load(paths.velocity_field_path(\"PCS\", 7444))"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "6374f3a71c834f3f96f4c0212e27b398",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.imshow(np.sum(f[0, ...], axis=0))\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 76,
"id": "f453a77e",
"metadata": {},
"outputs": [],
"source": [
"x = pair.dist(in_initial=True, norm_kind=\"sum_patch\")\n",
"y = pair.overlap(False)\n",
"\n",
"x = np.concatenate(x)\n",
"y = np.concatenate(y)"
]
},
{
"cell_type": "code",
"execution_count": 80,
"id": "c761a313",
"metadata": {},
"outputs": [],
"source": [
"from scipy.special import comb\n",
"from itertools import combinations"
]
},
{
"cell_type": "code",
"execution_count": 81,
"id": "baba038a",
"metadata": {},
"outputs": [],
"source": [
"ics = paths.get_ics()"
]
},
{
"cell_type": "code",
"execution_count": 88,
"id": "b7885003",
"metadata": {},
"outputs": [],
"source": [
"import random\n",
"\n",
"combs = list(combinations(ics, 2))\n",
"random.shuffle(combs)"
]
},
{
"cell_type": "code",
"execution_count": 91,
"id": "12d2c301",
"metadata": {},
"outputs": [],
"source": [
"random.Random(32).shuffle(combs)"
]
},
{
"cell_type": "code",
"execution_count": 92,
"id": "d2021330",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[(8236, 9676),\n",
" (7756, 7924),\n",
" (7684, 9796),\n",
" (7996, 9244),\n",
" (8380, 8476),\n",
" (8596, 8956),\n",
" (9220, 9268),\n",
" (8572, 9604),\n",
" (7588, 9028),\n",
" (7636, 7732),\n",
" (7588, 8884),\n",
" (7636, 8980),\n",
" (7564, 9460),\n",
" (8092, 9292),\n",
" (7900, 8548),\n",
" (7804, 9508),\n",
" (8500, 9004),\n",
" (8212, 9148),\n",
" (7516, 8548),\n",
" (7684, 8140),\n",
" (8476, 8908),\n",
" (8308, 8452),\n",
" (7756, 8188),\n",
" (8620, 9772),\n",
" (8932, 9388),\n",
" (8692, 9028),\n",
" (7732, 9028),\n",
" (8476, 8716),\n",
" (7924, 8188),\n",
" (9388, 9700),\n",
" (8620, 9364),\n",
" (9148, 9412),\n",
" (7540, 8860),\n",
" (8500, 9244),\n",
" (8548, 9508),\n",
" (7972, 8596),\n",
" (8356, 8524),\n",
" (7684, 8764),\n",
" (7588, 8524),\n",
" (8044, 8188),\n",
" (7924, 9364),\n",
" (7492, 8716),\n",
" (8332, 8404),\n",
" (7804, 8260),\n",
" (8044, 8524),\n",
" (7804, 8812),\n",
" (8692, 8812),\n",
" (8332, 8956),\n",
" (9100, 9316),\n",
" (7684, 9844),\n",
" (7852, 8932),\n",
" (7468, 9316),\n",
" (7900, 9196),\n",
" (7780, 8188),\n",
" (8284, 8428),\n",
" (8500, 9028),\n",
" (7732, 9004),\n",
" (8980, 9556),\n",
" (7444, 7876),\n",
" (9028, 9340),\n",
" (8476, 8788),\n",
" (9508, 9796),\n",
" (9292, 9820),\n",
" (7828, 8740),\n",
" (7876, 9556),\n",
" (7468, 9220),\n",
" (8404, 8668),\n",
" (7924, 8596),\n",
" (8524, 9196),\n",
" (7948, 9364),\n",
" (8740, 8788),\n",
" (8308, 8956),\n",
" (9364, 9772),\n",
" (7492, 9364),\n",
" (7876, 9388),\n",
" (7804, 8212),\n",
" (9052, 9220),\n",
" (7468, 9628),\n",
" (8236, 8308),\n",
" (8548, 9028),\n",
" (7564, 7756),\n",
" (8884, 9652),\n",
" (9460, 9532),\n",
" (7444, 9772),\n",
" (8860, 8908),\n",
" (7924, 9196),\n",
" (7636, 8164),\n",
" (7468, 8404),\n",
" (7516, 8836),\n",
" (8212, 8980),\n",
" (8356, 9004),\n",
" (9004, 9340),\n",
" (8428, 8956),\n",
" (8404, 9700),\n",
" (8140, 8716),\n",
" (7708, 8788),\n",
" (7660, 8260),\n",
" (8836, 9196),\n",
" (7876, 9748),\n",
" (7684, 8740),\n",
" (8500, 8884),\n",
" (7924, 8092),\n",
" (9652, 9772),\n",
" (8548, 9124),\n",
" (7948, 8764),\n",
" (7516, 8164),\n",
" (7708, 9364),\n",
" (7540, 7828),\n",
" (8404, 9004),\n",
" (7612, 9004),\n",
" (8836, 9796),\n",
" (8428, 8500),\n",
" (8644, 9580),\n",
" (8020, 8812),\n",
" (8644, 8884),\n",
" (7852, 9628),\n",
" (9340, 9652),\n",
" (7588, 9484),\n",
" (7900, 8668),\n",
" (7516, 9700),\n",
" (8212, 8500),\n",
" (8308, 9724),\n",
" (7468, 8020),\n",
" (7516, 7900),\n",
" (7828, 8788),\n",
" (8524, 9412),\n",
" (7684, 7972),\n",
" (9148, 9748),\n",
" (7708, 9412),\n",
" (7732, 9580),\n",
" (7924, 8428),\n",
" (9388, 9844),\n",
" (8068, 8908),\n",
" (8140, 9052),\n",
" (7564, 9652),\n",
" (7468, 9124),\n",
" (7660, 9796),\n",
" (8260, 9532),\n",
" (7564, 8476),\n",
" (7492, 8932),\n",
" (8932, 9124),\n",
" (8212, 8236),\n",
" (8596, 9100),\n",
" (8860, 9604),\n",
" (8956, 9676),\n",
" (8308, 9172),\n",
" (8380, 8500),\n",
" (7900, 7996),\n",
" (8692, 9388),\n",
" (7996, 8740),\n",
" (8524, 9148),\n",
" (7444, 8692),\n",
" (8596, 9412),\n",
" (8020, 8860),\n",
" (7900, 9340),\n",
" (8044, 9364),\n",
" (7780, 8212),\n",
" (7612, 9196),\n",
" (8692, 9796),\n",
" (8596, 8692),\n",
" (7732, 9436),\n",
" (8668, 9724),\n",
" (8212, 8956),\n",
" (8404, 9628),\n",
" (9532, 9820),\n",
" (8764, 9004),\n",
" (8188, 8332),\n",
" (7924, 8692),\n",
" (7756, 9676),\n",
" (7756, 9316),\n",
" (8452, 9748),\n",
" (8476, 9004),\n",
" (7732, 9484),\n",
" (8452, 9844),\n",
" (8260, 8284),\n",
" (8044, 9748),\n",
" (7564, 8620),\n",
" (8260, 8836),\n",
" (8740, 9556),\n",
" (8452, 9292),\n",
" (8140, 8380),\n",
" (8500, 8572),\n",
" (7516, 8572),\n",
" (8236, 9628),\n",
" (8332, 9196),\n",
" (8644, 9364),\n",
" (8428, 9196),\n",
" (8812, 9172),\n",
" (8836, 9076),\n",
" (7828, 8404),\n",
" (8092, 8788),\n",
" (8644, 9388),\n",
" (8308, 9244),\n",
" (8188, 9268),\n",
" (8284, 8764),\n",
" (8500, 9388),\n",
" (7564, 8812),\n",
" (7588, 8644),\n",
" (8212, 8764),\n",
" (7732, 8044),\n",
" (7588, 7828),\n",
" (7852, 9436),\n",
" (8668, 9388),\n",
" (7828, 8164),\n",
" (8044, 9316),\n",
" (8116, 8956),\n",
" (8284, 8692),\n",
" (8884, 9100),\n",
" (7468, 9820),\n",
" (8596, 8860),\n",
" (9316, 9772),\n",
" (9004, 9172),\n",
" (8212, 9364),\n",
" (7828, 9724),\n",
" (8500, 9124),\n",
" (8716, 9364),\n",
" (7900, 8020),\n",
" (8404, 9772),\n",
" (7468, 8692),\n",
" (7876, 9148),\n",
" (9076, 9844),\n",
" (8596, 9340),\n",
" (8548, 8956),\n",
" (9148, 9268),\n",
" (8116, 9700),\n",
" (8092, 9532),\n",
" (7948, 8980),\n",
" (7564, 8716),\n",
" (8308, 9508),\n",
" (8524, 9796),\n",
" (8020, 9460),\n",
" (7564, 9796),\n",
" (8740, 9028),\n",
" (9412, 9460),\n",
" (7492, 9652),\n",
" (7468, 8884),\n",
" (9196, 9844),\n",
" (7732, 9172),\n",
" (9028, 9412),\n",
" (7756, 9196),\n",
" (8332, 9796),\n",
" (8548, 9484),\n",
" (8404, 8956),\n",
" (8836, 9220),\n",
" (8356, 9076),\n",
" (8308, 9196),\n",
" (8884, 9244),\n",
" (9580, 9676),\n",
" (7876, 7972),\n",
" (7564, 9820),\n",
" (9076, 9700),\n",
" (7804, 9196),\n",
" (7876, 8572),\n",
" (8788, 9388),\n",
" (8188, 8236),\n",
" (7540, 8284),\n",
" (7612, 8692),\n",
" (8500, 8908),\n",
" (8428, 9172),\n",
" (7948, 8500),\n",
" (7660, 8236),\n",
" (7828, 9796),\n",
" (7852, 8020),\n",
" (8260, 9724),\n",
" (8020, 9172),\n",
" (9340, 9700),\n",
" (7444, 8644),\n",
" (7900, 8236),\n",
" (8164, 8788),\n",
" (8620, 9004),\n",
" (7564, 8308),\n",
" (7996, 8428),\n",
" (8236, 9700),\n",
" (8188, 8308),\n",
" (7660, 9052),\n",
" (9100, 9292),\n",
" (7444, 8884),\n",
" (7828, 8260),\n",
" (8404, 9268),\n",
" (7972, 9076),\n",
" (7444, 8212),\n",
" (8524, 9364),\n",
" (8308, 8668),\n",
" (8500, 8812),\n",
" (7996, 8788),\n",
" (8020, 8140),\n",
" (8764, 9412),\n",
" (9244, 9436),\n",
" (8908, 9724),\n",
" (8212, 9532),\n",
" (8692, 8956),\n",
" (8212, 9268),\n",
" (7924, 8044),\n",
" (7612, 8092),\n",
" (8956, 9004),\n",
" (8788, 9436),\n",
" (9004, 9484),\n",
" (8020, 9244),\n",
" (8812, 9508),\n",
" (8116, 8236),\n",
" (9268, 9388),\n",
" (8668, 9460),\n",
" (8212, 8836),\n",
" (8908, 9508),\n",
" (7636, 8260),\n",
" (8692, 8788),\n",
" (9148, 9844),\n",
" (7588, 9844),\n",
" (9076, 9436),\n",
" (7900, 8524),\n",
" (7516, 9244),\n",
" (8332, 8884),\n",
" (7708, 8116),\n",
" (7972, 9652),\n",
" (7804, 7924),\n",
" (7660, 9364),\n",
" (8092, 9484),\n",
" (8380, 9700),\n",
" (8356, 8860),\n",
" (8596, 8908),\n",
" (7972, 8812),\n",
" (7804, 8236),\n",
" (8236, 9340),\n",
" (7756, 9148),\n",
" (8068, 9676),\n",
" (8788, 9292),\n",
" (7972, 9220),\n",
" (8044, 9580),\n",
" (9604, 9628),\n",
" (8716, 9604),\n",
" (8404, 8476),\n",
" (8668, 9676),\n",
" (8308, 8980),\n",
" (7828, 8188),\n",
" (8500, 8980),\n",
" (7732, 7804),\n",
" (8356, 8908),\n",
" (8884, 8932),\n",
" (7636, 9604),\n",
" (8188, 8788),\n",
" (8020, 9004),\n",
" (8812, 9412),\n",
" (7564, 9772),\n",
" (7996, 9844),\n",
" (8572, 9004),\n",
" (8572, 9340),\n",
" (7972, 8764),\n",
" (8548, 9340),\n",
" (7852, 9340),\n",
" (8332, 8788),\n",
" (8164, 9460),\n",
" (8596, 8620),\n",
" (8212, 9292),\n",
" (7564, 8212),\n",
" (8092, 9436),\n",
" (7612, 7804),\n",
" (7660, 9148),\n",
" (8356, 9052),\n",
" (9100, 9148),\n",
" (8596, 8932),\n",
" (7732, 8236),\n",
" (7900, 9364),\n",
" (7708, 7972),\n",
" (7636, 8404),\n",
" (9316, 9340),\n",
" (8692, 9604),\n",
" (8764, 9196),\n",
" (9460, 9508),\n",
" (7588, 8764),\n",
" (8260, 9652),\n",
" (7444, 7612),\n",
" (8332, 9676),\n",
" (7684, 8308),\n",
" (8524, 9220),\n",
" (8188, 9700),\n",
" (7996, 8980),\n",
" (8284, 9580),\n",
" (8140, 9508),\n",
" (8572, 8836),\n",
" (7924, 9748),\n",
" (8884, 9748),\n",
" (9148, 9772),\n",
" (8116, 8140),\n",
" (8308, 9028),\n",
" (8980, 9052),\n",
" (8116, 8788),\n",
" (8164, 8836),\n",
" (8620, 9796),\n",
" (7828, 8908),\n",
" (8908, 9172),\n",
" (8572, 8692),\n",
" (7684, 8260),\n",
" (8764, 9436),\n",
" (8092, 9724),\n",
" (8404, 9748),\n",
" (7636, 8476),\n",
" (9412, 9652),\n",
" (8404, 8860),\n",
" (8812, 9292),\n",
" (8548, 8932),\n",
" (9388, 9628),\n",
" (7780, 8788),\n",
" (8140, 9148),\n",
" (7588, 9268),\n",
" (7924, 9340),\n",
" (9268, 9412),\n",
" (8236, 9772),\n",
" (7780, 8548),\n",
" (7444, 9580),\n",
" (7564, 8836),\n",
" (7636, 9292),\n",
" (7660, 9196),\n",
" (7564, 9076),\n",
" (8716, 9532),\n",
" (7540, 8644),\n",
" (8476, 9772),\n",
" (7708, 9100),\n",
" (8884, 9268),\n",
" (9148, 9508),\n",
" (8644, 9076),\n",
" (8836, 8860),\n",
" (7564, 8140),\n",
" (8644, 9244),\n",
" (7852, 8620),\n",
" (7876, 8212),\n",
" (7444, 8812),\n",
" (8524, 8836),\n",
" (7492, 8644),\n",
" (8164, 9076),\n",
" (8020, 9436),\n",
" (8692, 9172),\n",
" (8116, 9076),\n",
" (8572, 8716),\n",
" (8116, 8668),\n",
" (7684, 8116),\n",
" (9532, 9748),\n",
" (8764, 9340),\n",
" (8692, 9244),\n",
" (8572, 9148),\n",
" (8500, 9556),\n",
" (8500, 9532),\n",
" (7588, 9244),\n",
" (7492, 7852),\n",
" (8356, 8788),\n",
" (9148, 9700),\n",
" (7660, 9460),\n",
" (7780, 8428),\n",
" (8380, 9052),\n",
" (7588, 8812),\n",
" (7780, 8980),\n",
" (8452, 9628),\n",
" (8644, 8860),\n",
" (8188, 9412),\n",
" (9244, 9556),\n",
" (7996, 8068),\n",
" (7756, 9412),\n",
" (7804, 8524),\n",
" (7828, 7852),\n",
" (8788, 9628),\n",
" (8884, 9556),\n",
" (7516, 9268),\n",
" (9100, 9820),\n",
" (9220, 9340),\n",
" (7660, 9604),\n",
" (8188, 8980),\n",
" (7468, 7804),\n",
" (9292, 9580),\n",
" (7732, 9076),\n",
" (8620, 9052),\n",
" (7444, 8452),\n",
" (8068, 8884),\n",
" (8332, 9700),\n",
" (9076, 9652),\n",
" (8332, 9172),\n",
" (7756, 9388),\n",
" (8284, 9820),\n",
" (9556, 9772),\n",
" (7972, 8044),\n",
" (7852, 9244),\n",
" (7852, 9316),\n",
" (7612, 9172),\n",
" (8332, 9052),\n",
" (7588, 8692),\n",
" (9340, 9388),\n",
" (8116, 9124),\n",
" (8572, 9700),\n",
" (8668, 8788),\n",
" (8236, 8452),\n",
" (8092, 8428),\n",
" (8020, 9556),\n",
" (7468, 7828),\n",
" (7564, 7684),\n",
" (8380, 9004),\n",
" (8212, 9340),\n",
" (7780, 9028),\n",
" (7780, 9700),\n",
" (8404, 8980),\n",
" (7684, 8620),\n",
" (7684, 8524),\n",
" (7876, 9196),\n",
" (8236, 9532),\n",
" (7684, 9364),\n",
" (8260, 8908),\n",
" (7948, 9028),\n",
" (8908, 8980),\n",
" (7516, 8428),\n",
" (8212, 9676),\n",
" (7876, 9796),\n",
" (8140, 9076),\n",
" (8020, 9268),\n",
" (7516, 8812),\n",
" (7468, 8260),\n",
" (7948, 9748),\n",
" (8740, 8908),\n",
" (7444, 7468),\n",
" (8692, 9436),\n",
" (8308, 8428),\n",
" (8404, 9340),\n",
" (8188, 8884),\n",
" (7636, 8092),\n",
" (8404, 9292),\n",
" (8116, 8164),\n",
" (7540, 7996),\n",
" (9460, 9820),\n",
" (9220, 9244),\n",
" (8740, 8932),\n",
" (8716, 9076),\n",
" (8596, 9484),\n",
" (8692, 9076),\n",
" (8116, 8596),\n",
" (7660, 8620),\n",
" (8308, 8860),\n",
" (9124, 9724),\n",
" (8332, 9532),\n",
" (7852, 9196),\n",
" (8932, 9004),\n",
" (7732, 9316),\n",
" (8140, 9220),\n",
" (7804, 9700),\n",
" (8092, 9124),\n",
" (7636, 9700),\n",
" (8020, 9748),\n",
" (7924, 9652),\n",
" (7972, 8452),\n",
" (7588, 9820),\n",
" (8020, 8284),\n",
" (7900, 8836),\n",
" (8020, 8908),\n",
" (7924, 9172),\n",
" (8428, 8644),\n",
" (7516, 8860),\n",
" (7756, 9364),\n",
" (7780, 9340),\n",
" (8716, 8860),\n",
" (8836, 9028),\n",
" (7948, 8236),\n",
" (7900, 9820),\n",
" (7636, 9724),\n",
" (7612, 9268),\n",
" (9388, 9748),\n",
" (7708, 9004),\n",
" (8500, 8764),\n",
" (7516, 8236),\n",
" (8140, 8332),\n",
" (7756, 9556),\n",
" (7852, 9076),\n",
" (8596, 9172),\n",
" (8740, 8884),\n",
" (8572, 9100),\n",
" (8044, 8668),\n",
" (7780, 8380),\n",
" (7804, 9148),\n",
" (8548, 9220),\n",
" (8548, 9004),\n",
" (8860, 9796),\n",
" (7444, 8620),\n",
" (8716, 9052),\n",
" (7924, 9628),\n",
" (8140, 9724),\n",
" (7444, 8020),\n",
" (8476, 8548),\n",
" (7564, 8788),\n",
" (7516, 7972),\n",
" (7948, 9844),\n",
" (8044, 9532),\n",
" (8452, 9148),\n",
" (7564, 7588),\n",
" (8092, 8404),\n",
" (8956, 9580),\n",
" (9340, 9748),\n",
" (7996, 9508),\n",
" (7540, 8716),\n",
" (7732, 9796),\n",
" (7444, 8764),\n",
" (8092, 8980),\n",
" (8476, 8860),\n",
" (7996, 8596),\n",
" (8932, 9724),\n",
" (8836, 9748),\n",
" (8908, 9244),\n",
" (7732, 9292),\n",
" (8404, 9316),\n",
" (7972, 9196),\n",
" (7636, 8284),\n",
" (8764, 8812),\n",
" (7468, 8644),\n",
" (7996, 8452),\n",
" (7660, 7852),\n",
" (8044, 9676),\n",
" (8212, 9436),\n",
" (7540, 8500),\n",
" (9172, 9580),\n",
" (8956, 9172),\n",
" (8980, 9460),\n",
" (7516, 7924),\n",
" (8164, 8452),\n",
" (8308, 8500),\n",
" (8452, 8788),\n",
" (8356, 9820),\n",
" (7564, 8980),\n",
" (9004, 9604),\n",
" (7684, 7876),\n",
" (8572, 8884),\n",
" (7876, 9292),\n",
" (8692, 9700),\n",
" (7804, 8164),\n",
" (8236, 9460),\n",
" (7876, 9244),\n",
" (7876, 8260),\n",
" (8716, 8764),\n",
" (8452, 8620),\n",
" (9628, 9700),\n",
" (7948, 9220),\n",
" (7900, 8260),\n",
" (8668, 8956),\n",
" (7708, 8932),\n",
" (7660, 8980),\n",
" (8596, 9292),\n",
" (8836, 9508),\n",
" (7540, 7564),\n",
" (7948, 8332),\n",
" (8116, 8476),\n",
" (7540, 9196),\n",
" (9412, 9436),\n",
" (8908, 9844),\n",
" (7492, 8188),\n",
" (8380, 8956),\n",
" (9052, 9292),\n",
" (7924, 8212),\n",
" (9244, 9772),\n",
" (8212, 9748),\n",
" (7588, 9460),\n",
" (8572, 9580),\n",
" (7564, 9748),\n",
" (7564, 9580),\n",
" (9052, 9148),\n",
" (8236, 9580),\n",
" (7588, 9412),\n",
" (9292, 9844),\n",
" (7612, 8380),\n",
" (9076, 9580),\n",
" (8044, 9628),\n",
" (8692, 9484),\n",
" (8356, 9484),\n",
" (9124, 9652),\n",
" (7540, 8620),\n",
" (7444, 8572),\n",
" (7756, 8092),\n",
" (8260, 9460),\n",
" (8284, 9172),\n",
" (7852, 8476),\n",
" (8284, 8548),\n",
" (8428, 8476),\n",
" (9244, 9844),\n",
" (8116, 9772),\n",
" (7540, 8044),\n",
" (8356, 8404),\n",
" (8116, 9052),\n",
" (7540, 8236),\n",
" (8020, 8572),\n",
" (8476, 9820),\n",
" (7684, 7852),\n",
" (7828, 9436),\n",
" (7612, 7828),\n",
" (8812, 9436),\n",
" (7564, 9052),\n",
" (8404, 9388),\n",
" (8980, 9412),\n",
" (9028, 9220),\n",
" (8476, 9460),\n",
" (7804, 8692),\n",
" (8308, 9388),\n",
" (8572, 9484),\n",
" (8668, 8692),\n",
" (7468, 8716),\n",
" (8044, 8356),\n",
" (8356, 9604),\n",
" (7900, 7924),\n",
" (8164, 9316),\n",
" (8356, 9676),\n",
" (9484, 9844),\n",
" (7780, 7828),\n",
" (8788, 8884),\n",
" (9172, 9532),\n",
" (7804, 9532),\n",
" (8188, 8692),\n",
" (8236, 9004),\n",
" (8620, 8884),\n",
" (8092, 9172),\n",
" (8092, 8236),\n",
" (7492, 9268),\n",
" (9196, 9508),\n",
" (8044, 8572),\n",
" (8428, 9124),\n",
" (8380, 9292),\n",
" (7660, 9484),\n",
" (7540, 8476),\n",
" (7660, 8908),\n",
" (7564, 7996),\n",
" (7972, 9628),\n",
" (7756, 9748),\n",
" (7948, 9100),\n",
" (7516, 8932),\n",
" (9436, 9676),\n",
" (7516, 9436),\n",
" (7804, 8764),\n",
" (7636, 8932),\n",
" (7972, 9580),\n",
" (8020, 9076),\n",
" (7708, 8212),\n",
" (8188, 8668),\n",
" (8428, 9820),\n",
" (7708, 9340),\n",
" (8452, 9436),\n",
" (8236, 9364),\n",
" (7636, 9220),\n",
" (8068, 9484),\n",
" (7588, 9364),\n",
" (8188, 8404),\n",
" (9244, 9508),\n",
" (7924, 9052),\n",
" (7780, 8956),\n",
" (7612, 8332),\n",
" (7780, 9844),\n",
" (8620, 9196),\n",
" (8044, 9436),\n",
" (8092, 8836),\n",
" (8404, 8596),\n",
" (8716, 8812),\n",
" (8956, 9556),\n",
" (8788, 9340),\n",
" (8788, 8812),\n",
" (7636, 8860),\n",
" (7492, 9484),\n",
" (7564, 9604),\n",
" (8836, 9772),\n",
" (7540, 9748),\n",
" (7780, 8500),\n",
" (7468, 8668),\n",
" (7444, 8932),\n",
" (7588, 8452),\n",
" (8236, 9220),\n",
" (8860, 8980),\n",
" (7756, 9220),\n",
" (7996, 9364),\n",
" (8524, 9484),\n",
" (9004, 9292),\n",
" (7516, 8524),\n",
" (8476, 8572),\n",
" (8116, 9844),\n",
" (7828, 8140),\n",
" (9148, 9388),\n",
" (7948, 7972),\n",
" (9244, 9748),\n",
" (8308, 9748),\n",
" (7996, 8908),\n",
" (8092, 9220),\n",
" (7876, 9676),\n",
" (7612, 9220),\n",
" (8572, 8596),\n",
" (8524, 8812),\n",
" (7516, 9844),\n",
" (8476, 9028),\n",
" (8116, 9412),\n",
" (8212, 9412),\n",
" (7852, 9412),\n",
" (8164, 8260),\n",
" (7660, 8548),\n",
" (8548, 9052),\n",
" (7540, 9388),\n",
" (8452, 9004),\n",
" (8092, 8212),\n",
" (7972, 8380),\n",
" (7708, 8284),\n",
" (9076, 9556),\n",
" (9052, 9844),\n",
" (7996, 8284),\n",
" (7780, 7804),\n",
" (8092, 9772),\n",
" (7804, 8356),\n",
" (8836, 9316),\n",
" (8164, 9412),\n",
" (8956, 9316),\n",
" (8764, 9172),\n",
" (8044, 8692),\n",
" (9004, 9028),\n",
" (7660, 7756),\n",
" (7780, 9364),\n",
" (7756, 9052),\n",
" (8236, 9484),\n",
" (8284, 9676),\n",
" (8932, 9148),\n",
" (8260, 8596),\n",
" (8236, 8956),\n",
" (8404, 9820),\n",
" (7732, 9388),\n",
" (8836, 8956),\n",
" (8644, 9700),\n",
" (7804, 8092),\n",
" (7684, 8548),\n",
" (8788, 8860),\n",
" (8332, 9316),\n",
" (9124, 9820),\n",
" (8932, 9076),\n",
" (8956, 9220),\n",
" (7588, 8116),\n",
" (8788, 9244),\n",
" (9340, 9556),\n",
" (7540, 9076),\n",
" (8188, 9652),\n",
" (7564, 8092),\n",
" (9148, 9676),\n",
" (8404, 8620),\n",
" (7468, 9388),\n",
" (7756, 8212),\n",
" (8452, 8764),\n",
" (7780, 8716),\n",
" (7636, 9388),\n",
" (7684, 8644),\n",
" (7516, 8188),\n",
" (7516, 7588),\n",
" (8812, 8884),\n",
" (7516, 8644),\n",
" (9028, 9292),\n",
" (7900, 8716),\n",
" (9508, 9748),\n",
" (7780, 9100),\n",
" (8908, 9052),\n",
" (7492, 8668),\n",
" (8188, 9292),\n",
" (8140, 9628),\n",
" (9244, 9604),\n",
" (8716, 9028),\n",
" (8452, 9052),\n",
" (7684, 8332),\n",
" (8428, 9844),\n",
" (9172, 9676),\n",
" (8308, 8788),\n",
" (8116, 9100),\n",
" (7636, 9532),\n",
" (8908, 9268),\n",
" (7780, 9628),\n",
" (7516, 8908),\n",
" (9532, 9676),\n",
" (8716, 8836),\n",
" (8692, 8932),\n",
" (8356, 8836),\n",
" (8308, 9772),\n",
" (8572, 8956),\n",
" (7468, 9580),\n",
" (8428, 9004),\n",
" (8044, 8596),\n",
" (8260, 8428),\n",
" (8452, 9700),\n",
" (8356, 9316),\n",
" (7564, 9388),\n",
" (7732, 8932),\n",
" (8860, 9388),\n",
" (8452, 8716),\n",
" (8164, 8212),\n",
" (8188, 9628),\n",
" (7804, 8332),\n",
" (7588, 8380),\n",
" (7564, 9148),\n",
" (8380, 9580),\n",
" (8380, 8692),\n",
" (7492, 8860),\n",
" (8524, 9604),\n",
" (8260, 9292),\n",
" (7780, 7924),\n",
" (8260, 9148),\n",
" (8380, 9220),\n",
" (7972, 8236),\n",
" (8476, 9652),\n",
" (7852, 8596),\n",
" (7540, 7852),\n",
" (7564, 8548),\n",
" (8140, 9388),\n",
" (8356, 8548),\n",
" (9148, 9196),\n",
" (8860, 9820),\n",
" (8140, 8188),\n",
" (8788, 9412),\n",
" (8092, 8356),\n",
" (7828, 9844),\n",
" (8644, 9748),\n",
" (7876, 9220),\n",
" (8380, 9724),\n",
" (7636, 7804),\n",
" (7852, 8236),\n",
" (8428, 9676),\n",
" (7564, 8932),\n",
" (8860, 9772),\n",
" (7900, 9796),\n",
" (9148, 9796),\n",
" (9076, 9484),\n",
" (8308, 8884),\n",
" (8380, 8932),\n",
" (7900, 8284),\n",
" (8644, 9028),\n",
" (8332, 8908),\n",
" (7708, 8164),\n",
" (7684, 8812),\n",
" (7444, 9436),\n",
" (7780, 8620),\n",
" (7900, 8428),\n",
" (8764, 8980),\n",
" (9196, 9700),\n",
" (9316, 9484),\n",
" (7588, 9604),\n",
" (7996, 9628),\n",
" (8092, 8308),\n",
" (7468, 8164),\n",
" (8644, 9556),\n",
" (8620, 8980),\n",
" (8068, 8332),\n",
" (9052, 9652),\n",
" (7708, 8380),\n",
" (8908, 9124),\n",
" (7948, 8644),\n",
" (7900, 9748),\n",
" (8332, 9652),\n",
" (9052, 9244),\n",
" (9172, 9484),\n",
" (7612, 9100),\n",
" (7660, 8932),\n",
" (8188, 8740),\n",
" (8836, 9052),\n",
" (7948, 9484),\n",
" (7468, 8332),\n",
" (7612, 8548),\n",
" (8380, 9316),\n",
" (7924, 8548),\n",
" (7972, 9460),\n",
" (7564, 9292),\n",
" (8164, 8620),\n",
" (8812, 9460),\n",
" (8836, 9292),\n",
" (8140, 8908),\n",
" (8644, 9124),\n",
" (7828, 9412),\n",
" (7444, 7948),\n",
" (7516, 9508),\n",
" (7588, 8932),\n",
" (8164, 8356),\n",
" (8788, 9508),\n",
" (8116, 8644),\n",
" (8332, 9844),\n",
" (7588, 7876),\n",
" (9556, 9748),\n",
" (7612, 9244),\n",
" (7564, 7948),\n",
" (7492, 9388),\n",
" (9172, 9556),\n",
" (7516, 9580),\n",
" (8092, 8500),\n",
" (8404, 8764),\n",
" (8044, 9508),\n",
" (8356, 9748),\n",
" (7492, 8236),\n",
" (8644, 9340),\n",
" (7660, 8404),\n",
" (7804, 9436),\n",
" (7636, 8524),\n",
" (8212, 8380),\n",
" (8404, 9676),\n",
" (9556, 9628),\n",
" (8908, 9412),\n",
" (8524, 9076),\n",
" (8596, 8764),\n",
" (7516, 9796),\n",
" (7540, 8932),\n",
" (7540, 9820),\n",
" (7948, 8164),\n",
" (7468, 9652),\n",
" (7564, 7780),\n",
" (7780, 9484),\n",
" (8332, 9220),\n",
" (7540, 9508),\n",
" (7900, 9028),\n",
" ...]"
]
},
"execution_count": 92,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"combs"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "df1e935d",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 77,
"id": "8f2ca472",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "968c0e4d1b2f471285d297af28b16955",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.scatter(x, y, s=0.1)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "cee886fd",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 53,
"id": "8eb7c2ee",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"5029841\n",
"5029842\n",
"5029843\n",
"5029844\n",
"5029849\n",
"5029851\n",
"5029852\n",
"5029855\n",
"5029857\n",
"5029859\n",
"5029860\n",
"5029861\n",
"5029864\n",
"5029866\n",
"5029869\n",
"5029871\n",
"5029873\n",
"5029874\n",
"5029876\n",
"5029878\n",
"5029879\n",
"5029880\n",
"5029884\n",
"5029897\n",
"5029899\n",
"5029900\n",
"5029905\n",
"5029906\n",
"5029909\n",
"5029910\n",
"5029913\n",
"5029914\n",
"5029918\n",
"5029919\n",
"5029920\n",
"5029922\n",
"5029924\n",
"5029925\n",
"5029928\n",
"5029930\n",
"5029931\n",
"5029933\n",
"5029936\n",
"5029941\n",
"5029943\n",
"5029946\n",
"5029950\n",
"5029952\n",
"5029956\n",
"5029958\n",
"5029959\n",
"5029961\n",
"5029967\n",
"5029968\n",
"5029969\n",
"5029970\n",
"5029974\n",
"5029975\n",
"5029976\n",
"5029978\n",
"5029982\n",
"5029988\n",
"5029990\n",
"5029992\n",
"5029999\n",
"5030000\n",
"5030001\n",
"5030002\n",
"5030003\n",
"5030005\n",
"5030006\n",
"5030012\n",
"5030013\n",
"5030015\n",
"5030016\n",
"5030018\n",
"5030022\n",
"5030025\n",
"5030026\n",
"5030029\n",
"5030030\n",
"5030031\n",
"5030032\n",
"5030033\n",
"5030036\n",
"5030040\n",
"5030043\n",
"5030046\n",
"5030047\n",
"5030051\n",
"5030052\n",
"5030056\n",
"5030057\n",
"5030058\n",
"5030060\n",
"5030064\n",
"5030066\n",
"5030067\n",
"5030071\n",
"5030072\n",
"5030074\n",
"5030075\n",
"5030078\n",
"5030079\n",
"5030080\n",
"5030081\n",
"5030086\n",
"5030087\n",
"5030089\n",
"5030091\n",
"5030092\n",
"5030095\n",
"5030096\n",
"5030113\n",
"5030119\n",
"5030122\n",
"5030126\n",
"5030127\n",
"5030128\n",
"5030138\n",
"5030144\n",
"5030147\n",
"5030156\n",
"5030158\n",
"5030162\n",
"5030171\n",
"5030183\n",
"5030184\n",
"5030187\n",
"5030188\n",
"5030189\n",
"5030191\n",
"5030195\n",
"5030203\n",
"5030206\n",
"5030211\n",
"5030218\n",
"5030221\n",
"5030230\n",
"5030232\n",
"5030247\n",
"5030260\n",
"5030273\n",
"5030295\n",
"5030301\n",
"5030351\n",
"5030374\n",
"5030394\n",
"5030410\n",
"5030467\n",
"5030540\n",
"5032241\n",
"5032279\n",
"5032324\n",
"5032333\n",
"5032344\n",
"5032347\n",
"5032374\n",
"5032381\n",
"5032395\n",
"5032399\n",
"5032405\n",
"5032410\n",
"5032411\n",
"5032424\n",
"5032425\n",
"5032440\n",
"5032454\n",
"5032460\n",
"5032462\n",
"5032464\n",
"5032481\n",
"5032490\n",
"5032509\n",
"5032536\n",
"5032539\n",
"5032568\n",
"5032606\n",
"5032646\n",
"5032680\n",
"5032692\n",
"5032700\n",
"5032715\n",
"5032729\n",
"5032736\n",
"5032744\n",
"5032745\n",
"5032746\n",
"5032756\n",
"5032773\n",
"5032791\n",
"5032792\n",
"5032817\n",
"5032825\n",
"5032829\n",
"5032851\n",
"5032852\n",
"5032879\n",
"5032889\n",
"5032895\n",
"5032899\n",
"5032930\n",
"5032963\n",
"5032968\n",
"5032977\n",
"5032985\n",
"5033003\n",
"5033015\n",
"5033016\n",
"5033029\n",
"5033045\n",
"5033047\n",
"5033049\n",
"5033065\n",
"5033104\n",
"5033115\n",
"5033118\n",
"5033135\n",
"5033184\n",
"5033191\n",
"5033201\n",
"5033225\n",
"5033235\n",
"5033260\n",
"5033273\n",
"5033274\n",
"5033289\n",
"5033299\n",
"5033312\n",
"5033317\n",
"5033352\n",
"5033358\n",
"5033403\n",
"5033423\n",
"5033479\n",
"5033490\n",
"5033500\n",
"5033529\n",
"5033558\n",
"5033563\n",
"5033566\n",
"5033602\n",
"5033688\n",
"5033692\n",
"5033715\n",
"5033729\n",
"5033734\n",
"5033735\n",
"5033748\n",
"5033754\n",
"5033768\n",
"5033791\n",
"5033804\n",
"5033828\n",
"5033842\n",
"5033859\n",
"5033875\n",
"5033876\n",
"5033877\n",
"5033881\n",
"5033902\n",
"5033928\n",
"5033987\n",
"5033993\n",
"5033994\n",
"5033995\n",
"5034073\n",
"5034074\n",
"5034078\n",
"5034079\n",
"5034099\n",
"5034127\n",
"5034131\n",
"5034143\n",
"5034156\n",
"5034217\n",
"5034275\n",
"5034277\n",
"5034303\n",
"5034307\n",
"5034323\n",
"5034325\n",
"5034392\n",
"5034400\n",
"5034404\n",
"5034414\n",
"5034416\n",
"5034431\n",
"5034439\n",
"5034470\n",
"5034494\n",
"5034513\n",
"5034520\n",
"5034526\n",
"5034531\n",
"5034551\n",
"5034580\n",
"5034601\n",
"5034654\n",
"5034659\n",
"5034696\n",
"5034701\n",
"5034720\n",
"5034742\n",
"5034772\n",
"5034777\n",
"5034806\n",
"5034813\n",
"5034822\n",
"5034825\n",
"5034828\n",
"5034853\n",
"5034869\n",
"5034900\n",
"5034902\n",
"5034912\n",
"5034955\n",
"5034962\n",
"5034974\n",
"5034991\n",
"5034999\n",
"5035017\n",
"5035020\n",
"5035061\n",
"5035099\n",
"5035105\n",
"5035123\n",
"5035190\n",
"5035219\n",
"5035295\n",
"5035364\n",
"5035379\n",
"5035412\n",
"5035459\n",
"5035480\n",
"5035517\n",
"5035532\n",
"5035628\n",
"5035690\n",
"5035715\n",
"5035812\n",
"5035831\n",
"5035873\n",
"5035892\n",
"5036097\n",
"5036507\n",
"5040706\n",
"5040971\n",
"5041087\n",
"5041184\n",
"5041214\n",
"5041220\n",
"5041797\n",
"5041988\n",
"5042282\n",
"5042343\n",
"5042352\n",
"5042905\n",
"5043266\n",
"5043361\n",
"5043671\n",
"5043787\n",
"5043830\n",
"5043855\n",
"5044197\n",
"5044333\n",
"5044543\n",
"5045386\n",
"5045681\n",
"5049572\n",
"5050601\n",
"5057241\n",
"5068265\n",
"5068595\n",
"5079055\n",
"5104089\n",
"5104090\n",
"5104093\n",
"5104094\n",
"5104096\n",
"5104101\n",
"5104104\n",
"5104106\n",
"5104107\n",
"5104111\n",
"5104113\n",
"5104115\n",
"5104118\n",
"5104119\n",
"5104120\n",
"5104125\n",
"5104130\n",
"5104132\n",
"5104133\n",
"5104138\n",
"5104140\n",
"5104143\n",
"5104145\n",
"5104146\n",
"5104148\n",
"5104149\n",
"5104152\n",
"5104156\n",
"5104157\n",
"5104158\n",
"5104160\n",
"5104162\n",
"5104163\n",
"5104166\n",
"5104168\n",
"5104170\n",
"5104171\n",
"5104174\n",
"5104180\n",
"5104181\n",
"5104182\n",
"5104183\n",
"5104189\n",
"5104192\n",
"5104193\n",
"5104196\n",
"5104199\n",
"5104202\n",
"5104208\n",
"5104210\n",
"5104213\n",
"5104216\n",
"5104218\n",
"5104222\n",
"5104224\n",
"5104226\n",
"5104233\n",
"5104251\n",
"5104254\n",
"5104263\n",
"5104280\n",
"5104281\n",
"5104283\n",
"5104311\n",
"5104473\n",
"5104531\n",
"5104696\n",
"5104697\n",
"5104701\n",
"5104708\n",
"5104718\n",
"5104731\n",
"5104735\n",
"5104737\n",
"5104755\n",
"5104762\n",
"5104775\n",
"5104778\n",
"5104782\n",
"5104787\n",
"5104788\n",
"5104803\n",
"5104849\n",
"5104850\n",
"5104851\n",
"5104853\n",
"5104854\n",
"5104859\n",
"5104868\n",
"5104870\n",
"5104873\n",
"5104875\n",
"5104879\n",
"5104887\n",
"5104895\n",
"5104898\n",
"5104899\n",
"5104904\n",
"5104905\n",
"5104912\n",
"5104915\n",
"5104919\n",
"5104920\n",
"5104926\n",
"5104927\n",
"5104932\n",
"5104936\n",
"5104939\n",
"5104945\n",
"5104955\n",
"5104958\n",
"5104959\n",
"5104961\n",
"5104971\n",
"5104973\n",
"5104982\n",
"5104985\n",
"5104987\n",
"5104998\n",
"5105016\n",
"5105019\n",
"5105021\n",
"5105022\n",
"5105026\n",
"5105027\n",
"5105037\n",
"5105046\n",
"5105055\n",
"5105081\n",
"5105084\n",
"5105086\n",
"5105087\n",
"5105091\n",
"5105094\n",
"5105098\n",
"5105114\n",
"5105122\n",
"5105123\n",
"5105124\n",
"5105126\n",
"5105134\n",
"5105140\n",
"5105143\n",
"5105147\n",
"5105149\n",
"5105152\n",
"5105154\n",
"5105156\n",
"5105161\n",
"5105164\n",
"5105169\n",
"5105174\n",
"5105178\n",
"5105180\n",
"5105188\n",
"5105190\n",
"5105193\n",
"5105194\n",
"5105195\n",
"5105196\n",
"5105213\n",
"5105215\n",
"5105229\n",
"5105231\n",
"5105237\n",
"5105244\n",
"5105249\n",
"5105251\n",
"5105255\n",
"5105261\n",
"5105271\n",
"5105276\n",
"5105277\n",
"5105278\n",
"5105279\n",
"5105285\n",
"5105288\n",
"5105289\n",
"5105293\n",
"5105316\n",
"5105318\n",
"5105325\n",
"5105329\n",
"5105331\n",
"5105337\n",
"5105347\n",
"5105357\n",
"5105361\n",
"5105371\n",
"5105384\n",
"5105385\n",
"5105395\n",
"5105398\n",
"5105407\n",
"5105420\n",
"5105424\n",
"5105425\n",
"5105428\n",
"5105433\n",
"5105438\n",
"5105441\n",
"5105451\n",
"5105456\n",
"5105459\n",
"5105463\n",
"5105471\n",
"5105473\n",
"5105483\n",
"5105485\n",
"5105488\n",
"5105489\n",
"5105492\n",
"5105510\n",
"5105537\n",
"5105539\n",
"5105540\n",
"5105541\n",
"5105553\n",
"5105576\n",
"5105592\n",
"5105599\n",
"5105605\n",
"5105607\n",
"5105609\n",
"5105625\n",
"5105637\n",
"5105639\n",
"5105644\n",
"5105648\n",
"5105677\n",
"5105679\n",
"5105697\n",
"5105699\n",
"5105715\n",
"5105718\n",
"5105719\n",
"5105722\n",
"5105727\n",
"5105731\n",
"5105738\n",
"5105740\n",
"5105741\n",
"5105757\n",
"5105761\n",
"5105763\n",
"5105764\n",
"5105835\n",
"5105846\n",
"5105857\n",
"5105858\n",
"5105862\n",
"5105895\n",
"5105919\n",
"5105920\n",
"5105922\n",
"5105937\n",
"5105942\n",
"5105944\n",
"5105954\n",
"5106005\n",
"5106031\n",
"5106032\n",
"5106038\n",
"5106046\n",
"5106052\n",
"5106126\n",
"5106162\n",
"5106166\n",
"5106196\n",
"5106268\n",
"5106304\n",
"5106329\n",
"5106468\n",
"5108166\n",
"5108394\n",
"5108598\n",
"5108649\n",
"5108670\n",
"5108774\n",
"5108828\n",
"5108845\n",
"5108859\n",
"5108861\n",
"5108890\n",
"5108969\n",
"5109006\n",
"5109007\n",
"5109027\n",
"5109041\n",
"5109054\n",
"5109057\n",
"5109070\n",
"5109072\n",
"5109116\n",
"5109118\n",
"5109166\n",
"5109181\n",
"5109193\n",
"5109218\n",
"5109224\n",
"5109273\n",
"5109334\n",
"5109342\n",
"5109366\n",
"5109424\n",
"5109443\n",
"5109444\n",
"5109454\n",
"5109457\n",
"5109507\n",
"5109522\n",
"5109555\n",
"5109578\n",
"5109622\n",
"5109629\n",
"5109646\n",
"5109654\n",
"5109686\n",
"5109690\n",
"5109700\n",
"5109716\n",
"5109726\n",
"5109734\n",
"5109735\n",
"5109754\n",
"5109843\n",
"5109849\n",
"5109901\n",
"5109905\n",
"5109912\n",
"5109916\n",
"5109949\n",
"5109970\n",
"5109971\n",
"5110022\n",
"5110026\n",
"5110048\n",
"5110052\n",
"5110074\n",
"5110089\n",
"5110157\n",
"5110171\n",
"5110175\n",
"5110214\n",
"5110224\n",
"5110295\n",
"5110331\n",
"5110362\n",
"5110392\n",
"5110397\n",
"5110432\n",
"5110437\n",
"5110470\n",
"5110474\n",
"5110488\n",
"5110514\n",
"5110515\n",
"5110521\n",
"5110526\n",
"5110535\n",
"5110617\n",
"5110688\n",
"5110698\n",
"5110713\n",
"5110741\n",
"5110802\n",
"5110814\n",
"5110821\n",
"5110883\n",
"5110911\n",
"5110956\n",
"5110997\n",
"5111042\n",
"5111050\n",
"5111109\n",
"5111112\n",
"5111172\n",
"5111202\n",
"5111231\n",
"5111233\n",
"5111242\n",
"5111313\n",
"5111322\n",
"5111337\n",
"5111377\n",
"5111391\n",
"5111423\n",
"5111444\n",
"5111493\n",
"5111502\n",
"5111529\n",
"5111569\n",
"5111641\n",
"5111643\n",
"5111654\n",
"5111674\n",
"5111688\n",
"5111692\n",
"5111762\n",
"5111857\n",
"5111870\n",
"5111891\n",
"5112023\n",
"5112078\n",
"5112110\n",
"5112204\n",
"5112208\n",
"5112228\n",
"5112280\n",
"5112315\n",
"5112316\n",
"5112343\n",
"5112351\n",
"5112429\n",
"5112461\n",
"5112493\n",
"5112505\n",
"5112520\n",
"5112689\n",
"5112695\n",
"5112711\n",
"5112787\n",
"5112790\n",
"5112796\n",
"5112797\n",
"5112819\n",
"5112830\n",
"5112841\n",
"5112861\n",
"5112866\n",
"5112884\n",
"5112903\n",
"5112988\n",
"5113017\n",
"5113084\n",
"5113101\n",
"5113201\n",
"5113205\n",
"5113243\n",
"5113298\n",
"5113335\n",
"5113516\n",
"5113529\n",
"5113552\n",
"5113570\n",
"5113606\n",
"5113613\n",
"5113673\n",
"5113849\n",
"5113900\n",
"5114050\n",
"5114065\n",
"5114126\n",
"5114216\n",
"5114217\n",
"5114268\n",
"5114300\n",
"5114674\n",
"5114687\n",
"5114713\n",
"5114790\n",
"5114863\n",
"5114877\n",
"5114892\n",
"5114921\n",
"5115123\n",
"5115381\n",
"5115680\n",
"5116142\n",
"5116243\n",
"5116461\n",
"5117037\n",
"5117060\n",
"5117104\n",
"5117255\n",
"5118180\n",
"5118624\n",
"5118681\n",
"5118901\n",
"5120549\n",
"5120837\n",
"5121138\n",
"5121523\n",
"5121526\n",
"5121994\n",
"5122597\n",
"5122662\n",
"5122741\n",
"5122888\n",
"5123257\n",
"5123933\n",
"5124109\n",
"5124150\n",
"5124278\n",
"5125059\n",
"5125092\n",
"5125312\n",
"5125547\n",
"5126054\n",
"5126131\n",
"5126459\n",
"5126592\n",
"5127482\n",
"5127655\n",
"5127932\n",
"5127960\n",
"5128051\n",
"5128232\n",
"5128307\n",
"5128340\n",
"5128699\n",
"5128712\n",
"5128726\n",
"5128927\n",
"5129120\n",
"5129187\n",
"5129236\n",
"5129280\n",
"5129694\n",
"5129754\n",
"5129821\n",
"5129972\n",
"5130275\n",
"5130486\n",
"5130581\n",
"5131046\n",
"5131406\n",
"5131669\n",
"5131703\n",
"5131901\n",
"5132213\n",
"5132461\n",
"5132683\n",
"5132937\n",
"5132992\n",
"5133106\n",
"5133728\n",
"5133815\n",
"5134061\n",
"5134136\n",
"5134195\n",
"5134426\n",
"5134511\n",
"5134581\n",
"5135484\n",
"5135536\n",
"5135550\n",
"5135608\n",
"5135778\n",
"5135798\n",
"5136061\n",
"5136952\n",
"5137171\n",
"5137407\n",
"5137497\n",
"5137929\n",
"5137993\n",
"5138069\n",
"5138357\n",
"5138891\n",
"5139085\n",
"5139621\n",
"5139683\n",
"5139749\n",
"5139994\n",
"5140124\n",
"5140149\n",
"5140177\n",
"5140473\n",
"5140952\n",
"5141220\n",
"5141346\n",
"5141532\n",
"5141677\n",
"5142404\n",
"5142455\n",
"5142653\n",
"5142744\n",
"5142939\n",
"5143466\n",
"5144202\n",
"5144249\n",
"5144631\n",
"5147102\n",
"5147207\n",
"5147559\n",
"5147650\n",
"5148967\n",
"5149007\n",
"5149234\n",
"5149503\n",
"5150725\n",
"5151013\n",
"5151725\n",
"5152203\n",
"5152378\n",
"5152397\n",
"5153936\n",
"5154079\n",
"5154093\n",
"5154152\n",
"5154442\n",
"5155546\n",
"5155868\n",
"5156604\n",
"5156846\n",
"5156925\n",
"5157059\n",
"5157236\n",
"5157435\n",
"5157590\n",
"5157834\n",
"5158362\n",
"5158704\n",
"5158798\n",
"5159039\n",
"5159308\n",
"5159738\n",
"5159839\n",
"5160108\n",
"5160121\n",
"5160918\n",
"5160951\n",
"5162217\n",
"5162383\n",
"5162511\n",
"5162982\n",
"5163458\n",
"5164142\n",
"5164153\n",
"5164408\n",
"5164484\n",
"5164641\n",
"5164802\n",
"5164847\n",
"5164866\n",
"5165968\n",
"5166894\n",
"5167004\n",
"5167202\n",
"5167337\n",
"5167506\n",
"5167960\n",
"5168148\n",
"5168277\n",
"5168336\n",
"5168579\n",
"5168815\n",
"5169332\n",
"5169559\n",
"5169935\n",
"5170166\n",
"5170566\n",
"5170857\n",
"5171277\n",
"5171624\n",
"5171969\n",
"5172155\n",
"5172228\n",
"5172388\n",
"5172548\n",
"5173276\n",
"5173843\n",
"5174267\n",
"5174472\n",
"5174593\n",
"5174624\n",
"5191765\n",
"5191766\n",
"5191767\n",
"5191770\n",
"5191772\n",
"5191773\n",
"5191774\n",
"5191776\n",
"5191777\n",
"5191779\n",
"5191781\n",
"5191782\n",
"5191783\n",
"5191784\n",
"5191785\n",
"5191786\n",
"5191787\n",
"5191788\n",
"5191790\n",
"5191792\n",
"5191793\n",
"5191794\n",
"5191795\n",
"5191797\n",
"5191799\n",
"5191800\n",
"5191801\n",
"5191802\n",
"5191807\n",
"5191808\n",
"5191810\n",
"5191814\n",
"5191815\n",
"5191817\n",
"5191818\n",
"5191819\n",
"5191821\n",
"5191826\n",
"5191839\n",
"5191843\n",
"5191861\n",
"5191886\n",
"5191905\n",
"5191931\n",
"5191936\n",
"5191962\n",
"5191966\n",
"5191970\n",
"5191973\n",
"5191974\n",
"5191975\n",
"5191979\n",
"5191980\n",
"5191989\n",
"5191992\n",
"5191995\n",
"5191996\n",
"5192000\n",
"5192001\n",
"5192004\n",
"5192005\n",
"5192010\n",
"5192012\n",
"5192015\n",
"5192016\n",
"5192021\n",
"5192027\n",
"5192029\n",
"5192032\n",
"5192038\n",
"5192039\n",
"5192040\n",
"5192042\n",
"5192043\n",
"5192044\n",
"5192049\n",
"5192053\n",
"5192054\n",
"5192058\n",
"5192059\n",
"5192066\n",
"5192067\n",
"5192069\n",
"5192074\n",
"5192076\n",
"5192080\n",
"5192082\n",
"5192085\n",
"5192086\n",
"5192087\n",
"5192089\n",
"5192092\n",
"5192094\n",
"5192104\n",
"5192105\n",
"5192107\n",
"5192108\n",
"5192109\n",
"5192111\n",
"5192113\n",
"5192115\n",
"5192116\n",
"5192119\n",
"5192120\n",
"5192123\n",
"5192125\n",
"5192127\n",
"5192128\n",
"5192135\n",
"5192136\n",
"5192137\n",
"5192139\n",
"5192140\n",
"5192141\n",
"5192142\n",
"5192145\n",
"5192148\n",
"5192149\n",
"5192158\n",
"5192159\n",
"5192162\n",
"5192164\n",
"5192165\n",
"5192168\n",
"5192172\n",
"5192173\n",
"5192178\n",
"5192179\n",
"5192182\n",
"5192185\n",
"5192186\n",
"5192189\n",
"5192191\n",
"5192192\n",
"5192195\n",
"5192196\n",
"5192198\n",
"5192203\n",
"5192204\n",
"5192208\n",
"5192211\n",
"5192214\n",
"5192222\n",
"5192225\n",
"5192227\n",
"5192228\n",
"5192229\n",
"5192230\n",
"5192233\n",
"5192234\n",
"5192238\n",
"5192239\n",
"5192240\n",
"5192241\n",
"5192242\n",
"5192246\n",
"5192248\n",
"5192249\n",
"5192252\n",
"5192253\n",
"5192254\n",
"5192256\n",
"5192258\n",
"5192260\n",
"5192272\n",
"5192273\n",
"5192274\n",
"5192275\n",
"5192278\n",
"5192279\n",
"5192280\n",
"5192283\n",
"5192291\n",
"5192292\n",
"5192295\n",
"5192296\n",
"5192300\n",
"5192301\n",
"5192304\n",
"5192311\n",
"5192312\n",
"5192318\n",
"5192319\n",
"5192321\n",
"5192324\n",
"5192327\n",
"5192328\n",
"5192329\n",
"5192330\n",
"5192333\n",
"5192334\n",
"5192338\n",
"5192339\n",
"5192342\n",
"5192343\n",
"5192345\n",
"5192352\n",
"5192355\n",
"5192360\n",
"5192361\n",
"5192364\n",
"5192368\n",
"5192369\n",
"5192370\n",
"5192371\n",
"5192372\n",
"5192374\n",
"5192377\n",
"5192382\n",
"5192383\n",
"5192385\n",
"5192386\n",
"5192387\n",
"5192388\n",
"5192389\n",
"5192398\n",
"5192401\n",
"5192402\n",
"5192405\n",
"5192406\n",
"5192407\n",
"5192408\n",
"5192409\n",
"5192415\n",
"5192417\n",
"5192421\n",
"5192422\n",
"5192424\n",
"5192432\n",
"5192433\n",
"5192434\n",
"5192435\n",
"5192436\n",
"5192437\n",
"5192438\n",
"5192439\n",
"5192441\n",
"5192443\n",
"5192445\n",
"5192446\n",
"5192448\n",
"5192452\n",
"5192453\n",
"5192454\n",
"5192460\n",
"5192462\n",
"5192463\n",
"5192467\n",
"5192468\n",
"5192470\n",
"5192471\n",
"5192473\n",
"5192474\n",
"5192478\n",
"5192479\n",
"5192482\n",
"5192486\n",
"5192496\n",
"5192497\n",
"5192501\n",
"5192503\n",
"5192508\n",
"5192509\n",
"5192510\n",
"5192513\n",
"5192527\n",
"5192528\n",
"5192529\n",
"5192531\n",
"5192534\n",
"5192536\n",
"5192537\n",
"5192538\n",
"5192541\n",
"5192546\n",
"5192548\n",
"5192549\n",
"5192553\n",
"5192555\n",
"5192558\n",
"5192559\n",
"5192563\n",
"5192565\n",
"5192568\n",
"5192569\n",
"5192575\n",
"5192579\n",
"5192590\n",
"5192591\n",
"5192598\n",
"5192604\n",
"5192610\n",
"5192623\n",
"5192626\n",
"5192629\n",
"5192638\n",
"5192658\n",
"5192660\n",
"5192671\n",
"5192678\n",
"5192685\n",
"5192687\n",
"5192688\n",
"5192691\n",
"5192700\n",
"5192764\n",
"5192782\n",
"5192807\n",
"5192846\n",
"5192887\n",
"5192969\n",
"5193048\n",
"5193134\n",
"5193145\n",
"5193178\n",
"5193477\n",
"5193731\n",
"5193763\n",
"5193799\n",
"5193800\n",
"5193897\n",
"5193915\n",
"5193927\n",
"5193945\n",
"5193954\n",
"5193958\n",
"5193977\n",
"5194003\n",
"5194038\n",
"5194048\n",
"5194061\n",
"5194068\n",
"5194075\n",
"5194086\n",
"5194117\n",
"5194142\n",
"5194165\n",
"5194168\n",
"5194189\n",
"5194207\n",
"5194223\n",
"5194235\n",
"5194236\n",
"5194243\n",
"5194279\n",
"5194303\n",
"5194307\n",
"5194309\n",
"5194318\n",
"5194348\n",
"5194357\n",
"5194366\n",
"5194373\n",
"5194382\n",
"5194389\n",
"5194398\n",
"5194404\n",
"5194405\n",
"5194406\n",
"5194437\n",
"5194446\n",
"5194456\n",
"5194496\n",
"5194531\n",
"5194540\n",
"5194542\n",
"5194556\n",
"5194557\n",
"5194572\n",
"5194574\n",
"5194579\n",
"5194582\n",
"5194586\n",
"5194608\n",
"5194619\n",
"5194634\n",
"5194635\n",
"5194648\n",
"5194656\n",
"5194668\n",
"5194678\n",
"5194688\n",
"5194692\n",
"5194693\n",
"5194705\n",
"5194718\n",
"5194743\n",
"5194760\n",
"5194764\n",
"5194765\n",
"5194772\n",
"5194780\n",
"5194785\n",
"5194792\n",
"5194823\n",
"5194826\n",
"5194833\n",
"5194852\n",
"5194853\n",
"5194859\n",
"5194863\n",
"5194915\n",
"5194922\n",
"5194923\n",
"5194943\n",
"5194947\n",
"5194959\n",
"5194963\n",
"5194974\n",
"5194986\n",
"5194991\n",
"5194993\n",
"5195001\n",
"5195030\n",
"5195062\n",
"5195073\n",
"5195082\n",
"5195097\n",
"5195113\n",
"5195116\n",
"5195135\n",
"5195141\n",
"5195153\n",
"5195155\n",
"5195157\n",
"5195161\n",
"5195201\n",
"5195204\n",
"5195219\n",
"5195231\n",
"5195241\n",
"5195255\n",
"5195263\n",
"5195267\n",
"5195298\n",
"5195323\n",
"5195331\n",
"5195337\n",
"5195353\n",
"5195357\n",
"5195363\n",
"5195373\n",
"5195386\n",
"5195400\n",
"5195417\n",
"5195445\n",
"5195464\n",
"5195465\n",
"5195476\n",
"5195491\n",
"5195495\n",
"5195501\n",
"5195504\n",
"5195529\n",
"5195539\n",
"5195540\n",
"5195556\n",
"5195557\n",
"5195562\n",
"5195583\n",
"5195584\n",
"5195608\n",
"5195631\n",
"5195680\n",
"5195690\n",
"5195709\n",
"5195710\n",
"5195712\n",
"5195779\n",
"5195825\n",
"5195826\n",
"5195833\n",
"5195838\n",
"5195841\n",
"5195846\n",
"5195851\n",
"5195876\n",
"5195880\n",
"5195925\n",
"5195942\n",
"5195954\n",
"5195963\n",
"5195977\n",
"5196005\n",
"5196010\n",
"5196034\n",
"5196065\n",
"5196076\n",
"5196080\n",
"5196084\n",
"5196112\n",
"5196121\n",
"5196124\n",
"5196131\n",
"5196150\n",
"5196163\n",
"5196165\n",
"5196169\n",
"5196180\n",
"5196187\n",
"5196202\n",
"5196207\n",
"5196219\n",
"5196227\n",
"5196257\n",
"5196261\n",
"5196273\n",
"5196275\n",
"5196285\n",
"5196334\n",
"5196339\n",
"5196355\n",
"5196372\n",
"5196382\n",
"5196408\n",
"5196409\n",
"5196439\n",
"5196479\n",
"5196486\n",
"5196496\n",
"5196519\n",
"5196548\n",
"5196563\n",
"5196575\n",
"5196588\n",
"5196608\n",
"5196609\n",
"5196628\n",
"5196636\n",
"5196640\n",
"5196646\n",
"5196708\n",
"5196726\n",
"5196744\n",
"5196748\n",
"5196755\n",
"5196774\n",
"5196803\n",
"5196852\n",
"5196874\n",
"5196933\n",
"5196952\n",
"5196953\n",
"5197030\n",
"5197099\n",
"5197102\n",
"5197169\n",
"5197179\n",
"5197180\n",
"5197195\n",
"5197251\n",
"5197257\n",
"5197272\n",
"5197280\n",
"5197335\n",
"5197427\n",
"5197442\n",
"5197619\n",
"5197663\n",
"5197678\n",
"5197786\n",
"5197813\n",
"5197857\n",
"5197956\n",
"5198014\n",
"5198138\n",
"5198139\n",
"5198163\n",
"5198204\n",
"5198212\n",
"5198266\n",
"5198633\n",
"5198642\n",
"5199012\n",
"5199024\n",
"5199141\n",
"5199447\n",
"5199635\n",
"5199750\n",
"5201079\n",
"5201322\n",
"5201344\n",
"5201601\n",
"5201774\n",
"5201783\n",
"5201931\n",
"5201962\n",
"5201975\n",
"5202067\n",
"5202108\n",
"5202339\n",
"5202473\n",
"5202478\n",
"5202500\n",
"5202608\n",
"5202685\n",
"5202809\n",
"5202824\n",
"5203035\n",
"5203184\n",
"5203365\n",
"5203399\n",
"5203404\n",
"5203480\n",
"5203530\n",
"5203543\n",
"5203577\n",
"5203597\n",
"5203704\n",
"5203742\n",
"5203845\n",
"5203909\n",
"5204114\n",
"5204156\n",
"5204173\n",
"5204307\n",
"5204545\n",
"5204931\n",
"5205100\n",
"5205197\n",
"5205842\n",
"5205877\n",
"5206090\n",
"5206125\n",
"5206214\n",
"5206321\n",
"5206542\n",
"5206565\n",
"5206772\n",
"5207226\n",
"5207569\n",
"5207787\n",
"5208062\n",
"5208105\n",
"5208637\n",
"5208737\n",
"5208979\n",
"5209050\n",
"5209373\n",
"5209390\n",
"5209657\n",
"5210382\n",
"5210400\n",
"5210544\n",
"5210756\n",
"5210822\n",
"5210944\n",
"5211088\n",
"5211184\n",
"5211315\n",
"5211621\n",
"5211662\n",
"5211908\n",
"5212041\n",
"5212410\n",
"5212730\n",
"5212741\n",
"5212821\n",
"5213006\n",
"5213106\n",
"5213350\n",
"5213481\n",
"5213560\n",
"5213702\n",
"5213769\n",
"5213873\n",
"5213893\n",
"5213935\n",
"5214039\n",
"5214316\n",
"5214321\n",
"5214589\n",
"5214655\n",
"5214927\n",
"5215095\n",
"5215309\n",
"5215317\n",
"5215505\n",
"5215564\n",
"5215597\n",
"5215874\n",
"5216045\n",
"5216148\n",
"5216167\n",
"5216541\n",
"5216651\n",
"5216763\n",
"5216882\n",
"5217082\n",
"5217390\n",
"5217401\n",
"5217438\n",
"5217501\n",
"5217515\n",
"5217628\n",
"5217725\n",
"5217776\n",
"5217789\n",
"5217980\n",
"5218366\n",
"5218676\n",
"5218853\n",
"5219127\n",
"5219258\n",
"5219357\n",
"5219411\n",
"5219490\n",
"5219850\n",
"5219883\n",
"5220155\n",
"5220234\n",
"5220243\n",
"5220289\n",
"5220357\n",
"5220358\n",
"5220796\n",
"5220948\n",
"5220960\n",
"5221053\n",
"5221209\n",
"5221246\n",
"5221248\n",
"5221306\n",
"5222119\n",
"5222147\n",
"5222192\n",
"5222308\n",
"5222382\n",
"5222464\n",
"5222496\n",
"5222685\n",
"5222762\n",
"5222803\n",
"5222844\n",
"5223467\n",
"5223634\n",
"5224164\n",
"5224197\n",
"5224326\n",
"5224478\n",
"5224512\n",
"5224763\n",
"5224816\n",
"5224897\n",
"5225225\n",
"5225302\n",
"5225525\n",
"5225640\n",
"5225663\n",
"5225693\n",
"5225706\n",
"5225731\n",
"5225885\n",
"5225907\n",
"5226067\n",
"5226110\n",
"5226190\n",
"5226301\n",
"5226309\n",
"5226616\n",
"5226726\n",
"5226793\n",
"5226833\n",
"5227395\n",
"5227401\n",
"5227796\n",
"5227909\n",
"5227994\n",
"5228116\n",
"5228277\n",
"5228726\n",
"5228989\n",
"5229203\n",
"5229553\n",
"5229558\n",
"5229869\n",
"5230219\n",
"5230271\n",
"5230295\n",
"5230317\n",
"5230948\n",
"5230973\n",
"5231174\n",
"5231209\n",
"5231586\n",
"5231644\n",
"5231786\n",
"5231823\n",
"5231988\n",
"5232001\n",
"5232097\n",
"5232247\n",
"5232291\n",
"5232307\n",
"5232556\n",
"5232597\n",
"5232621\n",
"5232652\n",
"5233309\n",
"5233401\n",
"5233565\n",
"5233870\n",
"5233873\n",
"5233945\n",
"5234036\n",
"5234072\n",
"5234092\n",
"5234140\n",
"5234324\n",
"5234379\n",
"5234979\n",
"5235029\n",
"5235237\n",
"5235349\n",
"5235369\n",
"5235611\n",
"5235702\n",
"5235721\n",
"5235898\n",
"5236345\n",
"5236555\n",
"5236743\n",
"5237199\n",
"5237743\n",
"5238244\n",
"5238301\n",
"5238995\n",
"5239034\n",
"5239056\n",
"5239357\n",
"5239636\n",
"5239746\n",
"5239960\n",
"5240232\n",
"5240827\n",
"5240976\n",
"5241194\n",
"5241866\n",
"5241954\n",
"5242005\n",
"5242085\n",
"5242402\n",
"5242428\n",
"5242780\n",
"5242843\n",
"5258188\n",
"5258196\n",
"5258197\n",
"5258198\n",
"5258199\n",
"5258201\n",
"5258202\n",
"5258204\n",
"5258205\n",
"5258206\n",
"5258207\n",
"5258208\n",
"5258209\n",
"5258210\n",
"5258211\n",
"5258212\n",
"5258216\n",
"5258220\n",
"5258221\n",
"5258223\n",
"5258224\n",
"5258226\n",
"5258227\n",
"5258228\n",
"5258231\n",
"5258233\n",
"5258236\n",
"5258237\n",
"5258239\n",
"5258240\n",
"5258244\n",
"5258248\n",
"5258251\n",
"5258255\n",
"5258256\n",
"5258257\n",
"5258258\n",
"5258265\n",
"5258267\n",
"5258268\n",
"5258269\n",
"5258286\n",
"5258287\n",
"5258290\n",
"5258292\n",
"5258293\n",
"5258296\n",
"5258302\n",
"5258314\n",
"5258324\n",
"5258331\n",
"5258350\n",
"5258366\n",
"5258382\n",
"5258418\n",
"5258655\n",
"5258670\n",
"5258684\n",
"5258695\n",
"5258710\n",
"5258712\n",
"5258713\n",
"5258724\n",
"5258731\n",
"5258734\n",
"5258739\n",
"5258742\n",
"5258746\n",
"5258755\n",
"5258758\n",
"5258763\n",
"5258764\n",
"5258772\n",
"5258773\n",
"5258774\n",
"5258781\n",
"5258786\n",
"5258797\n",
"5258810\n",
"5258813\n",
"5258814\n",
"5258816\n",
"5258825\n",
"5258827\n",
"5258832\n",
"5258834\n",
"5258835\n",
"5258837\n",
"5258843\n",
"5258845\n",
"5258848\n",
"5258851\n",
"5258858\n",
"5258863\n",
"5258868\n",
"5258869\n",
"5258874\n",
"5258875\n",
"5258876\n",
"5258880\n",
"5258886\n",
"5258891\n",
"5258893\n",
"5258894\n",
"5258897\n",
"5258898\n",
"5258901\n",
"5258904\n",
"5258910\n",
"5258911\n",
"5258917\n",
"5258918\n",
"5258923\n",
"5258927\n",
"5258929\n",
"5258940\n",
"5258941\n",
"5258945\n",
"5258948\n",
"5258953\n",
"5258959\n",
"5258960\n",
"5258963\n",
"5258971\n",
"5258976\n",
"5258980\n",
"5258983\n",
"5258984\n",
"5258986\n",
"5258989\n",
"5258990\n",
"5258993\n",
"5258994\n",
"5258997\n",
"5259000\n",
"5259006\n",
"5259008\n",
"5259009\n",
"5259010\n",
"5259015\n",
"5259020\n",
"5259023\n",
"5259025\n",
"5259031\n",
"5259033\n",
"5259039\n",
"5259041\n",
"5259043\n",
"5259049\n",
"5259053\n",
"5259058\n",
"5259059\n",
"5259062\n",
"5259063\n",
"5259065\n",
"5259066\n",
"5259069\n",
"5259070\n",
"5259071\n",
"5259073\n",
"5259074\n",
"5259079\n",
"5259080\n",
"5259085\n",
"5259087\n",
"5259088\n",
"5259091\n",
"5259096\n",
"5259104\n",
"5259106\n",
"5259108\n",
"5259110\n",
"5259112\n",
"5259122\n",
"5259126\n",
"5259129\n",
"5259134\n",
"5259137\n",
"5259140\n",
"5259145\n",
"5259146\n",
"5259149\n",
"5259153\n",
"5259155\n",
"5259156\n",
"5259157\n",
"5259159\n",
"5259165\n",
"5259167\n",
"5259168\n",
"5259169\n",
"5259172\n",
"5259174\n",
"5259175\n",
"5259176\n",
"5259177\n",
"5259180\n",
"5259181\n",
"5259183\n",
"5259188\n",
"5259189\n",
"5259191\n",
"5259194\n",
"5259196\n",
"5259199\n",
"5259203\n",
"5259205\n",
"5259207\n",
"5259213\n",
"5259214\n",
"5259215\n",
"5259218\n",
"5259220\n",
"5259231\n",
"5259232\n",
"5259236\n",
"5259239\n",
"5259242\n",
"5259244\n",
"5259246\n",
"5259257\n",
"5259258\n",
"5259259\n",
"5259263\n",
"5259272\n",
"5259274\n",
"5259277\n",
"5259281\n",
"5259283\n",
"5259284\n",
"5259294\n",
"5259297\n",
"5259300\n",
"5259301\n",
"5259304\n",
"5259307\n",
"5259325\n",
"5259337\n",
"5259340\n",
"5259342\n",
"5259350\n",
"5259359\n",
"5259372\n",
"5259375\n",
"5259393\n",
"5259397\n",
"5259399\n",
"5259410\n",
"5259417\n",
"5259432\n",
"5259433\n",
"5259467\n",
"5259468\n",
"5259489\n",
"5259516\n",
"5259530\n",
"5259594\n",
"5259597\n",
"5259691\n",
"5259700\n",
"5259799\n",
"5259813\n",
"5259893\n",
"5259983\n",
"5261534\n",
"5261704\n",
"5261787\n",
"5261829\n",
"5261832\n",
"5261834\n",
"5261878\n",
"5261976\n",
"5261978\n",
"5261981\n",
"5261984\n",
"5262002\n",
"5262014\n",
"5262017\n",
"5262035\n",
"5262091\n",
"5262110\n",
"5262133\n",
"5262139\n",
"5262161\n",
"5262195\n",
"5262207\n",
"5262267\n",
"5262277\n",
"5262292\n",
"5262304\n",
"5262307\n",
"5262332\n",
"5262334\n",
"5262346\n",
"5262349\n",
"5262361\n",
"5262375\n",
"5262385\n",
"5262440\n",
"5262460\n",
"5262463\n",
"5262476\n",
"5262517\n",
"5262527\n",
"5262534\n",
"5262565\n",
"5262584\n",
"5262598\n",
"5262611\n",
"5262614\n",
"5262628\n",
"5262641\n",
"5262643\n",
"5262652\n",
"5262661\n",
"5262672\n",
"5262679\n",
"5262699\n",
"5262740\n",
"5262806\n",
"5262809\n",
"5262810\n",
"5262830\n",
"5262837\n",
"5262859\n",
"5262875\n",
"5262895\n",
"5262918\n",
"5262923\n",
"5262924\n",
"5262949\n",
"5262972\n",
"5262990\n",
"5262993\n",
"5262997\n",
"5263023\n",
"5263024\n",
"5263044\n",
"5263048\n",
"5263052\n",
"5263059\n",
"5263086\n",
"5263116\n",
"5263138\n",
"5263141\n",
"5263163\n",
"5263173\n",
"5263186\n",
"5263190\n",
"5263211\n",
"5263224\n",
"5263243\n",
"5263249\n",
"5263292\n",
"5263313\n",
"5263320\n",
"5263325\n",
"5263336\n",
"5263367\n",
"5263371\n",
"5263393\n",
"5263429\n",
"5263440\n",
"5263450\n",
"5263452\n",
"5263462\n",
"5263466\n",
"5263473\n",
"5263474\n",
"5263495\n",
"5263512\n",
"5263515\n",
"5263522\n",
"5263528\n",
"5263531\n",
"5263547\n",
"5263553\n",
"5263567\n",
"5263576\n",
"5263577\n",
"5263579\n",
"5263588\n",
"5263591\n",
"5263596\n",
"5263598\n",
"5263602\n",
"5263605\n",
"5263638\n",
"5263652\n",
"5263656\n",
"5263668\n",
"5263671\n",
"5263689\n",
"5263697\n",
"5263708\n",
"5263710\n",
"5263754\n",
"5263762\n",
"5263771\n",
"5263799\n",
"5263802\n",
"5263818\n",
"5263827\n",
"5263843\n",
"5263861\n",
"5263865\n",
"5263883\n",
"5263887\n",
"5263892\n",
"5263909\n",
"5263913\n",
"5263963\n",
"5263964\n",
"5263967\n",
"5263973\n",
"5263991\n",
"5263996\n",
"5264001\n",
"5264013\n",
"5264014\n",
"5264020\n",
"5264042\n",
"5264053\n",
"5264070\n",
"5264084\n",
"5264089\n",
"5264115\n",
"5264122\n",
"5264124\n",
"5264157\n",
"5264179\n",
"5264192\n",
"5264220\n",
"5264246\n",
"5264274\n",
"5264279\n",
"5264287\n",
"5264291\n",
"5264294\n",
"5264297\n",
"5264304\n",
"5264311\n",
"5264313\n",
"5264322\n",
"5264346\n",
"5264360\n",
"5264372\n",
"5264389\n",
"5264395\n",
"5264406\n",
"5264427\n",
"5264459\n",
"5264464\n",
"5264466\n",
"5264471\n",
"5264478\n",
"5264480\n",
"5264489\n",
"5264495\n",
"5264563\n",
"5264630\n",
"5264633\n",
"5264671\n",
"5264680\n",
"5264687\n",
"5264691\n",
"5264723\n",
"5264741\n",
"5264772\n",
"5264791\n",
"5264843\n",
"5264859\n",
"5264863\n",
"5264873\n",
"5264878\n",
"5264882\n",
"5265008\n",
"5265010\n",
"5265054\n",
"5265055\n",
"5265127\n",
"5265156\n",
"5265202\n",
"5265225\n",
"5265296\n",
"5265307\n",
"5265363\n",
"5265378\n",
"5265458\n",
"5265564\n",
"5265619\n",
"5265644\n",
"5265796\n",
"5265878\n",
"5265890\n",
"5265896\n",
"5265946\n",
"5266188\n",
"5266296\n",
"5270773\n",
"5270944\n",
"5271028\n",
"5271512\n",
"5271579\n",
"5271790\n",
"5271818\n",
"5272118\n",
"5272385\n",
"5272492\n",
"5272857\n",
"5273174\n",
"5273239\n",
"5273564\n",
"5273580\n",
"5273581\n",
"5273624\n",
"5273776\n",
"5274135\n",
"5274333\n",
"5274675\n",
"5274746\n",
"5274936\n",
"5275090\n",
"5275286\n",
"5275498\n",
"5275642\n",
"5275677\n",
"5275706\n",
"5276270\n",
"5276451\n",
"5276730\n",
"5276901\n",
"5276963\n",
"5279121\n",
"5279551\n",
"5279659\n",
"5279909\n",
"5280153\n",
"5281746\n",
"5298598\n",
"5306416\n",
"5335127\n",
"5335128\n",
"5335129\n",
"5335130\n",
"5335132\n",
"5335133\n",
"5335134\n",
"5335135\n",
"5335136\n",
"5335137\n",
"5335138\n",
"5335139\n",
"5335140\n",
"5335141\n",
"5335142\n",
"5335145\n",
"5335148\n",
"5335149\n",
"5335152\n",
"5335153\n",
"5335154\n",
"5335156\n",
"5335157\n",
"5335159\n",
"5335161\n",
"5335162\n",
"5335164\n",
"5335166\n",
"5335168\n",
"5335169\n",
"5335175\n",
"5335176\n",
"5335177\n",
"5335180\n",
"5335186\n",
"5335194\n",
"5335344\n",
"5335349\n",
"5335350\n",
"5335353\n",
"5335359\n",
"5335365\n",
"5335366\n",
"5335367\n",
"5335370\n",
"5335371\n",
"5335372\n",
"5335376\n",
"5335377\n",
"5335380\n",
"5335381\n",
"5335383\n",
"5335388\n",
"5335390\n",
"5335391\n",
"5335394\n",
"5335395\n",
"5335396\n",
"5335397\n",
"5335399\n",
"5335403\n",
"5335406\n",
"5335409\n",
"5335412\n",
"5335413\n",
"5335415\n",
"5335417\n",
"5335418\n",
"5335419\n",
"5335422\n",
"5335424\n",
"5335428\n",
"5335429\n",
"5335430\n",
"5335432\n",
"5335433\n",
"5335434\n",
"5335435\n",
"5335437\n",
"5335440\n",
"5335443\n",
"5335444\n",
"5335445\n",
"5335449\n",
"5335450\n",
"5335451\n",
"5335452\n",
"5335457\n",
"5335458\n",
"5335459\n",
"5335460\n",
"5335461\n",
"5335462\n",
"5335463\n",
"5335464\n",
"5335469\n",
"5335474\n",
"5335477\n",
"5335478\n",
"5335479\n",
"5335481\n",
"5335484\n",
"5335485\n",
"5335486\n",
"5335487\n",
"5335488\n",
"5335489\n",
"5335490\n",
"5335491\n",
"5335492\n",
"5335494\n",
"5335496\n",
"5335497\n",
"5335498\n",
"5335502\n",
"5335503\n",
"5335505\n",
"5335506\n",
"5335507\n",
"5335508\n",
"5335510\n",
"5335511\n",
"5335512\n",
"5335516\n",
"5335517\n",
"5335519\n",
"5335520\n",
"5335521\n",
"5335522\n",
"5335523\n",
"5335527\n",
"5335528\n",
"5335529\n",
"5335530\n",
"5335532\n",
"5335534\n",
"5335535\n",
"5335536\n",
"5335538\n",
"5335539\n",
"5335540\n",
"5335541\n",
"5335543\n",
"5335546\n",
"5335548\n",
"5335549\n",
"5335550\n",
"5335552\n",
"5335553\n",
"5335554\n",
"5335555\n",
"5335556\n",
"5335558\n",
"5335559\n",
"5335560\n",
"5335562\n",
"5335566\n",
"5335567\n",
"5335569\n",
"5335570\n",
"5335571\n",
"5335575\n",
"5335577\n",
"5335579\n",
"5335580\n",
"5335587\n",
"5335588\n",
"5335590\n",
"5335591\n",
"5335592\n",
"5335595\n",
"5335596\n",
"5335598\n",
"5335599\n",
"5335600\n",
"5335601\n",
"5335602\n",
"5335603\n",
"5335604\n",
"5335606\n",
"5335607\n",
"5335608\n",
"5335609\n",
"5335610\n",
"5335611\n",
"5335613\n",
"5335615\n",
"5335616\n",
"5335617\n",
"5335618\n",
"5335619\n",
"5335620\n",
"5335621\n",
"5335624\n",
"5335627\n",
"5335628\n",
"5335629\n",
"5335630\n",
"5335634\n",
"5335636\n",
"5335637\n",
"5335639\n",
"5335641\n",
"5335644\n",
"5335645\n",
"5335647\n",
"5335648\n",
"5335650\n",
"5335652\n",
"5335653\n",
"5335655\n",
"5335656\n",
"5335657\n",
"5335658\n",
"5335662\n",
"5335663\n",
"5335664\n",
"5335665\n",
"5335666\n",
"5335668\n",
"5335669\n",
"5335670\n",
"5335671\n",
"5335672\n",
"5335673\n",
"5335674\n",
"5335676\n",
"5335677\n",
"5335680\n",
"5335684\n",
"5335690\n",
"5335693\n",
"5335695\n",
"5335696\n",
"5335701\n",
"5335702\n",
"5335703\n",
"5335704\n",
"5335705\n",
"5335708\n",
"5335710\n",
"5335714\n",
"5335715\n",
"5335717\n",
"5335718\n",
"5335720\n",
"5335728\n",
"5335729\n",
"5335731\n",
"5335732\n",
"5335736\n",
"5335737\n",
"5335738\n",
"5335743\n",
"5335744\n",
"5335748\n",
"5335750\n",
"5335753\n",
"5335755\n",
"5335757\n",
"5335758\n",
"5335759\n",
"5335760\n",
"5335763\n",
"5335764\n",
"5335768\n",
"5335772\n",
"5335776\n",
"5335780\n",
"5335786\n",
"5335789\n",
"5335791\n",
"5335793\n",
"5335796\n",
"5335797\n",
"5335799\n",
"5335806\n",
"5335807\n",
"5335820\n",
"5335822\n",
"5335841\n",
"5335843\n",
"5335851\n",
"5335857\n",
"5335862\n",
"5335864\n",
"5335868\n",
"5335899\n",
"5335902\n",
"5335916\n",
"5335921\n",
"5335931\n",
"5335949\n",
"5336028\n",
"5337168\n",
"5337179\n",
"5337197\n",
"5337216\n",
"5337222\n",
"5337231\n",
"5337248\n",
"5337252\n",
"5337280\n",
"5337282\n",
"5337284\n",
"5337288\n",
"5337295\n",
"5337300\n",
"5337307\n",
"5337309\n",
"5337311\n",
"5337327\n",
"5337334\n",
"5337336\n",
"5337338\n",
"5337345\n",
"5337354\n",
"5337363\n",
"5337364\n",
"5337389\n",
"5337397\n",
"5337409\n",
"5337418\n",
"5337432\n",
"5337433\n",
"5337438\n",
"5337440\n",
"5337466\n",
"5337467\n",
"5337475\n",
"5337483\n",
"5337484\n",
"5337489\n",
"5337492\n",
"5337494\n",
"5337496\n",
"5337498\n",
"5337521\n",
"5337532\n",
"5337534\n",
"5337537\n",
"5337549\n",
"5337557\n",
"5337569\n",
"5337584\n",
"5337585\n",
"5337598\n",
"5337612\n",
"5337614\n",
"5337620\n",
"5337637\n",
"5337644\n",
"5337650\n",
"5337657\n",
"5337665\n",
"5337669\n",
"5337670\n",
"5337694\n",
"5337699\n",
"5337703\n",
"5337727\n",
"5337746\n",
"5337757\n",
"5337759\n",
"5337777\n",
"5337782\n",
"5337792\n",
"5337809\n",
"5337810\n",
"5337817\n",
"5337819\n",
"5337836\n",
"5337843\n",
"5337876\n",
"5337878\n",
"5337898\n",
"5337905\n",
"5337930\n",
"5337956\n",
"5337963\n",
"5337965\n",
"5337966\n",
"5337972\n",
"5337981\n",
"5338003\n",
"5338007\n",
"5338011\n",
"5338029\n",
"5338031\n",
"5338032\n",
"5338045\n",
"5338051\n",
"5338063\n",
"5338071\n",
"5338078\n",
"5338080\n",
"5338092\n",
"5338093\n",
"5338113\n",
"5338116\n",
"5338129\n",
"5338134\n",
"5338135\n",
"5338155\n",
"5338166\n",
"5338167\n",
"5338168\n",
"5338173\n",
"5338181\n",
"5338188\n",
"5338196\n",
"5338217\n",
"5338236\n",
"5338256\n",
"5338265\n",
"5338272\n",
"5338299\n",
"5338304\n",
"5338310\n",
"5338328\n",
"5338329\n",
"5338339\n",
"5338353\n",
"5338360\n",
"5338373\n",
"5338381\n",
"5338391\n",
"5338418\n",
"5338430\n",
"5338436\n",
"5338443\n",
"5338444\n",
"5338459\n",
"5338465\n",
"5338480\n",
"5338494\n",
"5338527\n",
"5338530\n",
"5338531\n",
"5338539\n",
"5338551\n",
"5338552\n",
"5338559\n",
"5338560\n",
"5338575\n",
"5338582\n",
"5338603\n",
"5338607\n",
"5338617\n",
"5338618\n",
"5338620\n",
"5338643\n",
"5338663\n",
"5338667\n",
"5338668\n",
"5338672\n",
"5338706\n",
"5338722\n",
"5338745\n",
"5338764\n",
"5338767\n",
"5338786\n",
"5338806\n",
"5338820\n",
"5338826\n",
"5338840\n",
"5338841\n",
"5338843\n",
"5338854\n",
"5338866\n",
"5338870\n",
"5338877\n",
"5338879\n",
"5338887\n",
"5338896\n",
"5338901\n",
"5338906\n",
"5338908\n",
"5338917\n",
"5338921\n",
"5338928\n",
"5338931\n",
"5338933\n",
"5338943\n",
"5338958\n",
"5338963\n",
"5338975\n",
"5338976\n",
"5338999\n",
"5339006\n",
"5339012\n",
"5339019\n",
"5339022\n",
"5339023\n",
"5339041\n",
"5339045\n",
"5339046\n",
"5339052\n",
"5339067\n",
"5339074\n",
"5339080\n",
"5339088\n",
"5339097\n",
"5339099\n",
"5339109\n",
"5339128\n",
"5339130\n",
"5339131\n",
"5339138\n",
"5339139\n",
"5339142\n",
"5339161\n",
"5339166\n",
"5339182\n",
"5339190\n",
"5339202\n",
"5339208\n",
"5339226\n",
"5339227\n",
"5339228\n",
"5339230\n",
"5339236\n",
"5339246\n",
"5339254\n",
"5339261\n",
"5339263\n",
"5339265\n",
"5339269\n",
"5339271\n",
"5339279\n",
"5339281\n",
"5339305\n",
"5339311\n",
"5339318\n",
"5339339\n",
"5339348\n",
"5339349\n",
"5339357\n",
"5339371\n",
"5339378\n",
"5339380\n",
"5339382\n",
"5339383\n",
"5339401\n",
"5339403\n",
"5339406\n",
"5339423\n",
"5339431\n",
"5339437\n",
"5339444\n",
"5339450\n",
"5339464\n",
"5339480\n",
"5339484\n",
"5339507\n",
"5339508\n",
"5339509\n",
"5339516\n",
"5339536\n",
"5339540\n",
"5339545\n",
"5339587\n",
"5339597\n",
"5339620\n",
"5339623\n",
"5339665\n",
"5339715\n",
"5339748\n",
"5339753\n",
"5339760\n",
"5339789\n",
"5339792\n",
"5339800\n",
"5339802\n",
"5339821\n",
"5339839\n",
"5339847\n",
"5339871\n",
"5339889\n",
"5339891\n",
"5339904\n",
"5339926\n",
"5339927\n",
"5339962\n",
"5339976\n",
"5340007\n",
"5340035\n",
"5340037\n",
"5340053\n",
"5340056\n",
"5340076\n",
"5340078\n",
"5340085\n",
"5340117\n",
"5340144\n",
"5340152\n",
"5340556\n",
"5340734\n",
"5344233\n",
"5344260\n",
"5344276\n",
"5344415\n",
"5344611\n",
"5344636\n",
"5344722\n",
"5344748\n",
"5344761\n",
"5344899\n",
"5344968\n",
"5344996\n",
"5345152\n",
"5345322\n",
"5345381\n",
"5345395\n",
"5345520\n",
"5345573\n",
"5345688\n",
"5345898\n",
"5346032\n",
"5346201\n",
"5346406\n",
"5346537\n",
"5346827\n",
"5346919\n",
"5347947\n",
"5349198\n",
"5349345\n",
"5349911\n",
"5351744\n",
"5351886\n",
"5352592\n",
"5354492\n",
"5356564\n",
"5366976\n",
"5370654\n",
"5399204\n",
"5399205\n",
"5399206\n",
"5399207\n",
"5399208\n",
"5399209\n",
"5399210\n",
"5399214\n",
"5399217\n",
"5399218\n",
"5399220\n",
"5399221\n",
"5399222\n",
"5399224\n",
"5399228\n",
"5399230\n",
"5399231\n",
"5399232\n",
"5399233\n",
"5399238\n",
"5399242\n",
"5399246\n",
"5399247\n",
"5399252\n",
"5399255\n",
"5399256\n",
"5399257\n",
"5399259\n",
"5399262\n",
"5399271\n",
"5399272\n",
"5399276\n",
"5399279\n",
"5399280\n",
"5399474\n",
"5399484\n",
"5399486\n",
"5399491\n",
"5399492\n",
"5399495\n",
"5399504\n",
"5399510\n",
"5399511\n",
"5399514\n",
"5399520\n",
"5399522\n",
"5399523\n",
"5399527\n",
"5399529\n",
"5399531\n",
"5399534\n",
"5399538\n",
"5399541\n",
"5399542\n",
"5399543\n",
"5399545\n",
"5399550\n",
"5399552\n",
"5399553\n",
"5399554\n",
"5399556\n",
"5399557\n",
"5399558\n",
"5399560\n",
"5399562\n",
"5399567\n",
"5399568\n",
"5399572\n",
"5399581\n",
"5399582\n",
"5399586\n",
"5399590\n",
"5399591\n",
"5399593\n",
"5399595\n",
"5399596\n",
"5399597\n",
"5399598\n",
"5399599\n",
"5399600\n",
"5399602\n",
"5399605\n",
"5399608\n",
"5399610\n",
"5399613\n",
"5399615\n",
"5399616\n",
"5399618\n",
"5399622\n",
"5399623\n",
"5399625\n",
"5399629\n",
"5399630\n",
"5399631\n",
"5399632\n",
"5399633\n",
"5399637\n",
"5399638\n",
"5399639\n",
"5399641\n",
"5399642\n",
"5399643\n",
"5399644\n",
"5399647\n",
"5399648\n",
"5399650\n",
"5399651\n",
"5399655\n",
"5399657\n",
"5399659\n",
"5399660\n",
"5399662\n",
"5399665\n",
"5399666\n",
"5399667\n",
"5399668\n",
"5399669\n",
"5399670\n",
"5399676\n",
"5399678\n",
"5399681\n",
"5399682\n",
"5399685\n",
"5399689\n",
"5399690\n",
"5399691\n",
"5399692\n",
"5399693\n",
"5399697\n",
"5399698\n",
"5399699\n",
"5399701\n",
"5399703\n",
"5399704\n",
"5399705\n",
"5399706\n",
"5399708\n",
"5399709\n",
"5399711\n",
"5399712\n",
"5399714\n",
"5399718\n",
"5399720\n",
"5399721\n",
"5399722\n",
"5399725\n",
"5399727\n",
"5399728\n",
"5399729\n",
"5399730\n",
"5399731\n",
"5399732\n",
"5399733\n",
"5399734\n",
"5399735\n",
"5399738\n",
"5399739\n",
"5399741\n",
"5399745\n",
"5399746\n",
"5399747\n",
"5399748\n",
"5399749\n",
"5399750\n",
"5399751\n",
"5399752\n",
"5399753\n",
"5399757\n",
"5399759\n",
"5399761\n",
"5399765\n",
"5399767\n",
"5399768\n",
"5399769\n",
"5399770\n",
"5399771\n",
"5399772\n",
"5399775\n",
"5399776\n",
"5399777\n",
"5399778\n",
"5399784\n",
"5399785\n",
"5399787\n",
"5399788\n",
"5399789\n",
"5399790\n",
"5399791\n",
"5399793\n",
"5399794\n",
"5399795\n",
"5399797\n",
"5399798\n",
"5399801\n",
"5399802\n",
"5399805\n",
"5399807\n",
"5399811\n",
"5399814\n",
"5399815\n",
"5399817\n",
"5399819\n",
"5399820\n",
"5399821\n",
"5399822\n",
"5399823\n",
"5399828\n",
"5399829\n",
"5399831\n",
"5399833\n",
"5399835\n",
"5399838\n",
"5399840\n",
"5399841\n",
"5399842\n",
"5399844\n",
"5399845\n",
"5399847\n",
"5399848\n",
"5399851\n",
"5399856\n",
"5399858\n",
"5399861\n",
"5399862\n",
"5399863\n",
"5399869\n",
"5399870\n",
"5399874\n",
"5399875\n",
"5399876\n",
"5399877\n",
"5399880\n",
"5399882\n",
"5399885\n",
"5399886\n",
"5399890\n",
"5399894\n",
"5399896\n",
"5399898\n",
"5399900\n",
"5399901\n",
"5399902\n",
"5399903\n",
"5399904\n",
"5399905\n",
"5399907\n",
"5399908\n",
"5399910\n",
"5399920\n",
"5399923\n",
"5399924\n",
"5399928\n",
"5399929\n",
"5399931\n",
"5399932\n",
"5399933\n",
"5399934\n",
"5399942\n",
"5399944\n",
"5399948\n",
"5399949\n",
"5399955\n",
"5399957\n",
"5399961\n",
"5399965\n",
"5399967\n",
"5399973\n",
"5399978\n",
"5399982\n",
"5399983\n",
"5399984\n",
"5399991\n",
"5399992\n",
"5399994\n",
"5399999\n",
"5400000\n",
"5400003\n",
"5400005\n",
"5400018\n",
"5400033\n",
"5400041\n",
"5400049\n",
"5400059\n",
"5400069\n",
"5400077\n",
"5400101\n",
"5400180\n",
"5401427\n",
"5401429\n",
"5401454\n",
"5401461\n",
"5401464\n",
"5401500\n",
"5401506\n",
"5401511\n",
"5401522\n",
"5401538\n",
"5401564\n",
"5401574\n",
"5401598\n",
"5401599\n",
"5401604\n",
"5401621\n",
"5401623\n",
"5401626\n",
"5401629\n",
"5401646\n",
"5401659\n",
"5401669\n",
"5401670\n",
"5401676\n",
"5401686\n",
"5401687\n",
"5401715\n",
"5401730\n",
"5401748\n",
"5401756\n",
"5401792\n",
"5401802\n",
"5401808\n",
"5401811\n",
"5401818\n",
"5401822\n",
"5401832\n",
"5401833\n",
"5401836\n",
"5401845\n",
"5401848\n",
"5401851\n",
"5401858\n",
"5401861\n",
"5401863\n",
"5401869\n",
"5401874\n",
"5401895\n",
"5401912\n",
"5401917\n",
"5401943\n",
"5401945\n",
"5401947\n",
"5401951\n",
"5401954\n",
"5401971\n",
"5401972\n",
"5401974\n",
"5401980\n",
"5401993\n",
"5402002\n",
"5402007\n",
"5402009\n",
"5402011\n",
"5402016\n",
"5402021\n",
"5402027\n",
"5402038\n",
"5402046\n",
"5402061\n",
"5402101\n",
"5402111\n",
"5402112\n",
"5402121\n",
"5402129\n",
"5402133\n",
"5402134\n",
"5402136\n",
"5402137\n",
"5402144\n",
"5402182\n",
"5402202\n",
"5402207\n",
"5402217\n",
"5402221\n",
"5402224\n",
"5402237\n",
"5402239\n",
"5402242\n",
"5402246\n",
"5402260\n",
"5402262\n",
"5402273\n",
"5402280\n",
"5402284\n",
"5402285\n",
"5402302\n",
"5402312\n",
"5402314\n",
"5402323\n",
"5402344\n",
"5402350\n",
"5402364\n",
"5402366\n",
"5402367\n",
"5402378\n",
"5402383\n",
"5402386\n",
"5402387\n",
"5402391\n",
"5402395\n",
"5402399\n",
"5402414\n",
"5402423\n",
"5402429\n",
"5402433\n",
"5402436\n",
"5402444\n",
"5402452\n",
"5402464\n",
"5402475\n",
"5402483\n",
"5402486\n",
"5402490\n",
"5402516\n",
"5402522\n",
"5402557\n",
"5402569\n",
"5402574\n",
"5402585\n",
"5402596\n",
"5402609\n",
"5402612\n",
"5402615\n",
"5402624\n",
"5402642\n",
"5402647\n",
"5402653\n",
"5402657\n",
"5402658\n",
"5402685\n",
"5402689\n",
"5402698\n",
"5402702\n",
"5402713\n",
"5402714\n",
"5402719\n",
"5402728\n",
"5402733\n",
"5402738\n",
"5402755\n",
"5402756\n",
"5402759\n",
"5402763\n",
"5402773\n",
"5402774\n",
"5402782\n",
"5402807\n",
"5402818\n",
"5402827\n",
"5402832\n",
"5402837\n",
"5402838\n",
"5402839\n",
"5402845\n",
"5402864\n",
"5402874\n",
"5402888\n",
"5402892\n",
"5402920\n",
"5402932\n",
"5402939\n",
"5402940\n",
"5402943\n",
"5402953\n",
"5402955\n",
"5402963\n",
"5402966\n",
"5402972\n",
"5402995\n",
"5403003\n",
"5403008\n",
"5403009\n",
"5403016\n",
"5403022\n",
"5403025\n",
"5403032\n",
"5403043\n",
"5403055\n",
"5403071\n",
"5403081\n",
"5403089\n",
"5403092\n",
"5403108\n",
"5403122\n",
"5403126\n",
"5403132\n",
"5403137\n",
"5403143\n",
"5403150\n",
"5403151\n",
"5403153\n",
"5403161\n",
"5403180\n",
"5403182\n",
"5403187\n",
"5403205\n",
"5403206\n",
"5403207\n",
"5403225\n",
"5403231\n",
"5403245\n",
"5403255\n",
"5403257\n",
"5403264\n",
"5403267\n",
"5403270\n",
"5403291\n",
"5403295\n",
"5403300\n",
"5403307\n",
"5403308\n",
"5403320\n",
"5403336\n",
"5403343\n",
"5403345\n",
"5403346\n",
"5403350\n",
"5403360\n",
"5403378\n",
"5403383\n",
"5403391\n",
"5403401\n",
"5403403\n",
"5403411\n",
"5403412\n",
"5403419\n",
"5403425\n",
"5403427\n",
"5403428\n",
"5403442\n",
"5403458\n",
"5403468\n",
"5403477\n",
"5403484\n",
"5403488\n",
"5403503\n",
"5403514\n",
"5403515\n",
"5403516\n",
"5403533\n",
"5403537\n",
"5403550\n",
"5403561\n",
"5403568\n",
"5403575\n",
"5403576\n",
"5403578\n",
"5403580\n",
"5403600\n",
"5403611\n",
"5403628\n",
"5403640\n",
"5403641\n",
"5403646\n",
"5403656\n",
"5403664\n",
"5403669\n",
"5403680\n",
"5403689\n",
"5403693\n",
"5403700\n",
"5403701\n",
"5403711\n",
"5403714\n",
"5403751\n",
"5403762\n",
"5403765\n",
"5403778\n",
"5403800\n",
"5403803\n",
"5403822\n",
"5403830\n",
"5403851\n",
"5403860\n",
"5403912\n",
"5403931\n",
"5403933\n",
"5403937\n",
"5403950\n",
"5403978\n",
"5403985\n",
"5404060\n",
"5404108\n",
"5404121\n",
"5404171\n",
"5404180\n",
"5404203\n",
"5404208\n",
"5404222\n",
"5404268\n",
"5404332\n",
"5404377\n",
"5404388\n",
"5404419\n",
"5404426\n",
"5404428\n",
"5404463\n",
"5404519\n",
"5404520\n",
"5404575\n",
"5404664\n",
"5404724\n",
"5408549\n",
"5408717\n",
"5409082\n",
"5409181\n",
"5409206\n",
"5409570\n",
"5409600\n",
"5409624\n",
"5409873\n",
"5409909\n",
"5409928\n",
"5409933\n",
"5410099\n",
"5410255\n",
"5410537\n",
"5410816\n",
"5410858\n",
"5410915\n",
"5410999\n",
"5411210\n",
"5411344\n",
"5411628\n",
"5411786\n",
"5411819\n",
"5411995\n",
"5412283\n",
"5412294\n",
"5412299\n",
"5412531\n",
"5412574\n",
"5412582\n",
"5412625\n",
"5412868\n",
"5413128\n",
"5413279\n",
"5413316\n",
"5413428\n",
"5413645\n",
"5414511\n",
"5415170\n",
"5415253\n",
"5416430\n",
"5416519\n",
"5417907\n",
"5417926\n",
"5419066\n",
"5419190\n",
"5420524\n",
"5421440\n",
"5464344\n",
"5464345\n",
"5464346\n",
"5464347\n",
"5464348\n",
"5464349\n",
"5464350\n",
"5464352\n",
"5464353\n",
"5464354\n",
"5464355\n",
"5464356\n",
"5464357\n",
"5464358\n",
"5464359\n",
"5464361\n",
"5464363\n",
"5464364\n",
"5464365\n",
"5464366\n",
"5464371\n",
"5464372\n",
"5464374\n",
"5464382\n",
"5464383\n",
"5464387\n",
"5464389\n",
"5464391\n",
"5464393\n",
"5464396\n",
"5464397\n",
"5464404\n",
"5464436\n",
"5464536\n",
"5464554\n",
"5464588\n",
"5464591\n",
"5464593\n",
"5464599\n",
"5464605\n",
"5464609\n",
"5464612\n",
"5464614\n",
"5464618\n",
"5464620\n",
"5464622\n",
"5464625\n",
"5464627\n",
"5464630\n",
"5464631\n",
"5464635\n",
"5464636\n",
"5464645\n",
"5464650\n",
"5464652\n",
"5464653\n",
"5464656\n",
"5464663\n",
"5464664\n",
"5464672\n",
"5464674\n",
"5464678\n",
"5464679\n",
"5464686\n",
"5464687\n",
"5464688\n",
"5464690\n",
"5464692\n",
"5464694\n",
"5464700\n",
"5464703\n",
"5464704\n",
"5464706\n",
"5464707\n",
"5464709\n",
"5464711\n",
"5464713\n",
"5464715\n",
"5464716\n",
"5464720\n",
"5464724\n",
"5464726\n",
"5464727\n",
"5464729\n",
"5464730\n",
"5464731\n",
"5464732\n",
"5464733\n",
"5464735\n",
"5464736\n",
"5464737\n",
"5464739\n",
"5464740\n",
"5464741\n",
"5464744\n",
"5464745\n",
"5464750\n",
"5464751\n",
"5464752\n",
"5464754\n",
"5464759\n",
"5464760\n",
"5464762\n",
"5464763\n",
"5464764\n",
"5464765\n",
"5464768\n",
"5464769\n",
"5464772\n",
"5464773\n",
"5464774\n",
"5464779\n",
"5464782\n",
"5464789\n",
"5464790\n",
"5464791\n",
"5464796\n",
"5464800\n",
"5464807\n",
"5464808\n",
"5464809\n",
"5464810\n",
"5464813\n",
"5464815\n",
"5464816\n",
"5464817\n",
"5464821\n",
"5464823\n",
"5464825\n",
"5464827\n",
"5464828\n",
"5464829\n",
"5464830\n",
"5464832\n",
"5464835\n",
"5464836\n",
"5464837\n",
"5464838\n",
"5464839\n",
"5464840\n",
"5464843\n",
"5464845\n",
"5464846\n",
"5464847\n",
"5464850\n",
"5464851\n",
"5464852\n",
"5464853\n",
"5464856\n",
"5464859\n",
"5464860\n",
"5464864\n",
"5464870\n",
"5464871\n",
"5464872\n",
"5464873\n",
"5464874\n",
"5464876\n",
"5464878\n",
"5464879\n",
"5464880\n",
"5464884\n",
"5464888\n",
"5464889\n",
"5464890\n",
"5464894\n",
"5464898\n",
"5464899\n",
"5464900\n",
"5464902\n",
"5464904\n",
"5464905\n",
"5464908\n",
"5464909\n",
"5464910\n",
"5464912\n",
"5464915\n",
"5464918\n",
"5464922\n",
"5464923\n",
"5464924\n",
"5464925\n",
"5464926\n",
"5464928\n",
"5464933\n",
"5464938\n",
"5464941\n",
"5464943\n",
"5464947\n",
"5464949\n",
"5464954\n",
"5464959\n",
"5464961\n",
"5464963\n",
"5464966\n",
"5464968\n",
"5464972\n",
"5464973\n",
"5464975\n",
"5464977\n",
"5464979\n",
"5464980\n",
"5464983\n",
"5464988\n",
"5464990\n",
"5464991\n",
"5464993\n",
"5464994\n",
"5465001\n",
"5465002\n",
"5465003\n",
"5465007\n",
"5465008\n",
"5465009\n",
"5465014\n",
"5465016\n",
"5465018\n",
"5465019\n",
"5465020\n",
"5465023\n",
"5465025\n",
"5465029\n",
"5465035\n",
"5465038\n",
"5465042\n",
"5465046\n",
"5465047\n",
"5465050\n",
"5465052\n",
"5465056\n",
"5465058\n",
"5465059\n",
"5465063\n",
"5465066\n",
"5465068\n",
"5465070\n",
"5465071\n",
"5465073\n",
"5465074\n",
"5465076\n",
"5465078\n",
"5465082\n",
"5465089\n",
"5465096\n",
"5465100\n",
"5465101\n",
"5465102\n",
"5465107\n",
"5465108\n",
"5465110\n",
"5465112\n",
"5465115\n",
"5465120\n",
"5465131\n",
"5465137\n",
"5465142\n",
"5465152\n",
"5465159\n",
"5465163\n",
"5465169\n",
"5465174\n",
"5465178\n",
"5465179\n",
"5465182\n",
"5465204\n",
"5465206\n",
"5465209\n",
"5465214\n",
"5465229\n",
"5465235\n",
"5465269\n",
"5465273\n",
"5465459\n",
"5465776\n",
"5466444\n",
"5466516\n",
"5466550\n",
"5466565\n",
"5466581\n",
"5466596\n",
"5466611\n",
"5466621\n",
"5466622\n",
"5466626\n",
"5466651\n",
"5466654\n",
"5466672\n",
"5466686\n",
"5466687\n",
"5466690\n",
"5466708\n",
"5466715\n",
"5466747\n",
"5466748\n",
"5466754\n",
"5466755\n",
"5466761\n",
"5466764\n",
"5466765\n",
"5466780\n",
"5466788\n",
"5466799\n",
"5466808\n",
"5466810\n",
"5466827\n",
"5466836\n",
"5466837\n",
"5466850\n",
"5466856\n",
"5466859\n",
"5466876\n",
"5466881\n",
"5466886\n",
"5466887\n",
"5466903\n",
"5466905\n",
"5466924\n",
"5466932\n",
"5466934\n",
"5466942\n",
"5466976\n",
"5466986\n",
"5467013\n",
"5467014\n",
"5467031\n",
"5467042\n",
"5467052\n",
"5467054\n",
"5467057\n",
"5467077\n",
"5467080\n",
"5467099\n",
"5467115\n",
"5467153\n",
"5467155\n",
"5467166\n",
"5467180\n",
"5467184\n",
"5467202\n",
"5467226\n",
"5467228\n",
"5467231\n",
"5467260\n",
"5467262\n",
"5467274\n",
"5467287\n",
"5467295\n",
"5467298\n",
"5467347\n",
"5467349\n",
"5467353\n",
"5467364\n",
"5467383\n",
"5467396\n",
"5467406\n",
"5467423\n",
"5467447\n",
"5467450\n",
"5467459\n",
"5467463\n",
"5467472\n",
"5467476\n",
"5467490\n",
"5467525\n",
"5467528\n",
"5467532\n",
"5467533\n",
"5467538\n",
"5467541\n",
"5467546\n",
"5467551\n",
"5467557\n",
"5467567\n",
"5467579\n",
"5467588\n",
"5467592\n",
"5467595\n",
"5467598\n",
"5467619\n",
"5467627\n",
"5467630\n",
"5467635\n",
"5467637\n",
"5467644\n",
"5467659\n",
"5467666\n",
"5467672\n",
"5467683\n",
"5467693\n",
"5467709\n",
"5467713\n",
"5467714\n",
"5467725\n",
"5467731\n",
"5467740\n",
"5467749\n",
"5467765\n",
"5467770\n",
"5467775\n",
"5467777\n",
"5467795\n",
"5467799\n",
"5467802\n",
"5467803\n",
"5467804\n",
"5467833\n",
"5467841\n",
"5467849\n",
"5467856\n",
"5467875\n",
"5467880\n",
"5467882\n",
"5467898\n",
"5467912\n",
"5467922\n",
"5467924\n",
"5467934\n",
"5467935\n",
"5467941\n",
"5467952\n",
"5467956\n",
"5467963\n",
"5467968\n",
"5467969\n",
"5467979\n",
"5467987\n",
"5467997\n",
"5468031\n",
"5468038\n",
"5468041\n",
"5468048\n",
"5468051\n",
"5468054\n",
"5468066\n",
"5468093\n",
"5468100\n",
"5468118\n",
"5468125\n",
"5468129\n",
"5468133\n",
"5468140\n",
"5468157\n",
"5468167\n",
"5468174\n",
"5468175\n",
"5468179\n",
"5468185\n",
"5468191\n",
"5468204\n",
"5468207\n",
"5468216\n",
"5468245\n",
"5468282\n",
"5468298\n",
"5468304\n",
"5468307\n",
"5468332\n",
"5468336\n",
"5468355\n",
"5468366\n",
"5468369\n",
"5468372\n",
"5468380\n",
"5468381\n",
"5468385\n",
"5468407\n",
"5468415\n",
"5468426\n",
"5468429\n",
"5468443\n",
"5468462\n",
"5468464\n",
"5468468\n",
"5468472\n",
"5468477\n",
"5468485\n",
"5468488\n",
"5468489\n",
"5468491\n",
"5468506\n",
"5468512\n",
"5468514\n",
"5468525\n",
"5468555\n",
"5468567\n",
"5468570\n",
"5468589\n",
"5468592\n",
"5468616\n",
"5468624\n",
"5468661\n",
"5468668\n",
"5468679\n",
"5468680\n",
"5468689\n",
"5468695\n",
"5468700\n",
"5468705\n",
"5468734\n",
"5468740\n",
"5468785\n",
"5468794\n",
"5468802\n",
"5468854\n",
"5468862\n",
"5468867\n",
"5468882\n",
"5468887\n",
"5468890\n",
"5468892\n",
"5468909\n",
"5468911\n",
"5468914\n",
"5468915\n",
"5468925\n",
"5468932\n",
"5468934\n",
"5468950\n",
"5468953\n",
"5468956\n",
"5468966\n",
"5469007\n",
"5469011\n",
"5469018\n",
"5469020\n",
"5469095\n",
"5469142\n",
"5469149\n",
"5469158\n",
"5469162\n",
"5469174\n",
"5469208\n",
"5469260\n",
"5469304\n",
"5469325\n",
"5469336\n",
"5469377\n",
"5469388\n",
"5469401\n",
"5469445\n",
"5469447\n",
"5469467\n",
"5469475\n",
"5469476\n",
"5469494\n",
"5469498\n",
"5469500\n",
"5469503\n",
"5469518\n",
"5469528\n",
"5469533\n",
"5469538\n",
"5469571\n",
"5469654\n",
"5469747\n",
"5469760\n",
"5469800\n",
"5469812\n",
"5469814\n",
"5469867\n",
"5470021\n",
"5470151\n",
"5470159\n",
"5470243\n",
"5470282\n",
"5470546\n",
"5470547\n",
"5470720\n",
"5471033\n",
"5471038\n",
"5471236\n",
"5471472\n",
"5471618\n",
"5472163\n",
"5472331\n",
"5472434\n",
"5473004\n",
"5473435\n",
"5473665\n",
"5473908\n",
"5473923\n",
"5474005\n",
"5474233\n",
"5474234\n",
"5474332\n",
"5474366\n",
"5474562\n",
"5474594\n",
"5474646\n",
"5474660\n",
"5474668\n",
"5474681\n",
"5474758\n",
"5474764\n",
"5474839\n",
"5474921\n",
"5475248\n",
"5475439\n",
"5475613\n",
"5475618\n",
"5475793\n",
"5475880\n",
"5475908\n",
"5476095\n",
"5476462\n",
"5476927\n",
"5477033\n",
"5477107\n",
"5477115\n",
"5477282\n",
"5477340\n",
"5477354\n",
"5477702\n",
"5478073\n",
"5478089\n",
"5478196\n",
"5478209\n",
"5478321\n",
"5478905\n",
"5479021\n",
"5479045\n",
"5479187\n",
"5479269\n",
"5479277\n",
"5479506\n",
"5479529\n",
"5479551\n",
"5479651\n",
"5479811\n",
"5479908\n",
"5480223\n",
"5480619\n",
"5481519\n",
"5481605\n",
"5481802\n",
"5482413\n",
"5483146\n",
"5483401\n",
"5483673\n",
"5484193\n",
"5484342\n",
"5484386\n",
"5484587\n",
"5485317\n",
"5485319\n",
"5485494\n",
"5485738\n",
"5485949\n",
"5486245\n",
"5486448\n",
"5486766\n",
"5486810\n",
"5487072\n",
"5487248\n",
"5487387\n",
"5487621\n",
"5487915\n",
"5487931\n",
"5487958\n",
"5488159\n",
"5488433\n",
"5488619\n",
"5488796\n",
"5488962\n",
"5489247\n",
"5489538\n",
"5489600\n",
"5490351\n",
"5490367\n",
"5491034\n",
"5491117\n",
"5491428\n",
"5492166\n",
"5492179\n",
"5492201\n",
"5492493\n",
"5493386\n",
"5493488\n",
"5494272\n",
"5494409\n",
"5494845\n",
"5494947\n",
"5495648\n",
"5496274\n",
"5496600\n",
"5496615\n",
"5496623\n",
"5496766\n",
"5497114\n",
"5497763\n",
"5497978\n",
"5498053\n",
"5498147\n",
"5498455\n",
"5498456\n",
"5498551\n",
"5499305\n",
"5499562\n",
"5499563\n",
"5499999\n",
"5500064\n",
"5500075\n",
"5500500\n",
"5500533\n",
"5500737\n",
"5500893\n",
"5500923\n",
"5501047\n",
"5501115\n",
"5501391\n",
"5501685\n",
"5501713\n",
"5501742\n",
"5501789\n",
"5502350\n",
"5503491\n",
"5503672\n",
"5503897\n",
"5504216\n",
"5504423\n",
"5504817\n",
"5505292\n",
"5505308\n",
"5505676\n",
"5506297\n",
"5506727\n",
"5506802\n",
"5506895\n",
"5507010\n",
"5507140\n",
"5507192\n",
"5507517\n",
"5507556\n",
"5507586\n",
"5507757\n",
"5507831\n",
"5507892\n",
"5508033\n",
"5508077\n",
"5508530\n",
"5508641\n",
"5508730\n",
"5509372\n",
"5510191\n",
"5510548\n",
"5511049\n",
"5511092\n",
"5511099\n",
"5511157\n",
"5511570\n",
"5511791\n",
"5511799\n",
"5511891\n",
"5512276\n",
"5512361\n",
"5512751\n",
"5512760\n",
"5512931\n",
"5513014\n",
"5513528\n",
"5513642\n",
"5528457\n",
"5528460\n",
"5528462\n",
"5528463\n",
"5528464\n",
"5528466\n",
"5528468\n",
"5528469\n",
"5528470\n",
"5528471\n",
"5528472\n",
"5528474\n",
"5528475\n",
"5528476\n",
"5528477\n",
"5528478\n",
"5528479\n",
"5528480\n",
"5528481\n",
"5528482\n",
"5528484\n",
"5528485\n",
"5528487\n",
"5528488\n",
"5528492\n",
"5528493\n",
"5528496\n",
"5528505\n",
"5528507\n",
"5528510\n",
"5528514\n",
"5528519\n",
"5528583\n",
"5528618\n",
"5528620\n",
"5528622\n",
"5528624\n",
"5528632\n",
"5528633\n",
"5528634\n",
"5528637\n",
"5528638\n",
"5528641\n",
"5528642\n",
"5528645\n",
"5528648\n",
"5528649\n",
"5528652\n",
"5528653\n",
"5528654\n",
"5528655\n",
"5528656\n",
"5528657\n",
"5528659\n",
"5528662\n",
"5528664\n",
"5528665\n",
"5528670\n",
"5528673\n",
"5528674\n",
"5528675\n",
"5528676\n",
"5528681\n",
"5528682\n",
"5528683\n",
"5528684\n",
"5528686\n",
"5528687\n",
"5528690\n",
"5528694\n",
"5528696\n",
"5528697\n",
"5528699\n",
"5528703\n",
"5528705\n",
"5528708\n",
"5528710\n",
"5528712\n",
"5528713\n",
"5528714\n",
"5528715\n",
"5528718\n",
"5528723\n",
"5528724\n",
"5528725\n",
"5528726\n",
"5528727\n",
"5528728\n",
"5528729\n",
"5528730\n",
"5528731\n",
"5528732\n",
"5528733\n",
"5528734\n",
"5528735\n",
"5528738\n",
"5528739\n",
"5528740\n",
"5528741\n",
"5528742\n",
"5528743\n",
"5528744\n",
"5528745\n",
"5528746\n",
"5528750\n",
"5528752\n",
"5528755\n",
"5528757\n",
"5528758\n",
"5528763\n",
"5528765\n",
"5528766\n",
"5528767\n",
"5528771\n",
"5528772\n",
"5528773\n",
"5528774\n",
"5528775\n",
"5528776\n",
"5528778\n",
"5528780\n",
"5528782\n",
"5528785\n",
"5528786\n",
"5528787\n",
"5528788\n",
"5528790\n",
"5528792\n",
"5528793\n",
"5528794\n",
"5528795\n",
"5528796\n",
"5528797\n",
"5528798\n",
"5528799\n",
"5528800\n",
"5528801\n",
"5528803\n",
"5528804\n",
"5528805\n",
"5528806\n",
"5528808\n",
"5528809\n",
"5528811\n",
"5528812\n",
"5528814\n",
"5528815\n",
"5528817\n",
"5528818\n",
"5528820\n",
"5528821\n",
"5528823\n",
"5528826\n",
"5528833\n",
"5528834\n",
"5528835\n",
"5528838\n",
"5528842\n",
"5528843\n",
"5528844\n",
"5528845\n",
"5528846\n",
"5528848\n",
"5528849\n",
"5528853\n",
"5528854\n",
"5528855\n",
"5528856\n",
"5528857\n",
"5528859\n",
"5528861\n",
"5528862\n",
"5528863\n",
"5528865\n",
"5528866\n",
"5528869\n",
"5528874\n",
"5528877\n",
"5528878\n",
"5528879\n",
"5528880\n",
"5528881\n",
"5528886\n",
"5528887\n",
"5528889\n",
"5528891\n",
"5528893\n",
"5528894\n",
"5528895\n",
"5528896\n",
"5528897\n",
"5528899\n",
"5528902\n",
"5528903\n",
"5528904\n",
"5528905\n",
"5528908\n",
"5528909\n",
"5528910\n",
"5528911\n",
"5528915\n",
"5528917\n",
"5528918\n",
"5528919\n",
"5528921\n",
"5528922\n",
"5528926\n",
"5528927\n",
"5528928\n",
"5528932\n",
"5528933\n",
"5528937\n",
"5528938\n",
"5528939\n",
"5528941\n",
"5528942\n",
"5528943\n",
"5528944\n",
"5528945\n",
"5528946\n",
"5528947\n",
"5528948\n",
"5528949\n",
"5528950\n",
"5528951\n",
"5528952\n",
"5528953\n",
"5528955\n",
"5528956\n",
"5528957\n",
"5528958\n",
"5528960\n",
"5528961\n",
"5528963\n",
"5528964\n",
"5528965\n",
"5528967\n",
"5528968\n",
"5528969\n",
"5528970\n",
"5528971\n",
"5528972\n",
"5528973\n",
"5528974\n",
"5528975\n",
"5528978\n",
"5528979\n",
"5528984\n",
"5528986\n",
"5528987\n",
"5528989\n",
"5528990\n",
"5528991\n",
"5528993\n",
"5528994\n",
"5528998\n",
"5528999\n",
"5529000\n",
"5529004\n",
"5529006\n",
"5529007\n",
"5529014\n",
"5529015\n",
"5529016\n",
"5529026\n",
"5529033\n",
"5529040\n",
"5529041\n",
"5529042\n",
"5529046\n",
"5529050\n",
"5529052\n",
"5529055\n",
"5529063\n",
"5529071\n",
"5529073\n",
"5529075\n",
"5529076\n",
"5529080\n",
"5529082\n",
"5529090\n",
"5529099\n",
"5529118\n",
"5529122\n",
"5529128\n",
"5529134\n",
"5529165\n",
"5529170\n",
"5529491\n",
"5529583\n",
"5529748\n",
"5529782\n",
"5529952\n",
"5529966\n",
"5530047\n",
"5530052\n",
"5530118\n",
"5530134\n",
"5530185\n",
"5530195\n",
"5530197\n",
"5530202\n",
"5530227\n",
"5530233\n",
"5530235\n",
"5530276\n",
"5530278\n",
"5530295\n",
"5530299\n",
"5530301\n",
"5530308\n",
"5530313\n",
"5530316\n",
"5530325\n",
"5530354\n",
"5530355\n",
"5530363\n",
"5530372\n",
"5530386\n",
"5530389\n",
"5530393\n",
"5530398\n",
"5530412\n",
"5530415\n",
"5530417\n",
"5530420\n",
"5530421\n",
"5530426\n",
"5530429\n",
"5530431\n",
"5530432\n",
"5530448\n",
"5530452\n",
"5530457\n",
"5530458\n",
"5530463\n",
"5530465\n",
"5530467\n",
"5530478\n",
"5530482\n",
"5530484\n",
"5530490\n",
"5530493\n",
"5530496\n",
"5530523\n",
"5530525\n",
"5530529\n",
"5530544\n",
"5530546\n",
"5530549\n",
"5530552\n",
"5530562\n",
"5530565\n",
"5530581\n",
"5530596\n",
"5530603\n",
"5530608\n",
"5530614\n",
"5530617\n",
"5530641\n",
"5530645\n",
"5530649\n",
"5530653\n",
"5530657\n",
"5530665\n",
"5530668\n",
"5530670\n",
"5530678\n",
"5530689\n",
"5530690\n",
"5530701\n",
"5530705\n",
"5530718\n",
"5530729\n",
"5530744\n",
"5530751\n",
"5530769\n",
"5530786\n",
"5530788\n",
"5530789\n",
"5530791\n",
"5530806\n",
"5530808\n",
"5530832\n",
"5530859\n",
"5530862\n",
"5530876\n",
"5530877\n",
"5530878\n",
"5530880\n",
"5530888\n",
"5530889\n",
"5530906\n",
"5530913\n",
"5530914\n",
"5530924\n",
"5530944\n",
"5530958\n",
"5530959\n",
"5530960\n",
"5530963\n",
"5530981\n",
"5530987\n",
"5530992\n",
"5530996\n",
"5531005\n",
"5531010\n",
"5531018\n",
"5531020\n",
"5531029\n",
"5531035\n",
"5531036\n",
"5531047\n",
"5531072\n",
"5531074\n",
"5531102\n",
"5531104\n",
"5531119\n",
"5531125\n",
"5531134\n",
"5531137\n",
"5531141\n",
"5531142\n",
"5531144\n",
"5531147\n",
"5531154\n",
"5531157\n",
"5531165\n",
"5531166\n",
"5531182\n",
"5531187\n",
"5531198\n",
"5531208\n",
"5531215\n",
"5531218\n",
"5531222\n",
"5531224\n",
"5531225\n",
"5531231\n",
"5531237\n",
"5531263\n",
"5531284\n",
"5531296\n",
"5531302\n",
"5531305\n",
"5531306\n",
"5531321\n",
"5531329\n",
"5531332\n",
"5531347\n",
"5531355\n",
"5531360\n",
"5531377\n",
"5531385\n",
"5531393\n",
"5531394\n",
"5531396\n",
"5531411\n",
"5531416\n",
"5531422\n",
"5531424\n",
"5531427\n",
"5531435\n",
"5531438\n",
"5531443\n",
"5531447\n",
"5531463\n",
"5531467\n",
"5531476\n",
"5531486\n",
"5531494\n",
"5531495\n",
"5531527\n",
"5531532\n",
"5531542\n",
"5531561\n",
"5531565\n",
"5531576\n",
"5531593\n",
"5531595\n",
"5531599\n",
"5531604\n",
"5531608\n",
"5531611\n",
"5531637\n",
"5531638\n",
"5531664\n",
"5531666\n",
"5531671\n",
"5531673\n",
"5531680\n",
"5531691\n",
"5531698\n",
"5531699\n",
"5531712\n",
"5531719\n",
"5531723\n",
"5531746\n",
"5531754\n",
"5531762\n",
"5531763\n",
"5531764\n",
"5531767\n",
"5531784\n",
"5531787\n",
"5531788\n",
"5531789\n",
"5531791\n",
"5531793\n",
"5531794\n",
"5531796\n",
"5531797\n",
"5531805\n",
"5531816\n",
"5531818\n",
"5531843\n",
"5531844\n",
"5531849\n",
"5531887\n",
"5531890\n",
"5531905\n",
"5531906\n",
"5531954\n",
"5531959\n",
"5531981\n",
"5531983\n",
"5531988\n",
"5531996\n",
"5532000\n",
"5532001\n",
"5532012\n",
"5532019\n",
"5532042\n",
"5532044\n",
"5532050\n",
"5532051\n",
"5532053\n",
"5532059\n",
"5532066\n",
"5532076\n",
"5532085\n",
"5532087\n",
"5532100\n",
"5532103\n",
"5532117\n",
"5532123\n",
"5532135\n",
"5532139\n",
"5532151\n",
"5532153\n",
"5532213\n",
"5532247\n",
"5532275\n",
"5532296\n",
"5532304\n",
"5532314\n",
"5532356\n",
"5532376\n",
"5532379\n",
"5532400\n",
"5532410\n",
"5532424\n",
"5532450\n",
"5532455\n",
"5532456\n",
"5532462\n",
"5532466\n",
"5532470\n",
"5532473\n",
"5532481\n",
"5532489\n",
"5532507\n",
"5532517\n",
"5532565\n",
"5532579\n",
"5532581\n",
"5532586\n",
"5532587\n",
"5532607\n",
"5532613\n",
"5532619\n",
"5532624\n",
"5532627\n",
"5532647\n",
"5532661\n",
"5532678\n",
"5532689\n",
"5532698\n",
"5532702\n",
"5532711\n",
"5532744\n",
"5532748\n",
"5532758\n",
"5532791\n",
"5532797\n",
"5532824\n",
"5532825\n",
"5532826\n",
"5532844\n",
"5532858\n",
"5532869\n",
"5532905\n",
"5532949\n",
"5532978\n",
"5533061\n",
"5533143\n",
"5533155\n",
"5533178\n",
"5533182\n",
"5533208\n",
"5533387\n",
"5533390\n",
"5533520\n",
"5533863\n",
"5536551\n",
"5536679\n",
"5536773\n",
"5536867\n",
"5537131\n",
"5537134\n",
"5537171\n",
"5537286\n",
"5537301\n",
"5537322\n",
"5537373\n",
"5537401\n",
"5537504\n",
"5537580\n",
"5537681\n",
"5537759\n",
"5537860\n",
"5537945\n",
"5537968\n",
"5538007\n",
"5538044\n",
"5538109\n",
"5538114\n",
"5538240\n",
"5538394\n",
"5538633\n",
"5538765\n",
"5538779\n",
"5538807\n",
"5538841\n",
"5538865\n",
"5538939\n",
"5538944\n",
"5539216\n",
"5539348\n",
"5539851\n",
"5540004\n",
"5540528\n",
"5540554\n",
"5540601\n",
"5540649\n",
"5541349\n",
"5541441\n",
"5541526\n",
"5542404\n",
"5542762\n",
"5542954\n",
"5542966\n",
"5543091\n",
"5543096\n",
"5544071\n",
"5544200\n",
"5544236\n",
"5544267\n",
"5545162\n",
"5545265\n",
"5545604\n",
"5546146\n",
"5546893\n",
"5547260\n",
"5547635\n",
"5547655\n",
"5547662\n",
"5548641\n",
"5549126\n",
"5549356\n",
"5549768\n",
"5550010\n",
"5550357\n",
"5551340\n",
"5551800\n",
"5554758\n",
"5556075\n",
"5558309\n",
"5558897\n",
"5558910\n",
"5559353\n",
"5559930\n",
"5560103\n",
"5561292\n",
"5561884\n",
"5562106\n",
"5563503\n",
"5563710\n",
"5563772\n",
"5564701\n",
"5565742\n",
"5566083\n",
"5567614\n",
"5568024\n",
"5568259\n",
"5568420\n",
"5568827\n",
"5569292\n",
"5570130\n",
"5570660\n",
"5572014\n",
"5575871\n",
"5575902\n",
"5591868\n",
"5591869\n",
"5591870\n",
"5591871\n",
"5591872\n",
"5591874\n",
"5591875\n",
"5591876\n",
"5591877\n",
"5591878\n",
"5591879\n",
"5591880\n",
"5591882\n",
"5591883\n",
"5591884\n",
"5591885\n",
"5591886\n",
"5591887\n",
"5591893\n",
"5591897\n",
"5591901\n",
"5591996\n",
"5592000\n",
"5592003\n",
"5592006\n",
"5592014\n",
"5592018\n",
"5592025\n",
"5592026\n",
"5592031\n",
"5592033\n",
"5592035\n",
"5592038\n",
"5592039\n",
"5592040\n",
"5592047\n",
"5592049\n",
"5592050\n",
"5592051\n",
"5592053\n",
"5592054\n",
"5592055\n",
"5592057\n",
"5592060\n",
"5592062\n",
"5592064\n",
"5592068\n",
"5592069\n",
"5592074\n",
"5592075\n",
"5592077\n",
"5592078\n",
"5592080\n",
"5592081\n",
"5592083\n",
"5592086\n",
"5592088\n",
"5592091\n",
"5592092\n",
"5592094\n",
"5592096\n",
"5592097\n",
"5592098\n",
"5592099\n",
"5592101\n",
"5592102\n",
"5592103\n",
"5592104\n",
"5592107\n",
"5592110\n",
"5592111\n",
"5592113\n",
"5592114\n",
"5592115\n",
"5592116\n",
"5592117\n",
"5592119\n",
"5592120\n",
"5592121\n",
"5592123\n",
"5592124\n",
"5592127\n",
"5592128\n",
"5592129\n",
"5592130\n",
"5592131\n",
"5592133\n",
"5592134\n",
"5592135\n",
"5592136\n",
"5592137\n",
"5592138\n",
"5592139\n",
"5592140\n",
"5592141\n",
"5592142\n",
"5592144\n",
"5592145\n",
"5592146\n",
"5592147\n",
"5592149\n",
"5592150\n",
"5592151\n",
"5592152\n",
"5592154\n",
"5592155\n",
"5592156\n",
"5592158\n",
"5592159\n",
"5592160\n",
"5592161\n",
"5592162\n",
"5592163\n",
"5592164\n",
"5592165\n",
"5592166\n",
"5592167\n",
"5592168\n",
"5592171\n",
"5592173\n",
"5592175\n",
"5592178\n",
"5592179\n",
"5592180\n",
"5592181\n",
"5592182\n",
"5592183\n",
"5592184\n",
"5592185\n",
"5592186\n",
"5592188\n",
"5592190\n",
"5592191\n",
"5592192\n",
"5592193\n",
"5592195\n",
"5592196\n",
"5592197\n",
"5592199\n",
"5592200\n",
"5592201\n",
"5592202\n",
"5592203\n",
"5592204\n",
"5592205\n",
"5592206\n",
"5592207\n",
"5592209\n",
"5592210\n",
"5592211\n",
"5592213\n",
"5592214\n",
"5592216\n",
"5592218\n",
"5592219\n",
"5592221\n",
"5592224\n",
"5592225\n",
"5592227\n",
"5592229\n",
"5592231\n",
"5592233\n",
"5592234\n",
"5592235\n",
"5592236\n",
"5592238\n",
"5592240\n",
"5592241\n",
"5592242\n",
"5592244\n",
"5592245\n",
"5592246\n",
"5592247\n",
"5592249\n",
"5592250\n",
"5592251\n",
"5592252\n",
"5592253\n",
"5592255\n",
"5592256\n",
"5592260\n",
"5592261\n",
"5592262\n",
"5592263\n",
"5592264\n",
"5592265\n",
"5592267\n",
"5592268\n",
"5592270\n",
"5592271\n",
"5592272\n",
"5592274\n",
"5592275\n",
"5592276\n",
"5592279\n",
"5592280\n",
"5592281\n",
"5592284\n",
"5592287\n",
"5592290\n",
"5592291\n",
"5592293\n",
"5592295\n",
"5592298\n",
"5592301\n",
"5592302\n",
"5592304\n",
"5592305\n",
"5592306\n",
"5592307\n",
"5592311\n",
"5592312\n",
"5592313\n",
"5592316\n",
"5592320\n",
"5592321\n",
"5592322\n",
"5592323\n",
"5592325\n",
"5592326\n",
"5592328\n",
"5592329\n",
"5592330\n",
"5592333\n",
"5592339\n",
"5592341\n",
"5592342\n",
"5592344\n",
"5592347\n",
"5592348\n",
"5592350\n",
"5592351\n",
"5592352\n",
"5592355\n",
"5592356\n",
"5592360\n",
"5592361\n",
"5592365\n",
"5592367\n",
"5592372\n",
"5592374\n",
"5592404\n",
"5592423\n",
"5592507\n",
"5592511\n",
"5593125\n",
"5593131\n",
"5593132\n",
"5593180\n",
"5593190\n",
"5593196\n",
"5593231\n",
"5593238\n",
"5593255\n",
"5593258\n",
"5593263\n",
"5593268\n",
"5593272\n",
"5593273\n",
"5593274\n",
"5593277\n",
"5593281\n",
"5593289\n",
"5593296\n",
"5593300\n",
"5593303\n",
"5593317\n",
"5593319\n",
"5593327\n",
"5593330\n",
"5593337\n",
"5593352\n",
"5593353\n",
"5593354\n",
"5593359\n",
"5593362\n",
"5593363\n",
"5593366\n",
"5593374\n",
"5593377\n",
"5593382\n",
"5593389\n",
"5593396\n",
"5593406\n",
"5593408\n",
"5593413\n",
"5593417\n",
"5593420\n",
"5593423\n",
"5593426\n",
"5593430\n",
"5593434\n",
"5593438\n",
"5593447\n",
"5593454\n",
"5593463\n",
"5593470\n",
"5593474\n",
"5593483\n",
"5593501\n",
"5593512\n",
"5593513\n",
"5593519\n",
"5593521\n",
"5593523\n",
"5593525\n",
"5593526\n",
"5593528\n",
"5593534\n",
"5593535\n",
"5593536\n",
"5593543\n",
"5593545\n",
"5593551\n",
"5593554\n",
"5593556\n",
"5593557\n",
"5593562\n",
"5593564\n",
"5593567\n",
"5593569\n",
"5593574\n",
"5593596\n",
"5593602\n",
"5593606\n",
"5593607\n",
"5593609\n",
"5593611\n",
"5593613\n",
"5593617\n",
"5593621\n",
"5593622\n",
"5593626\n",
"5593627\n",
"5593635\n",
"5593639\n",
"5593643\n",
"5593655\n",
"5593658\n",
"5593663\n",
"5593671\n",
"5593682\n",
"5593691\n",
"5593694\n",
"5593696\n",
"5593700\n",
"5593705\n",
"5593708\n",
"5593709\n",
"5593710\n",
"5593711\n",
"5593718\n",
"5593731\n",
"5593737\n",
"5593741\n",
"5593745\n",
"5593746\n",
"5593756\n",
"5593759\n",
"5593764\n",
"5593765\n",
"5593772\n",
"5593775\n",
"5593780\n",
"5593788\n",
"5593791\n",
"5593793\n",
"5593796\n",
"5593797\n",
"5593819\n",
"5593824\n",
"5593837\n",
"5593845\n",
"5593847\n",
"5593849\n",
"5593851\n",
"5593852\n",
"5593854\n",
"5593860\n",
"5593869\n",
"5593874\n",
"5593884\n",
"5593888\n",
"5593908\n",
"5593910\n",
"5593916\n",
"5593919\n",
"5593923\n",
"5593924\n",
"5593927\n",
"5593928\n",
"5593937\n",
"5593940\n",
"5593943\n",
"5593951\n",
"5593955\n",
"5593956\n",
"5593965\n",
"5593967\n",
"5593975\n",
"5593981\n",
"5593987\n",
"5593988\n",
"5593992\n",
"5594007\n",
"5594010\n",
"5594014\n",
"5594015\n",
"5594017\n",
"5594019\n",
"5594020\n",
"5594024\n",
"5594030\n",
"5594040\n",
"5594052\n",
"5594053\n",
"5594054\n",
"5594055\n",
"5594068\n",
"5594070\n",
"5594074\n",
"5594076\n",
"5594079\n",
"5594083\n",
"5594087\n",
"5594096\n",
"5594097\n",
"5594105\n",
"5594109\n",
"5594113\n",
"5594128\n",
"5594129\n",
"5594134\n",
"5594139\n",
"5594143\n",
"5594149\n",
"5594153\n",
"5594156\n",
"5594159\n",
"5594164\n",
"5594173\n",
"5594178\n",
"5594179\n",
"5594180\n",
"5594189\n",
"5594190\n",
"5594195\n",
"5594196\n",
"5594201\n",
"5594207\n",
"5594209\n",
"5594210\n",
"5594211\n",
"5594226\n",
"5594230\n",
"5594234\n",
"5594236\n",
"5594237\n",
"5594239\n",
"5594242\n",
"5594243\n",
"5594246\n",
"5594252\n",
"5594255\n",
"5594257\n",
"5594259\n",
"5594282\n",
"5594296\n",
"5594311\n",
"5594327\n",
"5594337\n",
"5594340\n",
"5594349\n",
"5594370\n",
"5594375\n",
"5594376\n",
"5594381\n",
"5594386\n",
"5594393\n",
"5594394\n",
"5594396\n",
"5594397\n",
"5594401\n",
"5594405\n",
"5594409\n",
"5594414\n",
"5594420\n",
"5594423\n",
"5594426\n",
"5594430\n",
"5594433\n",
"5594445\n",
"5594457\n",
"5594463\n",
"5594468\n",
"5594471\n",
"5594474\n",
"5594479\n",
"5594481\n",
"5594483\n",
"5594485\n",
"5594490\n",
"5594493\n",
"5594502\n",
"5594504\n",
"5594512\n",
"5594515\n",
"5594516\n",
"5594520\n",
"5594529\n",
"5594533\n",
"5594557\n",
"5594568\n",
"5594574\n",
"5594586\n",
"5594593\n",
"5594594\n",
"5594595\n",
"5594600\n",
"5594602\n",
"5594626\n",
"5594630\n",
"5594646\n",
"5594653\n",
"5594662\n",
"5594672\n",
"5594673\n",
"5594691\n",
"5594703\n",
"5594715\n",
"5594718\n",
"5594720\n",
"5594721\n",
"5594723\n",
"5594724\n",
"5594731\n",
"5594744\n",
"5594747\n",
"5594748\n",
"5594755\n",
"5594765\n",
"5594781\n",
"5594802\n",
"5594803\n",
"5594807\n",
"5594824\n",
"5594826\n",
"5594832\n",
"5594841\n",
"5594842\n",
"5594843\n",
"5594846\n",
"5594852\n",
"5594860\n",
"5594862\n",
"5594871\n",
"5594881\n",
"5594893\n",
"5594898\n",
"5594903\n",
"5594905\n",
"5594913\n",
"5594925\n",
"5594937\n",
"5594939\n",
"5594944\n",
"5594948\n",
"5594963\n",
"5594967\n",
"5594987\n",
"5594991\n",
"5595000\n",
"5595009\n",
"5595011\n",
"5595025\n",
"5595034\n",
"5595039\n",
"5595050\n",
"5595051\n",
"5595052\n",
"5595066\n",
"5595068\n",
"5595069\n",
"5595078\n",
"5595085\n",
"5595095\n",
"5595107\n",
"5595108\n",
"5595113\n",
"5595130\n",
"5595136\n",
"5595145\n",
"5595146\n",
"5595151\n",
"5595155\n",
"5595161\n",
"5595169\n",
"5595188\n",
"5595193\n",
"5595206\n",
"5595208\n",
"5595209\n",
"5595221\n",
"5595230\n",
"5595267\n",
"5595284\n",
"5595290\n",
"5595297\n",
"5595307\n",
"5595309\n",
"5595319\n",
"5595391\n",
"5595411\n",
"5595420\n",
"5595442\n",
"5595523\n",
"5595530\n",
"5595649\n",
"5595658\n",
"5595663\n",
"5595762\n",
"5598364\n",
"5598441\n",
"5598519\n",
"5598716\n",
"5598786\n",
"5598803\n",
"5598951\n",
"5598956\n",
"5598995\n",
"5599054\n",
"5599097\n",
"5599120\n",
"5599166\n",
"5599210\n",
"5599324\n",
"5599455\n",
"5599737\n",
"5599770\n",
"5599773\n",
"5599969\n",
"5600246\n",
"5600405\n",
"5600667\n",
"5600695\n",
"5600934\n",
"5601093\n",
"5601166\n",
"5601183\n",
"5601565\n",
"5601764\n",
"5601840\n",
"5601931\n",
"5602249\n",
"5602683\n",
"5602847\n",
"5603082\n",
"5603106\n",
"5603185\n",
"5604592\n",
"5605270\n",
"5606234\n",
"5608697\n",
"5609788\n",
"5615313\n",
"5645511\n",
"5645512\n",
"5645513\n",
"5645514\n",
"5645515\n",
"5645516\n",
"5645517\n",
"5645518\n",
"5645520\n",
"5645521\n",
"5645522\n",
"5645523\n",
"5645524\n",
"5645525\n",
"5645526\n",
"5645527\n",
"5645528\n",
"5645529\n",
"5645530\n",
"5645531\n",
"5645532\n",
"5645533\n",
"5645534\n",
"5645542\n",
"5645544\n",
"5645546\n",
"5645548\n",
"5645549\n",
"5645551\n",
"5645556\n",
"5645557\n",
"5645559\n",
"5645562\n",
"5645647\n",
"5645658\n",
"5645673\n",
"5645677\n",
"5645689\n",
"5645697\n",
"5645698\n",
"5645705\n",
"5645706\n",
"5645709\n",
"5645713\n",
"5645714\n",
"5645717\n",
"5645718\n",
"5645721\n",
"5645722\n",
"5645723\n",
"5645724\n",
"5645728\n",
"5645729\n",
"5645737\n",
"5645739\n",
"5645744\n",
"5645748\n",
"5645750\n",
"5645751\n",
"5645752\n",
"5645757\n",
"5645758\n",
"5645759\n",
"5645760\n",
"5645761\n",
"5645762\n",
"5645765\n",
"5645768\n",
"5645775\n",
"5645776\n",
"5645778\n",
"5645780\n",
"5645785\n",
"5645786\n",
"5645788\n",
"5645789\n",
"5645791\n",
"5645793\n",
"5645795\n",
"5645797\n",
"5645799\n",
"5645800\n",
"5645802\n",
"5645806\n",
"5645808\n",
"5645809\n",
"5645810\n",
"5645811\n",
"5645812\n",
"5645814\n",
"5645815\n",
"5645816\n",
"5645818\n",
"5645820\n",
"5645822\n",
"5645823\n",
"5645824\n",
"5645825\n",
"5645827\n",
"5645828\n",
"5645831\n",
"5645834\n",
"5645838\n",
"5645839\n",
"5645842\n",
"5645845\n",
"5645849\n",
"5645851\n",
"5645853\n",
"5645854\n",
"5645855\n",
"5645856\n",
"5645859\n",
"5645860\n",
"5645862\n",
"5645865\n",
"5645867\n",
"5645868\n",
"5645869\n",
"5645874\n",
"5645875\n",
"5645876\n",
"5645877\n",
"5645878\n",
"5645879\n",
"5645880\n",
"5645881\n",
"5645883\n",
"5645885\n",
"5645886\n",
"5645888\n",
"5645890\n",
"5645891\n",
"5645893\n",
"5645894\n",
"5645895\n",
"5645898\n",
"5645900\n",
"5645902\n",
"5645903\n",
"5645904\n",
"5645909\n",
"5645910\n",
"5645913\n",
"5645917\n",
"5645919\n",
"5645923\n",
"5645927\n",
"5645930\n",
"5645932\n",
"5645933\n",
"5645935\n",
"5645936\n",
"5645937\n",
"5645939\n",
"5645941\n",
"5645942\n",
"5645946\n",
"5645949\n",
"5645950\n",
"5645951\n",
"5645953\n",
"5645954\n",
"5645955\n",
"5645957\n",
"5645959\n",
"5645960\n",
"5645966\n",
"5645967\n",
"5645968\n",
"5645969\n",
"5645970\n",
"5645971\n",
"5645973\n",
"5645974\n",
"5645975\n",
"5645976\n",
"5645977\n",
"5645978\n",
"5645983\n",
"5645985\n",
"5645987\n",
"5645988\n",
"5645990\n",
"5645991\n",
"5645992\n",
"5645995\n",
"5645998\n",
"5646000\n",
"5646007\n",
"5646008\n",
"5646009\n",
"5646010\n",
"5646011\n",
"5646014\n",
"5646016\n",
"5646019\n",
"5646021\n",
"5646022\n",
"5646023\n",
"5646025\n",
"5646026\n",
"5646028\n",
"5646032\n",
"5646033\n",
"5646035\n",
"5646036\n",
"5646038\n",
"5646039\n",
"5646043\n",
"5646045\n",
"5646046\n",
"5646047\n",
"5646048\n",
"5646049\n",
"5646052\n",
"5646056\n",
"5646058\n",
"5646061\n",
"5646062\n",
"5646063\n",
"5646064\n",
"5646065\n",
"5646070\n",
"5646075\n",
"5646078\n",
"5646085\n",
"5646087\n",
"5646092\n",
"5646093\n",
"5646094\n",
"5646100\n",
"5646103\n",
"5646104\n",
"5646105\n",
"5646109\n",
"5646111\n",
"5646114\n",
"5646115\n",
"5646117\n",
"5646119\n",
"5646128\n",
"5646129\n",
"5646134\n",
"5646135\n",
"5646136\n",
"5646137\n",
"5646138\n",
"5646139\n",
"5646143\n",
"5646146\n",
"5646157\n",
"5646158\n",
"5646160\n",
"5646161\n",
"5646163\n",
"5646164\n",
"5646165\n",
"5646169\n",
"5646176\n",
"5646179\n",
"5646195\n",
"5646202\n",
"5646206\n",
"5646209\n",
"5646210\n",
"5646214\n",
"5646284\n",
"5646293\n",
"5646323\n",
"5646363\n",
"5646384\n",
"5646555\n",
"5646556\n",
"5646783\n",
"5646793\n",
"5646805\n",
"5646831\n",
"5646874\n",
"5646931\n",
"5646939\n",
"5647133\n",
"5647158\n",
"5647161\n",
"5647295\n",
"5647302\n",
"5647303\n",
"5647314\n",
"5647322\n",
"5647339\n",
"5647354\n",
"5647375\n",
"5647383\n",
"5647401\n",
"5647403\n",
"5647420\n",
"5647426\n",
"5647438\n",
"5647445\n",
"5647448\n",
"5647451\n",
"5647452\n",
"5647472\n",
"5647486\n",
"5647489\n",
"5647491\n",
"5647508\n",
"5647512\n",
"5647516\n",
"5647521\n",
"5647554\n",
"5647560\n",
"5647579\n",
"5647590\n",
"5647626\n",
"5647648\n",
"5647650\n",
"5647656\n",
"5647661\n",
"5647676\n",
"5647678\n",
"5647685\n",
"5647694\n",
"5647702\n",
"5647708\n",
"5647711\n",
"5647719\n",
"5647726\n",
"5647730\n",
"5647736\n",
"5647751\n",
"5647754\n",
"5647780\n",
"5647790\n",
"5647796\n",
"5647806\n",
"5647812\n",
"5647814\n",
"5647822\n",
"5647843\n",
"5647849\n",
"5647854\n",
"5647877\n",
"5647891\n",
"5647894\n",
"5647908\n",
"5647924\n",
"5647928\n",
"5647945\n",
"5647951\n",
"5647953\n",
"5647964\n",
"5647980\n",
"5647988\n",
"5648004\n",
"5648019\n",
"5648020\n",
"5648021\n",
"5648025\n",
"5648041\n",
"5648049\n",
"5648053\n",
"5648061\n",
"5648062\n",
"5648069\n",
"5648081\n",
"5648088\n",
"5648093\n",
"5648106\n",
"5648111\n",
"5648132\n",
"5648134\n",
"5648143\n",
"5648151\n",
"5648162\n",
"5648163\n",
"5648166\n",
"5648184\n",
"5648187\n",
"5648191\n",
"5648194\n",
"5648200\n",
"5648201\n",
"5648239\n",
"5648242\n",
"5648243\n",
"5648246\n",
"5648255\n",
"5648258\n",
"5648261\n",
"5648277\n",
"5648291\n",
"5648301\n",
"5648306\n",
"5648307\n",
"5648318\n",
"5648321\n",
"5648331\n",
"5648336\n",
"5648354\n",
"5648363\n",
"5648366\n",
"5648376\n",
"5648395\n",
"5648402\n",
"5648445\n",
"5648451\n",
"5648452\n",
"5648459\n",
"5648467\n",
"5648483\n",
"5648491\n",
"5648505\n",
"5648515\n",
"5648525\n",
"5648529\n",
"5648533\n",
"5648557\n",
"5648570\n",
"5648573\n",
"5648598\n",
"5648600\n",
"5648604\n",
"5648611\n",
"5648624\n",
"5648627\n",
"5648631\n",
"5648638\n",
"5648639\n",
"5648650\n",
"5648651\n",
"5648665\n",
"5648669\n",
"5648672\n",
"5648674\n",
"5648684\n",
"5648728\n",
"5648740\n",
"5648745\n",
"5648748\n",
"5648757\n",
"5648763\n",
"5648773\n",
"5648786\n",
"5648787\n",
"5648792\n",
"5648798\n",
"5648808\n",
"5648826\n",
"5648851\n",
"5648856\n",
"5648865\n",
"5648866\n",
"5648869\n",
"5648878\n",
"5648895\n",
"5648906\n",
"5648911\n",
"5648920\n",
"5648943\n",
"5648950\n",
"5648954\n",
"5648962\n",
"5648966\n",
"5648974\n",
"5648989\n",
"5648991\n",
"5648995\n",
"5648996\n",
"5648999\n",
"5649004\n",
"5649007\n",
"5649021\n",
"5649023\n",
"5649029\n",
"5649036\n",
"5649073\n",
"5649076\n",
"5649079\n",
"5649081\n",
"5649089\n",
"5649104\n",
"5649111\n",
"5649115\n",
"5649126\n",
"5649132\n",
"5649138\n",
"5649148\n",
"5649155\n",
"5649159\n",
"5649160\n",
"5649164\n",
"5649166\n",
"5649172\n",
"5649188\n",
"5649191\n",
"5649210\n",
"5649216\n",
"5649233\n",
"5649239\n",
"5649247\n",
"5649254\n",
"5649271\n",
"5649304\n",
"5649326\n",
"5649327\n",
"5649336\n",
"5649342\n",
"5649364\n",
"5649399\n",
"5649401\n",
"5649404\n",
"5649413\n",
"5649428\n",
"5649450\n",
"5649473\n",
"5649480\n",
"5649483\n",
"5649488\n",
"5649517\n",
"5649518\n",
"5649527\n",
"5649542\n",
"5649547\n",
"5649551\n",
"5649568\n",
"5649576\n",
"5649589\n",
"5649600\n",
"5649612\n",
"5649647\n",
"5649700\n",
"5649706\n",
"5649717\n",
"5649735\n",
"5649739\n",
"5649751\n",
"5649773\n",
"5649786\n",
"5649790\n",
"5649826\n",
"5649831\n",
"5649842\n",
"5649846\n",
"5649884\n",
"5649888\n",
"5649898\n",
"5649904\n",
"5649911\n",
"5649918\n",
"5649922\n",
"5649950\n",
"5649961\n",
"5649972\n",
"5650017\n",
"5650034\n",
"5650035\n",
"5650046\n",
"5650052\n",
"5650058\n",
"5650068\n",
"5650093\n",
"5650101\n",
"5650110\n",
"5650115\n",
"5650264\n",
"5650288\n",
"5650324\n",
"5650347\n",
"5650382\n",
"5650461\n",
"5650471\n",
"5650488\n",
"5650526\n",
"5650527\n",
"5650542\n",
"5650600\n",
"5650652\n",
"5650660\n",
"5650791\n",
"5650798\n",
"5650857\n",
"5650897\n",
"5650934\n",
"5651053\n",
"5651070\n",
"5651234\n",
"5651664\n",
"5651668\n",
"5651893\n",
"5651934\n",
"5652273\n",
"5653297\n",
"5653607\n",
"5653633\n",
"5653895\n",
"5654048\n",
"5654158\n",
"5654169\n",
"5654183\n",
"5654275\n",
"5654317\n",
"5654339\n",
"5654356\n",
"5654439\n",
"5654569\n",
"5654609\n",
"5654618\n",
"5654645\n",
"5654659\n",
"5654681\n",
"5654713\n",
"5654775\n",
"5654823\n",
"5655074\n",
"5655112\n",
"5655331\n",
"5655616\n",
"5655778\n",
"5656117\n",
"5656281\n",
"5656375\n",
"5656521\n",
"5656898\n",
"5657184\n",
"5657249\n",
"5657403\n",
"5657586\n",
"5657695\n",
"5657900\n",
"5658031\n",
"5658066\n",
"5658077\n",
"5658233\n",
"5658458\n",
"5658503\n",
"5658752\n",
"5658805\n",
"5658820\n",
"5659411\n",
"5659446\n",
"5659588\n",
"5659771\n",
"5659813\n",
"5660013\n",
"5660156\n",
"5660575\n",
"5660739\n",
"5660773\n",
"5660813\n",
"5662098\n",
"5662141\n",
"5662146\n",
"5662950\n",
"5662966\n",
"5663055\n",
"5663067\n",
"5663265\n",
"5663583\n",
"5663939\n",
"5664172\n",
"5664221\n",
"5664338\n",
"5664415\n",
"5664613\n",
"5664680\n",
"5664791\n",
"5664920\n",
"5665060\n",
"5665243\n",
"5665282\n",
"5665459\n",
"5665623\n",
"5665689\n",
"5665720\n",
"5666250\n",
"5666361\n",
"5666659\n",
"5666781\n",
"5666824\n",
"5666910\n",
"5667008\n",
"5667103\n",
"5667303\n",
"5667361\n",
"5667770\n",
"5667821\n",
"5667980\n",
"5668225\n",
"5668240\n",
"5668320\n",
"5668458\n",
"5668698\n",
"5668743\n",
"5668842\n",
"5668936\n",
"5668985\n",
"5669127\n",
"5669183\n",
"5669278\n",
"5670476\n",
"5670668\n",
"5671016\n",
"5671029\n",
"5671330\n",
"5671361\n",
"5671535\n",
"5671901\n",
"5672445\n",
"5672794\n",
"5672858\n",
"5673232\n",
"5673934\n",
"5674471\n",
"5674763\n",
"5674910\n",
"5675761\n",
"5675830\n",
"5675887\n",
"5675935\n",
"5676723\n",
"5676977\n",
"5677507\n",
"5677846\n",
"5677883\n",
"5677992\n",
"5678764\n",
"5679003\n",
"5679374\n",
"5679476\n",
"5680109\n",
"5680491\n",
"5680598\n",
"5680605\n",
"5680618\n",
"5681421\n",
"5681447\n",
"5681888\n",
"5682345\n",
"5682520\n",
"5682713\n",
"5682859\n",
"5682932\n",
"5683221\n",
"5683299\n",
"5683561\n",
"5683563\n",
"5684777\n",
"5685231\n",
"5685650\n",
"5685672\n",
"5685826\n",
"5686126\n",
"5686335\n",
"5688285\n",
"5688335\n",
"5689059\n",
"5689431\n",
"5689491\n",
"5690094\n",
"5690192\n",
"5690281\n",
"5690366\n",
"5690556\n",
"5690614\n",
"5704483\n",
"5704484\n",
"5704487\n",
"5704488\n",
"5704489\n",
"5704490\n",
"5704491\n",
"5704492\n",
"5704493\n",
"5704494\n",
"5704495\n",
"5704496\n",
"5704499\n",
"5704500\n",
"5704501\n",
"5704503\n",
"5704505\n",
"5704506\n",
"5704507\n",
"5704509\n",
"5704511\n",
"5704512\n",
"5704514\n",
"5704515\n",
"5704516\n",
"5704521\n",
"5704523\n",
"5704526\n",
"5704527\n",
"5704537\n",
"5704538\n",
"5704539\n",
"5704541\n",
"5704542\n",
"5704545\n",
"5704692\n",
"5704700\n",
"5704705\n",
"5704715\n",
"5704716\n",
"5704722\n",
"5704724\n",
"5704725\n",
"5704731\n",
"5704734\n",
"5704736\n",
"5704740\n",
"5704741\n",
"5704742\n",
"5704743\n",
"5704745\n",
"5704746\n",
"5704747\n",
"5704749\n",
"5704750\n",
"5704755\n",
"5704758\n",
"5704759\n",
"5704763\n",
"5704767\n",
"5704768\n",
"5704770\n",
"5704773\n",
"5704774\n",
"5704776\n",
"5704777\n",
"5704778\n",
"5704780\n",
"5704784\n",
"5704786\n",
"5704792\n",
"5704793\n",
"5704794\n",
"5704797\n",
"5704798\n",
"5704799\n",
"5704802\n",
"5704803\n",
"5704807\n",
"5704810\n",
"5704811\n",
"5704817\n",
"5704818\n",
"5704819\n",
"5704820\n",
"5704821\n",
"5704823\n",
"5704824\n",
"5704829\n",
"5704830\n",
"5704831\n",
"5704835\n",
"5704836\n",
"5704837\n",
"5704838\n",
"5704839\n",
"5704849\n",
"5704850\n",
"5704851\n",
"5704852\n",
"5704855\n",
"5704858\n",
"5704859\n",
"5704860\n",
"5704861\n",
"5704863\n",
"5704864\n",
"5704867\n",
"5704869\n",
"5704871\n",
"5704872\n",
"5704874\n",
"5704875\n",
"5704876\n",
"5704877\n",
"5704880\n",
"5704886\n",
"5704891\n",
"5704893\n",
"5704894\n",
"5704898\n",
"5704899\n",
"5704901\n",
"5704902\n",
"5704907\n",
"5704908\n",
"5704909\n",
"5704910\n",
"5704912\n",
"5704913\n",
"5704916\n",
"5704918\n",
"5704919\n",
"5704920\n",
"5704922\n",
"5704926\n",
"5704927\n",
"5704929\n",
"5704931\n",
"5704932\n",
"5704933\n",
"5704936\n",
"5704943\n",
"5704944\n",
"5704946\n",
"5704947\n",
"5704952\n",
"5704953\n",
"5704956\n",
"5704960\n",
"5704961\n",
"5704962\n",
"5704964\n",
"5704969\n",
"5704971\n",
"5704972\n",
"5704978\n",
"5704979\n",
"5704981\n",
"5704984\n",
"5704986\n",
"5704988\n",
"5704991\n",
"5704992\n",
"5704993\n",
"5704995\n",
"5704996\n",
"5704997\n",
"5705000\n",
"5705001\n",
"5705002\n",
"5705005\n",
"5705008\n",
"5705010\n",
"5705011\n",
"5705012\n",
"5705013\n",
"5705015\n",
"5705018\n",
"5705022\n",
"5705024\n",
"5705025\n",
"5705026\n",
"5705027\n",
"5705028\n",
"5705034\n",
"5705035\n",
"5705036\n",
"5705038\n",
"5705039\n",
"5705041\n",
"5705042\n",
"5705044\n",
"5705046\n",
"5705047\n",
"5705048\n",
"5705049\n",
"5705056\n",
"5705061\n",
"5705063\n",
"5705064\n",
"5705065\n",
"5705066\n",
"5705067\n",
"5705068\n",
"5705069\n",
"5705071\n",
"5705073\n",
"5705075\n",
"5705079\n",
"5705080\n",
"5705084\n",
"5705085\n",
"5705087\n",
"5705089\n",
"5705090\n",
"5705091\n",
"5705097\n",
"5705098\n",
"5705101\n",
"5705102\n",
"5705103\n",
"5705112\n",
"5705114\n",
"5705115\n",
"5705122\n",
"5705126\n",
"5705127\n",
"5705128\n",
"5705131\n",
"5705132\n",
"5705136\n",
"5705138\n",
"5705143\n",
"5705144\n",
"5705145\n",
"5705146\n",
"5705147\n",
"5705149\n",
"5705152\n",
"5705157\n",
"5705158\n",
"5705164\n",
"5705168\n",
"5705172\n",
"5705178\n",
"5705179\n",
"5705180\n",
"5705188\n",
"5705193\n",
"5705194\n",
"5705197\n",
"5705198\n",
"5705201\n",
"5705206\n",
"5705212\n",
"5705214\n",
"5705218\n",
"5705221\n",
"5705227\n",
"5705244\n",
"5705247\n",
"5705249\n",
"5705255\n",
"5705256\n",
"5705264\n",
"5705270\n",
"5705272\n",
"5705274\n",
"5705360\n",
"5705812\n",
"5705890\n",
"5706288\n",
"5706298\n",
"5706307\n",
"5706344\n",
"5706360\n",
"5706374\n",
"5706389\n",
"5706406\n",
"5706416\n",
"5706427\n",
"5706442\n",
"5706448\n",
"5706465\n",
"5706470\n",
"5706474\n",
"5706478\n",
"5706479\n",
"5706481\n",
"5706489\n",
"5706507\n",
"5706520\n",
"5706536\n",
"5706545\n",
"5706548\n",
"5706549\n",
"5706551\n",
"5706552\n",
"5706562\n",
"5706575\n",
"5706577\n",
"5706587\n",
"5706588\n",
"5706590\n",
"5706591\n",
"5706603\n",
"5706605\n",
"5706611\n",
"5706622\n",
"5706625\n",
"5706626\n",
"5706631\n",
"5706645\n",
"5706670\n",
"5706715\n",
"5706717\n",
"5706723\n",
"5706728\n",
"5706739\n",
"5706766\n",
"5706768\n",
"5706769\n",
"5706771\n",
"5706776\n",
"5706780\n",
"5706797\n",
"5706801\n",
"5706804\n",
"5706807\n",
"5706820\n",
"5706830\n",
"5706838\n",
"5706841\n",
"5706851\n",
"5706864\n",
"5706865\n",
"5706876\n",
"5706882\n",
"5706889\n",
"5706894\n",
"5706897\n",
"5706909\n",
"5706919\n",
"5706938\n",
"5706942\n",
"5706964\n",
"5706971\n",
"5706975\n",
"5706978\n",
"5706991\n",
"5706994\n",
"5707003\n",
"5707007\n",
"5707015\n",
"5707029\n",
"5707030\n",
"5707045\n",
"5707052\n",
"5707064\n",
"5707081\n",
"5707086\n",
"5707088\n",
"5707098\n",
"5707103\n",
"5707105\n",
"5707111\n",
"5707117\n",
"5707125\n",
"5707130\n",
"5707131\n",
"5707132\n",
"5707140\n",
"5707145\n",
"5707155\n",
"5707156\n",
"5707160\n",
"5707186\n",
"5707189\n",
"5707195\n",
"5707203\n",
"5707222\n",
"5707235\n",
"5707246\n",
"5707254\n",
"5707258\n",
"5707259\n",
"5707261\n",
"5707282\n",
"5707283\n",
"5707291\n",
"5707301\n",
"5707309\n",
"5707316\n",
"5707329\n",
"5707330\n",
"5707339\n",
"5707343\n",
"5707351\n",
"5707353\n",
"5707354\n",
"5707360\n",
"5707368\n",
"5707396\n",
"5707405\n",
"5707421\n",
"5707424\n",
"5707425\n",
"5707445\n",
"5707457\n",
"5707459\n",
"5707467\n",
"5707468\n",
"5707488\n",
"5707494\n",
"5707496\n",
"5707515\n",
"5707536\n",
"5707553\n",
"5707555\n",
"5707556\n",
"5707562\n",
"5707576\n",
"5707579\n",
"5707584\n",
"5707593\n",
"5707595\n",
"5707598\n",
"5707600\n",
"5707618\n",
"5707624\n",
"5707629\n",
"5707632\n",
"5707635\n",
"5707638\n",
"5707645\n",
"5707653\n",
"5707656\n",
"5707664\n",
"5707669\n",
"5707675\n",
"5707676\n",
"5707694\n",
"5707712\n",
"5707725\n",
"5707732\n",
"5707750\n",
"5707752\n",
"5707779\n",
"5707814\n",
"5707821\n",
"5707847\n",
"5707853\n",
"5707857\n",
"5707863\n",
"5707894\n",
"5707907\n",
"5707930\n",
"5707939\n",
"5707941\n",
"5707950\n",
"5707962\n",
"5707964\n",
"5707966\n",
"5707974\n",
"5707975\n",
"5707977\n",
"5707999\n",
"5708009\n",
"5708028\n",
"5708031\n",
"5708032\n",
"5708045\n",
"5708048\n",
"5708054\n",
"5708058\n",
"5708059\n",
"5708070\n",
"5708075\n",
"5708077\n",
"5708085\n",
"5708089\n",
"5708090\n",
"5708095\n",
"5708102\n",
"5708106\n",
"5708134\n",
"5708140\n",
"5708150\n",
"5708153\n",
"5708180\n",
"5708202\n",
"5708203\n",
"5708238\n",
"5708247\n",
"5708252\n",
"5708266\n",
"5708281\n",
"5708302\n",
"5708348\n",
"5708359\n",
"5708362\n",
"5708374\n",
"5708410\n",
"5708492\n",
"5708497\n",
"5708503\n",
"5708512\n",
"5708524\n",
"5708536\n",
"5708537\n",
"5708547\n",
"5708548\n",
"5708576\n",
"5708584\n",
"5708591\n",
"5708614\n",
"5708618\n",
"5708622\n",
"5708640\n",
"5708651\n",
"5708656\n",
"5708658\n",
"5708674\n",
"5708675\n",
"5708676\n",
"5708677\n",
"5708703\n",
"5708710\n",
"5708720\n",
"5708737\n",
"5708751\n",
"5708765\n",
"5708768\n",
"5708778\n",
"5708808\n",
"5708829\n",
"5708845\n",
"5708892\n",
"5708915\n",
"5708934\n",
"5708939\n",
"5708945\n",
"5708950\n",
"5708970\n",
"5708972\n",
"5709008\n",
"5709028\n",
"5709060\n",
"5709085\n",
"5709098\n",
"5709127\n",
"5709128\n",
"5709147\n",
"5709159\n",
"5709184\n",
"5709194\n",
"5709200\n",
"5709227\n",
"5709236\n",
"5709247\n",
"5709297\n",
"5709305\n",
"5709319\n",
"5709329\n",
"5709340\n",
"5709341\n",
"5709355\n",
"5709357\n",
"5709362\n",
"5709400\n",
"5709419\n",
"5709422\n",
"5709443\n",
"5709471\n",
"5709512\n",
"5709555\n",
"5709568\n",
"5709622\n",
"5709676\n",
"5709736\n",
"5710027\n",
"5710110\n",
"5712019\n",
"5712223\n",
"5712878\n",
"5713079\n",
"5713235\n",
"5713333\n",
"5713467\n",
"5713619\n",
"5713655\n",
"5713692\n",
"5713728\n",
"5713750\n",
"5713845\n",
"5713914\n",
"5714114\n",
"5714369\n",
"5714408\n",
"5714792\n",
"5715331\n",
"5715904\n",
"5716942\n",
"5717273\n",
"5717426\n",
"5717650\n",
"5717740\n",
"5718188\n",
"5718403\n",
"5720002\n",
"5720432\n",
"5720821\n",
"5721069\n",
"5721222\n",
"5723904\n",
"5724357\n",
"5724970\n",
"5725882\n",
"5726634\n",
"5727643\n",
"5727695\n",
"5738968\n",
"5739895\n",
"5747862\n",
"5748708\n",
"5750705\n",
"5766557\n",
"5766558\n",
"5766559\n",
"5766561\n",
"5766562\n",
"5766563\n",
"5766564\n",
"5766565\n",
"5766566\n",
"5766567\n",
"5766569\n",
"5766571\n",
"5766572\n",
"5766573\n",
"5766574\n",
"5766576\n",
"5766578\n",
"5766582\n",
"5766583\n",
"5766584\n",
"5766585\n",
"5766586\n",
"5766587\n",
"5766588\n",
"5766591\n",
"5766593\n",
"5766594\n",
"5766596\n",
"5766598\n",
"5766603\n",
"5766606\n",
"5766608\n",
"5766610\n",
"5766613\n",
"5766614\n",
"5766622\n",
"5766624\n",
"5766627\n",
"5766642\n",
"5766649\n",
"5766806\n",
"5766814\n",
"5766817\n",
"5766825\n",
"5766826\n",
"5766827\n",
"5766829\n",
"5766831\n",
"5766834\n",
"5766835\n",
"5766839\n",
"5766842\n",
"5766843\n",
"5766844\n",
"5766845\n",
"5766847\n",
"5766849\n",
"5766852\n",
"5766853\n",
"5766855\n",
"5766858\n",
"5766861\n",
"5766862\n",
"5766867\n",
"5766870\n",
"5766873\n",
"5766876\n",
"5766878\n",
"5766879\n",
"5766880\n",
"5766881\n",
"5766884\n",
"5766885\n",
"5766886\n",
"5766889\n",
"5766893\n",
"5766897\n",
"5766898\n",
"5766900\n",
"5766904\n",
"5766910\n",
"5766911\n",
"5766912\n",
"5766915\n",
"5766916\n",
"5766922\n",
"5766925\n",
"5766926\n",
"5766928\n",
"5766929\n",
"5766930\n",
"5766931\n",
"5766935\n",
"5766939\n",
"5766940\n",
"5766942\n",
"5766943\n",
"5766944\n",
"5766951\n",
"5766956\n",
"5766957\n",
"5766958\n",
"5766959\n",
"5766964\n",
"5766965\n",
"5766966\n",
"5766967\n",
"5766973\n",
"5766974\n",
"5766977\n",
"5766979\n",
"5766982\n",
"5766984\n",
"5766987\n",
"5766990\n",
"5766991\n",
"5766992\n",
"5766993\n",
"5766994\n",
"5766996\n",
"5766997\n",
"5767000\n",
"5767002\n",
"5767003\n",
"5767005\n",
"5767010\n",
"5767013\n",
"5767015\n",
"5767017\n",
"5767019\n",
"5767020\n",
"5767021\n",
"5767022\n",
"5767023\n",
"5767025\n",
"5767026\n",
"5767027\n",
"5767030\n",
"5767031\n",
"5767032\n",
"5767033\n",
"5767034\n",
"5767035\n",
"5767036\n",
"5767040\n",
"5767041\n",
"5767046\n",
"5767048\n",
"5767049\n",
"5767050\n",
"5767054\n",
"5767056\n",
"5767060\n",
"5767061\n",
"5767062\n",
"5767064\n",
"5767065\n",
"5767066\n",
"5767071\n",
"5767072\n",
"5767073\n",
"5767075\n",
"5767077\n",
"5767078\n",
"5767080\n",
"5767081\n",
"5767083\n",
"5767086\n",
"5767088\n",
"5767089\n",
"5767091\n",
"5767092\n",
"5767094\n",
"5767096\n",
"5767097\n",
"5767099\n",
"5767100\n",
"5767102\n",
"5767105\n",
"5767106\n",
"5767107\n",
"5767108\n",
"5767111\n",
"5767112\n",
"5767114\n",
"5767115\n",
"5767117\n",
"5767118\n",
"5767119\n",
"5767121\n",
"5767122\n",
"5767125\n",
"5767126\n",
"5767127\n",
"5767129\n",
"5767130\n",
"5767131\n",
"5767132\n",
"5767133\n",
"5767137\n",
"5767142\n",
"5767143\n",
"5767145\n",
"5767147\n",
"5767150\n",
"5767152\n",
"5767155\n",
"5767159\n",
"5767160\n",
"5767165\n",
"5767167\n",
"5767169\n",
"5767170\n",
"5767171\n",
"5767175\n",
"5767181\n",
"5767183\n",
"5767185\n",
"5767186\n",
"5767188\n",
"5767190\n",
"5767193\n",
"5767195\n",
"5767196\n",
"5767198\n",
"5767200\n",
"5767203\n",
"5767204\n",
"5767206\n",
"5767207\n",
"5767210\n",
"5767211\n",
"5767214\n",
"5767215\n",
"5767217\n",
"5767220\n",
"5767221\n",
"5767223\n",
"5767224\n",
"5767225\n",
"5767227\n",
"5767228\n",
"5767231\n",
"5767232\n",
"5767233\n",
"5767234\n",
"5767239\n",
"5767240\n",
"5767241\n",
"5767243\n",
"5767244\n",
"5767245\n",
"5767249\n",
"5767256\n",
"5767260\n",
"5767261\n",
"5767265\n",
"5767273\n",
"5767275\n",
"5767276\n",
"5767286\n",
"5767287\n",
"5767290\n",
"5767293\n",
"5767298\n",
"5767300\n",
"5767308\n",
"5767309\n",
"5767314\n",
"5767320\n",
"5767328\n",
"5767340\n",
"5767345\n",
"5767349\n",
"5767351\n",
"5767361\n",
"5767371\n",
"5767375\n",
"5767388\n",
"5767407\n",
"5767408\n",
"5767428\n",
"5767441\n",
"5767453\n",
"5767462\n",
"5767464\n",
"5767465\n",
"5767479\n",
"5768654\n",
"5768660\n",
"5768665\n",
"5768676\n",
"5768727\n",
"5768812\n",
"5768888\n",
"5768892\n",
"5768894\n",
"5768907\n",
"5768916\n",
"5768920\n",
"5768930\n",
"5768936\n",
"5768943\n",
"5768973\n",
"5768977\n",
"5768987\n",
"5768989\n",
"5769020\n",
"5769030\n",
"5769039\n",
"5769042\n",
"5769047\n",
"5769055\n",
"5769067\n",
"5769072\n",
"5769084\n",
"5769101\n",
"5769108\n",
"5769121\n",
"5769126\n",
"5769140\n",
"5769145\n",
"5769148\n",
"5769161\n",
"5769165\n",
"5769220\n",
"5769221\n",
"5769222\n",
"5769241\n",
"5769244\n",
"5769257\n",
"5769258\n",
"5769264\n",
"5769271\n",
"5769277\n",
"5769285\n",
"5769291\n",
"5769303\n",
"5769315\n",
"5769321\n",
"5769327\n",
"5769342\n",
"5769343\n",
"5769344\n",
"5769347\n",
"5769353\n",
"5769355\n",
"5769359\n",
"5769406\n",
"5769414\n",
"5769421\n",
"5769461\n",
"5769470\n",
"5769471\n",
"5769480\n",
"5769481\n",
"5769487\n",
"5769493\n",
"5769494\n",
"5769504\n",
"5769507\n",
"5769510\n",
"5769511\n",
"5769528\n",
"5769531\n",
"5769542\n",
"5769563\n",
"5769573\n",
"5769600\n",
"5769621\n",
"5769630\n",
"5769644\n",
"5769645\n",
"5769646\n",
"5769659\n",
"5769661\n",
"5769665\n",
"5769667\n",
"5769683\n",
"5769686\n",
"5769689\n",
"5769702\n",
"5769708\n",
"5769709\n",
"5769726\n",
"5769729\n",
"5769732\n",
"5769738\n",
"5769764\n",
"5769784\n",
"5769798\n",
"5769804\n",
"5769807\n",
"5769808\n",
"5769810\n",
"5769817\n",
"5769819\n",
"5769820\n",
"5769832\n",
"5769862\n",
"5769870\n",
"5769877\n",
"5769882\n",
"5769888\n",
"5769914\n",
"5769934\n",
"5769943\n",
"5769977\n",
"5769993\n",
"5769996\n",
"5770000\n",
"5770020\n",
"5770022\n",
"5770024\n",
"5770026\n",
"5770031\n",
"5770039\n",
"5770070\n",
"5770087\n",
"5770090\n",
"5770110\n",
"5770113\n",
"5770122\n",
"5770134\n",
"5770136\n",
"5770142\n",
"5770147\n",
"5770153\n",
"5770159\n",
"5770161\n",
"5770169\n",
"5770201\n",
"5770224\n",
"5770243\n",
"5770266\n",
"5770269\n",
"5770274\n",
"5770275\n",
"5770286\n",
"5770293\n",
"5770303\n",
"5770310\n",
"5770315\n",
"5770316\n",
"5770321\n",
"5770323\n",
"5770341\n",
"5770367\n",
"5770381\n",
"5770384\n",
"5770386\n",
"5770395\n",
"5770403\n",
"5770424\n",
"5770466\n",
"5770471\n",
"5770485\n",
"5770488\n",
"5770494\n",
"5770509\n",
"5770525\n",
"5770526\n",
"5770538\n",
"5770541\n",
"5770551\n",
"5770567\n",
"5770583\n",
"5770595\n",
"5770601\n",
"5770611\n",
"5770616\n",
"5770644\n",
"5770650\n",
"5770671\n",
"5770672\n",
"5770675\n",
"5770689\n",
"5770694\n",
"5770699\n",
"5770704\n",
"5770746\n",
"5770761\n",
"5770770\n",
"5770773\n",
"5770776\n",
"5770786\n",
"5770793\n",
"5770794\n",
"5770808\n",
"5770813\n",
"5770844\n",
"5770845\n",
"5770881\n",
"5770884\n",
"5770911\n",
"5770947\n",
"5770952\n",
"5770954\n",
"5770970\n",
"5770999\n",
"5771000\n",
"5771001\n",
"5771003\n",
"5771008\n",
"5771010\n",
"5771018\n",
"5771054\n",
"5771058\n",
"5771085\n",
"5771095\n",
"5771116\n",
"5771123\n",
"5771135\n",
"5771139\n",
"5771145\n",
"5771160\n",
"5771161\n",
"5771194\n",
"5771201\n",
"5771212\n",
"5771220\n",
"5771226\n",
"5771253\n",
"5771307\n",
"5771337\n",
"5771339\n",
"5771361\n",
"5771422\n",
"5771423\n",
"5771426\n",
"5771428\n",
"5771448\n",
"5771459\n",
"5771473\n",
"5771477\n",
"5771480\n",
"5771491\n",
"5771495\n",
"5771501\n",
"5771507\n",
"5771640\n",
"5771643\n",
"5771661\n",
"5771682\n",
"5771702\n",
"5771785\n",
"5771807\n",
"5771808\n",
"5771826\n",
"5771827\n",
"5771828\n",
"5771873\n",
"5771882\n",
"5771919\n",
"5771958\n",
"5771970\n",
"5771989\n",
"5772098\n",
"5772157\n",
"5772214\n",
"5772256\n",
"5772293\n",
"5772308\n",
"5772373\n",
"5772607\n",
"5772649\n",
"5776291\n",
"5776414\n",
"5776488\n",
"5776577\n",
"5777247\n",
"5777276\n",
"5777483\n",
"5777555\n",
"5777656\n",
"5777745\n",
"5777752\n",
"5777953\n",
"5778416\n",
"5778675\n",
"5778931\n",
"5779086\n",
"5779096\n",
"5779200\n",
"5779655\n",
"5780199\n",
"5780737\n",
"5780998\n",
"5781757\n",
"5782055\n",
"5782108\n",
"5782515\n",
"5784691\n",
"5785058\n",
"5785736\n",
"5798505\n",
"5837725\n",
"5837726\n",
"5837727\n",
"5837729\n",
"5837731\n",
"5837733\n",
"5837734\n",
"5837735\n",
"5837736\n",
"5837738\n",
"5837739\n",
"5837740\n",
"5837742\n",
"5837743\n",
"5837744\n",
"5837746\n",
"5837748\n",
"5837755\n",
"5837756\n",
"5837757\n",
"5837760\n",
"5837765\n",
"5837766\n",
"5837767\n",
"5837769\n",
"5837773\n",
"5837774\n",
"5837775\n",
"5837776\n",
"5837777\n",
"5837781\n",
"5837782\n",
"5837787\n",
"5837788\n",
"5837791\n",
"5837792\n",
"5837798\n",
"5837805\n",
"5837807\n",
"5837815\n",
"5837831\n",
"5837834\n",
"5837866\n",
"5837867\n",
"5838108\n",
"5838140\n",
"5838144\n",
"5838148\n",
"5838155\n",
"5838159\n",
"5838169\n",
"5838176\n",
"5838180\n",
"5838184\n",
"5838187\n",
"5838193\n",
"5838198\n",
"5838201\n",
"5838203\n",
"5838214\n",
"5838221\n",
"5838222\n",
"5838223\n",
"5838228\n",
"5838233\n",
"5838234\n",
"5838235\n",
"5838236\n",
"5838246\n",
"5838249\n",
"5838252\n",
"5838255\n",
"5838257\n",
"5838259\n",
"5838261\n",
"5838264\n",
"5838266\n",
"5838268\n",
"5838269\n",
"5838273\n",
"5838275\n",
"5838281\n",
"5838286\n",
"5838288\n",
"5838289\n",
"5838290\n",
"5838291\n",
"5838293\n",
"5838298\n",
"5838303\n",
"5838304\n",
"5838305\n",
"5838309\n",
"5838312\n",
"5838313\n",
"5838320\n",
"5838321\n",
"5838323\n",
"5838326\n",
"5838329\n",
"5838335\n",
"5838342\n",
"5838343\n",
"5838346\n",
"5838347\n",
"5838348\n",
"5838350\n",
"5838352\n",
"5838358\n",
"5838360\n",
"5838362\n",
"5838363\n",
"5838364\n",
"5838365\n",
"5838369\n",
"5838373\n",
"5838374\n",
"5838377\n",
"5838379\n",
"5838383\n",
"5838384\n",
"5838393\n",
"5838400\n",
"5838404\n",
"5838414\n",
"5838415\n",
"5838418\n",
"5838419\n",
"5838422\n",
"5838423\n",
"5838426\n",
"5838428\n",
"5838430\n",
"5838431\n",
"5838433\n",
"5838434\n",
"5838436\n",
"5838437\n",
"5838438\n",
"5838443\n",
"5838445\n",
"5838447\n",
"5838448\n",
"5838449\n",
"5838451\n",
"5838454\n",
"5838456\n",
"5838457\n",
"5838460\n",
"5838463\n",
"5838464\n",
"5838465\n",
"5838470\n",
"5838473\n",
"5838474\n",
"5838477\n",
"5838482\n",
"5838483\n",
"5838484\n",
"5838485\n",
"5838486\n",
"5838490\n",
"5838493\n",
"5838494\n",
"5838499\n",
"5838500\n",
"5838510\n",
"5838512\n",
"5838513\n",
"5838514\n",
"5838516\n",
"5838517\n",
"5838518\n",
"5838525\n",
"5838528\n",
"5838530\n",
"5838531\n",
"5838532\n",
"5838533\n",
"5838534\n",
"5838537\n",
"5838538\n",
"5838541\n",
"5838545\n",
"5838546\n",
"5838554\n",
"5838562\n",
"5838564\n",
"5838565\n",
"5838568\n",
"5838569\n",
"5838573\n",
"5838574\n",
"5838575\n",
"5838576\n",
"5838585\n",
"5838587\n",
"5838588\n",
"5838590\n",
"5838592\n",
"5838596\n",
"5838597\n",
"5838598\n",
"5838599\n",
"5838600\n",
"5838604\n",
"5838607\n",
"5838609\n",
"5838611\n",
"5838612\n",
"5838617\n",
"5838622\n",
"5838629\n",
"5838631\n",
"5838633\n",
"5838634\n",
"5838636\n",
"5838637\n",
"5838638\n",
"5838639\n",
"5838641\n",
"5838643\n",
"5838649\n",
"5838654\n",
"5838656\n"
]
},
{
"data": {
"text/plain": [
"array([[4.3213072e-01, 3.3612296e-01, 4.9542564e-01, 1.1641532e-10],\n",
" [4.2634511e-01, 3.3506793e-01, 4.9537191e-01, 1.1641532e-10],\n",
" [4.2104098e-01, 3.3217159e-01, 4.9831006e-01, 1.1641532e-10],\n",
" ...,\n",
" [4.3010166e-01, 3.2942852e-01, 4.9635866e-01, 1.1641532e-10],\n",
" [4.2487869e-01, 3.3458143e-01, 4.9207175e-01, 1.1641532e-10],\n",
" [4.2629939e-01, 3.2695419e-01, 4.9106851e-01, 1.1641532e-10]],\n",
" dtype=float32)"
]
},
"execution_count": 53,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"for i in list(clid2map0.keys())[50000:]:\n",
" print(i)\n",
" k = clid2map0[i]\n",
"\n",
" X = csiborgtools.read.load_parent_particles(k, parts0, clumpmap0, clid2map0, cat0.clumps_cat)\n",
" if X is not None:\n",
" break\n",
"X"
]
},
{
"cell_type": "code",
"execution_count": 54,
"id": "a3eea061",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "be2ab0860ad24dc8a4a1087ae569f08a",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.scatter(X[:, 0], X[:, 1], s=1)\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "1df6fd0f",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 5,
"id": "de571afb",
"metadata": {},
"outputs": [],
"source": [
"parts = csiborgtools.read.read_h5(paths.particles_path(nsim0))[\"particles\"]"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "a90765b8",
"metadata": {},
"outputs": [],
"source": [
2023-05-13 16:37:34 +00:00
"box = csiborgtools.read.CSiBORGBox(nsnap0, nsim0, paths)\n",
2023-05-12 12:07:58 +00:00
"\n",
"field = csiborgtools.field.DensityField(box, \"CIC\")"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "e97f1d15",
"metadata": {},
"outputs": [],
"source": [
"rho = np.load(paths.density_field_path(\"PCS\", 7444, False))\n",
"rho_rsp = np.load(paths.density_field_path(\"PCS\", 7444, True))"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "6368ca0f",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "2823edefcb6e4838a49ac881e78c2ab1",
"version_major": 2,
"version_minor": 0
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOz9OY9lXZYdCK59hju898zMh2+IiMxkE9VsVrdEAhwSLbWSAFVqFAnKnVRSIhUSlKiyAfJH8B9QSaWAAgECJNDVQFcmi2NERsQ3ubuZveGO5+wW9t7nXPuCaBDwygrB7gYC4Z+72RvudNZZe621iZkZe+2111577bXXXnu9mnK/7Q+w11577bXXXnvttdf/sbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwB85fUv/sW/wF/8i38RXdfh93//9/Fv/s2/+W1/pL322muvvfba68+5dgD4iutf/st/iT/6oz/CP/7H/xj/7t/9O/yVv/JX8Lf+1t/Cd99999v+aHvttddee+21159jETPzb/tD7PXbqd///d/H3/gbfwP//J//cwBAzhm/93u/h7//9/8+/sE/+Ae/5U+311577bXXXnv9edXOAL7SmucZ//bf/lv8wR/8Qfk75xz+4A/+AP/6X//r3+In22uvvfbaa6+9/rwr/LY/wF6/nfrhhx+QUsLXX3/94u+//vpr/Mmf/Mlv/Pw0TZimqfx3zhkfP37E+/fvQUR/7p93r7322muv/32LmXE+n/Gzn/0Mzu180GurHQDu9d9V//Sf/lP8k3/yT37bH2Ovvfbaa6//nesXv/gFfvd3f/e3/TH2+j+4dgD4SuuLL76A9x7ffvvti7//9ttv8ZOf/OQ3fv4f/sN/iD/6oz8q//309IS/8Bf+Av4ff+n/iThmYFnLv/HdEfnYwT9d5C9yBqYFCB7wustMWf48r4Aj8DQDaQWnDIoRyEl/lwFHgA+A96Bjj9x3IGaAGTROwLwAzgHBg9sGy/sjwmWG+/gsv+sc8qkHJQYNI0AE3Ebk2w0A5P2MxSQHOALFADDL+6tMlpnl7wHAO3DfgaZZ3h+Q928azD+9h5sTwvMErEm+XxPgzrd6PDKD+w7cBsA50LwiHRv4T1fQdQBiADdRvvP5Cl7leFDXyHEcZ/kMXQsaJ/BtkNdpG8A5+V39TjRO8udlBc8zwBlwHsgJvKzy/bwHNQ3gfTmPRAReFvldZlDfyee6jaAmgo+9/NwwyvklAroGHAJoXcHeg4+dfO9hAppQPhN3rZyzNQEpgeYF3ETkt0cAgPt0BaVUz4F34Ea/OzM4OPmegUBjAhyQDg1y6xGfJtC0gKN8F24D1kMEMSMHBzBAmeGmBGJG6gLihwH0wyf5LMce6f09ODj4Dxc5flml0szgu6Ocw8dn+XwpgddVjqF3cq3mDF5XUAj630mOuSOQc3IsMpfzTJcbeFqAeZLXsnPXNHJeDh2QkvxO0O8V5FqkZQEP8hkpePDpAJpn8HUA0go4L9e4d0ATwc7JedZ7qFz7OYNWvY+9l3NkP7Mm+Te9VjgEIHjkLsh9tSRgXuTa7VtgmsF6b+Phrr6OXS8pg5cFPMr9SDHIteicfOe7I7htQOerfOeuket3WoB1BsiBDr181+sAnhegfD493jnJ/UwEhFA7Fd7Ja9r1OC0vjwOz3OvBg/tOPp+99rLKvZszqJFjyoN0RujYA/MCvl71edDo62U5D3YN6T1GTVPuLcQgx4oI7D3QRGBekN6fML1pEcYENyXE75/lOphX8JrkM+asjy4HtFF+H5D7y55Xa0I+tEjHCLckUGbQsGLFjP/p//v/wt3dHfZ6fbUDwFdaTdPgr/21v4Y//uM/xt/+238bgLR1//iP/xh/+Id/+Bs/37Yt2rb9jb8PoUPAIs92R6CmwfrlO6AP8MmDhgk83oBEIOcB8rJgJgKxAygCzoMd5M8BslCuqzw4iWUBaxpZUCeWBUAXMnIt+HQA9w3YezhmLPcHuBQQaJSH7pqRqQU6BzexLM4L4LKXhZxIFuomyv87J0BpXQsApa4D9y3y3QFunIFlxfrFPZBZQMLlBrgIbjosxwPW9w7rT4HuuwnhacB634O6A9xNfpfbBumuBQHw1wmIEeha+PsAag4CRDIDSwJcA0RdPFwEQKLe9QHsG1AbwAtV8BE8OEaQgitkWxAaMAFooywWzOC4ChgPQcCjd+Bxku+eEpAFNAAAxR4cA6hx4L4VAHwdQb6TRT/L4svOgXwABw/kAMQeaA7gQwsaZnnd2CjgyMAC+YwzgMcF7B0QexBWOT9QEDgxMK2ygC8M9gwQQKsC9HkBtwTKHrSscvlkBp4HtH5CfnNCbhw4OLAjoCP424zmwiAEUHcCcsb60/dI7zqAGe0NIFagkLMs8K4BHEAHgKcJ8AyQgp22FeCcMuAV9C0zAC/H0gVQbOT7ECE/3IOjl2sxXeV7BT3eRHKuE4EW+X9mgFyQY5Ag544D0Mh9hRDAoQOtBDRUgWmMcv2eeiA6uHEB3SbQNCO/OQGe4J6uwCrXAlyQ72mgx3lQiLrRc/JdZsiGTTcRHBtQYDmfHASYkJPPQgr29d7DmoHswBzAawaRA7IHhQZwEbQ6YJ7Bo4EbAOzBOYFzAHkH8h1yc4AbMhiomxfv6zmw50h2co07J+CNCIg92DsQz3K/A3L/b4BivjshnVrQuMA9DyCfwMHLhmWcQAmAbwUU90cQJvBllv8eZ9kwhkbuYUA+j32h7OT9ukY2U7pJk+t7Ba0O8dsbug91k8uzbALIR6Bp5HzfHYCUQfMiv896rToIWI1Bni+TAHluAta7FrgDOE+ba22v11Y7AHzF9Ud/9Ef4u3/37+Kv//W/jr/5N/8m/tk/+2e4Xq/4e3/v7/33vwizACdjdg4dpvctmAgNIIt8jLIbZZYFk1zdua4ryF4HkMUnK6vCrAyKk4UMkId8E8GOQKs8jPObI9IhgFaGm1bE5wX+OhfggnmBu41gRwIuvFNW0W++R5YF1DnwQRhGzgwkXbydQ/riThgkB7iB4CZhaihlWVTmBeQcum9vmL464Py7Ee1Hp6DhgOEnB7QfPChlpEOEmxLcvIKSfPfwNJaPI+Aty+dsYlk
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOz9OY9lXZYdCK59hju898zMh2+IiMxkE9VsVrdEAhwSLbWSAFVqFAnKnVRSIhUSlKiyAfJH8B9QSaWAAgECJNDVQFcmi2NERsQ3ubuZveGO5+wW9t7nXPuCaBDwygrB7gYC4Z+72RvudNZZe621iZkZe+2111577bXXXnu9mnK/7Q+w11577bXXXnvttdf/sbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69X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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.imshow(np.sum(rho, axis=1))\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "b5db51bc",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "03895ddc21014d9d97c20a6c50671295",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOz9Oa9s677eh/3ebjRVNbvV7rNPcxu6kWEIlECJN3NEQKkyZRYEOKSSm0gKLIERUwbSB3DgQN9AyQ0M2KYgQIIBCxLF5t572r1XN7tqRvc2Dp63au4DGjaFTeqCXOMBDs45e681Z82qMcf4v8//aUwppbBixYoVK1asWLHiq4H9q34BK1asWLFixYoVK/6XxToArlixYsWKFStWfGVYB8AVK1asWLFixYqvDOsAuGLFihUrVqxY8ZVhHQBXrFixYsWKFSu+MqwD4IoVK1asWLFixVeGdQBcsWLFihUrVqz4yrAOgCtWrFixYsWKFV8Z1gFwxYoVK1asWLHiK8M6AK5YsWLFihUrVnxlWAfAFStWrFixYsWKrwzrALhixYoVK1asWPGVYR0AV6xYsWLFihUrvjKsA+CKFStWrFixYsVXhnUAXLFixYoVK1as+MqwDoArVqxYsWLFihVfGdYBcMWKFStWrFix4ivDOgCuWLFixYoVK1Z8ZVgHwBUrVqxYsWLFiq8M6wC4YsWKFStWrFjxlWEdAFesWLFixYoVK74yrAPgihUrVqxYsWLFV4Z1AFyxYsWKFStWrPjKsA6AK1asWLFixYoVXxnWAXDFihUrVqxYseIrwzoArlixYsWKFStWfGVYB8AVK1asWLFixYqvDOsAuGLFihUrVqxY8ZVhHQBXrFixYsWKFSu+MqwD4IoVK1asWLFixVeGdQBcsWLFihUrVqz4yrAOgCtWrFixYsWKFV8Z1gFwxYoVK1asWLHiK8M6AK5YsWLFihUrVnxlWAfAFStWrFixYsWKrwzrALhixYoVK1asWPGVYR0AV6xYsWLFihUrvjKsA+CKFStWrFixYsVXhnUAXLFixYoVK1as+MqwDoArVqxYsWLFihVfGdYBcMWKFStWrFix4ivDOgCuWLFixYoVK1Z8ZVgHwBUrVqxYsWLFiq8M6wC4YsWKFStWrFjxlWEdAFesWLFixYoVK74yrAPgihUrVqxYsWLFV4Z1AFyxYsWKFStWrPjKsA6AK1asWLFixYoVXxnWAXDFihUrVqxYseIrwzoArlixYsWKFStWfGVYB8AVK1asWLFixYqvDOsAuGLFihUrVqxY8ZVhHQC/cvwX/8V/wR/+4R/SdR1/8id/wn/z3/w3f9UvacWKFStWrFjxLxjrAPgV47/8L/9L/vRP/5T/7D/7z/jv/rv/jr/+1/86/86/8+/w8ePHv+qXtmLFihUrVqz4FwhTSil/1S9ixV8N/uRP/oR/+9/+t/nP//P/HICcMz//+c/5D//D/5D/+D/+j/+KX92KFStWrFix4l8UVgbwK8U8z/y3/+1/y9/6W3/r8s+stfytv/W3+Pt//+//Fb6yFStWrFixYsW/aPi/6hew4q8Gnz9/JqXE+/fvf++fv3//nn/wD/7BP/Xnp2limqbL/885c39/z+vXrzHG/At/vStWrFix4p8vSins93u+/fZbrF35oK8N6wC44p8Jf/fv/l3+zt/5O3/VL2PFihUrVvxzxq9//Wt+9rOf/VW/jBX/C2MdAL9SvHnzBuccHz58+L1//uHDB7755pt/6s//J//Jf8Kf/umfXv7/09MTv/jFL/jD/+j/zNt/0OCmwvDGMb42+AGa50L3EGkeZmxMmDlhlgQpk2560jbgjwvZW1LnCfsJ93CkOAfOYvZHSBmCp2x78q5luWpIrWXZWGwCCphSoICbMmCYbhyHn1vcCJuPmfYpUowh9pbUGZrnBFX16seEPy7Y00JxhtJ6yAWswSwZc5ooXWC56zn9pCE7QzhmNr89cfp2w/EbR/9F32PZOD7/6w7+t3teXZ348PGWV/+Phu4hMV07ioPiYLwzNPuCGyH2BhsLfgQbC/POYDL691PGxqJ/v1/AGr02AyYXijGUxrJsPe3nEX9/oDSB+f2OZeuJnSEHgymw+X7GLhk7RezTCZyjtB4zRUgJMy8AlG0P1lKcIbceu2TMkijOgLWcvt2SG4M/JcZXntgbwqlgl0J3v2DnzHTbML52gH6m2BrCWEjesOwMm48Jk+D0zpJaQzjoZ+q/JIoxDG8ty9bgZnCjPtvuIVMspM7oMzhl3FTI3jDeWcJQWLaG4bVh/Eli82vH3T+MuDGROsfhW12XzZM+A4D+c+bMWydv8ENm82HGjQuHX2yJvaUY6O4TfkjYOYEzZGc5/qTB5sLNP9hjnw4wLdB4mCNlHMA3mK6BnKEJUIquZYDgyduO3HqW64a4caTGsP3diH+eMM8HyrRgnNiYcnvF/H7H+CpgEvghAYZiYL5zLBtDOBa23024ITLftox3nv7zQvPxhD0NFO+Zv73m9E3D6a1+rv5zoX1M5GAoFpadxZ8yzT7hjxGMYbnyxM7SPum9JBfcaaYER7F699I2MN4FbCy4qbz8nj0m+t8eMCmRdi3Tq+5y7XbfHwFerr8YwTm9X9NCudpy/Gt3pNZw/T89Yk4DJQTyTY89zphxonQtuWtYbluKN/hjxM4Rs+TLPcqMy+V/l9aT+6B/ngtmiBJAVdYrB4udIqVxxF3DeBcozrBsTf334CYIh0xzSJhYsClj5qzfTdDnDNg5YccIS8Qsiz77UsA7WKK+p3ekmx1YvYcpWNySyd4yvA66NySwqVyuTz8Wmv1C7Bx2KfjDTNw1pM5SrCF7gxszphRMAX+MFGtYth4MzFeO4a2lfSoUA89/aLB//JF//H/6e1xdXf3/eWKs+FcR6wD4laJpGv7G3/gb/Nmf/Rn/7r/77wJa6/7Zn/0Zf/tv/+1/6s+3bUvbtv/UP48/d8T7DSmBaSA4AztonzLBOJqYsTNQLGApu4Zy1VGCxQ8WMuTocCnB9Y1ujjFjfYbGUNqG0gTcDHbxlGzpZkPqHPOVZd5ZYm/AQqn3YRfAJ/AhY9sEBgiW0hpck/EnPdBtNJQu4OYJUwq5eHCQW4/LC8YWyA43WuyTp1ijh8fNFVw12N5SbgomJpoCd985plPH8y2EvlBuDcRMemM5/rSw+41hMxTSxlBacBbcVDAGKBDfG5Zdwf85bH634JaMiQWHIXuHnROp1a9sDpa0ccQbi9302Ksdsfcs146ieY12yDRPkfCcyV2ArsHSsNx1pMZil0IOhvC86IEVLGkTMKlgS8EdF4zNmDlSQqAtDdFZ8q2hAfxi8KngloxtPWVj4MZjtgYyTDeG6XVh+xtoHwvhBLbTA9h7S97pc3NzwTWZ1Bi8NaTO4DIEU0gdlFzwU6E7ZooxLFtLvDb4qdDPEKZMUwy2s5i9Xlt+lTFTAQtdtJjR4HPBDeCngpv1/Yo1NHOhf5gxtiXdbTCbADtDcWDHjPFZz/YCxoDtPG4ucAPGd5iUMKlAzpjnYx38WoqzYC1miWAypQ6DjoaSLOFgOLzuGX7i8KEj/HrQgFc8NEF/3jnM5DBjwB8jJjuG9x3GQD8WvLW4XAiALZbU9LDz2IPH3HmcCaTrjvi+xzaGbjGYCNvnSHPQIBC3nrZY3JBw0YL3lGDBWPqnhB0sWIehYIwhbVqmVy2x1/u3+bLodefC3DYsxhJ8xm0LZozY4ghfMljIXcCXgHl4powTZZ4BMM7VYRlMsjSmpSzg2h7jWkrjsRhM57HRUrIh7raYXYOLhSZPmGzAAcZQnMH4DkrRwTMXSvSkPmBjhk6Dop3qkJgNxbSkrqXJBjt6Ym+Zrz3THdgE3W8yrgNsJjZWQ9kpkVpbD6NgYsYOCRdHjEnku1vMGHV/6YP+96L/uLGQrzqmdzuWjaE5ZoY7x/TK0DxqmIwNhAM0NtOOC/6UCHhyY7GdxxrLcN0Qe0v/JdIeJshQvMUUw3LVYntL93mmWyxd8ripkDpDOngeDq/0/q8ynq8S6wD
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.imshow(np.sum(rho_rsp, axis=1))\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 25,
"id": "b79fddeb",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.0018435717"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.abs(x - 1).max()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "fb4398be",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 94,
"id": "81ce3e39",
"metadata": {},
"outputs": [],
"source": [
"k0 = clumpmap0[clid2map0[0], 2] + 1\n",
"# parts.shape[0]"
]
},
{
"cell_type": "code",
"execution_count": 96,
"id": "5384bc24",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"182510395"
]
},
"execution_count": 96,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"parts.shape[0] - k0"
]
},
{
"cell_type": "code",
"execution_count": 44,
"id": "32f9ca63",
"metadata": {},
"outputs": [],
"source": [
"clumps_cat = csiborgtools.read.ClumpsCatalogue(nsim0, paths, load_fitted=True, minmass=None, maxdist=155 / 0.705)"
]
},
{
"cell_type": "code",
"execution_count": 119,
"id": "6a1bf230",
"metadata": {},
"outputs": [],
"source": [
"cat = csiborgtools.read.HaloCatalogue(nsim0, paths, minmass=None)"
]
},
{
"cell_type": "code",
"execution_count": 124,
"id": "85eb7844",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 1, 3, 5, ..., 21809643, 21810694, 21818034],\n",
" dtype=int32)"
]
},
"execution_count": 124,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cat['ID']"
]
},
{
"cell_type": "code",
"execution_count": 114,
"id": "b3fea4ab",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"153575"
]
},
"execution_count": 114,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(cat)"
]
},
{
"cell_type": "code",
"execution_count": 118,
"id": "146b4c6e",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1355"
]
},
"execution_count": 118,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"numpy.isnan(cat[\"lagpatch\"]).sum()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "08e2b141",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 88,
"id": "b8c91301",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([-42.401093 , -32.8627 , -45.08371 , ..., 9.587616 ,\n",
" 5.0563965, 12.45813 ], dtype=float32)"
]
},
"execution_count": 88,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cat['x0']"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "9cf882e0",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 46,
"id": "49a14648",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"265246"
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(clumps_cat)"
]
},
{
"cell_type": "code",
"execution_count": 50,
"id": "ba45cf01",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "0119bb1def8d463ba494175ee5416a8c",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAx0ElEQVR4nO3dfXSU9Z3//1e4yXDnTOQmmeQQIIICURCMGsYqlZISICpU7C5KASvCQoO7gGJIv4hidw2L7ireosctsaegwi5oJQWMoYGtDKApWSBKjrBgQJhAoZkBhASS6/eHv1zLcJtAkpnJ5/k4Z46Z63pfM5/3uTLOi891kyjLsiwBAADAGC1CPQAAAAA0LQIgAACAYQiAAAAAhiEAAgAAGIYACAAAYBgCIAAAgGEIgAAAAIYhAAIAABiGAAgAAGAYAiAAAIBhCIAAAACGIQACAAAYhgAIAABgGAIgAACAYQiAAAAAhiEAAgAAGIYACAAAYBgCIAAAgGEIgAAAAIYhAAIAABiGAAgAAGAYAiAAAIBhCIAAAACGIQACAAAYhgAIAABgGAIgAACAYQiAAAAAhiEAAgAAGIYACAAAYBgCIAAAgGEIgAAAAIYhAAIAABiGAAgAAGAYAiAAAIBhCIAAAACGIQACAAAYhgAIAABgGAIgAACAYQiAAAAAhiEAAgAAGIYACAAAYBgCIAAAgGEIgAAAAIYhAAIAABiGAAgAAGAYAiAAAIBhCIAAAACGIQACAAAYhgAIAABgGAIgAACAYQiAAAAAhiEAAgAAGIYACAAAYJiwC4BvvfWW+vfvL6fTKafTKY/HozVr1tjr7733XkVFRQU9pk6dGvQaZWVlysjIULt27RQbG6vZs2fr7NmzQTWFhYW67bbb5HA41KtXL+Xm5jZFewAAACHXKtQDOF/Xrl21YMEC3XjjjbIsS++9955GjRqlbdu26eabb5YkTZ48Wc8//7y9Tbt27eyfq6urlZGRIbfbrU2bNunQoUOaMGGCWrdurRdeeEGStHfvXmVkZGjq1KlaunSpCgoK9Pjjjys+Pl7p6elN2zAAAEATi7Isywr1IK6kY8eOevHFFzVp0iTde++9GjBggF555ZWL1q5Zs0b33XefDh48qLi4OEnS4sWLlZWVpSNHjig6OlpZWVnKy8vTzp077e3Gjh2riooKrV27tilaAgAACJmwmwE8V3V1tVasWKGTJ0/K4/HYy5cuXarf//73crvduv/++/XMM8/Ys4Ber1f9+vWzw58kpaena9q0aSopKdHAgQPl9XqVlpYW9F7p6emaMWPGZcdTWVmpyspK+3lNTY2OHTumTp06KSoqqgE6BgAAjc2yLB0/flwJCQlq0SLszoZrEmEZAHfs2CGPx6PTp0+rQ4cOWrVqlZKTkyVJjzzyiLp3766EhARt375dWVlZKi0t1cqVKyVJPp8vKPxJsp/7fL7L1gQCAZ06dUpt27a96LhycnI0f/78Bu0VAACExv79+9W1a9dQDyMkwjIA9u7dW8XFxfL7/frP//xPTZw4URs2bFBycrKmTJli1/Xr10/x8fEaOnSo9uzZo549ezbquLKzszVr1iz7ud/vV7du3bR//345nc5GfW8AANAwAoGAEhMTdd1114V6KCETlgEwOjpavXr1kiSlpKToiy++0KJFi/T2229fUJuamipJ2r17t3r27Cm3262tW7cG1ZSXl0uS3G63/d/aZefWOJ3OS87+SZLD4ZDD4bhgee0VywAAIHKYfPpWRBz4rqmpCTr37lzFxcWSpPj4eEmSx+PRjh07dPjwYbsmPz9fTqfTPozs8XhUUFAQ9Dr5+flB5xkCAAA0V2E3A5idna0RI0aoW7duOn78uJYtW6bCwkKtW7dOe/bs0bJlyzRy5Eh16tRJ27dv18yZMzV48GD1799fkjRs2DAlJydr/PjxWrhwoXw+n+bOnavMzEx79m7q1Kl6/fXX9fTTT+uxxx7T+vXrtXz5cuXl5YWydQAAgCYRdgHw8OHDmjBhgg4dOiSXy6X+/ftr3bp1+ulPf6r9+/frs88+0yuvvKKTJ08qMTFRY8aM0dy5c+3tW7ZsqdWrV2vatGnyeDxq3769Jk6cGHTfwKSkJOXl5WnmzJlatGiRunbtqnfffZd7AAIAACNExH0Aw1UgEJDL5ZLf7+ccQAAAIgTf3xFyDiAAAAAaDgEQAADAMARAAAAAwxAAAQAADEMABAAAMAwBEAAAwDAEQAAAAMMQAAEAAAxDAAQAADAMARAAAMAwBEAAqIcec/LUY05eqIcBANeEAAgAV4kwCCBSEQAB4CIIdwCaMwIgAFxGXUIgQRFApCEAAgAAGIYACAAAYBgCIAAAgGEIgAAAAIYhAALAebioA0BzRwAEgDq6XDDktjEAIkmrUA8AAMIdwQ5Ac8MMIAAAgGEIgABwFZgVBBDJCIAA0IAIhgAiAQEQAADAMARAAAAAwxAAAQAADEMABABx7h4AsxAAAQAADMONoAHg/8csIABTMAMIAABgGAIgAACAYQiAAAAAhiEAAkAD6zEnj/MJAYQ1AiAAAIBhCIAAAACGIQACAAAYhgAIAABgGG4EDcBoXKwBwETMAAJAI+FqYADhigAIAABgmLALgG+99Zb69+8vp9Mpp9Mpj8ejNWvW2OtPnz6tzMxMderUSR06dNCYMWNUXl4e9BplZWXKyMhQu3btFBsbq9mzZ+vs2bNBNYWFhbrtttvkcDjUq1cv5ebmNkV7AAAAIRd2AbBr165asGCBioqK9OWXX+onP/mJRo0apZKSEknSzJkz9cknn2jFihXasGGDDh48qAcffNDevrq6WhkZGaqqqtKmTZv03nvvKTc3V/PmzbNr9u7dq4yMDA0ZMkTFxcWaMWOGHn/8ca1bt67J+wUAAGhqUZZlWaEexJV07NhRL774oh566CF16dJFy5Yt00MPPSRJ2rVrl/r27Suv16tBgwZpzZo1uu+++3Tw4EHFxcVJkhYvXqysrCwdOXJE0dHRysrKUl5ennbu3Gm/x9ixY1VRUaG1a9fWeVyBQEAul0t+v19Op7NhmwbQJJriHL19CzIa/T0A1B3f32E4A3iu6upqffDBBzp58qQ8Ho+Kiop05swZpaWl2TV9+vRRt27d5PV6JUler1f9+vWzw58kpaenKxAI2LOIXq836DVqa2pfA4AZuEADgKnC8jYwO3bskMfj0enTp9WhQwetWrVKycnJKi4uVnR0tGJiYoLq4+Li5PP5JEk+ny8o/NWur113uZpAIKBTp06pbdu2Fx1XZWWlKisr7eeBQOCa+gQAAAiFsJwB7N27t4qLi7VlyxZNmzZNEydO1FdffRXqYSknJ0cul8t+JCYmhnpIAAAA9RaWATA6Olq9evVSSkqKcnJydOutt2rRokVyu92qqqpSRUVFUH15ebncbrckye12X3BVcO3zK9U4nc5Lzv5JUnZ2tvx+v/3Yv3//tbYKAADQ5MIyAJ6vpqZGlZWVSklJUevWrVVQUGCvKy0tVVlZmTwejyTJ4/Fox44dOnz4sF2Tn58vp9Op5ORku+bc16itqX2NS3E4HPbtaWofAAAAkSbszgHMzs7WiBEj1K1bNx0/flzLli1TYWGh1q1bJ5fLpUmTJmnWrFnq2LGjnE6nnnjiCXk8Hg0aNEiSNGzYMCUnJ2v8+PFauHChfD6f5s6dq8zMTDkcDknS1KlT9frrr+vpp5/WY489pvXr12v58uXKy+OEcAAA0PyFXQA8fPiwJkyYoEOHDsnlcql///5at26dfvrTn0qSXn75ZbVo0UJjxoxRZWWl0tPT9eabb9rbt2zZUqtXr9a0adPk8XjUvn17TZw4Uc8//7xdk5SUpLy8PM2cOVOLFi1S165d9e677yo9Pb3J+wUAAGhqEXEfwHDFfYSAyNZUt4HhPoBAeOH7O0LOAQQAAEDDIQACQBPhxtMAwgUBEAAAwDBhdxEIADQmZuEAgBlAAAAA4xAAAQAADEMABAAAMAznAAJAI+O8QwDhhhlAAAAAwxAAAQAADEMABAAAMAw
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"m = numpy.isfinite(clumps_cat[\"lambda200c\"])\n",
"\n",
"plt.figure()\n",
"plt.hist(np.log10(clumps_cat[\"lambda200c\"][m]), bins=\"auto\")\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "38aa3685",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "86f807ab",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 5,
"id": "629f3c3e",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 1, 2, 3, 5, 6, 7, 9, 11, 12, 13], dtype=int32)"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\n",
"\n",
"clumps_cat[\"index\"][:10]"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "0b1b12e0",
"metadata": {},
"outputs": [],
"source": [
"X = csiborgtools.read.load_parent_particles(3, parts, clumpmap0, clid2map0, clumps_cat)"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "b9ae282b",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"3"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"clump = csiborgtools.fits.Clump(X, clumps_cat[2], box)\n",
"clumps_cat[2][\"index\"]"
]
},
{
"cell_type": "code",
"execution_count": 37,
"id": "b75f9eb6",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(0.0008713664483347365, 1.8111896e-06)"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"clump.spherical_overdensity_mass(200)"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "b5f4b080",
"metadata": {},
"outputs": [],
"source": [
"def f(mass):\n",
" return numpy.cumsum(mass)\n",
"\n",
"@jit(nopython=True)\n",
"def g(mass):\n",
" return numpy.cumsum(mass)\n",
"\n",
"x = clump['M']"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "0163c51a",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"73.4 µs ± 401 ns per loop (mean ± std. dev. of 7 runs, 10,000 loops each)\n"
]
}
],
"source": [
"%timeit f(x)"
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "51ff9cf3",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"31.8 µs ± 385 ns per loop (mean ± std. dev. of 7 runs, 10,000 loops each)\n"
]
}
],
"source": [
"%timeit g(x)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "8886e9e8",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 19,
"id": "13f72d14",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"3.79 ms ± 47.2 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n"
]
}
],
"source": [
"%timeit clump.spherical_overdensity_mass(200)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "9baf6db9",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "ea062d858e094536ac06bd22ee092002",
"version_major": 2,
"version_minor": 0
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABFOklEQVR4nO3deXhU5eH28fvMZCOQhCUSCAQCskhYEsnGIioaRaxUxB2VAIqKiLWpWuki1Sq0Yq2lxC1VQFGLG2jVn1vUBmUJBMMWVg0QliSGJSvZZub9w5qWF0TIZHJm5nw/15U/5syZk3u8jjx3nrMZLpfLJQAAAFiGzewAAAAAaF0UQAAAAIuhAAIAAFgMBRAAAMBiKIAAAAAWQwEEAACwGAogAACAxVAAAQAALIYCCAAAYDEUQAAAAIuhAAIAAFgMBRAAAMBiKIAAAAAWQwEEAACwGAogAACAxVAAAQAALIYCCAAAYDEUQAAAAIuhAAIAAFgMBRAAAMBiKIAAAAAWQwEEAACwGAogAACAxVAAAQAALIYCCAAAYDEUQAAAAIuhAAIAAFgMBRAAAMBiKIAAAAAWQwEEAACwGAogAACAxVAAAQAALIYCCAAAYDEUQAAAAIuhAAIAAFgMBRAAAMBiKIAAAAAWQwEEAACwGAogAACAxVAAAQAALIYCCAAAYDEUQAAAAIuhAAIAAFgMBRAAAMBiKIAAAAAWQwEEAACwGAogAACAxVAAAQAALIYCCAAAYDEUQAAAAIuhAAIAAFgMBRAAAMBiKIAAAAAWQwEEAACwGAogAACAxVAAAQAALCbA7AC+zOl06sCBAwoLC5NhGGbHAQAAp8HlcqmyslLR0dGy2aw5F0YBdMOBAwcUExNjdgwAANAMRUVF6t69u9kxTEEBdENYWJik73eg8PBwk9MAAIDTUVFRoZiYmKZx3IoogG744bBveHg4BRAAAB9j5dO3rHng202ZmZmKi4tTcnKy2VEAAADOmOFyuVxmh/BVFRUVioiIUHl5OTOAAAD4CMZvZgABAAAshwIIAABgMRRAAAAAi6EANgMXgQAAAF/GRSBu4CRSAAB8D+M3M4AAAACWQwEEAACwGAogAACAxVAAAQAALIYC6KWcTq7NAQAAnkEBbAZP3wZmd1m1Lp+/Qpv2lXtk+wAAwNq4DYwbPHUZ+Z0v5+nDLcUKDbIrc+JQjT6nc4ttGwAAq+M2MMwAeqXHrx2i8/pEqqbeodteWqfXcveaHQkAAPgRCqAXCg8J1IuTk3X10O5yOF2a9fYmPfHRdjFZCwAAWgIF0EsFBdj0xLVDdM/FfSVJCz7fpYzXN6i+0WlyMgAA4OsogF7MMAxlXNJPf756sOw2Q8u+3q/JC3NVUdtgdjQAAODDKIA+4PrkHnpxcrLaBtm18ptDuvaZVTpw9JjZsQAAgI+iAPqIC/qdpaV3DFfnsGBtL6nUVU9/pYIDFWbHAgAAPogC6EMGdYvQshkj1bdzO5VU1Om651Zpxc7vzI4FAAB8DAXQx3Rr30Zv3jlCw3p3VFVdo6YsXKs31hWZHQsAAPgQCmAzePpJID8lIjRQi6em6MqEaDU6Xbr/zY166tMd3CYGAACcFp4E4gaz7yTudLr0xMfb9fQX30iSrkvqrseuGqxAO70eAIAfY/b47Q1oCj7MZjP0wGXn6NHxg2QzpNfX7dPURWtVyW1iAADAKVAA/cDNw3oqa1KS2gTatWJnma57brVKKmrNjgUAALwUBdBPXDwgSkvvGKbIdkHaerBCV2V+pR0llWbHAgAAXogC6EeGdG+vZXeNVO+z2upAea2ufmalVn5TZnYsAADgZSiAfiamY6jeunOEkmM7qLK2Uekv5mr51/vNjgUAALwIBdAPdWgbpJdvTdXPhnRVg8Ole5fmK/PzXdwmBgAASKIA+q2QQLv+fsO5mjaqlyRp3kfb9dvlm9XocJqcDAAAmI0C6MdsNkO//Vmc/jAuToYhvbpmr25/OU/VdY1mRwMAACaiAFrA5JG99OzNiQoOsOmzbaW64fnVKq3kNjEAAFiVpQvg9u3blZCQ0PTTpk0bLV++3OxYHjFmYBe9dvswdWwbpE37yzXh6ZXaVVpldiwAAGACHgX3H1VVVYqNjdWePXvUtm3b0/qMLz5KZndZtSYvzNXuQzWKaBOorElJSunV0exYAAC0Gl8cv1uapWcA/9e7776riy+++LTLn6+KjWyrt6aP0Lk92qv8WINufmGN3tt4wOxYAACgFfl0AczJydG4ceMUHR0twzBOevg2MzNTsbGxCgkJUWpqqnJzc0+6rddff13XX3+9hxN7h07tgvXqbcM0ZmCU6huduvvVr/V8zjfcJgYAAIvw6QJYXV2t+Ph4ZWZmnvT9pUuXKiMjQ7Nnz9b69esVHx+vMWPGqLS09Lj1KioqtHLlSl1++eWtEdsrtAmy6+mbEjV5RKwkac4H2/SHd7fI4aQEAgDg7/zmHEDDMLRs2TKNHz++aVlqaqqSk5O1YMECSZLT6VRMTIxmzpypBx98sGm9l19+WR999JGWLFlyyt9RV1enurq6ptcVFRWKiYnx6XMIXC6XXviyUI++v1WSdGlclP52w7lqE2Q3ORkAAJ7BOYA+PgN4KvX19crLy1NaWlrTMpvNprS0NK1ateq4dU/38O/cuXMVERHR9BMTE9PiuVubYRi6bVRvZU4cqqAAmz4uKNGNWat1qKrupz8MAAB8kt8WwLKyMjkcDkVFRR23PCoqSsXFxU2vy8vLlZubqzFjxvzkNmfNmqXy8vKmn6KiohbPbZafDemqV25LVfvQQOUXHdWEZ1aqsKza7FgAAMAD/LYAnq6IiAiVlJQoKCjoJ9cNDg5WeHj4cT/+JDm2o96aPkIxHdtoz6EaTXj6K+XtOWJ2LAAA0ML8tgBGRkbKbrerpKTkuOUlJSXq0qWLW9vOzMxUXFyckpOT3dqONzr7rHZ6e/pIDekeoSM1DZqYtVofbi7+6Q8CAACf4bcFMCgoSImJicrOzm5a5nQ6lZ2dreHDh7u17RkzZqigoEBr1651N6ZXOissWP+8fZguPqez6hqdmv5KnhZ+VWh2LAAA0EJ8ugBWVVUpPz9f+fn5kqTCwkLl5+dr7969kqSMjAxlZWVp8eLF2rp1q6ZPn67q6mpNmTLFxNS+ITQoQM/dkqibUnvI5ZIe/leB/vhegZzcJgYAAJ8XYHYAd6xbt06jR49uep2RkSFJSk9P16JFi3T99dfru+++00MPPaTi4mIlJCToww8/POHCkDOVmZmpzMxMORwOt7bj7QLsNj06fpC6dwjVnz/cphe+LNTB8mN68roEhQRymxgAAHyV39wH0AxWuo/QO/n7df8bG1XvcCqpZwdlTUpSh7Y/feEMAADexkrj94/x6UPAaD1XJnTTS7emKDwkQOv2HNHVz6zU3kM1ZscCAADNQAFsBn++CvhUhvXupDenj1C39m30bVm1JjzzlTYUHTU7FgAAOEMcAnaDVaeQSypqNXXRWm05UKE2gXYtnpqilF4dzY4FAMBpser4/b+YAcQZiwoP0dI7hmtU30gda3BoysJcbhgNAIAPoQCiWdoFByhrUpJGnN1J1fUOTX4xl8PBAAD4CApgM1j1HMD/X0igXf9IT1JKr46qrGvULS+s0eb95WbHAgAAP4FzAN3AOQTfq65rVPqLuVq354jahwbqtWnDNKCrdf97AAC8G+M3M4BoAW2DA7RwSrISYtrraE2Dbv7HGu0sqTQ7FgAA+BEUQLSIsJBALZ6aokHdwnWoul43Zq3RN99VmR0LAACcBAWwGTgH8OQi2gRqya2pGtA1XGVVdZqYtVq7y6rNjgUAAP4/nAPoBs4hOLlDVXW6MWu1dpRUKTri+1vGxHQMNTsWAACSGL8lZgDhAZ3aBeuV24bp7LPa6kB5rW7MWq39R4+ZHQsAAPwHBRAecVZYsF6dNky9Ittq35Fjmpi1WsXltWbHAgAAogDCg6LCQ/TqtFT16BiqPYdqNDFrtUorKYEAAJiNAtgMXARy+rpGtNGr01LVrX0bfVtWrZuy1qisqs7sWAAAWBoXgbiBk0hP395
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.plot(rs, y)\n",
"plt.yscale(\"log\")\n",
"plt.xscale(\"log\")\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "bd137d39",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"224 µs ± 4.17 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)\n"
]
}
],
"source": [
"%timeit clump.r()"
]
},
{
"cell_type": "code",
"execution_count": 87,
"id": "0e0f4a71",
"metadata": {},
"outputs": [],
"source": [
"x, y, z = clump['x'], clump['y'], clump['z']\n",
"x0, y0, z0 = clumps_cat[3]['x'], clumps_cat[3]['y'], clumps_cat[3]['z']\n"
]
},
{
"cell_type": "code",
"execution_count": 93,
"id": "80a18b34",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"145 µs ± 539 ns per loop (mean ± std. dev. of 7 runs, 10,000 loops each)\n"
]
}
],
"source": [
"%timeit ((x - x0)**2 + (y - y0)**2 + (z - z0)**2)**0.5"
]
},
{
"cell_type": "code",
"execution_count": 92,
"id": "f929a601",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"242 µs ± 6.44 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)\n"
]
}
],
"source": [
"%timeit clump.r()"
]
},
{
"cell_type": "code",
"execution_count": 267,
"id": "cfd1af49",
"metadata": {},
"outputs": [],
"source": [
"delta_bckg *= 2"
]
},
{
"cell_type": "code",
"execution_count": 260,
"id": "28ac7a6d",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1.23 ms ± 6.98 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)\n"
]
}
],
"source": [
"%timeit delta1, delta2, cellmins, nonzero = overlapper.make_deltas(pos, pos2, mass, mass)\n",
"# __ = overlapper.make_deltas(pos, pos2, mass, mass)"
]
},
{
"cell_type": "code",
"execution_count": 271,
"id": "9d157f6e",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1.75 ms ± 11.8 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)\n"
]
}
],
"source": [
"%timeit overlapper(pos, pos2, mass, mass, delta_bckg)"
]
},
{
"cell_type": "code",
"execution_count": 259,
"id": "32f13411",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "3072a8519f3e4da4a108df78ed44e6a9",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, axs = plt.subplots(ncols=2, figsize=(10, 5))\n",
"axs[0].imshow(np.sum(delta1, axis=0))\n",
"axs[1].imshow(np.sum(delta2, axis=0))\n",
"fig.tight_layout()"
]
},
{
"cell_type": "code",
"execution_count": 93,
"id": "6df1d619",
"metadata": {},
"outputs": [],
"source": [
"delta = overlapper.make_bckg_delta(pos, mass / mass)"
]
},
{
"cell_type": "code",
"execution_count": 282,
"id": "0d5525e5",
"metadata": {},
"outputs": [],
"source": [
"from functools import cache \n",
"from functools import lru_cache"
]
},
{
"cell_type": "code",
"execution_count": 283,
"id": "f2918a51",
"metadata": {},
"outputs": [],
"source": [
"from time import sleep\n",
"\n",
"@lru_cache(maxsize=1024)\n",
"def f(x):\n",
" sleep(0.5)\n",
" return x * x"
]
},
{
"cell_type": "code",
"execution_count": 286,
"id": "4d37bc4f",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"79 ns ± 0.372 ns per loop (mean ± std. dev. of 7 runs, 10,000,000 loops each)\n"
]
}
],
"source": [
"%timeit f(2)"
]
},
{
"cell_type": "code",
"execution_count": 77,
"id": "a46d6f48",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 0, 0, 277961071],\n",
" [ 1, 277961072, 277980356],\n",
" [ 2, 277980357, 277985437],\n",
" ...,\n",
" [ 21836472, 460470781, 460470782],\n",
" [ 21836487, 460470783, 460471462],\n",
" [ 21836785, 460471463, 460471466]], dtype=int32)"
]
},
"execution_count": 77,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"clumpmap0[:]"
]
},
{
"cell_type": "code",
"execution_count": 72,
"id": "4a900d77",
"metadata": {},
"outputs": [],
"source": [
"dens = overlapper.make_delta(pos, mass, subbox=True)"
]
},
{
"cell_type": "code",
"execution_count": 75,
"id": "81b5381f",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "7c3c84eac2ab4bc99d8af24f3aeb5b04",
"version_major": 2,
"version_minor": 0
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAApH0lEQVR4nO3df3CV5Z03/k8C5ABCAggkRAKLolhF2GfZSrNtWSpUoPM4tPqdqbUzxV1HRxedVdpty05rq7v9xtqZrW2X0p1pR9qZIq0d0anfp7oVS3zaBbtSWdS2rPBQweWXpSXBYA4hub9/+DRtVuC+rZBDcr1eM/cM55xPrvPJfZLD+1zn5LqqsizLAgCAZFRXugEAAPqXAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASIwACACRGAAQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEiMAAgAkRgAEAEiMAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASIwACACRGAAQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEiMAAgAkRgAEAEiMAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASIwACACRmaKUbYGDq6emJvXv3xujRo6OqqqrS7QDwJmVZFkeOHInGxsaorjYflBoBMHGrVq2KL3zhC7F///6YPXt2fOUrX4nLL7889+v27t0bTU1N/dAhAGfSnj17YvLkyZVug34mACbsO9/5TqxYsSK+9rWvxdy5c+O+++6LRYsWxfbt22PixImn/NrRo0dHRMS74n0xNIb1R7sAnEbHoyt+HP+r9/mctFRlWZZVugkqY+7cufH2t789/vmf/zkiXn9bt6mpKW677bb45Cc/ecqvbW9vj7q6upgfS2NolQAIMNAcz7piYzwSbW1tUVtbW+l26Gfe9E/UsWPHYsuWLbFw4cLe66qrq2PhwoWxadOmN9SXy+Vob2/vcwAAA5MAmKhf//rX0d3dHfX19X2ur6+vj/3797+hvqWlJerq6noPn/8DgIFLAKSQlStXRltbW++xZ8+eSrcEAPyR/BFIosaPHx9DhgyJAwcO9Ln+wIED0dDQ8Ib6UqkUpVKpv9oDAM4gM4CJqqmpiTlz5sSGDRt6r+vp6YkNGzZEc3NzBTsDAM40M4AJW7FiRSxbtiz+/M//PC6//PK47777oqOjI/7qr/6q0q0BAGeQAJiwD37wg/HKK6/EnXfeGfv3748//dM/jccee+wNfxgCAAwu1gHkj2IdQICBzTqAafMZQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEiMAAgAkRgAEAEiMAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASIwACACRGAAQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEjO00g3A2ax65Mjcmqqp5522++v+xYunbSwAOBkzgIn67Gc/G1VVVX2Oiy++uNJtAQD9wAxgwi699NJ44oknei8PHerHAQBS4H/8hA0dOjQaGhoq3QYA0M+8BZywF198MRobG+P888+PD3/4w7F79+5KtwQA9AMzgImaO3durFmzJmbMmBH79u2Lu+66K9797nfH888/H6NHj35DfblcjnK53Hu5vb29P9sFAE4jATBRS5Ys6f33rFmzYu7cuTF16tT47ne/GzfccMMb6ltaWuKuu+7qzxYBgDPEW8BERMSYMWPioosuih07dpzw9pUrV0ZbW1vvsWfPnn7uEAA4XQRAIiLi1VdfjZ07d8akSZNOeHupVIra2to+BwAwMAmAifrYxz4Wra2t8atf/Sr+7d/+LT7wgQ/EkCFD4kMf+lClWwMAzjCfAUzUyy+/HB/60Ifi0KFDMWHChHjXu94VmzdvjgkTJlS6tbNK9YRzc2u6xp1TaKxhLx/KrRnytgsLjZW99F+5NT1HjxYaC4D0CICJWrduXaVbAAAqxFvAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYqwDSJKKLrjc2Zi/5V3HpGGFxqqN/EWlixoa5+XWHC/Qe0REadvu3Jqso6PQWP29+HT1yJH9en8RFtgGBgczgAAAiREAAQASIwACACRGAAQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJsRMISSoX3CWjyC4fQzuzQmO1TxueW1M63FNorOqjXbk1x0cMKTTWkIvydxUpatjLh3Jrjr+0p9BYRXb5OJ27chTdVaS/+wI4E8wAAgAkRgAEAEiMAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASYyFoklQeW+xHv1yX/xqpXPdWu/m9oxOLvSbrHj4qt6b02+PF7nNSKbfmtxcWW1S64af5daWR+QtiR0R0/+LFQnWni8WbgZSYAQQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjJ1ASFLtC78pVNc+ZUJuTU1bVmis7uFVuTVj/7PY7h3tU/N/dTsL7GJSVOfEnkJ1HZOG5dYM39FZaKwhb7swt6a/dws53apHjsytsUMJcCaYARyEnnrqqbjqqquisbExqqqq4uGHH+5ze5Zlceedd8akSZNixIgRsXDhwnjxxYH9HykAUJwAOAh1dHTE7NmzY9WqVSe8/d57740vf/nL8bWvfS2efvrpOOecc2LRokXR2VlsZgYAGNi8BTwILVmyJJYsWXLC27Isi/vuuy8+9alPxdKlSyMi4lvf+lbU19fHww8/HNdee21/tgoAVIAZwMTs2rUr9u/fHwsXLuy9rq6uLubOnRubNm066deVy+Vob2/vcwAAA5MAmJj9+/dHRER9fX2f6+vr63tvO5GWlpaoq6vrPZqams5onwDAmSMAUsjKlSujra2t99izZ0+lWwIA/kgCYGIaGhoiIuLAgQN9rj9w4EDvbSdSKpWitra2zwEADEwCYGKmTZsWDQ0NsWHDht7r2tvb4+mnn47m5uYKdgYA9Bd/BTwIvfrqq7Fjx47ey7t27YqtW7fGuHHjYsqUKXH77bfHP/7jP8aFF14Y06ZNi09/+tPR2NgY73//+yvXdD/rGV5TqK7IwsxFFniOiDhezq8rOtaxAhOwQ0rFxuouFakqttj18QL32Tl9YqGxhnR259YU+w7PXhZ5BipFAByEnnnmmXjPe97Te3nFihUREbFs2bJYs2ZNfPzjH4+Ojo646aab4vDhw/Gud70rHnvssRg+fHilWgYA+pEAOAjNnz8/suzkMzZVVVVx9913x913392PXQEAZwufAQQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABJjHUA4hVHP7cut2fs/mwqNNaQzfzeNoxNP32uyI9PzdzEpqrq2q1Bdx+L8+xz6yDmFxhramf/0VDthQqGxul95pVAdQCrMAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEmMhaJJU3XmsUF33uNrcmnG/LBca6zcXl3JrhhQbKrry2yqsyCLPQ14eXmisYQercmvO2VfsmyztbS9UB8CbZwYQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDF2AoFTKLJjyLDfFBurffqw3JrhB4u9JqsusJnG6B3Ffr27avPrOiceLzTWsLb8sY6PGFJorCHjzsmtqR5eU2is6o6O3Jqeo0cLjQUwGJgBBABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEiMAAgAkxkLQJKmn4ALCPSPzF28e+pv8RYYjIsY+X5Vb09FUaKh
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAApH0lEQVR4nO3df3CV5Z03/k8C5ABCAggkRAKLolhF2GfZSrNtWSpUoPM4tPqdqbUzxV1HRxedVdpty05rq7v9xtqZrW2X0p1pR9qZIq0d0anfp7oVS3zaBbtSWdS2rPBQweWXpSXBYA4hub9/+DRtVuC+rZBDcr1eM/cM55xPrvPJfZLD+1zn5LqqsizLAgCAZFRXugEAAPqXAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASIwACACRGAAQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEiMAAgAkRgAEAEiMAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASIwACACRGAAQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEiMAAgAkRgAEAEiMAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASIwACACRmaKUbYGDq6emJvXv3xujRo6OqqqrS7QDwJmVZFkeOHInGxsaorjYflBoBMHGrVq2KL3zhC7F///6YPXt2fOUrX4nLL7889+v27t0bTU1N/dAhAGfSnj17YvLkyZVug34mACbsO9/5TqxYsSK+9rWvxdy5c+O+++6LRYsWxfbt22PixImn/NrRo0dHRMS74n0xNIb1R7sAnEbHoyt+HP+r9/mctFRlWZZVugkqY+7cufH2t789/vmf/zkiXn9bt6mpKW677bb45Cc/ecqvbW9vj7q6upgfS2NolQAIMNAcz7piYzwSbW1tUVtbW+l26Gfe9E/UsWPHYsuWLbFw4cLe66qrq2PhwoWxadOmN9SXy+Vob2/vcwAAA5MAmKhf//rX0d3dHfX19X2ur6+vj/3797+hvqWlJerq6noPn/8DgIFLAKSQlStXRltbW++xZ8+eSrcEAPyR/BFIosaPHx9DhgyJAwcO9Ln+wIED0dDQ8Ib6UqkUpVKpv9oDAM4gM4CJqqmpiTlz5sSGDRt6r+vp6YkNGzZEc3NzBTsDAM40M4AJW7FiRSxbtiz+/M//PC6//PK47777oqOjI/7qr/6q0q0BAGeQAJiwD37wg/HKK6/EnXfeGfv3748//dM/jccee+wNfxgCAAwu1gHkj2IdQICBzTqAafMZQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEiMAAgAkRgAEAEiMAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASIwACACRGAAQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEjO00g3A2ax65Mjcmqqp5522++v+xYunbSwAOBkzgIn67Gc/G1VVVX2Oiy++uNJtAQD9wAxgwi699NJ44oknei8PHerHAQBS4H/8hA0dOjQaGhoq3QYA0M+8BZywF198MRobG+P888+PD3/4w7F79+5KtwQA9AMzgImaO3durFmzJmbMmBH79u2Lu+66K9797nfH888/H6NHj35DfblcjnK53Hu5vb29P9sFAE4jATBRS5Ys6f33rFmzYu7cuTF16tT47ne/GzfccMMb6ltaWuKuu+7qzxYBgDPEW8BERMSYMWPioosuih07dpzw9pUrV0ZbW1vvsWfPnn7uEAA4XQRAIiLi1VdfjZ07d8akSZNOeHupVIra2to+BwAwMAmAifrYxz4Wra2t8atf/Sr+7d/+LT7wgQ/EkCFD4kMf+lClWwMAzjCfAUzUyy+/HB/60Ifi0KFDMWHChHjXu94VmzdvjgkTJlS6tbNK9YRzc2u6xp1TaKxhLx/KrRnytgsLjZW99F+5NT1HjxYaC4D0CICJWrduXaVbAAAqxFvAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYqwDSJKKLrjc2Zi/5V3HpGGFxqqN/EWlixoa5+XWHC/Qe0REadvu3Jqso6PQWP29+HT1yJH9en8RFtgGBgczgAAAiREAAQASIwACACRGAAQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJsRMISSoX3CWjyC4fQzuzQmO1TxueW1M63FNorOqjXbk1x0cMKTTWkIvydxUpatjLh3Jrjr+0p9BYRXb5OJ27chTdVaS/+wI4E8wAAgAkRgAEAEiMAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASYyFoklQeW+xHv1yX/xqpXPdWu/m9oxOLvSbrHj4qt6b02+PF7nNSKbfmtxcWW1S64af5daWR+QtiR0R0/+LFQnWni8WbgZSYAQQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjJ1ASFLtC78pVNc+ZUJuTU1bVmis7uFVuTVj/7PY7h3tU/N/dTsL7GJSVOfEnkJ1HZOG5dYM39FZaKwhb7swt6a/dws53apHjsytsUMJcCaYARyEnnrqqbjqqquisbExqqqq4uGHH+5ze5Zlceedd8akSZNixIgRsXDhwnjxxYH9HykAUJwAOAh1dHTE7NmzY9WqVSe8/d57740vf/nL8bWvfS2efvrpOOecc2LRokXR2VlsZgYAGNi8BTwILVmyJJYsWXLC27Isi/vuuy8+9alPxdKlSyMi4lvf+lbU19fHww8/HNdee21/tgoAVIAZwMTs2rUr9u/fHwsXLuy9rq6uLubOnRubNm066deVy+Vob2/vcwAAA5MAmJj9+/dHRER9fX2f6+vr63tvO5GWlpaoq6vrPZqams5onwDAmSMAUsjKlSujra2t99izZ0+lWwIA/kgCYGIaGhoiIuLAgQN9rj9w4EDvbSdSKpWitra2zwEADEwCYGKmTZsWDQ0NsWHDht7r2tvb4+mnn47m5uYKdgYA9Bd/BTwIvfrqq7Fjx47ey7t27YqtW7fGuHHjYsqUKXH77bfHP/7jP8aFF14Y06ZNi09/+tPR2NgY73//+yvXdD/rGV5TqK7IwsxFFniOiDhezq8rOtaxAhOwQ0rFxuouFakqttj18QL32Tl9YqGxhnR259YU+w7PXhZ5BipFAByEnnnmmXjPe97Te3nFihUREbFs2bJYs2ZNfPzjH4+Ojo646aab4vDhw/Gud70rHnvssRg+fHilWgYA+pEAOAjNnz8/suzkMzZVVVVx9913x913392PXQEAZwufAQQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABJjHUA4hVHP7cut2fs/mwqNNaQzfzeNoxNP32uyI9PzdzEpqrq2q1Bdx+L8+xz6yDmFxhramf/0VDthQqGxul95pVAdQCrMAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEmMhaJJU3XmsUF33uNrcmnG/LBca6zcXl3JrhhQbKrry2yqsyCLPQ14eXmisYQercmvO2VfsmyztbS9UB8CbZwYQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDF2AoFTKLJjyLDfFBurffqw3JrhB4u9JqsusJnG6B3Ffr27avPrOiceLzTWsLb8sY6PGFJorCHjzsmtqR5eU2is6o6O3Jqeo0cLjQUwGJgBBABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEiMAAgAkxkLQJKm
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "8aa1881c",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "3a0e02f7",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 55,
"id": "7b83c9ba",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"((134842, 7), (134842, 4))"
]
},
"execution_count": 55,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x.shape, x0.shape"
]
},
{
"cell_type": "code",
"execution_count": 56,
"id": "fad76b87",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "a102651d5dfa4a76970dbb8c3493c534",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"# plt.scatter(x[:, 0], x[:, 1], s=0.1)\n",
"plt.scatter(x0[:, 0], x0[:, 1], s=0.1)\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "d0423f44",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "6276d479",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "50a4a6d6",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "7883167e",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "179d520e",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "209c181f",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "b3253603",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 11,
"id": "c6430d5c",
"metadata": {},
"outputs": [],
"source": [
"unique_clump_ids = numpy.unique(clump_ids)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "ec9e90ab",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 0, 1, 2, 3, 5, 6, 7, 9, 11, 12, 13, 14, 15,\n",
" 17, 19, 21, 22, 23, 29, 32, 34, 39, 43, 134, 137, 138,\n",
" 139, 149, 151, 156, 157, 158, 159, 161, 163, 165, 167, 168, 169,\n",
" 172, 173, 175, 178, 179, 181, 183, 186, 187, 188, 189, 191, 193,\n",
" 194, 196, 197, 198, 204, 207, 209, 211, 212, 213, 214, 215, 216,\n",
" 217, 218, 221, 223, 225, 227, 228, 231, 232, 237, 238, 240, 243,\n",
" 245, 247, 248, 249, 252, 257, 258, 259, 260, 262, 263, 264, 267,\n",
" 268, 269, 270, 272, 273, 274, 275, 276, 278], dtype=int32)"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"unique_clump_ids[:100]"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "273df2d6",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"131 ns ± 0.529 ns per loop (mean ± std. dev. of 7 runs, 10,000,000 loops each)\n"
]
}
],
"source": [
"%timeit numpy.nan == numpy.nan"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "6da0af29",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"791 ns ± 5.14 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)\n"
]
}
],
"source": [
"%timeit numpy.isnan(numpy.nan)"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "bd84b541",
"metadata": {},
"outputs": [
{
"ename": "TypeError",
"evalue": "Object dtype dtype('O') has no native HDF5 equivalent",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
"Cell \u001b[0;32mIn[29], line 3\u001b[0m\n\u001b[1;32m 1\u001b[0m test \u001b[39m=\u001b[39m {\u001b[39m\"\u001b[39m\u001b[39masd\u001b[39m\u001b[39m\"\u001b[39m: \u001b[39m1\u001b[39m}\n\u001b[1;32m 2\u001b[0m \u001b[39mwith\u001b[39;00m h5py\u001b[39m.\u001b[39mFile(\u001b[39m\"\u001b[39m\u001b[39mtest.hp\u001b[39m\u001b[39m\"\u001b[39m, \u001b[39m'\u001b[39m\u001b[39mw\u001b[39m\u001b[39m'\u001b[39m) \u001b[39mas\u001b[39;00m f:\n\u001b[0;32m----> 3\u001b[0m f\u001b[39m.\u001b[39;49mcreate_dataset(\u001b[39m\"\u001b[39;49m\u001b[39mtest\u001b[39;49m\u001b[39m\"\u001b[39;49m, data\u001b[39m=\u001b[39;49mtest)\n",
"File \u001b[0;32m~/csiborgtools/venv_csiborg/lib/python3.9/site-packages/h5py/_hl/group.py:183\u001b[0m, in \u001b[0;36mGroup.create_dataset\u001b[0;34m(self, name, shape, dtype, data, **kwds)\u001b[0m\n\u001b[1;32m 180\u001b[0m parent_path, name \u001b[39m=\u001b[39m name\u001b[39m.\u001b[39mrsplit(\u001b[39mb\u001b[39m\u001b[39m'\u001b[39m\u001b[39m/\u001b[39m\u001b[39m'\u001b[39m, \u001b[39m1\u001b[39m)\n\u001b[1;32m 181\u001b[0m group \u001b[39m=\u001b[39m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39mrequire_group(parent_path)\n\u001b[0;32m--> 183\u001b[0m dsid \u001b[39m=\u001b[39m dataset\u001b[39m.\u001b[39;49mmake_new_dset(group, shape, dtype, data, name, \u001b[39m*\u001b[39;49m\u001b[39m*\u001b[39;49mkwds)\n\u001b[1;32m 184\u001b[0m dset \u001b[39m=\u001b[39m dataset\u001b[39m.\u001b[39mDataset(dsid)\n\u001b[1;32m 185\u001b[0m \u001b[39mreturn\u001b[39;00m dset\n",
"File \u001b[0;32m~/csiborgtools/venv_csiborg/lib/python3.9/site-packages/h5py/_hl/dataset.py:88\u001b[0m, in \u001b[0;36mmake_new_dset\u001b[0;34m(parent, shape, dtype, data, name, chunks, compression, shuffle, fletcher32, maxshape, compression_opts, fillvalue, scaleoffset, track_times, external, track_order, dcpl, dapl, efile_prefix, virtual_prefix, allow_unknown_filter, rdcc_nslots, rdcc_nbytes, rdcc_w0)\u001b[0m\n\u001b[1;32m 86\u001b[0m \u001b[39melse\u001b[39;00m:\n\u001b[1;32m 87\u001b[0m dtype \u001b[39m=\u001b[39m numpy\u001b[39m.\u001b[39mdtype(dtype)\n\u001b[0;32m---> 88\u001b[0m tid \u001b[39m=\u001b[39m h5t\u001b[39m.\u001b[39;49mpy_create(dtype, logical\u001b[39m=\u001b[39;49m\u001b[39m1\u001b[39;49m)\n\u001b[1;32m 90\u001b[0m \u001b[39m# Legacy\u001b[39;00m\n\u001b[1;32m 91\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39many\u001b[39m((compression, shuffle, fletcher32, maxshape, scaleoffset)) \u001b[39mand\u001b[39;00m chunks \u001b[39mis\u001b[39;00m \u001b[39mFalse\u001b[39;00m:\n",
"File \u001b[0;32mh5py/h5t.pyx:1664\u001b[0m, in \u001b[0;36mh5py.h5t.py_create\u001b[0;34m()\u001b[0m\n",
"File \u001b[0;32mh5py/h5t.pyx:1688\u001b[0m, in \u001b[0;36mh5py.h5t.py_create\u001b[0;34m()\u001b[0m\n",
"File \u001b[0;32mh5py/h5t.pyx:1748\u001b[0m, in \u001b[0;36mh5py.h5t.py_create\u001b[0;34m()\u001b[0m\n",
"\u001b[0;31mTypeError\u001b[0m: Object dtype dtype('O') has no native HDF5 equivalent"
]
}
],
"source": [
"test = {\"asd\": 1}\n",
"with h5py.File(\"test.hp\", 'w') as f:\n",
" f.create_dataset(\"test\", data=test)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "29e5a4ed",
"metadata": {},
"outputs": [],
"source": [
"f"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "317aef53",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"2360"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"k0, kf = minmax_clump(259, clump_ids)\n",
"\n",
"kf - k0 + 1"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "8fe50188",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([259, 259, 259, ..., 259, 259, 259], dtype=int32)"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"clump_ids[k0:kf+1]"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "d0508ab0",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 3,
"id": "011a9fea",
"metadata": {},
"outputs": [],
"source": [
"import numpy\n",
"\n",
"nsim = nsim0\n",
"nsnap = nsnap0\n",
"\n",
"\n",
"part0 = h5py.File(paths.initmatch_path(nsim, \"particles\"), 'r')['particles']\n",
"cmap = h5py.File(paths.particles_path(nsim, \"clumpmap\"), 'r')\n",
"partf = h5py.File(paths.particles_path(nsim), 'r')[\"particles\"]"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "8f8c9116",
"metadata": {},
"outputs": [],
"source": [
"part0[cmap[str(558655)], :]"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "1d74f0e7",
"metadata": {},
"outputs": [],
"source": [
"cat = csiborgtools.read.ClumpsCatalogue(nsim, paths, rawdata=True)"
]
},
{
"cell_type": "code",
"execution_count": 44,
"id": "b595aa4b",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"10000it [00:51, 193.86it/s]\n"
]
}
],
"source": [
"from tqdm import tqdm\n",
"y = np.zeros((10000, 2), dtype=np.int32)\n",
"\n",
"for i, hid in tqdm(enumerate(cat[\"index\"][cat.ismain][:10000])):\n",
" n = np.sum(cat[\"parent\"] == hid)\n",
" y[i, :] = hid, n"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "2bf99732",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([558655, 558659, 558673, 558675, 558677, 558692, 558705, 558717,\n",
" 558724, 558726, 558739, 558746, 558857, 559232, 559256, 559292,\n",
" 559325, 559343, 559349, 559384, 559388, 559406, 559415, 559453,\n",
" 559467, 559473, 559492, 559496, 559541, 559544, 559548, 559570,\n",
" 559571, 559604, 559612, 559637, 559643, 559648, 559655, 559724,\n",
" 559735, 559779, 559780, 559792, 559802, 559804, 559817, 559910,\n",
" 559918, 559926, 559960, 559977, 559982, 559997, 560012, 560031,\n",
" 560122, 560213, 560325, 560375, 560426, 560517, 560798, 562156,\n",
" 563235, 563254, 563586, 563651, 563671, 563892, 564050, 564068,\n",
" 564138, 564153, 564358, 564525, 564734, 564745, 564779, 564831,\n",
" 565008, 565180, 565272, 565276, 565521, 565620, 565701, 565891,\n",
" 566046, 566604, 566705, 567047, 567336, 567720, 568897, 569232,\n",
" 569376, 569773, 573130, 575459, 575880, 576414, 579319, 579445,\n",
" 579722, 579770, 580117, 580388, 580441, 580507, 580518, 581594,\n",
" 581767, 582047, 582713, 583256, 586403, 587027, 587239, 588764,\n",
" 593803, 595742, 596219, 599285, 600189, 603135, 605484],\n",
" dtype=int32)"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cat[\"index\"][cat[\"parent\"] == 558655]"
]
},
{
"cell_type": "code",
"execution_count": 45,
"id": "64aa63a2",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([558655, 127], dtype=int32)"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"y[np.argmax(y[:, 1]), :]"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "4a5c0091",
"metadata": {},
"outputs": [],
"source": [
"keys = list(cmap.keys())"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "d6befe8b",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[558655 558659 558673 558675 558677 558692 558705 558717 558724 558726\n",
" 558739 558746 558857 559232 559256 559292 559325 559343 559349 559384\n",
" 559388 559406 559415 559453 559467 559473 559492 559496 559541 559544\n",
" 559548 559570 559571 559604 559612 559637 559643 559648 559655 559724\n",
" 559735 559779 559780 559792 559802 559804 559817 559910 559918 559926\n",
" 559960 559977 559982 559997 560012 560031 560122 560213 560325 560375\n",
" 560426 560517 560798 562156 563235 563254 563586 563651 563671 563892\n",
" 564050 564068 564138 564153 564358 564525 564734 564745 564779 564831\n",
" 565008 565180 565272 565276 565521 565620 565701 565891 566046 566604\n",
" 566705 567047 567336 567720 568897 569232 569376 569773 573130 575459\n",
" 575880 576414 579319 579445 579722 579770 580117 580388 580441 580507\n",
" 580518 581594 581767 582047 582713 583256 586403 587027 587239 588764\n",
" 593803 595742 596219 599285 600189 603135 605484]\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" 0%| | 0/127 [00:00<?, ?it/s]"
]
}
],
"source": [
"\n",
"csiborgtools.fits.load_parent_particles(558655, part0, cmap, cat)\n",
"# Xf = csiborgtools.fits.load_parent_particles(378, partf, cmap, cat)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "ee1a8686",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "f9cee980a8fb4354aa78f811a8915e85",
"version_major": 2,
"version_minor": 0
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB+FElEQVR4nO3de1xT9/0/8FdCCCGEOwKCIFXxUmpRUSmuF7tq6ebq3Gxr281a19vWy9ba9qudvTtn+6tb7Vp7UXtR206tl1atkypqqxURERGjIiJyDxAuCUlIQpLz+4PBdNOac4ICPa/n4+FjFs/nnc/nc07OeeVzTphCEAQBRERERCQbyp7uABERERFdWQyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDKj6ukO9GUejwc1NTUIDg6GQqHo6e4QERGRFwRBQGtrK+Li4qBUynMtjAHQBzU1NUhISOjpbhAREZEElZWVGDBgQE93o0cwAPogODgYQMcBFBIS0sO9ISIiIm+YzWYkJCR0XcfliAHQB523fUNCQhgAiYiI+hg5P74lzxvfRERERDLGAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARES9mM3p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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB+FElEQVR4nO3de1xT9/0/8FdCCCGEOwKCIFXxUmpRUSmuF7tq6ebq3Gxr281a19vWy9ba9qudvTtn+6tb7Vp7UXtR206tl1atkypqqxURERGjIiJyDxAuCUlIQpLz+4PBdNOac4ICPa/n4+FjFs/nnc/nc07OeeVzTphCEAQBRERERCQbyp7uABERERFdWQyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDKj6ukO9GUejwc1NTUIDg6GQqHo6e4QERGRFwRBQGtrK+Li4qBUynMtjAHQBzU1NUhISOjpbhAREZEElZWVGDBgQE93o0cwAPogODgYQMcBFBIS0sO9ISIiIm+YzWYkJCR0XcfliAHQB523fUNCQhgAiYiI+hg5P74lzxvfRERERDLGAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARES9mM3p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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"\n",
"plt.scatter(X[:, 0], X[:, 1], s=0.1)\n",
"# plt.scatter(Xf[:, 0], Xf[:, 1], s=0.1)\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "1bbda411",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 3,
"id": "6e9d36ca",
"metadata": {},
"outputs": [],
"source": [
"pid_final = np.load(\"pid_final.npy\")\n",
"pid_init = np.load(\"pid_initial.npy\")"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "ac9c5c58",
"metadata": {},
"outputs": [],
"source": [
"pid_order = np.argsort(pid_final).astype(np.int32)\n",
"\n",
"pid_order_2 = np.argsort(pid_order).astype(np.int32)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "bcf3be0a",
"metadata": {},
"outputs": [],
"source": [
"# Sort them\n",
"\n",
"pid_init = pid_init[np.argsort(pid_init)]"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "1218ba7f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.alltrue(pid_init[pid_order_2] == pid_final)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "0a12563b",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 6, 7, 8, ..., 429538984, 456581538,\n",
" 456482476], dtype=int32)"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "95d9f0f7",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "c7998177",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "1b1ef66c",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 25,
"id": "5b9362d2",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 6, 7, 8, ..., 429538984, 456581538,\n",
" 456482476], dtype=int32)"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\n",
"\n",
"\n",
"pid_final[pid_order][pid_order_2]"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "a333cacf",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "cf7a4005",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "884cfa0f",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "ebcc11ae",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 18,
"id": "3f155db8",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 1, 2, 3, ..., 460357796, 460357797,\n",
" 460357798], dtype=int32)"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"part0['ID']"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "88feaaff",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 8,
"id": "20d1a6a0",
"metadata": {},
"outputs": [],
"source": [
"indx1 = numpy.argsort(part0['ID'])\n",
"\n",
"indx2 = numpy.argsort(pid)\n",
"\n",
"indx1_inv = numpy.argsort(indx1)\n",
"part0 = part0[indx2][indx1_inv]\n",
"# pid = pid[indx2]"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([(0.6463347 , 0.5915494 , 0.3729033 , 1.1641532e-10, 285313656),\n",
" (0.22073722, 0.49019635, 0.9627326 , 5.9604645e-08, 58672855),\n",
" (0.7210556 , 0.18949312, 0.37298316, 5.9604645e-08, 459417395),\n",
" ...,\n",
" (0.46851808, 0.2966002 , 0.44987014, 1.1641532e-10, 2684309),\n",
" (0.7481397 , 0.02954267, 0.8927611 , 5.9604645e-08, 402473389),\n",
" (0.9159686 , 0.8301242 , 0.67392564, 5.9604645e-08, 287235917)],\n",
" dtype=[('x', '<f4'), ('y', '<f4'), ('z', '<f4'), ('M', '<f4'), ('ID', '<i4')])"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"part0"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "53d0f130",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "78041a0a",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "b6059fb3",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "aafbd8d9",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 10,
"id": "4d989091",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 6, 7, 8, ..., 429538984, 456581538,\n",
" 456482476], dtype=int32)"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pid"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "c97c3f51",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 1, 2, 3, ..., 460471465, 460471466,\n",
" 460471467], dtype=int32)"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pid"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 1, 2, 3, 5, 6, 7, 9, 11, 12, 13, 15, 17, 19,\n",
" 21, 22, 23, 29, 32, 34, 39, 134, 137, 138, 139, 149, 151,\n",
" 156, 157, 158, 159, 161, 163, 167, 168, 169, 172, 173, 175, 178,\n",
" 181, 186, 188, 189, 191, 196, 197, 198, 204, 209, 211], dtype=int32)"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cat = csiborgtools.read.ClumpsCatalogue(nsim, paths, load_fitted=False, rawdata=True)\n",
"parent_ids = cat[\"index\"][cat.ismain]\n",
"\n",
"parent_ids[:50]"
]
},
{
"cell_type": "code",
"execution_count": 54,
"id": "af4fa7e0",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"11031538"
]
},
"execution_count": 54,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"i = cat[\"index\"][np.argsort(cat[\"mass_cl\"])[::-3][213]]\n",
"i"
]
},
{
"cell_type": "code",
"execution_count": 55,
"id": "c57a56ac",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[11031538 11032027 11033906 11034471 11034477 11034692 11035306 11049411\n",
" 11057461 11058959]\n",
"[24440, 256, 133, 0, 0, 0, 113, 0, 0, 0]\n"
]
}
],
"source": [
"# clid = 10170336\n",
"# clid = 10170336 + 12\n",
"clid = i\n",
"\n",
"\n",
"mmain_indxs = cat[\"index\"][cat[\"parent\"] == clid]\n",
"# mask = clump_ids == clid\n",
"# print(mask.sum())\n",
"print(mmain_indxs)\n",
"\n",
"print([numpy.sum(clump_ids == j) for j in mmain_indxs])\n"
]
},
{
"cell_type": "code",
"execution_count": 56,
"id": "4ad427f1",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"24942"
]
},
"execution_count": 56,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mask = numpy.isin(clump_ids, mmain_indxs)\n",
"mask.sum()"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "410c3b97efc14cd8b1b34d7a3666483f",
"version_major": 2,
"version_minor": 0
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAADEqklEQVR4nOy9e3RUx5mv/esWjdQQg+zYXCQTAQohXAJiyCAw/iYcQ4xtHQvOZK3jISF4fHyZKBgcczyxBAiNuOoE4nhBGHAywc4aJcSxJwbhBoOHhMmYoDghXCzAGLCRHQkRO1giJgIJ9f7+aKpVu7qq9ttSN5Lo91mLlVh6VbVr79273q5d9ZTPcRwHDMMwDMMwTMrg7+oDYBiGYRiGYa4vnAAyDMMwDMOkGJwAMgzDMAzDpBicADIMwzAMw6QYnAAyDMMwDMOkGJwAMgzDMAzDpBicADIMwzAMw6QYnAAyDMMwDMOkGJwAMgzDMAzDpBicADIMwzAMw6QYnAAyDMMwDMOkGJwAMgzDMAzDpBicADIMwzAMw6QYnAAyDMMwDMOkGJwAMgzDMAzDpBicADIMwzAMw6QYnAAyDMMwDMOkGJwAMgzDMAzDpBicADIMwzAMw6QYnAAyDMMwDMOkGJwAMgzDMAzDpBicADIMwzAMw6QYnAAyDMMwDMOkGJwAMgzDMAzDpBicADIMwzAMw6QYnAAyDMMwDMOkGJwAMgzDMAzDpBicADIMwzAMw6QYnAAyDMMwDMOkGJwAMgzDMAzDpBicADIMwzAMw6QYnAAyDMMwDMOkGJwAMgzDMAzDpBicADIMwzAMw6QYnAAyDMMwDMOkGJwAMgzDMAzDpBicADIMwzAMw6QYnAAyDMMwDMOkGJwAMgzDMAzDpBicADIMwzAMw6QYnAAyDMMwDMOkGJwAMgzDMAzDpBicADIMwzAMw6QYnAAyDMMwDMOkGJwAMgzDMAzDpBicADIMwzAMw6QYnAAyDMMwDMOkGJwAMgzDMAzDpBicADIMwzAMw6QYnAAyDMMwDMOkGJwAMgzDMAzDpBicADIMwzAMw6QYnAAyDMMwDMOkGJwAMgzDMAzDpBicADIMwzAMw6QYnAAyDMMwDMOkGL26+gB6MuFwGPX19bjpppvg8/m6+nAYhmEYhiHgOA7+8pe/ICsrC35/ao6FcQLYCerr6zFkyJCuPgyGYRiGYTrABx98gNtvv72rD6NL4ASwE9x0000AIjdQv379uvhoGIZhGIahcPHiRQwZMiTaj6cinAB2AvHat1+/fpwAMgzDMEwPI5Wnb6Xmi2+GYRiGYZgUhhNAhmEYhmGYFIMTQIZhGIZhmBSDE0CGYRiGYZgUgxNAhmEYhmGYFOO6JIAbN27E0KFDkZGRgfz8fLz55pvW+MbGRsyfPx+DBw9Geno6Pve5z2Hnzp3R3//617/G/fffj6ysLPh8Pmzbti2mDMdxsGzZMgwePBjBYBAzZszAqVOnXDEXLlzA1772NfTr1w+ZmZl4+OGH8cknnySkzQzDMAzDMN2VpCeAL774IhYtWoSysjL84Q9/wPjx4zFz5kz86U9/0sa3tLTgy1/+Ms6ePYuXX34ZJ0+exA9/+ENkZ2dHYy5duoTx48dj48aNxnq/853vYP369di8eTN++9vfom/fvpg5cyYuX74cjfna176GY8eO4fXXX8err76KX//613jssccS13iGYRiGYZjuiJNkJk2a5MyfPz/6321tbU5WVpazZs0abfymTZuc4cOHOy0tLaTyATivvPKK62fhcNgZNGiQs3bt2ujPGhsbnfT0dGfr1q2O4zjO8ePHHQDO7373u2jMrl27HJ/P59TV1ZHqbmpqcgA4TU1NpHiGYRiGYboe7r8dJ6kjgC0tLTh48CBmzJgR/Znf78eMGTNw4MAB7d9UVVVhypQpmD9/PgYOHIixY8di9erVaGtrI9f73nvvoaGhwVVv//79kZ+fH633wIEDyMzMxBe/+MVozIwZM+D3+/Hb3/5WW+6VK1dw8eJF1z+GYRiGYZieRlITwI8++ghtbW0YOHCg6+cDBw5EQ0OD9m/effddvPzyy2hra8POnTtRWlqK7373u1i5ciW5XlG2rd6GhgYMGDDA9ftevXrhlltuMR7bmjVr0L9//+g/3geYYRiGYZieSLdbBRwOhzFgwAD84Ac/wMSJE/HAAw9gyZIl2Lx5c1cfGkpKStDU1BT998EHH3T1ITEMwzAMw8RNUvcCvvXWW5GWlobz58+7fn7+/HkMGjRI+zeDBw9GIBBAWlpa9GejRo1CQ0MDWlpa0Lt3b896Rdnnz5/H4MGDXfXm5eVFY9SFKFevXsWFCxeMx5aeno709HTP+hmGYRiGYbozSR0B7N27NyZOnIi9e/dGfxYOh7F3715MmTJF+zdTp07F6dOnEQ6Hoz975513MHjwYFLyBwDDhg3DoEGDXPVevHgRv/3tb6P1TpkyBY2NjTh48GA05pe//CXC4TDy8/PjaifDdBcWbj2E3JIQFm495BlbWV2LqRW/RGV17XU4MoZhGKY7kfRXwIsWLcIPf/hD/PjHP8aJEydQVFSES5cu4aGHHgIAzJs3DyUlJdH4oqIiXLhwAU888QTeeecdhEIhrF69GvPnz4/GfPLJJzh8+DAOHz4MILLo4/Dhw3j//fcBAD6fD9/61rewcuVKVFVV4a233sK8efOQlZWF2bNnA4iMKt5zzz149NFH8eabb2L//v14/PHH8Q//8A/IyspK9mlhGAD0JIwaV3WkHm1O5H+9WBU6jrrGZqwKHY/rmBmGYZieT1JfAQPAAw88gA8//BDLli1DQ0MD8vLy8Nprr0UXaLz//vvw+9vz0CFDhmD37t148sknMW7cOGRnZ+OJJ57A008/HY35/e9/j//xP/5H9L8XLVoEAHjwwQfxwgsvAAC+/e1v49KlS3jsscfQ2NiIO++8E6+99hoyMjKif/eTn/wEjz/+OKZPnw6/34+vfOUrWL9+fTJPB8O42LTvDOoam7Fp3xnMnZzT6bh4uNwadv0vwzAMkzr4HMdxuvogeioXL15E//790dTUhH79+nX14TA9kMrqWmzadwZF03KtiR01buHWQwgdrUfBuCysnzPBWnc8sQzDMDcS3H9zAtgp+AZiGIZhmJ4H99/dUAPDMAzDMAzDJBdOABmGYRiGYVIMTgAZhmEYhmFSDE4AGYZhGIZhUgxOAJkbmnhkx5TYeLx9eeV7kFe+J2HlUeIKN7yBocUhFG54IyFx8cZOrdiLocUhDC22y6grq2sxqnQXhnnEMQzDMMmBVwF3Al5F1DVQ9SULtx6KCpHTfMCZNQXauMrqWqzbfRJNza1wAGRnBrG/+K6YmFWh42i+5sxL8wHls8ZqlSxTK/airvFy9L8zgwEcLrvbenwAsHK2vjwAGLFkJ1rbHM+4ocUhV71PzRypjZXjAGBcdn9ULbjTs0xbnBprO+dTK36JusZmzziGYZhkwP03jwAyPZDQ0chuF6Gj9t0u5N+3Wb7mbNp3Bo3Xkr80H1A0LVcb0ywJk9ucyM90yMkf9fhEHSZapQbY4sZl94/+/8bmVmOsHAcAR+uaSGXa4gAgO7NdtF4wzryjTtG0XAQDfvg84hiGYZjkwAkg0+MoGJeFNJ934iD/Xk5MVIqm5SIzGEBmMGAc1ZMTlnHZ/ZGdGdQminJdmcFeyM4M4qmZIz2PL5DmM5YHtCdhXnFVC+7Eytljo+0xxVYtuBNnKwqi5aoJoRpLiQOA/cXTcbaiAGcrCqyjs3Mn5+DEinvxnkccwzAMkxz4FXAn4CFkhmEYhul5cP/NI4AMwzAMwzApByeADMMwDMMwKQYngAzDMAzDMCkGJ4AMwzAMwzApRq+uPgCGEVRW12LTvjMompZr9NwBEX/ejiP1yAj4saRgtDFWuPsut4Zx/3i7M1CUS/ELMmao11B2JRZ6XBsRa3MvAhFh9dG6JgTSfCi7f4y1foZhmFSHE0Cm27Bp3xnUNTZj074z1s5byJObW8PWWNndt+NIvTbJUGXMQMTPp8bKcZnBXuibHjAmOSMW70Rr2EHA70NZ4RhjQpR
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# coords = part0[mask, :]\n",
"plt.figure()\n",
"plt.scatter(part0['x'][mask], part0['y'][mask], s=1)\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "72a723d2",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "33d088f2",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "e54f3005",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 193,
"id": "b097637b",
"metadata": {},
"outputs": [],
"source": [
"particles0 = h5py.File(paths.initmatch_path(nsim0, \"particles\"), 'r')['particles']\n",
"particlesx = h5py.File(paths.initmatch_path(nsimx, \"particles\") , 'r')['particles']"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "c3cf4c91",
"metadata": {},
"outputs": [],
"source": [
"# delta_bckg = overlapper.make_bckg_delta(particles0, verbose=True)\n",
"# delta_bckg = overlapper.make_bckg_delta(particlesx, delta=delta_bckg, verbose=True)\n",
"# np.save(\"./bckg_{}_{}.npy\".format(nsim0, nsimx), delta_bckg)\n",
"# delta_bckg = np.load(\"./bckg_{}_{}.npy\".format(nsim0, nsimx))"
]
},
{
"cell_type": "code",
"execution_count": 194,
"id": "f7a602a5",
"metadata": {},
"outputs": [],
"source": [
"map0 = h5py.File(paths.initmatch_path(nsim0, \"halomap\"), 'r')\n",
"mapx = h5py.File(paths.initmatch_path(nsimx, \"halomap\"), 'r')"
]
},
{
"cell_type": "code",
"execution_count": 174,
"id": "79ddf8f5",
"metadata": {},
"outputs": [],
"source": [
"keys = np.array(sorted([int(x) for x in mapx.keys()]))"
]
},
{
"cell_type": "code",
"execution_count": 175,
"id": "326b4ae8",
"metadata": {},
"outputs": [],
"source": [
2023-05-13 16:37:34 +00:00
"paths = csiborgtools.read.Paths(**csiborgtools.paths_glamdring)\n",
2023-05-12 12:07:58 +00:00
"\n",
"halocat = csiborgtools.read.HaloCatalogue(nsimx, paths, rawdata=True)\n",
"clumpcat = csiborgtools.read.ClumpsCatalogue(nsimx, paths, rawdata=True)"
]
},
{
"cell_type": "code",
"execution_count": 176,
"id": "6d5a86b2",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"10"
]
},
"execution_count": 176,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"clid = 2\n",
"\n",
"\n",
"np.sum(clumpcat[\"parent\"] == clid)\n",
"\n",
"# mmain_indxs = clumpcat[\"index\"][clumpcat[\"parent\"] == clid]\n",
"\n",
"# mmain_indxs\n",
"# mmain_mask = numpy.isin(clump_ids, mmain_indxs, assume_unique=True)"
]
},
{
"cell_type": "code",
"execution_count": 195,
"id": "099d3357",
"metadata": {},
"outputs": [],
"source": [
"fs = list(map0.keys())"
]
},
{
"cell_type": "code",
"execution_count": 196,
"id": "21aa49af",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 173643/173643 [01:29<00:00, 1947.49it/s]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"362439022\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\n"
]
}
],
"source": [
"from tqdm import tqdm\n",
"tot = 0\n",
"for f in tqdm(fs):\n",
" tot += map0[f].shape[0]\n",
"\n",
"print(tot)"
]
},
{
"cell_type": "code",
"execution_count": 197,
"id": "278de818",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<HDF5 dataset \"particles\": shape (182510395, 4), type \"<f4\">"
]
},
"execution_count": 197,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"particles0"
]
},
{
"cell_type": "code",
"execution_count": 198,
"id": "e55b65c4",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1.9858541317605498"
]
},
"execution_count": 198,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tot / 182510395"
]
},
{
"cell_type": "code",
"execution_count": 172,
"id": "373423b2",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<HDF5 dataset \"particles\": shape (182036133, 4), type \"<f4\">"
]
},
"execution_count": 172,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"particlesx"
]
},
{
"cell_type": "code",
"execution_count": 177,
"id": "d5b65fcb",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"86031"
]
},
"execution_count": 177,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"i = 10170336\n",
"\n",
"\n",
"k = np.where(cat[\"ID\"] == i)[0][0]\n",
"k"
]
},
{
"cell_type": "code",
"execution_count": 178,
"id": "709cb935",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10170336\n"
]
},
{
"data": {
"text/plain": [
"<HDF5 dataset \"10170336\": shape (2085,), type \"<i8\">"
]
},
"execution_count": 178,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# i = np.random.choice(keys[keys<100000])\n",
"\n",
"# # i = 10040155 #+ 11\n",
"\n",
"print(i)\n",
"# i = 32\n",
"\n",
"\n",
"mask = map0[str(i)]\n",
"mask"
]
},
{
"cell_type": "code",
"execution_count": 183,
"id": "7f4a40a5",
"metadata": {},
"outputs": [],
"source": [
"halo = particlesx[mask, :]"
]
},
{
"cell_type": "code",
"execution_count": 184,
"id": "e83806b1",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"2085.000032720428"
]
},
"execution_count": 184,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.sum(halo[:, 3]) / 1.1641532e-10"
]
},
{
"cell_type": "code",
"execution_count": 186,
"id": "7fe3494d",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "92b87db2ae5440c19f4b4694e9e98aaf",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.scatter(halo[:, 0], halo[:, 1], s=2)\n",
"# plt.scatter(cat['x'][k], cat['y'][k], s=10, c='r')\n",
"\n",
"plt.xlabel(r\"x\")\n",
"plt.ylabel(r\"y\")\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "c0c2d4fe",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "2f2ead3e",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "d48adc68",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "276b5823",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "13f4cf79",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "11a909af",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "105862df",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "a2f25a4e",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "93fbe29d",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "64608a92",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 21,
"id": "35442e33",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_7442/2249068321.py:2: RuntimeWarning: divide by zero encountered in log10\n",
" plt.imshow(np.log10(np.sum(delta_bckg, axis=0)))\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "bb36c88a57034c6ea702eb545cc6e57b",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.imshow(np.log10(np.sum(delta_bckg, axis=0)))\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "1d8ad8fe",
"metadata": {},
"outputs": [],
"source": [
"f = h5py.File(\"../data/particles_7444.h5\", \"r\")"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "020ac8e4",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 4.42346358e-01, 7.09757663e-03, 4.64053304e-01, -1.96926287e-03,\n",
" -2.67177823e-03, -6.45721859e-04, 1.16415322e-10])"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"f[\"particles\"][0, :]"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "1eb74f46",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "venv_csiborg",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.7"
}
},
"nbformat": 4,
"nbformat_minor": 5
}