Skip to content

Instantly share code, notes, and snippets.

@erikcw
Created July 19, 2019 19:39
Show Gist options
  • Save erikcw/248c4c2d0fd9e1fb30b3e3957a33659d to your computer and use it in GitHub Desktop.
Save erikcw/248c4c2d0fd9e1fb30b3e3957a33659d to your computer and use it in GitHub Desktop.
notebooks/How stable are Google gids.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {},
"cell_type": "markdown",
"source": "# Setup"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "import pyathena\nimport pandas as pd\nimport matplotlib.pyplot as plt\nimport numpy as np\nimport json",
"execution_count": 17,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "conn = pyathena.connect(\n s3_staging_dir='s3://aws-athena-query-results-313962271029-us-east-1/boto/',\n schema_name='ddt',\n )\ncursor = conn.cursor()",
"execution_count": 5,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "def to_days(secs): return f\"{round(secs/60/60/24, 1)} days\"\n\ndef make_histo(intervals, weights, offset=0):\n plt.rcParams['figure.figsize'] = [18,12]\n plt.clf()\n plt.xticks(rotation='vertical')\n plt.hist([str(to_days(interval)) for interval in intervals[offset:]], 100, weights=weights[offset:])\n \n \ndef prep_data(h):\n intervals = []; weights = []\n for interval, weight in sorted((float(k), float(v)) for k,v in h.items()):\n intervals.append(interval)\n weights.append(weight)\n return intervals, weights",
"execution_count": 6,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "# Summary Stats"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "sql = \"\"\"\nselect\ncount(gid) as row_count,\ncount(distinct gid) as distinct_gid,\ncount(distinct uuid) as distinct_ccid,\nmin(gid_duration) as min_gid,\nmax(gid_duration) as max_gid,\navg(gid_duration) as avg_gid,\nstddev(gid_duration) as stddev_gid,\nvariance(gid_duration) as variance_gid,\napprox_percentile(gid_duration, 0.5) median_gid\n\nFROM match_table_gid_flat\"\"\"\n\n\nsummary_stats = pd.read_sql(sql, conn)\nsummary_stats",
"execution_count": 7,
"outputs": [
{
"data": {
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>row_count</th>\n <th>distinct_gid</th>\n <th>distinct_ccid</th>\n <th>min_gid</th>\n <th>max_gid</th>\n <th>avg_gid</th>\n <th>stddev_gid</th>\n <th>variance_gid</th>\n <th>median_gid</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>1545461697</td>\n <td>1467211934</td>\n <td>1474928687</td>\n <td>-310.176</td>\n <td>1.171415e+08</td>\n <td>3.438625e+06</td>\n <td>7.971556e+06</td>\n <td>6.354570e+13</td>\n <td>1.101562</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " row_count distinct_gid distinct_ccid min_gid max_gid \\\n0 1545461697 1467211934 1474928687 -310.176 1.171415e+08 \n\n avg_gid stddev_gid variance_gid median_gid \n0 3.438625e+06 7.971556e+06 6.354570e+13 1.101562 "
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "# Last 6 Months GID"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "sql = \"\"\"\nselect\njson_format(CAST(numeric_histogram(100, gid_duration) as JSON))\n\nFROM match_table_gid_flat\nWHERE gid_duration > 0\nAND gid_updated > now() - interval '180' day\n\"\"\"\n\nh_180_days = {\"1.0160760181349711E8\":352.0,\"1.0262251414670715E7\":2437858.0,\"1.0736584730750237E7\":1793445.0,\"1.1059118731597457E7\":1326388.0,\"1.150559088446165E7\":2057276.0,\"1.203641900626468E7\":1825633.0,\"1.237200996682983E7\":796366.0,\"1.2732173871097544E7\":1762412.0,\"1.3291769173812514E7\":1917590.0,\"1.3870314509871298E7\":1934425.0,\"1.4457914641289247E7\":1923831.0,\"1.5080978306535691E7\":1898679.0,\"1.5696622573089972E7\":1640871.0,\"1.6283494733095951E7\":1297112.0,\"1.6884973047976647E7\":1119299.0,\"1.7500773100741457E7\":990883.0,\"1.812738824254003E7\":900520.0,\"1.8747506256302815E7\":822802.0,\"1.934888770199252E7\":828114.0,\"1.9968312988261215E7\":755351.0,\"1196763.5863525525\":4778858.0,\"12835.447717398753\":2.5894547E7,\"1496680.4365954204\":3373561.0,\"159517.55176873956\":5963477.0,\"1811615.7384549815\":4234710.0,\"2.0519121912838332E7\":816980.0,\"2.112766236195519E7\":872982.0,\"2.1803535736621853E7\":705235.0,\"2.245645228254313E7\":564376.0,\"2.3433740716801744E7\":491610.0,\"2.4218752962589145E7\":483336.0,\"2.4803547284624524E7\":445431.0,\"2.5470472484494098E7\":631800.0,\"2.6344147955430433E7\":491764.0,\"2.7176964380592827E7\":542325.0,\"2.8010764896035925E7\":604947.0,\"2.887335808884531E7\":669230.0,\"2.971895476446159E7\":664784.0,\"2105486.09193554\":2956734.0,\"2411016.6608925858\":3700330.0,\"2705808.406692318\":2590825.0,\"3.0567799828795925E7\":805871.0,\"3.137717935331382E7\":675130.0,\"3.2075666579281636E7\":569517.0,\"3.2709787341880817E7\":538527.0,\"3.333892862602816E7\":544589.0,\"3.400678610344301E7\":579193.0,\"3.4771571159306034E7\":644347.0,\"3.557169062401569E7\":621471.0,\"3.637533920647674E7\":591452.0,\"3.720662263992546E7\":595769.0,\"3.807896437538336E7\":577798.0,\"3.8955134908351585E7\":581600.0,\"3.9835814718599856E7\":554647.0,\"3018885.947702042\":3452301.0,\"3312892.3787837164\":2322397.0,\"3625426.187480475\":3197610.0,\"365883.32359667344\":4929837.0,\"3915058.1688880315\":2217456.0,\"4.072894850790052E7\":537567.0,\"4.1610315754701324E7\":502304.0,\"4.2488654225178316E7\":470936.0,\"4.336725128220955E7\":434960.0,\"4.422539001335616E7\":385513.0,\"4.508360002013987E7\":355583.0,\"4.595067199423847E7\":341841.0,\"4.684697041414161E7\":350347.0,\"4.77768622439075E7\":340263.0,\"4.873590181711725E7\":323252.0,\"4.970843586514023E7\":319640.0,\"4231899.909444452\":2961707.0,\"4527240.408392036\":1984639.0,\"4838026.99399447\":2784884.0,\"5.069767881157854E7\":310608.0,\"5.169015720616084E7\":290383.0,\"5.268859582246802E7\":279207.0,\"5.372142328525618E7\":254301.0,\"5.477982453685036E7\":246292.0,\"5.591356881664239E7\":236406.0,\"5.7125162826702595E7\":222361.0,\"5.839923446670662E7\":191728.0,\"5.9641633336022325E7\":141068.0,\"5149560.332599603\":1897989.0,\"5499363.292675931\":3313135.0,\"5976496.247875315\":3106987.0,\"6.07163552921305E7\":104190.0,\"6.193908087639351E7\":123403.0,\"610166.1647391671\":6258360.0,\"6331670.178217732\":1711251.0,\"6724233.863191817\":3130695.0,\"7.086713013234611E7\":1329.0,\"7231706.098408965\":2919435.0,\"7716787.926195353\":2529580.0,\"8.002690004493217E7\":1224.0,\"8090989.362623921\":1789991.0,\"8501089.416838907\":2552872.0,\"883660.8675040983\":4223153.0,\"8997778.719744556\":2589456.0,\"9380761.701480612\":1389742.0,\"9751051.907944513\":2429955.0}\n#intervals, weights = prep_data(h)",
"execution_count": 1,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "make_histo(offset=1, *prep_data(h_180_days))",
"execution_count": 18,
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": "<Figure size 1296x864 with 1 Axes>"
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Started in the last 6 months"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# Summary stats\nsql = \"\"\"\n\nselect\ncount(gid) as row_count,\ncount(distinct gid) as distinct_gid,\ncount(distinct uuid) as distinct_ccid,\nmin(gid_duration)/60/60/24 as min_gid,\nmax(gid_duration)/60/60/24 as max_gid,\navg(gid_duration)/60/60/24 as avg_gid,\nstddev(gid_duration)/60/60/24 as stddev_gid,\nvariance(gid_duration)/60/60/24 as variance_gid,\napprox_percentile(gid_duration, 0.5)/60/60/24 median_gid\nFROM match_table_gid_flat\nWHERE gid_duration > 60*60*24*2\nAND gid_created > now() - interval '180' day\n\"\"\"\n\nsummary_stats_180_days = pd.read_sql(sql, conn)\nsummary_stats_180_days",
"execution_count": 55,
"outputs": [
{
"data": {
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>row_count</th>\n <th>distinct_gid</th>\n <th>distinct_ccid</th>\n <th>min_gid</th>\n <th>max_gid</th>\n <th>avg_gid</th>\n <th>stddev_gid</th>\n <th>variance_gid</th>\n <th>median_gid</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>65521234</td>\n <td>65389249</td>\n <td>64417794</td>\n <td>2.0</td>\n <td>143.769779</td>\n <td>36.366595</td>\n <td>30.477742</td>\n <td>8.025634e+07</td>\n <td>27.899259</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " row_count distinct_gid distinct_ccid min_gid max_gid avg_gid \\\n0 65521234 65389249 64417794 2.0 143.769779 36.366595 \n\n stddev_gid variance_gid median_gid \n0 30.477742 8.025634e+07 27.899259 "
},
"execution_count": 55,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "sql = \"\"\"\nselect\njson_format(CAST(numeric_histogram(100, gid_duration) as JSON))\n\nFROM match_table_gid_flat\nWHERE gid_duration > 0\nAND gid_created > now() - interval '180' day\n\"\"\"\n\ndf_started_180_days = pd.read_sql(sql, conn)\n\n#h_180_days = {\"1.0160760181349711E8\":352.0,\"1.0262251414670715E7\":2437858.0,\"1.0736584730750237E7\":1793445.0,\"1.1059118731597457E7\":1326388.0,\"1.150559088446165E7\":2057276.0,\"1.203641900626468E7\":1825633.0,\"1.237200996682983E7\":796366.0,\"1.2732173871097544E7\":1762412.0,\"1.3291769173812514E7\":1917590.0,\"1.3870314509871298E7\":1934425.0,\"1.4457914641289247E7\":1923831.0,\"1.5080978306535691E7\":1898679.0,\"1.5696622573089972E7\":1640871.0,\"1.6283494733095951E7\":1297112.0,\"1.6884973047976647E7\":1119299.0,\"1.7500773100741457E7\":990883.0,\"1.812738824254003E7\":900520.0,\"1.8747506256302815E7\":822802.0,\"1.934888770199252E7\":828114.0,\"1.9968312988261215E7\":755351.0,\"1196763.5863525525\":4778858.0,\"12835.447717398753\":2.5894547E7,\"1496680.4365954204\":3373561.0,\"159517.55176873956\":5963477.0,\"1811615.7384549815\":4234710.0,\"2.0519121912838332E7\":816980.0,\"2.112766236195519E7\":872982.0,\"2.1803535736621853E7\":705235.0,\"2.245645228254313E7\":564376.0,\"2.3433740716801744E7\":491610.0,\"2.4218752962589145E7\":483336.0,\"2.4803547284624524E7\":445431.0,\"2.5470472484494098E7\":631800.0,\"2.6344147955430433E7\":491764.0,\"2.7176964380592827E7\":542325.0,\"2.8010764896035925E7\":604947.0,\"2.887335808884531E7\":669230.0,\"2.971895476446159E7\":664784.0,\"2105486.09193554\":2956734.0,\"2411016.6608925858\":3700330.0,\"2705808.406692318\":2590825.0,\"3.0567799828795925E7\":805871.0,\"3.137717935331382E7\":675130.0,\"3.2075666579281636E7\":569517.0,\"3.2709787341880817E7\":538527.0,\"3.333892862602816E7\":544589.0,\"3.400678610344301E7\":579193.0,\"3.4771571159306034E7\":644347.0,\"3.557169062401569E7\":621471.0,\"3.637533920647674E7\":591452.0,\"3.720662263992546E7\":595769.0,\"3.807896437538336E7\":577798.0,\"3.8955134908351585E7\":581600.0,\"3.9835814718599856E7\":554647.0,\"3018885.947702042\":3452301.0,\"3312892.3787837164\":2322397.0,\"3625426.187480475\":3197610.0,\"365883.32359667344\":4929837.0,\"3915058.1688880315\":2217456.0,\"4.072894850790052E7\":537567.0,\"4.1610315754701324E7\":502304.0,\"4.2488654225178316E7\":470936.0,\"4.336725128220955E7\":434960.0,\"4.422539001335616E7\":385513.0,\"4.508360002013987E7\":355583.0,\"4.595067199423847E7\":341841.0,\"4.684697041414161E7\":350347.0,\"4.77768622439075E7\":340263.0,\"4.873590181711725E7\":323252.0,\"4.970843586514023E7\":319640.0,\"4231899.909444452\":2961707.0,\"4527240.408392036\":1984639.0,\"4838026.99399447\":2784884.0,\"5.069767881157854E7\":310608.0,\"5.169015720616084E7\":290383.0,\"5.268859582246802E7\":279207.0,\"5.372142328525618E7\":254301.0,\"5.477982453685036E7\":246292.0,\"5.591356881664239E7\":236406.0,\"5.7125162826702595E7\":222361.0,\"5.839923446670662E7\":191728.0,\"5.9641633336022325E7\":141068.0,\"5149560.332599603\":1897989.0,\"5499363.292675931\":3313135.0,\"5976496.247875315\":3106987.0,\"6.07163552921305E7\":104190.0,\"6.193908087639351E7\":123403.0,\"610166.1647391671\":6258360.0,\"6331670.178217732\":1711251.0,\"6724233.863191817\":3130695.0,\"7.086713013234611E7\":1329.0,\"7231706.098408965\":2919435.0,\"7716787.926195353\":2529580.0,\"8.002690004493217E7\":1224.0,\"8090989.362623921\":1789991.0,\"8501089.416838907\":2552872.0,\"883660.8675040983\":4223153.0,\"8997778.719744556\":2589456.0,\"9380761.701480612\":1389742.0,\"9751051.907944513\":2429955.0}\n#intervals, weights = prep_data(h)",
"execution_count": 54,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "make_histo(offset=3, *prep_data(json.loads(df_started_180_days._col0[0])))",
"execution_count": 22,
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": "<Figure size 1296x864 with 1 Axes>"
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "sql = \"\"\"\nWITH histo AS (\nselect\nnumeric_histogram(100, gid_duration) as h\nFROM match_table_gid_flat\nWHERE gid_duration > 60*60*24*2\nAND gid_created > now() - interval '180' day\n)\n\n\nSELECT duration_bucket, bucket_count\nFROM histo\nCROSS JOIN UNNEST(h) AS t (duration_bucket, bucket_count);\n\"\"\"\n\ndf_started_180_days_at_least_2_day = pd.read_sql(sql, conn)\n\n#h_180_days = {\"1.0160760181349711E8\":352.0,\"1.0262251414670715E7\":2437858.0,\"1.0736584730750237E7\":1793445.0,\"1.1059118731597457E7\":1326388.0,\"1.150559088446165E7\":2057276.0,\"1.203641900626468E7\":1825633.0,\"1.237200996682983E7\":796366.0,\"1.2732173871097544E7\":1762412.0,\"1.3291769173812514E7\":1917590.0,\"1.3870314509871298E7\":1934425.0,\"1.4457914641289247E7\":1923831.0,\"1.5080978306535691E7\":1898679.0,\"1.5696622573089972E7\":1640871.0,\"1.6283494733095951E7\":1297112.0,\"1.6884973047976647E7\":1119299.0,\"1.7500773100741457E7\":990883.0,\"1.812738824254003E7\":900520.0,\"1.8747506256302815E7\":822802.0,\"1.934888770199252E7\":828114.0,\"1.9968312988261215E7\":755351.0,\"1196763.5863525525\":4778858.0,\"12835.447717398753\":2.5894547E7,\"1496680.4365954204\":3373561.0,\"159517.55176873956\":5963477.0,\"1811615.7384549815\":4234710.0,\"2.0519121912838332E7\":816980.0,\"2.112766236195519E7\":872982.0,\"2.1803535736621853E7\":705235.0,\"2.245645228254313E7\":564376.0,\"2.3433740716801744E7\":491610.0,\"2.4218752962589145E7\":483336.0,\"2.4803547284624524E7\":445431.0,\"2.5470472484494098E7\":631800.0,\"2.6344147955430433E7\":491764.0,\"2.7176964380592827E7\":542325.0,\"2.8010764896035925E7\":604947.0,\"2.887335808884531E7\":669230.0,\"2.971895476446159E7\":664784.0,\"2105486.09193554\":2956734.0,\"2411016.6608925858\":3700330.0,\"2705808.406692318\":2590825.0,\"3.0567799828795925E7\":805871.0,\"3.137717935331382E7\":675130.0,\"3.2075666579281636E7\":569517.0,\"3.2709787341880817E7\":538527.0,\"3.333892862602816E7\":544589.0,\"3.400678610344301E7\":579193.0,\"3.4771571159306034E7\":644347.0,\"3.557169062401569E7\":621471.0,\"3.637533920647674E7\":591452.0,\"3.720662263992546E7\":595769.0,\"3.807896437538336E7\":577798.0,\"3.8955134908351585E7\":581600.0,\"3.9835814718599856E7\":554647.0,\"3018885.947702042\":3452301.0,\"3312892.3787837164\":2322397.0,\"3625426.187480475\":3197610.0,\"365883.32359667344\":4929837.0,\"3915058.1688880315\":2217456.0,\"4.072894850790052E7\":537567.0,\"4.1610315754701324E7\":502304.0,\"4.2488654225178316E7\":470936.0,\"4.336725128220955E7\":434960.0,\"4.422539001335616E7\":385513.0,\"4.508360002013987E7\":355583.0,\"4.595067199423847E7\":341841.0,\"4.684697041414161E7\":350347.0,\"4.77768622439075E7\":340263.0,\"4.873590181711725E7\":323252.0,\"4.970843586514023E7\":319640.0,\"4231899.909444452\":2961707.0,\"4527240.408392036\":1984639.0,\"4838026.99399447\":2784884.0,\"5.069767881157854E7\":310608.0,\"5.169015720616084E7\":290383.0,\"5.268859582246802E7\":279207.0,\"5.372142328525618E7\":254301.0,\"5.477982453685036E7\":246292.0,\"5.591356881664239E7\":236406.0,\"5.7125162826702595E7\":222361.0,\"5.839923446670662E7\":191728.0,\"5.9641633336022325E7\":141068.0,\"5149560.332599603\":1897989.0,\"5499363.292675931\":3313135.0,\"5976496.247875315\":3106987.0,\"6.07163552921305E7\":104190.0,\"6.193908087639351E7\":123403.0,\"610166.1647391671\":6258360.0,\"6331670.178217732\":1711251.0,\"6724233.863191817\":3130695.0,\"7.086713013234611E7\":1329.0,\"7231706.098408965\":2919435.0,\"7716787.926195353\":2529580.0,\"8.002690004493217E7\":1224.0,\"8090989.362623921\":1789991.0,\"8501089.416838907\":2552872.0,\"883660.8675040983\":4223153.0,\"8997778.719744556\":2589456.0,\"9380761.701480612\":1389742.0,\"9751051.907944513\":2429955.0}\n#intervals, weights = prep_data(h)",
"execution_count": 26,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "df_started_180_days_at_least_2_day['days_label'] = df_started_180_days_at_least_2_day.duration_bucket.apply(to_days)\ndf_started_180_days_at_least_2_day['days'] = round(df_started_180_days_at_least_2_day.duration_bucket/60/60/24, 1)",
"execution_count": 48,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "df_started_180_days_at_least_2_day.plot(\n x='days', #'duration_bucket',\n y='bucket_count',\n kind='bar')",
"execution_count": 51,
"outputs": [
{
"data": {
"text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x11ed9ada0>"
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABC0AAALMCAYAAADAREgWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdf7DfVX3n8ddZglBXRMSUdQjuRctYKSBiiri4Ky0DBtIBdaijayWDrNiC/TFTrVenLbVaNui0OlZ0ly4RsCJ1sC7sRApodaizigbNCAos0UYNq/wKoC6lBT37x/1ALzc3yb039+b7vjePx0wm957v+X4+596LkTw5n8+n9d4DAAAAUM2/GfUCAAAAAKYjWgAAAAAliRYAAABASaIFAAAAUJJoAQAAAJQkWgAAAAAlLRv1AnaXZz3rWX1sbGzUywAAAACmuPnmm+/rvS+fOr7HRIuxsbFs2LBh1MsAAAAApmitfXe6cZeHAAAAACWJFgAAAEBJogUAAABQ0h5zTwsAAAD2HI8++mi2bNmSRx55ZNRLYZJ99903K1asyN577z2j+aIFAAAAS86WLVuy3377ZWxsLK21US+HJL333H///dmyZUsOPfTQGb3H5SEAAAAsOY888kgOPPBAwaKQ1loOPPDAWe1+ES0AAABYkgSLemb7MxEtAAAAgJLc0wIAAIAlb2x8/bweb/Pa1Tt+ffPm/Nqv/VpuvfXWXTrP0572tPzkJz+Z0dwHH3wwV1xxRc4999xdOueuuuCCC/LOd75zXo5lpwUAAAAsAQ8++GA+/OEPj3oZueCCC+btWKIFAAAALIDHHnssr3/96/OCF7wgZ5xxRh5++OGMjY3lvvvuS5Js2LAhJ5xwQpLkJz/5Sc4666wceeSROeqoo/KpT33qSce677778tKXvjTr10/sGHnf+96XX/7lX85RRx2V888/P0kyPj6eb3/72zn66KPztre9bbvruvDCC3PkkUfmhS98YcbHx5MkGzduzHHHHZejjjoqr3rVq/LAAw8kSU444YRs2LDhiTWMjY0lSS699NK8+tWvzqpVq3LYYYflD/7gD55Ywz/90z/l6KOPzutf//pd/h66PAQAAAAWwB133JFLLrkkxx9/fN74xjfucBfEu9/97uy///655ZZbkuSJaJAkd999d0477bS85z3vyUknnZTrr78+d955Z77yla+k957TTjstN954Y9auXZtbb701Gzdu3O55rr322lx99dW56aab8tSnPjVbt25Nkpx55pn5y7/8y7z85S/PH//xH+dd73pXPvCBD+zw69u4cWO+/vWvZ5999snzn//8/PZv/3bWrl2bD33oQztcw2zYaQEAAAAL4JBDDsnxxx+fJPmN3/iNfPGLX9zu3M9+9rM577zznvj8gAMOSJI8+uijOfHEE/Pe9743J510UpLk+uuvz/XXX58XvehFOeaYY3L77bfnzjvvnNGaPvvZz+ass87KU5/61CTJM5/5zDz00EN58MEH8/KXvzxJsmbNmtx44407PdaJJ56Y/fffP/vuu28OP/zwfPe7353RGmbDTgsAAABYAFMf79lay7Jly/Kzn/0sSfLII4/s9BjLli3Li1/84lx33XVPRIXee97xjnfkzW9+85Pmbt68eX4WPuX821vvPvvs88THe+21Vx577LF5P7+dFgAAALAAvve97+VLX/pSkuSKK67Iy172soyNjeXmm29Okifdt+Kkk07KRRdd9MTnj18e0lrLunXrcvvtt+fCCy9MkrziFa/IunXrnniqyF133ZV77rkn++23X3784x/vcE0nnXRSPvrRj+bhhx9OkmzdujX7779/DjjggPzDP/xDkuRjH/vYE4Fk8nqvuuqqGX3de++9dx599NEZzd0ZOy0AAABY8nb2iNKF8PznPz8XXXRR3vjGN+bwww/Pb/3Wb+XYY4/N2WefnT/6oz964iacSfKHf/iHOe+883LEEUdkr732yvnnn59Xv/rVSSZ2MXziE5/Iaaedlv322y/nnntubrvttrz0pS9NMvFY1L/+67/O8573vBx//PE54ogjcsopp+R973vfNmtatWpVNm7cmJUrV+YpT3lKTj311FxwwQW57LLL8pu/+Zt5+OGH89znPjcf/ehHkyRvfetb85rXvCYXX3xxVq+e2ffwnHPOyVFHHZVjjjkmH//4x3fpe9h677t0gMVi5cqV/fE7ngIAALC03XbbbXnBC14w6mUwjel+Nq21m3vvK6fOdXkIAAAAUJLLQwAAAGCJueWWW/KGN7zhSWP77LNPbrrpphGtaG5ECwAAAFhijjzyyGzcuHHUy9hlLg8BAABgSdpT7uG4mMz2ZyJaAAAAsOTsu+++uf/++4WLQnrvuf/+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\n",
"text/plain": "<Figure size 1296x864 with 1 Axes>"
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "make_histo(offset=0, *prep_data(json.loads(df_started_180_days_at_least_2_day._col0[0])))",
"execution_count": 24,
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABC0AAALZCAYAAACTX9s+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdf7Cld30f9vcHLRAbGxBGxqqEvdiW0wjXJlgDpE5S28wIwU4j7BIX2oCGUssZg4MnHod1ph0SO0nX7th0SDATpagWHjsK/lXUrKiiIcZOp0VmZRN+BmuLlyANBhlhSOtpXPC3f9xH9dX13T3PvfvsOZ9z9/WaOXPP/Z7v+X4/5znPee6e9z4/aowRAAAAgG4et+kCAAAAAPYjtAAAAABaEloAAAAALQktAAAAgJaEFgAAAEBLQgsAAACgpWObLmBdnv70p4/jx49vugwAAABgj/vvv//3xxhX7W2/bEKL48eP58yZM5suAwAAANijqj6xX7vDQwAAAICWhBYAAABAS0ILAAAAoCWhBQAAANCS0AIAAABoSWgBAAAAtCS0AAAAAFoSWgAAAAAtCS0AAACAloQWAAAAQEtCCwAAAKAloQUAAADQktACAAAAaEloAQAAALQktAAAAABaEloAAAAALQktAAAAgJaEFgAAAEBLQgsAAACgJaEFAAAA0JLQAgAAAGhJaAEAAAC0JLQAAAAAWhJaAAAAAC0JLQAAAICWhBYAAABAS0ILAAAAoCWhBQAAANCS0AIAAABo6dimC+BoOn7y9Mo+506dWEMlAAAAbCt7WgAAAAAtCS0AAACAloQWAAAAQEtCCwAAAKAloQUAAADQktACAAAAaGllaFFVz6yqX6uqj1TVh6vq9VP736mqh6rq/dPtJbue86NVdbaqPlZVL9rVftPUdraqTu5qf1ZV3Te1/7OqesLU/sTp97PT48dXzQEAAAAcDXP2tPhikh8eY1yf5AVJXltV10+PvWmM8ZzpdneSTI+9PMmzk9yU5Geq6oqquiLJW5K8OMn1SV6xa5yfmMb6xiSfS/Kaqf01ST43tb9p6nfeOQ69FAAAAIB2VoYWY4xPjTF+a7r/75J8NMk1F3jKzUnuHGP8+zHG7yY5m+R50+3sGOPjY4w/SnJnkpurqpJ8V5Jfmp5/R5KX7hrrjun+LyV54dT/fHMAAAAAR8SBzmkxHZ7x55PcNzW9rqo+UFW3V9WVU9s1ST6562kPTm3na/+qJH8wxvjinvbHjDU9/vmp//nG2lvvrVV1pqrOPPzwwwd5qQAAAMCGzQ4tquorkvxykh8aY3whyVuTfEOS5yT5VJKfuiQVXoQxxm1jjBvGGDdcddVVmy4HAAAAOIBZoUVVPT47gcXPjzF+JUnGGJ8eY3xpjPHHSf5J/uTwjIeSPHPX06+d2s7X/tkkT62qY3vaHzPW9PhTpv7nGwsAAAA4IuZcPaSSvC3JR8cYP72r/epd3b47yYem+3clefl05Y9nJbkuyW8meV+S66YrhTwhOyfSvGuMMZL8WpKXTc+/Jck7d411y3T/ZUn+5dT/fHMAAAAAR8Sx1V3y7UlemeSDVfX+qe1vZ+fqH89JMpKcS/L9STLG+HBVvSPJR7Jz5ZHXjjG+lCRV9bok9yS5IsntY4wPT+O9IcmdVfX3kvx2dkKSTD9/rqrOJnkkO0HHBecAAAAAjoba2XHh6LvhhhvGmTNnNl3GZeP4ydMr+5w7dWINlQAAANBdVd0/xrhhb/uBrh4CAAAAsC5CCwAAAKAloQUAAADQktACAAAAaEloAQAAALQktAAAAABaEloAAAAALQktAAAAgJaEFgAAAEBLQgsAAACgJaEFAAAA0JLQAgAAAGhJaAEAAAC0JLQAAAAAWhJaAAAAAC0JLQAAAICWhBYAAABAS0ILAAAAoCWhBQAAANCS0AIAAABoSWgBAAAAtCS0AAAAAFoSWgAAAAAtCS0AAACAloQWAAAAQEtCCwAAAKAloQUAAADQktACAAAAaEloAQAAALQktAAAAABaEloAAAAALQktAAAAgJaEFgAAAEBLQgsAAACgJaEFAAAA0JLQAgAAAGhJaAEAAAC0JLQAAAAAWhJaAAAAAC0JLQAAAICWhBYAAABAS0ILAAAAoCWhBQAAANCS0AIAAABoSWgBAAAAtCS0AAAAAFoSWgAAAAAtCS0AAACAloQWAAAAQEtCCwAAAKAloQUAAADQktACAAAAaEloAQAAALQktAAAAABaEloAAAAALQktAAAAgJaEFgAAAEBLQgsAAACgJaEFAAAA0JLQAgAAAGhJaAEAAAC0JLQAAAAAWhJaAAAAAC0JLQAAAICWhBYAAABAS0ILAAAAoCWhBQAAANCS0AIAAABoSWgBAAAAtCS0AAAAAFoSWgAAAAAtCS0AAACAloQWAAAAQEtCCwAAAKAloQUAAADQktACAAAAaEloAQAAALQktAAAAABaEloAAAAALQktAAAAgJaEFgAAAEBLQgsAAACgJaEFAAAA0JLQAgAAAGhJaAEAAAC0JLQAAAAAWhJaAAAAAC0JLQAAAICWhBYAAABAS0ILAAAAoCWhBQAAANCS0AIAAABoSWgBAAAAtCS0AAAAAFoSWgAAAAAtCS0AAACAloQWAAAAQEtCCwAAAKAloQUAAADQktACAAAAaEloAQAAALQktAAAAABaEloAAAAALQktAAAAgJaEFgAAAEBLQgsAAACgpWObLoCLd/zk6ZV9zp06sYZKAAAAYDn2tAAAAABaEloAAAAALQktAAAAgJaEFgAAAEBLQgsAAACgJaEFAAAA0NLK0KKqnllVv1ZVH6mqD1fV66f2p1XVvVX1wPTzyqm9qurNVXW2qj5QVc/dNdYtU/8HquqWXe3fVlUfnJ7z5qqqw84BAAAAHA1z9rT4YpIfHmNcn+QFSV5bVdcnOZnk3WOM65K8e/o9SV6c5LrpdmuStyY7AUSSNyZ5fpLnJXnjoyHE1Of7dj3vpqn9QHMAAAAAR8fK0GKM8akxxm9N9/9dko8muSbJzUnumLrdkeSl0/2bk7x97HhvkqdW1dVJXpTk3jHGI2OMzyW5N8lN02NPHmO8d4wxkrx9z1gHmQMAAAA4Ig50TouqOp7kzye5L8kzxhifmh76vSTPmO5fk+STu5724NR2ofYH92nPIeYAAAAAjojZoUVVfUWSX07yQ2OML+x+bNpDYixc22McZo6qurWqzlTVmYcffvgSVQYAAABcCrNCi6p6fHYCi58fY/zK1PzpRw/JmH5+Zmp/KMkzdz392qntQu3X7tN+mDkeY4xx2xjjhjHGDVddddWclwoAAAA0MefqIZXkbUk+Osb46V0P3ZXk0SuA3JLknbvaXzVd4eMFST4/HeJxT5Ibq+rK6QScNya5Z3rsC1X1gmmuV+0Z6yBzAAAAAEfEsRl9vj3JK5N8sKreP7X97SSnkryjql6T5BNJvnd67O4kL0lyNskfJnl1kowxHqmqH0/yvqnfj40xHpnu/0CSn03yZUneNd1y0DkAAACAo2NlaDHG+N+S1HkefuE+/UeS155nrNuT3L5P+5kk37xP+2cPOgcAAABwNBzo6iEAAAAA6yK0AAAAAFoSWgAAAAAtCS0AAACAloQWAAAAQEtCCwAAAKAloQUAAADQktACAAAAaEloAQAAALQktAAAAABaEloAAAAALQktAAAAgJaEFgAAAEBLxzZdANvl+MnTmy4BAACAy4Q9LQAAAICWhBYAAABAS0ILAAAAoCWhBQAAANCS0AIAAABoSWgBAAAAtCS0AAAAAFoSWgAAAAAtCS0AAACAloQWAAAAQEtCCwAAAKAloQUAAADQktACAAAAaEloAQAAALQktAAAAABaEloAAAAALQktAAAAgJaEFgAAAEBLQgsAAACgJaEFAAAA0JLQAgAAAGhJaAEAAAC0JLQAAAAAWhJaAAAAAC0d23QBrMfxk6dX9jl36sQaKgEAAIB57GkBAAAAtCS0AAAAAFoSWgAAAAAtCS0AAACAloQWAAAAQEtCCwAAAKAloQUAAADQktACAAAAaEloAQAAALQktAAAAABaEloAAAAALQktAAAAgJaEFgAAAEBLQgsAAACgJaEFAAAA0JLQAgAAAGhJaAEAAAC0JLQAAAAAWhJaAAAAAC0JLQAAAICWhBYAAABAS0ILAAAAoCWhBQAAANCS0AIAAABo6dimC+Dydfzk6ZV9zp06sYZKAAAA6MieFgAAAEBLQgsAAACgJaEFAAAA0JLQAgAAAGhJaAEAAAC0JLQAAAAAWhJaAAAAAC0JLQAAAICWhBYAAABAS0ILAAAAoCWhBQAAANCS0AIAAABoSWgBAAAAtCS0AAAAAFoSWgAAAAAtCS0AAACAloQWAAAAQEtCCwAAAKAloQUAAADQ0rFNFwBHzfGTp2f1O3fqxCWuBAAAYLsJLfj/zf2yDQAAAOvg8BAAAACgJaEFAAAA0JLQAgAAAGhJaAEAAAC0JLQAAAAAWhJaAAAAAC0JLQAAAICWhBYAAABAS0ILAAAAoCWhBQAAANCS0AIAAABoSWgBAAAAtCS0AAAAAFoSWgAAAAAtCS0AAACAloQWAAAAQEtCCwAAAKAloQUAAADQktACAAAAaEloAQAAALQktAAAAABaEloAAAAALQktAAAAgJaEFgAAAEBLQgsAAACgJaEFAAAA0JLQAgAAAGhJaAEAAAC0tDK0qKrbq+ozVfWhXW1/p6oeqqr3T7eX7HrsR6vqbFV9rKpetKv9pqntbFWd3NX+rKq6b2r/Z1X1hKn9idPvZ6fHj6+aAwAAADg65uxp8bNJbtqn/U1jjOdMt7uTpKquT/LyJM+envMzVXVFVV2R5C1JXpzk+iSvmPomyU9MY31jks8lec3U/pokn5va3zT1O+8cB3vZAAAAQHcrQ4sxxm8keWTmeDcnuXOM8e/HGL+b5GyS5023s2OMj48x/ijJnUlurqpK8l1Jfml6/h1JXrprrDum+7+U5IVT//PNAQAAABwhF3NOi9dV1Qemw0eunNquSfLJXX0enNrO1/5VSf5gjPHFPe2PGWt6/PNT//ONBQAAABwhhw0t3prkG5I8J8mnkvzUYhUtqKpuraozVXXm4Ycf3nQ5AAAAwAEcKrQYY3x6jPGlMcYfJ/kn+ZPDMx5K8sxdXa+d2s7X/tkkT62qY3vaHzPW9PhTpv7nG2u/Om8bY9wwxrjhqquuOsxLBQAAADbkUKFFVV2969fvTvLolUXuSvLy6cofz0pyXZLfTPK+JNdNVwp5QnZOpHnXGGMk+bUkL5uef0uSd+4a65bp/suS/Mup//nmAAAAAI6QY6s6VNU/TfIdSZ5eVQ8meWOS76iq5yQZSc4l+f4kGWN8uKrekeQjSb6Y5LVjjC9N47wuyT1Jrkhy+xjjw9MUb0hyZ1X9vSS/neRtU/vbkvxcVZ3NzolAX75qDgAAAODoWBlajDFesU/z2/Zpe7T/30/y9/dpvzvJ3fu0fzz7XP1jjPH/JPmrB5kDAAAAODou5uohAAAAAJeM0AIAAABoSWgBAAAAtCS0AAAAAFoSWgAAAAAtCS0AAACAllZe8hTgII6fPL2yz7lTJ9ZQCQAAsO3saQEAAAC0JLQAAAAAWhJaAAAAAC0JLQAAAICWhBYAAABAS0ILAAAAoCWhBQAAANCS0AIAAABoSWgBAAAAtCS0AAAAAFoSWgAAAAAtCS0AAACAloQWAAAAQEtCCwAAAKAloQUAAADQktACAAAAaEloAQAAALQktAAAAABaEloAAAAALQktAAAAgJaObboALuz4ydObLgEAAAA2wp4WAAAAQEtCCwAAAKAloQUAAADQktACAAAAaEloAQAAALQktAAAAABaEloAAAAALQktAAAAgJaEFgAAAEBLQgsAAACgJaEFAAAA0JLQAgAAAGhJaAEAAAC0dGzTBcCFHD95emWfc6dOrKESAAAA1s2eFgAAAEBLQgsAAACgJaEFAAAA0JLQAgAAAGhJaAEAAAC0JLQAAAAAWhJaAAAAAC0JLQAAAICWhBYAAABAS0ILAAAAoCWhBQAAANCS0AIAAABoSWgBAAAAtCS0AAAAAFoSWgAAAAAtCS0AAACAloQWAAAAQEtCCwAAAKClY5suALbJ8ZOnN10CAADAZUNowdabEyScO3ViDZUAAACwJIeHAAAAAC0JLQAAAICWhBYAAABAS0ILAAAAoCWhBQAAANCSq4cALMjVbAAAYDn2tAAAAABaEloAAAAALQktAAAAgJaEFgAAAEBLQgsAAACgJaEFAAAA0JLQAgAAAGhJaAEAAAC0JLQAAAAAWhJaAAAAAC0JLQAAAICWhBYAAABAS0ILAAAAoCWhBQAAANCS0AIAAABoSWgBAAAAtHRs0wXA5er4ydMr+5w7dWINlQAAAPRkTwsAAACgJaEFAAAA0JLQAgAAAGhJaAEAAAC0JLQAAAAAWhJaAAAAAC0JLQAAAICWhBYAAABAS8c2XQCsw/GTp1f2OXfqxBoqAQAAYC57WgAAAAAtCS0AAACAloQWAAAAQEtCCwAAAKAloQUAAADQkquHALAYV+oBAGBJ9rQAAAAAWhJaAAAAAC0JLQAAAICWhBYAAABAS0ILAAAAoCWhBQAAANCS0AIAAABoSWgBAAAAtCS0AAAAAFoSWgAAAAAtCS0AAACAlo5tugBgexw/eXrTJQAAAJcRe1oAAAAALa0MLarq9qr6TFV9aFfb06rq3qp6YPp55dReVfXmqjpbVR+oqufues4tU/8HquqWXe3fVlUfnJ7z5qqqw84BAAAAHB1z9rT42SQ37Wk7meTdY4zrkrx7+j1JXpzkuul2a5K3JjsBRJI3Jnl+kucleeOjIcTU5/t2Pe+mw8wBAAAAHC0rz2kxxviNqjq+p/nmJN8x3b8jyXuSvGFqf/sYYyR5b1U9taqunvreO8Z4JEmq6t4kN1XVe5I8eYzx3qn97UlemuRdB51jjPGpg710eCznawAAAOjlsCfifMaukOD3kjxjun9Nkk/u6vfg1Hah9gf3aT/MHEIL2BJzA6Jzp05c4koAAIDOLvpEnNMeD2OBWhafo6puraozVXXm4YcfvgSVAQAAAJfKYUOLT0+HfWT6+Zmp/aEkz9zV79qp7ULt1+7Tfpg5/pQxxm1jjBvGGDdcddVVB3qBAAAAwGYdNrS4K8mjVwC5Jck7d7W/arrCxwuSfH46xOOeJDdW1ZXTCThvTHLP9NgXquoF01VDXrVnrIPMAQAAABwhK89pUVX/NDsnxHx6VT2YnauAnEryjqp6TZJPJPneqfvdSV6S5GySP0zy6iQZYzxSVT+e5H1Tvx979KScSX4gO1co+bLsnIDzXVP7geYAAAAAjpY5Vw95xXkeeuE+fUeS155nnNuT3L5P+5kk37xP+2cPOgcAAABwdFz0iTgBAAAALgWhBQAAANCS0AIAAABoSWgBAAAAtCS0AAAAAFoSWgAAAAAtCS0AAACAloQWAAAAQEtCCwAAAKAloQUAAADQktACAAAAaEloAQAAALQktAAAAABaOrbpAgDgqDh+8vTKPudOnVhDJQAAR4PQAhrzBQgAALicOTwEAAAAaMmeFrDl7I0BAAAcVfa0AAAAAFoSWgAAAAAtCS0AAACAloQWAAAAQEtCCwAAAKAloQUAAADQktACAAAAaEloAQAAALQktAAAAABaEloAAAAALQktAAAAgJaObboAgG1x/OTpTZcAAACXFXtaAAAAAC0JLQAAAICWhBYAAABAS0ILAAAAoCWhBQAAANCSq4fAZWDOVS/OnTqxhkpI5l+FxHsCAMDlzp4WAAAAQEtCCwAAAKAloQUAAADQktACAAAAaMmJOAGARTjpLwCwNHtaAAAAAC0JLQAAAICWhBYAAABAS0ILAAAAoCWhBQAAANCS0AIAAABoSWgBAAAAtCS0AAAAAFoSWgAAAAAtHdt0AUAPx0+e3nQJAAAAjyG0ALbanLDl3KkTa6gEAABYmtACaMveHwAAcHlzTgsAAACgJXtaADCLPV8AAFg3e1oAAAAALQktAAAAgJYcHgLAWrniCwAAc9nTAgAAAGhJaAEAAAC0JLQAAAAAWhJaAAAAAC0JLQAAAICWhBYAAABASy55CgCwgkv1AsBm2NMCAAAAaEloAQAAALTk8BDgyLNbNwAAbCd7WgAAAAAtCS0AAACAloQWAAAAQEtCCwAAAKAloQUAAADQktACAAAAaMklTwG2mMu5AgBwlAktAACOoDmhZiLYBKA3oQVA5v/jHqAD2ywALhfOaQEAAAC0JLQAAAAAWhJaAAAAAC05pwVAU45Z78X7AQCwfva0AAAAAFoSWgAAAAAtCS0AAACAlpzTAgDWaM65Mc6dOrGGSgAA+rOnBQAAANCS0AIAAABoSWgBAAAAtOScFgAAbBXnhgG4fNjTAgAAAGhJaAEAAAC0JLQAAAAAWhJaAAAAAC0JLQAAAICWhBYAAABASy55CnDEuTQgAADbSmgBwNYSyAAAHG1CCwDgyBJsAcB2c04LAAAAoCWhBQAAANCS0AIAAABoSWgBAAAAtOREnAAAa+LEoABwMEILAGClOV+2AQCWJrQAAC5rAhkA6EtoAQCsjcMjAICDcCJOAAAAoCWhBQAAANCSw0MAAGANHB4FcHBCCwDanYiwWz0AAGyG0AIAYAHCNgBYntACALbQ3C/IdjUHALaZ0AKAI80x5AAA28vVQwAAAICWLiq0qKpzVfXBqnp/VZ2Z2p5WVfdW1QPTzyun9qqqN1fV2ar6QFU9d9c4t0z9H6iqW3a1f9s0/tnpuXWhOQAAAICjY4nDQ75zjPH7u34/meTdY4xTVXVy+v0NSV6c5Lrp9vwkb03y/Kp6WpI3JrkhyUhyf1XdNcb43NTn+5Lcl+TuJDcledcF5gAA2GpO6AkAf+JSHB5yc5I7pvt3JHnprva3jx3vTfLUqro6yYuS3DvGeGQKKu5NctP02JPHGO8dY4wkb98z1n5zAAAAAEfExYYWI8m/qKr7q+rWqe0ZY4xPTfd/L8kzpvvXJPnkruc+OLVdqP3BfdovNAcAAABwRFzs4SF/cYzxUFV9dZJ7q+rf7H5wjDGqalzkHBd0oTmmIOXWJPnar/3aS1kGAAAcSa7CBGzSRe1pMcZ4aPr5mSS/muR5ST49HdqR6ednpu4PJXnmrqdfO7VdqP3afdpzgTn21nfbGOOGMcYNV1111WFfJgAAALABhw4tqupJVfWVj95PcmOSDyW5K8mjVwC5Jck7p/t3JXnVdBWRFyT5/HSIxz1JbqyqK6ergNyY5J7psS9U1Qumq4a8as9Y+80BAAAAHBEXc3jIM5L86nQV0mNJfmGM8b9W1fuSvKOqXpPkE0m+d+p/d5KXJDmb5A+TvDpJxhiPVNWPJ3nf1O/HxhiPTPd/IMnPJvmy7Fw15F1T+6nzzAEAAA5pADgiDh1ajDE+nuRb92n/bJIX7tM+krz2PGPdnuT2fdrPJPnmuXMAAAAAR8fFnogTAGDt5vwvOgCw/S72kqcAAAAAl4TQAgAAAGhJaAEAAAC05JwWANCM8zUAAOywpwUAAADQktACAAAAaMnhIQBc9hyOAX34PAKwm9ACAOAyNickOHfqxBoqAYA/TWgBAEeYL6QAwDZzTgsAAACgJaEFAAAA0JLDQwAAgK3hsDe4vNjTAgAAAGhJaAEAAAC0JLQAAAAAWnJOCwAALktzzo2QOD8CwCbZ0wIAAABoSWgBAAAAtCS0AAAAAFpyTgsAoJW55xkAAI4+e1oAAAAALdnTAgAAYB+uMAObZ08LAAAAoCWhBQAAANCS0AIAAABoSWgBAAAAtOREnAAArIXL2QJwUEILAAC4SAIZgEtDaAEAAHAR5oRWLosKh+OcFgAAAEBLQgsAAACgJYeHAADAZch5OIBtILQAAAAuinM6AJeK0AIAAJrw5Z9VrCNcbpzTAgAAAGhJaAEAAAC05PAQALjMORkf0IXtEbCX0AIAgIvmyyYAl4LDQwAAAICW7GkBAAAcKa6wAUeHPS0AAACAluxpAQDABV3u56u43F8/wCbZ0wIAAABoyZ4WAADAJWePFeAw7GkBAAAAtGRPCwAA4LJjzw/YDkILAAA4YnwhB44KoQUAAGwRgQRwOXFOCwAAAKAloQUAAADQksNDAAAAjpA5hxCdO3ViDZXAxRNaAAAANNDtfCVz6xGAcCk5PAQAAABoyZ4WAAAAl1i3vShgW9jTAgAAAGhJaAEAAAC0JLQAAAAAWhJaAAAAAC0JLQAAAICWhBYAAABAS0ILAAAAoCWhBQAAANDSsU0XAAAAwHodP3l60yXALPa0AAAAAFoSWgAAAAAtCS0AAACAloQWAAAAQEtCCwAAAKAloQUAAADQkkueAgAAsHFzLsN67tSJNVRCJ/a0AAAAAFqypwUAAACXFXt1bA97WgAAAAAt2dMCAACAQ7PXApeS0AIAAICtICC5/Dg8BAAAAGjJnhYAAAAcGXP2xmB72NMCAAAAaMmeFgAAAFxS9n7gsOxpAQAAALQktAAAAABaEloAAAAALQktAAAAgJaciBMAAAAuoTknIj136sQaKtk+9rQAAAAAWhJaAAAAAC0JLQAAAICWhBYAAABAS0ILAAAAoCWhBQAAANCS0AIAAABo6dimCwAAAIBujp88vbLPuVMn1lDJ5c2eFgAAAEBLQgsAAACgJaEFAAAA0JLQAgAAAGjJiTgBAADgEOacrJOLY08LAAAAoCV7WgAAAMAWuBwvw2pPCwAAAKAloQUAAADQktACAAAAaEloAQAAALTkRJwAAACwYS6fuj97WgAAAAAtCS0AAACAloQWAAAAQEtCCwAAAKAloQUAAADQktACAAAAaEloAQAAALQktAAAAABaEloAAAAALW11aFFVN1XVx6rqbFWd3HQ9AAAAwHK2NrSoqiuSvCXJi5Ncn+QVVXX9ZqsCAAAAlrK1oUWS5yU5O8b4+Bjjj5LcmeTmDdcEAAAALOTYpgu4CNck+eSu3x9M8vzdHarq1iS3Tr/+X1X1sTXVtqSnJ/n9NfVZ93xHue6ONW1r3R1r2ta6O9a0rXV3rGlb6+5Y07bW3bGmba27Y03bWjA3HKsAACAASURBVHfHmra17o41bWvdHWtarO76idljdfN1+7aOMbbyluRlSf7HXb+/Msk/2nRdl+B1nllXn3XPd5Tr7ljTttbdsaZtrbtjTdtad8eatrXujjVta90da9rWujvWtK11d6xpW+vuWNO21t2xpnXXvU23bT485KEkz9z1+7VTGwAAAHAEbHNo8b4k11XVs6rqCUlenuSuDdcEAAAALGRrz2kxxvhiVb0uyT1Jrkhy+xjjwxsu61K4bY191j3fUa573fMd5brXPd9Rrnvd8x3lutc931Gue93zHeW61z3fUa573fMd5brXPd9Rrnvd8x3lutc9X8e6t0ZNx7wAAAAAtLLNh4cAAAAAR5jQAgAAAGhJaNFYVV1ZVd+yxvkeV1VPXkefi62nqp5UVY+b7n9TVf2Vqnr8xc55MXOts6Y5lqxn3a9tznzdlvelqul824FLtV7O2e5cTE3rrnvJ138p1stLvbznWmqsjp/LOba17rm29fV1/Fuwzvk6fsb3jHlR28tN1b0O21o3tLXpa666PfaW5D1JnpzkaUl+N8l9SX56T5+fnPo8Psm7kzyc5K8dtM/U7xemfk9K8pEkDyb5kUvUZ07dK8eZ+t2f5MuTXJPkXJJfTPLze/p8Q5InTve/I8nfSPLUQ/RZOdcGalqy7kXGWqruA8zXankvXNN7sno7sOR6OWe+RWraQN2LjLPwerm25b2Bz/iSNX17kidN9/9akp9O8nWH6NOx7iW3O3Pm67i9XKruRV7bwjWte71c5zrwniy3vVzntmnlMlr4Mz6n7r+a5Cun+/9Nkl9J8txDvr8rx5rZ5/XT+1tJ3pbkt5LceNA+B5hvzneDOTXNXZaLfIea+doW+Ru25Hu3zbeNF+C25w1Jfnv6+V8n+bvT/Q/s6fP+6ed3TyvlU5L864P22dPvv0zyU9MH9HzzLdVnTt3nHWd6/Lemnz+Y5G/tfu7usbJzhZxvTPI7Sf77JHcfos/KuTZQ05J1LzLWUnUfYL5Wy3vhmuZsB5ZcL+fMt0hNG6h7kXEWXi/Xtrw38BlfsqYPZOcfX9+a5LeTvDbJrx+iT8e6l9zuzJmv4/ZyqboXeW0L17Tu9XKd68CS28t1bptWLqOFP+Oz1pPp51/MThh0Isl9h3x/V441s8+/nn6+KDtfjJ/96Gs5SJ8DzDfnu8GcmuYuy0W+Q81d3nPet1V9lnzvtvnm8JB+jlXV1Um+N8k/P1+f6eeJJL84xvj8IfskyeOn3dVemuSuMcb/m2Rcoj5zapozTpJUVf2F7IQbp6e2K/b0+eMxxhezs9H5h2OMH0ly9SH6zJlr3TUtWfdSYy1V99z5ui3vJWuasx1Ycr2ctd1ZqKZ1173UOHPH6ra8k/V+xpes6Ytj519gNyf5R2OMtyT5ykP06Vj3ktudOfN13F4uVfdSr23Jmta9Xq5zHVhye7nObdOcZbTkWHPq/tL080SS28YYp5M8YZ+a5sw3Z6w5fWr6+ZIkPzfG+PCutoP0mTvfnO8Gc+abuyyX+g41Z76l/obNnW/u+7KdDppyuF3aW3Z2//lAkp+Zfv/6JL+8p8+pJP8mO4nc45NclT+dtq3sM/X7G0keSnJ3dlbsr0vyry5Rnzl1rxxn6veXk9yV5A27ltOb9/S5L8krknwoybOmtg8dos/KuTZQ05J1LzLWUnUfYL5Wy3vhmuZsB5ZcL+fMt0hNG6h7kXEWXi/Xtrw38BlfsqZfT/Kj2fnfzq/Jznm4PniIPh3rXnK7M2e+jtvLpepe5LUtXNO618t1rgNLbi/XuW1auYwW/ozPqfufJ/nHST6e5KlJnpj994qeM9/KsWb2+Z+S/IskD2Tn8JavTHL/QfscYL453w3m1DR3WS7yHWrma1vkb9iS79023zZegNueNyT5qpn9npbkiun+k5J8zSH7XLHn90py7FL0mVPTAcb5j2Yso+uTvDnJK6bfn5Xpj8cB+6ycawM1LVn3ImMtVfcB5mu1vBeuaeV2YOH1cs58i9S0gboXGWfJ17fO5T31W+dnfMmavibJ30zyl6bfvzbJqw7Rp2PdS2535szXcXu5VN2LvLaFa1r3ernOdWDJ7eU6t00rl9GSY82s+8uTfE+S66bfr87+54aYM9/KsWb2eVyS52Y6j0eSr0ryLQftc8DXt+q7wZyaZs01Z76ZNc1Zlov8DVvyvdvm28YLcNvzhuykY7+YnV176jx97k/yA0muvMA4K/tM/T6enRPO/Lk19JlT98pxpn7/KslvTuM95Tx9/tMkj1sxzpw+K+faQE1L1r3IWEvVfYD5Wi3vhWuasx1Ycr2cM98iNW2g7kXGWXi9XNvyPsA6t9S6u2RNP5jVf8Pm9OlY95LbnTnzddxeLlX3Iq9t4ZrWvV6ucx1Ycnu5zm3TymW05Fgz6/6pJM9eaL1cOdbMPr+cnUMQzrsM5vQ5wHxzvhvMqWnuslzkO9TM17bI37Al37ttvjmnRT/flOS2JK9M8kBV/YOq+qY9ff7z7JyN+H1VdWdVvaiq9h6zNKdPsnPilweSvK2q3ltVt9afvszoUn3m1DRnnIwx/lJ2zrL7zCT3V9UvVNWN+8z3QFX9ZFX9h/u89ll9Zs611pqWrHvBsZZ6bbPm67a8F65p5XZg4fVyznZnkZrWXfeCr3/J17e25T1Z22d8yZqSPCM7fy/eUVU3nedv2Jw+HetebLszZ76O28ul6l7wtS1W05xx5tR0gPVynevAYtvLBZfBUp/LxcaaWfdHk9xWVfdV1V+vqqdcRO1zxprT561J/ovsLINTVfVnD9ln7nxzvhvMmW/uslzqO9Sc+Zb6GzZ3vrnvy3badGridv5bku/Mzvkd/iA7xzz9hT2PPy7JX5n6/NskfzfJ0w7aZ1ff/2Tq938nuSPJN16KPnNrmjnXFUn+s6nfR7NzDNr37Hr8yUm+P8l7k/wfSW7NdMmgg/SZM9e6a1qy7qXGWrLuA9TeankvVdMBtgOLrJdz51uqpnXXvfDrX/L1rWt5r+0zvmRN2TlE8EVJ7kxyNsk/SPINh+jTse4lt/Mr5+u4vVyq7oXX3aWW5brXy7WtA0tuL5daBjPXy7nLaMmx5rx3fzY751H4RJJfSPKdF7FezhlrTp+nJPnrST6Z5H9P8uokjz9onwPMN+c7zZyaVs51gPnm9LngfHPet7nv7ZLv3TbeNl6A2543ZOf4o9cnOZOdsw1/T3bOYntDkt/d1e9bkrwpyceyc+zd85P8cHZdTmlmnyumD+SvZueEM38zO6nfy5L8zpJ95tR0iHF+J8lbMl2rOMl/kOQT+yzTH8rOdbLflZ09OX5wbp+5c62zpiXrXnqsJV7bnPm6Le8la8qM7cDcuWYuyznzLVLTBupeZJwlX986l/e6P+NL1rSrz7cm+R+y84/9t2bnb8NPHqJPx7oX2Tatmm+p97dj3Uu/toWX5brXy0u+DmTB7eU6t00HeU+WGGtu3dn5d+/NSf7n7ByW8IYk/0uSOw/y/s4da2af3e/xXdnZ8+AfJnnPQfocYL4531fm1DRrWc6cb+53qDnzLfU3bJH3bltvGy/Abc8bsrNx+2+TXLvPY4+egfj+JO/Ozi5AT9zT51fm9pnufzw71yD+j/eZ780L95lT98pxpvu/np1dE79sn36vnH4+Gn58MMmPJPnqqf3Lk5w7QJ+Vc22gpiXrXmSspeo+wHytlvfCNc3ZDiy5Xs6Zb5GaNlD3IuMsvF6ubXlv4DO+ZE2vz87fjXuyc8WCx0/tj0vyfx6gT8e6l9zuzJmv4/ZyqboXeW0L17Tu9XKd68CS28t1bptWLqOFP+Nz6n5TdsKQf5zkeXv6fOyA7+/KsWb2+dUkH8nOFS2u3tPnzNw+B5hvzneDOTXNXZaLfIea+doW+Ru25Hu3zbeNF+C25w25wEmNdvX5+iX6TP2+Yo195tS9cpwDLMs7kvzl8zz2wrl9Fn5/F6lpybqXGsvyXrSmlduBhZfTnO3OWmtaqu51jtN1ea/zM77kWNnZFffrztPnzx2gT8e6F9vuzJlvwdfWru6lXtvCy3Ld6+U614Gt3DbNXUZLjjWj7lcnedJ5HnvKrvtz1qeVY83ss+/hFHv6ruxzgPnmfDeYU9PcZbnId6iZr22Rv2FLvnfbfKvpRdJEVV2V5G8leXaSP/No+xjju/b0O7FPnx87RJ8/k+Q1+/T7r5buM6emA4xzXZL/LjuXptrd7+uzsLlzrbOmOZasZ92vbc583Zb3kjXN2Q4suV7OnG+RmjZQ9yLjLPn61rm851pw3V38c1lVX71nrH97mD4r5thI3Uu60Hwdt5ePuti61/3eHWS+da+X61gHltxezpxv0fd3yc/lEsu7qq5Mct2ePr9xmNrnjDWzzzfvU/fbD9rn/2vvzOP+Kqr7/z5PEgIYCPsmq1KqWBHDqqQlaGsBW8VdccNfUX9u4C5VNNYVqKWlttayRVHABQEXCAYkiIqBQFZiwi5LWVV2UIGc/nHO12dy832ee+6Tyf3eJ53zes3re5fP95zPPTN37p25M3Ma2Iu0VyKcQr7M2IaK2svyDMuVd+NWBt1rUtKqCZiDNdqXYwtRng4cX8F8FTgDW2BlJjaE7bSmGMd9F/gscBPwVrd/0lrCRHjX6nHcz4EXA0uAnYBPA5+pYPYH5gOPAH8EngIeGgOm1tYAOOXknUVXLt4N7HXK35k5ReqBnOUyYi8LpwHwzqInc7lszd8DuMdzcvp7bDjso8AtwEpg2RgwXeSds96J2OtifZmLd5Zry8yp7XLZZhnIWV+2WTfV+ijzPR7hfST2Lnw/MBd4HLh0jPlbqyuImenn7gFmAXcD5zTFNLAXaRtEOEV9maUNFby2LM+wnHk3ntPACZRUyRC4xn+XJMfmVzBLKr9TgJ81xfjxhRXcJGDeWsJEeNfqqfhpafVYsn81sCu2mM0EbGjVF8eAqbU1AE45eWfRlYt3A3ud8ndmTpF6IGe5bGJvjTgNkPca6clcLlvz9xjKXK6ym4PTYmxRsd5z4SBWf3GMYLrIO2e9E7HXxfoyF+8s15aZU9vlss0ykLO+bLNuqvVR5ns8wnsp9kW8txj9s0jWnWtor1ZXA8wQsNj3twYuboppYC/SNohyivgySxsqeG1ZnmE58248pyGKdE2e8N+7ROSlIvJ8YLMK5nH/fUxEtvP/bDsGTGrvAR9SNBXYai1hIpwiegD+ICJDWCzi94rIK7BKZRVR1RuBCar6lKrOAg4eAyZkq2VOOXln05Xr2oL2uubvnJwi9UDOchmxl4tT27xz6cl5fW36G2j1Hs/J6QlV/S0wJCJDqjoXi1DQFNNF3jnrnYi9LtaXuXhnu7aMnNoul22WgZz1ZZt1UyhPMuqK8P69qv4eQEQmq+oKLKRlVSL2IroimMdVdSXwpIhsDNwL7DAGTNie/47apgnYi/oyVxsqYi/bMyxoL5ov41ImDppAkdXkcyIyFQur82UsVvQHKpgficgmwD8DCwAFTh0DBuBksTlSn8RC40wBPrWWMBFOET1gq+1uCByFTSd5ETadJJXHRGQ9YJGInADcBat11EUwEVttc8rJO5euXLyj9rrm75ycIvVAznIZsZeLU9u8c+nJeX1t+hvavcdzcnpARKYAlwNnisi92BDappgu8s5Z70TsdbG+zMU717Xl5NR2uWyzDOSsL9usmyI+yqkrwvsOfy8+H7hYRO4Hbu3DKWIvoiuCudoxp2BRLR4BfjkGTNRepG0QsRf1Za42VMRermdY1F40X8allIU4x7mIyGRgfVV9cE0wbUsbnERkJ6yXcRL2QJ0KfMV70MOYLnLKyTuXruLvfJyKFMkpbd7jOXWJyNOA3wMCvNExZ/pXqSaYLvLOVu9E7GW8ts7xznVtOTkNoFy2VgZySsvvHyEf5dTV8BoOdD0XqeofK+ca2RtNV0PMzsDGqrpkFN61mAb2Im2aCKdaWw3sRTB97eV6ho3l+qL5Mp6kdFp0RETky1hPXl9R1aNE5JWj6VDVcyMYt/fBGtyJGTER3rV6AETkh4zup5eNpqeJRG21ySkiOfm0fW0Re13zN+TzU7AeyFYug/aycBoA7yx6GnDqlL9HOleVjGW3c/dlRMYr76iM1+vr4rOgi+8fberKWV8G7a3LZbffdJoU87sG9mp1BTHTajALIpgGnCJtgwinkC9ztaFy5l1EcuVdTk6DkjI9pDtytf8egIWq+bbvvwb4lW//vf9uBbwQuNT3DwKuAM4NYgA28t8/B/bBpmL0bFyVGRPhFNED8CX/fSWwDfBN338DtlouIrKU0R8Ye0QwEVttc8rJO5eujLwJcu+av7NxIlYPZCuXQXu5OLXNO5eenNfXpr9bvcdzchKRh2swGwcxXeSdrd6J2KOD9WUu3rmuLSenAZTL1soAGevLlt8/Ij7KqSuSd9e4HgF2xCJCCLAJcBuwi3OK2IvoimD+xdWuj62psNgxvbx/QRATvb5I2yBiL+TLoL0IptZermeYb+bKu/Ev2oHVQEsaTsA8YGKy3y8Kxxxg22R/W+DHTTF+/HJgo2R/I+DytYSJ8K7V48evHukYFlpqJ+AET8/1dDxwXBQTsdU2p5y8c+nKzTvq3675OwenhvXAGpfLhvaycBoA7yx6cl5fW/5uWOZyld2cnD4LvBt7DmwMvIvVQwaOiOki74ieJrYa+KmL9eUa8c5ddjNzaqVctlkGmtRNbdUpDfWM6qOcuhqUk1OAQ5P9Q4D/HmP+1uoKYs4Fnpvs/wWrhxetxTSwF2kbRDhFfZmlDRW8tjV6hq2NvBvPaeAESqpkCFwHbJbsbwpcV8Esr+wP9TlWi0nsTU72J/exlwsT4V2rp6cLeEayv0sfXQv7/G/BGDC1tgbAKSfvLLpy8W5gr1P+zswpVA9kLJcRe1k4DYB3Fj2Zy2Vr/m5Q5nKV3ZycFvfBLB4Dpou8c9Y7EXtdrC9z8c5ybZk5tV0u2ywDOevLNuumWh/l1BXkvbSPnn7HIvZqdQUxy/pgljXFNLAXaRtEOEV9maUNFby2LM+wnHk3nlOZHtI9OQ5YKCJzsaE9fwV8uoL5iYj8GDjb918HXDIGDMAZwFUicp7vHwZ8bS1hIpwiesAWR7pMRG7G/LQT8I4KRkTkAFX9he+8kNVXgI5gIrba5pSTdy5duXhH7XXN3zk5ReqBnOUyYi8Xp7Z559KT8/ra9De0e4/n5PSoiLwR+BY2PPYNrL6qegTTRd45652IvS7Wl7l457q2nJzaLpdtloGc9WWbdVPERzl1RXjfKSLHMjyF5I3AnX04RexFdEUwS0Tk1AqmuphjBBO1F2kbROxFfZmrDRWxl+sZFrUXzZfxKYPuNSlp9YTNgXu5p21GwLwC+FdPrxgrxnHTsNBMRwPPX8uYCO9aPY6bDDzP0+Q+5/fC5nX92tMiYFpTTMRW25xy8s6lKyfvBtw75e9cnBrUA1nKZQN7WTgNgHcWPTmvr2V/t3aP5+QE7Ax8H/gNcB8W6m3nMWC6yDtnPV9rL1f+dpF35rKby5dZykCD62+tDETrpjbrlGC5jPoop6463psBJwELsdCa/0YyiqVhearVFcSsj3W4nOfpA1j0jEaYhtc3atsgyClkK2IvyCniy0i+RctSlrwbz6lEDymyzotYPHF09HBFtZgucsrJO5eu4u98nIoUySlt3uOD0NWmrVJfdo93RAqnmHSxzLWpJ7euIkWKrLmUTosiRYoUKVKkSJEiRYoUKVKkSCel33y+IkWKFClSpEiRIkWKFClSpEiRgUtZiHOciohsBqCqv1tDzNbA0333f1T1nrWFiXAK2poKHJzisFBED/TTuSYStdUmp4jk5NP2tUXsdc3fOTmJiAD7VvRcpcmwuJzlMmgvC6cB8M6iJ+f1tenvqGQsu527LyMiIn8F3KOq14nIAVhM++WqesGAqWWRdTlfBn1tIvIFVf34WtK9DYCq3i0iWwJ/iUXpWDYGXa09nxy3Vu6ptenvnLKu1ynriojI5qr620HzKBKTMj2kIyIiz8Vi8D4dmA18TFXv93NXqeq+IrIjFjv6xcAD2GrEGwOXAseo6q8jGNe5J/BVYCr20AHY3v/zblVdkBET4V2rx3m/BZiJxVBOcX8D/JOqnuG4Z2ELRKUP1h+o6vLE56NiGthqjVNO3pl9kOvaau11zd85/SQiLwG+AtxQ0bMrdh/MyVkug/aycBoA7yx6GnDqlL+pERH5G1W9uEG+TMEaPTsATwHXA3NUdWXUR1FONZi3qeqssWBEZBfg+cCvVHWFH/s3rBE2Efgx9pyaDRyIhT78SPL/aH3xdOBKVX0kOX6wql7kz8N7VfX33gA8Alt8+lfAKar6ZM21/clHInIUcJ6q3j4KPpq/GwNbqupNlf/voapLfHtfQFV1vojsjpWHFap6YYKvxfThOB3Lg2uTe642X8Za5kTkDFV9S5/jzwBeyapl/CxVfcjP/3v1L8CbsahnqOpRkTxxXXXPgncCx7iN47Fyci0wHThBVU9z3H5YY/ghEdnA/9MrT19Q1QfH4qcR7pVofRnJu5dh9cfvR/FRrb8jvnTMqHmb4HLc46E6RUQOAl5V4XSqqt5Y4fS3WCS9lNP3VfUiPz8R+Ads4cjtUgxwmqo+UfWt/+96Vd0t2R/CytmrsHztcfqqql7mmKnAPzqfrbBoF/e6reN6nWBj5ZRwma2qh4jIBOBI53ORekQXxxyrqp+L2hKR44AvqepvRGRv4DvASmAS8BZV/WkvD5NrPRHYB7v3PqAjf5Ct+nIz4L1YdI/TgI/jHVfYfdlr342at6P4p2rvvcC3/Np2BU4H9sDCEx+pqktH0zduRDuwGmhJCvBz7OG+CfBhYBnwTD+30H9/iYXdmZD8bwLwemBeFOPHFgH79eGxPx4fOCMmwrtWj+9fB2zSB7cpcL1vf8z1HQO8ydMxvWMNMLW2BsApJ+8sunLxbmCvU/7OzGk5/VeN/lN89wb5G+EUsZeF0wB4Z9GTuVy25u+6BNzWgPdrgauAU4GbgG8AZ2Kh1J6bm1MuDHB+cuzlwC3ALOd6hB9fhjWGNgTuBzb045OwRnST+vIo130+FnXg5cn/F/jvtYmN44FzXNfpwOlNrh94EHsp/hnwbqzToYqP5u+dfi3LgH368J4JzAOuBr6IfXT4JHA58IkoxnFXJdtvd7szgV8kvqzNl+C1/aCSfgg80ttP/nMU1qg/FrgC+E/g81jjf4ZjbsdCCb4FeKun+3rbDfIkUpaW+rVv7ny3Sa5tUaJrGTDRt0/GIgpMd3+e28BPkXslWl9G8u5xLFrCN4BDSd4PEz0Rf0fvy1HzNvM9Hrn+L7p/34TVAf+M3QsLgdckOv8NuBB7X57u6fV+7CTHnA38F/a+vL2n/f3Ytx3zMPCQp4c9PdU77phZWOja6W73M1jH1iXA+xzzY/fTNgnHbfzYnORYhNO0EdJewF2OORU4C3g/cA1wYh9/19rq3VPJ9ly8ngN2A65OdSa2P4eFqv0Afo8EfXkhVr//F3AZ8GVspNRnsE6JUN42sLcswV+ARzsBZgC/qHuujJc0cAIleUYkDXPfPwjrzd4/uTFvGOX/N0QxAdyNLWIivG9Mtq8HpvbBTE10XQ9M6oNZbwyYUW0NiFNO3musKxfvhvY64+/MnG7AX0D7YG6M2mrAKWIvC6cB8M6iJ3O5bM3fvl9tsKUNt0cb8F7C8Iv3FtiwcrAvOVesBU5LRkhLgT80wCxM7F4B7JJcQ69TvdeIWB9rYGzg+xOwr8xN6sulwBTf3hlrvB+dcqnovAYYSvYXR33U04mtTfYS7GvefcBFWKNuowb5uwjY1rf3BVYw/NK7MLm2CVhD7CFgYz++AbAkiumTL/Pxhj3wNLxhEcmX4LUtwBq+M7Av3TOAu3z7wOQ/S/GGs/O/zLd3THywEdbQOAvYzo/dXLEdzZO6spQ2nqrvh6n/0s6CBRXcogZ+itwr0foykncLsU6TtwM/Ae7BRtumeRLxd/S+HDVvM9/jketPG9AT8Yal+yTtLO3b4Yt1itwwGiY9B/w7NkJl6+TcLRXsksp+76PiZJIO81FsXVfHu8LpKaxjc26f9HiVk/vpZOBc57Qwaqt3rzDcwTevguvVO+l9t6iC6d1PEV/2sIJNde97X9blbQN7qe/nj5av4zmVNS06JCIyVT20kqrOFZFXAd/DYvMCXCMiXwG+jvVAgw0reyv2AIhiAGaLyAXYjZDi3oI9YHNiIpwiesB6xxeIyJwEtyPWG/xZ31+JDRG7lVVlWz8XxURstc0pJ+9cunLxjtrrmr9zcjodmC8i32LV++D12Atw1FYUF7GXi1PbvHPpyXl9bfob7MvOm7Avtan05qVHdQn2ZRTgUWxYMKq6xKcV5Oa0NfC32At/FXNFA4wmxyeq6i3O+zci0rvnLhCRn2ENjFOB74jIPKxRe3ny/8j9O6Q+XFxt2uMM4BwR2cl5AdwuIi9S1UuxL7U7ALeKyOaJzoiP3IyuxL4izxGRScAhwBuALwFbEsuXCap6lyu8yoet/0hEdkh8+KSqPgU8JiI3qQ+rV9XHE19GMABDIrIp1rgXVb3PcY+KSG96TCRfIte2N3A08AngI6q6SEQeV9WfsrpMxBpSk4Epzuk29yuq+jDwfhHZCzjT31mqC9pH8iRSllREJqkNbX9pDyAi61dsXptMh1osInur6tUishvQG4If8VPkXonWl5G8U7Uh8qcAp4it3/Fa4DgR2V5Vdwj6O/qMHjVvG+iK3OOR618pIpupre+2HdahgareLyI9PQC/F5F9VHV+hdM+QG9qze9E5DXA93R4ut4Q8Bq8flSburQXcLaInA/8B6vmOcATIvJMVb1JRKYBf/T//kFEethbReSjwNfVp0qIrUV3BMNlIsQJ60R4p6reUOGBiPR0rdc7pjZ17h0i8imss2NKA1tgU5su9GkiF4nItgLgWAAAGelJREFUSVgHyIuwjluArUTkg/g0dhER9ZY/XvaCvuzVcRsBU0RkZy8vmyfXFMnbqL1zRORr2EiO80Tk/cB5fm23sY5IWdOiIyIih2M9yPMqx3cEPqmqbxeR9bB5W+l8uzuwry+necVSi0l0H0L/uXsX5sREOUVsOW5T7GW1uqBUb47YwdhNfQOrPqB3Bd6rNuewFhOx1TannLxz6crJuwH3Tvk7FyfHPZv+98GvmviogS8j9rJwGgDvLHpyXl/L/p6NzX+fS0VE5HJV/auILhE5HtgTe+E+GJitql8Qm7f7M1V9Tk5OInIaMEtVf94Hc5aqHh7EPIV1sgjWWNlJVe/yZ9LVqrqH41+ANaLmicgzsbnRtwHnJC/BkfriUuCDqroo4TIRa+y9UVUniHUEnIE1Uh7EhgQvwqeGqupPGuTbQlV9fhXj5zZU1cd8uy5/rwDerMl6FiKyETYEfrqqThaRK4GDVPUxERlK/DIVmKuq0yIY3/811ggU7OX7AM+XKcDPVXXPBvkSrVO2B/4V+6L/MlXdsXL+aOw95Uqs0+h4VZ0ltgDm93o+T/CCTf94gaq+KTlemyfBsrQjcKdW1jgRkacDz1bVSxLfnuScf4MNr7/d01Gqujjipwb3SrS+HDXvavy0k6reWjk2kr8jvgzlba57PHj9r8PWerse+HPgXap6gXM6SVUPdz3TsCkGG2HvzWAdRQ8C71HVa0RkZ2wqwosYbqRvgo1YOEa9A8r1DWFrLbwGm4K+XXLuRcDXgD9gnTyvV9UrndNHVPWjXo6OwcrAVv7Xe7CRYMerL7If4SQir8ZGOFxHRUTkMFU9X0S+CXxTK2s8iMiRwH+p6qSG1z8DeBc2JWQils/nY8+SJ0RkZoXKV1T1PrFOtRM0WQunxpdvwEYJgZXbd2F13e7YOjInR/K2cs0j2vPzR7idZ2L3cO/ajlf/ID7epXRaFFknxW/u6grX89W+AoUxXeSUk3cuXcXf+TgVKdJFEZFDsReuxTq8EOQQNpz6D6P+uWMiIptgDb9fNvzfqPevN4yfVNW7+/z3AF11EblnM/zifIfrWVn9Xw2f3VT1+ib/GUHP87BpJ9UFACcBr1XVM0Vkcr98FpEtsKklSyOYGh4bYkOgbxkNtyYiIi/FOklWi0AhIs8Bno0Nz18xRv2hPMn9LBAb8bQLXp50hAUDx6B3TPdKQO8M9cUdM+iKPMdDeZvzHg/w3gx4Bja1ZtQoLt5o/hOnfvYdtzmA1kTEEJFtgefr6h8FBdhcVX8Tu4p6iXIab7YSmyP5cgLWzn7SO7b2xPLurgoulLd19v5PiHZgjkpJoyfgHQHM3+XANLCXCxPhXavHcSe3mCchW21yaptP29cWsdc1f+fkBHw6l62gLyP2snAaAO8senJeX5v+jqaMZbdz9+W6zHtdv74uPgu6+P7Rpq6c9WXX/N3VvAva26ZFzLSMnGp15eLdwF4WTl3M3/GSqnPDinRTpB7CPpkwUXu5MBFOET0A/12rSORHOTARW1FcLk45eefSlZF3yF4E07K/s3HCFu1bY1sNcBF7uTi1zTuXnqiurvkbETk5h65ceqK6Mt6/OXm3xinIO2cd3lqeNMC19ixogOvc+0ebZYCM9WXGuqnVcpnR3wuCnCK40+oh2TDvCmBy6srFO2ovC6dIvkXLQMReEDMupEwPKfJ/SkRkW60MzRoLJmBnK1W9t01OOXjn1lX8HZOcuooUiYiI7KWVObOD1BPVlfH+HdFWk/qkLU5NMFF7EWkzT5rgckgOToN49kSlzTKQUzLWTa2Wy/IcL1JkLcugh3qUNJyAZwEvxsMpJccPTrb3ZTi28O7AB4FDa/SeEbA93XW9JDm2H6uGLPsnbPHM4/HwWVjM6h1qdK+HRQH5a98/HFvs6D0k4aWwuX0fxhaVOhH4/z37CWYqcBwWku13wG+xFYiPo08c8jXMj22wRXL+E4uV/mks3NV38PBwjtuskjbHVoXfFNhsDTlsPob/7I0tQPRNbFGfi7GFfeZj8+Ca6GrN31Gfd83fOX2OzUd+JxYxpxfCcbbfC6uFYuvz/5OT7Qmu67PYHO4Ud6z/bgh8FPgIttL5EdiCWidQqYcq/7++sr9Hsj0JONb1fIHhUJnvBbbw7V2xRR0fwBZHe27y/3OxyAmj2X8GtvDZ57AVxE8BrgW+C+zsmCHg/2ExyxdjoQ+/BczI5e/U513zd4MyV+vvoJ5af3cxsQb1CWOsL1q+vtBzrM//tspkf63VqbT/fFprz56xXH8mO2s0XaFaN/mxLPXTOK5TwnmHRUGa5mnroP7aslbFNLkfsAg3z8dCWvd9LtA/NOwWNXrfXdlfD/947vsHAR8CDqngduzxx8LMvhr4iwpGsDbLKz3tl+oeK3fs/WJa1X8RTmPJ32De7gq8Cth9LHk3ntPACZTkGWGN/+uwlV5/Dbw8ObfAf2cC87C40F/EQv58Env5/4Rj+sV1f6S3n+i8Ktl+O7Z6+UzgF9hquwDLGI5pfDK2Eu50x53rxx8E7gR+hq2Qu2WfazsT+LZz+QYWhufN2CrFX0+ufw72cLsCe8H6PPArVm1k/Bj4GMkcLeyl7GPAnICfZ/vvxu7DbwCHVzBf8d+LgPdhKyUvcRs7+LHvJ/iVwC2V9IT/3uyYtONpKjZcawkWf3xrP34cw426vYGbgRux8FsH9sqC++iZo1zjVQyHWLsdeLUffzHwywQ3BQuPtMzz8T6sfB0xCH9Hfd41f0d9HvT32VgDY39ge0/7+7FvO6b64py+QN+R6DrVr/f92NDdE/vUKd8B/gULBfYTrDPxL4F/Br7hmIeBhzw97Omp3vFUn2//C3ZvH4it1n9Grz5JMBcAr/DtGXiMet//H+AcrBHyHWzV9fUq/r4cG6p5DNZZ8SEvJ/8AXOqYWVgDbTpWd30GC/F3CfC+qL+jPu+av/1cbUdR0N+RjqRafyf345gbmjSrwyOdoLX1Seb6uZXGeOKnSJ1a2xgnU53awE+ROjXL86lBecr17Gn7OR6pvyKdrrV1U7R+ImOdkqOuaDvvsEUZ52H39SWeVvixaYmuAxyzDGuIXwzc5HpfkOaPb++ORSS5BbuH9/PjT7qNf2CEOsT/ewl2z/4Re07c4vnX+1B5ELZw8G+wd/adR8j3D1bSh/w/H8Sir4B1RG3q2x/B3v2P9Ws8zo8f4xxWAEf672nuj56elzjn2dhz+FSs3ruRVT/E1nKvlIfpWMSXue7vQxtwqs3fSN46bi7D9eqbPX9PxZ5l74vm3bqQBk6gJM8IK3xTfHtnrGPiaN9fmGAmYF/rHmLVURBLfHsB9jI0A3tIzADu8u0DE3sLk+35eGcD8DQsBBHA8gSzoMJ3UU8P1hv+Er9p7/PK4q3ARo7pcZuIhUaa4PuSnFuaHN8QuMy3d6xwvW4UH17nv9NGSHsBdznme9gL1mFYh873gMnptVbs3tbv+n37Q37N6dfiWyr4tDI/FftCvBPwAeD8ng8SzFyGR9TshoUcwyuhL2EV6VX+/+0qtkbjnZ77Pvald3vsQfJJ4M+ArwNfaNvfUZ93zd9Rnwf9vdpXq0TP9f77FNYYuCVJvf0/JvglyfZErOPxXCwUVo9Tz6cC3M3wlMH03vx3LETj1om+qr/T61+Ef8mo6Lkuwcyv/H9JVRf2ovlm4EKsXpmFv4AE/b2kcnye/07G67aIv6M+75q/fb+2oyjo70jHRq2/fb+2oUm+OjzSYK+tT3LWF2RsjAf9FKlTI43xLHVqAz9F7vEsz6cG5SnXsyfL9ft25LkSqb8ina61dVO0fiJTnRLJ30jetp137pf9+vhufyxCU1pfPBd4AdbYnp5c9y/68L4AH6mAjcy+ondvAn+HfUT8rZeb1wMbpP4F/jz5b++j4tuxUK1g7YXn+ParsfCw+/e57oexj5Wfwj50zsTCkc4EZjrm2gR/dY8L9vzslZNlWBtnc9eZtlWu9e3lJB0Qic5dWPXZU8u94su5DHcwPIPhej7CqTZ/I3nbx0/z8dFrWFup56favFsX0sAJlOQZkbxc+v4U7OF4IkkHQXJ+YQXfwwxhlejFwJ5+7OY+9hZjX1E2J3mZSHVjQ63f5tuzgL19eze80cHqnRmTgJdhXzDv82PXYsPANvUbvPflZn2GHzxLGX6IbMqqLzjpDTsHG16dPjS3xl7mLvH9p7BRKHP7pMdTfyU6PoGNMtmc4Qd0+uD4XAVffZhu7/46EYu5fHPlfFoRVm338m45wyNb5lUwS/vo+Uvsi+3dfm3v8OO/xDqRXoN94TrMjx9Y8eviio1eng4BK9r2dxOfd8nfUZ8H/T3PdQwluCHgdcCVvn8DsOMI9cjtyfaKPuc/5X6/oeob4PRqHZFs7+V5fJTzqfr7Zuyl81UkLwmpHmzk1Newh//HsZfjnYC3AT/ql3fJsc2xKRu9URTXYPXQPtjDvlc37crwQ/wa/GsY9hJweaLvV1F/R33eNX/7dm1HUdDfkY6NWn9XOfWx22to5qrDox3Po9YnjslVP2dpjDfwU22dSvPG+Jjr1AZ+itSpWZ5P0fIUKStBP7X9HI/UX7Wdrn5u1LrJMZHnQZY6JZK/DfK2tbzDnwkj5MmN1Tqhd3/1K2uM8OGn4ucUswHwWs/f3wJnjVCWFlRt98E8BxslflgFvyN2nxzP8BTR6r1yBT6lAqt/eqMu1me48d+royYA97Lqs7qHuQGvdyr616v4spZ75RquGcHfIU51+RvJ2x4OeLpvzwXWT+wvi+bdupAGTqAkzwirdPesHJuI9Wo/5ftXJjd/epNMZfXOg96D9T+ovBj5+V8z3NN+M8NDZacwXDlPxRoZN7ntJxz7U+B5jlk4yjX1uH7A/3cr9qD7CTYHfSnDPa5HY1/CTsGGUPU6S7Zk1QfVplgl2Bs2+zvsRel4hjtDrgX+bAROvQf08tSHfuwIrAf1Vt//DH2GLmINo749l1iHzTzg7srxOxgeInczq87j61WA78Newl6EDYk8CXvI/RPDQ8f7NTAmAAcDs3z/ediXutnYOiknYUPCl5EM+8QeGNMT3j9OzvUaD635eyw+74K/oz4P+ntn7OvEfdgQwBt8+9vALo55D37/9eGWDsP/Jslw1+T4kcATvn3qCP5+JvDzyrEh7P79GXBn5dysSuoNpd0G+Eklz6/EOhoexqZ/fYFk+CLJ/T5K3fJi7GVjOTaE83vYsMh78al1nq+3uQ9vYXiY7JbACSP4+/qqv6M+76i/azuKgv6OdGzU+tv3Iw3NXHV4uON5tPokZ31BpsZ4Az+F6lTqG+NZ6tQGforUqVmeT9HyFCkrQT+t6fW/MPlf5LkSqb9qO12T4yPWTX6+tn4awQeN65RI/kbzts28w0atXIB1kL/Q0+v82H8kutM67LCK3V4D+QGGp4PfR7JuSILp+66Ovee/1bfPxUbqHIBN6zndj09KytLVVEJoYnXHIuDhPvpf7mXo1axep+yBfUA9w9NNXl6uxqfxYM+vs7CRIWdjU3zeiI3s/o5j/hFr2H8MWzPvcN9eCPxjYq+WO/AY1hZZir2j9DpShhJfRjjV5m8kb317hpedz2BtuiuwESsXAx+O5t26kAZOoCTPCLtx+sbSZfgBPXmE81uQfCGpnHspPkQwyGNDkpd1P7YxVgnvRWUhGWC3oN7t8CF0wCZege1bwTzHjz9rDX35anyYVJ9zvRfEE/CFQSvnD2aUHtKg/Q1YfZGgmZXUG062DavOQZ+BNZgWeqV5IfAOhodXfitjmdsDG552P/DzXl5iLwRHFX+vNX8/EPE39gI3sIX+GHkRq22pWfx3QHy3wKeYpddAzeJg67q/CXQUBXTUdmxE/U2soZmlTmFsHc+r1SfJuWp9MRtbByBcXxBr0FR9dH/VR1E/jaG8jNQYH2uduoqPon7KlaI+ipSnSFmJ+Cnn9Xt5yvEcr+107XNuzHUTmeqUXHXFgPLuEOCrWGfDD3370ArmZfRZvBTr6P6obx9YSb2p2VsD7/HtDwf4bOK++hHW4d3TM5XhaRR/TZ8OMMd8YgS9T8PWbVotz7EOn0OwD5cfwhr2myTnJ2JT6V7v2y/EGu4fBZ6W4HbHpgF+2dMxVBaqjHDHOvXT1KvbtwBe2ZDToaPlbyRvKxzfha0L82WsU+ZZyfnavFsXUgl5WmSdERF5m6rO6pKtNjlFZCx8RORZwNOx4b6PJscPVtWL1gLHnr0rVfWRfvYimLYlFycR2RdQVZ0vIrtjL1bLVXV2DWaFql4Y0LUKrmuYNdQ1Jj9VbJ+hqm8Z6XwTXNcwUcmlKyentkREpmNzgq9V1TmD5rOmIiL7YffFQyKyAfYyPw3vvFLVB/v8ZwNsWP617bJdhUMtbxE5ClsU/I6WOB0FnKeqt7dkK8u1ich6WAPrTlW9REQOxxpay7HoIU/k1NO2vS6KiDwDi2KxAzaF5XrgTFV9eKDEihQZx1I6LYqsMyIit6nqjjWY2kZ7EFNrawCccvJ+m6rO8hen92AvCXtii8N+3zELVHWab2fpaIjYGwCnLLwjukRkJvbVYSI29G8/bA7j32DDfj8fwbjOLLraxAyA9w9YVQRbYfxSAFV9mXOqxXUNwwhS7UgYq66Memo7CdYmRkSuUtV9ffvt2H18HjaF44eqelxLnJaq6sV+LNTREGzYL8O+Lj4pIidjw5/PwaZYPU9VXxnUkwWTmfeDwKPYsPKzge+q6n0V/4Ya/xFcLnuRzo+IrQb2zsTqwQ2xUT1TsOHkL8baAW+NdBBE9AzIXr8OgrNU9aHEB7WYXLo8T/4em0p9KDbq6AFsnY93q+plIjIVm9bwcmxEhGLTG7+PRc54wHX1cIcBW/XDrQXMqJxGEhGZraqHjIaJ4ppgRGRj5709cKGqnp1gvqKq7/btFDdbVc+q4jJitsFG66zEplm9DyszK7D3w7tGwLwKuweOVtW7XGdU16ewPBtR17gX7cBwj5JKiiZsrlm/tBT4Q+D/q63vMRImaqtNTjl5B3VFotpEwvXWYhrYa41TZt4Re5EIQbWYnLraxAyAUzTaUi2uaxjH/YCaENhBe1n0OC4SbrtNTG0krQFwqg03HsURiwIW0ZMFk5l3JHpZbVj2KC6XvVy2GuiKRHCLhKav1dO2Pey5ejEWKvMKLLzx57EOsBmOOboOE8U5Zk4NpjYaHiNHCDqGVSMERaIttYmJRuOJRHXJhYlGh4lECMqFiUSuqsXk1jXe08AJlFRSk4Q9uPZk9XlnO+MLQhFotAcxtbYGwCkn74iuSFSbLB0NDey1xikz74i9SISgWkxOXW1iBsApGm2pFtc1jB+LdEhE7GXR0ydfRgq33SamNpLWADjVNtijOGJRwCJ6smAy845EL4s2/iMdElns5bLVQFckglukg6BWT9v2iHUQ1GJy6iIQDY94hKBItKU2MdFoPJGoLrkw0egwkYhTuTCRUNPR6FbZdI33NJEiRcaX/Ahr+C2qnhCRy3xza+BvsYWpVoFgPeNRTMRW25xy8o7oukdE9uzpUtVHROTvgNOx+NJgq3I/4ud/LSIzgHNEZCfXFcVE7bXJKSfviK4/isiGqvoY9iXBMsSGba5sgMmpq01Mq/ZUdSXwryLyXf+9B1Z/LkZwXcO47I19GfwE8BFVXSQij6vqTxvqyqUHYEhENsUaWqI+5F1VHxWRJweAmYqFVhRARWRbteG2U1j1Hm+T07UyPN1vsYjsrapXi8huWBQvGuCOBE4SkWOxxVh/KSK3A7f7uaieXJicvNP8QW2Ngx8APxCRDYcP60rs6/gcEZmETRt7A/AlbMHKKC6XvVy2ovZOw4aST8Du4e+KyM3A/sC3XM+Q2JSNp2GN8anYIrCTsQ4TgnqiuJz2JmKN28nYBwNU9Tb3RRNMLl2nAvNF5EosLOrxACKypV8jwK0i8lFsVMk9fn5rbOHkdNpQBNcmZjnwTlW9oeI3/P6kAS4XZrKIDPl9gNrUz/8BLsfzpwEuF2YosXtGhfpQA0xuXeNb1kZPSEklDTJhD7rpI5w7K4rpIqecvIP2IlFtIuF6azEN7LXGKTPviL3aCEERTE5dbWIGYa9yLhRtKYLrEoaaENhRXTn0EAu33RpmFP6rRNJqmXdtuPEmOMeOFgUsEt48CyYz79roZQTCskdxuezlstXw+kaN4EYgNH1ET9v2sM7UJf7fFQyPztkSj1YRwawFXaNGwyMQRSmKaxkTjcYTieqSCxONDhOJOJULUxu5KoLJrWu8p7IQZ5EiRdZIRGR74ElVvbvPuQNU9RcRTBc55eTdtg+KFKmKiLwU60T7eBf0VHRuiDVKb+kCJiprk5PYgm+7YJ2bd6h//ezz3xAucC21enJhcvIeTURkN1W9Phcuh55cttaCru0AVPVOEdkECxF5m6pelUP/2rInIs8Bno1NvVgxVkxuXUWKFMkrpdOiSJEiRYoUKVKkSJEiRQYsEgxNH8F1DVM4dZP3eJHSaVGkSJEiRYoUKVKkSJEiAxaJh6avxXUNUzh1k/d4kbIQZ5EiRYoUKVKkSJEiRYq0ICKyZKRT2CLpYVzXMIVTN3mvC1I6LYoUKVKkSJEiRYoUKVKkHYlEb4viuoYpnLrJe9xL6bQoUqRIkSJFihQpUqRIkXYkGpo+gusapnDqJu9xL2VNiyJFihQpUqRIkSJFihQpUqRIJ2Vo0ASKFClSpEiRIkWKFClSpEiRIkX6Sem0KFKkSJEiRYoUKVKkSJEiRYp0UkqnRZEiRYoUKVKkSJEiRYoUKVKkk1I6LYoUKVKkSJEiRYoUKVKkSJEinZTSaVGkSJEiRYoUKVKkSJEiRYoU6aSUTosiRYoUKVKkSJEiRYoUKVKkSCflfwGa0NAwVuLmLgAAAABJRU5ErkJggg==\n",
"text/plain": "<Figure size 1296x864 with 1 Axes>"
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
]
},
{
"metadata": {
"heading_collapsed": true
},
"cell_type": "markdown",
"source": "# Pandas/Athena Example"
},
{
"metadata": {
"trusted": true,
"hidden": true
},
"cell_type": "code",
"source": "pd.read_sql(\"select * from match_table_streaming WHERE hash_type = 'sha256_lower' limit 10\", conn)",
"execution_count": 10,
"outputs": [
{
"data": {
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>uuid</th>\n <th>gid</th>\n <th>hash_value</th>\n <th>hash_type</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>03f8fd10-80f9-43fa-93a7-ef281f2d69a6</td>\n <td>CAESEMQ-V2F2x6nWT6UC93PKFQQ</td>\n <td>9e5b0ba9e12efd8943b64b9b64a79fee5c07f89afecd91...</td>\n <td>sha256_lower</td>\n </tr>\n <tr>\n <th>1</th>\n <td>19fec253-fadd-4ecd-919b-c5e52168e138</td>\n <td>CAESENoNtwdN_GngybMiFQ56AiI</td>\n <td>4384c9f788a4416a82587842f5443666a368b34f101c5d...</td>\n <td>sha256_lower</td>\n </tr>\n <tr>\n <th>2</th>\n <td>19fec253-fadd-4ecd-919b-c5e52168e138</td>\n <td>CAESEOnyD_cPAAax48ztPJn5rDM</td>\n <td>4384c9f788a4416a82587842f5443666a368b34f101c5d...</td>\n <td>sha256_lower</td>\n </tr>\n <tr>\n <th>3</th>\n <td>19fec253-fadd-4ecd-919b-c5e52168e138</td>\n <td>CAESEE5_-qt-EU4EstPpFGGpKLc</td>\n <td>4384c9f788a4416a82587842f5443666a368b34f101c5d...</td>\n <td>sha256_lower</td>\n </tr>\n <tr>\n <th>4</th>\n <td>9d308bf9-147b-41f7-a772-95ee30796145</td>\n <td>CAESEJ1k2PHzrw0E2Mlniak5yXs</td>\n <td>59c88feb665ac29d0da9e3d55fd1ec2bc0ea82488593f0...</td>\n <td>sha256_lower</td>\n </tr>\n <tr>\n <th>5</th>\n <td>ae169fa1-a1db-4b19-a535-f8de54ded3e7</td>\n <td>CAESEH2495FsZya7czKhdGtVL4o</td>\n <td>08a48ae87f2f92c5901b873ab811dd19949f53c07d7eff...</td>\n <td>sha256_lower</td>\n </tr>\n <tr>\n <th>6</th>\n <td>7fc2025c-b699-4aa5-ca42-9eb485f3ca50</td>\n <td>CAESEJQWPFgD6rSnFpWF9uJBYnA</td>\n <td>29cbe07adb8d33db6d7f2ec172f38261bce2a8e8d962c9...</td>\n <td>sha256_lower</td>\n </tr>\n <tr>\n <th>7</th>\n <td>7a2153b9-fa16-476c-8104-0ecbb714351d</td>\n <td>CAESEJHSxhWZhUFKKl1NiUlDFEs</td>\n <td>15afa00d578d122f3b937fe59d3571a850465b2d82d405...</td>\n <td>sha256_lower</td>\n </tr>\n <tr>\n <th>8</th>\n <td>19d92277-f668-4ab7-8730-af5ad72adc70</td>\n <td>CAESED_oVDvaQZiIFT_BKb5DHrA</td>\n <td>c57f6562f718bbf079786d2de4d22e1eda8b545690bfd6...</td>\n <td>sha256_lower</td>\n </tr>\n <tr>\n <th>9</th>\n <td>96a22d82-26a8-45f6-c5ea-1c88b6b3d341</td>\n <td>CAESEEyEetVPINlc8FKdtLjXLKA</td>\n <td>6b5e5e1a6b7aac7b7bddafdb36579c11c15f62b6be9742...</td>\n <td>sha256_lower</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " uuid gid \\\n0 03f8fd10-80f9-43fa-93a7-ef281f2d69a6 CAESEMQ-V2F2x6nWT6UC93PKFQQ \n1 19fec253-fadd-4ecd-919b-c5e52168e138 CAESENoNtwdN_GngybMiFQ56AiI \n2 19fec253-fadd-4ecd-919b-c5e52168e138 CAESEOnyD_cPAAax48ztPJn5rDM \n3 19fec253-fadd-4ecd-919b-c5e52168e138 CAESEE5_-qt-EU4EstPpFGGpKLc \n4 9d308bf9-147b-41f7-a772-95ee30796145 CAESEJ1k2PHzrw0E2Mlniak5yXs \n5 ae169fa1-a1db-4b19-a535-f8de54ded3e7 CAESEH2495FsZya7czKhdGtVL4o \n6 7fc2025c-b699-4aa5-ca42-9eb485f3ca50 CAESEJQWPFgD6rSnFpWF9uJBYnA \n7 7a2153b9-fa16-476c-8104-0ecbb714351d CAESEJHSxhWZhUFKKl1NiUlDFEs \n8 19d92277-f668-4ab7-8730-af5ad72adc70 CAESED_oVDvaQZiIFT_BKb5DHrA \n9 96a22d82-26a8-45f6-c5ea-1c88b6b3d341 CAESEEyEetVPINlc8FKdtLjXLKA \n\n hash_value hash_type \n0 9e5b0ba9e12efd8943b64b9b64a79fee5c07f89afecd91... sha256_lower \n1 4384c9f788a4416a82587842f5443666a368b34f101c5d... sha256_lower \n2 4384c9f788a4416a82587842f5443666a368b34f101c5d... sha256_lower \n3 4384c9f788a4416a82587842f5443666a368b34f101c5d... sha256_lower \n4 59c88feb665ac29d0da9e3d55fd1ec2bc0ea82488593f0... sha256_lower \n5 08a48ae87f2f92c5901b873ab811dd19949f53c07d7eff... sha256_lower \n6 29cbe07adb8d33db6d7f2ec172f38261bce2a8e8d962c9... sha256_lower \n7 15afa00d578d122f3b937fe59d3571a850465b2d82d405... sha256_lower \n8 c57f6562f718bbf079786d2de4d22e1eda8b545690bfd6... sha256_lower \n9 6b5e5e1a6b7aac7b7bddafdb36579c11c15f62b6be9742... sha256_lower "
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true,
"hidden": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
},
{
"metadata": {
"heading_collapsed": true
},
"cell_type": "markdown",
"source": "# Number of hashes by GID"
},
{
"metadata": {
"trusted": true,
"hidden": true
},
"cell_type": "code",
"source": "sql = \"\"\"select gid, count(uuid) as uuid_count,\ncount(distinct uuid) as distinct_uuid\n, count(distinct hash_value) as hashes\nfrom match_table_streaming\nWHERE hash_type = 'sha256_lower'\nGROUP BY 1\nlimit 1000\"\"\"\n\ndf = pd.read_sql(sql, conn)\nprint(df.head())",
"execution_count": 7,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": " gid uuid_count distinct_uuid hashes\n0 CAESEGxd8rNCTdCDkTFEsyCcvT4 8 1 8\n1 CAESEHnNctUMuOUqY3R5jFRIMdg 4 1 4\n2 CAESEPeW5IewZe8YMnaJNHmtJVo 2 1 2\n3 CAESECVU56SIkPlf0gBF7R98IzQ 4 1 4\n4 CAESEFKzbbstcaJqIPIvKQflznU 3 1 3\n"
}
]
},
{
"metadata": {
"trusted": true,
"hidden": true
},
"cell_type": "code",
"source": "df",
"execution_count": 8,
"outputs": [
{
"data": {
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>gid</th>\n <th>uuid_count</th>\n <th>distinct_uuid</th>\n <th>hashes</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>CAESEGxd8rNCTdCDkTFEsyCcvT4</td>\n <td>8</td>\n <td>1</td>\n <td>8</td>\n </tr>\n <tr>\n <th>1</th>\n <td>CAESEHnNctUMuOUqY3R5jFRIMdg</td>\n <td>4</td>\n <td>1</td>\n <td>4</td>\n </tr>\n <tr>\n <th>2</th>\n <td>CAESEPeW5IewZe8YMnaJNHmtJVo</td>\n <td>2</td>\n <td>1</td>\n <td>2</td>\n </tr>\n <tr>\n <th>3</th>\n <td>CAESECVU56SIkPlf0gBF7R98IzQ</td>\n <td>4</td>\n <td>1</td>\n <td>4</td>\n </tr>\n <tr>\n <th>4</th>\n <td>CAESEFKzbbstcaJqIPIvKQflznU</td>\n <td>3</td>\n <td>1</td>\n <td>3</td>\n </tr>\n <tr>\n <th>5</th>\n <td>CAESEBrwGFI5LzxR8KLETDHz6Dc</td>\n <td>2</td>\n <td>1</td>\n <td>2</td>\n </tr>\n <tr>\n <th>6</th>\n <td>CAESEEjwKcVxxqVt-5_jE6E8NlA</td>\n <td>4</td>\n <td>1</td>\n <td>4</td>\n </tr>\n <tr>\n <th>7</th>\n <td>CAESEBnxmMiShYSw4JVAB6gu4mM</td>\n <td>1</td>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <th>8</th>\n <td>CAESEL1L-SWjNKZmS0nInOjucQw</td>\n <td>11</td>\n <td>1</td>\n <td>11</td>\n </tr>\n <tr>\n <th>9</th>\n <td>CAESEL3vquEV5r5-TD0wJJPO9zQ</td>\n <td>1</td>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <th>10</th>\n <td>CAESEKYpucradhQJ0aNnjL1y0tw</td>\n <td>3</td>\n <td>1</td>\n <td>3</td>\n </tr>\n <tr>\n <th>11</th>\n <td>CAESEHdymYkG3Sr9OjL3o3Oqg_0</td>\n <td>5</td>\n <td>1</td>\n <td>5</td>\n </tr>\n <tr>\n <th>12</th>\n <td>CAESEJhi-zWONupb8IKh_qP-Ogg</td>\n <td>2</td>\n <td>1</td>\n <td>2</td>\n </tr>\n <tr>\n <th>13</th>\n <td>CAESEFERY1Qu2Q6MaTP_9E81Qjg</td>\n <td>13</td>\n <td>1</td>\n <td>13</td>\n </tr>\n <tr>\n <th>14</th>\n <td>CAESEIkr09AKtRQUcJ3l3_-N0PA</td>\n <td>7</td>\n <td>1</td>\n <td>7</td>\n </tr>\n <tr>\n <th>15</th>\n <td>CAESEIZgjySdKZCzjD1sdWPk4bc</td>\n <td>4</td>\n <td>1</td>\n <td>4</td>\n </tr>\n <tr>\n <th>16</th>\n <td>CAESENxdLO3TQHh7MYx-O0VxIzM</td>\n <td>6</td>\n <td>1</td>\n <td>6</td>\n </tr>\n <tr>\n <th>17</th>\n <td>CAESECP6Xrp2PK9CR09Q1nZ7Hxo</td>\n <td>7</td>\n <td>1</td>\n <td>7</td>\n </tr>\n <tr>\n <th>18</th>\n <td>CAESEJrNf3FRhqBHgXQ_h4Npr6c</td>\n <td>7</td>\n <td>1</td>\n <td>7</td>\n </tr>\n <tr>\n <th>19</th>\n <td>CAESEELGiiM3l0tgaXYcqwYyDfk</td>\n <td>6</td>\n <td>1</td>\n <td>6</td>\n </tr>\n <tr>\n <th>20</th>\n <td>CAESEOIur-a9pywojLvO8NNtiY8</td>\n <td>5</td>\n <td>1</td>\n <td>5</td>\n </tr>\n <tr>\n <th>21</th>\n <td>CAESEBdu6g1Hi_JUEHYvv8HTO_s</td>\n <td>3</td>\n <td>1</td>\n <td>3</td>\n </tr>\n <tr>\n <th>22</th>\n <td>CAESENUYG-XWRzv2J9RjYxIM4sg</td>\n <td>6</td>\n <td>1</td>\n <td>6</td>\n </tr>\n <tr>\n <th>23</th>\n <td>CAESEAGfVFedFCXMNWLrjuQpiMQ</td>\n <td>8</td>\n <td>1</td>\n <td>8</td>\n </tr>\n <tr>\n <th>24</th>\n <td>CAESEAtJ-j9dvfpO3v4AMZdOI5Q</td>\n <td>4</td>\n <td>1</td>\n <td>4</td>\n </tr>\n <tr>\n <th>25</th>\n <td>CAESEBSr9y2EOWoTjr0aLq_TuDM</td>\n <td>3</td>\n <td>1</td>\n <td>3</td>\n </tr>\n <tr>\n <th>26</th>\n <td>CAESELgox9U-4Ne-yK3pK6wP_u4</td>\n <td>6</td>\n <td>1</td>\n <td>6</td>\n </tr>\n <tr>\n <th>27</th>\n <td>CAESEAte4AaOFnLtmZQBIlbT9AQ</td>\n <td>1</td>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <th>28</th>\n <td>CAESEEzpe6gFATYSanRu07PdRGs</td>\n <td>2</td>\n <td>1</td>\n <td>2</td>\n </tr>\n <tr>\n <th>29</th>\n <td>CAESEP8Xiyuq8_BWKkwtKXIfN6w</td>\n <td>4</td>\n <td>1</td>\n <td>4</td>\n </tr>\n <tr>\n <th>...</th>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>970</th>\n <td>CAESEGwC08jm8lBmbt4XpjFG198</td>\n <td>1</td>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <th>971</th>\n <td>CAESENGV3Qu6PTEAEf4n4F-nhLs</td>\n <td>1</td>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <th>972</th>\n <td>CAESEHOIxdl-Fey9aijUh6_Atow</td>\n <td>1</td>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <th>973</th>\n <td>CAESEO-YJH4yVLLLr8_1Qc4X5V4</td>\n <td>5</td>\n <td>1</td>\n <td>5</td>\n </tr>\n <tr>\n <th>974</th>\n <td>CAESEEyi_IT8pOuyt7i6NwzNcqU</td>\n <td>1</td>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <th>975</th>\n <td>CAESEJS95ezGtFToklRK_LPZ3rM</td>\n <td>6</td>\n <td>1</td>\n <td>6</td>\n </tr>\n <tr>\n <th>976</th>\n <td>CAESENPjXStM0s1n2GeixFLqZZo</td>\n <td>10</td>\n <td>1</td>\n <td>10</td>\n </tr>\n <tr>\n <th>977</th>\n <td>CAESENEtZzYRwEmy6uN55v1SzcI</td>\n <td>1</td>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <th>978</th>\n <td>CAESEOErQafo6xX7lbWHWZOQ_wI</td>\n <td>1</td>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <th>979</th>\n <td>CAESEBxFNk4XqE0ubGtyIr322-E</td>\n <td>9</td>\n <td>1</td>\n <td>9</td>\n </tr>\n <tr>\n <th>980</th>\n <td>CAESEJRr5FdMCvfQxhYPlG4-Hbk</td>\n <td>2</td>\n <td>1</td>\n <td>2</td>\n </tr>\n <tr>\n <th>981</th>\n <td>CAESEOhIRS6Lb6cJngr8yxR_g60</td>\n <td>1</td>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <th>982</th>\n <td>CAESEDVPSVhHbn8oqQ8fB00KfrE</td>\n <td>1</td>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <th>983</th>\n <td>CAESEMvwKW_m5DVF9cqs6sr-bUQ</td>\n <td>1</td>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <th>984</th>\n <td>CAESELiK3-TYCYvVFh-S7UwMvHQ</td>\n <td>6</td>\n <td>1</td>\n <td>6</td>\n </tr>\n <tr>\n <th>985</th>\n <td>CAESEPxAoqzx7Jc_cBQ2rYvKwL4</td>\n <td>1</td>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <th>986</th>\n <td>CAESEDD5QZ2Jh4bQwfA2VNZwVxQ</td>\n <td>1</td>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <th>987</th>\n <td>CAESEDRyIMe4MbqcLvapwI65V2Q</td>\n <td>3</td>\n <td>1</td>\n <td>3</td>\n </tr>\n <tr>\n <th>988</th>\n <td>CAESEAOecJNzO33XYJtImKnJGkE</td>\n <td>1</td>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <th>989</th>\n <td>CAESEDjDe8wS0sOWmqDTyKjXICc</td>\n <td>1</td>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <th>990</th>\n <td>CAESEBtma0Z5Zs4IpjEPMOzm7ZU</td>\n <td>1</td>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <th>991</th>\n <td>CAESEDqDoJep0-bQ_kF_OLiZCxc</td>\n <td>1</td>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <th>992</th>\n <td>CAESED6IqPfryzf-xugrCsVGqWQ</td>\n <td>5</td>\n <td>1</td>\n <td>5</td>\n </tr>\n <tr>\n <th>993</th>\n <td>CAESELiuXaZDx3O7FIYbRRIIBWU</td>\n <td>2</td>\n <td>1</td>\n <td>2</td>\n </tr>\n <tr>\n <th>994</th>\n <td>CAESEJhLOCpRwOrq58lo3TI2JH4</td>\n <td>20</td>\n <td>1</td>\n <td>20</td>\n </tr>\n <tr>\n <th>995</th>\n <td>CAESEHrrI0CSAkQFYaN5u5ZfQdA</td>\n <td>1</td>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <th>996</th>\n <td>CAESEOE3ReiHL_nP5of2_hr8Ru4</td>\n <td>1</td>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <th>997</th>\n <td>CAESEGBz6-YEsWnpyrvsMjV3k1M</td>\n <td>5</td>\n <td>1</td>\n <td>5</td>\n </tr>\n <tr>\n <th>998</th>\n <td>CAESEMZpQRrcjQKTc5lo4GngDKs</td>\n <td>1</td>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <th>999</th>\n <td>CAESEPDmY4RELrq-XqxuYDlwOxo</td>\n <td>1</td>\n <td>1</td>\n <td>1</td>\n </tr>\n </tbody>\n</table>\n<p>1000 rows × 4 columns</p>\n</div>",
"text/plain": " gid uuid_count distinct_uuid hashes\n0 CAESEGxd8rNCTdCDkTFEsyCcvT4 8 1 8\n1 CAESEHnNctUMuOUqY3R5jFRIMdg 4 1 4\n2 CAESEPeW5IewZe8YMnaJNHmtJVo 2 1 2\n3 CAESECVU56SIkPlf0gBF7R98IzQ 4 1 4\n4 CAESEFKzbbstcaJqIPIvKQflznU 3 1 3\n5 CAESEBrwGFI5LzxR8KLETDHz6Dc 2 1 2\n6 CAESEEjwKcVxxqVt-5_jE6E8NlA 4 1 4\n7 CAESEBnxmMiShYSw4JVAB6gu4mM 1 1 1\n8 CAESEL1L-SWjNKZmS0nInOjucQw 11 1 11\n9 CAESEL3vquEV5r5-TD0wJJPO9zQ 1 1 1\n10 CAESEKYpucradhQJ0aNnjL1y0tw 3 1 3\n11 CAESEHdymYkG3Sr9OjL3o3Oqg_0 5 1 5\n12 CAESEJhi-zWONupb8IKh_qP-Ogg 2 1 2\n13 CAESEFERY1Qu2Q6MaTP_9E81Qjg 13 1 13\n14 CAESEIkr09AKtRQUcJ3l3_-N0PA 7 1 7\n15 CAESEIZgjySdKZCzjD1sdWPk4bc 4 1 4\n16 CAESENxdLO3TQHh7MYx-O0VxIzM 6 1 6\n17 CAESECP6Xrp2PK9CR09Q1nZ7Hxo 7 1 7\n18 CAESEJrNf3FRhqBHgXQ_h4Npr6c 7 1 7\n19 CAESEELGiiM3l0tgaXYcqwYyDfk 6 1 6\n20 CAESEOIur-a9pywojLvO8NNtiY8 5 1 5\n21 CAESEBdu6g1Hi_JUEHYvv8HTO_s 3 1 3\n22 CAESENUYG-XWRzv2J9RjYxIM4sg 6 1 6\n23 CAESEAGfVFedFCXMNWLrjuQpiMQ 8 1 8\n24 CAESEAtJ-j9dvfpO3v4AMZdOI5Q 4 1 4\n25 CAESEBSr9y2EOWoTjr0aLq_TuDM 3 1 3\n26 CAESELgox9U-4Ne-yK3pK6wP_u4 6 1 6\n27 CAESEAte4AaOFnLtmZQBIlbT9AQ 1 1 1\n28 CAESEEzpe6gFATYSanRu07PdRGs 2 1 2\n29 CAESEP8Xiyuq8_BWKkwtKXIfN6w 4 1 4\n.. ... ... ... ...\n970 CAESEGwC08jm8lBmbt4XpjFG198 1 1 1\n971 CAESENGV3Qu6PTEAEf4n4F-nhLs 1 1 1\n972 CAESEHOIxdl-Fey9aijUh6_Atow 1 1 1\n973 CAESEO-YJH4yVLLLr8_1Qc4X5V4 5 1 5\n974 CAESEEyi_IT8pOuyt7i6NwzNcqU 1 1 1\n975 CAESEJS95ezGtFToklRK_LPZ3rM 6 1 6\n976 CAESENPjXStM0s1n2GeixFLqZZo 10 1 10\n977 CAESENEtZzYRwEmy6uN55v1SzcI 1 1 1\n978 CAESEOErQafo6xX7lbWHWZOQ_wI 1 1 1\n979 CAESEBxFNk4XqE0ubGtyIr322-E 9 1 9\n980 CAESEJRr5FdMCvfQxhYPlG4-Hbk 2 1 2\n981 CAESEOhIRS6Lb6cJngr8yxR_g60 1 1 1\n982 CAESEDVPSVhHbn8oqQ8fB00KfrE 1 1 1\n983 CAESEMvwKW_m5DVF9cqs6sr-bUQ 1 1 1\n984 CAESELiK3-TYCYvVFh-S7UwMvHQ 6 1 6\n985 CAESEPxAoqzx7Jc_cBQ2rYvKwL4 1 1 1\n986 CAESEDD5QZ2Jh4bQwfA2VNZwVxQ 1 1 1\n987 CAESEDRyIMe4MbqcLvapwI65V2Q 3 1 3\n988 CAESEAOecJNzO33XYJtImKnJGkE 1 1 1\n989 CAESEDjDe8wS0sOWmqDTyKjXICc 1 1 1\n990 CAESEBtma0Z5Zs4IpjEPMOzm7ZU 1 1 1\n991 CAESEDqDoJep0-bQ_kF_OLiZCxc 1 1 1\n992 CAESED6IqPfryzf-xugrCsVGqWQ 5 1 5\n993 CAESELiuXaZDx3O7FIYbRRIIBWU 2 1 2\n994 CAESEJhLOCpRwOrq58lo3TI2JH4 20 1 20\n995 CAESEHrrI0CSAkQFYaN5u5ZfQdA 1 1 1\n996 CAESEOE3ReiHL_nP5of2_hr8Ru4 1 1 1\n997 CAESEGBz6-YEsWnpyrvsMjV3k1M 5 1 5\n998 CAESEMZpQRrcjQKTc5lo4GngDKs 1 1 1\n999 CAESEPDmY4RELrq-XqxuYDlwOxo 1 1 1\n\n[1000 rows x 4 columns]"
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true,
"hidden": true
},
"cell_type": "code",
"source": "sql = \"\"\"\nselect hash_value, \ncount(uuid) as uuid_count,\ncount(distinct uuid) as distinct_uuid\n, count(distinct gid) as gids\nfrom match_table_streaming\nWHERE hash_type = 'sha256_lower'\nGROUP BY 1\nlimit 1000\"\"\"\n\ndf_by_hash = pd.read_sql(sql, conn)\ndf_by_hash.head()",
"execution_count": 11,
"outputs": [
{
"data": {
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>hash_value</th>\n <th>uuid_count</th>\n <th>distinct_uuid</th>\n <th>gids</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>76dd90bb3a3760d3b137445be57d06d6527a6251e6a5f3...</td>\n <td>44</td>\n <td>26</td>\n <td>44</td>\n </tr>\n <tr>\n <th>1</th>\n <td>e2e7c29cb04850583f2ea0163a45f8f97fb5edef722253...</td>\n <td>36</td>\n <td>33</td>\n <td>34</td>\n </tr>\n <tr>\n <th>2</th>\n <td>5328afe44dadeb6701cbe4ea4062db8585f07d2d753502...</td>\n <td>27</td>\n <td>22</td>\n <td>27</td>\n </tr>\n <tr>\n <th>3</th>\n <td>df0ee6b4b98a1c88f440effa7dd09af770fd1b2e8703ba...</td>\n <td>8</td>\n <td>7</td>\n <td>8</td>\n </tr>\n <tr>\n <th>4</th>\n <td>10fad05ddd847b4f311504475b09dd077e5fb06adfb476...</td>\n <td>49</td>\n <td>34</td>\n <td>49</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " hash_value uuid_count \\\n0 76dd90bb3a3760d3b137445be57d06d6527a6251e6a5f3... 44 \n1 e2e7c29cb04850583f2ea0163a45f8f97fb5edef722253... 36 \n2 5328afe44dadeb6701cbe4ea4062db8585f07d2d753502... 27 \n3 df0ee6b4b98a1c88f440effa7dd09af770fd1b2e8703ba... 8 \n4 10fad05ddd847b4f311504475b09dd077e5fb06adfb476... 49 \n\n distinct_uuid gids \n0 26 44 \n1 33 34 \n2 22 27 \n3 7 8 \n4 34 49 "
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"heading_collapsed": true
},
"cell_type": "markdown",
"source": "# Group by CCID"
},
{
"metadata": {
"trusted": true,
"hidden": true
},
"cell_type": "code",
"source": "sql = \"\"\"select uuid, \ncount(gid) as gid_count,\ncount(distinct gid) as distinct_gid\n, count(distinct hash_value) as hashes\nfrom match_table_streaming\nWHERE hash_type = 'sha256_lower'\nGROUP BY 1\nORDER BY 3 DESC\nlimit 1000\"\"\"\n\ndf_by_ccid = pd.read_sql(sql, conn)\ndf_by_ccid",
"execution_count": 6,
"outputs": [
{
"data": {
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>uuid</th>\n <th>gid_count</th>\n <th>distinct_gid</th>\n <th>hashes</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>7b20eb0e-0d69-40df-9351-3a898404e93a</td>\n <td>3180</td>\n <td>318</td>\n <td>10</td>\n </tr>\n <tr>\n <th>1</th>\n <td>72cd7536-612b-4b06-a346-014ff2cdb000</td>\n <td>2799</td>\n <td>311</td>\n <td>9</td>\n </tr>\n <tr>\n <th>2</th>\n <td>f32555f1-47fa-4287-a4b3-59248704f8b0</td>\n <td>22932</td>\n <td>234</td>\n <td>98</td>\n </tr>\n <tr>\n <th>3</th>\n <td>2a933e51-6091-46bd-b94e-30a12aa843f5</td>\n <td>2097</td>\n <td>233</td>\n <td>9</td>\n </tr>\n <tr>\n <th>4</th>\n <td>bcd48057-2a30-47d9-c7d5-814380fa0aff</td>\n <td>2290</td>\n <td>229</td>\n <td>10</td>\n </tr>\n <tr>\n <th>5</th>\n <td>f8e803f9-867c-4529-c5c0-36bb79f56958</td>\n <td>852</td>\n <td>213</td>\n <td>4</td>\n </tr>\n <tr>\n <th>6</th>\n <td>268f1d68-f9aa-42ec-b7e4-4d9639c16d5e</td>\n <td>1236</td>\n <td>206</td>\n <td>6</td>\n </tr>\n <tr>\n <th>7</th>\n <td>4ade15c6-1fe7-443f-c4c0-cae1691009c9</td>\n <td>606</td>\n <td>202</td>\n <td>3</td>\n </tr>\n <tr>\n <th>8</th>\n <td>4fe6b0fc-6246-4ac8-9c0e-835e8798a319</td>\n <td>3618</td>\n <td>201</td>\n <td>18</td>\n </tr>\n <tr>\n <th>9</th>\n <td>b291ae63-c5ed-4e51-ceab-044d7c717809</td>\n <td>594</td>\n <td>198</td>\n <td>3</td>\n </tr>\n <tr>\n <th>10</th>\n <td>308e3581-5662-47e8-8b20-07cdba2bb812</td>\n <td>1728</td>\n <td>192</td>\n <td>9</td>\n </tr>\n <tr>\n <th>11</th>\n <td>30a6620c-8b23-4f04-cfd5-bd09a83adb83</td>\n <td>561</td>\n <td>187</td>\n <td>3</td>\n </tr>\n <tr>\n <th>12</th>\n <td>75922c42-2b95-47c5-c77a-a5e206f6507d</td>\n <td>555</td>\n <td>185</td>\n <td>3</td>\n </tr>\n <tr>\n <th>13</th>\n <td>3aafbb45-ec10-4c1b-bd76-f81ba72a2165</td>\n <td>740</td>\n <td>185</td>\n <td>4</td>\n </tr>\n <tr>\n <th>14</th>\n <td>ec471edd-429c-4edd-9600-287d26e5fc0f</td>\n <td>534</td>\n <td>178</td>\n <td>3</td>\n </tr>\n <tr>\n <th>15</th>\n <td>f2964bee-92e8-4fab-888e-86da448996b7</td>\n <td>1344</td>\n <td>168</td>\n <td>8</td>\n </tr>\n <tr>\n <th>16</th>\n <td>e4bd4a0e-fe3f-4fe4-a6df-b1be28e7d77b</td>\n <td>1008</td>\n <td>168</td>\n <td>6</td>\n </tr>\n <tr>\n <th>17</th>\n <td>73fdc1f0-00c1-4fc1-b0e2-d3bc45873249</td>\n <td>1336</td>\n <td>167</td>\n <td>8</td>\n </tr>\n <tr>\n <th>18</th>\n <td>cc899139-db7d-4e1c-ceae-465f08dc5212</td>\n <td>1320</td>\n <td>165</td>\n <td>8</td>\n </tr>\n <tr>\n <th>19</th>\n <td>1306d68a-c3a8-4199-c11e-bf4c83c83a5e</td>\n <td>162</td>\n <td>160</td>\n <td>2</td>\n </tr>\n <tr>\n <th>20</th>\n <td>795e6229-c137-4387-c3c7-c5060cf131bc</td>\n <td>636</td>\n <td>159</td>\n <td>4</td>\n </tr>\n <tr>\n <th>21</th>\n <td>6d23f00f-b40b-4933-c9ff-9822e002c0fd</td>\n <td>159</td>\n <td>159</td>\n <td>1</td>\n </tr>\n <tr>\n <th>22</th>\n <td>0de4ad21-1595-48ca-c8d2-824fb8d45753</td>\n <td>628</td>\n <td>157</td>\n <td>4</td>\n </tr>\n <tr>\n <th>23</th>\n <td>50b4f0e2-c040-4651-9b36-a63b6c7efe36</td>\n <td>1240</td>\n <td>155</td>\n <td>8</td>\n </tr>\n <tr>\n <th>24</th>\n <td>d242a57b-9cc8-4af5-9574-42fdac05ead5</td>\n <td>462</td>\n <td>154</td>\n <td>3</td>\n </tr>\n <tr>\n <th>25</th>\n <td>34cc083f-b7ed-4bf7-9535-b3afdb528178</td>\n <td>765</td>\n <td>153</td>\n <td>5</td>\n </tr>\n <tr>\n <th>26</th>\n <td>ca73964f-a8ce-4e91-b2fa-2155bebde14c</td>\n <td>444</td>\n <td>148</td>\n <td>3</td>\n </tr>\n <tr>\n <th>27</th>\n <td>a5faa736-d424-4bf7-99a3-4e9e77955cc2</td>\n <td>6660</td>\n <td>148</td>\n <td>45</td>\n </tr>\n <tr>\n <th>28</th>\n <td>2aa1090d-9233-4ede-9463-17ad6bb87c8e</td>\n <td>2044</td>\n <td>146</td>\n <td>14</td>\n </tr>\n <tr>\n <th>29</th>\n <td>3573d35b-0f72-4adf-ca5b-c2532cd50244</td>\n <td>715</td>\n <td>143</td>\n <td>5</td>\n </tr>\n <tr>\n <th>...</th>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>970</th>\n <td>9b3d597c-fb78-482a-c813-7ad2558887e6</td>\n <td>156</td>\n <td>52</td>\n <td>3</td>\n </tr>\n <tr>\n <th>971</th>\n <td>3a2333d2-467f-4c04-967b-62937bc3d38b</td>\n <td>104</td>\n <td>52</td>\n <td>2</td>\n </tr>\n <tr>\n <th>972</th>\n <td>d8b2e041-3499-49cc-90c9-4c48c6a97a09</td>\n <td>416</td>\n <td>52</td>\n <td>8</td>\n </tr>\n <tr>\n <th>973</th>\n <td>d6ba8323-7e87-4fdf-ae19-bb6a6c17c7ec</td>\n <td>104</td>\n <td>52</td>\n <td>2</td>\n </tr>\n <tr>\n <th>974</th>\n <td>88fe70b5-209b-43d8-9ad2-8114dbb25c30</td>\n <td>520</td>\n <td>52</td>\n <td>10</td>\n </tr>\n <tr>\n <th>975</th>\n <td>2bb5efb7-5605-4a9e-ca29-4ad655f7fa9a</td>\n <td>156</td>\n <td>52</td>\n <td>3</td>\n </tr>\n <tr>\n <th>976</th>\n <td>7abf9508-27d2-4418-a09d-939878253b78</td>\n <td>312</td>\n <td>52</td>\n <td>6</td>\n </tr>\n <tr>\n <th>977</th>\n <td>6d8f4f3f-7fe3-4192-c1d5-bfbd19694ee1</td>\n <td>208</td>\n <td>52</td>\n <td>4</td>\n </tr>\n <tr>\n <th>978</th>\n <td>c2b88597-bcf4-4913-c97a-7ea2e908b415</td>\n <td>104</td>\n <td>52</td>\n <td>2</td>\n </tr>\n <tr>\n <th>979</th>\n <td>bd082000-f6d8-4e26-9eae-7700740cf431</td>\n <td>312</td>\n <td>52</td>\n <td>6</td>\n </tr>\n <tr>\n <th>980</th>\n <td>45c44fcd-0e75-4579-c516-4e9a2553bca9</td>\n <td>104</td>\n <td>52</td>\n <td>2</td>\n </tr>\n <tr>\n <th>981</th>\n <td>4c6bf803-f137-455a-945e-61f9a37d58e4</td>\n <td>312</td>\n <td>52</td>\n <td>6</td>\n </tr>\n <tr>\n <th>982</th>\n <td>b2d4f9b9-df93-472f-c7bd-cbce7c2ca5cb</td>\n <td>52</td>\n <td>52</td>\n <td>1</td>\n </tr>\n <tr>\n <th>983</th>\n <td>5b3de89e-32d3-465b-c68a-3e4f39e1028b</td>\n <td>104</td>\n <td>52</td>\n <td>2</td>\n </tr>\n <tr>\n <th>984</th>\n <td>46b6baca-d73d-4990-a586-27091a8161ab</td>\n <td>260</td>\n <td>52</td>\n <td>5</td>\n </tr>\n <tr>\n <th>985</th>\n <td>cc1d7aaa-fd66-43d4-ac6f-0f595ced8391</td>\n <td>364</td>\n <td>52</td>\n <td>7</td>\n </tr>\n <tr>\n <th>986</th>\n <td>968dcbbe-a2bb-4679-a759-57a6d0c8bbe6</td>\n <td>468</td>\n <td>52</td>\n <td>9</td>\n </tr>\n <tr>\n <th>987</th>\n <td>4f71d6b9-4f2f-4efc-cea9-7c9d0c7ad1b9</td>\n <td>572</td>\n <td>52</td>\n <td>11</td>\n </tr>\n <tr>\n <th>988</th>\n <td>02fd0bc0-c9b4-428d-ac72-76ce381647fe</td>\n <td>312</td>\n <td>52</td>\n <td>6</td>\n </tr>\n <tr>\n <th>989</th>\n <td>e81796a8-cb2e-4fdc-cf56-85583d2237ee</td>\n <td>260</td>\n <td>52</td>\n <td>5</td>\n </tr>\n <tr>\n <th>990</th>\n <td>cf88152b-5ce8-4fa7-941a-23cd4365b5f2</td>\n <td>260</td>\n <td>52</td>\n <td>5</td>\n </tr>\n <tr>\n <th>991</th>\n <td>44f98740-4fcd-463a-9fc6-43e682b7a7d2</td>\n <td>156</td>\n <td>52</td>\n <td>3</td>\n </tr>\n <tr>\n <th>992</th>\n <td>f3f7863b-ce74-4beb-92ce-837eadaaa9b8</td>\n <td>364</td>\n <td>52</td>\n <td>7</td>\n </tr>\n <tr>\n <th>993</th>\n <td>4d0ef89e-c20c-46b2-82c6-2719aaacb606</td>\n <td>156</td>\n <td>52</td>\n <td>3</td>\n </tr>\n <tr>\n <th>994</th>\n <td>e049004c-3e0b-45bf-96b0-84a1ca98964c</td>\n <td>364</td>\n <td>52</td>\n <td>7</td>\n </tr>\n <tr>\n <th>995</th>\n <td>943ac0ee-e8cb-471c-93ab-aca7638df8c2</td>\n <td>104</td>\n <td>52</td>\n <td>2</td>\n </tr>\n <tr>\n <th>996</th>\n <td>dcfe2b12-e62c-48dc-8952-2340fdc42310</td>\n <td>624</td>\n <td>52</td>\n <td>12</td>\n </tr>\n <tr>\n <th>997</th>\n <td>9cbc968c-5874-42d1-b335-e786084227c6</td>\n <td>52</td>\n <td>52</td>\n <td>1</td>\n </tr>\n <tr>\n <th>998</th>\n <td>ac8fd198-2167-4632-b04d-1683ad320639</td>\n <td>624</td>\n <td>52</td>\n <td>12</td>\n </tr>\n <tr>\n <th>999</th>\n <td>acc5ef96-b2b2-48c7-c85e-76c8afd81bcb</td>\n <td>728</td>\n <td>52</td>\n <td>14</td>\n </tr>\n </tbody>\n</table>\n<p>1000 rows × 4 columns</p>\n</div>",
"text/plain": " uuid gid_count distinct_gid hashes\n0 7b20eb0e-0d69-40df-9351-3a898404e93a 3180 318 10\n1 72cd7536-612b-4b06-a346-014ff2cdb000 2799 311 9\n2 f32555f1-47fa-4287-a4b3-59248704f8b0 22932 234 98\n3 2a933e51-6091-46bd-b94e-30a12aa843f5 2097 233 9\n4 bcd48057-2a30-47d9-c7d5-814380fa0aff 2290 229 10\n5 f8e803f9-867c-4529-c5c0-36bb79f56958 852 213 4\n6 268f1d68-f9aa-42ec-b7e4-4d9639c16d5e 1236 206 6\n7 4ade15c6-1fe7-443f-c4c0-cae1691009c9 606 202 3\n8 4fe6b0fc-6246-4ac8-9c0e-835e8798a319 3618 201 18\n9 b291ae63-c5ed-4e51-ceab-044d7c717809 594 198 3\n10 308e3581-5662-47e8-8b20-07cdba2bb812 1728 192 9\n11 30a6620c-8b23-4f04-cfd5-bd09a83adb83 561 187 3\n12 75922c42-2b95-47c5-c77a-a5e206f6507d 555 185 3\n13 3aafbb45-ec10-4c1b-bd76-f81ba72a2165 740 185 4\n14 ec471edd-429c-4edd-9600-287d26e5fc0f 534 178 3\n15 f2964bee-92e8-4fab-888e-86da448996b7 1344 168 8\n16 e4bd4a0e-fe3f-4fe4-a6df-b1be28e7d77b 1008 168 6\n17 73fdc1f0-00c1-4fc1-b0e2-d3bc45873249 1336 167 8\n18 cc899139-db7d-4e1c-ceae-465f08dc5212 1320 165 8\n19 1306d68a-c3a8-4199-c11e-bf4c83c83a5e 162 160 2\n20 795e6229-c137-4387-c3c7-c5060cf131bc 636 159 4\n21 6d23f00f-b40b-4933-c9ff-9822e002c0fd 159 159 1\n22 0de4ad21-1595-48ca-c8d2-824fb8d45753 628 157 4\n23 50b4f0e2-c040-4651-9b36-a63b6c7efe36 1240 155 8\n24 d242a57b-9cc8-4af5-9574-42fdac05ead5 462 154 3\n25 34cc083f-b7ed-4bf7-9535-b3afdb528178 765 153 5\n26 ca73964f-a8ce-4e91-b2fa-2155bebde14c 444 148 3\n27 a5faa736-d424-4bf7-99a3-4e9e77955cc2 6660 148 45\n28 2aa1090d-9233-4ede-9463-17ad6bb87c8e 2044 146 14\n29 3573d35b-0f72-4adf-ca5b-c2532cd50244 715 143 5\n.. ... ... ... ...\n970 9b3d597c-fb78-482a-c813-7ad2558887e6 156 52 3\n971 3a2333d2-467f-4c04-967b-62937bc3d38b 104 52 2\n972 d8b2e041-3499-49cc-90c9-4c48c6a97a09 416 52 8\n973 d6ba8323-7e87-4fdf-ae19-bb6a6c17c7ec 104 52 2\n974 88fe70b5-209b-43d8-9ad2-8114dbb25c30 520 52 10\n975 2bb5efb7-5605-4a9e-ca29-4ad655f7fa9a 156 52 3\n976 7abf9508-27d2-4418-a09d-939878253b78 312 52 6\n977 6d8f4f3f-7fe3-4192-c1d5-bfbd19694ee1 208 52 4\n978 c2b88597-bcf4-4913-c97a-7ea2e908b415 104 52 2\n979 bd082000-f6d8-4e26-9eae-7700740cf431 312 52 6\n980 45c44fcd-0e75-4579-c516-4e9a2553bca9 104 52 2\n981 4c6bf803-f137-455a-945e-61f9a37d58e4 312 52 6\n982 b2d4f9b9-df93-472f-c7bd-cbce7c2ca5cb 52 52 1\n983 5b3de89e-32d3-465b-c68a-3e4f39e1028b 104 52 2\n984 46b6baca-d73d-4990-a586-27091a8161ab 260 52 5\n985 cc1d7aaa-fd66-43d4-ac6f-0f595ced8391 364 52 7\n986 968dcbbe-a2bb-4679-a759-57a6d0c8bbe6 468 52 9\n987 4f71d6b9-4f2f-4efc-cea9-7c9d0c7ad1b9 572 52 11\n988 02fd0bc0-c9b4-428d-ac72-76ce381647fe 312 52 6\n989 e81796a8-cb2e-4fdc-cf56-85583d2237ee 260 52 5\n990 cf88152b-5ce8-4fa7-941a-23cd4365b5f2 260 52 5\n991 44f98740-4fcd-463a-9fc6-43e682b7a7d2 156 52 3\n992 f3f7863b-ce74-4beb-92ce-837eadaaa9b8 364 52 7\n993 4d0ef89e-c20c-46b2-82c6-2719aaacb606 156 52 3\n994 e049004c-3e0b-45bf-96b0-84a1ca98964c 364 52 7\n995 943ac0ee-e8cb-471c-93ab-aca7638df8c2 104 52 2\n996 dcfe2b12-e62c-48dc-8952-2340fdc42310 624 52 12\n997 9cbc968c-5874-42d1-b335-e786084227c6 52 52 1\n998 ac8fd198-2167-4632-b04d-1683ad320639 624 52 12\n999 acc5ef96-b2b2-48c7-c85e-76c8afd81bcb 728 52 14\n\n[1000 rows x 4 columns]"
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true,
"hidden": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
}
],
"metadata": {
"kernelspec": {
"name": "python3",
"display_name": "Python 3",
"language": "python"
},
"language_info": {
"name": "python",
"version": "3.7.3",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"gist": {
"id": "",
"data": {
"description": "notebooks/How stable are Google gids.ipynb",
"public": true
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment