diff --git a/demo_spectrogram.ipynb b/demo_spectrogram.ipynb index 86897e9..19d7d9a 100644 --- a/demo_spectrogram.ipynb +++ b/demo_spectrogram.ipynb @@ -11,7 +11,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "3d488d70", "metadata": { "pycharm": { @@ -46,10 +46,38 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "0d503155", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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q1mzZoqOjtbdd9+t7du3Wx0rqG6//fZq30/DMJSbm2t1NMuFZRFYunSpJk6cqKlTp2rnzp164IEHlJ2draNHj1odLaguXLigbt26ac6cOVZHCZlNmzYpNzdXH374odavX69Lly4pMzNTFy5csDpaULVp00a//e1vtW3bNm3btk0//OEPNXjwYH300UdWRwuZ0tJSzZs3T127drU6Ssh06dJFx48f9y579uyxOlLQnTlzRhkZGYqMjNSaNWv08ccfa8aMGUpISLA6WlCVlpb6fC/Xr18vSRo+fLjFycKAGYbuueceMycnx2ddp06dzOeee86iRKEnyVyxYoXVMULu5MmTpiRz06ZNVkcJuSZNmpivv/661TFC4ty5c2aHDh3M9evXmw8++KA5YcIEqyMF3QsvvGB269bN6hghN2XKFPP++++3OkadmzBhgtmuXTvzypUrVkexXNjtEfj222+1fft2ZWZm+qzPzMzUBx98YFEqBIvL5ZL0fxeVqo8uX76sJUuW6MKFC+rVq5fVcUIiNzdXDz/8sPr37291lJA6cOCAWrdurdTUVD322GM6fPiw1ZGCbtWqVUpPT9fw4cPVsmVLde/eXfPnz7c6Vkh9++23+rd/+zeNGTOm3l/mvjbCrgh8/fXXunz5slq1auWzvlWrVjpx4oRFqRAMpmnqmWee0f3336+77rrL6jhBt2fPHsXGxsrhcCgnJ0crVqzQnXfeaXWsoFuyZIl27NihgoICq6OE1L333qs333xT69at0/z583XixAn17t3be4n0+uLw4cMqLCxUhw4dtG7dOuXk5OgXv/iF3nzzTaujhczKlSt19uxZjR492uooYSFsrz743ZZmmibN7Rb39NNPa/fu3Xr//fetjhISHTt2VFlZmc6ePatly5Zp1KhR2rRpU70qAxUVFZowYYKKi4vVuHFjq+OEVHZ2tvffaWlp6tWrl9q1a6c33nhDzzzzjIXJguvKlStKT09Xfn6+JKl79+766KOPVFhYqJ/+9KcWpwuNBQsWKDs7u1aX6LWDsNsj0Lx5czVs2LDaX/8nT56stpcAt47x48dr1apVevfdd9WmTRur44REo0aN1L59e6Wnp6ugoEDdunXT7NmzrY4VVNu3b9fJkyfVs2dPRUREKCIiQps2bdKrr76qiIgIXb582eqIIRMTE6O0tDQdOHDA6ihBlZSU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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "c_major_pitch_frequencies = [261.63, 293.66, 329.63, 349.23, 392.00, 440.00, 493.88, 523.25]\n", "c_major_pitches = ['C4', 'D4', 'E4', 'F4', 'G4', 'A4', 'B4', 'C5']\n", @@ -93,10 +121,35 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "b14bd983", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Frühlingstraum by Franz Schubert:\n" + ] + }, + { + "data": { + "text/html": [ + "\n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fn_wav = os.path.join('data_audio','demo_spectrum','FMP_B_Sonify_Pitch_Schubert_D911-11_SC06.wav')\n", "Fs = 22050\n", @@ -117,10 +170,45 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "34bb0e20", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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T36CoqKitPfWrl2LgoIClJaWZkS+J554AhUVFfj0pz+dkftnCl//+texbt06dHV1ZVoUD48zBp6EeHicYigrK3M/sVgMkUik13s2HXPLLbdgwYIFWL16NcaMGYPi4mLcc8896OzsxG233YZ4PI7x48fjX/7lX9LudeDAAdxwww0oKSlBaWkprr32Wnz88cf9yrdp0yb85V/+Zdp7//Ef/4Hy8nLk5uaitLQUc+bMSUtdbNiwAdOmTUNOTg7OP/98PPzww2nf379/P2688UbE43Hk5+dj1qxZeP31193/161bhylTpiA7OxtTp07Fv/3bv6V9PxKJ4PHHH8d1112HvLw8nHvuuXjuuefSPvP888/jvPPOQ25uLq688spe7fzkk09wzTXXoKSkBPn5+Zg+fTqef/559/8vfelLqKurw7Zt2/rtHw8Pj8HDkxAPjzMEL730Eg4ePIjt27fjwQcfxKpVq/AXf/EXKCkpweuvv44lS5ZgyZIlqKqqAgC0tLTgyiuvREFBAbZv345XX30VBQUF+PKXv4yOjo7QeyQSCbz99tuYNWuWe6+6uho33XQTFi9ejN27d+Pll1/GwoULwQO6H3vsMaxcuRL33Xcfdu/ejdWrV+MHP/gBfvaznwEAmpqacMUVV+DgwYN47rnn8Pvf/x5///d/j+7ubgDAs88+i2XLluF73/se3n77bfzt3/4tvv71r+PXv/51mmz33HMPvvKVr+Ctt97C/PnzcfPNN6O+vh4AUFVVhYULF2L+/PmorKzEN77xDdxxxx1p31+6dCna29uxfft27Nq1Cz/+8Y9RUFDg/p+dnY0ZM2bglVde+VMek4eHhyLw8PA4ZbFhw4YgFov1ev/uu+8OZsyY4V4vWrQomDRpUtDV1eXemzp1anD55Ze7152dnUF+fn7w1FNPBUEQBE888UQwderUoLu7232mvb09yM3NDV588cVQed58880AQLBv3z733s6dOwMAwccffxz6nQkTJgRPPvlk2nv/8A//EFRUVARBEASPPvpoUFhYGNTV1YV+/9JLLw3+5m/+Ju2966+/Ppg/f757DSC466673OumpqYgEokEL7zwQhAEQfD9738/mDZtWlpbb7/99gBAkEgkgiAIgvLy8mDVqlWhMhDXXXddcMstt/T7GQ8Pj8HDR0I8PM4QTJ8+HVlZPVN6zJgxKC8vd6+j0ShKS0tRU1MDANi5cyc+/PBDFBYWoqCgAAUFBYjH42hra8NHH30Ueo/W1lYAQE5OjntvxowZuOqqq1BeXo7rr78ejz32GBKJBACgtrYWVVVV+Ou//mt3j4KCAtx7773uHpWVlbjooosQj8dD77l7927Mnj077b3Zs2dj9+7dae9deOGF7u/8/HwUFha6tu7evRtf+MIXEIlE3GcqKirSvv/d734X9957L2bPno27774bb731Vi9ZcnNz0dLSEiqnh4fH8WNYpgXw8PA4MRg+fHja60gkEvoe0xzd3d2YOXMm/v3f/73XtUaNGhV6j5EjRwI4lpbhZ6LRKLZu3YrXXnsNW7ZswU9/+lOsXLkSr7/+OvLy8gAcS8lccskladeKRqMAjhn2gaDkAQCCIOj1Xn9tDf6QGuoP3/jGN/ClL30J//Vf/4UtW7ZgzZo1eOCBB/Cd73zHfaa+vh5TpkwZ8FoeHh6Dg4+EeHicpbj44ovxwQcfYPTo0fjMZz6T9hOLxUK/M2XKFBQVFeHdd99Nez8SiWD27Nm455578OabbyI7OxvPPvssxowZg0996lPYs2dPr3tMnjwZwLEIRmVlpavfsJg2bRpeffXVtPdee+01TJs2bdBt/exnP4vf/OY3ae/Z1wAwYcIELFmyBJs3b8b3vvc9PPbYY2n/f/vtt3HRRRcN+r4eHh79w5MQD4+zFDfffDNGjhyJa6+9Fq+88gr27t2Lbdu2YdmyZdi/f3/od7KysjBnzpw0UvD6669j9erVeOONN7Bv3z5s3rwZtbW1jiSsWrUKa9aswdq1a/H+++9j165d2LBhAx588EEAwE033YSysjIsWLAA//u//4s9e/bgmWeewf/93/8BAG677TZs3LgRjzzyCD744AM8+OCD2Lx5M2699dZBt3XJkiX46KOPsGLFCrz33nt48sknsXHjxrTPLF++HC+++CL27t2L3/3ud3jppZfSiM7HH3+MAwcOYM6cOYO+r4eHR//wJMTD4yxFXl4etm/fjokTJ2LhwoWYNm0aFi9ejNbWVhQVFfX5vW9+85vYtGmTS3UUFRVh+/btmD9/Ps477zzcddddeOCBBzBv3jwAx9Icjz/+ODZu3Ijy8nJcccUV2Lhxo4uEZGdnY8uWLRg9ejTmz5+P8vJy/OhHP3LpmgULFmDt2rW4//77MX36dDz66KPYsGEDvvjFLw66rRMnTsQzzzyDX/7yl5gxYwYeeeQRrF69Ou0zXV1dWLp0KaZNm4Yvf/nLmDp1atpS4qeeegpz587FpEmTBn1fDw+P/hEJBpMs9fDw8PgDgiDAF77wBSxfvhw33XRTpsU5KWhvb8e5556Lp556qleRrIeHxx8PHwnx8PA4LkQiEaxfvx6dnZ2ZFuWk4ZNPPsHKlSs9AfHwOMHwkRAPDw8PDw+PjMBHQjw8PDw8PDwyAk9CPDw8PDw8PDICT0I8PDw8PDw8MgJPQjw8PDw8PDwyAk9CPDw8PDw8PDICT0I8PDw8PDw8MgJPQjw8PDw8PDwyAk9CPDw8PDw8PDICT0I8PDw8PDw8MoL/B3LKeCA1/elMAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sonified STFT:\n" + ] + }, + { + "data": { + "text/html": [ + "\n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "X = np.abs(librosa.stft(x, n_fft=N, hop_length=H, win_length=N, window='hann', pad_mode='constant', center=True))\n", "\n", @@ -151,10 +239,45 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "55f32c47", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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+++vyUYVDRo0cC4JxMbGOpcvAGDOnDlo3749oqOj0b9/fzz22GPO1/2AS0sJ33zzjbN88uRJbNq0SfnLftq0aZg8eTL69OmD6Oho1KtXzzmPL/Puu++alheASw7L559/rvyO1Cxswl3PColP8ssvv6Br164oKSkxrL17kilTpiAyMhLPPvtstfRXGe+++y7S0tLwn//8x9L+AwYMwKRJkzB9+nQ3W+Ze3nzzTaxYsUL717knSEtLw88//+x0ekjN4PXXX8eJEycwb948b5tCPEz1/Hcg1conn3yCYcOGobCwEDNnzsSdd95ZbY6Ar1BUVIR//vOfuP/++71titvJysrC4cOH0bdvXxw6dAgvv/wy/vKXv3jVppSUFK/2TzzDAw884G0TSDXBZYIayNtvv43Q0FC0b98etWvXxptvvultk6qVL774AqGhoQgPD8eECRO8bY7bKS0txT333INGjRrhlltuwYgRI/za6fnmm28qFeARQqoHLhMQQgghAQ6fDBBCCCEBjl8sJLds2RIxMTHeNoMQQkiAcfToUUMAK0/iKh7EZW677bZKE1dZxS+cgZiYGKSnp3vbDEIIIQFGr169qrU/HYfAE86JXzgDhBBCSCCg+3TA3VAzQAghhPgINpvN5UeHvLw8jBkzBrGxsYiLi8P27durrM8nA4QQQoiP4K4nAw899BCGDBmCDz/8EKWlpYYcMSroDBBCCCE+wNX88q+K/Px8bN261RA2vm7dulXuw2UCQgghxEeoVauWy09OTg569erl/KSlpRnaOHz4MEJDQzF16lT06NED06dPR2FhYdX9evKgCCGEEKKPjmYgNDQU6enpzo8cDry8vBw7d+7Efffdh127diE4OBipqalV9ktngBBCCPER3CEgjIyMRGRkJPr06QMAGDNmDHbu3FnlPnQGCCGEEB9AxxHQcQZatWqFqKgoZzr4jRs3onPnzlXuQwEhIYQQ4iO4622C119/HRMnTkRpaSnatWuHxYsXV1mfzgAh5KqR85u56wZ28eJF0za5bW8FZXEnqvxw3jwuX7MnkHHXuHfv3v2qIvfSGSCEEEJ8hFq1vLN6T2eAEEII8QHcFWfACnQGCCGEEB+hRuYmePXVV9GlSxd07doVSUlJcDgcyM3NRWJiIjp27IjExEScO3fOkyYQQgghfoO7chNcLR5zBk6ePIkFCxYg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3VRHFiPJ9qlslMVTKqKjo6tsA3AtTFTZpxJPyWIllRhP7l8V6EpuWxXIST7vqgBH8nWhErLJolXVtSdfO6p8I23atDGUZSEZYB5XneyV33//valO//79DWVVBlB5zOTU6LNnzzbtIwv0VJkNV6xYYSirAgrJ18Du3btNdebNm2coqwS8a9asMZRV50a+luTMi4D5nqG6Bn744QdDeejQoaY6ctZE1fjI508OXAYA1113naGsMy91RIaq60T+Z6sTUKw6oTNACCGEBDheS58svBl3UZOWLVsiJiYGOTk5CA0N9bY5lvF3+wH/Pwba71383X7A/4+B9l8dR48eVT7x8ARDhgzR6qtly5ZYv369W/v2C2fgMr169UJ6erq3zbCMv9sP+P8x0H7v4u/2A/5/DLSfqPCObJEQQgghPgOdAUIIISTA8StnICUlxdsmXBP+bj/g/8dA+72Lv9sP+P8x0H6iwq80A4QQQghxP371ZIAQQggh7ofOACGEEBLg+I0zsH79enTq1AkdOnRAamqqt825KqZNm4awsDB07drV26ZY4sSJExg4cCDi4uLQpUsXvPbaa9426apwOBy44YYbcP3116NLly7KSHP+QEVFBXr06IE77rjD26ZYIiYmBvHx8ejevbsp+p8/kJeXhzFjxiA2NhZxcXHYvn27t03S5sCBA+jevbvz07hxY8yfP9/bZl0Vr776Krp06YKuXbsiKSlJmdKcXAPCDygvLxft2rUTv//+uygpKRHdunUT+/fv97ZZ2nz99ddix44dokuXLt42xRKZmZlix44dQggh8vPzRceOHf1q/C9evCguXLgghBCitLRU3HDDDWL79u1eturqefnll0VSUpIYNmyYt02xRHR0tMjJyfG2GZaZPHmyWLhwoRBCiJKSEnHu3DnvGmSR8vJyER4eLo4ePeptU7TJyMgQMTExoqioSAghxNixY8XixYu9a1QNwy+eDPzwww/o0KED2rVrh7p162L8+PFYvXq1t83Spl+/fmjevLm3zbCM3W5HQkICgEs5FuLi4pS5DXwVm83mjKFeVlaGsrIyr4X8tEpGRgbWrl2L6dOne9uUgCQ/Px9bt27Fn//8ZwCXciioci34Axs3bkT79u1NOTp8nfLychQXF6O8vBxFRUWIiIjwtkk1Cr9wBk6ePImoqChnOTIy0q/+GdUkjh49il27dqFPnz7eNuWqqKioQPfu3REWFobExES/s//hhx/GvHnzvJbe1B3YbDYMHjwYPXv2RFpamrfNuSoOHz6M0NBQTJ06FT169MD06dNNCXj8hRUrViApKcnbZlwVrVu3xowZM9CmTRvY7XY0adIEgwcP9rZZNQq/uLMIxduP/vbLriZQUFCA0aNHY/78+WjcuLG3zbkqateujd27dyMjIwM//PCDMtuir7JmzRqEhYWhZ8+e3jblmti2bRt27tyJdevW4X/+53+wdetWb5ukTXl5OXbu3In77rsPu3btQnBwsN9pl4BLmf8+++wzjB071tumXBXnzp3D6tWrceTIEWRmZqKwsBDLli3ztlk1Cr9wBiIjI3HixAlnOSMjg4+IqpmysjKMHj0aEydOxKhRo7xtjmWaNm2KAQMGuD3JhyfZtm0bPvvsM8TExGD8+PHYtGkTJk2a5G2zrprL12xYWBhGjhxpSpHry0RGRiIyMtL5RGnMmDHYuXOnl626etatW4eEhARlimdfZsOGDWjbti1CQ0NRp04djBo1Ct9++623zapR+IUz0Lt3bxw6dAhHjhxBaWkpVqxYgeHDh3vbrIBBCIE///nPiIuLwyOPPOJtc66anJwc5OXlAbiUI37Dhg2IjY31rlFXwQsvvICMjAwcPXoUK1aswC233OJ3v4oKCwtx4cIF599ffvmlX71d06pVK0RFReHAgQMALq27d+7c2ctWXT3Lly/3uyUCAGjTpg2+++47FBUVQQiBjRs3Ii4uzttm1SiCvG2ADkFBQXjjjTdw2223oaKiAtOmTUOXLl28bZY2SUlJ2LJlC86cOYPIyEjMmTPHKUTyB7Zt24b33nvP+VoYADz//PO4/fbbvWuYJllZWUhOTkZFRQUuXryIcePG+e3ref5KdnY2Ro4cCeDSI/cJEyZgyJAhXrbq6nj99dcxceJElJaWol27dli8eLG3TboqioqK8NVXX+Htt9/2tilXTZ8+fTBmzBgkJCQgKCgIPXr0YFhiN8NwxIQQQkiA4xfLBIQQQgjxHHQGCCGEkACHzgAhhBAS4NAZIIQQQgIcOgOEEEJIgENngBA3cfbsWWdWuFatWqF169bo3r07QkJCcP/993ukz/nz5+Pdd9/1SNtWiImJwZkzZyr9fvz48Th06FA1WkQI0YGvFhLiAZ555hmEhIRgxowZHuujvLwcCQkJ2LlzJ4KCfCNkSExMDNLT09GyZUvl919//TWWLVuGhQsXVrNlhJCq4JMBQjzMli1bnEGOnnnmGSQnJ2Pw4MGIiYnBxx9/jL/97W+Ij4/HkCFDUFZWBgDYsWMH+vfvj549e+K2225DVlaWqd1NmzY5g7AAwIIFC9C5c2d069YN48ePB3Ap2t+0adPQu3dv9OjRw5nts6KiAjNmzEB8fDy6deuG119/HcClyHo9evRAfHw8pk2bhpKSEgCX/snPnj0bCQkJiI+Px6+//grg0tOQwYMHo0ePHrjnnnuceUQKCwsxbNgwXH/99ejatStWrlwJAPjjH/+IDRs2oLy83CNjTQixBp0BQqqZ33//HWvXrsXq1asxadIkDBw4EHv37kWDBg2wdu1alJWV4YEHHsCHH36IHTt2YNq0aXjiiSdM7Wzbts2QvCg1NRW7du3CTz/9hLfeegsA8Nxzz+GWW27Bjz/+iM2bN+Oxxx5DYWEh0tLScOTIEWf9iRMnwuFwYMqUKVi5ciX27t2L8vJyvPnmm872W7Zs6UzW89JLLwEA5syZgz/84Q/YtWsXhg8fjuPHjwMA1q9fj4iICOzZswf79u1zRhusVasWOnTogD179nhsfAkhVw+dAUKqmaFDh6JOnTqIj49HRUWF8x9lfHw8jh49igMHDmDfvn1ITExE9+7d8eyzzyIjI8PUTlZWFkJDQ53lbt26YeLEiVi2bJnzacGXX36J1NRUdO/eHQMGDIDD4cDx48exYcMG3Hvvvc56zZs3x4EDB9C2bVtcd911AIDk5GRDZsHLCap69uyJo0ePAgC2bt3qTJo0bNgwNGvWzHksGzZswMyZM/HNN9+gSZMmznbCwsKQmZnplrEkhLgH31hoJCSAqFevHoBLv5Lr1KnjTMddq1YtlJeXQwiBLl26YPv27VW206BBAzgcDmd57dq12Lp1Kz777DP84x//wP79+yGEwEcffYROnToZ9hVCmNKAu5IPXba7du3ahsf8qnTi1113HXbs2IHPP/8c//3f/43Bgwfj6aefBgA4HA40aNCgyr4IIdULnwwQ4mN06tQJOTk5TmegrKwM+/fvN9WLi4vDb7/9BgC4ePEiTpw4gYEDB2LevHnIy8tDQUEBbrvtNrz++uvOf/S7du0CAAwePBhvvfWW8596bm4uYmNjcfToUWeb7733Hvr371+lrf369cP7778P4FJ63HPnzgEAMjMz0bBhQ0yaNAkzZswwpPs9ePCgXyUaIyQQ4JMBQnyMunXr4sMPP8SDDz6I8+fPo7y8HA8//LDpH+jQoUNx1113AbgkCJw0aRLOnz8PIQT++te/omnTpnjqqafw8MMPo1u3bhBCICYmBmvWrMH06dNx8OBBdOvWDXXq1MHdd9+Nv/zlL1i8eDHGjh2L8vJy9O7dG/fee2+Vts6ePRtJSUlISEhA//790aZNGwDA3r178dhjjzmfflzWHmRnZ6NBgwaw2+0eGDlCiFX4aiEhfszIkSMxb948dOzY0dumaPHqq6+icePGfpXCm5BAgMsEhPgxqampytcOfZWmTZsiOTnZ22YQQiT4ZIAQQggJcPhkgBBCCAlw6AwQQgghAQ6dAUIIISTAoTNACCGEBDh0BgghhJAA5/8DIsCf4c13E8oAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sonified CQT:\n" + ] + }, + { + "data": { + "text/html": [ + "\n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "# Log-frequency spectrogrm from audio recording\n", "X_CQT = np.abs(librosa.cqt(y=x, sr=Fs, hop_length=H, n_bins=84, bins_per_octave=12, norm=1))\n", @@ -190,10 +313,38 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "fc8161f0", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhYAAAGdCAYAAABO2DpVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABJfklEQVR4nO3dfYxc1Xn48Wd2vTs2tnfAgLEdFuPQ5gUMtA0IDDQJJKG4QKFpEUEUGagqERmS1KmaQJsCafJbolRR+k9IoJELQoSoAlMkAim02Ahhp7w2BhJCigskwZBQ2PELO/t2f3/QM5w9e86559w5d3Zm9vuRVrt7576c+3bOc17unUqWZZkAAAAk0DfXCQAAAL2DwAIAACRDYAEAAJIhsAAAAMkQWAAAgGQILAAAQDIEFgAAIBkCCwAAkMyCdm9wenpafvWrX8nSpUulUqm0e/MAAKCALMtkz549smrVKunrc7dLtD2w+NWvfiXDw8Pt3iwAAEjglVdekcMPP9z5edsDi6VLl4rIOwkbGhpq9+YBAEAB9XpdhoeHm+W4S9sDC9X9MTQ0RGABAECXyRvGwOBNAACQDIEFAABIhsACAAAkQ2ABAACSIbAAAADJEFgAAIBkCCwAAEAyBBYAACAZAgsAAJAMgQUAAEiGwAIAACRDYAEAAJIhsAAAAMkQWAAAgGQILAAAQDIEFgAAIJmowGJyclL+9m//VtasWSOLFi2S9773vfLlL39Zpqeny0ofAADoIgtiZv7a174m3/72t+WWW26RY445Rh5//HG57LLLpFaryWc/+9my0ggAALpEVGCxfft2Oe+88+Tss88WEZEjjzxSvve978njjz9eSuIAAEB3ieoKOe200+Tf//3f5Wc/+5mIiPzXf/2XPPLII/KHf/iHzmUajYbU6/UZPwAAoDdFtVh84QtfkNHRUfnABz4g/f39MjU1JV/96lfloosuci4zMjIi119/fcsJBQAAnS+qxeL73/++3HbbbXL77bfLk08+Kbfccov8wz/8g9xyyy3OZa6++moZHR1t/rzyyistJxoAAHSmSpZlWejMw8PD8sUvflE2btzYnPaVr3xFbrvtNvnpT38atI56vS61Wk1GR0dlaGgoPsUAAKDtQsvvqBaL/fv3S1/fzEX6+/t53BQAAIhI5BiLc889V7761a/KEUccIcccc4w89dRT8o1vfEMuv/zystIHAAC6SFRXyJ49e+RLX/qSbNmyRV5//XVZtWqVXHTRRfJ3f/d3Mjg4GLQOukIAAOg+oeV3VGCRAoEFAADdp5QxFgAAAD4EFgAAIBkCCwAAkAyBBQAASIbAAgAAJENgAQAAkol6QRYAQER/Sr9SqcxhSoDOQ2ABAJEIJgA3ukIAlCrLsuZPL+m1/QFSocUCQKl6sXavgoosy3py/4BW0GIBAJEIJgA3AgsAiEQ3COBGVwgARKLFAnCjxQIAACRDYAEAAJKhKwQAItjGV9A1AryLwAJAqXrtLZW9sA9AmQgsAJSqVwtiFTD16v4BRTHGAkDpevHxzEqlQlABWBBYAACAZOgKAVC6XqrZM3gT8KPFAgAAJENgAQAAkqErBAAiqG4PvtkUsKPFAgAKIKgA7AgsAABAMnSFAECkXnubKJASgQUARCKYANzoCgEAAMnQYgEAEXhBFuBHiwUARCCIAPxosQCASAQXgFtUi8WRRx7Z/EY//Wfjxo1lpQ9AD+jFbzcFYBfVYvHYY4/J1NRU8/9nnnlGPvGJT8gFF1yQPGEAekcv1vBVsNSL+wa0IiqwOPTQQ2f8f8MNN8hRRx0lH/nIR5ImCgA6ldn6QoABzFR48Ob4+Ljcdtttcvnll3NDAXDKsqz50wvM/E51CQN4R+HBm3fffbe89dZbcumll3rnazQa0mg0mv/X6/WimwTQhXqt0KXFAvAr3GLx3e9+V9avXy+rVq3yzjcyMiK1Wq35Mzw8XHSTANCRCCqAd1WyAu2TL730krz3ve+Vu+66S8477zzvvLYWi+HhYRkdHZWhoaH4FAMAgLar1+tSq9Vyy+9CXSGbN2+W5cuXy9lnn507b7ValWq1WmQzAACgy0R3hUxPT8vmzZtlw4YNsmAB79cCAADvig4sHnzwQXn55Zfl8ssvLyM9AACgi0U3OZx55pk989gYAMRS+V+WZTMGbTKAE3gHX0IGAACSIbAAgAiqZUL/TWsF8C5GXwJAJAIJwI0WCwAAkAyBBQAASIbAAgAAJENgAQAAkiGwAAAAyRBYAACAZAgsAABAMgQWAAAgGQILACggyzK+Nwmw4M2bAFAAb98E7Ags5pCq7ZBBAd3D1krBPQy8i66QOcSXFwHdh3sW8COwAIAWEGgAM9EVAgCRCCYAN1osAABAMrRYAEAEBm8CfrRYAEAEggjAjxYLAIhEcAG4EVgAQCS9O4QgA5iJwAIAIrhe5U2AAbyDwAIAIvBiO8CPwZsAACAZAgsAAJAMgQUAAEiGwAIAACRDYAEAAJIhsAAAAMkQWAAAgGQILAAAQDIEFgAAIJnowOKXv/yl/Nmf/ZkcfPDBcsABB8jv/M7vyBNPPFFG2gAAQJeJeqX3m2++Kaeeeqqcfvrpct9998ny5cvlv//7v+XAAw8sKXkAAKCbRAUWX/va12R4eFg2b97cnHbkkUemThMAAOhSUV0h99xzj5xwwglywQUXyPLly+V3f/d35eabb/Yu02g0pF6vz/gBAAC9KSqwePHFF+XGG2+U3/7t35Yf/vCHcsUVV8hnPvMZufXWW53LjIyMSK1Wa/4MDw+3nGgAANCZKlmWZaEzDw4OygknnCCPPvpoc9pnPvMZeeyxx2T79u3WZRqNhjQajeb/9XpdhoeHZXR0VIaGhlpIOgAAaJd6vS61Wi23/I5qsVi5cqUcffTRM6Z98IMflJdfftm5TLValaGhoRk/AACgN0UN3jz11FPl+eefnzHtZz/7maxevTppogCgU9kaeSuVyhykBOhMUS0Wf/mXfyk7duyQ//f//p/8/Oc/l9tvv11uuukm2bhxY1npA4COUqlUZv0AeFdUYHHiiSfKli1b5Hvf+56sXbtW/v7v/16++c1vysUXX1xW+gAAQBeJGryZQujgDwAA0DlKGbwJAADgQ2ABAACSIbAAAADJEFgAAIBkCCwAAEAyBBYAACAZAgsAAJAMgQUAAEiGwAIAACRDYAEAAJIhsAAAAMkQWAAAgGQILAAAQDIEFgAAIBkCCwAAkAyBBQAASIbAAgAAJENgAQAAkiGwAAAAyRBYAACAZAgsAABAMgQWAAAgGQILAACQDIEFAABIhsACAAAkQ2ABAACSIbAAAADJEFgAKFWWZZJl2VwnA0CbLJjrBADobZVKZa6TAKCNaLEAAADJEFgAAIBkCCwAAEAyUYHFddddJ5VKZcbPihUrykobAADoMtGDN4855hh58MEHm//39/cnTRAAAOhe0YHFggULaKUAAABW0WMsXnjhBVm1apWsWbNGPvWpT8mLL77onb/RaEi9Xp/xAwAAelNUYHHSSSfJrbfeKj/84Q/l5ptvlt27d8spp5wib7zxhnOZkZERqdVqzZ/h4eGWEw0AADpTJWvhlXj79u2To446Sv76r/9aNm3aZJ2n0WhIo9Fo/l+v12V4eFhGR0dlaGio6KYBAEAb1et1qdVqueV3S2/eXLx4sRx77LHywgsvOOepVqtSrVZb2QwAAOgSLb3HotFoyE9+8hNZuXJlqvQAAIAuFhVY/NVf/ZVs27ZNdu3aJT/60Y/kT//0T6Ver8uGDRvKSh8AAOgiUV0hv/jFL+Siiy6S3/zmN3LooYfKySefLDt27JDVq1eXlT4AANBFogKLO+64o6x0AACAHsB3hQAAgGQILAAAQDIEFgAAIBkCCwAAkAyBBQAASIbAAgAAJENgAQAAkiGwAAAAyRBYAACAZAgsAABAMgQWAAAgGQILAACQDIEFAABIhsACAAAkQ2ABAACSIbAAAADJEFgAAIBkCCwAAEAyBBYAACAZAgsAAJAMgQUAAEiGwAIAACRDYAEAAJIhsAAAAMkQWAAAgGQILAAAQDIEFgAAIBkCCwAAkAyBBQAASIbAAgAAJENgAQAAkiGwAAAAybQUWIyMjEilUpHPfe5ziZIDAAC6WeHA4rHHHpObbrpJjjvuuJTpAQAAXaxQYLF37165+OKL5eabb5aDDjoodZoAAECXKhRYbNy4Uc4++2z5+Mc/njtvo9GQer0+4wcAAPSmBbEL3HHHHfLkk0/KY489FjT/yMiIXH/99dEJAwAA3SeqxeKVV16Rz372s3LbbbfJwoULg5a5+uqrZXR0tPnzyiuvFEooAADofJUsy7LQme+++2754z/+Y+nv729Om5qakkqlIn19fdJoNGZ8ZlOv16VWq8no6KgMDQ0VTzkAAGib0PI7qivkYx/7mOzcuXPGtMsuu0w+8IEPyBe+8IXcoAIAAPS2qMBi6dKlsnbt2hnTFi9eLAcffPCs6QAAYP7hzZsAACCZ6KdCTFu3bk2QDAAA0AtosQAAAMkQWAAAgGQILAAAQDIEFgAAIBkCCwAAkAyBBQAASIbAAgAAJENgAQAAkiGwAAAAyRBYAACAZAgsAABAMgQWAAAgGQILAACQDIEFAABIhsACAAAkQ2ABAACSIbAAAADJEFgAAIBkCCwAAEAyBBYAACAZAgsAAJAMgQUAAEiGwAIAACRDYAEAAJIhsAAAAMkQWAAAgGQILAAAQDIEFgAAIBkCCwAAkAyBBQAASIbAAgAAJENgAQAAkokKLG688UY57rjjZGhoSIaGhmTdunVy3333lZU2AADQZaICi8MPP1xuuOEGefzxx+Xxxx+XM844Q8477zx59tlny0ofAADoIpUsy7JWVrBs2TL5+te/Ln/+538eNH+9XpdarSajo6MyNDTUyqYBAECbhJbfC4puYGpqSv7lX/5F9u3bJ+vWrSu6GgAA0EOiA4udO3fKunXrZGxsTJYsWSJbtmyRo48+2jl/o9GQRqPR/L9erxdLKQAA6HjRT4W8//3vl6efflp27Nghn/70p2XDhg3y3HPPOecfGRmRWq3W/BkeHm4pwQAAoHO1PMbi4x//uBx11FHyne98x/q5rcVieHiYMRYAAHSR0sdYKFmWzQgcTNVqVarVaqubAQAAXSAqsLjmmmtk/fr1Mjw8LHv27JE77rhDtm7dKvfff39Z6QMAAF0kKrB47bXX5JJLLpFXX31VarWaHHfccXL//ffLJz7xibLSBwAAukhUYPHd7363rHQAAIAewHeFAACAZAgsAABAMgQWAAAgGQILAACQDIEFAABIhsACAAAkQ2ABAACSIbAAAADJEFgAAIBkWv4SMgDoVa4vf65UKm1OCdA9CCwAwMIVVJifEWQAM9EVAgAt8AUgwHxEiwUAGFSwYAsaaKF4R5ZlHAtYEVi0gBsL6A22QCLLsuaPUqlUpK+vb9Z9P5/yAv1Y6ftt2/92Bma+lqP5cm46BYFFC7hYgfKVMZ7BLITMAELp65vZW+zavi9dvTYewxdIhC5bhl44tr2CwKKgXsssgF5jCxRix0PYAhCRsHu+lQK4V8znfZ/PCCwi0fcKtFfsfWV2Z7Qyr1mB0H8A2BFYFKAHF5VKZdZvAO3lCgpCWihclQXb/2qMhc52z5MPYD4jsIikaitmENHLGQndPuhFea0Vtq4Ms7XCvB86/f6wBVGdNlYC3Y/AIhEzY+qlG6+X9gW9SQX75jQb2zgJ2/K2bYSu2zdPO7kGqeYdK8aHoBUEFgXwWNP8kldYcD10Bv1Y24KHvK4O17pamW7KazEocr2EdOXo80xPT88ILtTjs/pjtHTvohUEFpH0iN98hluv9XAzdp+Y/viQ6TG1aLjFtkT4pukFa96yroGatgLX9r9r/bZ3Y5j5RwxXK4Rrv/r6+pzbd61fnxfIQ2BRgKvv1fZ3N5mvX7iUlyHHNJHbpvX68StbSMCeN3hT/T09PS1TU1Mzgovp6WlrLb6/v18WLFgg/f39zW3nBRu+fbD9nbffIftpy4/MfffNq7dS+OYDQhFYRPI1D/bqTdiLj9bGvOPAVhPNOyauwIQMu5gij5yqYGF6enrGehYsWOCcVw9gVNeAHkjkBRehaSvKFgTYtm0GOjHbDNmP+VoJQRgCi0iugsVVY+mmG61oU2yviB3A55vuu07mU1A6l9Qx7e/vzz2vqlXC1r3ZztanVlozdPp+5HXT+JY1tzWf8weEI7AoIOTm6saCImQEeS8UjO0YbOlqmaDFonwxgzRF/F2aod2dRVpUii5bdDux87laR4A8BBYRzIGbvtpNmaOpy2gZCX0sLW/5uS4wi6QjtsnY1jphtlCYAQSj7ctjO/76mArbwElf91Rei0XI+fONBTHzD9+6yrhGXGMqYgLukEHMXN/zF4FFANfN4sqQylZWZuPqt40prOe6NafIukMGB7rkZcat9MUjjGsgotkdoOQF5iH3dSutdnmtWSmZ93XeoM2Y9QIuBBYFuLoDzHm6ja2A9WVMIVxjUeby+ITW2GIyXPM1z+a2UExo65wtCG7lnIaMq0g5WLNdrZv6QFbf/LYWNoVrGnkILAKYg5fymr1tn3WLVvYhthCYa70YHPaaol1a+v95XSGue1p/cZSZHlfXQWgrQDvuC3NfzSdlVNCg72teV66rFa6M9KN7dXVg0a7C25ZJuLoN2nFztfPpk5hthaShkzOfvH5mXd7jfnnTkZZvjJArwFCmpqaaP6pG39fXJwsWLGg+mhrSgmFLhz5/yNMYrmVDl8sLotTLscxgyRcwmOno1Gu6nfki/Lo6sJiLi8b1bLz+Otwy05U3oDL1tudLM2grI99jCppePX5zyRY4qJde6e+ncN2f/f39M16CpegFbYqg2byXQipGIdelbf9d648JELrtWu229Payrg4s2sG8WW0Rv0j7WixcfcftGhAZMhrctlxeE+tci60Z0kLROWzjdvr6+ma9utrHdf3mFcSx59s2jsm3rpjxGUWXd60v9jNAsY84cxgZGZETTzxRli5dKsuXL5fzzz9fnn/++bLS5mVr6ixDaG3CfMytzDSpdOU1X6beRl7/qm2eVtNnnueyj6svDS5lnweEM7s+VOtiyI/ZJWK2ephv51TbiE2fnjZXV41v3WXeE3nXcOg2Xcd+ru5htFdUYLFt2zbZuHGj7NixQx544AGZnJyUM888U/bt21dW+max3VRlFzohwYVZkPZCIWPLHHzHOTQAiRFSqyubL8DqhfPc6fLub9997yrI9R/Xl5Lp174v6DDvDVd689JiyrvOfEGJvg7XdNtnrvtcb3FUx2NiYkImJiZkcnJyxvevuFr22jkODXOrkrVQGv/617+W5cuXy7Zt2+TDH/5w0DL1el1qtZqMjo7K0NBQoe22e5COq2XC3Ha7CkEzDalvWHP9eV0A3TCwq4hWA9VeOhZzIe/68w2KdLUGuMZImQW4q9B2PSliW96XJnOfygxUzbSY28gLSvT5zQDK1jJJV0rvCi2/WxpjMTo6KiIiy5Ytc87TaDSk0WjMSFir2nlx2m5K/YZyzeubL5W8DKLots20+zJLc7r5ty1NoZnQXEnV8lX2+e91odeIr1ZuXo8qIPAVpq7A2leI5gUU+vrb9c4TM9227eVdo7bKknlcXfN1urzjg+KiukJ0WZbJpk2b5LTTTpO1a9c65xsZGZFardb8GR4eLrrJ3PS0o1vEt965LjQ7oYneNr7CN/6iU8ReNyHHupP2bz7IO4f6+VKDO1ULhGrFUM36U1NTMwqevOvXt019W+Y3ps7l/Vokj3Td2+a0btBNae02hbtCNm7cKPfee6888sgjcvjhhzvns7VYDA8Pt9QVouQV8in4+knNbbUzag85ba1sv6zATKT7C9zY/myUz3Wf2j6zLWsGJa5CPyYods0TE7y2Ii9QtrU82LYf0nXSCdc+92X5Su0Kueqqq+See+6Rhx9+2BtUiIhUq1WpVqtFNuOVqtk/li9jaecFnGJbZQYPNnlpnotzmvIYtKvA6FVFz7+vK862XhtX7bXV4NxXKLezKd43bkqlwTwGoWOsOoUZKHVyWntdVGCRZZlcddVVsmXLFtm6dausWbOmrHTlamcgYasNhVzAZaVRv+FttalQMWMnzPWH1GJcy4ZsS59WVt9z3rQUyNzC2MYzFDn/+jUdGyiEXheh6YndVsy689blCiR8g0d9umUMRaema76JCiw2btwot99+u/zrv/6rLF26VHbv3i0iIrVaTRYtWlRKAueSa2S47X/bQKiymwxbCSpc60ktJhMOCXBSpNU3+KzsVhwyPjvf/VOkJcN1b8R2n8YGJ0UDA9v1Fxrw69Py7hVbEGEeH1++wvWLEFFjLFwX1ebNm+XSSy8NWkeKx01tyijEbTdrTFNiijT40lX2dtq9rU6SKsCYD8eqLLYxAjHBdOg59M0Xs/2QMRVqkKi+b+aAzpj05wUitjSFzDcX48bQ+UoZY9HuPvk8ea0IIq3X5PP6SdV87RxhPNc3dzsGzc61Ii0YvbLvnSSmxaBo/uRbX0w3p5rf7HbQ02b7dtEsy5pPjKh1+1orYsaOuJgtG7a81NWKFBJs2I6Bmtc3Tq2XtNo93M166rtCyuqLD2meVJ+182Jp5+CvUN0+eCpVZi3SnfvfzUJr52Vsx7a9SmX2Oyt8XRa21hDX+C71Yy4bUgnK2wfbPhUZv+ULQnr93nAFakqv739XBxa+myjViTODCr22oW9Lr3GkToMvPUUHuYVqZeyBerthN9VYQtKUcuAd3FKNp7EpOoA3tAB3bbtIAa3r7+93vmCrlUHJeQGI2RJjLusLjubjfeFq5Zkvx6KrAwtT6pOmCkG94J6enm5+a6I+3VdbSpmuuYp6i3YNuCL1br7Bujnt84kvALQFBmW0eLoCkJAgIGacg1nJUNP04N6Xd+QFRiGttub2uU/eMR+PQ08FFmVx9UHa/rfdwO3uIilTSIbkm981DWhFyADMvOC4aJ+4b0C3je1Lz1zbCsk/zO2rSo/+pWlqHepHf7W5/iVr09PTzc8HBgZkYGBA+vv7cys0vVBhQDoEFgFsUbhqtdBvKFtNqJdvNF9GSncBUkgxIDt0TERRsZUHV8FcNAi35TkqQDC7Hs1Xi4u4x32YP0X2C/MTgUUAszvE1oKhPjP1UmuFUrTGp+bJOx55za5m7Sj100Bl6MXroB3KOmYhgW+ZTwT5KiBF91m/H2wtE3pgYQYcofekaz6ubegILAKpYMI1eNM3eCm1uWoNKGOEvU3oeI5u6s/t9PR1u6IFu+8ay2vpCNlm7D1T9DpxBddmy0SWZTI5OeltnXCtVw9WzHkJnKEjsCjAlSm168ZKkeF1g9AmWCBPqseIQ1s0fGMOYq7pkHRPT083x0mYLavm02p6xcjWlWumUV/W1rUC2BBYRMgbtGRmQGUV8nNdkzf7ZGNaaciM0C5lt7B1wrWs34P9/f2z7klbl4saH2aK6aLshH1H5yKwKCCmJl1GP+1c39R5QZNtlLq+bMyAMCBWkYAitktkrlonba2koV2HrnXEpiWmCyj0Edp2auV9HykHDvcyAotIroGbrnnLMlfdMLZth37WCZkKepuv0PBdd7bCucyBikUHHOeNgUi1Hd+8oduJWb6dOjFNvYbAIpLqmwyJxMsc76AHOJ0wtsM1fy++IAudKaaLME/RcUyh92Sq6z+vRSNWSPrbNSAV3YvAooBOeeRqrm5Y23gS37xA2Yo8Ah0SIJg6fQyRfm+GvrhLryiZgz/N+X1Pxdm6N+f6eGBuEFhE8o0vaNdN1AldMbpeehIF3c982sH8zPZbCRnAGBNYu9ZhSnn/2IIL3/Zc3bvmMTTnsbVGkg9AhMCiEFcfY7vGPXTizVvWvs/lWBJ0n7wCNW96XtBu69aLDTLacQ2brQz69KItC2oe25egcV9C13WBxVy9HCokDfNJp47rAIqIfSKrWwYAuloRQgN2X0uGa/wU0BWBRSfVWn2DNxmYCLSf3tqg35ch3R1qGf3LutQ8fX19zS/g6rZxRK7Kj/5yLHM8RUxwRbcHfDo+sOi01gE9eCjygqiytWO8Qxnv5gBaYQv4XYGGuZz57Z4i0nxj5fT0dLPpXwUbtldau9avFLkPQu4zfb9dwYItkLJVjnzp9OVx3ON+7X56rxN0fGDRyScjr4mxzLS7MoVOOl6hj+UCrfIViHrGbquxi4gsWLBAFiyYmR2qeScnJ5vL9/f3W7dnu9b17+kw581Lf+iYj7z1mOt0BQiurp1UXT7dPMA7NE8Pfdy5W49DjI4PLDqRaxS1qez3WMwVc9BabFrmw42F9tGf1MprRVCBgY/vyRFbS4B+H5j3RNGnSPLGPNgCdtugSts6yxgjYXtixBbAqXR2SquHLd0ica3QtODORmARKaYJsZMvohTjVvKW6eT9R28JabEI4XtUNW97Ia2IsV0QrvlcT32EpMn2ua9lMabLxxaEmYV1Ky2rZXeNF2lRzbvG5mM+SGBRQMijpZ007sKm09IUkmF0WprR2WILIVft1TVvXoHSamETu7xtfElIXuVqWXCN0/AFBnkVrFbv4XbnATGVSN+jzPMt7yKwKMD17YAoxtefbNbM5tsNiuJiWyvMrg3FNehTX8Zch/q7ldq5K/22bdoCHRUsqAGpecGBq3ullcCgm+/XlONbYrfXzcdNhMCiMP1m9s2DfL5jyTFEWUIK7pCuBL2QTt1SWaSLRL+XbOMobEFFSAuEHqioYMVcZyvjRzqN6/qYiyfvuuWYKQQWLcrLeLrtggB6iW8QZMi966rV27oNfNtrp0rl3adf9PdzqBaIkHdzqPWYVFAxNTU1I6hSLRv6AFJXhaGbWh5twUVZabeNR+lWBBYRVLSunnlXF4F6tl39mMt0+0UCdLpWx1O0umyr93nqMUZ6Ye8aO1F03WZ3i2tQZre3QLqCyCLXTuxy3R5gEFgUYIvMfTWAXuo7U1Lvk28dDOyEydVi4JvPN3+rY6Y6YVCirWatr1dViiYnJ2dVjPr7+6W/v7+Zr/keF61UKs1WD31aSCtIpxeYruvFFzj6xoiF8g0I7dRj5UNgEUGvBfT391tPeis1gV7jutHm0wAwlCN27EGq+dS8vicAYtfnE1pYuWrXJr1SZLY8qBeBuZbXA4mi76LolHu51YGZoWNperFSGYLAIkBMH5uZsXRrxBkjxcBLWiXQTfJaPFLc967HRU1qDIX5XSdmAKDWZWtdsKXf9v0p/f39zTeU2sZT6P/b/k6tSL5RtNusyH7M1zyLwCKSq3lQ/bZdSLG1Dn2drv/nWuoaWcgz+90+Uhq9qez3F+iFtut+UYV+XvpcQYWv20PRvyPFFji48r6QWntMZc1cLuTJnbzPzP237ZP+WUxrbIoAM+X62oHAIoA6kdPT0zI5Odn8mZ6enhHFL1iwIPeVwb5+uk4PJsqg9yO6bqD5cBzQXdrVwmb2s+e9ttvW8hAyn29ZvUC1Pf2hp9VcNkVBW+b9r+cxrvEV7U7TXG4rFQKLAGZToDnGQt1o5s0W22+Ld83XoGI+dJ11k1YHdbbCNXgvtHIS0grom1fP02K7NlytjKnk1eLNlghzvpD9L6P1Yb7wh78WDz/8sJx77rmyatUqqVQqcvfdd5eQrM5he7Sqr6+v2UKhWilsg5nmMlPqJmZX0nwNKkTm5z53ArM7wGwWN3/mim/boenTK0L6j3oyRP/RWymK7LsZkKQ6diHnw3dOzXzdNb9rnfCLbrHYt2+fHH/88XLZZZfJn/zJn5SRpo5hu/jybo75XjAUHeg0348b5lY7r9eYloSi2/F1S9gC93Z0N7STnk/ntW64WoZc8yNfdGCxfv16Wb9+fRlp6TiuGy+mL26+mS/Hoaxay3w5ft2i1fNsyzd8zfOpr6u8Gn3esub86ukT85XeequGa/m5EtN1gzRKH2PRaDSk0Wg0/6/X62VvsjTqplKPYSl6c+J8bsafTzi/80PR86wKbT2f0KeH1KLz1h0i9XXqevOw3nWip7MT7hP9eKmgKOa7TmxdYup/2JUeWIyMjMj1119f9mZKYeuXUxel/ky4ejpEv5Fimjt7VcwjWbb558txQu8ps/BJsc7Qe82cT39BoL7sXI4/8b3Hwwx09MBCD4xcA1XV54hTemBx9dVXy6ZNm5r/1+t1GR4eLnuzLdMvVD2IMG8qkZkvozGn+9YfMl9Z2jkAyezjdf3vWs7U6vGK3XcCHPQC1wDG0OvbNcja/Dy1vEdjbcGCbcCt+XSfKwjRK4iuADEvEJvveUbpgUW1WpVqtVr2ZpJTgUIr4yk6eUBQWYPPfNuKORauJuMi2w2djs5hKwTNgk0p+3zOVUtazLVve1rBVyiGdlPYnoprd8uEXuDrrRNmGs3gQHXXmJU4WyChr1uvKJrlQEiLtO/z+ZL38B4LTdEgwvb0iP637cKO2Y55MYdetLaMJTaziklTq8+Cm8uH9ke7PvNlgJ12g5cRQHWqvBqoPs0VXNikPg6xLWkmV8Acsv++wKnVLkZzXrN1Vn3uC+BsLa7tGPuhB0V6V4aZVvUCw/HxcZmcnJyxX65XA+jpN1966MrHzAGtrkG56re5/dBgWd9f37Epooxu++jAYu/evfLzn/+8+f+uXbvk6aeflmXLlskRRxxRKBGdwldz1v83Mzxbs1veeltJXys3cExri/odekHbboyYJsSQIGSux64UqYmEBEbdFhy0wpdJ2o6VK8NNecxCr6tWAkBVi1YDIG3N5q5CKHS/zWMber3qXQN58+a1QJZFPyYx9JcZ6t/iqtJvjpsTmf2Nr757tl15UlnHu4z1VrLIO2Xr1q1y+umnz5q+YcMG+ed//ufc5ev1utRqNRkdHZWhoaGYTbedGUCYn4nYo9I8ZZxIV1NoK9sKCShcrQxFCoCi405cLUOx6ylDK11p80kvjHvJ2wfXVwLYvra8SEXFFQCFBLa+67TIvRijrHPZShCo68Rrba6Elt/RLRYf/ehHk52wTqai2JBHS3Wh3QepL9ZWgwjXOkXCm4RbTUPqGqjebNpJGOAV1j1om1fN34ls3Qt6TXhqakrGx8el0WjI+Ph4M7AYHByUhQsXep9MCOEK8kPSnbpVtRPY8q9OSl8vY4yFQ96X7dhqByEDelptQfB1xai/9XSa0/LW79qW/rnZ5202UeY11cakqRVmX6yZhtTbipnernR1qpB9zeuGK9I1mEJI95zt3Ko++8WLF89aj6tw93UdFhFbGfKlodW0xG4nxXrzxm3Np3uwTAQWYr/YYgYO+uZtVwHq2rYa0RxSI7QFFvqAJNe4C9tNqb9IR61DfcfKwMCADAwMtHwzm4WzLcOP6f8s0hzvCrpCt+nbfi9ncr59VdfdxMSETE5ONscjqC4DVUCHXj8hYyRaLcBDrwNfhaWV7dukun7aEbi58jD9t29Zc4yEWs4893pXlD7uQl1TZkt0aLA312O/Og2BhbxbQJgFlV64qvnUb1ttI7bWUSSdZpr1tOq/9em+sRD6/3mBhdpuSMboelRL9SXb0uJKo9ky08r4ixQtBb6acl6wodIf0jybohsnpFAI6bNPzTyG6h7T/1fXj35/2kbo+46TOT32/MfeO3ldPLbWxdBCaa4LKJUf6JUFEZnRNWzLG02ugL5IV47qYlLBwtTUVDNN5rgV/TzpAzrNYMLMB2OuN1calZjWY1+F1ya27AlNS5HrjsDi/5g3u/lyLLPZX5/XXIfJVbjnLacv70tr3ny+tLqacdXn5rs8XIW7fpz0+fQARJ+Wl7moTMx86Y35lrw85rGKuUliWxfMzMlV2ISsPzQdZS5bBvM6MQNY81wPDAzMuob036aQ/S0aSJr7oX9u3k8xrSiddo5cVI1ftSSp4K+/v18GBgZmtCLpy4RwHeOQa0UxKy0qvTozCFLbVvmzXon05fVF9qfo8qmvj3ZcbwQWDmYhaAYWMUGF/jtvm67lQ9NbVGiLRShX7SWvQNA/V5lESA2zlYLGbJly7YPvXNoCR9+7AUJbLbql0GmFOkbm90/k1YDLPjZFr3vf/2YLTci6Uu9naAXHNp+6J/UuVtU6EBrwF73W1TVSqVSaLRNmPq3WMTExIWNjYzI2NtYcKNvf3y+Dg4NSrVZlcHCwmVbbS7dsLR4x+1Tk2jHX1833PoGFg4rEbVwXjavAyZsvr0XDnNcMAlzBjrl9Ww2gSPpdrRXmOlxRv++msdX4fMcwryXGtY+25kXXedHZXh9s7pt+nPXgQh8jEJphhZ6TbuELIH3zh2o1Q0/NF6zr15cvICl6vs17L+/YuFovzXXaujNtwbK5jlb3qVJ5ZwBslmUyMDBg/VxtT6WzWq3OeKOm7ak+dU5CKpAuRbo7is7fDQgsxF5Y+4TUoPSaSegN60pbXlr18Qy+yDnvZglNk29ZX4Fd5OYLqcXYjrvvf/0nb/2ub6c0j6N5XtT5UINUzaAq1f53ozL3qci6Y4O3vPlVE7z6ZueJiYlmPqAGNKtxCn19fTI4OCiLFi2SarU6Y1CzLR2hlQiVjth8JjQPtLXOudJjFvh5aQlJR96+quDBDEDM+19fnxnoq/MYck3ZAkTXuXLl0TGVrU5HYCH2QkL9zgs4XLUOW+3cVuia8+qf+252V4ZhCyTMdbu0cuHq0X4r6y16E7mOke2YukaQm8vaggXzx3eefO88iakJdVOGEiPkXLcS7IYqa52qdUrk3f0wnwpRf9tekBWathTpL1rL1u8pczyU+m3mr668KkV6Qud1XVedeK91YpryEFhYmDdBbPTsmu6K3F3LhhbWRdOXmm07obUmX0tDkcxVHTfbtl1fLheSdrPvX89YzfNlZr6+fSnS5WHLoFuVt84ULQK242POqweA5oA622uufWlLff2HnEMVKCxcuDA4OAppnSuSrjKpbdq69jqxQEwRQLjOgyvPavU40GLR5VJmpr71hWzDrF0XWYfv/5DWEVdrTcx2bNNdLQn69s1akFpGL1x8XBlIbCuOb92h8lpG9L9tLU6ujMU2vUiw0WorU8z69TEqImGtSPo+9fX1NbsQUmW4RQIz33k0P49pncr7X78vzO3ZruvYmrz5d0wQFDotpHUxVmhFwfe4bMjblG3nXT3qOjExMWNQqe8JFFtgrDPnNz/LO1eu8xfSCm/b19h8hcAiodhatn4zuQrw2McqQ9NoGzvgSoPZFWD+7Uq/q7XC9TZT8/jZBonZtq1Pt6XBNS30fBXJnF3dI3m1GnNa0dqtrbXGJbZgDamxh2TQ6v+pqSmZmJiQ8fHxZsasXqQ2ODg462VYroKzjEAxtMAy5zULytDgW1+P7Z5Q90XZUrRMqWmhhZIryPYtl2VZ8/qxvcdCf+mVeuma+lGtjOrlWAMDA7MeVzX3Q38CRlH51ODg4Iy0+fKomOshxed52w9dR+h2CCz+T0jzVp6Qmrq5Xl+tyzW//rcZAYcGNLZ1umrMsTeBOW9eTcxsmXDVXlytFSEFnW+ab7qrgA7dpitTbaV2GXP8U1y/eevMq93mzbdgwQKpVqsz1u2qgcemtRPEptUM5k1FWlhixbQg5NWA8+5/G/3NvSpYUPTrwsy39DEqqjVBn7+vr0+q1aosXLjQuV3XtnzXpC//KHpf+OZtRTvuHQKL/+O6gfNqfjEFQ8y8tkBCcRWsoRmw2ie90DPfLqr+9t0YeTVUczu29avmbdu4h9gCxRUAhdakY5poQ9Ia83noPDFCA812st1PMRl2O/cntACPKRhi121uI3Y7ZbFVQEwp0hlTOTDnyWv2D2lJCW1haOXL41pZrlMRWDj4avH6b19TX6tNrL5abdGmSvWjR+aurgFXC0GM0EDADOLMmoKP2b3jCwZcmU1e8GNbh77t0EzMtk/mOS0SPLVyXdjktezEFrqh88U0l+cF/a1Q94h5r4QcZ9c1odZljifRnwgxvzbddu/F5B0hQufVuxLMN2/q37Whr7OM4DYmSA9toXTlgS62FqXQ4KodLU5zjcDCIeaGcGW2Mc2JvnSkpNYX8prkVrYd08pjO35mwJZXiJgZuK+mY34vhSvNvkLEtqyrJh7TCmRb3pYm1/ypxAbLqbYdGmDY5gmt3Yak1VeZ0M+h695vNBqyd+9e2bt3r4yNjcnU1NSsF6SpwGFgYEAWLlwoCxcunJU2/Wkj3z6E5j2uLkfzurQFypOTkzI2Nib79++XsbExmZycnPEejoULFzbfG6H2TR8QmTIIDj2HrnvX1uIQGgS0Mp+aHhrAdCsCC02rkaTtZs8rDGObOM3C0VzOFzWrC9pXsBVtCdF/FxVaC8xbXu2na5mQwW+uIEXPgG2ZsK3FxcbVYqQvH/u9KCkCWVMZgYQvANBb1PTacZZlzUJYfS9F6KuWQzJxWwAX2vqkp1tNW7hwoVSrVVm2bNmM9di+3dSVJl8rmK1VxHyPhNqOnkbzqYiY/Eft1wEHHDDj+jf/dqXVNb2VPKfIcnktlnlCA6PQNNqOQ+z+dVpwQmAh9iZLs9lSTfe9V958x4H546qZt5JWkdm1DVuLgJlRhm43JtixpSuFVm44fXlbRhjClQEWzVhiArHQlo1uYQv4XPdalmXN+0oFFr7HAl21+NDCs9UWuyKFk4uZB+nT9d+u6WagYbZO6L/1PE3Nb37/h5rX9h0ursLaTJO+nB5Y2dIWeo/EnqO8tObNZ+YdMXlK3nXoe3tpnpAguJ0ILGT2jZZlmYyPj8v+/ftl//790mg0ZrUQ6MuoL7ZRr+RVN4qZAboKeTMdKg36b3PboRexq3YVmjG7ggXXfpnTi9z4eRl8aLNjqhYU1/aLrj+0xuNbNlTosWoHW8uOPl1Pm+019b6M2VWzt83rS1uRZUPW7VtXXiEXEhibecfU1JSMj483W31UYKY/Vmn7Ei4zsNArTK70+O6H0OPn2p+8YxabV7jy3pA0udgqbDEtQWqeovlvTFrbhcDCoE7iggULZMmSJbJo0aJZQYWrxqQ+V2xvabRdGK4bMrYAiqlB22o4+ufT09PNF7/oj3uZzfOuWpDrpsirddr2x5ep2fZNn9ZKJuIKwGKZGXDscnlc++76rMxMqEgLiyrEiqTLdf36jolvnry0+tLhakVs5fo1/7e1mNrSq5YdHByc8X0Z+ufmN4Sq14+75rOl25xm26+Q+zxv/33nyveZLeBSeZqtdcac39XiY87n+yZjPS3mdHOaftzNl8m55rXtaxGhAXiIeR9YqBOo+h3NgX22A6nfkC6VSmXWI5yu365pehrN+Vz7YqbB/FwFC2pUt295xTZSXQ+WROxftuYKosyMMe/G9AVr+rb0/9Xz72YmYjuverBj7qurYDD305YxKDHjYXQxhaMZyOnvAYh5e2te2myZWWgmak5PqZUnl0K5ghjzMxH3/qvPTLbC1Vb50Av/vHXapocWwq5lQubJm9fFFkjo1666plX+pR9z27cNqxYX86VXtjze1uJq2wczD9SDk7z8y5XH287z5OSkjI+PS6PRaObVtsG/evrN/NzVbaVvS00PqeiJiIyNjeXOI0JgISLvXoTqglHT1O8imaAvUCjK1grg257ZLKfvp/r6YR/XDaD/jllHXlCUlznl1Yx0+rcbhtRU81qNzHTaCoG8TNfMbEIDRnM7rv9d5yJ1IR7DdZ5c+x6yPybbOYkpQH33lW0587dZm1XTbGNG9IBPL8xiWvFsXROh+VTMNZLiugnZH990FRRk2TvjbWxfl67Pbxa2rpYk9XfoNePaTirm+tQA5UWLFrVl+650mMdkfHw8aD0dHViEZiyhB9mWqZlNTvrFqLdi6NP0WrAqpFWTo7oRbJmFWbD40q1H5np0bvv+DHXDDQwMzIpSzVHhoUGJnl6fkNpY3jJ6pmsWwq516udSb52wtRKZhZWvELIFY3lcLS62/bC9s8C1vaJBrS195nZMoTXRmBqrmu7K7G0Bl60gNtPvarI2z6Nr+RD6+vR02rrybK1G+/fvl9HRUXnrrbdk3759ze+S2Ldvn9Trddm3b59MTEzIwMCADA0NyfLly+WQQw6RJUuWNNev3g2hKgPq+rHVWH3nII/vXgsNOHyBua9CEHo9xl63rn3Ku57NY6rTz6+rK8qWhiJ5pD6vK82xeUNIsJXKnAUWti/SsYmJIvM+y4tOXQdcfyukev2w62JR+2RrGrMVPK59mJyclEajIY1Gozn4Sk+jmdlNTEzM6Cc0m83UsvprcovWmFrhqtmZ/YlmU75iu8lU2vUM2LVd23y2ZfRmV73rS8/s9XNsdjnY9qlSqTT/V2mw1WJt6VZp1wfVuQJWfVnb8TbXazuuLkUKL/2YqO8EUUGgeU2qaWNjY7J3716p1+vy9ttvy9TUlFSrVVmyZIkceOCBMjQ0JAMDAzOuddt5NffdFpib14+ebttXgdu+XdUMLBctWiSLFi2Sww47bMaxCD1Pvuk2MQVv7Dn0bdvMl3zLxeQdrsBQradIBcaW5pCgR79+zIrl9PS0jI+Py9tvvy1jY2MyMTExa3t6K7iZf7j2SQWRegVEv85t3yabt/9q3Jz+gjMf23Ver9e9yyhzFliEXBy2x6VcUWDetnzTbAGEPt23fEgtLKaWpKjn9KvVqvP99bZ02vZLn6a6QGy1uCLHNC+TctUWzQzcPH6u6NqW2ZiPxpn7FJPBhdZYzMBO/6IsNa9ZWOqFmPm4nevbPW2FpGuUfsz+hXJlwmpdvvNvm18/VnrNTw84RN5pCj7ssMNkeHh4xhdJ5T2poP9fJK/Q99n8W1+vuU3z3SghhXHI/EVbIVzrdLVuFMmj1P96YaWCcNu969pWTPCk30N6oJf3Mi4z/b7r2rd9sys5y7LmC8LMSpDt+rPd/76g0Jenh+TBtm3bygBbOmzHMKQxQKSDAws9kNBPfkwUb9umazv9/f2Fmpx8kbWZXnNdat/MAlXxfbtnbDrVum0XY8wxNdNp2wd9vXrXkG+drkzItmxewam3IuiRub4d15M+voxpfHy8WYveu3evNBqNGQWembHZ1qlnTnrGaAuMbANK9Xlt6VS/zUcIbfeQ+b8+IM32JVD6k0J695yZsft+bIVAtVqVRYsWOTNS8/zmTcsrXHS2FqMsy5q1UP1xc7UdPdDRz6nt/NsKEdux14+/mXbbOs19DikozPnMSlDosXK9c0S/30MeVw1hBvFmemPWqecLrnd25OUtan61Pts2Wk2nub685WMGLvtaOnwBjuIa42LqmDEWtkhY/TYLMZfQi8u1jZCL2HZj2vr4bekyC4a8m82c5hoV7XqqwdaXbyvEbYVg6PFTN6rta4tVk5/ZxOzbV/NYm9u0BWbmMRJ5d4zKxMTEjG4fvYvILNzzMoGBgYFmIZhlWbNLzDXGxlbghU63FcqueV0ZnPlooquwsq1TddfomXCWZTIwMDCjYLEFC7Zz6SrsXdu3HUPb/apfA+b5Mj93nVe9YFfrVedU/Z1l2azuRd8TRK59sqXBnFcPivU3j9qW1QMjs9vNvP/NpnD1mnEzCHCxnWs9HbbKii0Ac3Xluc6huU7XcbDlHfr/U1NTMjY21vyZmpqSSqXSvK8HBwebT934Ai3Xdnz7nyc24PDtq2t95r3gum9aSZfSMYGFSV0IZvOSja1gFXEXVuZNoEfiarr6X9++OU0v2M1MRK/J6tQ6XMGGmQno6VL9eerFN+ozNR5DTVddKEuXLpWhoSFZtGhRboGnp8k8Jq7Hs/Rp6m+9YBofH58xr5kxmxmL2RVl4woMTSrD0J8Kib3ZTWp8zYEHHpjbCuBS9EZV8vY5RGwa8s5J6Dpt149a1ixcXNs0AyVXLdq2Xj2drmnq7/7+fhkcHJSlS5daC3Vbxm5WTGzXmrm8Sr/+CHiWZbO+a0Q9bjgwMNAsAM17Wj8m+/fvlz179ki9Xpf9+/c3gwh9ebPCoadxYGBADjjgAFm8eLFUq9UZT83p41EmJyebA1Xr9bqMjY1Jlr37BId6IZdKo/pfb/VRQdzg4OCsgar6/+p+c51XW6XHzKv6+/ulWq1an4pTLxNT63O1DvnOp3ldhL6awHVdhuQpeet3batMlSwk10ioXq9LrVaT0dFRGRoaEhF7xmW2AuhNbbZmxyIHTF10qmBWkbz+mZk2V39eaBpCLlZzWl50qk83Czs9nWrwnPrRA5bQwZPmvqpjZMvYzX3p7++XhQsXyqJFi5o3t4uqWekDjVTGaH5XhO2cqFYUvcZn1u7MGndeLcqXqfmmmefW9r9vW65lXMzCyvceD307IU2qvgLZTG/o/ofsk0qzyqz18zkxMdEc6KzuXz2ItXXRuFrx8rJD83yYg/f0MSJLliyRJUuWyMKFC62tG2rb+oBA31Ms6ppWlQtVGdCDdX2gtvmUm3kMzHzClsaQLkK1Pf237dzr9595TZr5h35P6pUtvcXWDLb0FgdbJdAckK2XKWawo7fimO/BsN1LtiDGnKaCKPXjOh+24+q6/myfuZaN4boXbeW3TUe0WOg3maIuKDOyzCvAQ4IL8+K3DZTMiyJDtxUjZn1Ftq32W+8iUOuqVCrNmoXI7BvbVeCpjNHsCtEzJbN7xvWCF/0mVDffwoULrfugz6+34uhdMXrBolpD9P3QW6f04ENPv9k8bCuAXIWq2bzsarFxnc+8a91FbVtlunk1bt90tc8h28ybHrKekBYpvY+7r6+vWcDo5znLsmYhrKdFLzDUNWALrF3jRsyKjWrZWLJkyYx91QO70dFRb2Cndxua14qvyyXvugi9bmKvr1ZbsGzXhDlmQ5/mKqz1ioGtdSO0FStU0eNp7q8tODHzAtt0nS3gSNlGkLf9PHMWWJiZs3lQXFG7XhjZApLYg2tmLLaLOqQWY7tgfZl3XnQZEsnqx8C1b+bv/v5+OeCAA5rjBPRjYCswzW3pNR9FBWXVanVW+vVM0XVcXNNc+2yeK1sAYmM7/q50uWqxrpqYrXZiC8LUb1WzVfOaNUZ9va59sE03p/nms90/Idtqhe/RWvM+dh1Ts3VK1Vjz7il9vfrnRSoLecGaq2Czta750hTbR5+6shO6TlcQaFveFuCbwbs+Vsr1aLxaXg8m9PWbrZAh93SR8593/5v5dF45YebLtml592ze/6H5h0nPt3w64qkQvdDSP1ef6VxBROhFYbuJRd4dE2G7MGzb9wUb+kVmjsrX+yrV9myZkH4D6TedLQjKC2z036rGrIvNlGIyGvPvmHXFROv6367jr8+bdyO5MiFbGsyMzbYO17ZchZKL7V6xpd+1Ht/2fPdaKLPQMO9zVw3SVtja1q2atlULk76sa9yOub+29cbsX16w6To/+vwh6TC347um8wJl/X9XXhmaLhdXfhly/5jryWtxc6Xddx/ZAnxzmdA8UG81s/1W62ol0FPHQVc0Lw1ZPmQdvu7rGfMFzdVGasfNPmLFNkbBNVLZtX5b7dyVDl9kais8XTUO84JXI5LVvGaBr9JpNtGr+c35bH2UZh+hL1KOyWhChNysZiSfat16QW8bNxBa4IaKLYBjtmErbHzNuymDwxgxFQBbkOcae2RasGCB9VFH23FxnZciAZOZXv23bZ6Q9ZjTbNNdxzVvfnWcffd8aLpT5QNFlo3NI0LOrW29re5/6vxTiUlniNT3vUuhwOJb3/qWfP3rX5dXX31VjjnmGPnmN78pv//7v184EbbMRkWs6pEvfV7XjR1yY4rMjrqKZjQ2vsws76Taon3zuWHbRZYy/Xlp0qXKoNstZJ9i0hZb04vJLM1zrNfCQ9NRttAWDxVAu14mFXpd+GpxqTPiTuO6pooEDJ3IDBhDx0gUraSodYakKU9Ii1+Kiks3nNPowOL73/++fO5zn5Nvfetbcuqpp8p3vvMdWb9+vTz33HNyxBFHFE5Iq81GvvWGzpPiBNoueDU9dn22QiVkPt+8ZrpC5s1LX6fSA1bX5ym0YxuhLUCptxvCFxDEBJ+t1Ax990gZx6KVvKKVZc3Wyk6/B2Pp15KrxbHI+nShrRqhzFai2HXEVN665XxHP2560kknye/93u/JjTfe2Jz2wQ9+UM4//3wZGRnJXT70cZVOUeaJbVfG0K0Xp0i6qL/I9lptgu2m41yWdl57ZWxrPp3XFMcv5P4JDcRjxnbMtVSVi9TXcOrrt5THTcfHx+WJJ56QL37xizOmn3nmmfLoo49al1HPlyujo6PNBHaLuaoJAt2um4PabtPtgVVI+mO7glrZFmZT5XZe0BcVWPzmN7+RqampWd/Yd9hhh8nu3buty4yMjMj1118/a/rw8HDMpgEAQAfYs2eP1Go15+eFBm/GDJy5+uqrZdOmTc3/p6en5X//93/l4IMP7vkosV6vy/DwsLzyyitd0e2TEvs+P/ddZH7vP/vOvvfyvmdZJnv27JFVq1Z554sKLA455BDp7++f1Trx+uuvz2rFUMwXJ4mIHHjggTGb7XpDQ0M9fbH5sO/zc99F5vf+s+/se6/ytVQoUUNuBwcH5UMf+pA88MADM6Y/8MADcsopp8SlDgAA9JzorpBNmzbJJZdcIieccIKsW7dObrrpJnn55ZfliiuuKCN9AACgi0QHFhdeeKG88cYb8uUvf1leffVVWbt2rfzgBz+Q1atXl5G+rlatVuXaa6+d1RU0H7Dv83PfReb3/rPv7DsKvMcCAADApbXXmgEAAGgILAAAQDIEFgAAIBkCCwAAkAyBRYTrrrtuxtf2VioVWbFiRfPzLMvkuuuuk1WrVsmiRYvkox/9qDz77LMz1tFoNOSqq66SQw45RBYvXix/9Ed/JL/4xS/avStBHn74YTn33HNl1apVUqlU5O67757xear9ffPNN+WSSy6RWq0mtVpNLrnkEnnrrbdK3ju/vH2/9NJLZ10LJ5988ox5unXfR0ZG5MQTT5SlS5fK8uXL5fzzz5fnn39+xjy9eu5D9r2Xz/2NN94oxx13XPNFT+vWrZP77ruv+XmvnneR/H3v5fOeXIZg1157bXbMMcdkr776avPn9ddfb35+ww03ZEuXLs3uvPPObOfOndmFF16YrVy5MqvX6815rrjiiuw973lP9sADD2RPPvlkdvrpp2fHH398Njk5ORe75PWDH/wg+5u/+ZvszjvvzEQk27Jly4zPU+3vWWedla1duzZ79NFHs0cffTRbu3Ztds4557RrN63y9n3Dhg3ZWWedNeNaeOONN2bM0637/gd/8AfZ5s2bs2eeeSZ7+umns7PPPjs74ogjsr179zbn6dVzH7LvvXzu77nnnuzee+/Nnn/++ez555/PrrnmmmxgYCB75plnsizr3fOeZfn73svnPTUCiwjXXnttdvzxx1s/m56ezlasWJHdcMMNzWljY2NZrVbLvv3tb2dZlmVvvfVWNjAwkN1xxx3NeX75y19mfX192f33319q2ltlFq6p9ve5557LRCTbsWNHc57t27dnIpL99Kc/LXmvwrgCi/POO8+5TK/se5Zl2euvv56JSLZt27Ysy+bXuTf3Pcvm17nPsiw76KCDsn/6p3+aV+ddUfueZfPvvLeCrpBIL7zwgqxatUrWrFkjn/rUp+TFF18UEZFdu3bJ7t275cwzz2zOW61W5SMf+UjzK+WfeOIJmZiYmDHPqlWrZO3atc6vne9UqfZ3+/btUqvV5KSTTmrOc/LJJ0utVuv4Y7J161ZZvny5vO9975O/+Iu/kNdff735WS/t++joqIiILFu2TETm17k3912ZD+d+ampK7rjjDtm3b5+sW7duXp13c9+V+XDeUyj07abz1UknnSS33nqrvO9975PXXntNvvKVr8gpp5wizz77bPOL2WxfKf/SSy+JiMju3btlcHBQDjrooFnzuL52vlOl2t/du3fL8uXLZ61/+fLlHX1M1q9fLxdccIGsXr1adu3aJV/60pfkjDPOkCeeeEKq1WrP7HuWZbJp0yY57bTTZO3atSIyf869bd9Fev/c79y5U9atWydjY2OyZMkS2bJlixx99NHNgq+Xz7tr30V6/7ynRGARYf369c2/jz32WFm3bp0cddRRcssttzQH8cR8pXzMPJ0qxf7a5u/0Y3LhhRc2/167dq2ccMIJsnr1arn33nvlk5/8pHO5btv3K6+8Un784x/LI488MuuzXj/3rn3v9XP//ve/X55++ml566235M4775QNGzbItm3bmp/38nl37fvRRx/d8+c9JbpCWrB48WI59thj5YUXXmg+HeL7SvkVK1bI+Pi4vPnmm855ukWq/V2xYoW89tprs9b/61//uquOycqVK2X16tXywgsviEhv7PtVV10l99xzjzz00ENy+OGHN6fPh3Pv2nebXjv3g4OD8lu/9VtywgknyMjIiBx//PHyj//4j/PivLv23abXzntKBBYtaDQa8pOf/ERWrlwpa9askRUrVsz4Svnx8XHZtm1b8yvlP/ShD8nAwMCMeV599VV55plnuu5r51Pt77p162R0dFT+8z//sznPj370IxkdHe2qY/LGG2/IK6+8IitXrhSR7t73LMvkyiuvlLvuukv+4z/+Q9asWTPj814+93n7btNL594myzJpNBo9fd5d1L7b9Pp5b0kbB4p2vc9//vPZ1q1bsxdffDHbsWNHds4552RLly7N/ud//ifLsncexarVatldd92V7dy5M7vooousj2Idfvjh2YMPPpg9+eST2RlnnNGxj5vu2bMne+qpp7KnnnoqE5HsG9/4RvbUU09lL730UpZl6fb3rLPOyo477rhs+/bt2fbt27Njjz12zh+/8u37nj17ss9//vPZo48+mu3atSt76KGHsnXr1mXvec97emLfP/3pT2e1Wi3bunXrjEfr9u/f35ynV8993r73+rm/+uqrs4cffjjbtWtX9uMf/zi75pprsr6+vuzf/u3fsizr3fOeZf597/XznhqBRQT1zPbAwEC2atWq7JOf/GT27LPPNj+fnp7Orr322mzFihVZtVrNPvzhD2c7d+6csY633347u/LKK7Nly5ZlixYtys4555zs5ZdfbveuBHnooYcyEZn1s2HDhizL0u3vG2+8kV188cXZ0qVLs6VLl2YXX3xx9uabb7ZpL+18+75///7szDPPzA499NBsYGAgO+KII7INGzbM2q9u3XfbfotItnnz5uY8vXru8/a918/95Zdfnq1evTobHBzMDj300OxjH/tYM6jIst4971nm3/deP++p8bXpAAAgGcZYAACAZAgsAABAMgQWAAAgGQILAACQDIEFAABIhsACAAAkQ2ABAACSIbAAAADJEFgAAIBkCCwAAEAyBBYAACAZAgsAAJDM/wczF/cNsEOfIAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "S = np.abs(librosa.feature.melspectrogram(y=x, sr=Fs))\n", "extent=[frequencies[0], frequencies[-1], times[0], times[-1]]\n", @@ -232,7 +383,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.17" + "version": "3.8.19" } }, "nbformat": 4, diff --git a/libsoni/core/spectrogram.py b/libsoni/core/spectrogram.py index 16c53dc..1ed7b8e 100644 --- a/libsoni/core/spectrogram.py +++ b/libsoni/core/spectrogram.py @@ -16,13 +16,13 @@ def sonify_spectrogram(spectrogram: np.ndarray, Parameters ---------- - spectrogram: np.ndarray + spectrogram: np.ndarray (np.float32 / np.float64) [shape=(N, K)] Spectrogram to be sonified. - frequency_coefficients: np.ndarray, default = None + frequency_coefficients: np.ndarray (np.float32 / np.float64) [shape=(N, )], default = None Array containing frequency coefficients, in Hertz. - time_coefficients: np.ndarray, default = None + time_coefficients: np.ndarray (np.float32 / np.float64) [shape=(K, )], default = None Array containing time coefficients, in seconds. sonification_duration: int, default = None @@ -42,13 +42,7 @@ def sonify_spectrogram(spectrogram: np.ndarray, spectrogram_sonification: np.ndarray (np.float32 / np.float64) [shape=(M, )] Sonified spectrogram. """ - - # Check if lengths of coefficient vectors match shape of spectrogram - assert spectrogram.shape[0] == len(frequency_coefficients),\ - f'The length of frequency_coefficients must match spectrogram.shape[0]' - - assert spectrogram.shape[1] == len(time_coefficients), \ - f'The length of time_coefficients must match spectrogram.shape[1]' + __check_spect_shape(spectrogram, len(frequency_coefficients), len(time_coefficients)) # Calculate Hop size from time_coefficients if not explicitly given H = int((time_coefficients[1] - time_coefficients[0]) * fs) @@ -72,7 +66,6 @@ def sonify_spectrogram(spectrogram: np.ndarray, spectrogram_sonification += (sinusoid * weighting_vector) spectrogram_sonification = fade_signal(spectrogram_sonification, fs=fs, fading_duration=fading_duration) - spectrogram_sonification = normalize_signal(spectrogram_sonification) if normalize else spectrogram_sonification return spectrogram_sonification @@ -114,11 +107,7 @@ def sonify_spectrogram_multi(spectrogram: np.ndarray, spectrogram_sonification: np.ndarray (np.float32 / np.float64) [shape=(M, )] Sonified spectrogram. """ - - assert spectrogram.shape[0] == len(frequency_coefficients), \ - f'The length of frequency_coefficients must match spectrogram.shape[0]' - assert spectrogram.shape[1] == len(time_coefficients), \ - f'The length of time_coefficients must match spectrogram.shape[1]' + __check_spect_shape(spectrogram, len(frequency_coefficients), len(time_coefficients)) if num_processes is None: num_processes = os.cpu_count() or 1 @@ -154,9 +143,9 @@ def sonify_spectrogram_multi(spectrogram: np.ndarray, return spectrogram_sonification + def __sonify_chunk(args): start, end, spectrogram_chunk, frequency_coefficients_chunk, time_coefficients, num_samples, H, fs = args - spectrogram_sonification_chunk = np.zeros(num_samples) for i in range(spectrogram_chunk.shape[0]): @@ -173,3 +162,14 @@ def __sonify_chunk(args): spectrogram_sonification_chunk += (sinusoid * weighting_vector) return spectrogram_sonification_chunk + +def __check_spect_shape(spect: np.ndarray, + num_freq_bins: int, + num_time_frames: int): + # Check if lengths of coefficient vectors match shape of spectrogram + if not spect.shape[0] == num_freq_bins: + raise ValueError('The length of frequency_coefficients must match spectrogram.shape[0]') + + if not spect.shape[1] == num_time_frames: + raise ValueError('The length of time_coefficients must match spectrogram.shape[1]') +