5814 lines
630 KiB
Text
5814 lines
630 KiB
Text
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"id": "c0c52617",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import pandas as pd\n",
|
||
"import matplotlib.pyplot as plt\n",
|
||
"import numpy as np\n",
|
||
"from ipywidgets import widgets\n",
|
||
"from IPython.display import display\n",
|
||
"\n",
|
||
"%matplotlib notebook"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"id": "d20f8fbf",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"posts = pd.read_sql_table('post', 'sqlite:///db6.sqlite')\n",
|
||
"likes = pd.read_sql_table('like', 'sqlite:///db6.sqlite')\n",
|
||
"reposts = pd.read_sql_table('repost', 'sqlite:///db6.sqlite')\n",
|
||
"follows = pd.read_sql_table('follow', 'sqlite:///db6.sqlite')\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"id": "7140b9bd",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"model_id": "cf35045c14b246bfb0405f9e42c5d5ab",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
"Tab(children=(Output(), Output(), Output(), Output()))"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"tabs = []\n",
|
||
"for tab in (posts, likes, reposts, follows):\n",
|
||
" widg = widgets.Output()\n",
|
||
" with widg:\n",
|
||
" display(tab)\n",
|
||
" tabs.append(widg)\n",
|
||
" \n",
|
||
"tab = widgets.Tab(children=tabs, titles = ['posts', 'likes', 'reposts', 'follows'])\n",
|
||
"tab"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "bc1b5a30",
|
||
"metadata": {},
|
||
"source": [
|
||
"Basic Summaries\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"id": "689b5e00",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\n",
|
||
"Timespan: 0 days 13:44:19.205000\n",
|
||
"Posting Accounts: 53772\n",
|
||
"Liking Accounts: 70198\n",
|
||
"Accounts that only posted: 13218\n",
|
||
"Accounts that only liked: 29644\n",
|
||
"Accounts that posted and liked: 40554\n",
|
||
"\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"posts['indexedAt'] = pd.to_datetime(posts['indexedAt'])\n",
|
||
"span = posts['indexedAt'].max() - posts['indexedAt'].min()\n",
|
||
"posting_accounts = set(posts['authorDid'])\n",
|
||
"liking_accounts = set(likes['authorDid'])\n",
|
||
"posters_only = posting_accounts - liking_accounts\n",
|
||
"likers_only = liking_accounts - posting_accounts\n",
|
||
"posts_and_likes = posting_accounts.intersection(liking_accounts)\n",
|
||
"\n",
|
||
"print(f\"\"\"\n",
|
||
"Timespan: {span}\n",
|
||
"Posting Accounts: {len(posting_accounts)}\n",
|
||
"Liking Accounts: {len(liking_accounts)}\n",
|
||
"Accounts that only posted: {len(posters_only)}\n",
|
||
"Accounts that only liked: {len(likers_only)}\n",
|
||
"Accounts that posted and liked: {len(posts_and_likes)}\n",
|
||
"\"\"\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "040f4a01",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Interaction Distributions\n",
|
||
"\n",
|
||
"Likes per post"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"id": "3c6a03ff",
|
||
"metadata": {},
|
||
"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>cid</th>\n",
|
||
" <th>likes</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>bafyreia2227oeicmtf4xigxvt7pyu4vjskwx4ybt6qs6l...</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>bafyreia222rmtxxi6r32jvpv6ztvnf6okg4actj5kguum...</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>bafyreia223ok3xtiywatui6vhz4wnj27dmr5axhcfrmax...</td>\n",
|
||
" <td>84</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>bafyreia224dtxpar5micqm5alflbadh7afpvw67tflq55...</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>bafyreia225p3me54nwasphscagmwhgixjuj2ozutf4xyg...</td>\n",
|
||
" <td>60</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>237072</th>\n",
|
||
" <td>bafyreihzzscebwopuvgkagaizjiyn7akm3bpnrzpjqes6...</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>237073</th>\n",
|
||
" <td>bafyreihzzsv7g3fiqxke7xsvfb2lq6sjfeg5jwrxm4lxn...</td>\n",
|
||
" <td>2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>237074</th>\n",
|
||
" <td>bafyreihzztj6ztbyworzjigzy7muq63hrq4kdafc6nzqr...</td>\n",
|
||
" <td>2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>237075</th>\n",
|
||
" <td>bafyreihzzwsbv3xt5uowdtlcbbn2qlr7rrotyt4zp6v4s...</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>237076</th>\n",
|
||
" <td>bafyreihzzwxykcadm64n4wbin5xsvmggoxpynxc53r3ns...</td>\n",
|
||
" <td>2</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>237077 rows × 2 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" cid likes\n",
|
||
"0 bafyreia2227oeicmtf4xigxvt7pyu4vjskwx4ybt6qs6l... 1\n",
|
||
"1 bafyreia222rmtxxi6r32jvpv6ztvnf6okg4actj5kguum... 1\n",
|
||
"2 bafyreia223ok3xtiywatui6vhz4wnj27dmr5axhcfrmax... 84\n",
|
||
"3 bafyreia224dtxpar5micqm5alflbadh7afpvw67tflq55... 1\n",
|
||
"4 bafyreia225p3me54nwasphscagmwhgixjuj2ozutf4xyg... 60\n",
|
||
"... ... ...\n",
|
||
"237072 bafyreihzzscebwopuvgkagaizjiyn7akm3bpnrzpjqes6... 1\n",
|
||
"237073 bafyreihzzsv7g3fiqxke7xsvfb2lq6sjfeg5jwrxm4lxn... 2\n",
|
||
"237074 bafyreihzztj6ztbyworzjigzy7muq63hrq4kdafc6nzqr... 2\n",
|
||
"237075 bafyreihzzwsbv3xt5uowdtlcbbn2qlr7rrotyt4zp6v4s... 1\n",
|
||
"237076 bafyreihzzwxykcadm64n4wbin5xsvmggoxpynxc53r3ns... 2\n",
|
||
"\n",
|
||
"[237077 rows x 2 columns]"
|
||
]
|
||
},
|
||
"execution_count": 5,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"post_likes = likes.groupby('subjectCid'\n",
|
||
" ).agg(likes=('uri', 'count')\n",
|
||
" ).reset_index(\n",
|
||
" ).rename(columns={'subjectCid':'cid'})\n",
|
||
"post_likes"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"id": "ff9773ef",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"posts = posts.merge(post_likes, left_on='cid', right_on='cid', how='left')\n",
|
||
"posts.loc[posts['likes'].isna(), 'likes'] = 0"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"id": "2523ba0a",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"application/javascript": [
|
||
"/* Put everything inside the global mpl namespace */\n",
|
||
"/* global mpl */\n",
|
||
"window.mpl = {};\n",
|
||
"\n",
|
||
"mpl.get_websocket_type = function () {\n",
|
||
" if (typeof WebSocket !== 'undefined') {\n",
|
||
" return WebSocket;\n",
|
||
" } else if (typeof MozWebSocket !== 'undefined') {\n",
|
||
" return MozWebSocket;\n",
|
||
" } else {\n",
|
||
" alert(\n",
|
||
" 'Your browser does not have WebSocket support. ' +\n",
|
||
" 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
|
||
" 'Firefox 4 and 5 are also supported but you ' +\n",
|
||
" 'have to enable WebSockets in about:config.'\n",
|
||
" );\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
|
||
" this.id = figure_id;\n",
|
||
"\n",
|
||
" this.ws = websocket;\n",
|
||
"\n",
|
||
" this.supports_binary = this.ws.binaryType !== undefined;\n",
|
||
"\n",
|
||
" if (!this.supports_binary) {\n",
|
||
" var warnings = document.getElementById('mpl-warnings');\n",
|
||
" if (warnings) {\n",
|
||
" warnings.style.display = 'block';\n",
|
||
" warnings.textContent =\n",
|
||
" 'This browser does not support binary websocket messages. ' +\n",
|
||
" 'Performance may be slow.';\n",
|
||
" }\n",
|
||
" }\n",
|
||
"\n",
|
||
" this.imageObj = new Image();\n",
|
||
"\n",
|
||
" this.context = undefined;\n",
|
||
" this.message = undefined;\n",
|
||
" this.canvas = undefined;\n",
|
||
" this.rubberband_canvas = undefined;\n",
|
||
" this.rubberband_context = undefined;\n",
|
||
" this.format_dropdown = undefined;\n",
|
||
"\n",
|
||
" this.image_mode = 'full';\n",
|
||
"\n",
|
||
" this.root = document.createElement('div');\n",
|
||
" this.root.setAttribute('style', 'display: inline-block');\n",
|
||
" this._root_extra_style(this.root);\n",
|
||
"\n",
|
||
" parent_element.appendChild(this.root);\n",
|
||
"\n",
|
||
" this._init_header(this);\n",
|
||
" this._init_canvas(this);\n",
|
||
" this._init_toolbar(this);\n",
|
||
"\n",
|
||
" var fig = this;\n",
|
||
"\n",
|
||
" this.waiting = false;\n",
|
||
"\n",
|
||
" this.ws.onopen = function () {\n",
|
||
" fig.send_message('supports_binary', { value: fig.supports_binary });\n",
|
||
" fig.send_message('send_image_mode', {});\n",
|
||
" if (fig.ratio !== 1) {\n",
|
||
" fig.send_message('set_device_pixel_ratio', {\n",
|
||
" device_pixel_ratio: fig.ratio,\n",
|
||
" });\n",
|
||
" }\n",
|
||
" fig.send_message('refresh', {});\n",
|
||
" };\n",
|
||
"\n",
|
||
" this.imageObj.onload = function () {\n",
|
||
" if (fig.image_mode === 'full') {\n",
|
||
" // Full images could contain transparency (where diff images\n",
|
||
" // almost always do), so we need to clear the canvas so that\n",
|
||
" // there is no ghosting.\n",
|
||
" fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
|
||
" }\n",
|
||
" fig.context.drawImage(fig.imageObj, 0, 0);\n",
|
||
" };\n",
|
||
"\n",
|
||
" this.imageObj.onunload = function () {\n",
|
||
" fig.ws.close();\n",
|
||
" };\n",
|
||
"\n",
|
||
" this.ws.onmessage = this._make_on_message_function(this);\n",
|
||
"\n",
|
||
" this.ondownload = ondownload;\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._init_header = function () {\n",
|
||
" var titlebar = document.createElement('div');\n",
|
||
" titlebar.classList =\n",
|
||
" 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
|
||
" var titletext = document.createElement('div');\n",
|
||
" titletext.classList = 'ui-dialog-title';\n",
|
||
" titletext.setAttribute(\n",
|
||
" 'style',\n",
|
||
" 'width: 100%; text-align: center; padding: 3px;'\n",
|
||
" );\n",
|
||
" titlebar.appendChild(titletext);\n",
|
||
" this.root.appendChild(titlebar);\n",
|
||
" this.header = titletext;\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._init_canvas = function () {\n",
|
||
" var fig = this;\n",
|
||
"\n",
|
||
" var canvas_div = (this.canvas_div = document.createElement('div'));\n",
|
||
" canvas_div.setAttribute(\n",
|
||
" 'style',\n",
|
||
" 'border: 1px solid #ddd;' +\n",
|
||
" 'box-sizing: content-box;' +\n",
|
||
" 'clear: both;' +\n",
|
||
" 'min-height: 1px;' +\n",
|
||
" 'min-width: 1px;' +\n",
|
||
" 'outline: 0;' +\n",
|
||
" 'overflow: hidden;' +\n",
|
||
" 'position: relative;' +\n",
|
||
" 'resize: both;'\n",
|
||
" );\n",
|
||
"\n",
|
||
" function on_keyboard_event_closure(name) {\n",
|
||
" return function (event) {\n",
|
||
" return fig.key_event(event, name);\n",
|
||
" };\n",
|
||
" }\n",
|
||
"\n",
|
||
" canvas_div.addEventListener(\n",
|
||
" 'keydown',\n",
|
||
" on_keyboard_event_closure('key_press')\n",
|
||
" );\n",
|
||
" canvas_div.addEventListener(\n",
|
||
" 'keyup',\n",
|
||
" on_keyboard_event_closure('key_release')\n",
|
||
" );\n",
|
||
"\n",
|
||
" this._canvas_extra_style(canvas_div);\n",
|
||
" this.root.appendChild(canvas_div);\n",
|
||
"\n",
|
||
" var canvas = (this.canvas = document.createElement('canvas'));\n",
|
||
" canvas.classList.add('mpl-canvas');\n",
|
||
" canvas.setAttribute('style', 'box-sizing: content-box;');\n",
|
||
"\n",
|
||
" this.context = canvas.getContext('2d');\n",
|
||
"\n",
|
||
" var backingStore =\n",
|
||
" this.context.backingStorePixelRatio ||\n",
|
||
" this.context.webkitBackingStorePixelRatio ||\n",
|
||
" this.context.mozBackingStorePixelRatio ||\n",
|
||
" this.context.msBackingStorePixelRatio ||\n",
|
||
" this.context.oBackingStorePixelRatio ||\n",
|
||
" this.context.backingStorePixelRatio ||\n",
|
||
" 1;\n",
|
||
"\n",
|
||
" this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
|
||
"\n",
|
||
" var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
|
||
" 'canvas'\n",
|
||
" ));\n",
|
||
" rubberband_canvas.setAttribute(\n",
|
||
" 'style',\n",
|
||
" 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
|
||
" );\n",
|
||
"\n",
|
||
" // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
|
||
" if (this.ResizeObserver === undefined) {\n",
|
||
" if (window.ResizeObserver !== undefined) {\n",
|
||
" this.ResizeObserver = window.ResizeObserver;\n",
|
||
" } else {\n",
|
||
" var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
|
||
" this.ResizeObserver = obs.ResizeObserver;\n",
|
||
" }\n",
|
||
" }\n",
|
||
"\n",
|
||
" this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
|
||
" var nentries = entries.length;\n",
|
||
" for (var i = 0; i < nentries; i++) {\n",
|
||
" var entry = entries[i];\n",
|
||
" var width, height;\n",
|
||
" if (entry.contentBoxSize) {\n",
|
||
" if (entry.contentBoxSize instanceof Array) {\n",
|
||
" // Chrome 84 implements new version of spec.\n",
|
||
" width = entry.contentBoxSize[0].inlineSize;\n",
|
||
" height = entry.contentBoxSize[0].blockSize;\n",
|
||
" } else {\n",
|
||
" // Firefox implements old version of spec.\n",
|
||
" width = entry.contentBoxSize.inlineSize;\n",
|
||
" height = entry.contentBoxSize.blockSize;\n",
|
||
" }\n",
|
||
" } else {\n",
|
||
" // Chrome <84 implements even older version of spec.\n",
|
||
" width = entry.contentRect.width;\n",
|
||
" height = entry.contentRect.height;\n",
|
||
" }\n",
|
||
"\n",
|
||
" // Keep the size of the canvas and rubber band canvas in sync with\n",
|
||
" // the canvas container.\n",
|
||
" if (entry.devicePixelContentBoxSize) {\n",
|
||
" // Chrome 84 implements new version of spec.\n",
|
||
" canvas.setAttribute(\n",
|
||
" 'width',\n",
|
||
" entry.devicePixelContentBoxSize[0].inlineSize\n",
|
||
" );\n",
|
||
" canvas.setAttribute(\n",
|
||
" 'height',\n",
|
||
" entry.devicePixelContentBoxSize[0].blockSize\n",
|
||
" );\n",
|
||
" } else {\n",
|
||
" canvas.setAttribute('width', width * fig.ratio);\n",
|
||
" canvas.setAttribute('height', height * fig.ratio);\n",
|
||
" }\n",
|
||
" canvas.setAttribute(\n",
|
||
" 'style',\n",
|
||
" 'width: ' + width + 'px; height: ' + height + 'px;'\n",
|
||
" );\n",
|
||
"\n",
|
||
" rubberband_canvas.setAttribute('width', width);\n",
|
||
" rubberband_canvas.setAttribute('height', height);\n",
|
||
"\n",
|
||
" // And update the size in Python. We ignore the initial 0/0 size\n",
|
||
" // that occurs as the element is placed into the DOM, which should\n",
|
||
" // otherwise not happen due to the minimum size styling.\n",
|
||
" if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
|
||
" fig.request_resize(width, height);\n",
|
||
" }\n",
|
||
" }\n",
|
||
" });\n",
|
||
" this.resizeObserverInstance.observe(canvas_div);\n",
|
||
"\n",
|
||
" function on_mouse_event_closure(name) {\n",
|
||
" return function (event) {\n",
|
||
" return fig.mouse_event(event, name);\n",
|
||
" };\n",
|
||
" }\n",
|
||
"\n",
|
||
" rubberband_canvas.addEventListener(\n",
|
||
" 'mousedown',\n",
|
||
" on_mouse_event_closure('button_press')\n",
|
||
" );\n",
|
||
" rubberband_canvas.addEventListener(\n",
|
||
" 'mouseup',\n",
|
||
" on_mouse_event_closure('button_release')\n",
|
||
" );\n",
|
||
" rubberband_canvas.addEventListener(\n",
|
||
" 'dblclick',\n",
|
||
" on_mouse_event_closure('dblclick')\n",
|
||
" );\n",
|
||
" // Throttle sequential mouse events to 1 every 20ms.\n",
|
||
" rubberband_canvas.addEventListener(\n",
|
||
" 'mousemove',\n",
|
||
" on_mouse_event_closure('motion_notify')\n",
|
||
" );\n",
|
||
"\n",
|
||
" rubberband_canvas.addEventListener(\n",
|
||
" 'mouseenter',\n",
|
||
" on_mouse_event_closure('figure_enter')\n",
|
||
" );\n",
|
||
" rubberband_canvas.addEventListener(\n",
|
||
" 'mouseleave',\n",
|
||
" on_mouse_event_closure('figure_leave')\n",
|
||
" );\n",
|
||
"\n",
|
||
" canvas_div.addEventListener('wheel', function (event) {\n",
|
||
" if (event.deltaY < 0) {\n",
|
||
" event.step = 1;\n",
|
||
" } else {\n",
|
||
" event.step = -1;\n",
|
||
" }\n",
|
||
" on_mouse_event_closure('scroll')(event);\n",
|
||
" });\n",
|
||
"\n",
|
||
" canvas_div.appendChild(canvas);\n",
|
||
" canvas_div.appendChild(rubberband_canvas);\n",
|
||
"\n",
|
||
" this.rubberband_context = rubberband_canvas.getContext('2d');\n",
|
||
" this.rubberband_context.strokeStyle = '#000000';\n",
|
||
"\n",
|
||
" this._resize_canvas = function (width, height, forward) {\n",
|
||
" if (forward) {\n",
|
||
" canvas_div.style.width = width + 'px';\n",
|
||
" canvas_div.style.height = height + 'px';\n",
|
||
" }\n",
|
||
" };\n",
|
||
"\n",
|
||
" // Disable right mouse context menu.\n",
|
||
" this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
|
||
" event.preventDefault();\n",
|
||
" return false;\n",
|
||
" });\n",
|
||
"\n",
|
||
" function set_focus() {\n",
|
||
" canvas.focus();\n",
|
||
" canvas_div.focus();\n",
|
||
" }\n",
|
||
"\n",
|
||
" window.setTimeout(set_focus, 100);\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._init_toolbar = function () {\n",
|
||
" var fig = this;\n",
|
||
"\n",
|
||
" var toolbar = document.createElement('div');\n",
|
||
" toolbar.classList = 'mpl-toolbar';\n",
|
||
" this.root.appendChild(toolbar);\n",
|
||
"\n",
|
||
" function on_click_closure(name) {\n",
|
||
" return function (_event) {\n",
|
||
" return fig.toolbar_button_onclick(name);\n",
|
||
" };\n",
|
||
" }\n",
|
||
"\n",
|
||
" function on_mouseover_closure(tooltip) {\n",
|
||
" return function (event) {\n",
|
||
" if (!event.currentTarget.disabled) {\n",
|
||
" return fig.toolbar_button_onmouseover(tooltip);\n",
|
||
" }\n",
|
||
" };\n",
|
||
" }\n",
|
||
"\n",
|
||
" fig.buttons = {};\n",
|
||
" var buttonGroup = document.createElement('div');\n",
|
||
" buttonGroup.classList = 'mpl-button-group';\n",
|
||
" for (var toolbar_ind in mpl.toolbar_items) {\n",
|
||
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
|
||
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
|
||
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
|
||
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
|
||
"\n",
|
||
" if (!name) {\n",
|
||
" /* Instead of a spacer, we start a new button group. */\n",
|
||
" if (buttonGroup.hasChildNodes()) {\n",
|
||
" toolbar.appendChild(buttonGroup);\n",
|
||
" }\n",
|
||
" buttonGroup = document.createElement('div');\n",
|
||
" buttonGroup.classList = 'mpl-button-group';\n",
|
||
" continue;\n",
|
||
" }\n",
|
||
"\n",
|
||
" var button = (fig.buttons[name] = document.createElement('button'));\n",
|
||
" button.classList = 'mpl-widget';\n",
|
||
" button.setAttribute('role', 'button');\n",
|
||
" button.setAttribute('aria-disabled', 'false');\n",
|
||
" button.addEventListener('click', on_click_closure(method_name));\n",
|
||
" button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
|
||
"\n",
|
||
" var icon_img = document.createElement('img');\n",
|
||
" icon_img.src = '_images/' + image + '.png';\n",
|
||
" icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
|
||
" icon_img.alt = tooltip;\n",
|
||
" button.appendChild(icon_img);\n",
|
||
"\n",
|
||
" buttonGroup.appendChild(button);\n",
|
||
" }\n",
|
||
"\n",
|
||
" if (buttonGroup.hasChildNodes()) {\n",
|
||
" toolbar.appendChild(buttonGroup);\n",
|
||
" }\n",
|
||
"\n",
|
||
" var fmt_picker = document.createElement('select');\n",
|
||
" fmt_picker.classList = 'mpl-widget';\n",
|
||
" toolbar.appendChild(fmt_picker);\n",
|
||
" this.format_dropdown = fmt_picker;\n",
|
||
"\n",
|
||
" for (var ind in mpl.extensions) {\n",
|
||
" var fmt = mpl.extensions[ind];\n",
|
||
" var option = document.createElement('option');\n",
|
||
" option.selected = fmt === mpl.default_extension;\n",
|
||
" option.innerHTML = fmt;\n",
|
||
" fmt_picker.appendChild(option);\n",
|
||
" }\n",
|
||
"\n",
|
||
" var status_bar = document.createElement('span');\n",
|
||
" status_bar.classList = 'mpl-message';\n",
|
||
" toolbar.appendChild(status_bar);\n",
|
||
" this.message = status_bar;\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
|
||
" // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
|
||
" // which will in turn request a refresh of the image.\n",
|
||
" this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.send_message = function (type, properties) {\n",
|
||
" properties['type'] = type;\n",
|
||
" properties['figure_id'] = this.id;\n",
|
||
" this.ws.send(JSON.stringify(properties));\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.send_draw_message = function () {\n",
|
||
" if (!this.waiting) {\n",
|
||
" this.waiting = true;\n",
|
||
" this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
|
||
" var format_dropdown = fig.format_dropdown;\n",
|
||
" var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
|
||
" fig.ondownload(fig, format);\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
|
||
" var size = msg['size'];\n",
|
||
" if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
|
||
" fig._resize_canvas(size[0], size[1], msg['forward']);\n",
|
||
" fig.send_message('refresh', {});\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
|
||
" var x0 = msg['x0'] / fig.ratio;\n",
|
||
" var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
|
||
" var x1 = msg['x1'] / fig.ratio;\n",
|
||
" var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
|
||
" x0 = Math.floor(x0) + 0.5;\n",
|
||
" y0 = Math.floor(y0) + 0.5;\n",
|
||
" x1 = Math.floor(x1) + 0.5;\n",
|
||
" y1 = Math.floor(y1) + 0.5;\n",
|
||
" var min_x = Math.min(x0, x1);\n",
|
||
" var min_y = Math.min(y0, y1);\n",
|
||
" var width = Math.abs(x1 - x0);\n",
|
||
" var height = Math.abs(y1 - y0);\n",
|
||
"\n",
|
||
" fig.rubberband_context.clearRect(\n",
|
||
" 0,\n",
|
||
" 0,\n",
|
||
" fig.canvas.width / fig.ratio,\n",
|
||
" fig.canvas.height / fig.ratio\n",
|
||
" );\n",
|
||
"\n",
|
||
" fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
|
||
" // Updates the figure title.\n",
|
||
" fig.header.textContent = msg['label'];\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
|
||
" fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_message = function (fig, msg) {\n",
|
||
" fig.message.textContent = msg['message'];\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
|
||
" // Request the server to send over a new figure.\n",
|
||
" fig.send_draw_message();\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
|
||
" fig.image_mode = msg['mode'];\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
|
||
" for (var key in msg) {\n",
|
||
" if (!(key in fig.buttons)) {\n",
|
||
" continue;\n",
|
||
" }\n",
|
||
" fig.buttons[key].disabled = !msg[key];\n",
|
||
" fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
|
||
" if (msg['mode'] === 'PAN') {\n",
|
||
" fig.buttons['Pan'].classList.add('active');\n",
|
||
" fig.buttons['Zoom'].classList.remove('active');\n",
|
||
" } else if (msg['mode'] === 'ZOOM') {\n",
|
||
" fig.buttons['Pan'].classList.remove('active');\n",
|
||
" fig.buttons['Zoom'].classList.add('active');\n",
|
||
" } else {\n",
|
||
" fig.buttons['Pan'].classList.remove('active');\n",
|
||
" fig.buttons['Zoom'].classList.remove('active');\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.updated_canvas_event = function () {\n",
|
||
" // Called whenever the canvas gets updated.\n",
|
||
" this.send_message('ack', {});\n",
|
||
"};\n",
|
||
"\n",
|
||
"// A function to construct a web socket function for onmessage handling.\n",
|
||
"// Called in the figure constructor.\n",
|
||
"mpl.figure.prototype._make_on_message_function = function (fig) {\n",
|
||
" return function socket_on_message(evt) {\n",
|
||
" if (evt.data instanceof Blob) {\n",
|
||
" var img = evt.data;\n",
|
||
" if (img.type !== 'image/png') {\n",
|
||
" /* FIXME: We get \"Resource interpreted as Image but\n",
|
||
" * transferred with MIME type text/plain:\" errors on\n",
|
||
" * Chrome. But how to set the MIME type? It doesn't seem\n",
|
||
" * to be part of the websocket stream */\n",
|
||
" img.type = 'image/png';\n",
|
||
" }\n",
|
||
"\n",
|
||
" /* Free the memory for the previous frames */\n",
|
||
" if (fig.imageObj.src) {\n",
|
||
" (window.URL || window.webkitURL).revokeObjectURL(\n",
|
||
" fig.imageObj.src\n",
|
||
" );\n",
|
||
" }\n",
|
||
"\n",
|
||
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
|
||
" img\n",
|
||
" );\n",
|
||
" fig.updated_canvas_event();\n",
|
||
" fig.waiting = false;\n",
|
||
" return;\n",
|
||
" } else if (\n",
|
||
" typeof evt.data === 'string' &&\n",
|
||
" evt.data.slice(0, 21) === 'data:image/png;base64'\n",
|
||
" ) {\n",
|
||
" fig.imageObj.src = evt.data;\n",
|
||
" fig.updated_canvas_event();\n",
|
||
" fig.waiting = false;\n",
|
||
" return;\n",
|
||
" }\n",
|
||
"\n",
|
||
" var msg = JSON.parse(evt.data);\n",
|
||
" var msg_type = msg['type'];\n",
|
||
"\n",
|
||
" // Call the \"handle_{type}\" callback, which takes\n",
|
||
" // the figure and JSON message as its only arguments.\n",
|
||
" try {\n",
|
||
" var callback = fig['handle_' + msg_type];\n",
|
||
" } catch (e) {\n",
|
||
" console.log(\n",
|
||
" \"No handler for the '\" + msg_type + \"' message type: \",\n",
|
||
" msg\n",
|
||
" );\n",
|
||
" return;\n",
|
||
" }\n",
|
||
"\n",
|
||
" if (callback) {\n",
|
||
" try {\n",
|
||
" // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
|
||
" callback(fig, msg);\n",
|
||
" } catch (e) {\n",
|
||
" console.log(\n",
|
||
" \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
|
||
" e,\n",
|
||
" e.stack,\n",
|
||
" msg\n",
|
||
" );\n",
|
||
" }\n",
|
||
" }\n",
|
||
" };\n",
|
||
"};\n",
|
||
"\n",
|
||
"// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
|
||
"mpl.findpos = function (e) {\n",
|
||
" //this section is from http://www.quirksmode.org/js/events_properties.html\n",
|
||
" var targ;\n",
|
||
" if (!e) {\n",
|
||
" e = window.event;\n",
|
||
" }\n",
|
||
" if (e.target) {\n",
|
||
" targ = e.target;\n",
|
||
" } else if (e.srcElement) {\n",
|
||
" targ = e.srcElement;\n",
|
||
" }\n",
|
||
" if (targ.nodeType === 3) {\n",
|
||
" // defeat Safari bug\n",
|
||
" targ = targ.parentNode;\n",
|
||
" }\n",
|
||
"\n",
|
||
" // pageX,Y are the mouse positions relative to the document\n",
|
||
" var boundingRect = targ.getBoundingClientRect();\n",
|
||
" var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
|
||
" var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
|
||
"\n",
|
||
" return { x: x, y: y };\n",
|
||
"};\n",
|
||
"\n",
|
||
"/*\n",
|
||
" * return a copy of an object with only non-object keys\n",
|
||
" * we need this to avoid circular references\n",
|
||
" * https://stackoverflow.com/a/24161582/3208463\n",
|
||
" */\n",
|
||
"function simpleKeys(original) {\n",
|
||
" return Object.keys(original).reduce(function (obj, key) {\n",
|
||
" if (typeof original[key] !== 'object') {\n",
|
||
" obj[key] = original[key];\n",
|
||
" }\n",
|
||
" return obj;\n",
|
||
" }, {});\n",
|
||
"}\n",
|
||
"\n",
|
||
"mpl.figure.prototype.mouse_event = function (event, name) {\n",
|
||
" var canvas_pos = mpl.findpos(event);\n",
|
||
"\n",
|
||
" if (name === 'button_press') {\n",
|
||
" this.canvas.focus();\n",
|
||
" this.canvas_div.focus();\n",
|
||
" }\n",
|
||
"\n",
|
||
" var x = canvas_pos.x * this.ratio;\n",
|
||
" var y = canvas_pos.y * this.ratio;\n",
|
||
"\n",
|
||
" this.send_message(name, {\n",
|
||
" x: x,\n",
|
||
" y: y,\n",
|
||
" button: event.button,\n",
|
||
" step: event.step,\n",
|
||
" guiEvent: simpleKeys(event),\n",
|
||
" });\n",
|
||
"\n",
|
||
" /* This prevents the web browser from automatically changing to\n",
|
||
" * the text insertion cursor when the button is pressed. We want\n",
|
||
" * to control all of the cursor setting manually through the\n",
|
||
" * 'cursor' event from matplotlib */\n",
|
||
" event.preventDefault();\n",
|
||
" return false;\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
|
||
" // Handle any extra behaviour associated with a key event\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.key_event = function (event, name) {\n",
|
||
" // Prevent repeat events\n",
|
||
" if (name === 'key_press') {\n",
|
||
" if (event.key === this._key) {\n",
|
||
" return;\n",
|
||
" } else {\n",
|
||
" this._key = event.key;\n",
|
||
" }\n",
|
||
" }\n",
|
||
" if (name === 'key_release') {\n",
|
||
" this._key = null;\n",
|
||
" }\n",
|
||
"\n",
|
||
" var value = '';\n",
|
||
" if (event.ctrlKey && event.key !== 'Control') {\n",
|
||
" value += 'ctrl+';\n",
|
||
" }\n",
|
||
" else if (event.altKey && event.key !== 'Alt') {\n",
|
||
" value += 'alt+';\n",
|
||
" }\n",
|
||
" else if (event.shiftKey && event.key !== 'Shift') {\n",
|
||
" value += 'shift+';\n",
|
||
" }\n",
|
||
"\n",
|
||
" value += 'k' + event.key;\n",
|
||
"\n",
|
||
" this._key_event_extra(event, name);\n",
|
||
"\n",
|
||
" this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
|
||
" return false;\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
|
||
" if (name === 'download') {\n",
|
||
" this.handle_save(this, null);\n",
|
||
" } else {\n",
|
||
" this.send_message('toolbar_button', { name: name });\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
|
||
" this.message.textContent = tooltip;\n",
|
||
"};\n",
|
||
"\n",
|
||
"///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
|
||
"// prettier-ignore\n",
|
||
"var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
|
||
"mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
|
||
"\n",
|
||
"mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
|
||
"\n",
|
||
"mpl.default_extension = \"png\";/* global mpl */\n",
|
||
"\n",
|
||
"var comm_websocket_adapter = function (comm) {\n",
|
||
" // Create a \"websocket\"-like object which calls the given IPython comm\n",
|
||
" // object with the appropriate methods. Currently this is a non binary\n",
|
||
" // socket, so there is still some room for performance tuning.\n",
|
||
" var ws = {};\n",
|
||
"\n",
|
||
" ws.binaryType = comm.kernel.ws.binaryType;\n",
|
||
" ws.readyState = comm.kernel.ws.readyState;\n",
|
||
" function updateReadyState(_event) {\n",
|
||
" if (comm.kernel.ws) {\n",
|
||
" ws.readyState = comm.kernel.ws.readyState;\n",
|
||
" } else {\n",
|
||
" ws.readyState = 3; // Closed state.\n",
|
||
" }\n",
|
||
" }\n",
|
||
" comm.kernel.ws.addEventListener('open', updateReadyState);\n",
|
||
" comm.kernel.ws.addEventListener('close', updateReadyState);\n",
|
||
" comm.kernel.ws.addEventListener('error', updateReadyState);\n",
|
||
"\n",
|
||
" ws.close = function () {\n",
|
||
" comm.close();\n",
|
||
" };\n",
|
||
" ws.send = function (m) {\n",
|
||
" //console.log('sending', m);\n",
|
||
" comm.send(m);\n",
|
||
" };\n",
|
||
" // Register the callback with on_msg.\n",
|
||
" comm.on_msg(function (msg) {\n",
|
||
" //console.log('receiving', msg['content']['data'], msg);\n",
|
||
" var data = msg['content']['data'];\n",
|
||
" if (data['blob'] !== undefined) {\n",
|
||
" data = {\n",
|
||
" data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
|
||
" };\n",
|
||
" }\n",
|
||
" // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
|
||
" ws.onmessage(data);\n",
|
||
" });\n",
|
||
" return ws;\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.mpl_figure_comm = function (comm, msg) {\n",
|
||
" // This is the function which gets called when the mpl process\n",
|
||
" // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
|
||
"\n",
|
||
" var id = msg.content.data.id;\n",
|
||
" // Get hold of the div created by the display call when the Comm\n",
|
||
" // socket was opened in Python.\n",
|
||
" var element = document.getElementById(id);\n",
|
||
" var ws_proxy = comm_websocket_adapter(comm);\n",
|
||
"\n",
|
||
" function ondownload(figure, _format) {\n",
|
||
" window.open(figure.canvas.toDataURL());\n",
|
||
" }\n",
|
||
"\n",
|
||
" var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
|
||
"\n",
|
||
" // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
|
||
" // web socket which is closed, not our websocket->open comm proxy.\n",
|
||
" ws_proxy.onopen();\n",
|
||
"\n",
|
||
" fig.parent_element = element;\n",
|
||
" fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
|
||
" if (!fig.cell_info) {\n",
|
||
" console.error('Failed to find cell for figure', id, fig);\n",
|
||
" return;\n",
|
||
" }\n",
|
||
" fig.cell_info[0].output_area.element.on(\n",
|
||
" 'cleared',\n",
|
||
" { fig: fig },\n",
|
||
" fig._remove_fig_handler\n",
|
||
" );\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_close = function (fig, msg) {\n",
|
||
" var width = fig.canvas.width / fig.ratio;\n",
|
||
" fig.cell_info[0].output_area.element.off(\n",
|
||
" 'cleared',\n",
|
||
" fig._remove_fig_handler\n",
|
||
" );\n",
|
||
" fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
|
||
"\n",
|
||
" // Update the output cell to use the data from the current canvas.\n",
|
||
" fig.push_to_output();\n",
|
||
" var dataURL = fig.canvas.toDataURL();\n",
|
||
" // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
|
||
" // the notebook keyboard shortcuts fail.\n",
|
||
" IPython.keyboard_manager.enable();\n",
|
||
" fig.parent_element.innerHTML =\n",
|
||
" '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
|
||
" fig.close_ws(fig, msg);\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.close_ws = function (fig, msg) {\n",
|
||
" fig.send_message('closing', msg);\n",
|
||
" // fig.ws.close()\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
|
||
" // Turn the data on the canvas into data in the output cell.\n",
|
||
" var width = this.canvas.width / this.ratio;\n",
|
||
" var dataURL = this.canvas.toDataURL();\n",
|
||
" this.cell_info[1]['text/html'] =\n",
|
||
" '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.updated_canvas_event = function () {\n",
|
||
" // Tell IPython that the notebook contents must change.\n",
|
||
" IPython.notebook.set_dirty(true);\n",
|
||
" this.send_message('ack', {});\n",
|
||
" var fig = this;\n",
|
||
" // Wait a second, then push the new image to the DOM so\n",
|
||
" // that it is saved nicely (might be nice to debounce this).\n",
|
||
" setTimeout(function () {\n",
|
||
" fig.push_to_output();\n",
|
||
" }, 1000);\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._init_toolbar = function () {\n",
|
||
" var fig = this;\n",
|
||
"\n",
|
||
" var toolbar = document.createElement('div');\n",
|
||
" toolbar.classList = 'btn-toolbar';\n",
|
||
" this.root.appendChild(toolbar);\n",
|
||
"\n",
|
||
" function on_click_closure(name) {\n",
|
||
" return function (_event) {\n",
|
||
" return fig.toolbar_button_onclick(name);\n",
|
||
" };\n",
|
||
" }\n",
|
||
"\n",
|
||
" function on_mouseover_closure(tooltip) {\n",
|
||
" return function (event) {\n",
|
||
" if (!event.currentTarget.disabled) {\n",
|
||
" return fig.toolbar_button_onmouseover(tooltip);\n",
|
||
" }\n",
|
||
" };\n",
|
||
" }\n",
|
||
"\n",
|
||
" fig.buttons = {};\n",
|
||
" var buttonGroup = document.createElement('div');\n",
|
||
" buttonGroup.classList = 'btn-group';\n",
|
||
" var button;\n",
|
||
" for (var toolbar_ind in mpl.toolbar_items) {\n",
|
||
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
|
||
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
|
||
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
|
||
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
|
||
"\n",
|
||
" if (!name) {\n",
|
||
" /* Instead of a spacer, we start a new button group. */\n",
|
||
" if (buttonGroup.hasChildNodes()) {\n",
|
||
" toolbar.appendChild(buttonGroup);\n",
|
||
" }\n",
|
||
" buttonGroup = document.createElement('div');\n",
|
||
" buttonGroup.classList = 'btn-group';\n",
|
||
" continue;\n",
|
||
" }\n",
|
||
"\n",
|
||
" button = fig.buttons[name] = document.createElement('button');\n",
|
||
" button.classList = 'btn btn-default';\n",
|
||
" button.href = '#';\n",
|
||
" button.title = name;\n",
|
||
" button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n",
|
||
" button.addEventListener('click', on_click_closure(method_name));\n",
|
||
" button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
|
||
" buttonGroup.appendChild(button);\n",
|
||
" }\n",
|
||
"\n",
|
||
" if (buttonGroup.hasChildNodes()) {\n",
|
||
" toolbar.appendChild(buttonGroup);\n",
|
||
" }\n",
|
||
"\n",
|
||
" // Add the status bar.\n",
|
||
" var status_bar = document.createElement('span');\n",
|
||
" status_bar.classList = 'mpl-message pull-right';\n",
|
||
" toolbar.appendChild(status_bar);\n",
|
||
" this.message = status_bar;\n",
|
||
"\n",
|
||
" // Add the close button to the window.\n",
|
||
" var buttongrp = document.createElement('div');\n",
|
||
" buttongrp.classList = 'btn-group inline pull-right';\n",
|
||
" button = document.createElement('button');\n",
|
||
" button.classList = 'btn btn-mini btn-primary';\n",
|
||
" button.href = '#';\n",
|
||
" button.title = 'Stop Interaction';\n",
|
||
" button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n",
|
||
" button.addEventListener('click', function (_evt) {\n",
|
||
" fig.handle_close(fig, {});\n",
|
||
" });\n",
|
||
" button.addEventListener(\n",
|
||
" 'mouseover',\n",
|
||
" on_mouseover_closure('Stop Interaction')\n",
|
||
" );\n",
|
||
" buttongrp.appendChild(button);\n",
|
||
" var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
|
||
" titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._remove_fig_handler = function (event) {\n",
|
||
" var fig = event.data.fig;\n",
|
||
" if (event.target !== this) {\n",
|
||
" // Ignore bubbled events from children.\n",
|
||
" return;\n",
|
||
" }\n",
|
||
" fig.close_ws(fig, {});\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._root_extra_style = function (el) {\n",
|
||
" el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._canvas_extra_style = function (el) {\n",
|
||
" // this is important to make the div 'focusable\n",
|
||
" el.setAttribute('tabindex', 0);\n",
|
||
" // reach out to IPython and tell the keyboard manager to turn it's self\n",
|
||
" // off when our div gets focus\n",
|
||
"\n",
|
||
" // location in version 3\n",
|
||
" if (IPython.notebook.keyboard_manager) {\n",
|
||
" IPython.notebook.keyboard_manager.register_events(el);\n",
|
||
" } else {\n",
|
||
" // location in version 2\n",
|
||
" IPython.keyboard_manager.register_events(el);\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
|
||
" // Check for shift+enter\n",
|
||
" if (event.shiftKey && event.which === 13) {\n",
|
||
" this.canvas_div.blur();\n",
|
||
" // select the cell after this one\n",
|
||
" var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
|
||
" IPython.notebook.select(index + 1);\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
|
||
" fig.ondownload(fig, null);\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.find_output_cell = function (html_output) {\n",
|
||
" // Return the cell and output element which can be found *uniquely* in the notebook.\n",
|
||
" // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
|
||
" // IPython event is triggered only after the cells have been serialised, which for\n",
|
||
" // our purposes (turning an active figure into a static one), is too late.\n",
|
||
" var cells = IPython.notebook.get_cells();\n",
|
||
" var ncells = cells.length;\n",
|
||
" for (var i = 0; i < ncells; i++) {\n",
|
||
" var cell = cells[i];\n",
|
||
" if (cell.cell_type === 'code') {\n",
|
||
" for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
|
||
" var data = cell.output_area.outputs[j];\n",
|
||
" if (data.data) {\n",
|
||
" // IPython >= 3 moved mimebundle to data attribute of output\n",
|
||
" data = data.data;\n",
|
||
" }\n",
|
||
" if (data['text/html'] === html_output) {\n",
|
||
" return [cell, data, j];\n",
|
||
" }\n",
|
||
" }\n",
|
||
" }\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"// Register the function which deals with the matplotlib target/channel.\n",
|
||
"// The kernel may be null if the page has been refreshed.\n",
|
||
"if (IPython.notebook.kernel !== null) {\n",
|
||
" IPython.notebook.kernel.comm_manager.register_target(\n",
|
||
" 'matplotlib',\n",
|
||
" mpl.mpl_figure_comm\n",
|
||
" );\n",
|
||
"}\n"
|
||
],
|
||
"text/plain": [
|
||
"<IPython.core.display.Javascript object>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAAPACAYAAABq3NR5AAAgAElEQVR4XuzdB5QW1d0/8Itgxw5WNBpRsSsKWBBskRKNxl4SSywxiiUaW2KvRKOx9xoTu8ZoBAtYEIOAigVEURELqIi9K8jLnfcwsrALu/uUnZn9zPn/zxv2mbn3dz+/cc6Z75nnmRZTp23BRoAAAQIECBAgQIAAAQIECBAgQIBAIQVaCAAL2VeLIkCAAAECBAgQIECAAAECBAgQIJAICACdCAQIECBAgAABAgQIECBAgAABAgQKLCAALHBzLY0AAQIECBAgQIAAAQIECBAgQICAANA5QIAAAQIECBAgQIAAAQIECBAgQKDAAgLAAjfX0ggQIECAAAECBAgQIECAAAECBAgIAJ0DBAgQIECAAAECBAgQIECAAAECBAosIAAscHMtjQABAgQIECBAgAABAgQIECBAgIAA0DlAgAABAgQIECBAgAABAgQIECBAoMACAsACN9fSCBAgQIAAAQIECBAgQIAAAQIECAgAnQMECBAgQIAAAQIECBAgQIAAAQIECiwgACxwcy2NAAECBAgQIECAAAECBAgQIECAgADQOUCAAAECBAgQIECAAAECBAgQIECgwAICwAI319IIECBAgAABAgQIECBAgAABAgQICACdAwQIECBAgAABAgQIECBAgAABAgQKLCAALHBzLY0AAQIECBAgQIAAAQIECBAgQICAANA5QIAAAQIECBAgQIAAAQIECBAgQKDAAgLAAjfX0ggQIECAAAECBAgQIECAAAECBAgIAJ0DBAgQIECAAAECBAgQIECAAAECBAosIAAscHMtjQABAgQIECBAgAABAgQIECBAgIAA0DlAgAABAgQIECBAgAABAgQIECBAoMACAsACN9fSCBAgQIAAAQIECBAgQIAAAQIECAgAnQMECBAgQIAAAQIECBAgQIAAAQIECiwgACxwcy2NAAECBAgQIECAAAECBAgQIECAgADQOUCAAAECBAgQIECAAAECBAgQIECgwAICwAI319IIECBAgAABAgQIECBAgAABAgQICACdAwQIECBAgAABAgQIECBAgAABAgQKLCAALHBzLY0AAQIECBAgQIAAAQIECBAgQICAANA5QIAAAQIECBAgQIAAAQIECBAgQKDAAgLAAjfX0ggQIECAAAECBAgQIECAAAECBAgIAJ0DBAgQIECAAAECBAgQIECAAAECBAosIAAscHMtjQABAgQIECBAgAABAgQIECBAgIAA0DlAgAABAgQIECBAgAABAgQIECBAoMACAsACN9fSCBAgQIAAAQIECBAgQIAAAQIECAgAnQMECBAgQIAAAQIECBAgQIAAAQIECiwgACxwcy2NAAECBAgQIECAAAECBAgQIECAgADQOUCAAAECBAgQIECAAAECBAgQIECgwAICwAI319IIECBAgAABAgQIECBAgAABAgQICACdAwQIECBAgAABAgQIECBAgAABAgQKLCAALHBzLY0AAQIECBAgQIAAAQIECBAgQICAANA5QIAAAQIECBAgQIAAAQIECBAgQKDAAgLAAjfX0ggQIECAAAECBAgQIECAAAECBAgIAJ0DBAgQIECAAAECBAgQIECAAAECBAosIAAscHMtjQABAgQIECBAgAABAgQIECBAgIAA0DlAgAABAgQIECBAgAABAgQIECBAoMACAsACN9fSCBAgQIAAAQIECBAgQIAAAQIECAgAnQMECBAgQIAAAQIECBAgQIAAAQIECiwgACxwcy2NAAECBAgQIECAAAECBAgQIECAgADQOUCAAAECBAgQIECAAAECBAgQIECgwAICwAI319IIECBAgAABAgQIECBAgAABAgQICACdAwQIECBAgAABAgQIECBAgAABAgQKLCAALHBzLY0AAQIECBAgQIAAAQIECBAgQICAANA5QIAAAQIECBAgQIAAAQIECBAgQKDAAgLAAjfX0ggQIECAAAECBAgQIECAAAECBAgIAJ0DBAgQIECAAAECBAgQIECAAAECBAosIAAscHMtjQABAgQIECBAgAABAgQIECBAgIAA0DlAgAABAgQIECBAgAABAgQIECBAoMACAsACN9fSCBAgQIAAAQIECBAgQIAAAQIECAgAnQMECBAgQIAAAQIECBAgQIAAAQIECiwgACxwcy2NAAECBAgQIECAAAECBAgQIECAgADQOUCAAAECBAgQIECAAAECBAgQIECgwAICwAI319IIECBAgAABAgQIECBAgAABAgQICACdAwQIECBAgAABAgQIECBAgAABAgQKLCAALHBzLY0AAQIECBAgQIAAAQIECBAgQICAANA5QIAAAQIECBAgQIAAAQIECBAgQKDAAgLAAjfX0ggQIECAAAECBAgQIECAAAECBAgIAJ0DBAgQIECAAAECBAgQIECAAAECBAosIAAscHMtjQABAgQIECBAgAABAgQIECBAgIAA0DlAgAABAgQIECBAgAABAgQIECBAoMACAsACN9fSCBAgQIAAAQIECBAgQIAAAQIECAgAnQMECBAgQIAAAQIECBAgQIAAAQIECiwgACxwcy2NAAECBAgQIECAAAECBAgQIECAgADQOUCAAAECBAgQIECAAAECBAgQIECgwAICwAI319IIECBAgAABAgQIECBAgAABAgQICACdAwQIECBAgAABAgQIECBAgAABAgQKLCAALHBzLY0AAQIECBAgQIAAAQIECBAgQICAANA5QIAAAQIECBAgQIAAAQIECBAgQKDAAgLAAjfX0ggQIECAAAECBAgQIECAAAECBAgIAJ0DBAgQIECAAAECBAgQIECAAAECBAosIAAscHMtjQABAgQIECBAgAABAgQIECBAgIAA0DlAgAABAgQIECBAgAABAgQIECBAoMACAsACN9fSCBAgQIAAAQIECBAgQIAAAQIECAgAnQMECBAgQIAAAQIECBAgQIAAAQIECiwgACxwcy2NAAECBAgQIECAAAECBAgQIECAgADQOUCAAAECBAgQIECAAAECBAgQIECgwAICwAI319IIECBAgAABAgQIECBAgAABAgQICACdAwQIECBAgAABAgQIECBAgAABAgQKLCAALHBzLY0AAQIECBAgQIAAAQIECBAgQICAANA5QIAAAQIECBAgQIAAAQIECBAgQKDAAgLAAjfX0ggQIECAAAECBAgQIECAAAECBAgIAJ0DBAgQIECAAAECBAgQIECAAAECBAosIAAscHMtjQABAgQIECBAgAABAgQIECBAgIAA0DlAgAABAgQIECBAgAABAgQIECBAoMACAsACN9fSCBAgQIAAAQIECBAgQIAAAQIECAgAnQMECBAgQIAAAQIECBAgQIAAAQIECiwgACxwcy2NAAECBAgQIECAAAECBAgQIECAgADQOUCAAAECBAgQIECAAAECBAgQIECgwAICwAI319IIECBAgAABAgQIECBAgAABAgQICACdAwQIECBAgAABAgQIECBAgAABAgQKLCAALHBzLY0AAQIECBAgQIAAAQIECBAgQICAANA5QIAAAQIECBAgQIAAAQIECBAgQKDAAgLAAjfX0ggQIECAAAECBAgQIECAAAECBAgIAJ0DBAgQIECAAAECBAgQIECAAAECBAosIAAscHMtjQABAgQIECBAgAABAgQIECBAgIAA0DlAgAABAgQIECBAgAABAgQIECBAoMACAsACN9fSCBAgQIAAAQIECBAgQIAAAQIECAgAnQMECBAgQIAAAQIECBAgQIAAAQIECiwgACxwcy2NAAECBAgQIECAAAECBAgQIECAgADQOUCAAAECBAgQIECAAAECBAgQIECgwAICwAI319IIECBAgAABAgQIECBAgAABAgQICACdAwQIECBAgAABAgQIECBAgAABAgQKLCAALHBzLY0AAQIECBAgQIAAAQIECBAgQICAANA5QIAAAQIECBAgQIAAAQIECBAgQKDAAgLAAjc3y0v79ttvw0svvZSU2LZt29CqVassl6s2AgQIECBAgAABAgQIECCQS4HJkyeHDz/8MKl97bXXDvPNN18u16Ho0gQEgKX5ObqRAsOHDw+dO3du5NEOI0CAAAECBAgQIECAAAECBBoqMGzYsNCpU6eGHmb/AggIAAvQxDwuQQCYx66pmQABAgQIECBAgAABAgTyLCAAzHP3SqtdAFian6MbKTBu3Liw0korJUfHC9AyyyzTyJEcRoAAAQIECBAgQIAAAQIECNQl8N5776XfwHvzzTfDiiuuCKsZCggAm2HTs7Dkd999Nyy//PJJKe+8805o165dFspSAwECBAgQIECAAAECBAgQKJSA++9CtbPRixEANprOgaUIuACVoudYAgQIECBAgAABAgQIECBQPwH33/VzKvpeAsCidzij63MBymhjlEWAAAECBAgQIECAAAEChRJw/12odjZ6MQLARtM5sBQBF6BS9BxLgAABAgQIECBAgAABAgTqJ+D+u35ORd9LAFj0Dmd0fS5AGW2MsggQIECAAAECBAgQIECgUALuvwvVzkYvRgDYaDoHliLgAlSKnmMJECBAgAABAgQIECBAgED9BNx/18+p6HsJAIve4YyuzwUoo41RFgECBAgQIECAAAECBAgUSsD9d6Ha2ejFCAAbTefAUgRcgErRcywBAgQIECBAgAABAgQIEKifgPvv+jkVfS8BYNE7nNH1uQBltDHKIkCAAAECBAgQIECAAIFCCbj/LlQ7G70YAWCj6RxYioALUCl6jiVAgAABAgQIECBAgAABAvUTcP9dP6ei7yUALHqHM7o+F6CMNkZZBAgQIECAAAECBAgQIFAoAfffhWpnoxcjAGw0nQNLEXABKkXPsQQIECBAgAABAgQIECBAoH4C7r/r51T0vQSARe9wRtfnApTRxiiLAAECBAgQIECAAAECBAol4P67UO1s9GIEgI2mc2ApAi5Apeg5lgABAgQIECBAgAABAgQI1E/A/Xf9nIq+lwCw6B3O6PpcgDLaGGURIECAAAECBAgQIECAQKEE3H8Xqp2NXowAsNF0DixFwAWoFD3HEiBAgAABAgQIECBAgACB+gm4/66fU9H3EgAWvcMZXZ8LUEYboywCBAgQIECAAAECBAgQKJSA++9CtbPRixEANprOgaUIuACVoudYAgQIECBAgAABAgQIECBQPwH33/VzKvpeAsCidzij63MBymhjlEWAAAECBAgQIECAAAEChRJw/12odjZ6MQLARtM5sBQBF6BS9BxLgAABAgQIECBAgAABAgTqJ+D+u35ORd9LAFj0Dmd0fS5AGW2MsggQIECAAAECBAgQIECgUALuvwvVzkYvRgDYaDoHliLgAlSKnmMJECBAgAABAgQIECBAgED9BNx/18+p6HsJAIve4YyuzwUoo41RFgECBAgQIECAAAECBAgUSsD9d6Ha2ejFCAAbTefAUgRcgErRcywBAgQIECBAgAABAgQIEKifgPvv+jkVfS8BYNE7nNH1uQBltDHKIkCAAAECBAgQIECAAIFCCbj/LlQ7G70YAWCj6RxYioALUCl6jiVAgAABAgQIECBAgAABAvUTcP9dP6ei7yUALHqHM7o+F6CMNkZZBAgQIECAAAECBAgQIFAoAfffhWpnoxcjAGw0nQNLEXABKkXPsQQIECBAgAABAgQIECBAoH4C7r/r51T0vQSARe9wRtfnApTRxiiLAAECBAgQIECAAAECBAol4P67UO1s9GIEgI2mc2ApAi5Apeg5lgABAgQIECBAgAABAgSqLfDld5PD0LEfhblatAjT/t+0/98idFulTfJ/s7y5/85yd6pXmwCwetZmmkHABcjpQIAAAQIECBAgQIAAAQJ5EhjzwRdhm78PqlHym+f0FgDmqYnNuFYBYDNuflMuXQDYlPrmJkCAAAECBAgQIECAAIGGCrzy/ueh54VP1jhsXN9fNnSYqu/v/rvq5JmcUACYybYUvygXoOL3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JAJA5wABAgQIECBAgAABAgQI5Fng/IdfDZc8+nq6hG3XWSZcumfHzC9JAJj5FlWlQAFgVZhNIgB0DhAgQIAAAQIECBAgQIBAngX++uAr4YrH30iXsMN6y4YLd18/80sSAGa+RVUpUABYFWaTCACdAwQIECBAgAABAgQIECCQZ4GzHng5XPPkm+kSdt6gXfjbLutmfkkCwMy3qCoF5iIAfPvtt8N1110XHnjggfDWW2+FL774IrRt2zasuOKKYYsttgi77rprWGutteoE69+/f7j66qvD8OHDw4cffpgc26lTp3DQQQeFXr161Qt68uTJ4dprrw3/+te/wiuvvBK+/PLLsOyyy4att946HH744WHNNdes1ziTJk0KF198cbj33nvDuHHjkmPiOnbYYYdwxBFHhCWWWKJe44wcOTJccsklYcCAAWHChAmhdevWoUOHDmGvvfYKBxxwQGjVqlW9ximHTb0mmmknF6DGqDmGAAECBAgQIECAAAECBJpK4LT7R4Ubnvr/+/i47d5p+dB3p3Waqpx6z+v+u95Uhd4x8wFgDLlOOOGE8NVXX9XZiBicXXjhhbN8/uOPPyYhXwwP69piWHbVVVeFueaaq859YmjXu3fvJECsbZt33nnDpZdemgRvs9uGDh2aBH3vv/9+rbsts8wySTDYufPsXyN+zTXXhD59+oTvv/++1nHi8TEsbdOmTZ3llMumsf91uAA1Vs5xBAgQIECAAAECBAgQINAUAif/Z2T4x5C30qn36rJCOOvXazdFKQ2a0/13g7gKu3OmA8AzzzwznHTSSQn+qquuGg488MDkyb1FFlkkfPTRR2HEiBHh3//+d+jSpUu44IILZmlSDA779u2b/H399dcPxx57bFh55ZXDG2+8Ec4999zk+LjF/c4+++xamzxlypSw+eabh8GDByef77jjjkkdiy++eIiBXqxx4sSJSYD43//+t84nCt95552wwQYbJE8gxqfzjjrqqLDtttsmY8bjYv3xKcMll1wyPPvss6Fdu3a11tOvX7+w3XbbhRjgLbXUUuEvf/lLsv6PP/44xGDwnnvuSY7r2rVrePzxx0PLli1rHaccNqX8V+ECVIqeYwkQIECAAAECBAgQIECg2gIn3PNSuHXY2+m0+26yYjj1V/X7NmC1a51xPvffTamfnbkzGwAOHDgw+Xpt3Pbee+/k67dz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57JtZS9aAFh2UgPWR8AFqD5K9iFAgAABAgQIECBAgACBphA4p//ocNUTY9Opt1t32XDJHus3RSklz+n+u2TCQgwgACxEG/O3CBeg/PVMxQQIECBAgAABAgQIEGguAkff8UK4+7l30+Xut+mK4ZTt1szl8t1/57JtZS9aAFh2UgPWR8AFqD5K9iFAgAABAgQIECBAgACBphDY5/ph4YkxH6ZTH9tztXDI5u2bopSS53T/XTJhIQYQABaijflbhAtQ/nqmYgIECBAgQIAAAQIECDQXgV9e/GQYNeHzdLnn7rxO2HXD5XO5fPffuWxb2YvOZADYokWLei20e/fu4fHHH5/tvv379w9XX311GD58ePjwww9D27ZtQ6dOncJBBx0UevXqVa95Jk+eHK699trwr3/9K7zyyivhyy+/DMsuu2zYeuutw+GHHx7WXLN+jwFPmjQpXHzxxeHee+8N48aNS+ZeccUVww477BCOOOKIsMQSS9SrnpEjR4ZLLrkkDBgwIEyYMCG0bt06dOjQIey1117hgAMOCK1atarXOOWwqddEtezkAtRYOccRIECAAAECBAgQIECAQKUFOp81IEz84rt0mhv27RS26LBkpaetyPjuvyvCmrtBCxsA/vjjj0nId91119XZlBiWXXXVVWGuueaqc58Y2vXu3TsJEGvb5p133nDppZcmwdvstqFDhyZB3/vvv1/rbssss0wSDHbu3Hm241xzzTWhT58+4fvvv691v3j8Aw88ENq0aVPnOOWyKeVsdwEqRc+xBAgQIECAAAECBAgQIFApgR9/nBpWObF/mDLt/07f7u/TNazdbpFKTVnRcd1/V5Q3N4NnOgD8wx/+EA455JA6MRdccMGw0kor1fr5CSecEPr27Zt8tv7664djjz02rLzyyuGNN94I5557bhgxYkTyWdzv7LPPrnWMKVOmhM033zwMHjw4+XzHHXcMBx54YFh88cVDDPTOPPPMMHHixCRA/O9//1vnE4XvvPNO2GCDDZInEOPTeUcddVTYdtttkzHjcRdccEGITxkuueSS4dlnnw3t2rWrtZ5+/fqF7bbbLsQAb6mllgp/+ctfQpcuXcLHH38cYjB4zz33JMd17do1eTKyZcuWFbMp9Qx3ASpV0PEECBAgQIAAAQIECBAgUAmBj7/6PnQ845EaQw85YcuwzCLzV2K6io/p/rvixLmYINMB4CmnnBJOPfXUBkOOGTMm+VpuDNU23HDDMGjQoDD//D/9h/r111+H+PXhZ555JgnkRo8eHdq3n/XHPK+//vqw//77J/PHIPKyyy6rUcvrr7+eBHuff/55cnwcp7av3+69997h5ptvTo694447wi677FJjnPi33XbbLfnbPvvsE2688cZZ1vzDDz8kX/MdO3ZsWHjhhcNzzz2XBJozboceemi4/PLLkz/dcMMNYd99951lnHLZNLgpMx3gAlSqoOMJECBAgAABAgQIECBAoBICYz74Imzz90E1hh5zZq8wT6u6vz1YiTrK48DpXQAAIABJREFUNab773JJ5nucQgaAMay74oorks4MGTIkbLTRRrN06emnnw4bb7xx8vfawr349zXWWCMJ9eITf/EpvgUWWGCWceJThvEpwrjVFu7Fr/wut9xyyVN7PXr0CA8++GCtZ0zPnj3DQw89lDxNOH78+LD00kvX2G/GkPCcc84Jxx9//CzjxGAzPj34ySefJLWPGjVqln3KZVPqae8CVKqg4wkQIECAAAECBAgQIECgEgL/e31S2PPaoenQiy4wd3j+5G0qMVVVxnT/XRXmzE9SuABw6tSpSQgWX44Rn5iLAV5dW/z81VdfTQK6GPDN+PKR+KTcaqutlhx68MEHp4HizGPFgC/+fl/c9thjj3DLLbfU2CW+gOT3v/998rfbbrstfdJv5nHiZ/H4uMXfJYy/Xzjjtueee4Zbb701+dN77703S0A4fd9Yazw+bnFtq666ajpMuWzKcVa7AJVD0RgECBAgQIAAAQIECBAgUG6B/zw/Phxx2/PpsO2XbB0GHNW93NNUbTz331WjzvREhQsA41dkp381NgZvV155ZZ0NiJ/HgC5u8bgZf09wxq//xuBt9913r3OcGBTGwHCFFVYIb731Vo39Zvz67+yCu/hZfLNw3OIxN910U41x4tgxpIxzxTcR17XFWmNYGLe4hv322y/dtVw25TijXYDKoWgMAgQIECBAgAABAgQIECi3wLVPjg1nPvDTw0Qb/XzxcNtB//8Nwjxu7r/z2LXy15zpADB+jTU+tTZu3LjkhRbxa7GbbLJJ8tt2W2yxRa0a8aUa8UUZcfv73/8ejjzyyDrV4ufxhRxxi2/OjW/7nb796U9/Cueff37yz/jCkPXWW6/Ocbbffvtw3333JU8QfvHFFyG+nGT6Fn+DML7YY5FFFgmffvrpbDsY94m/J9ipU6cwbNiwdN8vv/wyLLTQQsm/41zxbcF1bbHWjh07Jh8fc8wxyQtPpm/lsinHaegCVA5FYxAgQIAAAQIECBAgQIBAuQX69n8lXPnEG+mw2627bLhkj/XLPU3VxnP/XTXqTE+U6QBwdnI77LBD8rKMGJrNuMUn/uLbg+N25513hp133rnOYe666670hRzxuOlf1Y0HxCf+br/99uTY+PbeNm3a1DlOnz590heExKfzpn91OB4QQ8sPPvggeSnJyJEjZ3syrLXWWsnv9sVj4hOB07c45uqrr578M77o49JLL61znEmTJoW2bdsmn8c1TP/acPx3uWzqc0bHC8zstri+zp07J7vEJxvrevNxfeayDwECBAgQIECAAAECBAgQKJfAn+58Idz17E/3tPttumI4Zbs1yzV81ccRAFadPJMTZjIAjE/Q/epXvwpbbbVV8jt+rVu3TkK4J554IgmxPvroowQzvsn3kUceCXPPPXeKe95554Vjjz02+Xf//v1DfLlGXVv8fPpTf3/729/C0Ucfne76y1/+MvTr1y/59zfffBPmm2++Osc57rjj0ift4puF45uBp29xLfHlHF26dAnxxSOz2+I+8cm/uN74JOH0bfjw4WlYFueKLx6pa4u1Tn9Zybbbbhvuv//+stvU50ye8fcU57S/AHBOQj4nQIAAAQIECBAgQIAAgWoJ7HvDsPD4qx+m0x3TY7Vw6BbtqzV92ecRAJadNJcDZjIAjF+VXXTRRWsFjU/T9erVK/labtwuuuiicPjhh6f7nnHGGeHkk09O/j1w4MCw5ZZb1tmYRx99NAkZ4xaPO/HEE9N949/j53GbMmVK8nbeurY4Xzw+bk8++WTo2rVrumv86nJ8A/Bmm20WBg2q+Rrxmcfr1q1bcnw8ZvLkyenH8W/xs7iddNJJ4fTTT6+zljhXPD5ucQ0DBgwou02dk8/wgQCwPkr2IUCAAAECBAgQIECAAIGsCfS66Mkw+r3P07LO3XmdsOuGy2etzHrXIwCsN1Whd8xkADgn8fgyi/hk4A8//BDat28fXnvttfQQTwBm4wlAXwGe01nscwIECBAgQIAAAQIECBDIosD6pz8cPvn6h7S0m/fvHDZb5f9/aiuPmwAwj10rf825DAAjw4xf0R0/fnz6Bt1y/c6d3wCs+/cRy3EaugCVQ9EYBAgQIECAAAECBAgQIFBOgW9/mBI6nPRgjSEf+WO3sMpS//9izjxu7r/z2LXy15zbADC+4Tb+bl/c4u/mxTfnxq1cb7rN0luA4+8BLrzwwsn6vAW4/P8RGJEAAQIECBAgQIAAAQIECESBtz/6OnQ777EaGC+euk1YeL6f3j2QNykBYN46Vpl6cxsAxhd9xK/7zhwAxq8Hr7zyysnf41t94xOBdW3x86uvvjr5OB630korpbtef/31Yf/990/+Hd+kG58IrGuLb/0dM2ZMWGGFFcJbb71VY7e999473Hzzzcnf4ptv4xt+a9viZ8suu2zyUTzmpptuqrFbHDu+LCPOFd8KXNcWa91zzz2Tj+Ma9ttvv3TXctnUOXkDPnABagCWXQkQIECAAAECBAgQIECgKgLD3vw47HrVkHSuBeZpGUad1iM05Hfuq1JoAyZx/90ArALvmtsAML7h9oEHHkhaE0/m5ZZbLvnfU6dODe3atQsTJkxIfidw9OjRdbZv9dVXT8K0eGwM12b8DzoGejFsi9vBBx8crrjiilrHef/998MyyyyTfLbHHnuEW265pcZ+MWCMQWPcbrvttrDbbrvVOk78LB4ft6uuuiocdNBBNfaLoV4M9+I2uyAx1hqPj9urr74aVl111XScctmU478HF6ByKBqDAAECBAgQIECAAAECBMop8J/nx4cjbns+HfLnbRcMjx69eTmnqPpY7r+rTp7JCXMZAL755ptJuPf9998nT/u9/vrrNXAPOeSQNLAbMmRI2GijjWbBf/rpp8PGG2+c/D3uf9lll82yzxprrJEEiIsvvngSEC6wwAKz7NO3b99wwgknJH+/4447wi677FJjnxgQxoAxvp23R48e4cEHa/6WwPSde/bsGR566KHkbcPxNw1nflIwjj09PDznnHPC8ccfP0stX3/9dRJ+fvLJJyHWPmrUqFn2KZdNqWezC1Cpgo4nQIAAAQIECBAgQIAAgXILXD3ojXB2v5++dbfJykuEWw6cNVMo97yVHM/9dyV18zN25gLA+++/P/Tq1Su0atWqVsUPPvgg+XzEiBHJ5+eff3446qijauwbn96LAdiUKVPChhtuGAYNGhTmn3/+dJ9vvvkmdOvWLTzzzDPJPC+//HJYZZVVZplvxq8BH3rooeHSSy+tsc8bb7wROnbsGD7//PPkbcQxLKyt7hm/BnznnXeGnXfeucY48W+77rpr8rd99tkn3HjjjbPUEt94HEPP+DXe+HuAzz33XPpV5+k7xxovv/zy5J833HBD2HfffWcZp1w2pZ7iLkClCjqeAAECBAgQIECAAAECBMotcPr9L4frn3ozHXbH9ZcLF+y2Xrmnqep47r+ryp3ZyTIXAK644oohhl077bRT8oRe/HcM7yZNmhQef/zx5Out8X/HrWvXrmHAgAFh3nnnnQU4PpUXn86L2/rrrx+OO+64JDCLod1f//rXNECM+5199tm1NigGiN27dw9PPfVU8nms6cADDwyLLbZY8uKRM844I0ycODF5ai++fCQGk7Vt8enBDTbYIHz44YdJQHj00UeH+BXmuMXjYog5efLk0LZt2yTYi0/x1bb169cvbLfddsnThEsttVQ48cQTQ+fOnZMn/q655ppw9913py7RqmXLlrWOUw6bUs9oF6BSBR1PgAABAgQIECBAgAABAuUWOPRfz4UHXnovHfYPm68cjuvZodzTVHU8999V5c7sZJkMAGd+kUZtejGMu/baa8Oiiy5aK24MyWJYF5/iq2uLL/mIv9EXA7y6thg29u7dOwwfPrzWXWL4GJ8MPOCAA2bb5KFDh4YddtghxK8E17bFr/zee++9oUuXLrMdJwZ9ffr0Sb7+XNsWA8H424ht2rSpc5xy2ZRyVrsAlaLnWAIECBAgQIAAAQIECBCohMCOlz8Vnnv703To0361ZthnkxUrMVXVxnT/XTXqTE+UuQDwiSeeCPH/x9/ui193jQFc/Ipt69atw/LLLx822WST5Guy03+/b0668am5GPLFAC+OFYOxTp06JS/mqOuJvZnHjE/nxeAtvuAjfs33q6++St7Yu9VWW4UjjjgirLnmmnMqI/k8zn/RRRclQd+4ceOSv8U3D2+//fbhyCOPDEsssUS9xhk5cmS4+OKLw8CBA5OXnSy44IIhvtBkr732SoLIur4+PfPg5bCpV8G17OQC1Fg5xxEgQIAAAQIECBAgQIBApQQ27ftoGP/pN+nwV/12g9BjzaUrNV1VxnX/XRXmzE+SuQAw82IKLIuAC1BZGA1CgAABAgQIECBAgAABAmUS+PHHqWHVE/uHydP+7/TtP4duGtZdvvZvHpZp2ooP4/674sS5mEAAmIs2Fa9IF6Di9dSKCBAgQIAAAQIECBAgkGeBD7/4LnQ6a0CNJQz981ZhqYXny/OygvvvXLevbMULAMtGaaCGCLgANUTLvgQIECBAgAABAgQIECBQaYGX3v0sbHfp4HSalnO1CGPO7BXi/83z5v47z90rX+0CwPJZGqkBAi5ADcCyKwECBAgQIECAAAECBAhUXOCRlz8IB/7jmXSepac9+ff0tCcA8765/857B8tTvwCwPI5GaaCAC1ADwexOgAABAgQIECBAgAABAhUVuPnpt8JJ945M51hv2m//3TvtNwDzvrn/znsHy1O/ALA8jkZpoIALUAPB7E6AAAECBAgQIECAAAECFRX420Ovhksfez2do+e0t/9eOe0twHnf3H/nvYPlqV8AWB5HozRQwAWogWB2J0CAAAECBAgQIECAAIGKChx1+/PhnhHj0zn23WTFcOqv1qzonNUY3P13NZSzP4cAMPs9KmSFLkCFbKtFESBAgAABAgQIECBAILcCu141JAx78+O0/hN/uXo4YLOf53Y90wt3/537FpZlAQLAsjAapKECLkANFbM/AQIECBAgQIAAAQIECFRSYNO+j4bxn36TTnHFXh1Dr7WXqeSUVRnb/XdVmDM/iQAw8y0qZoEuQMXsq1URIECAAAECBAgQIEAgjwKTp/wYVjvpwTDlx6lp+ff12TSs027RPC6nRs3uv3PfwrIsQABYFkaDNFTABaihYvYnQIAAAQIECBAgQIAAgUoJvPvJ16HrXx+rMfyzJ24dlmg9b6WmrNq47r+rRp3piQSAmW5PcYtzASpub62MAAECBAgQIECAAAECeRMYOvajsNvVT6dlzz93y/Dy6T1CixYt8raUWep1/537FpZlAQLAsjAapKECLkANFbM/AQIECBAgQIAAAQIECFRK4J7n3g1H3fFCOnz7JVuHAUd1r9R0VR3X/XdVuTM7mQAws60pdmEuQMXur9URIECAAAECBAgQIEAgTwKXDHwtnP/ImLTk7qu2DTf9rnOellBnre6/C9HGkhchACyZ0ACNEXABaoyaYwgQIECAAAECBAgQIECgEgLH3/1iuG34O+nQe3VZIZz167UrMVXVx3T/XXXyTE4oAMxkW4pflAtQ8XtshQQIECBAgAABAgQIEMiLwG+uHRoGvz4pLffYnquFQzZvn5fyZ1un++9CtLHkRQgASyY0QGMEXIAao+YYAgQIECBAgAABAgQI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GzYY1zTf8OHD/QJGR0cbOwx//PFH4/rdd98tDzzwgOTPn180oPfSSy8ZbdEA4jfffBNwR+G+ffukZs2axg5E3Z332GOPSdu2bY0y9b633nrLCGxq39atWyfFixf32565c+fK7bffLupRpEgReeaZZ6Ru3bpy4sQJ0cDg7NmzjfsaNmwoS5YskchI/x83DYVNmp64/7+JCSgYPe5FAAEEEEAAAQQQQAABBBBISmDxb0ek19R/NvFkyxQpG1+4TTJGBt7841ZR1t9uHdnU9csxAcCRI0fKv//9b+M113bt2skrr7xi9DRQAHD79u3Ga7kaVKtVq5YsXbpUsmXLZuqcP39emjRpImvXrjUCclu3bpVy5col0ps8ebL07t3b+L1///4yZswYnzw7duwwAnunT5827tdy/L1+2717d/noo4+Me2fOnCkdO3b0KUd/69y5s/Fbjx49ZOrUqYnacuXKFaP/u3btkty5c8v69euNgGb8NGDAABk7dqzx05QpU6Rnz56JygmVTeoeNd/cTEDB6HEvAggggAACCCCAAAIIIIBAUgIjF26XkQt/N7PULpVPZvVr4Ek01t+eHPZEnXZEAPCPP/4wgnn63T3d1aZBv//+979GZwIFADVYN27cOCPPihUrjN2DCdPKlSulfv36xs/+gnv6e6VKlYygnu7401182bNnT1SO7jLUHXWa/AX39JXfa6+91ti116JFC5k/f77fp69ly5ayYMECYzfh/v375ZprrvHJFz9IqAHQIUOGJCpHA5u6e/DkyZNG2zdv3pwoT6hsgvkTYgIKRo97EUAAAQQQQAABBBBAAAEEkhLoNWW1LN521MzSu2Fpea5tJU+isf725LAn6rQjAoD6yqu+Jhu3M+6FF15IMgAYExNjBMH0cAzdMacBvEBJr2/bts0I0GmAL0OGDGZW3Sl3ww03GP/u16+fGVBMWJYG+PT7fZq6dOki06dP98miB5A8+OCDxm8zZswwd/olLEev6f2a9LuE+v3C+Klr167y8ccfGz8dPHgwUYAwLq+2Ve/XpH0rX768WUyobIL982ECClaQ+xFAAAEEEEAAAQQQQAABBPwJ6Lq3+rDv5K/zV8zLo7pUlzuqFvMkGOtvTw57ok7bPgAYt+tNd+BpMEsPtkguAKivyMa9GquBt/Hjxwccbb2uATpNel/p0qXNvPFf/9XA2z33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vmpz58615s2bW8+ePe3444+30047zcrKynzlE4SNrwdVuogBqDZq3IMAAggggAACCCAQZYHZ366wG16abCM+yb/P30nePn/n7O3t8+cFAUkIIIBAKQSYf5dCOfrPiGQAsF69ennlCgkArlu3zgX5/v73v+fNT8Gy+++/3+rXz3/CloJ2Bx10kAsg5kqNGjWyu+66ywXeqkvvvfeeC/R9/XXuDwTt2rVzgcF+/fpVm8+DDz5oQ4YMsdWrV+e8TvcPHz7cWrdunTefoGxq28UZgGorx30IIIAAAggggAACURNY9sMau2fkdHtI+/ytWZezeHv3bGuXHdzLurDPX9Saj/IgkHgB5t+Jb2JfFYx8ALBjx45uZdt//vMfV6FCAoBDhw61G2+80d2300472UUXXWRdunSxGTNm2M0332wTJkxwP9N1119/fU6wtWvX2qBBg+zNN990P//Vr35lp59+urVs2dIU0LvuuutMKxYVQHzxxRfzriicPXu27bLLLm4FolbnnX/++XbIIYe4PHXfX//6V9Mqw7Zt29r7779vHTp0yFmeESNG2KGHHmoK4G2++eZ22WWXWf/+/e3bb781BQafe+45d9/uu+9uo0aNsgYNGuTMJwgbXz0sz0UMQMXocS8CCCCAAAIIIIBAFATWaZ+/D77y9vmbagu/z73PX7e2ze1yb5+/vbqzz18U2owyIJBGAebfaWz1qnWOZADwqquucq/o6j8FufSqbOfOnV3p/QYAp02b5l7LVVCtT58+Nnr0aGvSpEm5wIoVK2yvvfay8ePHu4Dc5MmTrWvXrlWEHn74YTv11FPd35911ll29913V7hm+vTpLrC3dOlSd7/yyfX67YknnmiPP/64u/fpp5+2o446qkI++rtjjjmm2jr++OOPLhj6+eef28Ybb2wffPCBC2hmp7PPPtvuuece91ePPPKInXzyyVXqFJRNMf+EGICK0eNeBBBAAAEEEEAAgbAFxn7xrbfP36c2cU7uff421T5/P+9ux/XraGUN8r9tFHY9eD4CCCRfgPl38tvYTw0jGQCsXPDaBAAVrLv33ntdVu+8847tuuuuVTzeffddGzBggPv7XME9/X3v3r1dUE8r/rSKr2nTplXy0SpDrahTyhXc0yu/7du3d6v29t9/f3v55Zdzts0BBxxgr7zyiltNOGfOHNtiiy0qXJcdJLzh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QAABBBBAAAEEEEAgZQLMv1PW4HmqSwCQfhCKAANQKOw8FAEEEEAAAQQQQAABBBBAIGUCzL9T1uAEAGnwKAkwAEWpNSgLAggggAACCCCAAAIIIIBAUgWYfye1ZQurFysAC/Pi6oAEZs6caZ07d3a5jR071tq1axdQzmSDAAIIIIAAAggggAACCCCAAAIZgXnz5lm/fv3cH7/44gvr1KkTOCkUIACYwkaPQpXHjRtXPgBFoTyUAQEEEEAAAQQQQAABBBBAAIGkC2gBTt++fZNeTeqXQ4AAIN0iFAECgKGw81AEEEAAAQQQQAABBBBAAIEUCxAATG/jEwBMb9uHWvNVq1bZJ5984srQpk0bKysrC7U8fh6evWya15b9iHFNXATo23FpKcpZiAD9uhAtro2TAH07Tq1FWf0K0K/9SnFd3ASi0rfXrFljCxcudHzbb7+9NW7cOG6UlDcAAQKAASCSRToE2Dg1He2cxlrSt9PY6smvM/06+W2c1hrSt9Pa8smuN/062e2b5trRt9Pc+tGrOwHA6LUJJYqoAIN3RBuGYhUtQN8umpAMIihAv45go1CkQATo24EwkknEBOjXEWsQihOYAH07MEoyCkCAAGAAiGSRDgEG73S0cxprSd9OY6snv8706+S3cVprSN9Oa8snu97062S3b5prR99Oc+tHr+4EAKPXJpQoogIM3hFtGIpVtAB9u2hCMoigAP06go1CkQIRoG8HwkgmEROgX0esQShOYAL07cAoySgAAQKAASCSRToEGLzT0c5prCV9O42tnvw606+T38ZprSF9O60tn+x606+T3b5prh19O82tH726EwCMXptQoogKMHhHtGEoVtEC9O2iCckgggL06wg2CkUKRIC+HQgjmURMgH4dsQahOIEJ0LcDoySjAAQIAAaASBbpEGDwTkc7p7GW9O00tnry60y/Tn4bp7WG9O20tnyy602/Tnb7prl29O00t3706k4AMHptQokiKsDgHdGGoVhFC9C3iyYkgwgK0K8j2CgUKRAB+nYgjGQSMQH6dcQahOIEJkDfDoySjAIQIAAYACJZIIAAAggggAACCCCAAAIIIIAAAgggEFUBAoBRbRnKhQACCCCAAAIIIIAAAggggAACCCCAQAACBAADQCQLv1pt/gAAIABJREFUBBBAAAEEEEAAAQQQQAABBBBAAAEEoipAADCq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OA899JBbDZErKUimYJ2+Vc+XTj31VBeUVgAvX1IQR69njRs3LuclCj5qZWDl4E7li9977z07/PDDTa8E50p65ff555/Pu3dm5h4F+oYMGeJWyeRKCgjq35f2lCKVVkABvcqHt1RXgkywo/I19N38fTcom9L2jPg/rdi+nZlM1iShbRZuu+02F9SrLinQrnFZqwRzJa2SfuKJJ8q/aMmXV1CfV/RGg74QyvdvWmXVFzSNGzfOWy19UarV4fqiJ1fS76krrriCNydq6kQ+f15dsC9XFlrhqVVRuVJQ41ISP28EZeOzWbnMEwiibzNmM2bzj+m/AgQA6Q0I+BBQAOf22293gQjtf6NvThXw0/5oCl7k2kvNR7ZckgIBndao//Qal1aG6AOxgslaUbrVVlu5E6T1mmxmg/eaSDSZUpBPATzlpcBY37593cEc+VbsVc5Tq/MUeNMBH3rNVydLamXGPvvsY3ptaNttt62pGO7ner7+XSjQl5lI6OThww47zK32yH51rLoMJ06caHfccYe99tprbpWJTt7WfljHH3+8C0TmO4HbVyG5qNYCxQZJKj+Yvpu/KYKwqXVDp/DGYvu2Vu298MILblzX6n8dZKTxUGOrVlRrDNV4qvErszKwJmaNw1opqC0UFBDUlyL6HaFgm8ZlBWz8pKA+r2i1ocozZswY01YV+nJKKx11EnvmgCc/5dHvGW0D8dFHH9mSJUvcau899tjDfXby+3vPz3PSfk0QQRLGbP+fNxizS/cvLoi+zZi94VA+P4kx249SvK8hABjv9qP0CCCAAAIIIIAAAggggAACCCCAAAIIVCtAAJAOggACCCCAAAIIIIAAAggggAACCCCAQIIFCAAmuHGpGgIIIIAAAggggAACCCCAAAIIIIAAAgQA6QMIIIAAAggggAACCCCAAAIIIIAAAggkWIAAYIIbl6ohgAACCCCAAAIIIIAAAggggAACCCBAAJA+gAACCCCAAAIIIIAAAggggAACCCCAQIIFCAAmuHGpGgIIIIAAAggggAACCCCAAAIIIIAAAgQA6QMIIIAAAggggAACCCCAAAIIIIAAAggkWIAAYIIbl6ohgAACCCCAAAIIIIAAAggggAACCCBAAJA+gAACCCCAAAIIIIAAAggggAACCCCAQIIFCAAmuHGpGgIIIIAAAggggAACCCCAAAIIIIAAAgQA6QMIIIAAAggggAACCCCAAAIIIIAAAggkWIAAYIIbl6ohgAACCCCAAAIIIIAAAggggAACCCBAAJA+gAACCCCAAAIIIIAAAggggAACCCCAQIIFCAAmuHGpGgIIIIAAAggggAACCCCAAAIIIIAAAgQA6QMIIIAAAggggAACCCCAAAIIIIAAAggkWIAAYIIbl6ohgAACCCCAAAIIIIAAAggggAACCCBAAJA+gAACCCCAAAIIIIAAAggggAACCCCAQIIFCAAmuHGpGgIIIIAAAggggAACCCCAAAIIIIAAAgQA6QMIIIAAAggggAACCCCAAAIIIIAAAggkWIAAYIIbl6ohgAACCCCAAAIIIIAAAggggAACCCBAAJA+gAACCCCAAAIIIIAAAggggAACCCCAQIIFCAAmuHGpGgIIIIAAAggggAACCCCAAAIIIIAAAgQA6QMIIIAAAggggAACCCCAAAIIIIAAAggkWIAAYIIbl6ohgAACCCCAAAIIIIAAAggggAACCCBAAJA+gAACCCCAAAIIIIAAAggggAACCCCAQIIFCAAmuHGpGgIIIIAAAggggAACCCCAAAIIIIAAAgQA6QMIIIAAAggggAACCCCAAAIIIIAAAggkWIAAYIIbl6ohgAACCCCAAAIIIIAAAggggAACCCBAAJA+gAACCCCAAAIIIIAAAggggAACCCCAQIIFCAAmuHGpGgIIIIAAAggggAACCCCAAAIIIIAAAgQA6QMIIIAAAggggAACCCCAAAIIIIAAAggkWIAAYIIbl6ohgAACCCCAAAIIIIAAAggggAACCCBAAJA+gAACCCCAAAIIIIAAAggggAACCCCAQIIFCAAmuHGpGgIIIIAAAggggAACCCCAAAIIIIAAAgQA6QMIIIAAAggggAACCCCAAAIIIIAAAggkWIAAYIIbl6ohgAACCCCAAAIIIIAAAggggAACCCBAAJA+gAACCCCAAAIIIIAAAggggAACCCCAQIIFCAAmuHGpGgIIIIAAAggggAACCCCAAAIIIIAAAgQA6QMIIIAAAggggAACCCCAAAIIIIAAAggkWIAAYIIbl6ohgAACCCCAAAIIIIAAAggggAACCCBAAJA+gAACCCCAAAIIIIAAAggggAACCCCAQIIFCAAmuHGpGgIIIIAAAggggAACCCCAAAIIIIAAAgQA6QMIIIAAAggggAACCCCAAAIIIIAAAggkWIAAYIIbl6ohgAACCCCAAAIIIIAAAggggAACCCBAAJA+gAACCCCAAAIIIIAAAggggAACCCBy+QOSAAAB/klEQVSAQIIFCAAmuHGpGgIIIIAAAggggAACCCCAAAIIIIAAAgQA6QMIIIAAAggggAACCCCAAAIIIIAAAggkWIAAYIIbl6ohgAACCCCAAAIIIIAAAggggAACCCBAAJA+gAACCCCAAAIIIIAAAggggAACCCCAQIIFCAAmuHGpGgIIIIAAAggggAACCCCAAAIIIIAAAgQA6QMIIIAAAggggAACCCCAAAIIIIAAAggkWIAAYIIbl6ohgAACCCCAAAIIIIAAAggggAACCCBAAJA+gAACCCCAAAIIIIAAAggggAACCCCAQIIFCAAmuHGpGgIIIIAAAggggAACCCCAAAIIIIAAAgQA6QMIIIAAAggggAACCCCAAAIIIIAAAggkWIAAYIIbl6ohgAACCCCAAAIIIIAAAggggAACCCBAAJA+gAACCCCAAAIIIIAAAggggAACCCCAQIIFCAAmuHGpGgIIIIAAAggggAACCCCAAAIIIIAAAgQA6QMIIIAAAggggAACCCCAAAIIIIAAAggkWIAAYIIbl6ohgAACCCCAAAIIIIAAAggggAACCCBAAJA+gAACCCCAAAIIIIAAAggggAACCCCAQIIFCAAmuHGpGgIIIIAAAggggAACCCCAAAIIIIAAAgQA6QMIIIAAAggggAACCCCAAAIIIIAAAggkWOD/B2KN49dJE50UAAAAAElFTkSuQmCC\" width=\"640\">"
|
||
],
|
||
"text/plain": [
|
||
"<IPython.core.display.HTML object>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"%matplotlib notebook\n",
|
||
"y = posts.sort_values(by='likes')['likes'].cumsum()\n",
|
||
"plt.plot(y.reset_index(drop=True))\n",
|
||
"plt.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 8,
|
||
"id": "1b9264f4",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"0.34267927903861023"
|
||
]
|
||
},
|
||
"execution_count": 8,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"np.sum(posts['likes'] == 0) / posts.shape[0]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 9,
|
||
"id": "6744b53f",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"0.6709449969440499"
|
||
]
|
||
},
|
||
"execution_count": 9,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"np.sum(posts['likes'] <= 1) / posts.shape[0]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "187f935d",
|
||
"metadata": {},
|
||
"source": [
|
||
"Likes per account"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 10,
|
||
"id": "e9b4f141",
|
||
"metadata": {},
|
||
"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>account</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>did:plc:lsmyaz23a3i3r75qki423npq</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>did:plc:wd5brnxbsbcexgmvnkenkfm3</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>did:plc:kdqmfumjc75chgkf7npqw5hz</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>did:plc:pcdqvg6ox7mp67s4wowpqmiu</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>did:plc:dmmive6fhnvwl5clkhv4tpbc</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>91071</th>\n",
|
||
" <td>did:plc:tru4524pbky2wgxuf37oat6d</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>91072</th>\n",
|
||
" <td>did:plc:7w4gxtfhm5twmuddq2bdgdkn</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>91073</th>\n",
|
||
" <td>did:plc:kwitm3p4rrv5tfy4hx2ayrzb</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>91074</th>\n",
|
||
" <td>did:plc:tjqi5lvhbzfs22x2fivei2kk</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>91075</th>\n",
|
||
" <td>did:plc:3dsgnxr4tjubb437zrwlmyox</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>91076 rows × 1 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" account\n",
|
||
"0 did:plc:lsmyaz23a3i3r75qki423npq\n",
|
||
"1 did:plc:wd5brnxbsbcexgmvnkenkfm3\n",
|
||
"2 did:plc:kdqmfumjc75chgkf7npqw5hz\n",
|
||
"3 did:plc:pcdqvg6ox7mp67s4wowpqmiu\n",
|
||
"4 did:plc:dmmive6fhnvwl5clkhv4tpbc\n",
|
||
"... ...\n",
|
||
"91071 did:plc:tru4524pbky2wgxuf37oat6d\n",
|
||
"91072 did:plc:7w4gxtfhm5twmuddq2bdgdkn\n",
|
||
"91073 did:plc:kwitm3p4rrv5tfy4hx2ayrzb\n",
|
||
"91074 did:plc:tjqi5lvhbzfs22x2fivei2kk\n",
|
||
"91075 did:plc:3dsgnxr4tjubb437zrwlmyox\n",
|
||
"\n",
|
||
"[91076 rows x 1 columns]"
|
||
]
|
||
},
|
||
"execution_count": 10,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"accounts = pd.concat([likes['subjectDid'], likes['authorDid'], posts['authorDid']])\n",
|
||
"\n",
|
||
"accounts = pd.DataFrame({'account': accounts.unique()})\n",
|
||
"\n",
|
||
"accounts"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 11,
|
||
"id": "05c7fe61",
|
||
"metadata": {},
|
||
"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>account</th>\n",
|
||
" <th>likes</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>did:plc:222ocxmd3qfo5pn7juncj5ds</td>\n",
|
||
" <td>5</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>did:plc:222p42fegwhwfyrc3gqam76j</td>\n",
|
||
" <td>10</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>did:plc:222rnvnta2lbl364bog2plxw</td>\n",
|
||
" <td>5</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>did:plc:223bx4usklxh4ub66jh6kdwa</td>\n",
|
||
" <td>2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>did:plc:223lngzlhynd26g772d4fwsc</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>54217</th>\n",
|
||
" <td>did:plc:zzxhygmujxo3k64ailvouiti</td>\n",
|
||
" <td>5</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>54218</th>\n",
|
||
" <td>did:plc:zzxwledpqf7ob7svaf675k4c</td>\n",
|
||
" <td>3</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>54219</th>\n",
|
||
" <td>did:plc:zzza7zo2lho4etts27epjgpc</td>\n",
|
||
" <td>3</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>54220</th>\n",
|
||
" <td>did:plc:zzzfnodmpmaqmyugvi77j7bi</td>\n",
|
||
" <td>5</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>54221</th>\n",
|
||
" <td>did:plc:zzzjyeyecqee2ejfgxxobm7e</td>\n",
|
||
" <td>4</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>54222 rows × 2 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" account likes\n",
|
||
"0 did:plc:222ocxmd3qfo5pn7juncj5ds 5\n",
|
||
"1 did:plc:222p42fegwhwfyrc3gqam76j 10\n",
|
||
"2 did:plc:222rnvnta2lbl364bog2plxw 5\n",
|
||
"3 did:plc:223bx4usklxh4ub66jh6kdwa 2\n",
|
||
"4 did:plc:223lngzlhynd26g772d4fwsc 1\n",
|
||
"... ... ...\n",
|
||
"54217 did:plc:zzxhygmujxo3k64ailvouiti 5\n",
|
||
"54218 did:plc:zzxwledpqf7ob7svaf675k4c 3\n",
|
||
"54219 did:plc:zzza7zo2lho4etts27epjgpc 3\n",
|
||
"54220 did:plc:zzzfnodmpmaqmyugvi77j7bi 5\n",
|
||
"54221 did:plc:zzzjyeyecqee2ejfgxxobm7e 4\n",
|
||
"\n",
|
||
"[54222 rows x 2 columns]"
|
||
]
|
||
},
|
||
"execution_count": 11,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"account_likes = likes.groupby('subjectDid'\n",
|
||
" ).agg(likes=('uri', 'count')\n",
|
||
" ).reset_index(\n",
|
||
" ).rename(columns={'subjectDid':'account'})\n",
|
||
"account_likes"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 12,
|
||
"id": "956aa546",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"accounts = accounts.merge(account_likes, left_on='account', right_on='account', how='left')\n",
|
||
"accounts.loc[accounts['likes'].isna(), 'likes'] = 0"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 13,
|
||
"id": "152aa08c",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"application/javascript": [
|
||
"/* Put everything inside the global mpl namespace */\n",
|
||
"/* global mpl */\n",
|
||
"window.mpl = {};\n",
|
||
"\n",
|
||
"mpl.get_websocket_type = function () {\n",
|
||
" if (typeof WebSocket !== 'undefined') {\n",
|
||
" return WebSocket;\n",
|
||
" } else if (typeof MozWebSocket !== 'undefined') {\n",
|
||
" return MozWebSocket;\n",
|
||
" } else {\n",
|
||
" alert(\n",
|
||
" 'Your browser does not have WebSocket support. ' +\n",
|
||
" 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
|
||
" 'Firefox 4 and 5 are also supported but you ' +\n",
|
||
" 'have to enable WebSockets in about:config.'\n",
|
||
" );\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
|
||
" this.id = figure_id;\n",
|
||
"\n",
|
||
" this.ws = websocket;\n",
|
||
"\n",
|
||
" this.supports_binary = this.ws.binaryType !== undefined;\n",
|
||
"\n",
|
||
" if (!this.supports_binary) {\n",
|
||
" var warnings = document.getElementById('mpl-warnings');\n",
|
||
" if (warnings) {\n",
|
||
" warnings.style.display = 'block';\n",
|
||
" warnings.textContent =\n",
|
||
" 'This browser does not support binary websocket messages. ' +\n",
|
||
" 'Performance may be slow.';\n",
|
||
" }\n",
|
||
" }\n",
|
||
"\n",
|
||
" this.imageObj = new Image();\n",
|
||
"\n",
|
||
" this.context = undefined;\n",
|
||
" this.message = undefined;\n",
|
||
" this.canvas = undefined;\n",
|
||
" this.rubberband_canvas = undefined;\n",
|
||
" this.rubberband_context = undefined;\n",
|
||
" this.format_dropdown = undefined;\n",
|
||
"\n",
|
||
" this.image_mode = 'full';\n",
|
||
"\n",
|
||
" this.root = document.createElement('div');\n",
|
||
" this.root.setAttribute('style', 'display: inline-block');\n",
|
||
" this._root_extra_style(this.root);\n",
|
||
"\n",
|
||
" parent_element.appendChild(this.root);\n",
|
||
"\n",
|
||
" this._init_header(this);\n",
|
||
" this._init_canvas(this);\n",
|
||
" this._init_toolbar(this);\n",
|
||
"\n",
|
||
" var fig = this;\n",
|
||
"\n",
|
||
" this.waiting = false;\n",
|
||
"\n",
|
||
" this.ws.onopen = function () {\n",
|
||
" fig.send_message('supports_binary', { value: fig.supports_binary });\n",
|
||
" fig.send_message('send_image_mode', {});\n",
|
||
" if (fig.ratio !== 1) {\n",
|
||
" fig.send_message('set_device_pixel_ratio', {\n",
|
||
" device_pixel_ratio: fig.ratio,\n",
|
||
" });\n",
|
||
" }\n",
|
||
" fig.send_message('refresh', {});\n",
|
||
" };\n",
|
||
"\n",
|
||
" this.imageObj.onload = function () {\n",
|
||
" if (fig.image_mode === 'full') {\n",
|
||
" // Full images could contain transparency (where diff images\n",
|
||
" // almost always do), so we need to clear the canvas so that\n",
|
||
" // there is no ghosting.\n",
|
||
" fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
|
||
" }\n",
|
||
" fig.context.drawImage(fig.imageObj, 0, 0);\n",
|
||
" };\n",
|
||
"\n",
|
||
" this.imageObj.onunload = function () {\n",
|
||
" fig.ws.close();\n",
|
||
" };\n",
|
||
"\n",
|
||
" this.ws.onmessage = this._make_on_message_function(this);\n",
|
||
"\n",
|
||
" this.ondownload = ondownload;\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._init_header = function () {\n",
|
||
" var titlebar = document.createElement('div');\n",
|
||
" titlebar.classList =\n",
|
||
" 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
|
||
" var titletext = document.createElement('div');\n",
|
||
" titletext.classList = 'ui-dialog-title';\n",
|
||
" titletext.setAttribute(\n",
|
||
" 'style',\n",
|
||
" 'width: 100%; text-align: center; padding: 3px;'\n",
|
||
" );\n",
|
||
" titlebar.appendChild(titletext);\n",
|
||
" this.root.appendChild(titlebar);\n",
|
||
" this.header = titletext;\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._init_canvas = function () {\n",
|
||
" var fig = this;\n",
|
||
"\n",
|
||
" var canvas_div = (this.canvas_div = document.createElement('div'));\n",
|
||
" canvas_div.setAttribute(\n",
|
||
" 'style',\n",
|
||
" 'border: 1px solid #ddd;' +\n",
|
||
" 'box-sizing: content-box;' +\n",
|
||
" 'clear: both;' +\n",
|
||
" 'min-height: 1px;' +\n",
|
||
" 'min-width: 1px;' +\n",
|
||
" 'outline: 0;' +\n",
|
||
" 'overflow: hidden;' +\n",
|
||
" 'position: relative;' +\n",
|
||
" 'resize: both;'\n",
|
||
" );\n",
|
||
"\n",
|
||
" function on_keyboard_event_closure(name) {\n",
|
||
" return function (event) {\n",
|
||
" return fig.key_event(event, name);\n",
|
||
" };\n",
|
||
" }\n",
|
||
"\n",
|
||
" canvas_div.addEventListener(\n",
|
||
" 'keydown',\n",
|
||
" on_keyboard_event_closure('key_press')\n",
|
||
" );\n",
|
||
" canvas_div.addEventListener(\n",
|
||
" 'keyup',\n",
|
||
" on_keyboard_event_closure('key_release')\n",
|
||
" );\n",
|
||
"\n",
|
||
" this._canvas_extra_style(canvas_div);\n",
|
||
" this.root.appendChild(canvas_div);\n",
|
||
"\n",
|
||
" var canvas = (this.canvas = document.createElement('canvas'));\n",
|
||
" canvas.classList.add('mpl-canvas');\n",
|
||
" canvas.setAttribute('style', 'box-sizing: content-box;');\n",
|
||
"\n",
|
||
" this.context = canvas.getContext('2d');\n",
|
||
"\n",
|
||
" var backingStore =\n",
|
||
" this.context.backingStorePixelRatio ||\n",
|
||
" this.context.webkitBackingStorePixelRatio ||\n",
|
||
" this.context.mozBackingStorePixelRatio ||\n",
|
||
" this.context.msBackingStorePixelRatio ||\n",
|
||
" this.context.oBackingStorePixelRatio ||\n",
|
||
" this.context.backingStorePixelRatio ||\n",
|
||
" 1;\n",
|
||
"\n",
|
||
" this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
|
||
"\n",
|
||
" var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
|
||
" 'canvas'\n",
|
||
" ));\n",
|
||
" rubberband_canvas.setAttribute(\n",
|
||
" 'style',\n",
|
||
" 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
|
||
" );\n",
|
||
"\n",
|
||
" // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
|
||
" if (this.ResizeObserver === undefined) {\n",
|
||
" if (window.ResizeObserver !== undefined) {\n",
|
||
" this.ResizeObserver = window.ResizeObserver;\n",
|
||
" } else {\n",
|
||
" var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
|
||
" this.ResizeObserver = obs.ResizeObserver;\n",
|
||
" }\n",
|
||
" }\n",
|
||
"\n",
|
||
" this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
|
||
" var nentries = entries.length;\n",
|
||
" for (var i = 0; i < nentries; i++) {\n",
|
||
" var entry = entries[i];\n",
|
||
" var width, height;\n",
|
||
" if (entry.contentBoxSize) {\n",
|
||
" if (entry.contentBoxSize instanceof Array) {\n",
|
||
" // Chrome 84 implements new version of spec.\n",
|
||
" width = entry.contentBoxSize[0].inlineSize;\n",
|
||
" height = entry.contentBoxSize[0].blockSize;\n",
|
||
" } else {\n",
|
||
" // Firefox implements old version of spec.\n",
|
||
" width = entry.contentBoxSize.inlineSize;\n",
|
||
" height = entry.contentBoxSize.blockSize;\n",
|
||
" }\n",
|
||
" } else {\n",
|
||
" // Chrome <84 implements even older version of spec.\n",
|
||
" width = entry.contentRect.width;\n",
|
||
" height = entry.contentRect.height;\n",
|
||
" }\n",
|
||
"\n",
|
||
" // Keep the size of the canvas and rubber band canvas in sync with\n",
|
||
" // the canvas container.\n",
|
||
" if (entry.devicePixelContentBoxSize) {\n",
|
||
" // Chrome 84 implements new version of spec.\n",
|
||
" canvas.setAttribute(\n",
|
||
" 'width',\n",
|
||
" entry.devicePixelContentBoxSize[0].inlineSize\n",
|
||
" );\n",
|
||
" canvas.setAttribute(\n",
|
||
" 'height',\n",
|
||
" entry.devicePixelContentBoxSize[0].blockSize\n",
|
||
" );\n",
|
||
" } else {\n",
|
||
" canvas.setAttribute('width', width * fig.ratio);\n",
|
||
" canvas.setAttribute('height', height * fig.ratio);\n",
|
||
" }\n",
|
||
" canvas.setAttribute(\n",
|
||
" 'style',\n",
|
||
" 'width: ' + width + 'px; height: ' + height + 'px;'\n",
|
||
" );\n",
|
||
"\n",
|
||
" rubberband_canvas.setAttribute('width', width);\n",
|
||
" rubberband_canvas.setAttribute('height', height);\n",
|
||
"\n",
|
||
" // And update the size in Python. We ignore the initial 0/0 size\n",
|
||
" // that occurs as the element is placed into the DOM, which should\n",
|
||
" // otherwise not happen due to the minimum size styling.\n",
|
||
" if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
|
||
" fig.request_resize(width, height);\n",
|
||
" }\n",
|
||
" }\n",
|
||
" });\n",
|
||
" this.resizeObserverInstance.observe(canvas_div);\n",
|
||
"\n",
|
||
" function on_mouse_event_closure(name) {\n",
|
||
" return function (event) {\n",
|
||
" return fig.mouse_event(event, name);\n",
|
||
" };\n",
|
||
" }\n",
|
||
"\n",
|
||
" rubberband_canvas.addEventListener(\n",
|
||
" 'mousedown',\n",
|
||
" on_mouse_event_closure('button_press')\n",
|
||
" );\n",
|
||
" rubberband_canvas.addEventListener(\n",
|
||
" 'mouseup',\n",
|
||
" on_mouse_event_closure('button_release')\n",
|
||
" );\n",
|
||
" rubberband_canvas.addEventListener(\n",
|
||
" 'dblclick',\n",
|
||
" on_mouse_event_closure('dblclick')\n",
|
||
" );\n",
|
||
" // Throttle sequential mouse events to 1 every 20ms.\n",
|
||
" rubberband_canvas.addEventListener(\n",
|
||
" 'mousemove',\n",
|
||
" on_mouse_event_closure('motion_notify')\n",
|
||
" );\n",
|
||
"\n",
|
||
" rubberband_canvas.addEventListener(\n",
|
||
" 'mouseenter',\n",
|
||
" on_mouse_event_closure('figure_enter')\n",
|
||
" );\n",
|
||
" rubberband_canvas.addEventListener(\n",
|
||
" 'mouseleave',\n",
|
||
" on_mouse_event_closure('figure_leave')\n",
|
||
" );\n",
|
||
"\n",
|
||
" canvas_div.addEventListener('wheel', function (event) {\n",
|
||
" if (event.deltaY < 0) {\n",
|
||
" event.step = 1;\n",
|
||
" } else {\n",
|
||
" event.step = -1;\n",
|
||
" }\n",
|
||
" on_mouse_event_closure('scroll')(event);\n",
|
||
" });\n",
|
||
"\n",
|
||
" canvas_div.appendChild(canvas);\n",
|
||
" canvas_div.appendChild(rubberband_canvas);\n",
|
||
"\n",
|
||
" this.rubberband_context = rubberband_canvas.getContext('2d');\n",
|
||
" this.rubberband_context.strokeStyle = '#000000';\n",
|
||
"\n",
|
||
" this._resize_canvas = function (width, height, forward) {\n",
|
||
" if (forward) {\n",
|
||
" canvas_div.style.width = width + 'px';\n",
|
||
" canvas_div.style.height = height + 'px';\n",
|
||
" }\n",
|
||
" };\n",
|
||
"\n",
|
||
" // Disable right mouse context menu.\n",
|
||
" this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
|
||
" event.preventDefault();\n",
|
||
" return false;\n",
|
||
" });\n",
|
||
"\n",
|
||
" function set_focus() {\n",
|
||
" canvas.focus();\n",
|
||
" canvas_div.focus();\n",
|
||
" }\n",
|
||
"\n",
|
||
" window.setTimeout(set_focus, 100);\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._init_toolbar = function () {\n",
|
||
" var fig = this;\n",
|
||
"\n",
|
||
" var toolbar = document.createElement('div');\n",
|
||
" toolbar.classList = 'mpl-toolbar';\n",
|
||
" this.root.appendChild(toolbar);\n",
|
||
"\n",
|
||
" function on_click_closure(name) {\n",
|
||
" return function (_event) {\n",
|
||
" return fig.toolbar_button_onclick(name);\n",
|
||
" };\n",
|
||
" }\n",
|
||
"\n",
|
||
" function on_mouseover_closure(tooltip) {\n",
|
||
" return function (event) {\n",
|
||
" if (!event.currentTarget.disabled) {\n",
|
||
" return fig.toolbar_button_onmouseover(tooltip);\n",
|
||
" }\n",
|
||
" };\n",
|
||
" }\n",
|
||
"\n",
|
||
" fig.buttons = {};\n",
|
||
" var buttonGroup = document.createElement('div');\n",
|
||
" buttonGroup.classList = 'mpl-button-group';\n",
|
||
" for (var toolbar_ind in mpl.toolbar_items) {\n",
|
||
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
|
||
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
|
||
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
|
||
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
|
||
"\n",
|
||
" if (!name) {\n",
|
||
" /* Instead of a spacer, we start a new button group. */\n",
|
||
" if (buttonGroup.hasChildNodes()) {\n",
|
||
" toolbar.appendChild(buttonGroup);\n",
|
||
" }\n",
|
||
" buttonGroup = document.createElement('div');\n",
|
||
" buttonGroup.classList = 'mpl-button-group';\n",
|
||
" continue;\n",
|
||
" }\n",
|
||
"\n",
|
||
" var button = (fig.buttons[name] = document.createElement('button'));\n",
|
||
" button.classList = 'mpl-widget';\n",
|
||
" button.setAttribute('role', 'button');\n",
|
||
" button.setAttribute('aria-disabled', 'false');\n",
|
||
" button.addEventListener('click', on_click_closure(method_name));\n",
|
||
" button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
|
||
"\n",
|
||
" var icon_img = document.createElement('img');\n",
|
||
" icon_img.src = '_images/' + image + '.png';\n",
|
||
" icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
|
||
" icon_img.alt = tooltip;\n",
|
||
" button.appendChild(icon_img);\n",
|
||
"\n",
|
||
" buttonGroup.appendChild(button);\n",
|
||
" }\n",
|
||
"\n",
|
||
" if (buttonGroup.hasChildNodes()) {\n",
|
||
" toolbar.appendChild(buttonGroup);\n",
|
||
" }\n",
|
||
"\n",
|
||
" var fmt_picker = document.createElement('select');\n",
|
||
" fmt_picker.classList = 'mpl-widget';\n",
|
||
" toolbar.appendChild(fmt_picker);\n",
|
||
" this.format_dropdown = fmt_picker;\n",
|
||
"\n",
|
||
" for (var ind in mpl.extensions) {\n",
|
||
" var fmt = mpl.extensions[ind];\n",
|
||
" var option = document.createElement('option');\n",
|
||
" option.selected = fmt === mpl.default_extension;\n",
|
||
" option.innerHTML = fmt;\n",
|
||
" fmt_picker.appendChild(option);\n",
|
||
" }\n",
|
||
"\n",
|
||
" var status_bar = document.createElement('span');\n",
|
||
" status_bar.classList = 'mpl-message';\n",
|
||
" toolbar.appendChild(status_bar);\n",
|
||
" this.message = status_bar;\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
|
||
" // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
|
||
" // which will in turn request a refresh of the image.\n",
|
||
" this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.send_message = function (type, properties) {\n",
|
||
" properties['type'] = type;\n",
|
||
" properties['figure_id'] = this.id;\n",
|
||
" this.ws.send(JSON.stringify(properties));\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.send_draw_message = function () {\n",
|
||
" if (!this.waiting) {\n",
|
||
" this.waiting = true;\n",
|
||
" this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
|
||
" var format_dropdown = fig.format_dropdown;\n",
|
||
" var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
|
||
" fig.ondownload(fig, format);\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
|
||
" var size = msg['size'];\n",
|
||
" if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
|
||
" fig._resize_canvas(size[0], size[1], msg['forward']);\n",
|
||
" fig.send_message('refresh', {});\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
|
||
" var x0 = msg['x0'] / fig.ratio;\n",
|
||
" var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
|
||
" var x1 = msg['x1'] / fig.ratio;\n",
|
||
" var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
|
||
" x0 = Math.floor(x0) + 0.5;\n",
|
||
" y0 = Math.floor(y0) + 0.5;\n",
|
||
" x1 = Math.floor(x1) + 0.5;\n",
|
||
" y1 = Math.floor(y1) + 0.5;\n",
|
||
" var min_x = Math.min(x0, x1);\n",
|
||
" var min_y = Math.min(y0, y1);\n",
|
||
" var width = Math.abs(x1 - x0);\n",
|
||
" var height = Math.abs(y1 - y0);\n",
|
||
"\n",
|
||
" fig.rubberband_context.clearRect(\n",
|
||
" 0,\n",
|
||
" 0,\n",
|
||
" fig.canvas.width / fig.ratio,\n",
|
||
" fig.canvas.height / fig.ratio\n",
|
||
" );\n",
|
||
"\n",
|
||
" fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
|
||
" // Updates the figure title.\n",
|
||
" fig.header.textContent = msg['label'];\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
|
||
" fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_message = function (fig, msg) {\n",
|
||
" fig.message.textContent = msg['message'];\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
|
||
" // Request the server to send over a new figure.\n",
|
||
" fig.send_draw_message();\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
|
||
" fig.image_mode = msg['mode'];\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
|
||
" for (var key in msg) {\n",
|
||
" if (!(key in fig.buttons)) {\n",
|
||
" continue;\n",
|
||
" }\n",
|
||
" fig.buttons[key].disabled = !msg[key];\n",
|
||
" fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
|
||
" if (msg['mode'] === 'PAN') {\n",
|
||
" fig.buttons['Pan'].classList.add('active');\n",
|
||
" fig.buttons['Zoom'].classList.remove('active');\n",
|
||
" } else if (msg['mode'] === 'ZOOM') {\n",
|
||
" fig.buttons['Pan'].classList.remove('active');\n",
|
||
" fig.buttons['Zoom'].classList.add('active');\n",
|
||
" } else {\n",
|
||
" fig.buttons['Pan'].classList.remove('active');\n",
|
||
" fig.buttons['Zoom'].classList.remove('active');\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.updated_canvas_event = function () {\n",
|
||
" // Called whenever the canvas gets updated.\n",
|
||
" this.send_message('ack', {});\n",
|
||
"};\n",
|
||
"\n",
|
||
"// A function to construct a web socket function for onmessage handling.\n",
|
||
"// Called in the figure constructor.\n",
|
||
"mpl.figure.prototype._make_on_message_function = function (fig) {\n",
|
||
" return function socket_on_message(evt) {\n",
|
||
" if (evt.data instanceof Blob) {\n",
|
||
" var img = evt.data;\n",
|
||
" if (img.type !== 'image/png') {\n",
|
||
" /* FIXME: We get \"Resource interpreted as Image but\n",
|
||
" * transferred with MIME type text/plain:\" errors on\n",
|
||
" * Chrome. But how to set the MIME type? It doesn't seem\n",
|
||
" * to be part of the websocket stream */\n",
|
||
" img.type = 'image/png';\n",
|
||
" }\n",
|
||
"\n",
|
||
" /* Free the memory for the previous frames */\n",
|
||
" if (fig.imageObj.src) {\n",
|
||
" (window.URL || window.webkitURL).revokeObjectURL(\n",
|
||
" fig.imageObj.src\n",
|
||
" );\n",
|
||
" }\n",
|
||
"\n",
|
||
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
|
||
" img\n",
|
||
" );\n",
|
||
" fig.updated_canvas_event();\n",
|
||
" fig.waiting = false;\n",
|
||
" return;\n",
|
||
" } else if (\n",
|
||
" typeof evt.data === 'string' &&\n",
|
||
" evt.data.slice(0, 21) === 'data:image/png;base64'\n",
|
||
" ) {\n",
|
||
" fig.imageObj.src = evt.data;\n",
|
||
" fig.updated_canvas_event();\n",
|
||
" fig.waiting = false;\n",
|
||
" return;\n",
|
||
" }\n",
|
||
"\n",
|
||
" var msg = JSON.parse(evt.data);\n",
|
||
" var msg_type = msg['type'];\n",
|
||
"\n",
|
||
" // Call the \"handle_{type}\" callback, which takes\n",
|
||
" // the figure and JSON message as its only arguments.\n",
|
||
" try {\n",
|
||
" var callback = fig['handle_' + msg_type];\n",
|
||
" } catch (e) {\n",
|
||
" console.log(\n",
|
||
" \"No handler for the '\" + msg_type + \"' message type: \",\n",
|
||
" msg\n",
|
||
" );\n",
|
||
" return;\n",
|
||
" }\n",
|
||
"\n",
|
||
" if (callback) {\n",
|
||
" try {\n",
|
||
" // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
|
||
" callback(fig, msg);\n",
|
||
" } catch (e) {\n",
|
||
" console.log(\n",
|
||
" \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
|
||
" e,\n",
|
||
" e.stack,\n",
|
||
" msg\n",
|
||
" );\n",
|
||
" }\n",
|
||
" }\n",
|
||
" };\n",
|
||
"};\n",
|
||
"\n",
|
||
"// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
|
||
"mpl.findpos = function (e) {\n",
|
||
" //this section is from http://www.quirksmode.org/js/events_properties.html\n",
|
||
" var targ;\n",
|
||
" if (!e) {\n",
|
||
" e = window.event;\n",
|
||
" }\n",
|
||
" if (e.target) {\n",
|
||
" targ = e.target;\n",
|
||
" } else if (e.srcElement) {\n",
|
||
" targ = e.srcElement;\n",
|
||
" }\n",
|
||
" if (targ.nodeType === 3) {\n",
|
||
" // defeat Safari bug\n",
|
||
" targ = targ.parentNode;\n",
|
||
" }\n",
|
||
"\n",
|
||
" // pageX,Y are the mouse positions relative to the document\n",
|
||
" var boundingRect = targ.getBoundingClientRect();\n",
|
||
" var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
|
||
" var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
|
||
"\n",
|
||
" return { x: x, y: y };\n",
|
||
"};\n",
|
||
"\n",
|
||
"/*\n",
|
||
" * return a copy of an object with only non-object keys\n",
|
||
" * we need this to avoid circular references\n",
|
||
" * https://stackoverflow.com/a/24161582/3208463\n",
|
||
" */\n",
|
||
"function simpleKeys(original) {\n",
|
||
" return Object.keys(original).reduce(function (obj, key) {\n",
|
||
" if (typeof original[key] !== 'object') {\n",
|
||
" obj[key] = original[key];\n",
|
||
" }\n",
|
||
" return obj;\n",
|
||
" }, {});\n",
|
||
"}\n",
|
||
"\n",
|
||
"mpl.figure.prototype.mouse_event = function (event, name) {\n",
|
||
" var canvas_pos = mpl.findpos(event);\n",
|
||
"\n",
|
||
" if (name === 'button_press') {\n",
|
||
" this.canvas.focus();\n",
|
||
" this.canvas_div.focus();\n",
|
||
" }\n",
|
||
"\n",
|
||
" var x = canvas_pos.x * this.ratio;\n",
|
||
" var y = canvas_pos.y * this.ratio;\n",
|
||
"\n",
|
||
" this.send_message(name, {\n",
|
||
" x: x,\n",
|
||
" y: y,\n",
|
||
" button: event.button,\n",
|
||
" step: event.step,\n",
|
||
" guiEvent: simpleKeys(event),\n",
|
||
" });\n",
|
||
"\n",
|
||
" /* This prevents the web browser from automatically changing to\n",
|
||
" * the text insertion cursor when the button is pressed. We want\n",
|
||
" * to control all of the cursor setting manually through the\n",
|
||
" * 'cursor' event from matplotlib */\n",
|
||
" event.preventDefault();\n",
|
||
" return false;\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
|
||
" // Handle any extra behaviour associated with a key event\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.key_event = function (event, name) {\n",
|
||
" // Prevent repeat events\n",
|
||
" if (name === 'key_press') {\n",
|
||
" if (event.key === this._key) {\n",
|
||
" return;\n",
|
||
" } else {\n",
|
||
" this._key = event.key;\n",
|
||
" }\n",
|
||
" }\n",
|
||
" if (name === 'key_release') {\n",
|
||
" this._key = null;\n",
|
||
" }\n",
|
||
"\n",
|
||
" var value = '';\n",
|
||
" if (event.ctrlKey && event.key !== 'Control') {\n",
|
||
" value += 'ctrl+';\n",
|
||
" }\n",
|
||
" else if (event.altKey && event.key !== 'Alt') {\n",
|
||
" value += 'alt+';\n",
|
||
" }\n",
|
||
" else if (event.shiftKey && event.key !== 'Shift') {\n",
|
||
" value += 'shift+';\n",
|
||
" }\n",
|
||
"\n",
|
||
" value += 'k' + event.key;\n",
|
||
"\n",
|
||
" this._key_event_extra(event, name);\n",
|
||
"\n",
|
||
" this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
|
||
" return false;\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
|
||
" if (name === 'download') {\n",
|
||
" this.handle_save(this, null);\n",
|
||
" } else {\n",
|
||
" this.send_message('toolbar_button', { name: name });\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
|
||
" this.message.textContent = tooltip;\n",
|
||
"};\n",
|
||
"\n",
|
||
"///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
|
||
"// prettier-ignore\n",
|
||
"var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
|
||
"mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
|
||
"\n",
|
||
"mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
|
||
"\n",
|
||
"mpl.default_extension = \"png\";/* global mpl */\n",
|
||
"\n",
|
||
"var comm_websocket_adapter = function (comm) {\n",
|
||
" // Create a \"websocket\"-like object which calls the given IPython comm\n",
|
||
" // object with the appropriate methods. Currently this is a non binary\n",
|
||
" // socket, so there is still some room for performance tuning.\n",
|
||
" var ws = {};\n",
|
||
"\n",
|
||
" ws.binaryType = comm.kernel.ws.binaryType;\n",
|
||
" ws.readyState = comm.kernel.ws.readyState;\n",
|
||
" function updateReadyState(_event) {\n",
|
||
" if (comm.kernel.ws) {\n",
|
||
" ws.readyState = comm.kernel.ws.readyState;\n",
|
||
" } else {\n",
|
||
" ws.readyState = 3; // Closed state.\n",
|
||
" }\n",
|
||
" }\n",
|
||
" comm.kernel.ws.addEventListener('open', updateReadyState);\n",
|
||
" comm.kernel.ws.addEventListener('close', updateReadyState);\n",
|
||
" comm.kernel.ws.addEventListener('error', updateReadyState);\n",
|
||
"\n",
|
||
" ws.close = function () {\n",
|
||
" comm.close();\n",
|
||
" };\n",
|
||
" ws.send = function (m) {\n",
|
||
" //console.log('sending', m);\n",
|
||
" comm.send(m);\n",
|
||
" };\n",
|
||
" // Register the callback with on_msg.\n",
|
||
" comm.on_msg(function (msg) {\n",
|
||
" //console.log('receiving', msg['content']['data'], msg);\n",
|
||
" var data = msg['content']['data'];\n",
|
||
" if (data['blob'] !== undefined) {\n",
|
||
" data = {\n",
|
||
" data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
|
||
" };\n",
|
||
" }\n",
|
||
" // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
|
||
" ws.onmessage(data);\n",
|
||
" });\n",
|
||
" return ws;\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.mpl_figure_comm = function (comm, msg) {\n",
|
||
" // This is the function which gets called when the mpl process\n",
|
||
" // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
|
||
"\n",
|
||
" var id = msg.content.data.id;\n",
|
||
" // Get hold of the div created by the display call when the Comm\n",
|
||
" // socket was opened in Python.\n",
|
||
" var element = document.getElementById(id);\n",
|
||
" var ws_proxy = comm_websocket_adapter(comm);\n",
|
||
"\n",
|
||
" function ondownload(figure, _format) {\n",
|
||
" window.open(figure.canvas.toDataURL());\n",
|
||
" }\n",
|
||
"\n",
|
||
" var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
|
||
"\n",
|
||
" // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
|
||
" // web socket which is closed, not our websocket->open comm proxy.\n",
|
||
" ws_proxy.onopen();\n",
|
||
"\n",
|
||
" fig.parent_element = element;\n",
|
||
" fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
|
||
" if (!fig.cell_info) {\n",
|
||
" console.error('Failed to find cell for figure', id, fig);\n",
|
||
" return;\n",
|
||
" }\n",
|
||
" fig.cell_info[0].output_area.element.on(\n",
|
||
" 'cleared',\n",
|
||
" { fig: fig },\n",
|
||
" fig._remove_fig_handler\n",
|
||
" );\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_close = function (fig, msg) {\n",
|
||
" var width = fig.canvas.width / fig.ratio;\n",
|
||
" fig.cell_info[0].output_area.element.off(\n",
|
||
" 'cleared',\n",
|
||
" fig._remove_fig_handler\n",
|
||
" );\n",
|
||
" fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
|
||
"\n",
|
||
" // Update the output cell to use the data from the current canvas.\n",
|
||
" fig.push_to_output();\n",
|
||
" var dataURL = fig.canvas.toDataURL();\n",
|
||
" // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
|
||
" // the notebook keyboard shortcuts fail.\n",
|
||
" IPython.keyboard_manager.enable();\n",
|
||
" fig.parent_element.innerHTML =\n",
|
||
" '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
|
||
" fig.close_ws(fig, msg);\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.close_ws = function (fig, msg) {\n",
|
||
" fig.send_message('closing', msg);\n",
|
||
" // fig.ws.close()\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
|
||
" // Turn the data on the canvas into data in the output cell.\n",
|
||
" var width = this.canvas.width / this.ratio;\n",
|
||
" var dataURL = this.canvas.toDataURL();\n",
|
||
" this.cell_info[1]['text/html'] =\n",
|
||
" '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.updated_canvas_event = function () {\n",
|
||
" // Tell IPython that the notebook contents must change.\n",
|
||
" IPython.notebook.set_dirty(true);\n",
|
||
" this.send_message('ack', {});\n",
|
||
" var fig = this;\n",
|
||
" // Wait a second, then push the new image to the DOM so\n",
|
||
" // that it is saved nicely (might be nice to debounce this).\n",
|
||
" setTimeout(function () {\n",
|
||
" fig.push_to_output();\n",
|
||
" }, 1000);\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._init_toolbar = function () {\n",
|
||
" var fig = this;\n",
|
||
"\n",
|
||
" var toolbar = document.createElement('div');\n",
|
||
" toolbar.classList = 'btn-toolbar';\n",
|
||
" this.root.appendChild(toolbar);\n",
|
||
"\n",
|
||
" function on_click_closure(name) {\n",
|
||
" return function (_event) {\n",
|
||
" return fig.toolbar_button_onclick(name);\n",
|
||
" };\n",
|
||
" }\n",
|
||
"\n",
|
||
" function on_mouseover_closure(tooltip) {\n",
|
||
" return function (event) {\n",
|
||
" if (!event.currentTarget.disabled) {\n",
|
||
" return fig.toolbar_button_onmouseover(tooltip);\n",
|
||
" }\n",
|
||
" };\n",
|
||
" }\n",
|
||
"\n",
|
||
" fig.buttons = {};\n",
|
||
" var buttonGroup = document.createElement('div');\n",
|
||
" buttonGroup.classList = 'btn-group';\n",
|
||
" var button;\n",
|
||
" for (var toolbar_ind in mpl.toolbar_items) {\n",
|
||
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
|
||
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
|
||
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
|
||
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
|
||
"\n",
|
||
" if (!name) {\n",
|
||
" /* Instead of a spacer, we start a new button group. */\n",
|
||
" if (buttonGroup.hasChildNodes()) {\n",
|
||
" toolbar.appendChild(buttonGroup);\n",
|
||
" }\n",
|
||
" buttonGroup = document.createElement('div');\n",
|
||
" buttonGroup.classList = 'btn-group';\n",
|
||
" continue;\n",
|
||
" }\n",
|
||
"\n",
|
||
" button = fig.buttons[name] = document.createElement('button');\n",
|
||
" button.classList = 'btn btn-default';\n",
|
||
" button.href = '#';\n",
|
||
" button.title = name;\n",
|
||
" button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n",
|
||
" button.addEventListener('click', on_click_closure(method_name));\n",
|
||
" button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
|
||
" buttonGroup.appendChild(button);\n",
|
||
" }\n",
|
||
"\n",
|
||
" if (buttonGroup.hasChildNodes()) {\n",
|
||
" toolbar.appendChild(buttonGroup);\n",
|
||
" }\n",
|
||
"\n",
|
||
" // Add the status bar.\n",
|
||
" var status_bar = document.createElement('span');\n",
|
||
" status_bar.classList = 'mpl-message pull-right';\n",
|
||
" toolbar.appendChild(status_bar);\n",
|
||
" this.message = status_bar;\n",
|
||
"\n",
|
||
" // Add the close button to the window.\n",
|
||
" var buttongrp = document.createElement('div');\n",
|
||
" buttongrp.classList = 'btn-group inline pull-right';\n",
|
||
" button = document.createElement('button');\n",
|
||
" button.classList = 'btn btn-mini btn-primary';\n",
|
||
" button.href = '#';\n",
|
||
" button.title = 'Stop Interaction';\n",
|
||
" button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n",
|
||
" button.addEventListener('click', function (_evt) {\n",
|
||
" fig.handle_close(fig, {});\n",
|
||
" });\n",
|
||
" button.addEventListener(\n",
|
||
" 'mouseover',\n",
|
||
" on_mouseover_closure('Stop Interaction')\n",
|
||
" );\n",
|
||
" buttongrp.appendChild(button);\n",
|
||
" var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
|
||
" titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._remove_fig_handler = function (event) {\n",
|
||
" var fig = event.data.fig;\n",
|
||
" if (event.target !== this) {\n",
|
||
" // Ignore bubbled events from children.\n",
|
||
" return;\n",
|
||
" }\n",
|
||
" fig.close_ws(fig, {});\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._root_extra_style = function (el) {\n",
|
||
" el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._canvas_extra_style = function (el) {\n",
|
||
" // this is important to make the div 'focusable\n",
|
||
" el.setAttribute('tabindex', 0);\n",
|
||
" // reach out to IPython and tell the keyboard manager to turn it's self\n",
|
||
" // off when our div gets focus\n",
|
||
"\n",
|
||
" // location in version 3\n",
|
||
" if (IPython.notebook.keyboard_manager) {\n",
|
||
" IPython.notebook.keyboard_manager.register_events(el);\n",
|
||
" } else {\n",
|
||
" // location in version 2\n",
|
||
" IPython.keyboard_manager.register_events(el);\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
|
||
" // Check for shift+enter\n",
|
||
" if (event.shiftKey && event.which === 13) {\n",
|
||
" this.canvas_div.blur();\n",
|
||
" // select the cell after this one\n",
|
||
" var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
|
||
" IPython.notebook.select(index + 1);\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
|
||
" fig.ondownload(fig, null);\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.find_output_cell = function (html_output) {\n",
|
||
" // Return the cell and output element which can be found *uniquely* in the notebook.\n",
|
||
" // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
|
||
" // IPython event is triggered only after the cells have been serialised, which for\n",
|
||
" // our purposes (turning an active figure into a static one), is too late.\n",
|
||
" var cells = IPython.notebook.get_cells();\n",
|
||
" var ncells = cells.length;\n",
|
||
" for (var i = 0; i < ncells; i++) {\n",
|
||
" var cell = cells[i];\n",
|
||
" if (cell.cell_type === 'code') {\n",
|
||
" for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
|
||
" var data = cell.output_area.outputs[j];\n",
|
||
" if (data.data) {\n",
|
||
" // IPython >= 3 moved mimebundle to data attribute of output\n",
|
||
" data = data.data;\n",
|
||
" }\n",
|
||
" if (data['text/html'] === html_output) {\n",
|
||
" return [cell, data, j];\n",
|
||
" }\n",
|
||
" }\n",
|
||
" }\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"// Register the function which deals with the matplotlib target/channel.\n",
|
||
"// The kernel may be null if the page has been refreshed.\n",
|
||
"if (IPython.notebook.kernel !== null) {\n",
|
||
" IPython.notebook.kernel.comm_manager.register_target(\n",
|
||
" 'matplotlib',\n",
|
||
" mpl.mpl_figure_comm\n",
|
||
" );\n",
|
||
"}\n"
|
||
],
|
||
"text/plain": [
|
||
"<IPython.core.display.Javascript object>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAAPACAYAAABq3NR5AAAgAElEQVR4XuzdB5gV1f038KNg7wUrMVbELkqxY+xYoold/7HEEmOPJpZYYuwx0diN2EvsGhMjogELaqiKDVQUxIbYjT0K+nIm7w4s7MKye+/dObOfed/n+ce9M3PO7/M7zvPM17l3Zvl+0hZsBAgQIECAAAECBAgQIECAAAECBAiUUmAWAWAp+6ooAgQIECBAgAABAgQIECBAgAABApmAANBCIECAAAECBAgQIECAAAECBAgQIFBiAQFgiZurNAIECBAgQIAAAQIECBAgQIAAAQICQGuAAAECBAgQIECAAAECBAgQIECAQIkFBIAlbq7SCBAgQIAAAQIECBAgQIAAAQIECAgArQECBAgQIECAAAECBAgQIECAAAECJRYQAJa4uUojQIAAAQIECBAgQIAAAQIECBAgIAC0BggQIECAAAECBAgQIECAAAECBAiUWEAAWOLmKo0AAQIECBAgQIAAAQIECBAgQICAANAaIECAAAECBAgQIECAAAECBAgQIFBiAQFgiZurNAIECBAgQIAAAQIECBAgQIAAAQICQGuAAAECBAgQIECAAAECBAgQIECAQIkFBIAlbq7SCBAgQIAAAQIECBAgQIAAAQIECAgArQECBAgQIECAAAECBAgQIECAAAECJRYQAJa4uUojQIAAAQIECBAgQIAAAQIECBAgIAC0BggQIECAAAECBAgQIECAAAECBAiUWEAAWOLmKo0AAQIECBAgQIAAAQIECBAgQICAANAaIECAAAECBAgQIECAAAECBAgQIFBiAQFgiZurNAIECBAgQIAAAQIECBAgQIAAAQICQGuAAAECBAgQIECAAAECBAgQIECAQIkFBIAlbq7SCBAgQIAAAQIECBAgQIAAAQIECAgArQECBAgQIECAAAECBAgQIECAAAECJRYQAJa4uUojQIAAAQIECBAgQIAAAQIECBAgIAC0BggQIECAAAECBAgQIECAAAECBAiUWEAAWOLmKo0AAQIECBAgQIAAAQIECBAgQICAANAaIECAAAECBAgQIECAAAECBAgQIFBiAQFgiZurNAIECBAgQIAAAQIECBAgQIAAAQICQGuAAAECBAgQIECAAAECBAgQIECAQIkFBIAlbq7SCBAgQIAAAQIECBAgQIAAAQIECAgArQECBAgQIECAAAECBAgQIECAAAECJRYQAJa4uUojQIAAAQIECBAgQIAAAQIECBAgIAC0BggQIECAAAECBAgQIECAAAECBAiUWEAAWOLmKo0AAQIECBAgQIAAAQIECBAgQICAANAaIECAAAECBAgQIECAAAECBAgQIFBiAQFgiZurNAIECBAgQIAAAQIECBAgQIAAAQICQGuAAAECBAgQIECAAAECBAgQIECAQIkFBIAlbq7SCBAgQIAAAQIECBAgQIAAAQIECAgArQECBAgQIECAAAECBAgQIECAAAECJRYQAJa4uUojQIAAAQIECBAgQIAAAQIECBAgIAC0BggQIECAAAECBAgQIECAAAECBAiUWEAAWOLmKo0AAQIECBAgQIAAAQIECBAgQICAANAaIECAAAECBAgQIECAAAECBAgQIFBiAQFgiZurNAIECBAgQIAAAQIECBAgQIAAAQICQGuAAAECBAgQIECAAAECBAgQIECAQIkFBIAlbq7SCBAgQIAAAQIECBAgQIAAAQIECAgArQECBAgQIECAAAECBAgQIECAAAECJRYQAJa4uUojQIAAAQIECBAgQIAAAQIECBAgIAC0BggQIECAAAECBAgQIECAAAECBAiUWEAAWOLmKo0AAQIECBAgQIAAAQIECBAgQICAANAaIECAAAECBAgQIECAAAECBAgQIFBiAQFgiZurNAIECBAgQIAAAQIECBAgQIAAAQICQGuAAAECBAgQIECAAAECBAgQIECAQIkFBIAlbq7SCBAgQIAAAQIECBAgQIAAAQIECAgArQECBAgQIECAAAECBAgQIECAAAECJRYQAJa4uUojQIAAAQIECBAgQIAAAQIECBAgIAC0BggQIECAAAECBAgQIECAAAECBAiUWEAAWOLmKo0AAQIECBAgQIAAAQIECBAgQICAANAaIECAAAECBAgQIECAAAECBAgQIFBiAQFgiZurNAIECBAgQIAAAQIECBAgQIAAAQICQGuAAAECBAgQIECAAAECBAgQIECAQIkFBIAlbq7SCBAgQIAAAQIECBAgQIAAAQIECAgArQECBAgQIECAAAECBAgQIECAAAECJRYQAJa4uUojQIAAAQIECBAgQIAAAQIECBAgIAC0BggQIECAAAECBAgQIECAAAECBAiUWEAAWOLmKo0AAQIECBAgQIAAAQIECBAgQICAANAaIECAAAECBAgQIECAAAECBAgQIFBiAQFgiZurNAIECBAgQIAAAQIECBAgQIAAAQICQGuAAAECBAgQIECAAAECBAgQIECAQIkFBIAlbq7SCBAgQIAAAQIECBAgQIAAAQIECAgArQECBAgQIECAAAECBAgQIECAAAECJRYQAJa4uUojQIAAAQIECBAgQIAAAQIECBAgIAC0BggQIECAAAECBAgQIECAAAECBAiUWEAAWOLmKo0AAQIECBAgQIAAAQIECBAgQICAANAaIECAAAECBAgQIECAAAECBAgQIFBiAQFgiZurNAIECBAgQIAAAQIECBAgQIAAAQICQGuAAAECBAgQIECAAAECBAgQIECAQIkFBIAlbq7SCBAgQIAAAQIECBAgQIAAAQIECAgArQECBAgQIECAAAECBAgQIECAAAECJRYQAJa4uUojQIAAAQIECBAgQIAAAQIECBAgIAC0BggQIECAAAECBAgQIECAAAECBAiUWEAAWOLmKo0AAQIECBAgQIAAAQIECBAgQICAANAaIECAAAECBAgQIECAAAECBAgQIFBiAQFgiZurNAIECBAgQIAAAQIECBAgQIAAAQICQGuAAAECBAgQIECAAAECBAgQIECAQIkFBIAlbq7SCBAgQIAAAQIECBAgQIAAAQIECAgArQECBAgQIECAAAECBAgQIECAAAECJRYQAJa4uUojQIAAAQIECBAgQIAAAQIECBAgIAC0BggQIECAAAECBAgQIECAAAECBAiUWEAAWOLmKo0AAQIECBAgQIAAAQIECBAgQICAANAaIECAAAECBAgQIECAAAECBAgQIFBiAQFgiZurNAIECBAgQIAAAQIECBAgQIAAAQICQGuAAAECBAgQIECAAAECBAgQIECAQIkFBIAlbq7SCBAgQIAAAQIECBAgQIAAAQIECAgArQECBAgQIECAAAECBAgQIECAAAECJRYQAJa4uUojQIAAAQIECBAgQIAAAQIECBAgIAC0BggQIECAAAECBAgQIECAAAECBAiUWEAAWOLmKo0AAQIECBAgQIAAAQIECBAgQICAANAaIECAAAECBAgQIECAAAECBAgQIFBiAQFgiZurNAIECBAgQIAAAQIECBAgQIAAAQICQGuAAAECBAgQIECAAAECBAgQIECAQIkFBIAlbq7SCBAgQIAAAQIECBAgQIAAAQIECAgArQECBAgQIECAAAECBAgQIECAAAECJRYQAJa4uUojQIAAAQIECBAgQIAAAQIECBAgIAC0BggQIECAAAECBAgQIECAAAECBAiUWEAAWOLmKo0AAQIECBAgQIAAAQIECBAgQICAANAaIECAAAECBAgQIECAAAECBAgQIFBiAQFgiZurNAIECBAgQIAAAQIECBAgQIAAAQICQGuAAAECBAgQIECAAAECBAgQIECAQIkFBIAlbq7SCBAgQIAAAQIECBAgQIAAAQIECAgArQECBAgQIECAAAECBAgQIECAAAECJRYQAJa4uUojQIAAAQIECBAgQIAAAQIECBAgIAC0BggQIECAAAECBAgQIECAAAECBAiUWEAAWOLmFrm0r7/+Ojz//PPZFDt06BDat29f5OmaGwECBAgQIECAAAECBAgQSFJgwoQJ4f3338/mvsYaa4Q555wzyTpMumUCAsCW+Tm6mQJDhw4N3bt3b+bRDiNAgAABAgQIECBAgAABAgRmVmDIkCGhW7duM3uY/UsgIAAsQRNTLEEAmGLXzJkAAQIECBAgQIAAAQIEUhYQAKbcvZbNXQDYMj9HN1Ng7NixYbnllsuOjhegJZdcsplnchgBAgQIECBAgAABAgQIECDQmMA777yTfwPvtddeC8suuyysNiggAGyDTS9CyW+99Vb4wQ9+kE3lzTffDB07dizCtMyBAAECBAgQIECAAAECBAiUSsD9d6na2exiBIDNpnNgSwRcgFqi51gCBAgQIECAAAECBAgQINA0AfffTXMq+14CwLJ3uKD1uQAVtDGmRYAAAQIECBAgQIAAAQKlEnD/Xap2NrsYAWCz6RzYEgEXoJboOZYAAQIECBAgQIAAAQIECDRNwP1305zKvpcAsOwdLmh9LkAFbYxpESBAgAABAgQIECBAgECpBNx/l6qdzS5GANhsOge2RMAFqCV6jiVAgAABAgQIECBAgAABAk0TcP/dNKey7yUALHuHC1qfC1BBG2NaBAgQIECAAAECBAgQIFAqAfffpWpns4sRADabzoEtEXABaomeYwkQIECAAAECBAgQIECAQNME3H83zansewkAy97hgtbnAlTQxpgWAQIECBAgQIAAAQIECJRKwP13qdrZ7GIEgM2mc2BLBFyAWqLnWAIECBAgQIAAAQIECBAg0DQB999Ncyr7XgLAsne4oPW5ABW0MaZFgAABAgQIECBAgAABAqUScP9dqnY2uxgBYLPpHNgSAReglug5lgABAgQIECBAgAABAgQINE3A/XfTnMq+lwCw7B0uaH0uQAVtjGkRIECAAAECBAgQIECAQKkE3H+Xqp3NLkYA2Gw6B7ZEwAWoJXqOJUCAAAECBAgQIECAAAECTRNw/900p7LvJQAse4cLWp8LUEEbY1oECBAgQIAAAQIECBAgUCoB99+lamezixEANpvOgS0RcAFqiZ5jCRAgQIAAAQIECBAgQIBA0wTcfzfNqex7CQDL3uGC1ucCVNDGmBYBAgQIECBAgAABAgQIlErA/Xep2tnsYgSAzaZzYEsEXIBaoudYAgQIECBAgAABAgQIECDQNAH3301zKvteAsCyd7ig9bkAFbQxpkWAAAECBAgQIECAAAECpRJw/12qdja7GAFgs+kc2BIBF6CW6DmWAAECBAgQIECAAAECBAg0TcD9d9Ocyr6XALDsHS5ofS5ABW2MaREgQIAAAQIECBAgQIBAqQTcf5eqnc0uRgDYbDoHtkTABagleo4lQIAAAQIECBAgQIAAAQJNE3D/3TSnsu8lACx7hwtanwtQQRtjWgQIECBAgAABAgQIECBQKgH336VqZ7OLEQA2m86BLRFwAWqJnmMJECBAgAABAgQIECBAgEDTBNx/N82p7HsJAMve4YLW5wJU0MaYFgECBAgQIECAAAECBAiUSsD9d6na2exiBIDNpnNgSwRcgFqi51gCBAgQIECAAAECBAgQINA0AfffTXMq+14CwLJ3uKD1uQAVtDGmRYAAAQIECBAgQIAAAQKlEnD/Xap2NrsYAWCz6RzYEgEXoJboOZYAAQIECBAgQIAAAQIECDRNwP1305zKvpcAsOwdLmh9LkAFbYxpESBAgAABAgQIECBAgECpBNx/l6qdzS5GANhsOge2RMAFqCV6jiVAgAABAgQIECBAgACBWgt8/t8JYchrH4ZZJv2/////Q89OHcIss0z65wJv7r8L3JwaTk0AWENsQ00WcAGyGggQIECAAAECBAgQIEAgJYGXx38Wtr5wQL0pjz13u8KX4P678C2qyQQFgDVhNsjUAi5A1gQBAgQIECBAgAABAgQIpCTw0vhPwzYXPp5POT7499o5AsCUetiW5yoAbMvdb8XaBYCtiG9oAgQIECBAgAABAgQIEJhpgZHjPg3bXjw5AJx1UgA4RgA4044OaB0BAWDruLf5UQWAbX4JACBAgAABAgQIECBAgEBSAiPG/Sdsd/ET+ZzbTUoAR5+9beFrcP9d+BbVZIICwJowG2RqARcga4IAAQIECBAgQIAAAQIEUhJ44e3/hO0vmRwAtp8UAL4qAEyphW16rgLANt3+1iteANh69kYmQIAAAQIECBAgQIAAgZkXmDoAnL3drGHUWb1m/kQ1PsL9d43BCzqcALCgjSn7tFyAyt5h9REgQIAAAQIECBAgQKBcAs+99Un48aVP5kXN3n5SAHimALBcXS5vNQLA8va20JUJAAvdHpMjQIAAAQIECBAgQIAAgakEnn3zk7DjZZMDwDkmBYAvCwCtk0QEBICJNKps0xQAlq2j6iFAgAABAgQIECBAgEC5BZ6ZFADuNEUAONds7cKLZ2xT+KLdfxe+RTWZYKEDwG+++SbceOON4c477wzPPfdc+Oijj8Jss80Wll566bDBBhuEgw46KPu/M9oeeOCB0Lt37zB06NDw/vvvhw4dOoRu3bqFgw8+OPTq1bTHdSdMmBCuvvrq8Ne//jW89NJL4fPPPw9LLbVU2GKLLcKRRx4ZVltttRlNI/v8gw8+CBdffHG49957w9ixY7O/LbvssmGnnXYKRx11VFhkkUWadJ4XXnghXHLJJaFfv35h3LhxYd555w2dO3cOe++9dzjwwAND+/btm3SeStg0aaCpdnIBao6aYwgQIECAAAECBAgQIECgtQSefuPj8NPL/50PP/fs7cLI0wWArdUP486cQGEDwNdffz1st912YcSIEdOt6IgjjggXXXRRmGWWWabZ77vvvstCvmuuuabRc8Sw7Morrwyzzjpro/vE0G7bbbfNAsSGtjnmmCNceumlWfA2vW3w4MFZ0Dd+/PgGd1tyySWzYLB79+7TPc9VV10VDj/88BAD0oa2ePz9998fFl100UbPUymbmVtuk/cWADZXznEECBAgQIAAAQIECBAg0BoCT73+cdj5iskB4DyTAsARAsDWaIUxmyFQyADw22+/DV26dMnDvzXXXDMcc8wxYeWVVw6fffZZeOKJJ8L5558fvvjii6zkc845J5xwwgnTlH/iiSeGc889N/t7PN9xxx0XVlhhhTB69Ohw3nnnheHDh2efxf3OPvvsBvkmTpwYNt1002zMuP30pz/NnjxceOGFQwz0zjzzzPDee+9lAeI///nPRp8ofPPNN8O6666bPYEYn86L9Wy//fbZOeNxF1xwQYhPGS622GLhqaeeCh07dmxwPn369Ak77LBDiAHe4osvHk466aTQo0eP7OnIGAzec8892XEbbbRRePTRR0O7du0aPE8lbJqx3vJDBIAt0XMsAQIECBAgQIAAAQIECNRa4KnXP5oUAA7Mh51vjvbh+d9vXetpzPR47r9nmqyUBxQyALzrrrvCrrvumoGvv/764fHHH58myIohWfwshoULLrhgHqzVdWnUqFHZ13JjqNa1a9cwYMCAMNdcc+VN/PLLL0PPnj3DsGHDskDuxRdfDCuuuOI0Tb722mvDAQcckP390EMPDZdddlm9fV599dUs2Pv000+z4+N5Gvr67T777BNuuumm7Ng77rgjr6/uZPFvu+++e/aP++67b7j++uunmUusNX7Nd8yYMWH++ecPTz/9dBZoTrkddthh4fLLL8/+dN1114X99ttvmvNUyqYl/0a4ALVEz7EECBAgQIAAAQIECBAgUGuBoWM/Crv+ZYoAcM5JAeBpAsBa98F4zRMoZAAYn47785//nFX0j3/8I3viraEtPo33t7/9Lfso/kbgGmuske8Ww7orrrgi++eBAweG9dZbb5pTDBo0KAsR49ZQuBf/vuqqq2ahXnziLz7FN/fcc09znviUYXyiLm4NhXvxK7/xdwvjU3tbb7116Nu3b4P1bLPNNuHBBx/MniZ8++23wxJLLFFvvylDwsaeeozBZnx68OOPP87m3tBXqCtl07wl97+jBIAt0XMsAQIECBAgQIAAAQIECNRaYMhrH4XdrpwcAM4/KQB8TgBY6zYYr5kChQwA4+/b1T1pF1920dgLNn7zm9+EP/3pT1np8Um++CRe3L7//vssBIsvx4hPzMUAr7Etfv7yyy9nAV0M+Kb8LcH4pFz82nHcDjnkkDxQnPpcMeCLv98Xtz333DPccsst9XaJLyD5xS9+kf3ttttuy5/0m/o88bN4fNzi7xLG3y+ccttrr73Crbfemv3pnXfemSYgrNs3zjUeH7dYW6dOnfLTVMqmUdAmfiAAbCKU3QgQIECAAAECBAgQIECgEAKDx3wYdu89KJ/LgnPPFp45datCzG16k3D/XfgW1WSChQwA49tt45t149aUJwBjaPfJJ59kX4uNW/yKbN1XY2Pw9pe//KVRzPh5DOjqjltuueXyfaf8+m8M3vbYY49GzxODwhgYLrPMMiG+wGTKbcqv/04vuIufxTcLxy0ec8MNN9Q7Tzx3DCnjWPFNxI1tca4xLIxbrGH//ffPd62UTUtXpwtQSwUdT4AAAQIECBAgQIAAAQK1FBg4+sOw51WTA8CFJgWAwwWAtWyBsVogUMgAML51NwZ48Xf1Ntxww/DYY49N8xuA8QUe8Wu98U24e++9d7j55ptzhvhSjbqvDcevEh999NGNEsXP41eO4xbfnBvf9lu3/frXv85eNhK3ON7aa6/d6Hl23HHHLKyMYWR8Uck888yT7xt/gzD+ZuECCyyQBZXT2+I+se5u3bqFIUOG5Lt+/vnnYb755sv+OY4V3xbc2Bbnus4662Qfx6ck4wtP6rZK2bRgzWWHCgBbKuh4AgQIECBAgAABAgQIEKilwL9HfxD2umpwPuTC88wenj5ly1pOoVljuf9uFlvpDipkABiVY5gWvw4bf9MuvsE3hnjxq6wxCHvyySezYC4GbTHoim/GjW/ErdviE3+//OUvs3+88847wy677NJo46Z84Ug8ru6ruvGA+MTf7bffnh0b39676KKLNnqeKb+2HJ/Oq/vqcDwg/pbfu+++m32VOX6leXrb6quvnv1uXzwmPhFYt8VzrrLKKtk/xhd9XHrppY2eJgaoHTp0yD6PNdR9bTj+c6VsZvRvQrzATG+LtXXv3j3bJT7V2Nhbj2c0js8JECBAgAABAgQIECBAgEAtBP796qQA8OrJAeCi884ehp0sAKyFvTFaLlDYADCWFkOvGPRdc8012e/6TbnFwC++eOOggw6a5sUcf/zjH8Nxxx2X7f7AAw+E+HKNxrb4ed1Tf/H3BI899th81+222y4LF+P21VdfhTnnnLPR8xx//PH5k3ZT/h5hPCA+DRiDzB49eoT44pHpbXGf+OTfvPPOmwWcddvQoUPzwCyOFV880tgW51r3spLtt98+3HffffmulbKZ0dKb8rcUZ7SvAHBGQj4nQIAAAQIECBAgQIAAgdYWeOKVD8L/XTNlADjHpABwi9ae1gzH9wTgDInaxA6FDQDjV3tPO+20cPXVV2dP3zW0xa/WnnLKKeHHP/5xvY/POOOMcOqpp2Z/69+/f9hss80abebDDz8cNt988+zzeNzJJ5+c7xv/Hj+P28SJE7O38za2xfHi8XF7/PHHw0YbbZTv2q5du+wNwBtvvHEYMGDAdBfWJptskh0fj5kwYUK+b/xb/CxusebTTz+90fPEseLxcYs19OvXL9+3UjYz+rdDADgjIZ8TIECAAAECBAgQIECAQEoCj7/yfvjZNZN/qqvDfHOEoScJAFPqYVueayEDwC+++CL06tUrD8LiU3nxRRbLL798+Prrr8PgwYOzAOyJJ57IfnMvPrlX9zt+sZmVesrNE4CNPx05o39pfAV4RkI+J0CAAAECBAgQIECAAIGUBAaMej/sc+3kAHDx+ecIg38rAEyph215roUMAOOLK2KoF7frr78+7LvvvtP0KD4dt9VWW4VHHnkkezLv6aefDmuttVa2X6V+585vAN4Vdt1119x0yt9HbOm/NB5Bbqmg4wkQIECAAAECBAgQIECglgKPvvxe2O+6ofmQS8w/Zxj02/99o7DIm/vvInendnMrXAAYf+svvmzjo48+yl768fLLLzeqEV8GUvdV2/iSkPhG37hV6k23RXoLcPw9wPnnnz+rz1uAa/cviJEIECBAgAABAgQIECBAgEAUeGRSALj/FAHgkgvMGQaeKAC0OtIQKFwAOH78+LDkkktmervvvnu47bbbGpWMXweea665ss/jiz7iCz3iNmbMmLDCCitk/zs+tRafCGxsi5/37t07P2655ZbLd7322mvDAQcckP1zfJNufCKwsS2+9XfUqFFhmWWWCa+//nq93fbZZ59w0003ZX+Lb7+Nb/htaIufLbXUUtlH8Zgbbrih3m7x3PGFGXGs+IKUxrY417322iv7ONYQvz5dt1XKptHBm/iB/wLRRCi7ESBAgAABAgQIECBAgEAhBB55aVIAeP3kJwCXXnCu8OQJjb9zoBCTnjQJ999F6UTrzqNwAeAHH3wQOnTokKnsvPPO4a677mpUaMqn4qZ82218irBjx45h3LhxoXPnzuHFF19s9ByrrLJKFqYtvfTSWbg25csrYqAXw7a4HXLIIeGKK65o8DxThpZ77rlnuOWWW+rtFwPGuq/PxkAzBpsNbfGzeHzcrrzyynDwwQfX2y2GejHci9v0gsQ413h83OITlPFJyrqtUjYtXbYuQC0VdDwBAgQIECBAgAABAgQI1FKg/4vvhgNuGJYPKQCspb6xWipQuAAwvsF2oYUWCp9++mn2NFx8mq59+/YN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v/41vPTSS+Hzzz8PSy21VNhiiy3CkUceGVZbbbUmneeDDz4IF198cbj33nvD2LFjs2NiHTvttFM46qijwiKLLNKk87zwwgvhkksuCf369Qvjxo0L8847b+jcuXPYe++9w4EHHhjat2/fpPNUwqZJA021kwCwOWqOIUCAAAECBAgQIECAAIFaCvR5/p1w6F+fzodcocM8of+xm9ZyCi0ey/13iwlLcYLCB4Ax5DrxxBPDF1980Sh4DM4uvPDCaT7/7rvvspAvhoeNbTEsu/LKK8Oss87a6D4xtNt2222zALGhbY455giXXnppFrxNbxs8eHAW9I0fP77B3ZZccsksGOzevft0z3PVVVeFww8/PHzzzTcN7hePj2Hpoosu2uh5KmXT3H8LXICaK+c4AgQIECBAgAABAgQIEKiVwN1PvRWOvfPZfLjVl54//POIjWs1fEXGcf9dEcbkT1LoAPDMM88Mp5xySobcqVOncNBBB2VP7i2wwALhww8/DMOHDw9/+9vfQo8ePcIFF1wwTTNicHjuuedmf+/SpUs47rjjwgorrBBGjx4dzjvvvOz4uMX9zj777AabOXHixLDpppuGJ554Ivv8pz/9aTaPhRdeOMRAL87xvffeywLEf/7zn40+Ufjmm2+GddddN3sCMT6dd8wxx4Ttt98+O2c8Ls4/PmW42GKLhaeeeip07Nixwfn06dMn7LDDDiEGeIsvvng46aSTsvo/+uijEIPBe+65Jztuo402Co8++mho167hV5NXwqYlq98FqCV6jiVAgAABAgQIECBAgACBWgjcPOj1cPK9L+RDdVt2oXDnIRvUYuiKjeH+u2KUSZ+osAFg//79s6/Xxm2fffbJvn4722yzNYgdn4SbffbZ6302atSo7Gu5MVTr2rVrGDBgQJhrrrnyfb788svQs2fPMGzYsCyQe/HFF8OKK644zfmvvfbacMABB2R/P/TQQ8Nll11Wb59XX301C/Y+/fTT7Ph4noa+fhtruOmmm7Jj77jjjrDrrrvWO0/82+677579bd999w3XX3/9NHP59ttvs6/5jhkzJsw///zh6aefzgLNKbfDDjssXH755dmfrrvuurDffvtNc55K2bRk5bsAtUTPsQQIECBAgAABAgQIECBQC4GrHx8Tzrz/xXyojVdaNNx0QI9aDF2xMdx/V4wy6RMVMgCMT7fFoOuV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JCSw4bkPh7c/+Sqf8bX7dQ2bdV48oQp8BTipZlVxsoUMAH/0ox+FRx99NCs7/v5fly5dGiWoCwunfMPumDFjwgorrJAdE9/qG58IbGyLn/fu3Tv7OB633HKTv8t/7bXXhgMOOCD7LL5JNz4R2NgWA8hRo0aFZZZZJrz++uv1dttnn33CTTfdlP0tvv02vuG3oS1+ttRS//svCfGYG264od5u8dzxhRlThp0NnSfOda+99so+ijXsv//++W6VsmkUookf+C8QTYSyGwECBAgQIECAAAECBAi0mkCX0x8KH3/5bT7+bQevF9ZbfpFWm09zBnb/3Ry18h1TyADwd7/7Xf6Si7vuuivsvPPODcp/+umnYcEFFwzff/992GqrrcKDDz6Y7Rf/uWPHjmHcuHGhc+fO4cUXX2y0c6usskr25ODSSy+dhWtTvrwiBnoxbIvbIYccEq644ooGzxOfQIxPIsZtzz33DLfccku9/WLAGIPGuN12221h9913b/A88bN4fNyuvPLKcPDBB9fbL4Z6MdyL2/SCxDjXeHzcXn755dCpU6f8PJWyaem/Ci5ALRV0PAECBAgQIECAAAECBAhUW6DTSQ+EbyZ+lw9z3+EbhTU6LlDtYSt6fvffFeVM9mSFDACfe+65sNZaa2Woe++9d7j55psbBI5PyO23337ZZ/HttlO+wffQQw/NA7uBAweG9dZbb5pzxDcHxzcJxy3uf9lll02zz6qrrpoFiAsvvHAWEMa3Ek+9nXvuueHEE0/M/nzHHXeEXXfdtd4uMSCMAWN8O+/WW28d+vbt22A922yzTRZixrcNv/3229M8KRjPXRcennPOOeGEE06Y5jxffvllFn5+/PHHIc59xIgR0+xTKZuWrHoXoJboOZYAAQIECBAgQIAAAQIEqi3wzYTvQqeTH6g3TP9je4YVOsxb7aEren733xXlTPZkhQwAo+a2224bHnjggSwMe+ihh8Lmm28+TajWrVu37HXWs88+e/b13Riy1W3x6b0YgE2cODF07do1DBgwIMw111z551999VXYZJNNwrBhw0L79u3DyJEjw0orrTRNI6f8GvBhhx0WLr300nr7jB49OqyzzjohPo244oorZmFhPN/U25RfA77zzjvDLrvsUm+X+Lfddtst+9u+++4brr/++mnO8e2332ZPNMZa4+8Bxq9H133VuW7nOMfL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Vxo/Jo0ZtVyu0i8xBAgQIECAQDEFBACLWW7tTrUAYLtFC3C/J598Mq266qpZSg888MB0zjnn9JnqadOmZRuAxIYgt99+e1M5HDFiRFPnCQA2zeREAgQIEMiZgIBezgpEcggQIECAAIGGAgKAKkYICABWsB7EiLu11147y/mHPvShdOaZZ/apEOfGNRtssEG67777mhITAGyKyUkECBAgkCMBAb0cFYakECBAgAABAm0TEABsG2WhbyQAWOjiG1jih2MEYBmnAO98/B8HBj6Aq1oYQNl19wFdk5ofqVl/0MCeMwCE+IZiAA9rPUfxoNbTN4BLhi8/md1A8tT6RQN5TuspG8a6MFC71ulq1a71iwbi3fpTBoYwoOcM7FEty41cbkSKKbWm3A6k9bmGAAECBAgQKLqAAGDRS7A96RcAbI9joe4yHGsA9geiA+pPyM8JECBAgAABAgQIECBAgMDgBbx/D96wDHcQACxDKQ4gD6usskqaO3euXYAHYOcSAgQIECBAgAABAgQIECBQFAEBwKKU1NCmUwBwaH1ze/fddtstXXPNNWnChAnpmWeeSaNGjWqY1tj1d6eddsp+dtRRR6Vjjz22LXnSAbWF0U0IECBAgAABAgQIECBAgECfAt6/VZAQEACsaD048sgj03HHHZflfsaMGWn77bdvKHH88cenI444IvvZZZddlvbaa6+2iOmA2sLoJgQIECBAgAABAgQIECBAQABQHehXQACwX6JynjBz5syuoN+hhx6aTj311B4ZXbx4cZo+fXq666670uTJk9OcOXPS6NGj2wIiANgWRjchQIAAAQIECBAgQIAAAQICgOpAvwICgP0SlfeE+jTgmP579dVXpx133HGpzJ544onp8MMPz/7t6KOPTsccc0zbMAQA20bpRgQIECBAgAABAgQIECBAoFcB798qRwgIAFa4Htx8881p5513Ti+99FKaOHFiimnBu+++e/b3c845J5122mmZzsYbb5xuvPHGNGnSpMhFRhkAACAASURBVLZp6YDaRulGBAgQIECAAAECBAgQIEBAAFAd6FNAALDiFeTCCy9MBx98cHruuecaSkTw7+KLL04bbrhhW6UEANvK6WYECBAgQIAAAQIECBAgQKChgPdvFSMEBADVgzRr1qx00kknZYG+6BjGjBmTBfz233//dNhhh6Xx48e3XUkH1HZS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MP3kJz9Jv/zlL9Nf//rX9MILL2Tp2XPPPdNnP/vZ9MY3vrGp+zz11FNZ27rgggvSgw8+mF2z7rrrpve+973pc5/7XJoyZUpT97njjjvS97///XT55ZenRx99NE2cODFtuumm6aCDDkof//jH06hRo5q6j5OKL/CVr3wl/fu//3tXRq688sr0tre9rc+MaRPFL3c5aCzw0EMPpTPOOCP7/BKfZZ5//vmsz49+dvfdd88+x0yfPr1XPm1DzSqTwIIFC9KZZ56ZzjvvvHTbbbelefPmZZ+n1lhjjbTTTjulQw45JPt/f4d20Z+QnxMgkFcBAcC8lox05UbgwgsvTAcffHB67rnnGqZp4403zj5Yb7jhhrlJs4SUR2C33XZL11xzTb8Z+vCHP5xOP/30NGbMmF7PXbx4cRbki5fB3o4Ilv34xz9Oyy23XK/nRNBun332yQKIjY4IkJ9yyilZ4K2v4/rrr88CfY8//njD01ZbbbUsMLjddtv1eZ/I92GHHZbig32jI66PNrrKKqv06+iEYgvccsstWTA7AtT1o68AoDahTRS7xved+vhS5IgjjkgvvvhiryfGFy3f+973evxc29A2ytY2IgC+7777pjvvvLPPrH3mM59JJ510UhoxYoR28bqAz1Flaw3yU2UBAcAql7689ytw8803ZyOsXnrppWxEUXyQjm/M4+/nnHNOFnCJI4KAMUpr0qRJ/d7TCQRaEYjA8t/+9rdsdN3++++fdt1117T22munRYsWpeuuuy59+9vfTo888kh2yw984APpV7/6Va+3j/p7/PHHZz9/85vfnA4//PBsJGvcP0ZMRX2PI8771re+1fA+8dwYTRWjEeP4x3/8x+wb85VXXjlFQO+b3/xmmjNnThZAvOiii3odURgjabfeeutsBGKMzvvnf/7n9M53vjO7Z1z3ne98JwvirLrqqul///d/05prrtkwPTEy8l3veleKl9Vp06alr33ta2n77bfPvtWP9nn++edn18UIyauuuiqNHDmyFX7nFkgg6sAOO+yQBaaj3kQ9jKOvAKA2oU0UqIq3lNToi7/xjW9k18RnlOinIzi+4oorprlz52b9/e9+97usv4z+dtlD29A2WqpwOT/51VdfzT731IN/W265Zfa5Y5NNNslGxcZnmvg8VQ+WH3fccemrX/2qduFzVM5rtuQRaF1AALB1M1dU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zNbWiW/NY5py7CrZzBHPj7YVgb564DJ2Hn7Pe96TjVqZMmVKM7dJd9xxR7ZWzxVXXJFtdhK7d8eGJrEGVgQie1vvp6mbO6lwAs0GALWJwhWtBLcgMHfu3PT9738/619jB+z4kiR2Q33b296WYn2zvnYI1jZagHZqYQSiTZxxxhnZFPlYEzhGycbng/jCMT4HxVThd7/73X3OtIjM+hxVmCKXUAIElhEQAFQlCBAgQIAAAQIECBAgQIAAAQIECJRYQACwxIUrawQIECBAgAABAgQIECBAgAABAgQEANUBAgQIECBAgAABAgQIECBAgAABAiUWEAAsceHKGgECBAgQIECAAAECBAgQIECAAAEBQHWAAAECBAgQIECAAAECBAgQIECAQIkFBABLXLiyRoAAAQIECBAgQIAAAQIECBAgQEAAUB0gQIAAAQIECBAgQIAAAQIECBAgUGIBAcASF66sESBAgAABAgQIECBAgAABAgQIEBAAVAcIECBAgAABAgQIECBAgAABAgQIlFhAALDEhStrBAgQIECAAAECBAgQIECAAAECBAQA1QECBAgQIECAAAECBAgQIECAAAECJRYQACxx4coaAQIECBAgQIAAAQIECBAgQIAAAQFAdYAAAQIECBAgQIAAAQIECBAgQIBAiQUEAEtcuLJGgAABAgQIECBAgAABAgQIECBAQABQHSBAgAABAgQIECBAgAABAgQIECBQYgEBwBIXrqwRIECAAAECBAgQIECAAAECBAgQEABUBwgQIECAAAECBAgQIECAAAECBAiUWEAAsMSFK2sECBAgQIAAAQIECBAgQIAAAQIEBADVAQIECBAgQIAAAQIECBAgQIAAAQIlFhAALHHhyhoBAgQIECBAgAABAgQIECBAgAABAUB1gAABAgQIECBAgAABAgQIECBAgECJBQQAS1y4skaAAAECBAgQIECAAAECBAgQIEBAAFAdIECAAAECBAgQIECAAAECBAgQIFBiAQHAEheurBEgQIAAAQIECBAgQIAAAQIECBAQAFQHCBAgQIAAAQIECBAgQIAAAQIECJRYQACwxIUrawQIECBAgAABAgQIECBAgAABAgQEANUBAgQIECBAgAABAgQIECBAgAABAiUWEAAsceHKGgECQ7AHhwAAA6hJREFUBAgQIECAAAECBAgQIECAAAEBQHWAAAECBAgQIECAAAECBAgQIECAQIkFBABLXLiyRoAAAQIECBAgQIAAAQIECBAgQEAAUB0gQIAAAQIECBAgQIAAAQIECBAgUGIBAcASF66sESBAgAABAgQIECBAgAABAgQIEBAAVAcIECBAgAABAgQIECBAgAABAgQIlFhAALDEhStrBAgQIECAAAECBAgQIECAAAECBAQA1QECBAgQIECAAAECBAgQIECAAAECJRYQACxx4coaAQIECBAgQIAAAQIECBAgQIAAAQFAdYAAAQIECBAgQIAAAQIECBAgQIBAiQUEAEtcuLJGgAABAgQIECBAgAABAgQIECBAQABQHSBAgAABAgQIECBAgAABAgQIECBQYgEBwBIXrqwRIECAAAECBAgQIECAAAECBAgQEABUBwgQIECAAAECBAgQIECAAAECBAiUWEAAsMSFK2sECBAgQIAAAQIECBAgQIAAAQIEBADVAQIECBAgQIAAAQIECBAgQIAAAQIlFhAALHHhyhoBAgQIECBAgAABAgQIECBAgAABAUB1gAABAgQIECBAgAABAgQIECBAgECJBQQAS1y4skaAAAECBAgQIECAAAECBAgQIEBAAFAdIECAAAECBAgQIECAAAECBAgQIFBiAQHAEheurBEgQIAAAQIECBAgQIAAAQIECBAQAFQHCBAgQIAAAQIECBAgQIAAAQIECJRYQACwxIUrawQIECBAgAABAgQIECBAgAABAgQEANUBAgQIECBAgAABAgQIECBAgAABAiUWEAAsceHKGgECBAgQIECAAAECBAgQIECAAAEBQHWAAAECBAgQIECAAAECBAgQIECAQIkFBABLXLiyRoAAAQIECBAgQIAAAQIECBAgQEAAUB0gQIAAAQIECBAgQIAAAQIECBAgUGIBAcASF66sESBAgAABAgQIECBAgAABAgQIEBAAVAcIECBAgAABAgQIECBAgAABAgQIlFhAALDEhStrBAgQIECAAAECBAgQIECAAAECBAQA1QECBAgQIECAAAECBAgQIECAAAECJRYQACxx4coaAQIECBAgQIAAAQIECBAgQIAAAQFAdYAAAQIECBAgQIAAAQIECBAgQIBAiQUEAEtcuLJGgAABAgQIECBAgAABAgQIECBAQABQHSBAgAABAgQIECBAgAABAgQIECBQYgEBwBIXrqwRIECAAAECBAgQIECAAAECBAgQ+P/Fbam6Eq5NJgAAAABJRU5ErkJggg==\" width=\"640\">"
|
||
],
|
||
"text/plain": [
|
||
"<IPython.core.display.HTML object>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"%matplotlib notebook\n",
|
||
"y_accounts = accounts.sort_values(by='likes')['likes'].cumsum().reset_index(drop=True)\n",
|
||
"plt.plot(y_accounts)\n",
|
||
"plt.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 14,
|
||
"id": "33ec3b44",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"0.00 0.0\n",
|
||
"0.25 0.0\n",
|
||
"0.50 1.0\n",
|
||
"0.75 4.0\n",
|
||
"0.90 15.0\n",
|
||
"0.95 32.0\n",
|
||
"0.99 137.0\n",
|
||
"Name: likes, dtype: float64"
|
||
]
|
||
},
|
||
"execution_count": 14,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"quants = [0, 0.25, 0.5, 0.75, 0.9, .95, .99]\n",
|
||
"quantiles = accounts['likes'].quantile(quants)\n",
|
||
"quantiles"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 15,
|
||
"id": "fe29f683",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"[0, 0, 36854, 65304, 81702, 86403, 90162]"
|
||
]
|
||
},
|
||
"execution_count": 15,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"sorted_accounts = accounts.sort_values(by='likes')\n",
|
||
"quant_idx = [np.where(sorted_accounts['likes'] >= q)[0][0] for q in quantiles]\n",
|
||
"quant_idx"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 16,
|
||
"id": "36b72cea",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"(array([36854, 36855, 36856, ..., 91073, 91074, 91075]),)"
|
||
]
|
||
},
|
||
"execution_count": 16,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"np.where(sorted_accounts['likes'] > 0)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 17,
|
||
"id": "c10b03d4",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"application/javascript": [
|
||
"/* Put everything inside the global mpl namespace */\n",
|
||
"/* global mpl */\n",
|
||
"window.mpl = {};\n",
|
||
"\n",
|
||
"mpl.get_websocket_type = function () {\n",
|
||
" if (typeof WebSocket !== 'undefined') {\n",
|
||
" return WebSocket;\n",
|
||
" } else if (typeof MozWebSocket !== 'undefined') {\n",
|
||
" return MozWebSocket;\n",
|
||
" } else {\n",
|
||
" alert(\n",
|
||
" 'Your browser does not have WebSocket support. ' +\n",
|
||
" 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
|
||
" 'Firefox 4 and 5 are also supported but you ' +\n",
|
||
" 'have to enable WebSockets in about:config.'\n",
|
||
" );\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
|
||
" this.id = figure_id;\n",
|
||
"\n",
|
||
" this.ws = websocket;\n",
|
||
"\n",
|
||
" this.supports_binary = this.ws.binaryType !== undefined;\n",
|
||
"\n",
|
||
" if (!this.supports_binary) {\n",
|
||
" var warnings = document.getElementById('mpl-warnings');\n",
|
||
" if (warnings) {\n",
|
||
" warnings.style.display = 'block';\n",
|
||
" warnings.textContent =\n",
|
||
" 'This browser does not support binary websocket messages. ' +\n",
|
||
" 'Performance may be slow.';\n",
|
||
" }\n",
|
||
" }\n",
|
||
"\n",
|
||
" this.imageObj = new Image();\n",
|
||
"\n",
|
||
" this.context = undefined;\n",
|
||
" this.message = undefined;\n",
|
||
" this.canvas = undefined;\n",
|
||
" this.rubberband_canvas = undefined;\n",
|
||
" this.rubberband_context = undefined;\n",
|
||
" this.format_dropdown = undefined;\n",
|
||
"\n",
|
||
" this.image_mode = 'full';\n",
|
||
"\n",
|
||
" this.root = document.createElement('div');\n",
|
||
" this.root.setAttribute('style', 'display: inline-block');\n",
|
||
" this._root_extra_style(this.root);\n",
|
||
"\n",
|
||
" parent_element.appendChild(this.root);\n",
|
||
"\n",
|
||
" this._init_header(this);\n",
|
||
" this._init_canvas(this);\n",
|
||
" this._init_toolbar(this);\n",
|
||
"\n",
|
||
" var fig = this;\n",
|
||
"\n",
|
||
" this.waiting = false;\n",
|
||
"\n",
|
||
" this.ws.onopen = function () {\n",
|
||
" fig.send_message('supports_binary', { value: fig.supports_binary });\n",
|
||
" fig.send_message('send_image_mode', {});\n",
|
||
" if (fig.ratio !== 1) {\n",
|
||
" fig.send_message('set_device_pixel_ratio', {\n",
|
||
" device_pixel_ratio: fig.ratio,\n",
|
||
" });\n",
|
||
" }\n",
|
||
" fig.send_message('refresh', {});\n",
|
||
" };\n",
|
||
"\n",
|
||
" this.imageObj.onload = function () {\n",
|
||
" if (fig.image_mode === 'full') {\n",
|
||
" // Full images could contain transparency (where diff images\n",
|
||
" // almost always do), so we need to clear the canvas so that\n",
|
||
" // there is no ghosting.\n",
|
||
" fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
|
||
" }\n",
|
||
" fig.context.drawImage(fig.imageObj, 0, 0);\n",
|
||
" };\n",
|
||
"\n",
|
||
" this.imageObj.onunload = function () {\n",
|
||
" fig.ws.close();\n",
|
||
" };\n",
|
||
"\n",
|
||
" this.ws.onmessage = this._make_on_message_function(this);\n",
|
||
"\n",
|
||
" this.ondownload = ondownload;\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._init_header = function () {\n",
|
||
" var titlebar = document.createElement('div');\n",
|
||
" titlebar.classList =\n",
|
||
" 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
|
||
" var titletext = document.createElement('div');\n",
|
||
" titletext.classList = 'ui-dialog-title';\n",
|
||
" titletext.setAttribute(\n",
|
||
" 'style',\n",
|
||
" 'width: 100%; text-align: center; padding: 3px;'\n",
|
||
" );\n",
|
||
" titlebar.appendChild(titletext);\n",
|
||
" this.root.appendChild(titlebar);\n",
|
||
" this.header = titletext;\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._init_canvas = function () {\n",
|
||
" var fig = this;\n",
|
||
"\n",
|
||
" var canvas_div = (this.canvas_div = document.createElement('div'));\n",
|
||
" canvas_div.setAttribute(\n",
|
||
" 'style',\n",
|
||
" 'border: 1px solid #ddd;' +\n",
|
||
" 'box-sizing: content-box;' +\n",
|
||
" 'clear: both;' +\n",
|
||
" 'min-height: 1px;' +\n",
|
||
" 'min-width: 1px;' +\n",
|
||
" 'outline: 0;' +\n",
|
||
" 'overflow: hidden;' +\n",
|
||
" 'position: relative;' +\n",
|
||
" 'resize: both;'\n",
|
||
" );\n",
|
||
"\n",
|
||
" function on_keyboard_event_closure(name) {\n",
|
||
" return function (event) {\n",
|
||
" return fig.key_event(event, name);\n",
|
||
" };\n",
|
||
" }\n",
|
||
"\n",
|
||
" canvas_div.addEventListener(\n",
|
||
" 'keydown',\n",
|
||
" on_keyboard_event_closure('key_press')\n",
|
||
" );\n",
|
||
" canvas_div.addEventListener(\n",
|
||
" 'keyup',\n",
|
||
" on_keyboard_event_closure('key_release')\n",
|
||
" );\n",
|
||
"\n",
|
||
" this._canvas_extra_style(canvas_div);\n",
|
||
" this.root.appendChild(canvas_div);\n",
|
||
"\n",
|
||
" var canvas = (this.canvas = document.createElement('canvas'));\n",
|
||
" canvas.classList.add('mpl-canvas');\n",
|
||
" canvas.setAttribute('style', 'box-sizing: content-box;');\n",
|
||
"\n",
|
||
" this.context = canvas.getContext('2d');\n",
|
||
"\n",
|
||
" var backingStore =\n",
|
||
" this.context.backingStorePixelRatio ||\n",
|
||
" this.context.webkitBackingStorePixelRatio ||\n",
|
||
" this.context.mozBackingStorePixelRatio ||\n",
|
||
" this.context.msBackingStorePixelRatio ||\n",
|
||
" this.context.oBackingStorePixelRatio ||\n",
|
||
" this.context.backingStorePixelRatio ||\n",
|
||
" 1;\n",
|
||
"\n",
|
||
" this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
|
||
"\n",
|
||
" var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
|
||
" 'canvas'\n",
|
||
" ));\n",
|
||
" rubberband_canvas.setAttribute(\n",
|
||
" 'style',\n",
|
||
" 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
|
||
" );\n",
|
||
"\n",
|
||
" // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
|
||
" if (this.ResizeObserver === undefined) {\n",
|
||
" if (window.ResizeObserver !== undefined) {\n",
|
||
" this.ResizeObserver = window.ResizeObserver;\n",
|
||
" } else {\n",
|
||
" var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
|
||
" this.ResizeObserver = obs.ResizeObserver;\n",
|
||
" }\n",
|
||
" }\n",
|
||
"\n",
|
||
" this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
|
||
" var nentries = entries.length;\n",
|
||
" for (var i = 0; i < nentries; i++) {\n",
|
||
" var entry = entries[i];\n",
|
||
" var width, height;\n",
|
||
" if (entry.contentBoxSize) {\n",
|
||
" if (entry.contentBoxSize instanceof Array) {\n",
|
||
" // Chrome 84 implements new version of spec.\n",
|
||
" width = entry.contentBoxSize[0].inlineSize;\n",
|
||
" height = entry.contentBoxSize[0].blockSize;\n",
|
||
" } else {\n",
|
||
" // Firefox implements old version of spec.\n",
|
||
" width = entry.contentBoxSize.inlineSize;\n",
|
||
" height = entry.contentBoxSize.blockSize;\n",
|
||
" }\n",
|
||
" } else {\n",
|
||
" // Chrome <84 implements even older version of spec.\n",
|
||
" width = entry.contentRect.width;\n",
|
||
" height = entry.contentRect.height;\n",
|
||
" }\n",
|
||
"\n",
|
||
" // Keep the size of the canvas and rubber band canvas in sync with\n",
|
||
" // the canvas container.\n",
|
||
" if (entry.devicePixelContentBoxSize) {\n",
|
||
" // Chrome 84 implements new version of spec.\n",
|
||
" canvas.setAttribute(\n",
|
||
" 'width',\n",
|
||
" entry.devicePixelContentBoxSize[0].inlineSize\n",
|
||
" );\n",
|
||
" canvas.setAttribute(\n",
|
||
" 'height',\n",
|
||
" entry.devicePixelContentBoxSize[0].blockSize\n",
|
||
" );\n",
|
||
" } else {\n",
|
||
" canvas.setAttribute('width', width * fig.ratio);\n",
|
||
" canvas.setAttribute('height', height * fig.ratio);\n",
|
||
" }\n",
|
||
" canvas.setAttribute(\n",
|
||
" 'style',\n",
|
||
" 'width: ' + width + 'px; height: ' + height + 'px;'\n",
|
||
" );\n",
|
||
"\n",
|
||
" rubberband_canvas.setAttribute('width', width);\n",
|
||
" rubberband_canvas.setAttribute('height', height);\n",
|
||
"\n",
|
||
" // And update the size in Python. We ignore the initial 0/0 size\n",
|
||
" // that occurs as the element is placed into the DOM, which should\n",
|
||
" // otherwise not happen due to the minimum size styling.\n",
|
||
" if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
|
||
" fig.request_resize(width, height);\n",
|
||
" }\n",
|
||
" }\n",
|
||
" });\n",
|
||
" this.resizeObserverInstance.observe(canvas_div);\n",
|
||
"\n",
|
||
" function on_mouse_event_closure(name) {\n",
|
||
" return function (event) {\n",
|
||
" return fig.mouse_event(event, name);\n",
|
||
" };\n",
|
||
" }\n",
|
||
"\n",
|
||
" rubberband_canvas.addEventListener(\n",
|
||
" 'mousedown',\n",
|
||
" on_mouse_event_closure('button_press')\n",
|
||
" );\n",
|
||
" rubberband_canvas.addEventListener(\n",
|
||
" 'mouseup',\n",
|
||
" on_mouse_event_closure('button_release')\n",
|
||
" );\n",
|
||
" rubberband_canvas.addEventListener(\n",
|
||
" 'dblclick',\n",
|
||
" on_mouse_event_closure('dblclick')\n",
|
||
" );\n",
|
||
" // Throttle sequential mouse events to 1 every 20ms.\n",
|
||
" rubberband_canvas.addEventListener(\n",
|
||
" 'mousemove',\n",
|
||
" on_mouse_event_closure('motion_notify')\n",
|
||
" );\n",
|
||
"\n",
|
||
" rubberband_canvas.addEventListener(\n",
|
||
" 'mouseenter',\n",
|
||
" on_mouse_event_closure('figure_enter')\n",
|
||
" );\n",
|
||
" rubberband_canvas.addEventListener(\n",
|
||
" 'mouseleave',\n",
|
||
" on_mouse_event_closure('figure_leave')\n",
|
||
" );\n",
|
||
"\n",
|
||
" canvas_div.addEventListener('wheel', function (event) {\n",
|
||
" if (event.deltaY < 0) {\n",
|
||
" event.step = 1;\n",
|
||
" } else {\n",
|
||
" event.step = -1;\n",
|
||
" }\n",
|
||
" on_mouse_event_closure('scroll')(event);\n",
|
||
" });\n",
|
||
"\n",
|
||
" canvas_div.appendChild(canvas);\n",
|
||
" canvas_div.appendChild(rubberband_canvas);\n",
|
||
"\n",
|
||
" this.rubberband_context = rubberband_canvas.getContext('2d');\n",
|
||
" this.rubberband_context.strokeStyle = '#000000';\n",
|
||
"\n",
|
||
" this._resize_canvas = function (width, height, forward) {\n",
|
||
" if (forward) {\n",
|
||
" canvas_div.style.width = width + 'px';\n",
|
||
" canvas_div.style.height = height + 'px';\n",
|
||
" }\n",
|
||
" };\n",
|
||
"\n",
|
||
" // Disable right mouse context menu.\n",
|
||
" this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
|
||
" event.preventDefault();\n",
|
||
" return false;\n",
|
||
" });\n",
|
||
"\n",
|
||
" function set_focus() {\n",
|
||
" canvas.focus();\n",
|
||
" canvas_div.focus();\n",
|
||
" }\n",
|
||
"\n",
|
||
" window.setTimeout(set_focus, 100);\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._init_toolbar = function () {\n",
|
||
" var fig = this;\n",
|
||
"\n",
|
||
" var toolbar = document.createElement('div');\n",
|
||
" toolbar.classList = 'mpl-toolbar';\n",
|
||
" this.root.appendChild(toolbar);\n",
|
||
"\n",
|
||
" function on_click_closure(name) {\n",
|
||
" return function (_event) {\n",
|
||
" return fig.toolbar_button_onclick(name);\n",
|
||
" };\n",
|
||
" }\n",
|
||
"\n",
|
||
" function on_mouseover_closure(tooltip) {\n",
|
||
" return function (event) {\n",
|
||
" if (!event.currentTarget.disabled) {\n",
|
||
" return fig.toolbar_button_onmouseover(tooltip);\n",
|
||
" }\n",
|
||
" };\n",
|
||
" }\n",
|
||
"\n",
|
||
" fig.buttons = {};\n",
|
||
" var buttonGroup = document.createElement('div');\n",
|
||
" buttonGroup.classList = 'mpl-button-group';\n",
|
||
" for (var toolbar_ind in mpl.toolbar_items) {\n",
|
||
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
|
||
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
|
||
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
|
||
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
|
||
"\n",
|
||
" if (!name) {\n",
|
||
" /* Instead of a spacer, we start a new button group. */\n",
|
||
" if (buttonGroup.hasChildNodes()) {\n",
|
||
" toolbar.appendChild(buttonGroup);\n",
|
||
" }\n",
|
||
" buttonGroup = document.createElement('div');\n",
|
||
" buttonGroup.classList = 'mpl-button-group';\n",
|
||
" continue;\n",
|
||
" }\n",
|
||
"\n",
|
||
" var button = (fig.buttons[name] = document.createElement('button'));\n",
|
||
" button.classList = 'mpl-widget';\n",
|
||
" button.setAttribute('role', 'button');\n",
|
||
" button.setAttribute('aria-disabled', 'false');\n",
|
||
" button.addEventListener('click', on_click_closure(method_name));\n",
|
||
" button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
|
||
"\n",
|
||
" var icon_img = document.createElement('img');\n",
|
||
" icon_img.src = '_images/' + image + '.png';\n",
|
||
" icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
|
||
" icon_img.alt = tooltip;\n",
|
||
" button.appendChild(icon_img);\n",
|
||
"\n",
|
||
" buttonGroup.appendChild(button);\n",
|
||
" }\n",
|
||
"\n",
|
||
" if (buttonGroup.hasChildNodes()) {\n",
|
||
" toolbar.appendChild(buttonGroup);\n",
|
||
" }\n",
|
||
"\n",
|
||
" var fmt_picker = document.createElement('select');\n",
|
||
" fmt_picker.classList = 'mpl-widget';\n",
|
||
" toolbar.appendChild(fmt_picker);\n",
|
||
" this.format_dropdown = fmt_picker;\n",
|
||
"\n",
|
||
" for (var ind in mpl.extensions) {\n",
|
||
" var fmt = mpl.extensions[ind];\n",
|
||
" var option = document.createElement('option');\n",
|
||
" option.selected = fmt === mpl.default_extension;\n",
|
||
" option.innerHTML = fmt;\n",
|
||
" fmt_picker.appendChild(option);\n",
|
||
" }\n",
|
||
"\n",
|
||
" var status_bar = document.createElement('span');\n",
|
||
" status_bar.classList = 'mpl-message';\n",
|
||
" toolbar.appendChild(status_bar);\n",
|
||
" this.message = status_bar;\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
|
||
" // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
|
||
" // which will in turn request a refresh of the image.\n",
|
||
" this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.send_message = function (type, properties) {\n",
|
||
" properties['type'] = type;\n",
|
||
" properties['figure_id'] = this.id;\n",
|
||
" this.ws.send(JSON.stringify(properties));\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.send_draw_message = function () {\n",
|
||
" if (!this.waiting) {\n",
|
||
" this.waiting = true;\n",
|
||
" this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
|
||
" var format_dropdown = fig.format_dropdown;\n",
|
||
" var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
|
||
" fig.ondownload(fig, format);\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
|
||
" var size = msg['size'];\n",
|
||
" if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
|
||
" fig._resize_canvas(size[0], size[1], msg['forward']);\n",
|
||
" fig.send_message('refresh', {});\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
|
||
" var x0 = msg['x0'] / fig.ratio;\n",
|
||
" var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
|
||
" var x1 = msg['x1'] / fig.ratio;\n",
|
||
" var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
|
||
" x0 = Math.floor(x0) + 0.5;\n",
|
||
" y0 = Math.floor(y0) + 0.5;\n",
|
||
" x1 = Math.floor(x1) + 0.5;\n",
|
||
" y1 = Math.floor(y1) + 0.5;\n",
|
||
" var min_x = Math.min(x0, x1);\n",
|
||
" var min_y = Math.min(y0, y1);\n",
|
||
" var width = Math.abs(x1 - x0);\n",
|
||
" var height = Math.abs(y1 - y0);\n",
|
||
"\n",
|
||
" fig.rubberband_context.clearRect(\n",
|
||
" 0,\n",
|
||
" 0,\n",
|
||
" fig.canvas.width / fig.ratio,\n",
|
||
" fig.canvas.height / fig.ratio\n",
|
||
" );\n",
|
||
"\n",
|
||
" fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
|
||
" // Updates the figure title.\n",
|
||
" fig.header.textContent = msg['label'];\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
|
||
" fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_message = function (fig, msg) {\n",
|
||
" fig.message.textContent = msg['message'];\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
|
||
" // Request the server to send over a new figure.\n",
|
||
" fig.send_draw_message();\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
|
||
" fig.image_mode = msg['mode'];\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
|
||
" for (var key in msg) {\n",
|
||
" if (!(key in fig.buttons)) {\n",
|
||
" continue;\n",
|
||
" }\n",
|
||
" fig.buttons[key].disabled = !msg[key];\n",
|
||
" fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
|
||
" if (msg['mode'] === 'PAN') {\n",
|
||
" fig.buttons['Pan'].classList.add('active');\n",
|
||
" fig.buttons['Zoom'].classList.remove('active');\n",
|
||
" } else if (msg['mode'] === 'ZOOM') {\n",
|
||
" fig.buttons['Pan'].classList.remove('active');\n",
|
||
" fig.buttons['Zoom'].classList.add('active');\n",
|
||
" } else {\n",
|
||
" fig.buttons['Pan'].classList.remove('active');\n",
|
||
" fig.buttons['Zoom'].classList.remove('active');\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.updated_canvas_event = function () {\n",
|
||
" // Called whenever the canvas gets updated.\n",
|
||
" this.send_message('ack', {});\n",
|
||
"};\n",
|
||
"\n",
|
||
"// A function to construct a web socket function for onmessage handling.\n",
|
||
"// Called in the figure constructor.\n",
|
||
"mpl.figure.prototype._make_on_message_function = function (fig) {\n",
|
||
" return function socket_on_message(evt) {\n",
|
||
" if (evt.data instanceof Blob) {\n",
|
||
" var img = evt.data;\n",
|
||
" if (img.type !== 'image/png') {\n",
|
||
" /* FIXME: We get \"Resource interpreted as Image but\n",
|
||
" * transferred with MIME type text/plain:\" errors on\n",
|
||
" * Chrome. But how to set the MIME type? It doesn't seem\n",
|
||
" * to be part of the websocket stream */\n",
|
||
" img.type = 'image/png';\n",
|
||
" }\n",
|
||
"\n",
|
||
" /* Free the memory for the previous frames */\n",
|
||
" if (fig.imageObj.src) {\n",
|
||
" (window.URL || window.webkitURL).revokeObjectURL(\n",
|
||
" fig.imageObj.src\n",
|
||
" );\n",
|
||
" }\n",
|
||
"\n",
|
||
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
|
||
" img\n",
|
||
" );\n",
|
||
" fig.updated_canvas_event();\n",
|
||
" fig.waiting = false;\n",
|
||
" return;\n",
|
||
" } else if (\n",
|
||
" typeof evt.data === 'string' &&\n",
|
||
" evt.data.slice(0, 21) === 'data:image/png;base64'\n",
|
||
" ) {\n",
|
||
" fig.imageObj.src = evt.data;\n",
|
||
" fig.updated_canvas_event();\n",
|
||
" fig.waiting = false;\n",
|
||
" return;\n",
|
||
" }\n",
|
||
"\n",
|
||
" var msg = JSON.parse(evt.data);\n",
|
||
" var msg_type = msg['type'];\n",
|
||
"\n",
|
||
" // Call the \"handle_{type}\" callback, which takes\n",
|
||
" // the figure and JSON message as its only arguments.\n",
|
||
" try {\n",
|
||
" var callback = fig['handle_' + msg_type];\n",
|
||
" } catch (e) {\n",
|
||
" console.log(\n",
|
||
" \"No handler for the '\" + msg_type + \"' message type: \",\n",
|
||
" msg\n",
|
||
" );\n",
|
||
" return;\n",
|
||
" }\n",
|
||
"\n",
|
||
" if (callback) {\n",
|
||
" try {\n",
|
||
" // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
|
||
" callback(fig, msg);\n",
|
||
" } catch (e) {\n",
|
||
" console.log(\n",
|
||
" \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
|
||
" e,\n",
|
||
" e.stack,\n",
|
||
" msg\n",
|
||
" );\n",
|
||
" }\n",
|
||
" }\n",
|
||
" };\n",
|
||
"};\n",
|
||
"\n",
|
||
"// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
|
||
"mpl.findpos = function (e) {\n",
|
||
" //this section is from http://www.quirksmode.org/js/events_properties.html\n",
|
||
" var targ;\n",
|
||
" if (!e) {\n",
|
||
" e = window.event;\n",
|
||
" }\n",
|
||
" if (e.target) {\n",
|
||
" targ = e.target;\n",
|
||
" } else if (e.srcElement) {\n",
|
||
" targ = e.srcElement;\n",
|
||
" }\n",
|
||
" if (targ.nodeType === 3) {\n",
|
||
" // defeat Safari bug\n",
|
||
" targ = targ.parentNode;\n",
|
||
" }\n",
|
||
"\n",
|
||
" // pageX,Y are the mouse positions relative to the document\n",
|
||
" var boundingRect = targ.getBoundingClientRect();\n",
|
||
" var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
|
||
" var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
|
||
"\n",
|
||
" return { x: x, y: y };\n",
|
||
"};\n",
|
||
"\n",
|
||
"/*\n",
|
||
" * return a copy of an object with only non-object keys\n",
|
||
" * we need this to avoid circular references\n",
|
||
" * https://stackoverflow.com/a/24161582/3208463\n",
|
||
" */\n",
|
||
"function simpleKeys(original) {\n",
|
||
" return Object.keys(original).reduce(function (obj, key) {\n",
|
||
" if (typeof original[key] !== 'object') {\n",
|
||
" obj[key] = original[key];\n",
|
||
" }\n",
|
||
" return obj;\n",
|
||
" }, {});\n",
|
||
"}\n",
|
||
"\n",
|
||
"mpl.figure.prototype.mouse_event = function (event, name) {\n",
|
||
" var canvas_pos = mpl.findpos(event);\n",
|
||
"\n",
|
||
" if (name === 'button_press') {\n",
|
||
" this.canvas.focus();\n",
|
||
" this.canvas_div.focus();\n",
|
||
" }\n",
|
||
"\n",
|
||
" var x = canvas_pos.x * this.ratio;\n",
|
||
" var y = canvas_pos.y * this.ratio;\n",
|
||
"\n",
|
||
" this.send_message(name, {\n",
|
||
" x: x,\n",
|
||
" y: y,\n",
|
||
" button: event.button,\n",
|
||
" step: event.step,\n",
|
||
" guiEvent: simpleKeys(event),\n",
|
||
" });\n",
|
||
"\n",
|
||
" /* This prevents the web browser from automatically changing to\n",
|
||
" * the text insertion cursor when the button is pressed. We want\n",
|
||
" * to control all of the cursor setting manually through the\n",
|
||
" * 'cursor' event from matplotlib */\n",
|
||
" event.preventDefault();\n",
|
||
" return false;\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
|
||
" // Handle any extra behaviour associated with a key event\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.key_event = function (event, name) {\n",
|
||
" // Prevent repeat events\n",
|
||
" if (name === 'key_press') {\n",
|
||
" if (event.key === this._key) {\n",
|
||
" return;\n",
|
||
" } else {\n",
|
||
" this._key = event.key;\n",
|
||
" }\n",
|
||
" }\n",
|
||
" if (name === 'key_release') {\n",
|
||
" this._key = null;\n",
|
||
" }\n",
|
||
"\n",
|
||
" var value = '';\n",
|
||
" if (event.ctrlKey && event.key !== 'Control') {\n",
|
||
" value += 'ctrl+';\n",
|
||
" }\n",
|
||
" else if (event.altKey && event.key !== 'Alt') {\n",
|
||
" value += 'alt+';\n",
|
||
" }\n",
|
||
" else if (event.shiftKey && event.key !== 'Shift') {\n",
|
||
" value += 'shift+';\n",
|
||
" }\n",
|
||
"\n",
|
||
" value += 'k' + event.key;\n",
|
||
"\n",
|
||
" this._key_event_extra(event, name);\n",
|
||
"\n",
|
||
" this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
|
||
" return false;\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
|
||
" if (name === 'download') {\n",
|
||
" this.handle_save(this, null);\n",
|
||
" } else {\n",
|
||
" this.send_message('toolbar_button', { name: name });\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
|
||
" this.message.textContent = tooltip;\n",
|
||
"};\n",
|
||
"\n",
|
||
"///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
|
||
"// prettier-ignore\n",
|
||
"var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
|
||
"mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
|
||
"\n",
|
||
"mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
|
||
"\n",
|
||
"mpl.default_extension = \"png\";/* global mpl */\n",
|
||
"\n",
|
||
"var comm_websocket_adapter = function (comm) {\n",
|
||
" // Create a \"websocket\"-like object which calls the given IPython comm\n",
|
||
" // object with the appropriate methods. Currently this is a non binary\n",
|
||
" // socket, so there is still some room for performance tuning.\n",
|
||
" var ws = {};\n",
|
||
"\n",
|
||
" ws.binaryType = comm.kernel.ws.binaryType;\n",
|
||
" ws.readyState = comm.kernel.ws.readyState;\n",
|
||
" function updateReadyState(_event) {\n",
|
||
" if (comm.kernel.ws) {\n",
|
||
" ws.readyState = comm.kernel.ws.readyState;\n",
|
||
" } else {\n",
|
||
" ws.readyState = 3; // Closed state.\n",
|
||
" }\n",
|
||
" }\n",
|
||
" comm.kernel.ws.addEventListener('open', updateReadyState);\n",
|
||
" comm.kernel.ws.addEventListener('close', updateReadyState);\n",
|
||
" comm.kernel.ws.addEventListener('error', updateReadyState);\n",
|
||
"\n",
|
||
" ws.close = function () {\n",
|
||
" comm.close();\n",
|
||
" };\n",
|
||
" ws.send = function (m) {\n",
|
||
" //console.log('sending', m);\n",
|
||
" comm.send(m);\n",
|
||
" };\n",
|
||
" // Register the callback with on_msg.\n",
|
||
" comm.on_msg(function (msg) {\n",
|
||
" //console.log('receiving', msg['content']['data'], msg);\n",
|
||
" var data = msg['content']['data'];\n",
|
||
" if (data['blob'] !== undefined) {\n",
|
||
" data = {\n",
|
||
" data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
|
||
" };\n",
|
||
" }\n",
|
||
" // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
|
||
" ws.onmessage(data);\n",
|
||
" });\n",
|
||
" return ws;\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.mpl_figure_comm = function (comm, msg) {\n",
|
||
" // This is the function which gets called when the mpl process\n",
|
||
" // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
|
||
"\n",
|
||
" var id = msg.content.data.id;\n",
|
||
" // Get hold of the div created by the display call when the Comm\n",
|
||
" // socket was opened in Python.\n",
|
||
" var element = document.getElementById(id);\n",
|
||
" var ws_proxy = comm_websocket_adapter(comm);\n",
|
||
"\n",
|
||
" function ondownload(figure, _format) {\n",
|
||
" window.open(figure.canvas.toDataURL());\n",
|
||
" }\n",
|
||
"\n",
|
||
" var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
|
||
"\n",
|
||
" // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
|
||
" // web socket which is closed, not our websocket->open comm proxy.\n",
|
||
" ws_proxy.onopen();\n",
|
||
"\n",
|
||
" fig.parent_element = element;\n",
|
||
" fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
|
||
" if (!fig.cell_info) {\n",
|
||
" console.error('Failed to find cell for figure', id, fig);\n",
|
||
" return;\n",
|
||
" }\n",
|
||
" fig.cell_info[0].output_area.element.on(\n",
|
||
" 'cleared',\n",
|
||
" { fig: fig },\n",
|
||
" fig._remove_fig_handler\n",
|
||
" );\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_close = function (fig, msg) {\n",
|
||
" var width = fig.canvas.width / fig.ratio;\n",
|
||
" fig.cell_info[0].output_area.element.off(\n",
|
||
" 'cleared',\n",
|
||
" fig._remove_fig_handler\n",
|
||
" );\n",
|
||
" fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
|
||
"\n",
|
||
" // Update the output cell to use the data from the current canvas.\n",
|
||
" fig.push_to_output();\n",
|
||
" var dataURL = fig.canvas.toDataURL();\n",
|
||
" // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
|
||
" // the notebook keyboard shortcuts fail.\n",
|
||
" IPython.keyboard_manager.enable();\n",
|
||
" fig.parent_element.innerHTML =\n",
|
||
" '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
|
||
" fig.close_ws(fig, msg);\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.close_ws = function (fig, msg) {\n",
|
||
" fig.send_message('closing', msg);\n",
|
||
" // fig.ws.close()\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
|
||
" // Turn the data on the canvas into data in the output cell.\n",
|
||
" var width = this.canvas.width / this.ratio;\n",
|
||
" var dataURL = this.canvas.toDataURL();\n",
|
||
" this.cell_info[1]['text/html'] =\n",
|
||
" '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.updated_canvas_event = function () {\n",
|
||
" // Tell IPython that the notebook contents must change.\n",
|
||
" IPython.notebook.set_dirty(true);\n",
|
||
" this.send_message('ack', {});\n",
|
||
" var fig = this;\n",
|
||
" // Wait a second, then push the new image to the DOM so\n",
|
||
" // that it is saved nicely (might be nice to debounce this).\n",
|
||
" setTimeout(function () {\n",
|
||
" fig.push_to_output();\n",
|
||
" }, 1000);\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._init_toolbar = function () {\n",
|
||
" var fig = this;\n",
|
||
"\n",
|
||
" var toolbar = document.createElement('div');\n",
|
||
" toolbar.classList = 'btn-toolbar';\n",
|
||
" this.root.appendChild(toolbar);\n",
|
||
"\n",
|
||
" function on_click_closure(name) {\n",
|
||
" return function (_event) {\n",
|
||
" return fig.toolbar_button_onclick(name);\n",
|
||
" };\n",
|
||
" }\n",
|
||
"\n",
|
||
" function on_mouseover_closure(tooltip) {\n",
|
||
" return function (event) {\n",
|
||
" if (!event.currentTarget.disabled) {\n",
|
||
" return fig.toolbar_button_onmouseover(tooltip);\n",
|
||
" }\n",
|
||
" };\n",
|
||
" }\n",
|
||
"\n",
|
||
" fig.buttons = {};\n",
|
||
" var buttonGroup = document.createElement('div');\n",
|
||
" buttonGroup.classList = 'btn-group';\n",
|
||
" var button;\n",
|
||
" for (var toolbar_ind in mpl.toolbar_items) {\n",
|
||
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
|
||
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
|
||
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
|
||
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
|
||
"\n",
|
||
" if (!name) {\n",
|
||
" /* Instead of a spacer, we start a new button group. */\n",
|
||
" if (buttonGroup.hasChildNodes()) {\n",
|
||
" toolbar.appendChild(buttonGroup);\n",
|
||
" }\n",
|
||
" buttonGroup = document.createElement('div');\n",
|
||
" buttonGroup.classList = 'btn-group';\n",
|
||
" continue;\n",
|
||
" }\n",
|
||
"\n",
|
||
" button = fig.buttons[name] = document.createElement('button');\n",
|
||
" button.classList = 'btn btn-default';\n",
|
||
" button.href = '#';\n",
|
||
" button.title = name;\n",
|
||
" button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n",
|
||
" button.addEventListener('click', on_click_closure(method_name));\n",
|
||
" button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
|
||
" buttonGroup.appendChild(button);\n",
|
||
" }\n",
|
||
"\n",
|
||
" if (buttonGroup.hasChildNodes()) {\n",
|
||
" toolbar.appendChild(buttonGroup);\n",
|
||
" }\n",
|
||
"\n",
|
||
" // Add the status bar.\n",
|
||
" var status_bar = document.createElement('span');\n",
|
||
" status_bar.classList = 'mpl-message pull-right';\n",
|
||
" toolbar.appendChild(status_bar);\n",
|
||
" this.message = status_bar;\n",
|
||
"\n",
|
||
" // Add the close button to the window.\n",
|
||
" var buttongrp = document.createElement('div');\n",
|
||
" buttongrp.classList = 'btn-group inline pull-right';\n",
|
||
" button = document.createElement('button');\n",
|
||
" button.classList = 'btn btn-mini btn-primary';\n",
|
||
" button.href = '#';\n",
|
||
" button.title = 'Stop Interaction';\n",
|
||
" button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n",
|
||
" button.addEventListener('click', function (_evt) {\n",
|
||
" fig.handle_close(fig, {});\n",
|
||
" });\n",
|
||
" button.addEventListener(\n",
|
||
" 'mouseover',\n",
|
||
" on_mouseover_closure('Stop Interaction')\n",
|
||
" );\n",
|
||
" buttongrp.appendChild(button);\n",
|
||
" var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
|
||
" titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._remove_fig_handler = function (event) {\n",
|
||
" var fig = event.data.fig;\n",
|
||
" if (event.target !== this) {\n",
|
||
" // Ignore bubbled events from children.\n",
|
||
" return;\n",
|
||
" }\n",
|
||
" fig.close_ws(fig, {});\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._root_extra_style = function (el) {\n",
|
||
" el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._canvas_extra_style = function (el) {\n",
|
||
" // this is important to make the div 'focusable\n",
|
||
" el.setAttribute('tabindex', 0);\n",
|
||
" // reach out to IPython and tell the keyboard manager to turn it's self\n",
|
||
" // off when our div gets focus\n",
|
||
"\n",
|
||
" // location in version 3\n",
|
||
" if (IPython.notebook.keyboard_manager) {\n",
|
||
" IPython.notebook.keyboard_manager.register_events(el);\n",
|
||
" } else {\n",
|
||
" // location in version 2\n",
|
||
" IPython.keyboard_manager.register_events(el);\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
|
||
" // Check for shift+enter\n",
|
||
" if (event.shiftKey && event.which === 13) {\n",
|
||
" this.canvas_div.blur();\n",
|
||
" // select the cell after this one\n",
|
||
" var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
|
||
" IPython.notebook.select(index + 1);\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
|
||
" fig.ondownload(fig, null);\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.find_output_cell = function (html_output) {\n",
|
||
" // Return the cell and output element which can be found *uniquely* in the notebook.\n",
|
||
" // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
|
||
" // IPython event is triggered only after the cells have been serialised, which for\n",
|
||
" // our purposes (turning an active figure into a static one), is too late.\n",
|
||
" var cells = IPython.notebook.get_cells();\n",
|
||
" var ncells = cells.length;\n",
|
||
" for (var i = 0; i < ncells; i++) {\n",
|
||
" var cell = cells[i];\n",
|
||
" if (cell.cell_type === 'code') {\n",
|
||
" for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
|
||
" var data = cell.output_area.outputs[j];\n",
|
||
" if (data.data) {\n",
|
||
" // IPython >= 3 moved mimebundle to data attribute of output\n",
|
||
" data = data.data;\n",
|
||
" }\n",
|
||
" if (data['text/html'] === html_output) {\n",
|
||
" return [cell, data, j];\n",
|
||
" }\n",
|
||
" }\n",
|
||
" }\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"// Register the function which deals with the matplotlib target/channel.\n",
|
||
"// The kernel may be null if the page has been refreshed.\n",
|
||
"if (IPython.notebook.kernel !== null) {\n",
|
||
" IPython.notebook.kernel.comm_manager.register_target(\n",
|
||
" 'matplotlib',\n",
|
||
" mpl.mpl_figure_comm\n",
|
||
" );\n",
|
||
"}\n"
|
||
],
|
||
"text/plain": [
|
||
"<IPython.core.display.Javascript object>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAAPACAYAAABq3NR5AAAgAElEQVR4XuydB9hUxdmGxxJ7F1RAURALYkGkaOxg7xqV2HuJPRqNvceusffeYmwxsWFXFFFBNFgwFhQNWIgl9liSn3v4ZxmWc86e3W/325mzz3tduSLfnvLOPe+ZM/Ocd2am+98kMzIREAEREAEREAEREAEREAEREAEREAEREAEREIFCEphOAmAh61WFEgEREAEREAEREAEREAEREAEREAEREAEREAFLQAKgAkEEREAEREAEREAEREAEREAEREAEREAEREAECkxAAmCBK1dFEwEREAEREAEREAEREAEREAEREAEREAEREAEJgIoBERABERABERABERABERABERABERABERABESgwAQmABa5cFU0EREAEREAEREAEREAEREAEREAEREAEREAEJAAqBkRABERABERABERABERABERABERABERABESgwAQkABa4clU0ERABERABERABERABERABERABERABERABEZAAqBgQAREQAREQAREQAREQAREQAREQAREQAREQgQITkABY4MpV0URABERABERABERABERABERABERABERABERAAqBiQAREQAREQAREQAREQAREQAREQAREQAREQAQKTEACYIErV0UTAREQAREQAREQAREQAREQAREQAREQAREQAQmAigEREAEREAEREAEREAEREAEREAEREAEREAERKDABCYAFrlwVTQREQAREQAREQAREQAREQAREQAREQAREQAQkACoGREAEREAEREAEREAEREAEREAEREAEREAERKDABCQAFrhyVTQREAEREAEREAEREAEREAEREAEREAEREAERkACoGBABERABERABERABERABERABERABERABERCBAhOQAFjgylXRREAEREAEREAEREAEREAEREAEREAEREAEREACoGJABERABERABERABERABERABERABERABERABApMQAJggStXRRMBERABERABERABERABERABERABERABERABCYCKAREQAREQAREQAREQAREQAREQAREQAREQAREoMAEJgAWuXBVNBERABERABERABERABERABERABERABERABCQAKgZEQAREQAREQAREQAREQAREQAREQAREQAREoMAEJAAWuHJVNBEQAREQAREQAREQAREQAREQAREQAREQARGQAKgYEAEREAEREAEREAEREAEREAEREAEREAEREIECE5AAWODKVdFEQAREQAREQAREQAREQAREQAREQAREQAREQAKgYkAEREAEREAEREAEREAEREAEREAEREAEREAECkxAAmCBK1dFEwEREAEREAEREAEREAEREAEREAEREAEREAEJgIoBERABERABERABERABERABERABERABERABESgwAQmABa5cFU0EREAEREAEREAEREAEREAEREAEREAEREAEJAAqBkRABERABERABERABERABERABERABERABESgwAQkABa4clU0ERABERABERABERABERABERABERABERABEZAAqBgQAREQAREQAREQAREQAREQAREQAREQAREQgQITkABY4MpV0URABERABERABERABERABERABERABERABERAAqBiQAREQAREQAREQAREQAREQAREQAREQAREQAQKTEACYIErV0UTAREQAREQAREQAREQAREQAREQAREQAREQAQmAigEREAEREAEREAEREAEREAEREAEREAEREAERKDABCYAFrlwVTQREQAREQAREQAREQAREQAREQAREQAREQAQkACoGREAEREAEREAEREAEREAEREAEREAEREAERKDABCQAFrhyVTQREAEREAEREAEREAEREAEREAEREAEREAERkACoGBABERABERABERABERABERABERABERABERCBAhOQAFjgylXRREAEREAEREAEREAEREAEREAEREAEREAEREACoGJABERABERABERABERABERABERABERABERABApMQAJggStXRRMBERABERABERABERABERABERABERABERABCYCKAREQAREQAREQAREQAREQAREQAREQAREQAREoMAEJgAWuXBVNBERABERABERABERABERABERABERABERABCQAKgZEQAREQAREQAREQAREQAREQAREQAREQAREoMAEJAAWuHJVNBEQAREQAREQAREQAREQAREQAREQAREQARGQAKgYEAEREAEREAEREAEREAEREAEREAEREAEREIECE5AAWODKVdFEQAREQAREQAREQAREQAREQAREQAREQAREQAKgYkAEREAEREAEREAEREAEREAEREAEREAEREAECkxAAmCBK1dFEwEREAEREAEREAEREAEREAEREAEREAEREAEJgIoBERABERABERABERABERABERABERABERABESgwAQmABa5cFU0EREAEREAEREAEREAEREAEREAEREAEREAEJAAqBkRABERABERABERABERABERABERABERABESgwAQkABa4clU0ERABERABERABERABERABERABERABERABEZAAqBgQAREQAREQAREQAREQAREQAREQAREQAREQgQITkABY4MpV0URABERABERABERABERABERABERABERABERAAqBiQAREQAREQAREQAREQAREQAREQAREQAREQAQKTEACYIErV0UTAREQAREQAREQAREQAREQAREQAREQAREQAQmAigEREAEREAEREAEREAEREAEREAEREAEREAERKDABCYAFrlwVTQREQAREQAREQAREQAREQAREQAREQAREQAQkACoGREAEREAEREAEREAEREAEREAEREAEREAERKDABCQAFrhyVTQREAEREAEREAEREAEREAEREAEREAEREAERkACoGBABERABERABERABERABERABERABERABERCBAhOQAFjgylXRREAEREAEREAEREAEREAEREAEREAEREAEREACoGJABERABERABERABERABERABERABERABERABApMQAJggStXRRMBERABERABERABERABERABERABERABERABCYCKAREQAREQAREQAREQAREQAREQAREQAREQAREoMAEJgAWuXBVNBERABERABERABERABERABERABERABERABCQAKgZEQAREQAREQAREQAREQAREQAREQAREQAREoMAEJAAWuHJVNBEQAREQAREQAREQAREQAREQAREQAREQARGQAKgYEAEREAEREAEREAEREAEREAEREAEREAEREIECE5AAWODKVdFEQARak8Baa61lnnrqKVv4J554wvDvEO29994z3bp1s64tuuiihn/LRKCZBL799ltz+eWXm3vuuce8/vrr5osvvjA///yzdemEE04wJ554YlXuXX/99Wa33Xaz5+yyyy6Gf5db3udguummK536v//9ryo/dHBrEWjFWMnzrFUTBbG8R6spk44VAREQAREQAQmAigEREIGGEvjyyy/Ngw8+aB555BEzcuRIM3HiRPOvf/3LzDTTTGbeeec1Sy65pOnXr5/ZbLPNzCqrrNJQX1rl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AREQAREQAREQAREQAREQAREQgXYkIAGwHWHrViIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiLQ3gQkALY3cd1PBERABERABERABERABERABERABERABERABNqRgATAdoStW4mACIiACIiACIiACIiACIiACIiACIiACIhAexOQANjexHU/S+D77783r7zyiv3vjh07mhlnnFFkREAEREAEREAEREAEREAEREAEREAE6kzgp59+MhMnTrRXXW655cwss8xS5zvocjEQkAAYQy0V0McRI0aY/v37F7BkKpIIiIAIiIAIiIAIiIAIiIAIiIAIhEnghRdeMP369QvTOXnVUAISABuKVxdPIyABULEhAiIgAiIgAiIgAiIgAiIgAiIgAu1LQAJg+/IO6W4SAEOqjRby5b333jPdunWzJaYB6tSpUxSlf+utt6yfSyyxRBT+ykkREAERaGUCn376qS3+/PPP38oYVHYREIEGElA700C4unRuAjHHYYi+h+hT7mBIOfDDDz8szcB79913zWKLLdbWS+r8CAlIAIyw0org8j//+U+zyCKL2KJ88MEHZuGFF46iWEOHDrV+rrHGGlH4KydFQAREoJUJ0MHF3AenVmahsouACDSGgNqZxnDVVasjEHMchuh7iD5VFxHTHh3r+Lut5db5UxOQAKiIaAqBWBugl19+2fLq3bt3U7jppiIgAiIgAvkJ8LUbiyXLPH/JdKQIiEAoBNTOhFITre1HzHEYou8h+tTWCI91/N3Wcut8CYCKgQAIxNoA/eMf/7D0llpqqQAoygUREAEREIEsAv/617/szx06dBAoERABEWgIAbUzDcGqi1ZJIOY4DNH3EH2qMiSmOTzW8Xdby63zJQAqBgIgEGsDNHz4cEtvlVVWCYCiXBABERABEcgi8P7779ufu3btKlAiIAIi0BACamcaglUXrZJAzHEYou8h+lRlSEgAbCuwgp6vKcAFrdjQixWrADhy5EiLtm/fvqEjln8iIAIi0PIExo8fbxl06dKl5VkIgAiIQGMIqJ1pDFddtToCMcdhiL6H6FN1ETHt0bGOv9tabp0/NQEJgIqIphCItQHSFOCmhItuKgIiIAI1ESjiFJ6aQOgkERCBhhFQO9MwtLpwFQRijsMQfQ/RpyrCIfHQWMffbS23zpcAqBgIgECsDdCIESMsvX79+gVAUS6IgAiIgAhkEeBdg8Wy07xqUwREID4Camfiq7MiehxzHIboe4g+tTVuYx1/t7XcOl8CoGIgAAKxNkASAAMIHrkgAiIgAjkJFLEDn7PoOkwERKCdCKidaSfQuk0mgZjjMETfQ/SprY9ArOPvtpZb50sAVAwEQCDWBkhTgAMIHrkgAiIgAjkJFHEKT86i6zAREIF2IqB2pp1A6zaZBGKOwxB9D9Gntj4CsY6/21punS8BUDEQAIFYGyBtAhJA8MgFERABEchJoIiLeOcsug4TARFoJwJqZ9oJtG6TSSDmOAzR9xB9ausjEOv4u63l1vkSABUDARCItQEaPny4pbfKKqsEQFEuiIAIiIAIZBF4//337c9du3YVKBEQARFoCAG1Mw3BqotWSSDmOAzR9xB9qjIkpjk81vF3W8ut8yUAKgYCIBBrA5Q1BXjYsGHm4IMPNq+88or54YcfzHTTTWdmnXVWs9Zaa5kbbrjBdOjQoWby3377rRkyZIh55JFHDFmIb7/9tvn666/NXHPNZZZcckmz/vrrm3333dcstNBCmffAl6eeeiqXH//73/9yHaeDREAERCBUAllTeMaNG2cuvPBCc//995sPPvjAzDzzzGbxxRc32267rdl///3NbLPNVnOxrr/+erPbbrvlOv+6664zu+66a65jdZAIiEB4BJrRzrz33numW7duVcFYdNFFDeeVm/qGVWEM9uBmxKEP491337XvVMYqvF//+9//ms6dO5t1113XvlN79eqVyi5E3xdccEE7hjvssMOm8b28//DTTz/ZsV8eg9Niiy1W8dC28PQv/swzz5jLL7/cME798MMPzX/+8x/7829/+1tz9NFHt2l8WrEQOiBIAtNNGuRrlB9k1RTbqVgFwJdfftlWTO/evaeqoOOOO86ceuqpqZX2i1/8wjz44INm0KBBVVfs6NGjzaqrrmoFvyxDDLzyyivN4MGDUw9TJ69q/DpBBEQgYgJ0drFOnTpNVYp7773X7LjjjubLL79MLB0fVhAGe/ToUVPpJQDWhE0niUCUBJrRztQiAK633nrmoYcemoax+oZRht00TjcjDp0TjD8OPPDAVBFspplmMueee6454IADEmHH5Hul/kOlaMojALaVJz78+OOPZr/99jNXX311qkuInHfccYdZffXVK7mt3wtEQAJggSozpqLEKgAOHTrUYl5jjTVKuP/0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JLTSSivZDESy8yjPJptsYq/Jeeedd54hy3CBBRYwL774oll44YUT/XnggQfMpptuahDwFlxwQXPMMceYAQMG2OxIhMG7777bnrfaaquZJ5980swwwwyJ16kHm7Y8T7EKgDDFiAmZCIiACIhA2ATGjh1rHezevXvYjso7ERCBaAmonYm26grleMxxGKLvWT69OO6zSQLg8FL8zDnzjOaVk9YPPp5iHX8HDzYyB4MUAO+8806zzTbbWJSrrLKKefrpp6cRshDJ+A2xcJ555ikJa47/m2++aaflIqr17dvXDB061Mw666yl6vn222/NmmuuaUaOHGkFOaZ29ujRY5rqu/baa80ee+xh/77ffvuZSy65ZKpj3n77bSvsffnll/Z8rpM0/XbnnXc2N910kz339ttvL5XPXYy/DR482P5zl112Mddff/00vlBWpvnSIM0111yGDSkQNH3bf//9zaWXXmr/dN1115ldd911muvUi01bYj3WBki7ALel1nWuCIiACLQvgRB3FmxfArqbCIhAowmonWk0YV0/D4GY4zBE37N8GvHeZ2abyz0BcJZJAuCJEgDzxKmOaT6BIAVAsuP++Mc/Wjp/+9vfbMZbkpGN95e//MX+xNTM5ZZbrnQYYt1ll11m/z18+HCz8sorT3OJ5557zoqIWJK4x9+XWWYZK+qR8UcW32yzzTbNdcgyJKMOSxL3SCFm3UKy9tZff30zZMiQxPJssMEG5qGHHrLZhOPHjzflU5Z8kTAt6xFhk+zBzz//3PqeNIW6XmzaEr6xCoBaA7Atta5zRUAERKB9CYS4rlD7EtDdREAEGk1A7UyjCev6eQjEHIch+p7l0wvvfma2vWKKADjXJAFwtATAPGGqYwIgEKQAyPp2LtOOzS7SNtg4/PDDzTnnnGMxkslHJh72v//9z4pgbI5BxpwTbZJ48ztZXQh0CHz+WoJkyjHtGNt3331LgmL5dRD4WL8P22677cytt9461SFsQLLPPvvYv912222lTL/y6/Ab52OsS8j6hb5tv/325k9/+pP904cffjiNQOiOxVfOxyjbkksuWbpMvdgksazmb7EKgI899pgt5qBBg6opro4VAREQARFoAgGy9LGkDP8muKNbioAIFJCA2pkCVmqERYo5DkP0Pcun58d+agZf+VwpSuaZ7Rfm5ePXCz5qYh1/Bw82MgeDFADZ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+STcmsJhUqnr73CwcdM10AB0U7YZxSq1AOEOQEYmghQQAAEQaINAuO8qQEJAAATcRwB1xn055xixZB+GU/uePXto+N8W0tbtu6w0vn5JMh0d17tZWsOpKVx+krr+Dhcft1xHXAPw5ptvpvvvv9/Kz+LFiyk9Pb3VfM2fP5+eeeYZWr58OakdfSIiImjMmDF02WWX0QknnOBXrnfu3EnPPfccvfbaa7R69Wr66aefKDo6miZOnEhXX301DR8+3K95VDGZM2cOffjhh7Ru3Tp9zuGHH06nnHIKXXPNNXTooYf6Nc/KlSvpscceo0WLFlFNTQ1169aNhg4dSueffz5dcskl1LlzZ7/mCQUbvy7UYpDUAoQGYDDZxjkgAAIg4AwBE/8B7wxJXBUEQMAXAdQZeIMDAck+DKf2DZu3UfLsxk0dPUf+jAzq0/PAZj8Lp6Zw+Ufq+jtcfNxyHVENwKKiIt24U804z9FaA3D37t26yff888/7zKdqlj399NPUseNv2363HKwKwJQpU3QD0dux//7709y5c3XjrbVj2bJlutFXV1fndVifPn10Y3Ds2LGtzvPss8/S9OnTafv27V7HqfM/+eQT6t27+W8ymg4OFZtgvyhSC1B2drYOOSMjI9jQcR4IgAAIgECYCJSXl+srxcbGhumKuAwIgIDbCKDOuC3jPOOV7MNwas8v/57OfXaplcQDunSkVXdM3tsL6NAsseHUFC5HSV1/h4uPW64jpgGoGlbjxo3TTbjIyEiqr6/XOWqtAThjxgy677779LhRo0bRTTfdpBcB6gut7iJcsWKF/kyNmz17ttec79q1S99h+Pnnn+vPTzvtNLr00kupV69epBp6d999t9aiGoj//ve/fd5RuH79eho9erS+A1HdnXf99dfT1KlT9ZzqvIceekg3NlVsX375JfXt29ernnnz5tFJJ51Eisdhhx1GM2fOpOTkZPrhhx9INQbff/99fd748eMpJyeHOnXq5HWeULBpz5dEagEqKSnRYft7x2d7GOFcEAABEACB9hHw/FtB/d2KAwRAAATsIIA6YwdVzBkoAck+DKf2N76oohnv/8/COzSqOy24Nm0f3OHUFGiugx0vdf0dbLw4zzsBMQ3ARx55hK677jr9mOupp55K9957r47IVwNwzZo1ukmjmmpJSUmUm5tLBx742629W7dupQkTJlBB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WL16tR5J/ftKgQAEIGCCAHHGBFX69EvAtB9+ublWX/yx6uMvUtL67tRJSi/cTzq2a+NXblp909pzEWejplzs2L7DCN+NAAAgAElEQVSNq+vvoHbTPp2AdQnAoUOHivroptpdd/TRR8vkyZNlwIABUltbK7Nnz5brr79eVq1apa047rjj5L777mtxTi+99FK55ppr9PO9995bLrroIv0hcNX/b3/7W5k/f75+pupdddVVzfajxi0pKdG7EVX57ne/K6eddprssssuohJ6v/71r/U3hlQC8amnnmpxR+HKlStln3320TsQ1e68Cy64QA499FDdp2p3ww03iNplqL5T9Prrr0u/fv2a1aN2Rh522GGiEni9evWSn/70pzJu3DhZt26dTog++uijup3aIVlWViZt2jQfkPPBJsjL5GoAeuedd7TZw4YNC2I+bSEAAQhAIAQCcbzFLwRsDAEBCPggQJzxAYuqxgiY9sMbS9+TG55/N03/TcfvLYeOLAxsk2ntuQi0UVMudmzfxtX1d1C7aZ9OwLoEoEqKqd19Rx55ZLPJK/UyqmPA7767LQC9+OKLzR7HVM/VRQ0qqTZ69GhRRzc7deqUsn7jxo2y3377iTpurBJy6ttuKvnYuPz1r3/VR45VOeuss+Tmm29Oq7JkyRKd2NuwYYNur/pp7vitsunee+/VbR988EGd3Ny+qJ8de+yx+kcnnXSS3H333U20bN68WR/zXbZsmXTt2lUqKiqa3Gx49tlnyy233KLb3nXXXXLyySc36SdfbIK8TK4GIJWEVmXChAlBzKctBCAAAQiEQGDFihV6FPWHRAoEIAABEwSIMyao0qdfAib9sLp+19/U68vky81bU7LGDdpF7j99vLRq1cqv1Cb1TWrPVZyNmnK1paGdq+vvoHbTPp2AdQlALxOkdsypXXCqnHvuufqbeo2LStbdeuut+scqaTN+/PgmdV599dVUIqe55J5qsMcee+ikntrxp3bxde7cuUk/apeh2lGnSnPJPXXkt2/fvnrX3oEHHijPPvtss2YedNBB8txzz+ndhGqXY+/evdPqbZ8kvPrqq+WSSy5p0o9KbKrdg+vXr9faG26t3b5ivth4mauW6rgagFTCWBWVVKZAAAIQgIDdBBpODKh/gykQgAAETBAgzpigSp9+CZj0w3Puq5CnFm77pIYqretzfk+dO1n2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\" width=\"640\">"
|
||
],
|
||
"text/plain": [
|
||
"<IPython.core.display.HTML object>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"%matplotlib notebook\n",
|
||
"\n",
|
||
"cumsum_accounts = sorted_accounts['likes'].cumsum().reset_index(drop=True)\n",
|
||
"\n",
|
||
"plt.plot(cumsum_accounts)\n",
|
||
"\n",
|
||
"for q_label, q_idx in zip(quants, quant_idx):\n",
|
||
" plt.axvline(x=q_idx, color='black', linestyle='--', linewidth=.1)\n",
|
||
" plt.annotate(text=str(q_label), xy=(q_idx, max(cumsum_accounts)), xycoords='data')\n",
|
||
"\n",
|
||
"plt.title('Cumulative sum of likes received by accounts') \n",
|
||
"\n",
|
||
"plt.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 18,
|
||
"id": "edbf19cc",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"0.4046510606526417"
|
||
]
|
||
},
|
||
"execution_count": 18,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"len(accounts[accounts['likes']==0]['likes']) / len(accounts)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "cbf4bf37",
|
||
"metadata": {},
|
||
"source": [
|
||
"Proportion of interactions received by the 99th and 95th percentile of most interacted with accounts"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 19,
|
||
"id": "da3a792a",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"0.3979456206591834"
|
||
]
|
||
},
|
||
"execution_count": 19,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"percentile = 0.99\n",
|
||
"accounts.loc[accounts['likes'] >= quantiles[percentile], 'likes'].sum() / accounts['likes'].sum()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 116,
|
||
"id": "f018a478",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"0.759416544458887"
|
||
]
|
||
},
|
||
"execution_count": 116,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"percentile = 0.95\n",
|
||
"accounts.loc[accounts['likes'] >= quantiles[percentile], 'likes'].sum() / accounts['likes'].sum()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "66961868",
|
||
"metadata": {},
|
||
"source": [
|
||
"Excluding interactions with the top (percentile) accounts"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "2d6a7119",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 117,
|
||
"id": "db949eae",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"top_accounts = accounts.loc[accounts['likes'] >= quantiles[percentile]]\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 118,
|
||
"id": "660122a8",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"top_posts = posts.loc[posts['authorDid'].isin(top_accounts['account'])]\n",
|
||
"non_top_posts = posts.loc[~posts['authorDid'].isin(top_accounts['account'])]\n",
|
||
"top_threads = posts.loc[np.logical_or(\n",
|
||
" posts['replyRoot'].isin(top_posts['uri']),\n",
|
||
" posts['replyParent'].isin(top_posts['uri'])\n",
|
||
")]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 119,
|
||
"id": "9bf35229",
|
||
"metadata": {},
|
||
"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>uri</th>\n",
|
||
" <th>cid</th>\n",
|
||
" <th>authorDid</th>\n",
|
||
" <th>indexedAt</th>\n",
|
||
" <th>createdAt</th>\n",
|
||
" <th>subjectUri</th>\n",
|
||
" <th>subjectCid</th>\n",
|
||
" <th>subjectDid</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>at://did:plc:tt2krpcels6fzdwt5e2iold6/app.bsky...</td>\n",
|
||
" <td>bafyreib3ozumx3qi3mb7wqmhedj2fftrosycnksyt25xc...</td>\n",
|
||
" <td>did:plc:tt2krpcels6fzdwt5e2iold6</td>\n",
|
||
" <td>2023-06-28T06:50:32.931Z</td>\n",
|
||
" <td>2023-06-28T06:50:32.736Z</td>\n",
|
||
" <td>at://did:plc:m2hze6zxa744iberzknpkc3i/app.bsky...</td>\n",
|
||
" <td>bafyreibbhg6hz64gakzkptazxpwstfbbbid6a4fw6w5m5...</td>\n",
|
||
" <td>did:plc:m2hze6zxa744iberzknpkc3i</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>at://did:plc:wdcuds3huxctzwn35sbvskmb/app.bsky...</td>\n",
|
||
" <td>bafyreicosgwinajfnon2splv5u2o6zyiax5trhf6vdxlh...</td>\n",
|
||
" <td>did:plc:wdcuds3huxctzwn35sbvskmb</td>\n",
|
||
" <td>2023-06-28T06:50:33.759Z</td>\n",
|
||
" <td>2023-06-28T06:50:33.539Z</td>\n",
|
||
" <td>at://did:plc:ykzmsemoxmlzmrci2p77eqkm/app.bsky...</td>\n",
|
||
" <td>bafyreidheno2szedmn2ckwtm6zuoadsaxq2rpmgef2bvt...</td>\n",
|
||
" <td>did:plc:ykzmsemoxmlzmrci2p77eqkm</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>7</th>\n",
|
||
" <td>at://did:plc:ufdixs5k6dx6yhfr5a4dr5ax/app.bsky...</td>\n",
|
||
" <td>bafyreih3pmj7hehirajk6xpqejkzs7iyrpt4ausft3wqs...</td>\n",
|
||
" <td>did:plc:ufdixs5k6dx6yhfr5a4dr5ax</td>\n",
|
||
" <td>2023-06-28T06:50:34.059Z</td>\n",
|
||
" <td>2023-06-28T06:50:31.813Z</td>\n",
|
||
" <td>at://did:plc:yx6bxsdt445ybmjwu362riaw/app.bsky...</td>\n",
|
||
" <td>bafyreigupyvy2fdwglafoix3a3cgqgj43pmghearauqbx...</td>\n",
|
||
" <td>did:plc:yx6bxsdt445ybmjwu362riaw</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>14</th>\n",
|
||
" <td>at://did:plc:wdcuds3huxctzwn35sbvskmb/app.bsky...</td>\n",
|
||
" <td>bafyreiardnphqnh554j6ivjdgr4aaojcoxrrnqopbg6od...</td>\n",
|
||
" <td>did:plc:wdcuds3huxctzwn35sbvskmb</td>\n",
|
||
" <td>2023-06-28T06:50:37.626Z</td>\n",
|
||
" <td>2023-06-28T06:50:37.483Z</td>\n",
|
||
" <td>at://did:plc:yt5iskeftjmml3xiuhw5svxl/app.bsky...</td>\n",
|
||
" <td>bafyreicdboh6uublfn6zbalxg7sqx57m77d4ubtvuobv3...</td>\n",
|
||
" <td>did:plc:yt5iskeftjmml3xiuhw5svxl</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>16</th>\n",
|
||
" <td>at://did:plc:4mip3xdpj2iasxiqchzgn4sc/app.bsky...</td>\n",
|
||
" <td>bafyreiduxwt6r6k7sr5oxti4ftrrogwnasjjofaptf3th...</td>\n",
|
||
" <td>did:plc:4mip3xdpj2iasxiqchzgn4sc</td>\n",
|
||
" <td>2023-06-28T06:50:38.198Z</td>\n",
|
||
" <td>2023-06-28T06:50:37.964Z</td>\n",
|
||
" <td>at://did:plc:hb3rpuqloy36skpistigbc3q/app.bsky...</td>\n",
|
||
" <td>bafyreidblyfdtqqnvf7uxh2flv3btil42qywbbws7ucrn...</td>\n",
|
||
" <td>did:plc:hb3rpuqloy36skpistigbc3q</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1043980</th>\n",
|
||
" <td>at://did:plc:r23oqmp22lkgvynjji7g3jyn/app.bsky...</td>\n",
|
||
" <td>bafyreibwqvsnvahf3ntoc6hw7fo752k43xeci6o2uatbx...</td>\n",
|
||
" <td>did:plc:r23oqmp22lkgvynjji7g3jyn</td>\n",
|
||
" <td>2023-06-30T03:27:29.874Z</td>\n",
|
||
" <td>2023-06-30T03:27:30.228Z</td>\n",
|
||
" <td>at://did:plc:6kdg7avq4vqjgvciwdp5eb6w/app.bsky...</td>\n",
|
||
" <td>bafyreiavih4pssn376ltytm2nbvrs3gt5wf7maly5e6x4...</td>\n",
|
||
" <td>did:plc:6kdg7avq4vqjgvciwdp5eb6w</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1043983</th>\n",
|
||
" <td>at://did:plc:m3dpze6kfymikzhyorn3yjve/app.bsky...</td>\n",
|
||
" <td>bafyreibfosoiywciqecjxtuymtcmq3ovzwgi4ot2wtweq...</td>\n",
|
||
" <td>did:plc:m3dpze6kfymikzhyorn3yjve</td>\n",
|
||
" <td>2023-06-30T03:27:29.973Z</td>\n",
|
||
" <td>2023-06-30T03:27:29.696Z</td>\n",
|
||
" <td>at://did:plc:wfvahw2jy6eonvvh5wwx2njs/app.bsky...</td>\n",
|
||
" <td>bafyreidyyxu6ywjezyxhjd5omnkir54lasquxmu5my66b...</td>\n",
|
||
" <td>did:plc:wfvahw2jy6eonvvh5wwx2njs</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1043984</th>\n",
|
||
" <td>at://did:plc:uogqw3tmescpszxmep6e64x2/app.bsky...</td>\n",
|
||
" <td>bafyreib6wq6uv4n6hpzgq7hosxsoynp47tpwyesncegya...</td>\n",
|
||
" <td>did:plc:uogqw3tmescpszxmep6e64x2</td>\n",
|
||
" <td>2023-06-30T03:27:30.072Z</td>\n",
|
||
" <td>2023-06-30T03:27:30.021Z</td>\n",
|
||
" <td>at://did:plc:4u42vwglz35baspkeivbgw3n/app.bsky...</td>\n",
|
||
" <td>bafyreifz6ww7ibjk2estslbjwtbci5ota4ccb5sn3zxqr...</td>\n",
|
||
" <td>did:plc:4u42vwglz35baspkeivbgw3n</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1043985</th>\n",
|
||
" <td>at://did:plc:i3xuhvb7fndx2r2fhfkyi6r2/app.bsky...</td>\n",
|
||
" <td>bafyreicgukln6qco5dy5vypm6piqh6tr2nvoppm7dal7q...</td>\n",
|
||
" <td>did:plc:i3xuhvb7fndx2r2fhfkyi6r2</td>\n",
|
||
" <td>2023-06-30T03:27:30.182Z</td>\n",
|
||
" <td>2023-06-30T03:27:29.923Z</td>\n",
|
||
" <td>at://did:plc:shmltckvsbkhjbcb4mwdeplx/app.bsky...</td>\n",
|
||
" <td>bafyreihq2tqgnarhdmf27axjhafwk46nub6yn2nzzmevp...</td>\n",
|
||
" <td>did:plc:shmltckvsbkhjbcb4mwdeplx</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1043986</th>\n",
|
||
" <td>at://did:plc:mxroexojpobpj4e7346mb6hm/app.bsky...</td>\n",
|
||
" <td>bafyreif4suaf5eve4gyj5efn4z6ca6zmgygkp2pur7bqw...</td>\n",
|
||
" <td>did:plc:mxroexojpobpj4e7346mb6hm</td>\n",
|
||
" <td>2023-06-30T03:27:30.244Z</td>\n",
|
||
" <td>2023-06-30T03:27:29.530Z</td>\n",
|
||
" <td>at://did:plc:xridcxx3se5arspf5dtk2ahm/app.bsky...</td>\n",
|
||
" <td>bafyreihcawjk4enlfnka53sgznddhh4h6b2fjzm4vca2q...</td>\n",
|
||
" <td>did:plc:xridcxx3se5arspf5dtk2ahm</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>212349 rows × 8 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" uri \\\n",
|
||
"2 at://did:plc:tt2krpcels6fzdwt5e2iold6/app.bsky... \n",
|
||
"3 at://did:plc:wdcuds3huxctzwn35sbvskmb/app.bsky... \n",
|
||
"7 at://did:plc:ufdixs5k6dx6yhfr5a4dr5ax/app.bsky... \n",
|
||
"14 at://did:plc:wdcuds3huxctzwn35sbvskmb/app.bsky... \n",
|
||
"16 at://did:plc:4mip3xdpj2iasxiqchzgn4sc/app.bsky... \n",
|
||
"... ... \n",
|
||
"1043980 at://did:plc:r23oqmp22lkgvynjji7g3jyn/app.bsky... \n",
|
||
"1043983 at://did:plc:m3dpze6kfymikzhyorn3yjve/app.bsky... \n",
|
||
"1043984 at://did:plc:uogqw3tmescpszxmep6e64x2/app.bsky... \n",
|
||
"1043985 at://did:plc:i3xuhvb7fndx2r2fhfkyi6r2/app.bsky... \n",
|
||
"1043986 at://did:plc:mxroexojpobpj4e7346mb6hm/app.bsky... \n",
|
||
"\n",
|
||
" cid \\\n",
|
||
"2 bafyreib3ozumx3qi3mb7wqmhedj2fftrosycnksyt25xc... \n",
|
||
"3 bafyreicosgwinajfnon2splv5u2o6zyiax5trhf6vdxlh... \n",
|
||
"7 bafyreih3pmj7hehirajk6xpqejkzs7iyrpt4ausft3wqs... \n",
|
||
"14 bafyreiardnphqnh554j6ivjdgr4aaojcoxrrnqopbg6od... \n",
|
||
"16 bafyreiduxwt6r6k7sr5oxti4ftrrogwnasjjofaptf3th... \n",
|
||
"... ... \n",
|
||
"1043980 bafyreibwqvsnvahf3ntoc6hw7fo752k43xeci6o2uatbx... \n",
|
||
"1043983 bafyreibfosoiywciqecjxtuymtcmq3ovzwgi4ot2wtweq... \n",
|
||
"1043984 bafyreib6wq6uv4n6hpzgq7hosxsoynp47tpwyesncegya... \n",
|
||
"1043985 bafyreicgukln6qco5dy5vypm6piqh6tr2nvoppm7dal7q... \n",
|
||
"1043986 bafyreif4suaf5eve4gyj5efn4z6ca6zmgygkp2pur7bqw... \n",
|
||
"\n",
|
||
" authorDid indexedAt \\\n",
|
||
"2 did:plc:tt2krpcels6fzdwt5e2iold6 2023-06-28T06:50:32.931Z \n",
|
||
"3 did:plc:wdcuds3huxctzwn35sbvskmb 2023-06-28T06:50:33.759Z \n",
|
||
"7 did:plc:ufdixs5k6dx6yhfr5a4dr5ax 2023-06-28T06:50:34.059Z \n",
|
||
"14 did:plc:wdcuds3huxctzwn35sbvskmb 2023-06-28T06:50:37.626Z \n",
|
||
"16 did:plc:4mip3xdpj2iasxiqchzgn4sc 2023-06-28T06:50:38.198Z \n",
|
||
"... ... ... \n",
|
||
"1043980 did:plc:r23oqmp22lkgvynjji7g3jyn 2023-06-30T03:27:29.874Z \n",
|
||
"1043983 did:plc:m3dpze6kfymikzhyorn3yjve 2023-06-30T03:27:29.973Z \n",
|
||
"1043984 did:plc:uogqw3tmescpszxmep6e64x2 2023-06-30T03:27:30.072Z \n",
|
||
"1043985 did:plc:i3xuhvb7fndx2r2fhfkyi6r2 2023-06-30T03:27:30.182Z \n",
|
||
"1043986 did:plc:mxroexojpobpj4e7346mb6hm 2023-06-30T03:27:30.244Z \n",
|
||
"\n",
|
||
" createdAt \\\n",
|
||
"2 2023-06-28T06:50:32.736Z \n",
|
||
"3 2023-06-28T06:50:33.539Z \n",
|
||
"7 2023-06-28T06:50:31.813Z \n",
|
||
"14 2023-06-28T06:50:37.483Z \n",
|
||
"16 2023-06-28T06:50:37.964Z \n",
|
||
"... ... \n",
|
||
"1043980 2023-06-30T03:27:30.228Z \n",
|
||
"1043983 2023-06-30T03:27:29.696Z \n",
|
||
"1043984 2023-06-30T03:27:30.021Z \n",
|
||
"1043985 2023-06-30T03:27:29.923Z \n",
|
||
"1043986 2023-06-30T03:27:29.530Z \n",
|
||
"\n",
|
||
" subjectUri \\\n",
|
||
"2 at://did:plc:m2hze6zxa744iberzknpkc3i/app.bsky... \n",
|
||
"3 at://did:plc:ykzmsemoxmlzmrci2p77eqkm/app.bsky... \n",
|
||
"7 at://did:plc:yx6bxsdt445ybmjwu362riaw/app.bsky... \n",
|
||
"14 at://did:plc:yt5iskeftjmml3xiuhw5svxl/app.bsky... \n",
|
||
"16 at://did:plc:hb3rpuqloy36skpistigbc3q/app.bsky... \n",
|
||
"... ... \n",
|
||
"1043980 at://did:plc:6kdg7avq4vqjgvciwdp5eb6w/app.bsky... \n",
|
||
"1043983 at://did:plc:wfvahw2jy6eonvvh5wwx2njs/app.bsky... \n",
|
||
"1043984 at://did:plc:4u42vwglz35baspkeivbgw3n/app.bsky... \n",
|
||
"1043985 at://did:plc:shmltckvsbkhjbcb4mwdeplx/app.bsky... \n",
|
||
"1043986 at://did:plc:xridcxx3se5arspf5dtk2ahm/app.bsky... \n",
|
||
"\n",
|
||
" subjectCid \\\n",
|
||
"2 bafyreibbhg6hz64gakzkptazxpwstfbbbid6a4fw6w5m5... \n",
|
||
"3 bafyreidheno2szedmn2ckwtm6zuoadsaxq2rpmgef2bvt... \n",
|
||
"7 bafyreigupyvy2fdwglafoix3a3cgqgj43pmghearauqbx... \n",
|
||
"14 bafyreicdboh6uublfn6zbalxg7sqx57m77d4ubtvuobv3... \n",
|
||
"16 bafyreidblyfdtqqnvf7uxh2flv3btil42qywbbws7ucrn... \n",
|
||
"... ... \n",
|
||
"1043980 bafyreiavih4pssn376ltytm2nbvrs3gt5wf7maly5e6x4... \n",
|
||
"1043983 bafyreidyyxu6ywjezyxhjd5omnkir54lasquxmu5my66b... \n",
|
||
"1043984 bafyreifz6ww7ibjk2estslbjwtbci5ota4ccb5sn3zxqr... \n",
|
||
"1043985 bafyreihq2tqgnarhdmf27axjhafwk46nub6yn2nzzmevp... \n",
|
||
"1043986 bafyreihcawjk4enlfnka53sgznddhh4h6b2fjzm4vca2q... \n",
|
||
"\n",
|
||
" subjectDid \n",
|
||
"2 did:plc:m2hze6zxa744iberzknpkc3i \n",
|
||
"3 did:plc:ykzmsemoxmlzmrci2p77eqkm \n",
|
||
"7 did:plc:yx6bxsdt445ybmjwu362riaw \n",
|
||
"14 did:plc:yt5iskeftjmml3xiuhw5svxl \n",
|
||
"16 did:plc:hb3rpuqloy36skpistigbc3q \n",
|
||
"... ... \n",
|
||
"1043980 did:plc:6kdg7avq4vqjgvciwdp5eb6w \n",
|
||
"1043983 did:plc:wfvahw2jy6eonvvh5wwx2njs \n",
|
||
"1043984 did:plc:4u42vwglz35baspkeivbgw3n \n",
|
||
"1043985 did:plc:shmltckvsbkhjbcb4mwdeplx \n",
|
||
"1043986 did:plc:xridcxx3se5arspf5dtk2ahm \n",
|
||
"\n",
|
||
"[212349 rows x 8 columns]"
|
||
]
|
||
},
|
||
"execution_count": 119,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"non_top_reply_likes = likes.loc[\n",
|
||
" np.logical_and(\n",
|
||
" ~likes['subjectUri'].isin(top_threads['uri']),\n",
|
||
" ~likes['subjectDid'].isin(top_accounts['account'])\n",
|
||
" )]\n",
|
||
"non_top_account_likes = likes.loc[\n",
|
||
" ~likes['subjectDid'].isin(top_accounts['account'])\n",
|
||
"]\n",
|
||
"\n",
|
||
"non_top_reply_likes"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "5d7ca01a",
|
||
"metadata": {},
|
||
"source": [
|
||
"Proportion of posts from top posters"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 120,
|
||
"id": "5069cd71",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"0.5337081682060915"
|
||
]
|
||
},
|
||
"execution_count": 120,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"top_posts.shape[0] / posts.shape[0]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "44fa1058",
|
||
"metadata": {},
|
||
"source": [
|
||
"Proportion of non-top account likes that are not in threads with top accounts"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 121,
|
||
"id": "79b26b9b",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"0.8454528081030076"
|
||
]
|
||
},
|
||
"execution_count": 121,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"non_top_reply_likes.shape[0] / non_top_account_likes.shape[0]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "455e39bd",
|
||
"metadata": {},
|
||
"source": [
|
||
"Proportion of likes to non-top accounts"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 122,
|
||
"id": "602921d8",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"0.24058345554111307"
|
||
]
|
||
},
|
||
"execution_count": 122,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"non_top_account_likes.shape[0] / likes.shape[0]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "19ae2594",
|
||
"metadata": {},
|
||
"source": [
|
||
"Proportion of likes to non-top accounts that are not in threads with top accounts"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 123,
|
||
"id": "a3572f44",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"0.2034019580703591"
|
||
]
|
||
},
|
||
"execution_count": 123,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"non_top_reply_likes.shape[0] / likes.shape[0]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "f88361b0",
|
||
"metadata": {},
|
||
"source": [
|
||
"Number of top accounts"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 124,
|
||
"id": "7b0094ba",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"2306"
|
||
]
|
||
},
|
||
"execution_count": 124,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"top_accounts.shape[0]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "aae6aa9d",
|
||
"metadata": {},
|
||
"source": [
|
||
"Quantiles of likes received by non-top posts"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 125,
|
||
"id": "3a0c7e8b",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"0.00 0.0\n",
|
||
"0.25 0.0\n",
|
||
"0.50 1.0\n",
|
||
"0.75 2.0\n",
|
||
"0.90 3.0\n",
|
||
"0.95 6.0\n",
|
||
"0.99 13.0\n",
|
||
"Name: likes, dtype: float64"
|
||
]
|
||
},
|
||
"execution_count": 125,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"non_top_posts['likes'].quantile(quants)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 126,
|
||
"id": "f6471c77",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"0.7470756751975067"
|
||
]
|
||
},
|
||
"execution_count": 126,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"sum(non_top_posts['likes'] <= 1) / non_top_posts.shape[0]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 127,
|
||
"id": "1c9f73b5",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"70.0"
|
||
]
|
||
},
|
||
"execution_count": 127,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"non_top_posts['likes'].max()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 128,
|
||
"id": "1e9d4b13",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"3189.0"
|
||
]
|
||
},
|
||
"execution_count": 128,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"top_posts['likes'].max()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "9cc66fb2",
|
||
"metadata": {},
|
||
"source": [
|
||
"How many accounts who posted received any likes?"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 129,
|
||
"id": "17f85222",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"posting_account_likes = posts.groupby('authorDid'\n",
|
||
" ).agg(\n",
|
||
" likes=('likes', 'sum'),\n",
|
||
" posts=('uri', 'count')\n",
|
||
" ).reset_index()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 130,
|
||
"id": "58fb21bc",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"0.23161960993687383"
|
||
]
|
||
},
|
||
"execution_count": 130,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"sum(posting_account_likes['likes'] == 0) / posting_account_likes.shape[0]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 131,
|
||
"id": "ba4a400e",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"posting_account_likes['likes_per_post'] = \\\n",
|
||
" posting_account_likes['likes'] / posting_account_likes['posts']"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 132,
|
||
"id": "d67e1705",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"0.00 0.000000\n",
|
||
"0.25 0.250000\n",
|
||
"0.50 1.000000\n",
|
||
"0.75 2.285714\n",
|
||
"0.90 4.750000\n",
|
||
"0.95 7.000000\n",
|
||
"0.99 16.640000\n",
|
||
"Name: likes_per_post, dtype: float64"
|
||
]
|
||
},
|
||
"execution_count": 132,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"lpp_quantiles = posting_account_likes['likes_per_post'].quantile(quants)\n",
|
||
"lpp_quantiles"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 133,
|
||
"id": "c1daecca",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"0.00 0.000000\n",
|
||
"0.25 0.019419\n",
|
||
"0.50 1.000000\n",
|
||
"0.75 2.000000\n",
|
||
"0.90 4.000000\n",
|
||
"0.95 6.000000\n",
|
||
"0.99 12.000000\n",
|
||
"Name: likes_per_post, dtype: float64"
|
||
]
|
||
},
|
||
"execution_count": 133,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"nontop_lpp_quantiles = posting_account_likes[\n",
|
||
" ~posting_account_likes['authorDid'].isin(top_accounts['account'])\n",
|
||
"]['likes_per_post'].quantile(quants)\n",
|
||
"nontop_lpp_quantiles"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 134,
|
||
"id": "8f14183c",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"application/javascript": [
|
||
"/* Put everything inside the global mpl namespace */\n",
|
||
"/* global mpl */\n",
|
||
"window.mpl = {};\n",
|
||
"\n",
|
||
"mpl.get_websocket_type = function () {\n",
|
||
" if (typeof WebSocket !== 'undefined') {\n",
|
||
" return WebSocket;\n",
|
||
" } else if (typeof MozWebSocket !== 'undefined') {\n",
|
||
" return MozWebSocket;\n",
|
||
" } else {\n",
|
||
" alert(\n",
|
||
" 'Your browser does not have WebSocket support. ' +\n",
|
||
" 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
|
||
" 'Firefox 4 and 5 are also supported but you ' +\n",
|
||
" 'have to enable WebSockets in about:config.'\n",
|
||
" );\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
|
||
" this.id = figure_id;\n",
|
||
"\n",
|
||
" this.ws = websocket;\n",
|
||
"\n",
|
||
" this.supports_binary = this.ws.binaryType !== undefined;\n",
|
||
"\n",
|
||
" if (!this.supports_binary) {\n",
|
||
" var warnings = document.getElementById('mpl-warnings');\n",
|
||
" if (warnings) {\n",
|
||
" warnings.style.display = 'block';\n",
|
||
" warnings.textContent =\n",
|
||
" 'This browser does not support binary websocket messages. ' +\n",
|
||
" 'Performance may be slow.';\n",
|
||
" }\n",
|
||
" }\n",
|
||
"\n",
|
||
" this.imageObj = new Image();\n",
|
||
"\n",
|
||
" this.context = undefined;\n",
|
||
" this.message = undefined;\n",
|
||
" this.canvas = undefined;\n",
|
||
" this.rubberband_canvas = undefined;\n",
|
||
" this.rubberband_context = undefined;\n",
|
||
" this.format_dropdown = undefined;\n",
|
||
"\n",
|
||
" this.image_mode = 'full';\n",
|
||
"\n",
|
||
" this.root = document.createElement('div');\n",
|
||
" this.root.setAttribute('style', 'display: inline-block');\n",
|
||
" this._root_extra_style(this.root);\n",
|
||
"\n",
|
||
" parent_element.appendChild(this.root);\n",
|
||
"\n",
|
||
" this._init_header(this);\n",
|
||
" this._init_canvas(this);\n",
|
||
" this._init_toolbar(this);\n",
|
||
"\n",
|
||
" var fig = this;\n",
|
||
"\n",
|
||
" this.waiting = false;\n",
|
||
"\n",
|
||
" this.ws.onopen = function () {\n",
|
||
" fig.send_message('supports_binary', { value: fig.supports_binary });\n",
|
||
" fig.send_message('send_image_mode', {});\n",
|
||
" if (fig.ratio !== 1) {\n",
|
||
" fig.send_message('set_device_pixel_ratio', {\n",
|
||
" device_pixel_ratio: fig.ratio,\n",
|
||
" });\n",
|
||
" }\n",
|
||
" fig.send_message('refresh', {});\n",
|
||
" };\n",
|
||
"\n",
|
||
" this.imageObj.onload = function () {\n",
|
||
" if (fig.image_mode === 'full') {\n",
|
||
" // Full images could contain transparency (where diff images\n",
|
||
" // almost always do), so we need to clear the canvas so that\n",
|
||
" // there is no ghosting.\n",
|
||
" fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
|
||
" }\n",
|
||
" fig.context.drawImage(fig.imageObj, 0, 0);\n",
|
||
" };\n",
|
||
"\n",
|
||
" this.imageObj.onunload = function () {\n",
|
||
" fig.ws.close();\n",
|
||
" };\n",
|
||
"\n",
|
||
" this.ws.onmessage = this._make_on_message_function(this);\n",
|
||
"\n",
|
||
" this.ondownload = ondownload;\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._init_header = function () {\n",
|
||
" var titlebar = document.createElement('div');\n",
|
||
" titlebar.classList =\n",
|
||
" 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
|
||
" var titletext = document.createElement('div');\n",
|
||
" titletext.classList = 'ui-dialog-title';\n",
|
||
" titletext.setAttribute(\n",
|
||
" 'style',\n",
|
||
" 'width: 100%; text-align: center; padding: 3px;'\n",
|
||
" );\n",
|
||
" titlebar.appendChild(titletext);\n",
|
||
" this.root.appendChild(titlebar);\n",
|
||
" this.header = titletext;\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._init_canvas = function () {\n",
|
||
" var fig = this;\n",
|
||
"\n",
|
||
" var canvas_div = (this.canvas_div = document.createElement('div'));\n",
|
||
" canvas_div.setAttribute(\n",
|
||
" 'style',\n",
|
||
" 'border: 1px solid #ddd;' +\n",
|
||
" 'box-sizing: content-box;' +\n",
|
||
" 'clear: both;' +\n",
|
||
" 'min-height: 1px;' +\n",
|
||
" 'min-width: 1px;' +\n",
|
||
" 'outline: 0;' +\n",
|
||
" 'overflow: hidden;' +\n",
|
||
" 'position: relative;' +\n",
|
||
" 'resize: both;'\n",
|
||
" );\n",
|
||
"\n",
|
||
" function on_keyboard_event_closure(name) {\n",
|
||
" return function (event) {\n",
|
||
" return fig.key_event(event, name);\n",
|
||
" };\n",
|
||
" }\n",
|
||
"\n",
|
||
" canvas_div.addEventListener(\n",
|
||
" 'keydown',\n",
|
||
" on_keyboard_event_closure('key_press')\n",
|
||
" );\n",
|
||
" canvas_div.addEventListener(\n",
|
||
" 'keyup',\n",
|
||
" on_keyboard_event_closure('key_release')\n",
|
||
" );\n",
|
||
"\n",
|
||
" this._canvas_extra_style(canvas_div);\n",
|
||
" this.root.appendChild(canvas_div);\n",
|
||
"\n",
|
||
" var canvas = (this.canvas = document.createElement('canvas'));\n",
|
||
" canvas.classList.add('mpl-canvas');\n",
|
||
" canvas.setAttribute('style', 'box-sizing: content-box;');\n",
|
||
"\n",
|
||
" this.context = canvas.getContext('2d');\n",
|
||
"\n",
|
||
" var backingStore =\n",
|
||
" this.context.backingStorePixelRatio ||\n",
|
||
" this.context.webkitBackingStorePixelRatio ||\n",
|
||
" this.context.mozBackingStorePixelRatio ||\n",
|
||
" this.context.msBackingStorePixelRatio ||\n",
|
||
" this.context.oBackingStorePixelRatio ||\n",
|
||
" this.context.backingStorePixelRatio ||\n",
|
||
" 1;\n",
|
||
"\n",
|
||
" this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
|
||
"\n",
|
||
" var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
|
||
" 'canvas'\n",
|
||
" ));\n",
|
||
" rubberband_canvas.setAttribute(\n",
|
||
" 'style',\n",
|
||
" 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
|
||
" );\n",
|
||
"\n",
|
||
" // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
|
||
" if (this.ResizeObserver === undefined) {\n",
|
||
" if (window.ResizeObserver !== undefined) {\n",
|
||
" this.ResizeObserver = window.ResizeObserver;\n",
|
||
" } else {\n",
|
||
" var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
|
||
" this.ResizeObserver = obs.ResizeObserver;\n",
|
||
" }\n",
|
||
" }\n",
|
||
"\n",
|
||
" this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
|
||
" var nentries = entries.length;\n",
|
||
" for (var i = 0; i < nentries; i++) {\n",
|
||
" var entry = entries[i];\n",
|
||
" var width, height;\n",
|
||
" if (entry.contentBoxSize) {\n",
|
||
" if (entry.contentBoxSize instanceof Array) {\n",
|
||
" // Chrome 84 implements new version of spec.\n",
|
||
" width = entry.contentBoxSize[0].inlineSize;\n",
|
||
" height = entry.contentBoxSize[0].blockSize;\n",
|
||
" } else {\n",
|
||
" // Firefox implements old version of spec.\n",
|
||
" width = entry.contentBoxSize.inlineSize;\n",
|
||
" height = entry.contentBoxSize.blockSize;\n",
|
||
" }\n",
|
||
" } else {\n",
|
||
" // Chrome <84 implements even older version of spec.\n",
|
||
" width = entry.contentRect.width;\n",
|
||
" height = entry.contentRect.height;\n",
|
||
" }\n",
|
||
"\n",
|
||
" // Keep the size of the canvas and rubber band canvas in sync with\n",
|
||
" // the canvas container.\n",
|
||
" if (entry.devicePixelContentBoxSize) {\n",
|
||
" // Chrome 84 implements new version of spec.\n",
|
||
" canvas.setAttribute(\n",
|
||
" 'width',\n",
|
||
" entry.devicePixelContentBoxSize[0].inlineSize\n",
|
||
" );\n",
|
||
" canvas.setAttribute(\n",
|
||
" 'height',\n",
|
||
" entry.devicePixelContentBoxSize[0].blockSize\n",
|
||
" );\n",
|
||
" } else {\n",
|
||
" canvas.setAttribute('width', width * fig.ratio);\n",
|
||
" canvas.setAttribute('height', height * fig.ratio);\n",
|
||
" }\n",
|
||
" canvas.setAttribute(\n",
|
||
" 'style',\n",
|
||
" 'width: ' + width + 'px; height: ' + height + 'px;'\n",
|
||
" );\n",
|
||
"\n",
|
||
" rubberband_canvas.setAttribute('width', width);\n",
|
||
" rubberband_canvas.setAttribute('height', height);\n",
|
||
"\n",
|
||
" // And update the size in Python. We ignore the initial 0/0 size\n",
|
||
" // that occurs as the element is placed into the DOM, which should\n",
|
||
" // otherwise not happen due to the minimum size styling.\n",
|
||
" if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
|
||
" fig.request_resize(width, height);\n",
|
||
" }\n",
|
||
" }\n",
|
||
" });\n",
|
||
" this.resizeObserverInstance.observe(canvas_div);\n",
|
||
"\n",
|
||
" function on_mouse_event_closure(name) {\n",
|
||
" return function (event) {\n",
|
||
" return fig.mouse_event(event, name);\n",
|
||
" };\n",
|
||
" }\n",
|
||
"\n",
|
||
" rubberband_canvas.addEventListener(\n",
|
||
" 'mousedown',\n",
|
||
" on_mouse_event_closure('button_press')\n",
|
||
" );\n",
|
||
" rubberband_canvas.addEventListener(\n",
|
||
" 'mouseup',\n",
|
||
" on_mouse_event_closure('button_release')\n",
|
||
" );\n",
|
||
" rubberband_canvas.addEventListener(\n",
|
||
" 'dblclick',\n",
|
||
" on_mouse_event_closure('dblclick')\n",
|
||
" );\n",
|
||
" // Throttle sequential mouse events to 1 every 20ms.\n",
|
||
" rubberband_canvas.addEventListener(\n",
|
||
" 'mousemove',\n",
|
||
" on_mouse_event_closure('motion_notify')\n",
|
||
" );\n",
|
||
"\n",
|
||
" rubberband_canvas.addEventListener(\n",
|
||
" 'mouseenter',\n",
|
||
" on_mouse_event_closure('figure_enter')\n",
|
||
" );\n",
|
||
" rubberband_canvas.addEventListener(\n",
|
||
" 'mouseleave',\n",
|
||
" on_mouse_event_closure('figure_leave')\n",
|
||
" );\n",
|
||
"\n",
|
||
" canvas_div.addEventListener('wheel', function (event) {\n",
|
||
" if (event.deltaY < 0) {\n",
|
||
" event.step = 1;\n",
|
||
" } else {\n",
|
||
" event.step = -1;\n",
|
||
" }\n",
|
||
" on_mouse_event_closure('scroll')(event);\n",
|
||
" });\n",
|
||
"\n",
|
||
" canvas_div.appendChild(canvas);\n",
|
||
" canvas_div.appendChild(rubberband_canvas);\n",
|
||
"\n",
|
||
" this.rubberband_context = rubberband_canvas.getContext('2d');\n",
|
||
" this.rubberband_context.strokeStyle = '#000000';\n",
|
||
"\n",
|
||
" this._resize_canvas = function (width, height, forward) {\n",
|
||
" if (forward) {\n",
|
||
" canvas_div.style.width = width + 'px';\n",
|
||
" canvas_div.style.height = height + 'px';\n",
|
||
" }\n",
|
||
" };\n",
|
||
"\n",
|
||
" // Disable right mouse context menu.\n",
|
||
" this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
|
||
" event.preventDefault();\n",
|
||
" return false;\n",
|
||
" });\n",
|
||
"\n",
|
||
" function set_focus() {\n",
|
||
" canvas.focus();\n",
|
||
" canvas_div.focus();\n",
|
||
" }\n",
|
||
"\n",
|
||
" window.setTimeout(set_focus, 100);\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._init_toolbar = function () {\n",
|
||
" var fig = this;\n",
|
||
"\n",
|
||
" var toolbar = document.createElement('div');\n",
|
||
" toolbar.classList = 'mpl-toolbar';\n",
|
||
" this.root.appendChild(toolbar);\n",
|
||
"\n",
|
||
" function on_click_closure(name) {\n",
|
||
" return function (_event) {\n",
|
||
" return fig.toolbar_button_onclick(name);\n",
|
||
" };\n",
|
||
" }\n",
|
||
"\n",
|
||
" function on_mouseover_closure(tooltip) {\n",
|
||
" return function (event) {\n",
|
||
" if (!event.currentTarget.disabled) {\n",
|
||
" return fig.toolbar_button_onmouseover(tooltip);\n",
|
||
" }\n",
|
||
" };\n",
|
||
" }\n",
|
||
"\n",
|
||
" fig.buttons = {};\n",
|
||
" var buttonGroup = document.createElement('div');\n",
|
||
" buttonGroup.classList = 'mpl-button-group';\n",
|
||
" for (var toolbar_ind in mpl.toolbar_items) {\n",
|
||
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
|
||
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
|
||
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
|
||
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
|
||
"\n",
|
||
" if (!name) {\n",
|
||
" /* Instead of a spacer, we start a new button group. */\n",
|
||
" if (buttonGroup.hasChildNodes()) {\n",
|
||
" toolbar.appendChild(buttonGroup);\n",
|
||
" }\n",
|
||
" buttonGroup = document.createElement('div');\n",
|
||
" buttonGroup.classList = 'mpl-button-group';\n",
|
||
" continue;\n",
|
||
" }\n",
|
||
"\n",
|
||
" var button = (fig.buttons[name] = document.createElement('button'));\n",
|
||
" button.classList = 'mpl-widget';\n",
|
||
" button.setAttribute('role', 'button');\n",
|
||
" button.setAttribute('aria-disabled', 'false');\n",
|
||
" button.addEventListener('click', on_click_closure(method_name));\n",
|
||
" button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
|
||
"\n",
|
||
" var icon_img = document.createElement('img');\n",
|
||
" icon_img.src = '_images/' + image + '.png';\n",
|
||
" icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
|
||
" icon_img.alt = tooltip;\n",
|
||
" button.appendChild(icon_img);\n",
|
||
"\n",
|
||
" buttonGroup.appendChild(button);\n",
|
||
" }\n",
|
||
"\n",
|
||
" if (buttonGroup.hasChildNodes()) {\n",
|
||
" toolbar.appendChild(buttonGroup);\n",
|
||
" }\n",
|
||
"\n",
|
||
" var fmt_picker = document.createElement('select');\n",
|
||
" fmt_picker.classList = 'mpl-widget';\n",
|
||
" toolbar.appendChild(fmt_picker);\n",
|
||
" this.format_dropdown = fmt_picker;\n",
|
||
"\n",
|
||
" for (var ind in mpl.extensions) {\n",
|
||
" var fmt = mpl.extensions[ind];\n",
|
||
" var option = document.createElement('option');\n",
|
||
" option.selected = fmt === mpl.default_extension;\n",
|
||
" option.innerHTML = fmt;\n",
|
||
" fmt_picker.appendChild(option);\n",
|
||
" }\n",
|
||
"\n",
|
||
" var status_bar = document.createElement('span');\n",
|
||
" status_bar.classList = 'mpl-message';\n",
|
||
" toolbar.appendChild(status_bar);\n",
|
||
" this.message = status_bar;\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
|
||
" // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
|
||
" // which will in turn request a refresh of the image.\n",
|
||
" this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.send_message = function (type, properties) {\n",
|
||
" properties['type'] = type;\n",
|
||
" properties['figure_id'] = this.id;\n",
|
||
" this.ws.send(JSON.stringify(properties));\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.send_draw_message = function () {\n",
|
||
" if (!this.waiting) {\n",
|
||
" this.waiting = true;\n",
|
||
" this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
|
||
" var format_dropdown = fig.format_dropdown;\n",
|
||
" var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
|
||
" fig.ondownload(fig, format);\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
|
||
" var size = msg['size'];\n",
|
||
" if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
|
||
" fig._resize_canvas(size[0], size[1], msg['forward']);\n",
|
||
" fig.send_message('refresh', {});\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
|
||
" var x0 = msg['x0'] / fig.ratio;\n",
|
||
" var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
|
||
" var x1 = msg['x1'] / fig.ratio;\n",
|
||
" var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
|
||
" x0 = Math.floor(x0) + 0.5;\n",
|
||
" y0 = Math.floor(y0) + 0.5;\n",
|
||
" x1 = Math.floor(x1) + 0.5;\n",
|
||
" y1 = Math.floor(y1) + 0.5;\n",
|
||
" var min_x = Math.min(x0, x1);\n",
|
||
" var min_y = Math.min(y0, y1);\n",
|
||
" var width = Math.abs(x1 - x0);\n",
|
||
" var height = Math.abs(y1 - y0);\n",
|
||
"\n",
|
||
" fig.rubberband_context.clearRect(\n",
|
||
" 0,\n",
|
||
" 0,\n",
|
||
" fig.canvas.width / fig.ratio,\n",
|
||
" fig.canvas.height / fig.ratio\n",
|
||
" );\n",
|
||
"\n",
|
||
" fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
|
||
" // Updates the figure title.\n",
|
||
" fig.header.textContent = msg['label'];\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
|
||
" fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_message = function (fig, msg) {\n",
|
||
" fig.message.textContent = msg['message'];\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
|
||
" // Request the server to send over a new figure.\n",
|
||
" fig.send_draw_message();\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
|
||
" fig.image_mode = msg['mode'];\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
|
||
" for (var key in msg) {\n",
|
||
" if (!(key in fig.buttons)) {\n",
|
||
" continue;\n",
|
||
" }\n",
|
||
" fig.buttons[key].disabled = !msg[key];\n",
|
||
" fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
|
||
" if (msg['mode'] === 'PAN') {\n",
|
||
" fig.buttons['Pan'].classList.add('active');\n",
|
||
" fig.buttons['Zoom'].classList.remove('active');\n",
|
||
" } else if (msg['mode'] === 'ZOOM') {\n",
|
||
" fig.buttons['Pan'].classList.remove('active');\n",
|
||
" fig.buttons['Zoom'].classList.add('active');\n",
|
||
" } else {\n",
|
||
" fig.buttons['Pan'].classList.remove('active');\n",
|
||
" fig.buttons['Zoom'].classList.remove('active');\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.updated_canvas_event = function () {\n",
|
||
" // Called whenever the canvas gets updated.\n",
|
||
" this.send_message('ack', {});\n",
|
||
"};\n",
|
||
"\n",
|
||
"// A function to construct a web socket function for onmessage handling.\n",
|
||
"// Called in the figure constructor.\n",
|
||
"mpl.figure.prototype._make_on_message_function = function (fig) {\n",
|
||
" return function socket_on_message(evt) {\n",
|
||
" if (evt.data instanceof Blob) {\n",
|
||
" var img = evt.data;\n",
|
||
" if (img.type !== 'image/png') {\n",
|
||
" /* FIXME: We get \"Resource interpreted as Image but\n",
|
||
" * transferred with MIME type text/plain:\" errors on\n",
|
||
" * Chrome. But how to set the MIME type? It doesn't seem\n",
|
||
" * to be part of the websocket stream */\n",
|
||
" img.type = 'image/png';\n",
|
||
" }\n",
|
||
"\n",
|
||
" /* Free the memory for the previous frames */\n",
|
||
" if (fig.imageObj.src) {\n",
|
||
" (window.URL || window.webkitURL).revokeObjectURL(\n",
|
||
" fig.imageObj.src\n",
|
||
" );\n",
|
||
" }\n",
|
||
"\n",
|
||
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
|
||
" img\n",
|
||
" );\n",
|
||
" fig.updated_canvas_event();\n",
|
||
" fig.waiting = false;\n",
|
||
" return;\n",
|
||
" } else if (\n",
|
||
" typeof evt.data === 'string' &&\n",
|
||
" evt.data.slice(0, 21) === 'data:image/png;base64'\n",
|
||
" ) {\n",
|
||
" fig.imageObj.src = evt.data;\n",
|
||
" fig.updated_canvas_event();\n",
|
||
" fig.waiting = false;\n",
|
||
" return;\n",
|
||
" }\n",
|
||
"\n",
|
||
" var msg = JSON.parse(evt.data);\n",
|
||
" var msg_type = msg['type'];\n",
|
||
"\n",
|
||
" // Call the \"handle_{type}\" callback, which takes\n",
|
||
" // the figure and JSON message as its only arguments.\n",
|
||
" try {\n",
|
||
" var callback = fig['handle_' + msg_type];\n",
|
||
" } catch (e) {\n",
|
||
" console.log(\n",
|
||
" \"No handler for the '\" + msg_type + \"' message type: \",\n",
|
||
" msg\n",
|
||
" );\n",
|
||
" return;\n",
|
||
" }\n",
|
||
"\n",
|
||
" if (callback) {\n",
|
||
" try {\n",
|
||
" // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
|
||
" callback(fig, msg);\n",
|
||
" } catch (e) {\n",
|
||
" console.log(\n",
|
||
" \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
|
||
" e,\n",
|
||
" e.stack,\n",
|
||
" msg\n",
|
||
" );\n",
|
||
" }\n",
|
||
" }\n",
|
||
" };\n",
|
||
"};\n",
|
||
"\n",
|
||
"// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
|
||
"mpl.findpos = function (e) {\n",
|
||
" //this section is from http://www.quirksmode.org/js/events_properties.html\n",
|
||
" var targ;\n",
|
||
" if (!e) {\n",
|
||
" e = window.event;\n",
|
||
" }\n",
|
||
" if (e.target) {\n",
|
||
" targ = e.target;\n",
|
||
" } else if (e.srcElement) {\n",
|
||
" targ = e.srcElement;\n",
|
||
" }\n",
|
||
" if (targ.nodeType === 3) {\n",
|
||
" // defeat Safari bug\n",
|
||
" targ = targ.parentNode;\n",
|
||
" }\n",
|
||
"\n",
|
||
" // pageX,Y are the mouse positions relative to the document\n",
|
||
" var boundingRect = targ.getBoundingClientRect();\n",
|
||
" var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
|
||
" var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
|
||
"\n",
|
||
" return { x: x, y: y };\n",
|
||
"};\n",
|
||
"\n",
|
||
"/*\n",
|
||
" * return a copy of an object with only non-object keys\n",
|
||
" * we need this to avoid circular references\n",
|
||
" * https://stackoverflow.com/a/24161582/3208463\n",
|
||
" */\n",
|
||
"function simpleKeys(original) {\n",
|
||
" return Object.keys(original).reduce(function (obj, key) {\n",
|
||
" if (typeof original[key] !== 'object') {\n",
|
||
" obj[key] = original[key];\n",
|
||
" }\n",
|
||
" return obj;\n",
|
||
" }, {});\n",
|
||
"}\n",
|
||
"\n",
|
||
"mpl.figure.prototype.mouse_event = function (event, name) {\n",
|
||
" var canvas_pos = mpl.findpos(event);\n",
|
||
"\n",
|
||
" if (name === 'button_press') {\n",
|
||
" this.canvas.focus();\n",
|
||
" this.canvas_div.focus();\n",
|
||
" }\n",
|
||
"\n",
|
||
" var x = canvas_pos.x * this.ratio;\n",
|
||
" var y = canvas_pos.y * this.ratio;\n",
|
||
"\n",
|
||
" this.send_message(name, {\n",
|
||
" x: x,\n",
|
||
" y: y,\n",
|
||
" button: event.button,\n",
|
||
" step: event.step,\n",
|
||
" guiEvent: simpleKeys(event),\n",
|
||
" });\n",
|
||
"\n",
|
||
" /* This prevents the web browser from automatically changing to\n",
|
||
" * the text insertion cursor when the button is pressed. We want\n",
|
||
" * to control all of the cursor setting manually through the\n",
|
||
" * 'cursor' event from matplotlib */\n",
|
||
" event.preventDefault();\n",
|
||
" return false;\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
|
||
" // Handle any extra behaviour associated with a key event\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.key_event = function (event, name) {\n",
|
||
" // Prevent repeat events\n",
|
||
" if (name === 'key_press') {\n",
|
||
" if (event.key === this._key) {\n",
|
||
" return;\n",
|
||
" } else {\n",
|
||
" this._key = event.key;\n",
|
||
" }\n",
|
||
" }\n",
|
||
" if (name === 'key_release') {\n",
|
||
" this._key = null;\n",
|
||
" }\n",
|
||
"\n",
|
||
" var value = '';\n",
|
||
" if (event.ctrlKey && event.key !== 'Control') {\n",
|
||
" value += 'ctrl+';\n",
|
||
" }\n",
|
||
" else if (event.altKey && event.key !== 'Alt') {\n",
|
||
" value += 'alt+';\n",
|
||
" }\n",
|
||
" else if (event.shiftKey && event.key !== 'Shift') {\n",
|
||
" value += 'shift+';\n",
|
||
" }\n",
|
||
"\n",
|
||
" value += 'k' + event.key;\n",
|
||
"\n",
|
||
" this._key_event_extra(event, name);\n",
|
||
"\n",
|
||
" this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
|
||
" return false;\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
|
||
" if (name === 'download') {\n",
|
||
" this.handle_save(this, null);\n",
|
||
" } else {\n",
|
||
" this.send_message('toolbar_button', { name: name });\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
|
||
" this.message.textContent = tooltip;\n",
|
||
"};\n",
|
||
"\n",
|
||
"///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
|
||
"// prettier-ignore\n",
|
||
"var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
|
||
"mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
|
||
"\n",
|
||
"mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
|
||
"\n",
|
||
"mpl.default_extension = \"png\";/* global mpl */\n",
|
||
"\n",
|
||
"var comm_websocket_adapter = function (comm) {\n",
|
||
" // Create a \"websocket\"-like object which calls the given IPython comm\n",
|
||
" // object with the appropriate methods. Currently this is a non binary\n",
|
||
" // socket, so there is still some room for performance tuning.\n",
|
||
" var ws = {};\n",
|
||
"\n",
|
||
" ws.binaryType = comm.kernel.ws.binaryType;\n",
|
||
" ws.readyState = comm.kernel.ws.readyState;\n",
|
||
" function updateReadyState(_event) {\n",
|
||
" if (comm.kernel.ws) {\n",
|
||
" ws.readyState = comm.kernel.ws.readyState;\n",
|
||
" } else {\n",
|
||
" ws.readyState = 3; // Closed state.\n",
|
||
" }\n",
|
||
" }\n",
|
||
" comm.kernel.ws.addEventListener('open', updateReadyState);\n",
|
||
" comm.kernel.ws.addEventListener('close', updateReadyState);\n",
|
||
" comm.kernel.ws.addEventListener('error', updateReadyState);\n",
|
||
"\n",
|
||
" ws.close = function () {\n",
|
||
" comm.close();\n",
|
||
" };\n",
|
||
" ws.send = function (m) {\n",
|
||
" //console.log('sending', m);\n",
|
||
" comm.send(m);\n",
|
||
" };\n",
|
||
" // Register the callback with on_msg.\n",
|
||
" comm.on_msg(function (msg) {\n",
|
||
" //console.log('receiving', msg['content']['data'], msg);\n",
|
||
" var data = msg['content']['data'];\n",
|
||
" if (data['blob'] !== undefined) {\n",
|
||
" data = {\n",
|
||
" data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
|
||
" };\n",
|
||
" }\n",
|
||
" // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
|
||
" ws.onmessage(data);\n",
|
||
" });\n",
|
||
" return ws;\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.mpl_figure_comm = function (comm, msg) {\n",
|
||
" // This is the function which gets called when the mpl process\n",
|
||
" // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
|
||
"\n",
|
||
" var id = msg.content.data.id;\n",
|
||
" // Get hold of the div created by the display call when the Comm\n",
|
||
" // socket was opened in Python.\n",
|
||
" var element = document.getElementById(id);\n",
|
||
" var ws_proxy = comm_websocket_adapter(comm);\n",
|
||
"\n",
|
||
" function ondownload(figure, _format) {\n",
|
||
" window.open(figure.canvas.toDataURL());\n",
|
||
" }\n",
|
||
"\n",
|
||
" var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
|
||
"\n",
|
||
" // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
|
||
" // web socket which is closed, not our websocket->open comm proxy.\n",
|
||
" ws_proxy.onopen();\n",
|
||
"\n",
|
||
" fig.parent_element = element;\n",
|
||
" fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
|
||
" if (!fig.cell_info) {\n",
|
||
" console.error('Failed to find cell for figure', id, fig);\n",
|
||
" return;\n",
|
||
" }\n",
|
||
" fig.cell_info[0].output_area.element.on(\n",
|
||
" 'cleared',\n",
|
||
" { fig: fig },\n",
|
||
" fig._remove_fig_handler\n",
|
||
" );\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_close = function (fig, msg) {\n",
|
||
" var width = fig.canvas.width / fig.ratio;\n",
|
||
" fig.cell_info[0].output_area.element.off(\n",
|
||
" 'cleared',\n",
|
||
" fig._remove_fig_handler\n",
|
||
" );\n",
|
||
" fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
|
||
"\n",
|
||
" // Update the output cell to use the data from the current canvas.\n",
|
||
" fig.push_to_output();\n",
|
||
" var dataURL = fig.canvas.toDataURL();\n",
|
||
" // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
|
||
" // the notebook keyboard shortcuts fail.\n",
|
||
" IPython.keyboard_manager.enable();\n",
|
||
" fig.parent_element.innerHTML =\n",
|
||
" '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
|
||
" fig.close_ws(fig, msg);\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.close_ws = function (fig, msg) {\n",
|
||
" fig.send_message('closing', msg);\n",
|
||
" // fig.ws.close()\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
|
||
" // Turn the data on the canvas into data in the output cell.\n",
|
||
" var width = this.canvas.width / this.ratio;\n",
|
||
" var dataURL = this.canvas.toDataURL();\n",
|
||
" this.cell_info[1]['text/html'] =\n",
|
||
" '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.updated_canvas_event = function () {\n",
|
||
" // Tell IPython that the notebook contents must change.\n",
|
||
" IPython.notebook.set_dirty(true);\n",
|
||
" this.send_message('ack', {});\n",
|
||
" var fig = this;\n",
|
||
" // Wait a second, then push the new image to the DOM so\n",
|
||
" // that it is saved nicely (might be nice to debounce this).\n",
|
||
" setTimeout(function () {\n",
|
||
" fig.push_to_output();\n",
|
||
" }, 1000);\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._init_toolbar = function () {\n",
|
||
" var fig = this;\n",
|
||
"\n",
|
||
" var toolbar = document.createElement('div');\n",
|
||
" toolbar.classList = 'btn-toolbar';\n",
|
||
" this.root.appendChild(toolbar);\n",
|
||
"\n",
|
||
" function on_click_closure(name) {\n",
|
||
" return function (_event) {\n",
|
||
" return fig.toolbar_button_onclick(name);\n",
|
||
" };\n",
|
||
" }\n",
|
||
"\n",
|
||
" function on_mouseover_closure(tooltip) {\n",
|
||
" return function (event) {\n",
|
||
" if (!event.currentTarget.disabled) {\n",
|
||
" return fig.toolbar_button_onmouseover(tooltip);\n",
|
||
" }\n",
|
||
" };\n",
|
||
" }\n",
|
||
"\n",
|
||
" fig.buttons = {};\n",
|
||
" var buttonGroup = document.createElement('div');\n",
|
||
" buttonGroup.classList = 'btn-group';\n",
|
||
" var button;\n",
|
||
" for (var toolbar_ind in mpl.toolbar_items) {\n",
|
||
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
|
||
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
|
||
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
|
||
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
|
||
"\n",
|
||
" if (!name) {\n",
|
||
" /* Instead of a spacer, we start a new button group. */\n",
|
||
" if (buttonGroup.hasChildNodes()) {\n",
|
||
" toolbar.appendChild(buttonGroup);\n",
|
||
" }\n",
|
||
" buttonGroup = document.createElement('div');\n",
|
||
" buttonGroup.classList = 'btn-group';\n",
|
||
" continue;\n",
|
||
" }\n",
|
||
"\n",
|
||
" button = fig.buttons[name] = document.createElement('button');\n",
|
||
" button.classList = 'btn btn-default';\n",
|
||
" button.href = '#';\n",
|
||
" button.title = name;\n",
|
||
" button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n",
|
||
" button.addEventListener('click', on_click_closure(method_name));\n",
|
||
" button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
|
||
" buttonGroup.appendChild(button);\n",
|
||
" }\n",
|
||
"\n",
|
||
" if (buttonGroup.hasChildNodes()) {\n",
|
||
" toolbar.appendChild(buttonGroup);\n",
|
||
" }\n",
|
||
"\n",
|
||
" // Add the status bar.\n",
|
||
" var status_bar = document.createElement('span');\n",
|
||
" status_bar.classList = 'mpl-message pull-right';\n",
|
||
" toolbar.appendChild(status_bar);\n",
|
||
" this.message = status_bar;\n",
|
||
"\n",
|
||
" // Add the close button to the window.\n",
|
||
" var buttongrp = document.createElement('div');\n",
|
||
" buttongrp.classList = 'btn-group inline pull-right';\n",
|
||
" button = document.createElement('button');\n",
|
||
" button.classList = 'btn btn-mini btn-primary';\n",
|
||
" button.href = '#';\n",
|
||
" button.title = 'Stop Interaction';\n",
|
||
" button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n",
|
||
" button.addEventListener('click', function (_evt) {\n",
|
||
" fig.handle_close(fig, {});\n",
|
||
" });\n",
|
||
" button.addEventListener(\n",
|
||
" 'mouseover',\n",
|
||
" on_mouseover_closure('Stop Interaction')\n",
|
||
" );\n",
|
||
" buttongrp.appendChild(button);\n",
|
||
" var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
|
||
" titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._remove_fig_handler = function (event) {\n",
|
||
" var fig = event.data.fig;\n",
|
||
" if (event.target !== this) {\n",
|
||
" // Ignore bubbled events from children.\n",
|
||
" return;\n",
|
||
" }\n",
|
||
" fig.close_ws(fig, {});\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._root_extra_style = function (el) {\n",
|
||
" el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._canvas_extra_style = function (el) {\n",
|
||
" // this is important to make the div 'focusable\n",
|
||
" el.setAttribute('tabindex', 0);\n",
|
||
" // reach out to IPython and tell the keyboard manager to turn it's self\n",
|
||
" // off when our div gets focus\n",
|
||
"\n",
|
||
" // location in version 3\n",
|
||
" if (IPython.notebook.keyboard_manager) {\n",
|
||
" IPython.notebook.keyboard_manager.register_events(el);\n",
|
||
" } else {\n",
|
||
" // location in version 2\n",
|
||
" IPython.keyboard_manager.register_events(el);\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
|
||
" // Check for shift+enter\n",
|
||
" if (event.shiftKey && event.which === 13) {\n",
|
||
" this.canvas_div.blur();\n",
|
||
" // select the cell after this one\n",
|
||
" var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
|
||
" IPython.notebook.select(index + 1);\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
|
||
" fig.ondownload(fig, null);\n",
|
||
"};\n",
|
||
"\n",
|
||
"mpl.find_output_cell = function (html_output) {\n",
|
||
" // Return the cell and output element which can be found *uniquely* in the notebook.\n",
|
||
" // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
|
||
" // IPython event is triggered only after the cells have been serialised, which for\n",
|
||
" // our purposes (turning an active figure into a static one), is too late.\n",
|
||
" var cells = IPython.notebook.get_cells();\n",
|
||
" var ncells = cells.length;\n",
|
||
" for (var i = 0; i < ncells; i++) {\n",
|
||
" var cell = cells[i];\n",
|
||
" if (cell.cell_type === 'code') {\n",
|
||
" for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
|
||
" var data = cell.output_area.outputs[j];\n",
|
||
" if (data.data) {\n",
|
||
" // IPython >= 3 moved mimebundle to data attribute of output\n",
|
||
" data = data.data;\n",
|
||
" }\n",
|
||
" if (data['text/html'] === html_output) {\n",
|
||
" return [cell, data, j];\n",
|
||
" }\n",
|
||
" }\n",
|
||
" }\n",
|
||
" }\n",
|
||
"};\n",
|
||
"\n",
|
||
"// Register the function which deals with the matplotlib target/channel.\n",
|
||
"// The kernel may be null if the page has been refreshed.\n",
|
||
"if (IPython.notebook.kernel !== null) {\n",
|
||
" IPython.notebook.kernel.comm_manager.register_target(\n",
|
||
" 'matplotlib',\n",
|
||
" mpl.mpl_figure_comm\n",
|
||
" );\n",
|
||
"}\n"
|
||
],
|
||
"text/plain": [
|
||
"<IPython.core.display.Javascript object>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAAPACAYAAABq3NR5AAAgAElEQVR4XuzdCbRdVX0/8E0IBAIoYLAlREoIFghaQAgCpQIGlQRRmZTULqUGMDKLQIoDoFGGAIIKIlOqq5Io4FCVxAlEBoMEiwoySYJADUMiQhBiMYF/9+k/z0yPe995976zzz6fs1ZXybtn7/3bn99Zd6379dx71njpf4/gIECAAAECBAgQIECAAAECBAgQIEAgS4E1BIBZ9tWmCBAgQIAAAQIECBAgQIAAAQIECBQCAkAXAgECBAgQIECAAAECBAgQIECAAIGMBQSAGTfX1ggQIECAAAECBAgQIECAAAECBAgIAF0DBAgQIECAAAECBAgQIECAAAECBDIWEABm3FxbI0CAAAECBAgQIECAAAECBAgQICAAdA0QIECAAAECBAgQIECAAAECBAgQyFhAAJhxc22NAAECBAgQIECAAAECBAgQIECAgADQNUCAAAECBAgQIECAAAECBAgQIEAgYwEBYMbNtTUCBAgQIECAAAECBAgQIECAAAECAkDXAAECBAgQIECAAAECBAgQIECAAIGMBQSAGTfX1ggQIECAAAECBAgQIECAAAECBAgIAF0DBAgQIECAAAECBAgQIECAAAECBDIWEABm3FxbI0CAAAECBAgQIECAAAECBAgQICAAdA0QIECAAAECBAgQIECAAAECBAgQyFhAAJhxc22NAAECBAgQIECAAAECBAgQIECAgADQNUCAAAECBAgQIECAAAECBAgQIEAgYwEBYMbNtTUCBAgQIECAAAECBAgQIECAAAECAkDXAAECBAgQIECAAAECBAgQIECAAIGMBQSAGTfX1ggQIECAAAECBAgQIECAAAECBAgIAF0DBAgQIECAAAECBAgQIECAAAECBDIWEABm3FxbI0CAAAECBAgQIECAAAECBAgQICAAdA0QIECAAAECBAgQIECAAAECBAgQyFhAAJhxc22NAAECBAgQIECAAAECBAgQIECAgADQNUCAAAECBAgQIECAAAECBAgQIEAgYwEBYMbNtTUCBAgQIECAAAECBAgQIECAAAECAkDXAAECBAgQIECAAAECBAgQIECAAIGMBQSAGTfX1ggQIECAAAECBAgQIECAAAECBAgIAF0DBAgQIECAAAECBAgQIECAAAECBDIWEABm3FxbI0CAAAECBAgQIECAAAECBAgQICAAdA0QIECAAAECBAgQIECAAAECBAgQyFhAAJhxc22NAAECBAgQIECAAAECBAgQIECAgADQNUCAAAECBAgQIECAAAECBAgQIEAgYwEBYMbNtTUCBAgQIECAAAECBAgQIECAAAECAkDXAAECBAgQIECAAAECBAgQIECAAIGMBQSAGTfX1ggQIECAAAECBAgQIECAAAECBAgIAF0DBAgQIECAAAECBAgQIECAAAECBDIWEABm3FxbI0CAAAECBAgQIECAAAECBAgQICAAdA0QIECAAAECBAgQIECAAAECBAgQyFhAAJhxc22NAAECBAgQIECAAAECBAgQIECAgADQNUCAAAECBAgQIECAAAECBAgQIEAgYwEBYMbNtTUCBAgQIECAAAECBAgQIECAAAECAkDXAAECBAgQIECAAAECBAgQIECAAIGMBQSAGTfX1ggQIECAAAECBAgQIECAAAECBAgIAF0DBAgQIECAAAECBAgQIECAAAECBDIWEABm3FxbI0CAAAECBAgQIECAAAECBAgQICAAdA0QIECAAAECBAgQIECAAAECBAgQyFhAAJhxc22NAAECBAgQIECAAAECBAgQIECAgADQNUCAAAECBAgQIECAAAECBAgQIEAgYwEBYMbNtTUCBAgQIECAAAECBAgQIECAAAECAkDXAAECBAgQIECAAAECBAgQIECAAIGMBQSAGTfX1ggQIECAAAECBAgQIECAAAECBAgIAF0DBAgQIECAAAECBAgQIECAAAECBDIWEABm3FxbI0CAAAECBAgQIECAAAECBAgQICAAdA0QIECAAAECBAgQIECAAAECBAgQyFhAAJhxc22NAAECBAgQIECAAAECBAgQIECAgADQNUCAAAECBAgQIECAAAECBAgQIEAgYwEBYMbNtTUCBAgQIECAAAECBAgQIECAAAECAkDXAAECBAgQIECAAAECBAgQIECAAIGMBQSAGTfX1ggQIECAAAECBAgQIECAAAECBAgIAF0DBAgQIECAAAECBAgQIECAAAECBDIWEABm3FxbI0CAAAECBAgQIECAAAECBAgQICAAdA0QIECAAAECBAgQIECAAAECBAgQyFhAAJhxc22NAAECBAgQIECAAAECBAgQIECAgADQNUCAAAECBAgQIECAAAECBAgQIEAgYwEBYMbNtTUCBAgQIECAAAECBAgQIECAAAECAkDXAAECBAgQIECAAAECBAgQIECAAIGMBQSAGTfX1ggQIECAAAECBAgQIECAAAECBAgIAF0DBAgQIECAAAECBAgQIECAAAECBDIWEABm3FxbI0CAAAECBAgQIECAAAECBAgQICAAdA0QIECAAAECBAgQIECAAAECBAgQyFhAAJhxc22NAAECBAgQIECAAAECBAgQIECAgADQNUCAAAECBAgQIECAAAECBAgQIEAgYwEBYMbNtTUCBAgQIECAAAECBAgQIECAAAECAkDXAAECBAgQIECAAAECBAgQIECAAIGMBQSAGTfX1ggQIECAAAECBAgQIECAAAECBAgIAF0DBAgQIECAAAECBAgQIECAAAECBDIWEABm3FxbI0CAAAECBAgQIECAAAECBAgQICAAdA0QIECAAAECBAgQIECAAAECBAgQyFhAAJhxc22NAAECBAgQIECAAAECBAgQIECAgADQNUCAAAECBAgQIECAAAECBAgQIEAgYwEBYMbNtTUCBAgQIECAAAECBAgQIECAAAECAkDXAAECBAgQIECAAAECBAgQIECAAIGMBQSAGTfX1ggQIECAAAECBAgQIECAAAECBAgIAF0DBAgQIECAAAECBAgQIECAAAECBDIWEABm3FxbI0CAAAECBAgQIECAAAECBAgQICAAdA0QIECAAAECBAgQIECAAAECBAgQyFhAAJhxc22NAAECBAgQIECAAAECBAgQIECAgADQNUCAAAECBAgQIECAAAECBAgQIEAgYwEBYMbNtTUCBAgQIECAAAECBAgQIECAAAECAkDXAAECBAgQIECAAAECBAgQIECAAIGMBQSAGTfX1ggQIECAAAECBAgQIECAAAECBAgIAF0DBAgQIECAAAECBAgQIECAAAECBDIWEABm3FxbI0CAAAECBAgQIECAAAECBAgQICAAdA0QIECAAAECBAgQIECAAAECBAgQyFhAAJhxc22NAAECBAgQIECAAAECBAgQIECAgADQNUCAAAECBAgQIECAAAECBAgQIEAgYwEBYMbNtTUCBAgQIECAAAECBAgQIECAAAECAkDXAAECBAgQIECAAAECBAgQIECAAIGMBQSAGTfX1ggQIECAAAECBAgQIECAAAECBAgIAF0DBAgQIECAAAECBAgQIECAAAECBDIWEABm3FxbI0CAAAECBAgQIECAAAECBAgQICAAdA0QIECAAAECBAgQIECAAAECBAgQyFhAAJhxc22NAAECBAgQIECAAAECBAgQIECAgADQNUCAAAECBAgQIECAAAECBAgQIEAgYwEBYMbNtTUCBAgQIECAAAECBAgQIECAAAECAkDXAAECBAgQIECAAAECBAgQIECAAIGMBQSAGTfX1ggQIECAAAECBAgQIECAAAECBAgIAF0DBAgQIECAAAECBAgQIECAAAECBDIWEABm3FxbI0CAAAECBAgQIECAAAECBAgQICAAdA0QIECAAAECBAgQIECAAAECBAgQyFhAAJhxc22NAAECBAgQIECAAAECBAgQIECAgADQNUCAAAECBAgQIECAAAECBAgQIEAgYwEBYMbNTXlrf/7zn8Ndd91VlLjJJpuEwYMHp1yu2ggQIECAAAECBAgQIECAQC0FlixZEhYsWFDU/vrXvz6ss846tdyHovsnIADsn5/RJQXmzJkTdtlll5KjDSNAgAABAgQIECBAgAABAgT6KnD77beHMWPG9HWY8zMQEABm0MQ6bkEAWMeuqZkAAQIECBAgQIAAAQIE6iwgAKxz9/pXuwCwf35GlxT43e9+F0aOHFmMjm9Am266acmZDCNAgAABAgQIECBAgAABAgR6E3jsscd6voH30EMPhS222AJWAwUEgA1segpb/u///u/wmte8pijl0UcfDSNGjEihLDUQIECAAAECBAgQIECAAIGsBHz+zqqdpTcjACxNZ2B/BLwB9UfPWAIECBAgQIAAAQIECBAg0J6Az9/tOeV+lgAw9w4nuj9vQIk2RlkECBAgQIAAAQIECBAgkJWAz99ZtbP0ZgSApekM7I+AN6D+6BlLgAABAgQIECBAgAABAgTaE/D5uz2n3M8SAObe4UT35w0o0cYoiwABAgQIECBAgAABAgSyEvD5O6t2lt6MALA0nYH9EfAG1B89YwkQIECAAAECBAgQIECAQHsCPn+355T7WQLA3Duc6P68ASXaGGURIECAAAECBAgQIECAQFYCPn9n1c7SmxEAlqYzsD8C3oD6o2csAQIECBAgQIAAAQIECBBoT8Dn7/accj9LAJh7hxPdnzegRBujLAIECBAgQIAAAQIECBDISsDn76zaWXozAsDSdAb2R8AbUH/0jCVAgAABAgQIECBAgAABAu0J+PzdnlPuZwkAc+9wovvzBpRoY5RFgAABAgQIECBAgAABAlkJ+PydVTtLb0YAWJrOwP4IeAPqj56xBAgQIECAAAECBAgQIECgPQGfv9tzyv0sAWDuHU50f96AEm2MsggQIECAAAECBAgQIEAgKwGfv7NqZ+nNCABL0xnYHwFvQP3RM5YAAQIECBAgQIAAAQIECLQn4PN3e065nyUAzL3Die7PG1CijVEWAQIECBAgQIAAAQIECGQl4PN3Vu0svRkBYGk6A/sj4A2oP3rGEiBAgAABAgQIECBAgACB9gR8/m7PKfezBIC5dzjR/XkDSrQxyiJAgAABAgQIECBAgACBrAR8/s6qnaU3IwAsTWdgfwS8AfVHz1gCBAgQIECAAAECBAgQINCegM/f7TnlfpYAMPcOJ7o/b0CJNkZZBAgQIECAAAECBAgQIJCVgM/fWbWz9GYEgKXpDOyPgDeg/ugZS4AAAQIECBAgQIAAAQIE2hPw+bs9p9zPEgDm3uFE9+cNKNHGKIsAAQIECBAgQIAAAQIEshLw+TurdpbejACwNJ2B/RHwBtQfPWMJECBAgAABAgQIECBAgEB7Aj5/t+eU+1kCwNw7nOj+vAEl2hhlESBAgAABAgQIECBAgEBWAj5/Z9XO0psRAJamM7A/At6A+qNnLAECBAgQIECAAAECBAgQaE/A5+/2nHI/SwCYe4cT3Z83oEQboywCBAgQIECAAAECBAgQyErA5++s2ll6MwLA0nQG9kfAG1B/9IwlQIAAAQIECBAgQIAAAQLtCfj83Z5T7mcJAHPvcKL78waUaGOURYAAAQIECBAgQIAAAQJZCfj8nVU7S29GAFiazsD+CHgD6o+esQQIECBAgAABAgQIECBAoD0Bn7/bc8r9LAFgRR1+5JFHwpVXXhmuu+668PDDD4dnn302bLLJJmGLLbYIe++9d3j3u98dXve61/Va3axZs8Jll10W5syZExYsWFCMHTNmTDjyyCPDuHHj2trVkiVLwhVXXBGuuuqqcN9994U//elPYfjw4WGfffYJxx13XNhuu+3amqfMSd6AyqgZQ4AAAQIECBAgQIAAAQIE+ibg83ffvHI9WwBYQWe/8IUvhFNPPTU899xzva5+/PHHhwsvvHCV11988cUi5IvhYW/H4YcfHi699NIwaNCgXs9ZuHBhGD9+fBEgru4YMmRIuOiii0KcqxuHN6BuqJqTAAECBAgQIECAAAECBLol8Kf/WRLm/O6pnunX+N//2mvrV3druY7N6/N3xyhrPZEAcIDb9+lPfzp84hOfKFb9+7//+3DEEUcUd+698pWvDH/4wx/CnXfeGb71rW+FN77xjeGzn/3sKtXF4PDss88u/r7jjjuGU045JYwaNSrMnTs3TJ06tRgfj3jemWeeudrdLV26NOy1117hlltuKV4/8MADizo23njj8POf/zzEGp988skiQPze977X9h2FfaH0BtQXLecSIECAAAECBAgQIECAQNUC9z62KIz73M09ZQz63wRw3ln7VV1Wy/V9/m5J1IgTBIAD2Obrr7+++HptPN73vvcVX79da621VlvBCy+8ENZee+0VXnvggQeKr+XGr+7uvPPO4aabbgrrrrtuzznPP/982HPPPcMdd9wRBg8eHO69996w1VZbrTL/tGnTwsSJE4u/H3XUUeHiiy9e4ZwHH3ww7LTTTmHRokXF+DhPnK+ThzegTmqaiwABAgQIECBAgAABAgS6LSAA7Law+bspIADspu5yc8ev7m6zzTbht7/9bdh+++17Qrq+LB/DuksuuaQYMnv27LDrrruuMvy2224Lu+22W6/hXnxh9OjRRagX7/h79NFHw9ChQ1eZJ95lGO8ijMfVV18dDjnkkL6U2vJcAWBLIicQIECAAAECBAgQIECAQEICAsCEmqGUPgsIAPtMVm7A97///Z6v0k6fPj1MmDChTxO99NJLYcSIEWH+/PlFkBgDvN6O+Pr9998fNttssyLgW2ON+MsE/3fEuwi33nrr4r8nTZrUEyiuPNfjjz8eNt100+LPsdZYcycPAWAnNc1FgAABAgQIECBAgAABAt0WEAB2W9j83RQQAHZTd7m541du41dvYxj3zDPPhA022KB49amnnip+++9Vr3pVcUdeb8e8efOK3/qLxwc/+MHwpS99qddz4+vxCcHxiONGjhzZc+7yX/+dMWNGOPTQQ3udJwaFMTDcfPPNiycVd/IQAHZS01wECBAgQIAAAQIECBAg0G0BAWC3hc3fTQEBYDd1l5s7/nbfPffcU4RxMZSLd9SdddZZ4e677+45a9lDQY499tgQn8K7/BEfxrH//vsXf7rgggvCCSec0Gvl8fUTTzyxeP26664rnva77DjppJPC+eefX/wzPjBkhx126HWed77zneE73/lOEVo+++yzYb311uuYlgCwY5QmIkCAAAECBAgQIECAAIEBEBAADgCyJbomIADsGu1fJ46//xcf9hH/f3zib/yNvs9//vO9rrz77rsXwd2GG27Yc0684+9DH/pQ8e9rrrkmHHzwwb2Ov/baa3t+sy+Oi3cELjviHX9f//rXi38uWLAgDBs2rNd5jjnmmJ4HhNx33309Xx1uhywGfC93PPbYY2GXXXYpTolfU45fb3YQIECAAAECBAgQIECAAIFUBQSAqXZGXe0ICADbUernOX/84x97vt67zjrrhD//+c/F7+ude+65xd158W9z5swJkydPDvEhHvE44IADwje/+c2eleO5p5xySvHvWbNmhX333bfXquLry+76O++888JHPvKRnnP322+/MHPmzOLfixcvLtbu7Yj1TJ06tXg5Plk4Phm43WP53x1sNUYA2ErI6wQIECBAgAABAgQIECBQtYAAsOoOWL8/AgLA/ui1OXb5r7vGIfGpu//1X/+1yh11MZCLdwf+6le/KmaOYeAb3/jG4r+nTJkSTjvttOK/r7/++vDmN7+519VvuOGGMHbs2J5xH//4x3vOjX+Pr8dj6dKlYdCgQb3OE9eL68bj5ptvDnvssUebOw4rPHik1SABYCshrxMgQIAAAQIECBAgQIBA1QICwKo7YP3+CAgA+6PX5tiFCxeGTTbZpOfs4447Lnzuc59b7ej41d+3v/3txWsf/vCHw2c/+9niv+t2B6CvALd5cTiNAAECBAgQIECAAAECBGohIACsRZsU2YuAAHAALo3/+Z//WeGrtvGBHvGruKs74teD4xOClyxZUtxxF++8i0fdfgOwFauHgLQS8joBAgQIECBAgAABAgQIpCQgAEypG2rpq4AAsK9iJc9/9atfXTx0Ix7xK77/8A//0OtM8fcBH3/88eIrwvHhG/HwFOCS8IYRIECAAAECBAgQIECAAIEOCAgAO4BoisoEBIADRL/33nuHG2+8sVgt/v7fjjvu2OvKy8LC7bbbLtx9993FefPmzQujRo0q/js+1TfeEdjbEV+/7LLLesaNHDmy59Rp06aFiRMnFv+eMWNGiE8F7u2IAeQDDzwQNt988/Dwww93VModgB3lNBkBAgQIECBAgAABAgQIdFlAANhlYNN3VUAA2FXev05++umnh0996lPFH6699tpw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IECAAAECBOosIACsc/fULgB0DVQiIACshN2iBAgQIECAAAECBAgQIFBSQABYEs6wJAQEgEm0oXlFCACb13M7JkCAAAECBAgQIECAQJ0FBIB17p7aBYCugUoEBICVsFuUAAECBAgQIECAAAECBEoKCABLwhmWhIAAMIk2NK8IAWDzem7HBFXyO10AACAASURBVAgQIECAAAECBAgQqLOAALDO3VO7ANA1UImAALASdosSIECAAAECBAgQIECAQEkBAWBJOMOSEBAAJtGG5hUhAGxez+2YAAECBAgQIECAAAECdRYQANa5e2oXALoGKhEQAFbCblECBAgQIECAAAECBAgQKCkgACwJZ1gSAgLAJNrQvCIEgM3ruR0TIECAAAECBAgQIECgzgICwDp3T+0CQNdAJQICwErYLUqAAAECBAgQIECAAAECJQUEgCXhDEtCQACYRBuaV4QAsHk9t2MCBAgQIECAAAECBAjUWUAAWOfuqV0A6BqoREAAWAm7RQkQIECAAAECBAgQIECgpIAAsCScYUkICACTaEPzihAANq/ndkyAAAECBAgQIECAAIE6CwgA69w9tQsAXQOVCAgAK2G3KAECBAgQIECAAAECBAiUFBAAloQzLAkBAWASbWheEQLA5vXcjgkQIECAAAECBAgQIFBnAQFgnbundgGga6ASAQFgJewWJUCAAAECBAgQIECAAIGSAgLAknCGJSEgAEyiDc0rQgDYvJ7bMQECBAgQIECAAAECBOosIACsc/fULgB0DVQiIACshN2iBAgQIECAAAECBAgQIFBSYOUAcK011wi//cz4krMN3DCfvwfOOuWVBIApdyfj2rwBZdxcWyNAgAABAgQIECBAgECGAgLADJvaoC0JABvU7JS2KgBMqRtqIUCAAAECBAgQIECAAIFWAnf//pnw9i/c0nOaOwBbiXk9JQEBYErdaFAtAsAGNdtWCRAgQIAAAQIECBAgkIGAADCDJjZ4CwLABje/yq0LAKvUtzYBAgQIECBAgAABAgQI9FVAANhXMeenJCAATKkbDapFANigZtsqAQIECBAgQIAAAQIEMhAQAGbQxAZvQQDY4OZXuXUBYJX61iZAgAABAgQIECBAgACBvgoIAPsq5vyUBASAKXWjQbUIABvUbFslQIAAAQIECBAgQIBABgICwAya2OAtCAAb3Pwqty4ArFLf2gQIECBAgAABAgQIECDQVwEBYF/FnJ+SgAAwpW40qBYBYIOabasECBAgQIAAAQIECBDIQEAAmEETG7wFAWCDm1/l1gWAVepbmwABAgQIECBAgAABAgT6KiAA7KuY81MSEACm1I0G1SIAbFCzbZUAAQIECBAgQIAAAQIZCAgAM2hig7cgAGxw86vcugCwSn1rEyBAgAABAgQIECBAgEBfBQSAfRVzfkoCAsCUutGgWgSADWq2rRIgQIAAAQIECBAgQCADAQFgBk1s8BYEgA1ufpVbFwBWqW9tAgQIECBAgAABAgQIEOirgACwr2LOT0lAAJhSNxpUiwCwQc22VQIECBAgQIAAAQIECGQgIADMoIkN3oIAsMHNr3LrAsAq9a1NgAABAgQIECBAgAABAn0VEAD2Vcz5KQkIAFPqRoNqEQA2qNm2SoAAAQIECBAgQIAAgQwEBIAZNLHBWxAANrj5VW5dAFilvrUJECBAgAABAgQIECBAoK8CAsC+ijk/JQEBYErdaFAtAsAGNdtWCRAgQIAAAQIECBAgkIGAADCDJjZ4CwLABje/yq0LAKvUtzYBAgQIECBAgAABAgQI9FVg5QBw7TUHhQc+M66v0wz4+T5/Dzh5kgsKAJNsS/5FeQPKv8d2SIAAAQIECBAgQIAAgZwEBIA5dbN5exEANq/nSexYAJhEGxRBgAABAgQIECBAgAABAm0KCADbhHJakgICwCTbkn9RAsD8e2yHBAgQIECAAAECBAgQyElAAJhTN5u3FwFg83qexI4FgEm0QREECBAgQIAAAQIECBAg0KaAALBNKKclKSAATLIt+RclAMy/x3ZIgAABAgQIECBAgACBnAQEgDl1s3l7EQA2r+dJ7FgAmEQbFEGAAAECBAgQIECAAAECbQoIANuEclqSAgLAJNuSf1ECwPx7bIcECBAgQIAAAQIECBDISUAAmFM3m7cXAWDzep7EjgWASbRBEQQIECBAgAABAgQIECDQpoAAsE0opyUpIABMsi35FyUAzL/HdkiAAAECBAgQIECAAIGcBASAOXWzeXsRADav50nsWACYRBsUQYAAAQIECBAgQIAAAQJtCggA24RyWpICAsAk25J/UQLA/HtshwQIECBAgAABAgQIEMhJQACYUzebtxcBYPN6nsSOBYBJtEERBAgQIECAAAECBAgQINCmgACwTSinJSkgAEyyLfkXJQDMv8d2SIAAAQIECBAgQIAAgZwEBIA5dbN5exEANq/nSexYAJhEGxRBgAABAgQIECBAgAABAm0KCADbhHJakgICwCTbkn9RAsD8e2yHBAgQIECAAAECBAgQyElAAJhTN5u3FwFg83qexI4FgEm0QREECBAgQIAAAQIECBAg0KaAALBNKKclKSAATLIt+RclAMy/x3ZIgAABAgQIECBAgACBnAQEgDl1s3l7EQA2r+dJ7FgAmEQbFEGAAAECBAgQIECAAAECbQoIANuEclqSAgLAJNuSf1ECwPx7bIcECBAgQIAAAQIECBDISUAAmFM3m7cXAWDzep7EjgWASbRBEQQIECBAgAABAgQIECDQpsAqAeDgQeGBT49rc3R1p/n8XZ19SisLAFPqRoNq8QbUoGbbKgECBAgQIECAAAECBDIQEABm0MQGb0EA2ODmV7l1AWCV+tYmQIAAAQIECBAgQIAAgb4KCAD7Kub8lAQEgCl1o0G1CAAb1GxbJUCAAAECBAgQIECAQAYCAsAMmtjgLQgAG9z8KrcuAKxS39oECBAgQIAAAQIECBAg0FeBu/77mbD/Rbf0DFvbbwD2ldD5FQoIACvEb/LSAsAmd9/eCRAgQIAAAQIECBAgUD8BAWD9eqbivwoIAF0NlQgIACthtygBAgQIECBAgAABAgQIlBQQAJaEMywJAQFgEm1oXhECwOb13I4JECBAgAABAgQIECBQZwEBYJ27p3YB4ABeA2ussUZbq+25557hxhtvfNlzZ82aFS677LIwZ86csGDBgrDJJpuEMWPGhCOPPDKMGzeurXWWLFkSrrjiinDVVVeF++67L/zpT38Kw4cPD/vss0847rjjwnbbbdfWPGVOEgCWUTOGAAECBAgQIECAAAECBKoSEABWJW/dTggIADuh2OYcnQgAX3zxxSLku/LKK3td9fDDDw+XXnppGDRoUK/nLFy4MIwfP74IEFd3DBkyJFx00UUhztWNQwDYDVVzEiBAgAABAgQIECBAgEC3BASA3ZI170AICAAHQvn/r7EsAPzQhz4UjjrqqF5XXm+99cLIkSNX+/qpp54azj777OK1HXfcMZxyyilh1KhRYe7cuWHq1KnhzjvvLF6L55155pmrnWPp0qVhr732Crfc8n9PLzrwwAPDEUccETbeeOPw85//PHz6058OTz75ZBEgfu9732v7jsK+UAoA+6LlXAIECBAgQIAAAQIECBCoWkAAWHUHrN8fAQFgf/T6OHZZAHj66aeHM844o4+jQ3jggQeKr+XGr+7uvPPO4aabbgrrrrtuzzzPP/98iF8fvuOOO8LgwYPDvffeG7baaqtV1pk2bVqYOHFi8fcYRF588cUrnPPggw+GnXbaKSxatKgYH+eJ83XyEAB2UtNcBAgQIECAAAECBAgQINBtAQFgt4XN300BAWA3dVeau78BYAzrLrnkkmLW2bNnh1133XWV6m+77baw22679RruxRdGjx5dhHrxjr9HH300DB06dJV54l2G8S7CeFx99dXhkEMO6aiUALCjnCYjQIAAAQIECBAgQIAAgS4LCAC7DGz6rgoIALvKu+Lk/QkAX3rppTBixIgwf/78sM022xQBXm9HfP3+++8Pm222WRHwLf/bg/Euwq233roYOmnSpJ5AceW5Hn/88bDpppsWf54wYUKYPn16R6UEgB3lNBkBAgQIECBAgAABAgQIdFlAANhlYNN3VUAA2FXezgWA8+bNK37rLx4f/OAHw5e+9KVeK4+vxycExyOOW/73BJf/+u+MGTPCoYce2us8MSiMgeHmm28eHn744Y5KCQA7ymkyAgQIECBAgAABAgQIEOiygACwy8Cm76qAALCrvKsPAONXcOMdfb/73e/CmmuuGf72b/827L777uGwww4Le++992orig/j2H///YvXLrjggnDCCSf0Wnl8/cQTTyxev+6664qn/S47TjrppHD++ecX/4wPDNlhhx16need73xn+M53vlPcQfjss8+G+HCSTh0CwE5JmocAAQIECBAgQIAAAQIEBkJAADgQytboloAAsFuyq5l3+a/i9rbsu971rvDlL385vPKVr1zhlHjHX3x6cDyuueaacPDBB/da+bXXXtvzm31xXLwjcNkR7/j7+te/XvxzwYIFYdiwYb3Oc8wxx/Q8IOS+++7r+epwO2Qx4Hu547HHHgu77LJLcUr8mnL8erODAAECBAgQIECAAAECBAikKiAATLUz6mpHQADYjlKHzol30L3jHe8IY8eOLX7Hb/311y9CuJ/+9KfFV3r/8Ic/FCvFJ/n+6Ec/CmuttVbPyueee2445ZRTin/PmjUr7Lvvvr1WFV9fdtffeeedFz7ykY/0nLvffvuFmTNnFv9evHhxWGeddXqdZ/LkyWHq1KnF6/HJwvHJwO0e7YSdy+YSALar6jwCBAgQIECAAAECBAgQqEpAAFiVvHU7ISAA7IRim3M8/fTTYcMNN1zt2U888UQYN25c8bXceHzuc58Lxx13XM+5U6ZMCaeddlrx7+uvvz68+c1v7nXVG264oQgZ4xHHffzjH+85N/49vh6PpUuXhkGDBvU6T1wvjo/HzTffHPbYY482dxpWePBIq0ECwFZCXidAgAABAgQIECBAgACBqgUEgFV3wPr9ERAA9kevw2PjAzvinYF/+ctfwlZbbRV++9vf9qxQtzsAfQW4wxeH6QgQIECAAAECBAgQIECgUgEBYKX8Fu+ngACwn4CdHr78V3R///vfh+HDhxdL1O03AFu5eAhIKyGvEyBAgAABAgQIECBAgEBKAisHgEMGDwr3f3pcSiWuthafv5Nv0YAUKAAcEOb2Fzn55JND/N2+eNx+++1hzJgxxX97CnD7hs4kQIAAAQIECBAgQIAAAQKdFhAAdlrUfAMpIAAcSO021ooP+ohf9105AIxfDx41alTx9/hU33hHYG9HfP2yyy4rXo7jRo4c2XPqtGnTwsSJE4t/z5gxI8SnAvd2bL311uGBBx4Im2++eXj44YfbqL79U/wvEO1bOZMAAQIECBAgQIAAAQIEqhcQAFbfAxWUFxAAlrfrysi3v/3t4brrrivmjiHZZpttVvz3Sy+9FEaMGBHmz59f/E7gvffe2+v62267bbjvvvuKsfEBG8s/kTcGejHYi8ekSZPCJZdcstp5Hn/88bDpppsWr02YMCFMnz69o/sVAHaU02QECBAgQIAAAQIECBAg0GUBAWCXgU3fVQEBYFd5+zb5Qw89VIR7L7zwQnG334MPPrjCBEcddVRPYDd79uyw6667rrLAbbfdFnbbbbfi7/H8iy++eJVzRo8eXQSIG2+8cREQDh06dJVzzj777HDqqacWf7/66qvDIYcc0rfNtDhbANhRTpMRIECAAAECBAgQIECAQJcFBIBdBjZ9VwUEgF3l/evk3/3ud8O4cePC4MGDV7viE088Ubx+5513Fq+ff/754cQTT1zh3Hj3Xgzvli5dGnbeeedw0003hXXXXbfnnMWLF4c3velN4Y477ijWueeee8JrX/vaVdZb/mvARx99dLjoootWOGfu3LnhDW94Q1i0aFHxNOIYFvZWd1k+AWBZOeMIECBAgAABAgQIECBAoAqBX//30+EdF93as7SHgFTRBWuWFRAAlpXr47gtttgi/OUvfwkHHXRQcYde/HcM7xYuXBhuvPHGcOmllxb/HY899tgj/PjHPw5DhgxZZZV4V168Oy8eO+64Y5g8eXJxt2AM7c4555yeADGed+aZZ662yhgg7rnnnuHWW//vjSvWdMQRR4SNNtqoePDIlClTwpNPPhkGDRpUPHwkBpOdPgSAnRY1HwECBAgQIECAAAECBAh0U0AA2E1dc3dbQADYbeH/P38M/Np5kEYM46644oqw4YYbrrayF198sQjr4l18vR3xIR/xISAxwOvtiGHj+PHjw5w5c1Z7Sgwf452Bhx9+eFeEBIBdYTUpAQIECBAgQIAAAQIECHRJQADYJVjTDoiAAHBAmEP46U9/Wvxf/O2++GTeGMDFr9iuv/764TWveU3Yfffdw/vf//6e3+9rVdbMmTOLkC8GeHGuYcOGhTFjxhRPCG73jr0lS5aEyy+/vHjAR/ya73PPPReGDx8exo4dG44//viw3XbbtSqj9OsCwNJ0BhIgQIAAAQIECBAgQIBABQICwArQLdkxAQFgxyhN1BcBAWBftJxLgAABAgQIECBAgAABAlULCACr7oD1+yMgAOyPnrGlBQSApekMJECAAAECBAgQIECAAIEKBASAFaBbsmMCAsCOUZqoLwICwL5oOZcAAQIECBAgQIAAAQIEqhYQAFbdAev3R0AA2B89Y0sLCABL0xlIgAABAgQIECBAgAABAhUICAArQLdkxwQEgB2jNFFfBASAfdFyLgECBAgQIECAAAECBAhULSAArLoD1u+PgACwP3rGlhYQAJamM5AAAQIECBAgQIAAAQIEKhAQAFaAbsmOCQgAO0Zpor4ICAD7ouVcAgQIECBAgAABAgQIEKhaQABYdQes3x8BAWB/9IwtLSAALE1nIAECBAgQIECAAAECBAhUICAArADdkh0TEAB2jNJEfREQAPZFy7kECBAgQIAAAQIECBAgULWAALDqDli/PwICwP7oGVtaQABYms5AAgQIECBAgAABAgQIEKhAQABYAbolOyYgAOwYpYn6IiAA7IuWcwkQIECAAAECBAgQIECgagEBYNUdsH5/BASA/dEztrSAALA0nYEECBAgQIAAAQIECBAgUIHAygHgOmsNCvdNGVdBJX1b0ufvvnnlerYAMNfOJr4vb0CJN0h5BAgQIECAAAECBAgQILCCgADQBVFnAQFgnbtX49oFgDVuntIJECBAgAABAgQIECDQQAEBYAObntGWBYAZNbNOWxEA1qlbaiVAgAABAgQIECBAgAABAaBroM4CAsA6d6/GtQsAa9w8pRMgQIAAAQIECBAgQKCBAgLABjY9oy0LADNqZp22IgCsU7fUSoAAAQIECBAgQIAAAQICQNdAnQUEgHXuXo1rFwDWuHlKJ0CAAAECBAgQIECAQAMFfvXo0+GdF9/as3NPAW7gRVDjLQsAa9y8OpcuAKxz99ROgAABAgQIECBAgACB5gkIAJvX85x2LADMqZs12osAsEbNUioBAgQIECBAgAABAgQIBAGgi6DOAgLAOnevxrULAGvcPKUTIECAAAECBAgQIECggQICwAY2PaMtCwAzamadtiIArFO31EqAAAECBAgQIECAAAECAkDXQJ0FBIB17l6NaxcA1rh5SidAgAABAgQIECBAgEADBQSADWx6RlsWAGbUzDptRQBYp26plQABAgQIECBAgAABAgQEgK6BOgsIAOvcvRrXLgCscfOUToAAAQIECBAgQIAAgQYKCAAb2PSMtiwAzKiZddqKALBO3VIrAQIECBAgQIAAAQIECAgAXQN1FhAA1rl7Na5dAFjj5imdAAECBAgQIECAAAECDRQQADaw6RltWQCYUTPrtBUBYJ26pVYCBAgQIECAAAECBAgQEAC6BuosIACsc/dqXLsAsMbNUzoBAgQIECBAgAABAgQaKCAAbGDTM9qyADCjZtZpKwLAOnVLrQQIECBAgAABAgQIECAgAHQN1FlAAFjn7tW4dgFgjZundAIECBAgQIAAAQIECDRQQADYwKZntGUBYEbNrNNWBIB16pZaCRAgQIAAAQIECBAgQEAA6Bqos4AAsM7dq3HtAsAaN0/pBAgQIECAAAECBAgQaKDAygHgumutGe6dsm/yEj5/J9+iASlQADggzBZZWcAbkGuCAAECBAgQIECAAAECBOokIACsU7fUurKAANA1UYmAALASdosSIECAAAECBAgQIECAQEkBAWBJOMOSEBAAJtGG5hUhAGxez+2YAAECBAgQIECAAAECdRYQANa5e2oXALoGKhEQAFbCblECBAgQIECAAAECBAgQKCkgACwJZ1gSAgLAJNrQvCIEgM3ruR0TIECAAAECBAgQIECgzgICwDp3T+0CQNdAJQICwErYLUqAAAECBAgQIECAAAECJQV++ejT4V0X39oz2lOAS0IaVomAALASdosKAF0DBAgQIECAAAECBAgQIFAnAQFgnbql1pUFBICuiUoEBICVsFuUAAECBAgQIECAAAECBEoKCABLwhmWhIAAMIk2NK8IAWDzem7HBAgQIECAAAECBAgQqLOAALDO3VO7ANA1UImAALASdosSIECAAAECBAgQIECAQEkBAWBJOMOSEBAAJtGG5hUhAGxez+2YAAECBAgQIECAAAECdRYQANa5e2oXALoGKhEQAFbCblECBAgQIECAAAECBAgQKCkgACwJZ1gSAgLAJNrQvCIEgM3ruR0TIECAAAECBAgQIECgzgICwDp3T+0CQNdAJQICwErYLUqAAAECBAgQIECAAAECJQUEgCXhDEtCQACYRBuaV4QAsHk9t2MCBAgQIECAAAECBAjUWUAAWOfuqV0A6BqoREAAWAm7RQkQIECAAAECBAgQIECgpIAAsCScYUkICACTaEPzihAANq/ndkyAAAECBAgQIECAAIE6CwgA69w9tQsAXQOVCAgAK2G3KAECBAgQIECAAAECBAiUFBAAloQzLAkBAWASbWheEQLA5vXcjgkQIECAAAECBAgQIFBnAQFgnbundgGga6ASAQFgJewWJUCAAAECBAgQIECAAIGSAisHgEPXXjPc86l9S842cMN8/h4465RXEgCm3J2Ma/MGlHFzbY0AAQIECBAgQIAAAQIZCggAM2xqg7YkAGxQs1PaqgAwpW6ohQABAgQIECBAgAABAgRaCQgAWwl5PWUBAWDK3cm4NgFgxs21NQIECBAgQIAAAQIECGQoIADMsKkN2pIAsEHNTmmrAsCUuqEWAgQIECBAgAABAgQIEGglIABsJeT1lAUEgCl3J+PaBIAZN9fWCBAgQIAAAQIECBAgkKGAADDDpjZoSwLABjU7pa0KAFPqhloIECBAgAABAgQIECBAoJWAALCVkNdTFhAAptydjGsTAGbcXFsjQIAAAQIECBAgQIBAhgJ3PvLHcMAXf9azs6Frrxnu+dS+ye/U5+/kWzQgBQoAB4TZIisLeANyTRAgQIAAAQIECBAgQIBAnQQEgHXqllpXFhAAuiYqERAAVsJuUQIECBAgQIAAAQIECBAoKSAALAlnWBICAsAk2tC8IgSAzeu5HRMgQIAAAQIECBAgQKDOAgLAOndP7QJA10AlAgLAStgtSoAAAQIECBAgQIAAAQIlBQSAJeEMS0JAAJhEG5pXhACweT23YwIECBAgQIAAAQIECNRZQABY5+6pXQDoGqhEQABYCbtFCRAgQIAAAQIECBAgQKCkgACwJJxhSQgIAJNoQ/OKEAA2r+d2TIAAAQIECBAgQIAAgToLCADr3D21CwBdA5UICAArYbcoAQIECBAgQIAAAQIECJQUEACWhDMsCQEBYBJtaF4RAsDm9dyOCRAgQIAAAQIECBAgUGcBAWCdu6d2AaBroBIBAWAl7BYlQIAAAQIECBAgQIAAgZICAsCScIYlISAATKINzStCANi8ntsxAQIECBAgQIAAAQIE6iwgAKxz99QuAHQNVCIgAKyE3aIECBAgQIAAAQIECBAgUFJAAFgSzrAkBASASbSheUUIAJvXczsmQIAAAQIECBAgQIBAnQVWDgDXW3vN8JtP7Zv8lnz+Tr5FA1KgAHBAmC2ysoA3INcEAQIECBAgQIAAAQIECNRJQABYp26pdWUBAaBrohIBAWAl7BYlQIAAAQIECBAgQIAAgZICAsCScIYlISAATKINzStCANi8ntsxAQIECBAgQIAAAQIE6iwgAKxz99QuAHQNVCIgAKyE3aIECBAgQIAAAQIECBAgUFJAAFgSzrAkBASASbSheUUIAJvXczsmQIAAAQIECBAgQIBAnQUEgHXuntoFgK6BSgQEgJWwW5QAAQIECBAgQIAAAQIESgoIAEvCGZaEgAAwiTY0rwgBYPN6bscECBAgQIAAAQIECBCos4AAsM7dU7sA0DVQiYAAsBJ2ixIgQIAAAQIECBAgQIBASYH/euSP4cAv/qxn9Hprrxl+86l9S842cMN8/h4465RXEgCm3J2Ma/MGlHFzbY0AAQIECBAgQIAAAQIZCggAM2xqg7YkAGxQs1PaqgAwpW6ohQABAgQIECBAgAABAgRaCQgAWwl5PWUBAWDK3cm4NgFgxs21NQIECBAgQIAAAQIECGQoIADMsKkN2pIAsEHNTmmrAsCUuqEWAgQIECBAgAABAgQIEGglIABsJeT1lAUEgCl3J+PaBIAZN9fWCBAgQIAAAQIECBAgkKGAADDDpjZoSwLABjU7pa0KAFPqhloIECBAgAABAgQIECBAoJWAALCVkNdTFhAAptydjGsTAGbcXFsjQIAAAQIECBAgQIBAhgICwAyb2qAtCQAb1OyUtioATKkbaiFAgAABAgQIECBAgACBVgICwFZCXk9ZQACYcncyrk0AmHFzbY0AAQIECBAgQIAAAQIZCggAM2xqg7YkAEyg2ZMnTw5Tp07tqeQnP/lJ2GuvvV62slmzZoXLLrsszJkzJyxYsCBssskmYcyYMeHII48M48aNa2tXS5YsCVdccUW46qqrwn333Rf+9Kc/heHDh4d99tknHHfccWG77bZra54yJwkAy6gZQ4AAAQIECBAgX5Ze3wAAIABJREFUQIAAAQJVCQgAq5K3bicEBICdUOzHHL/85S+L4C6GccuOlwsAX3zxxSLku/LKK3td9fDDDw+XXnppGDRoUK/nLFy4MIwfP74IEFd3DBkyJFx00UUhztWNQwDYDVVzEiBAgAABAgQIECBAgEC3BASA3ZI170AICAAHQrmXNWKYt+uuuxYh3Ktf/erw5JNPFme+XAB46qmnhrPPPrs4b8cddwynnHJKGDVqVJg7d25xF+Gdd95ZvBbPO/PMM1e78tKlS4s7DG+55Zbi9QMPPDAcccQRYeONNw4///nPw6c//emilhggfu9732v7jsK+UAoA+6LlXAIECBAgQIAAAQIECBCoWmDlAHD9IYPD3Z98W9VltVzf5++WRI04QQBYYZsvvPDC8OEPfzhss8024YADDghnnXVWUU1vAeADDzxQfC033i248847h5tuuimsu+66PTt4/vnnw5577hnuuOOOMHjw4HDvvfeGrbbaapUdTps2LUycOLH4+1FHHRUuvvjiFc558MEHw0477RQWLVpUjI/zxPk6eXgD6qSmuQgQIECAAAECBAgQIECg2wICwG4Lm7+bAgLAbuq+zNyPPPJIEebF39278cYbi9Dvk5/85MsGgDGsu+SSS4pzZs+eXdw9uPJx2223hd12263XcC++MHr06CLUi3f8Pfroo2Ho0KGrzBPvMox3Ecbj6quvDoccckhHpQSAHeU0GQECBAgQIECAAAECBAh0WUAA2GVg03dVQADYVd7eJ99///2Lr9e+//3vD1/+8pfDGWec8bIB4EsvvRRGjBgR5s+fX9wxGAO83o74+v333x8222yzIuBbY401ek6NdxFuvfXWxb8nTZrUEyiuPNfjjz8e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AgQqEVg5ANxgyOBw1yffVkktfVnU5+++aOV7rgAw394mvTNvQEm3R3EECBAgQIAAAQIECBAgsJKAANAlUWcBAWCdu1fj2gWANW6e0gkQIECAAAECBAgQINBAAQFgA5ue0ZYFgBk1s05bEQDWqVtqJUCAAAECBAgQIECAAAEBoGugzgICwDp3r8a1CwBr3DylEyBAgAABAgQIECBAoIECAsAGNj2jLQsAM2pmnbYiAKxTt9RKgAABAgQIECBAgAABAgJA10CdBQSAde5ejWsXANa4eUonQIAAAQIECBAgQIBAAwUEgA1sekZbFgBm1Mw6bUUAWKduqZUAAQIECBAgQIAAAQIEBICugToLCADr3L0a1y4ArHHzlE6AAAECBAgQIECAAIEGCggAG9j0jLYsAMyomXXaigCwTt1SKwECBAgQIECAAAECBAgIAF0DdRYQANa5ezWuXQBY4+YpnQABAgQIECBAgAABAg0UEAA2sOkZbVkAmFEz67QVAWCduqVWAgQIECBAgAABAgQIEPjFw0+Fgy6Z3QOxwZDB4a5Pvi15GJ+/k2/RgBQoABwQZousLOANyDVBgAABAgQIECBAgAABAnUSEADWqVtqXVlAAOiaqERAAFgJu0UJECBAgAABAgQIECBAoKSAALAknGFJCAgAk2hD84oQADav53ZMgAABAgQIECBAgACBOgsIAOvcPbULAF0DlQgIACthtygBAgQIECBAgAABAgQIlBQQAJaEMywJAQFgEm1oXhECwOb13I4JECBAgAABAgQIECBQZwEBYJ27p3YBoGugEgEBYCXsFiVAgAABAgQIECBAgACBkgICwJJwhiUhIABMog3NK0IA2Lye2zEBAgQIECBAgAABAgTqLCAArHP31C4AdA1UIiAArITdogQIECBAgAABAgQIECBQUkAAWBLOsCQEBIBJtKF5RQgAm9dzOyZAgAABAgQIECBAgECdBVYJANcZHO46423Jb8nn7+RbNCAFCgAHhNkiKwt4A3JNECBAgAABAgQIECBAgECdBASAdeqWWlcWEAC6JioREABWwm5RAgQIECBAgAABAgQIECgpIAAsCWdYEgICwCTa0LwiBIDN67kdEyBAgAABAgQIECBAoM4CAsA6d0/tAkDXQCUCAsBK2C1KgAABAgQIECBAgAABAiUFBIAl4QxLQkAAmEQbmleEALB5PbdjAgQIECBAgAABAgQI1FlAAFjn7qldAOgaqERAAFgJu0UJECBAgAABAgQIECBAoKSAALAknGFJCAgAk2hD84oQADav53ZMgAABAgQIECBAgACBOgsIAOvcPbULAF0DlQgIACthtygBAgQIECBAgAABAgQIlBQQAJaEMywJAQFgEm1oXhECwOb13I4JECBAgAABAgQIECBQZwEBYJ27p3YBoGugEgEBYCXsFiVAgAABAgQIECBAgACBkgICwJJwhiUhIABMog3NK0IA2Lye2zEBAgQIECBAgAABAgTqLCAArHP31C4AdA1UIiAArITdogQIECBAgAABAgQIECBQUuCO3z0VDv7S7J7RG6wzONx1xttKzjZww3z+HjjrlFcSAKbcnYxr8waUcXNtjQABAgQIECBAgAABAhkKCAAzbGqDtiQAbFCzU9qqADClbqiFAAECBAgQIECAAAECBFoJCABbCXk9ZQEBYMrdybg2AWDGzbU1AgQIECBAgAABAgQIZCggAMywqQ3akgCwQc1OaasCwJS6oRYCBAgQIECAAAECBAgQaCUgAGwl5PWUBQSAKXcn49oEgBk319YIECBAgAABAgQIECCQoYAAMMOmNmhLAsAGNTulrQoAU+qGWggQIECAAAECBAgQIECglYAAsJWQ11MWEACm3J2MaxMAZtxcWyNAgAABAgQIECBAgECGAgLADJvaoC0JABvU7JS2KgBMqRtqIUCAAAECBAgQIECAAIFWAgLAVkJeT1lAAJhydzKuTQCYcXNtjQABAgQIECBAgAABAhkKrBwAvmKdweHXZ7wt+Z36/J18iwakQAHggDBbZGUBb0CuCQIECBAgQIAAAQIECBCok4AAsE7dUuvKAgJA10QlAgLAStgtSoAAAQIECBAgQIAAAQIlBQSAJeEMS0JAAJhEG5pXhACweT23YwIECBAgQIAAAQIECNRZQABY5+6pXQDoGqhEQABYCbtFCRAgQIAAAQIECBAgQKCkgACwJJxhSQgIAJNoQ/OKEAA2r+d2TIAAAQIECBAgQIAAgToLCADr3D21CwBdA5UICAArYbcoAQIECBAgQIAAAQIECJQUEACWhDMsCQEBYBJtaF4RAsDm9dyOCRAgQIAAAQIECBAgUGcBAWCdu6d2AaBroBIBAWAl7BYlQIAAAQIECBAgQIAAgZICAsCScIYlISAATKINzStCANi8ntsxAQIECBAgQIAAAQIE6iwgAKxz99QuAHQNVCIgAKyE3aIECBAgQIAAAQIECBAgUFJAAFgSzrAkBASASbSheUUIAJvXczsmQIAAAQIECBAgQIBAnQUEgHXuntoFgK6BSgQEgJWwW5QAAQIECBAgQIAAAQIESgrM+d1T4ZAvze4Z/Yp1Bodfn/G2krMN3DCfvwfOOuWVBIApdyfj2rwBZdxcWyNAgAABAgQIECBAgECGAgLADJvaoC0JABvU7JS2KgBMqRtqIUCAAAECBAgQIECAAIFWAgLAVkJeT1lAAJhydzKuTQCYcXNtjQABAgQIECBAgAABAhkKCAAzbGqDtiQAbFCzU9qqADClbqiFAAECBAgQIECAAAECBFoJCABbCXk9ZQEBYMrdybg2AWDGzbU1AgQIECBAgAABAgQIZCggAMywqQ3akgCwQc1OaasCwJS6oRYCBAgQIECAAAECBAgQaCUgAGwl5PWUBQSAKXcn49oEgBk319YIECBAgAABAgQIECCQoYAAMMOmNmhLAsAGNTulrQoAU+qGWggQIECAAAECBAgQIECglcDKAeAr110r/Or0t7YaVvnrPn9X3oIkChAAJtGG5hXhDah5PbdjAgQIECBAgAABAgQI1FlAAFjn7qldAOgaqERAAFgJu0UJECBAgAABAgQIECBAoKSAALAknGFJCAgAk2hD84oQADav53ZMgAABAgQIECBAgACBOgsIAOvcPbULAF0DlQgIACthtygBAgQIECBAgAABAgQIlBQQAJaEMywJAQFgEm1oXhECwOb13I4JECBAgAABAgQIECBQZwEBYJ27p3YBoGugEgEBYCXsFiVAgAABAgQIECBAgACBkgICwJJwhiUhIABMog3NK0IA2Lye2zEBAgQIECBAgAABAgTqLCAArHP31C4AdA1UIiAArITdogQIECBAgAABAgQIECBQUkAAWBLOsCQEBIBJtKF5RQgAm9dzOyZAgAABAgQIECBAgECdBQSAde6e2gWAroFKBASAlbBblAABAgQIECBAgAABAgRKCggAS8IZloSAADCJNjSvCAFg83puxwQIECBAgAABAgQIEKizgACwzt1TuwDQNVCJgACwEnaLEiBAgAABAgQIECBAgEBJAQFgSTjDkhAQACbRhuYVIQBsXs/tmAABAgQIECBAgAABAnUWuP2hp8K7L53ds4VXrrtW+NXpb01+Sz5/J9+iASlQADggzBZZWcAbkGuCAAECBAgQIECAAAECBOokIACsU7fUurKAANA1UYmAALASdosSIECAAAECBAgQIECAQEkBAWBJOMOSEBAAJtGG5hUhAGxez+2YAAECBAgQIECAAAECdRYQANa5e2oXALoGKhEQAFbCblECBAgQIECAAAECBAgQKCkgACwJZ1gSAgLAJNrQvCIEgM3ruR0TIECAAAECBAgQIECgzgICwDp3T+0CQNdAJQICwErYLUqAAAECBAgQIECAAAECJQUEgCXhDEtCQACYRBuaV4QAsHk9t2MCBAgQIECAAAECBAjUWWDlAHDDoWuFX5721uS35PN38i0akAIFgAPCbJGVBbwBuSYIECBAgAABAgQIECBAoE4CAsA6dUutKwsIAF0TlQgIACthtygBAgQIECBAgAABAgQIlBQQAJaEMywJAQFgEm1oXhECwOb13I4JECBAgAABAgQIECBQZwEBYJ27p3YBoGugEgEBYCXsFiVAgAABAgQIECBAgACBkgICwJJwhiUhIABMog3NK0IA2Lye2zEBAgQIECBAgAABAgTqLCAArHP31C4AdA1UIiAArITdogQIECBAgAABAgQIECBQUkAAWBLOsCQEBIBJtKF5RQgAm9dzOyZAgAABAgQIECBAgECdBQSAde6e2gWAA3ANLFq0KMycOTPMmTMn3HHHHeH3v/99WLBgQVi8eHHYcMMNw+jRo8P48ePDxIkTw6te9aqWFf3sZz8LX/ziF8PNN98cnnjiiWKO7bffPhx22GFhwoQJLccvO2HGjBnh3//938Ovf/3r8PTTT4e/+Zu/Cf/0T/8Ujj766LDbbru1PU+ZEwWAZdSMIUCAAAECBAgQIECAAIGqBASAVclbtxMCAsBOKLaY48c//nF4y1ve0nKlYcOGha9+9avhbW97W6/nnnHGGWHKlCnhxRdfXO05++23X7j22mvDOuus0+scMXg8+OCDi1BydcegQYPCaaedFk4//fSWNZc9QQBYVs44AgQIECBAgAABAgQIEKhCQABYhbo1OyUgAOyU5MvMEwPAD3zgA2HvvfcOO+20U3jNa14TNt100yLEi0FYDOy++c1vhqVLl4a111473H777cUdfSsfl156aZg0aVLx51GjRoWPfvSj4fWvf32YP39+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QIAAAQIECBAgQIBAngXGP/Nq2Pey8eUlLDugb5h88s6ZX5LX35lvUV0KFADWhdkkCwr4AWRPECBAgAABAgQIECBAgECeBASAeeqWWhcUEADaE6kICABTYTcpAQIECBAgQIAAAQIECPRQQADYQzinZUJAAJiJNhSvCAFg8XpuxQQIECBAgAABAgQIEMizgAAwz91TuwDQHkhFQACYCrtJCRAgQIAAAQIECBAgQKCHAgLAHsI5LRMCAsBMtKF4RQgAi9dzKyZAgAABAgQIECBAgECeBRYMAAcNXDw8/N1PZH5JXn9nvkV1KVAAWBdmkywo4AeQPUGAAAECBAgQIECAAAECeRIQAOapW2pdUEAAaE+kIiAATIXdpAQIECBAgAABAgQIECDQQwEBYA/hnJYJAQFgJtpQvCIEgMXruRUTIECAAAECBAgQIEAgzwICwDx3T+0CQHsgFQEBYCrsJiVAgAABAgQIECBAgACBHgoIAHsI57RMCAgAM9GG4hUhACxez62YAAECBAgQIECAAAECeRYQAOa5e2oXANoDqQgIAFNhNykBAgQIECBAgAABAgQI9FBAANhDOKdlQkAAmIk2FK8IAWDxem7FBAgQIECAAAECBAgQyLOAADDP3VO7ANAeSEVAAJgKu0kJECBAgAABAgQIECBAoIcCAsAewjktEwICwEy0oXhFCACL13MrJkCAAAECBAgQIECAQJ4FBIB57p7aBYD2QCoCAsBU2E1KgAABAgQIECBAgAABAj0UEAD2EM5pmRAQAGaiDcUrQgBYvJ5bMQECBAgQIECAAAECBPIsIADMc/fULgC0B1IREACmwm5SAgQIECBAgAABAgQIEOihgACwh3BOy4SAADATbSheEQLA4vXcigkQIECAAAECBAgQIJBnAQFgnrundgGgPZCKgAAwFXaTEiBAgAABAgQIECBAgEAPBQSAPYRzWiYEBICZaEPxihAAFq/nVkyAAAECBAgQIECAAIE8CwgA89w9tQsA7YFUBASAqbCblAABAgQIECBAgAABAgR6KPDg1FfDfpePL589aODi4eHvfqKHo9XvNK+/62ed5ZkEgFnuTgPX5gdQAzfX0ggQIECAAAECBAgQINCAAgLABmxqgZYkACxQs7O0VAFglrqhFgIECBAgQIAAAQIECBDoSkAA2JWQ57MsIADMcncauDYBYAM319IIECBAgAABAgQIECDQgAICwAZsaoGWJAAsULOztFQBYJa6oRYCBAgQIECAAAECBAgQ6EpgwQBwudJ7AP7VewB2xeb5jAgIADPSiKKVIQAsWsetlwABAgQIECBAgAABAvkWEADmu39Fr14AWPQdkNL6BYApwZuWAAECBAgQIECAAAECBHokIADsEZuTMiIgAMxII4pWhgCwaB23XgIECBAgQIAAAQIECORbQACY7/4VvXoBYNF3QErrFwCmBG9aAgQIECBAgAABAgQIEOiRgACwR2xOyoiAADAjjShaGQLAonXcegkQIECAAAECBAgQIJBvAQFgvvtX9OoFgEXfASmtXwCYErxpCRAgQIAAAQIECBAgQKBHAgLAHrE5KSMCAsCMNKJoZQgAi9Zx6yVAgAABAgQIECBAgEC+BQSA+e5f0asXABZ9B6S0fgFgSvCmJUCAAAECBAgQIECAAIEeCQgAe8TmpIwICAAz0oiilSEALFrHrZcAAQIECBAgQIAAAQL5FhAA5rt/Ra9eAFj0HZDS+gWAKcGblgABAgQIECBAgAABAgR6JCAA7BGbkzIiIADMSCOKVoYAsGgdt14CBAgQIECAAAECBAjkW0AAmO/+Fb16AWDRd0BK6xcApgRvWgIECBAgQIAAAQIECBDokYAAsEdsTsqIgAAwI40oWhkCwKJ13HoJECBAgAABAgQIECCQbwEBYL77V/TqBYBF3wEprV8AmBK8aQkQIECAAAECBAgQIECgRwICwB6xOSkjAgLAjDSiaGUIAIvWceslQIAAAQIECBAgQIBAvgUEgPnuX9GrFwAWfQektH4BYErwpiVAgAABAgQIECBAgACBHgkIAHvE5qSMCAgAM9KIopUhACxax62XAAECBAgQIECAAAEC+RYQAOa7f0WvXgBY9B2Q0voFgCnBm5YAAQIECBAgQIAAAQIEeiTwwNSZ4QuXP1Q+d7mBi4e/fvcTPRqrnid5/V1P7ezOJQDMbm8aujI/gBq6vRZHgAABAgQIECBAgACBhhMQADZcSwu1IAFgodqdncUKALPTC5UQIECAAAECBAgQIECAQNcCAsCujRyRXQEBYHZ709CVCQAbur0WR4AAAQIECBAgQIAAgYYTWDAAHLzk4mHSSW4BbrhGN+iCBIAN2tisL0sAmPUOqY8AAQIECBAgQIAAAQIE2goIAO2HPAsIAPPcvRzXLgDMcfOUToAAAQIECBAgQIAAgQIKCAAL2PQGWrIAsIGamaelCADz1C21EiBAgAABAgQIECBAgIAA0B7Is4AAMM/dy3HtAsAcN0/pBAgQIECAAAECBAgQKKCAALCATW+gJQsAG6iZeVqKADBP3VIrAQIECBAgQIAAAQIECAgA7YE8CwgA89y9HNcuAMxx85ROgAABAgQIECBAgACBAgoIAAvY9AZasgCwgZqZp6UIAPPULbUSIECAAAECBAgQIECAgADQHsizgAAwz93Lce0CwBw3T+kECBAgQIAAAQIECBAooIAAsIBNb6AlCwAbqJl5WooAME/dUisBAgQIECBAgAABAgQICADtgTwLCADz3L0c1y4AzHHzlE6AAAECBAgQIECAAIECCggAC9j0BlqyALCBmpmnpQgA89QttRIgQIAAAQIECBAgQICAANAeyLOAADDP3ctx7QLAHDdP6QQIECBAgAABAgQIECiggACwgE1voCULABuomXlaigAwT91SKwECBAgQIECAAAECBAgIAO2BPAsIAPPcvRzXLgDMcfOUToAAAQIECBAgQIAAgQIKCAAL2PQGWrIAsIGamaelCADz1C21EiBAgAABAgQIECBAgIAA0B7Is4AAMM/dy3HtAsAcN0/pBAgQIECAAAECBAgQKKCAALCATW+gJQsAG6iZeVqKADBP3VIrAQIECBAgQIAAAQIECAgA7YE8CwgA89y9HNcuAMxx85ROgAABAgQIECBAgACBAgo88PTM8IUrHiqvfPCSi4dJJ30i8xJef2e+RXUpUABYF2aTLCjgB5A9QYAAAQIECBAgQIAAAQJ5EhAA5qlbal1QQABoT6QiIABMhd2kBAgQIECAAAECBAgQINBDgfYBYL/SFYA79XC0+p3m9Xf9rLM8kwAwy91p4Nr8AGrg5loaAQIECBAgQIAAAQIEGlBgwQBwyJL9wsQcBYC9evUKzz33XBg6dGgDdseSuhIQAHYl5PmaCAgAa8JqUAIECBAgQIAAAQIECBCokYAAsEawhq2LgACwLswmWVBAAGhPECBAgAABAgQIECBAgECeBASAeeqWWhcUEADaE6kICABTYTcpAQIECBAgQIAAAQIECPRQQADYQzinZUJAAJiJNhSvCAFg8XpuxQQIECBAgAABAgQIEMizgAAwz91TuwDQHkhFQACYCrtJCRAgQIAAAQIECBAgQKCHAgLAHsI5LRMCAsBMtKF4RQgAi9dzKyZAgAABAgQIECBAgECeBQSAee6e2gWA9kAqAgLAVNhNSoAAAQIECBAgQIAAAQI9FBAA9hDOaZkQEABmog3FK0IAWLyeWzEBAgQIECBAgAABAgTyLCAAzHP31C4AtAdSERAApsJuUgIECBAgQIAAAQIECBDooYAAsIdwTsuEgAAwE20oXhECwOL13IoJECBAgAABAgQIECCQZwEBYJ67p3YBoD2QioAAMBV2kxIgQIAAAQIECBAgQIBADwUEgD2Ec1omBASAmWhD8YoQABav51ZMgAABAgQIECBAgACBPAsIAPPcPbULAO2BVAQEgKmwm5QAAQIECBAgQIAAAQIEeiggAOwhnNMyISAAzEQbileEALB4PbdiAgQIECBAgAABAgQI5FlAAJjn7qldAGgPpCIgAEyF3aQECBAgQIAAAQIECBAg0EMBAWAP4ZyWCQEBYCbaULwiBIDF67kVEyBAgAABAgQIECBAIM8CAsA8d0/tAsA67YFJkyaF22+/Pdx3333hscceCzNmzAh9+/YNK620Uth6663DwQcfHLbZZptuV3PHHXeEyy67LEycODEZa8iQIWGzzTYLhx12WNh11127Nc7s2bPDFVdcEa655powZcqU8Oabbyb17LTTTuGYY44J6623XrfG6clBAsCeqDmHAAECBAgQIECAAAECBNISEACmJW/eaggIAKuh2MUY2223XRg3blyXMx144IHh8ssvD4svvninx86dOzcJ+a688spOjznkkEPCpZdeGnr37t3pMTNnzgy77bZbEiB29OjXr1+48MILQxyrFg8BYC1UjUmAAAECBAgQIECAAAECtRK4/+mZ4YtXPFQefsiS/cLEk3aq1XRVG7fl9XevXr3Cc889F4YOHVq1sQ2UHwEBYB16NWLEiDB16tTk6rrRo0eHbbfdNgwbNizMmTMnPPjgg+H8888PL7zwQlLJfvvtF6699tpOqxozZkw466yzkuc32mijcMIJJ4Thw4cn459zzjlh8uTJyXPxuDPOOKPDceK822+/fXI1Ynx87nOfC4ceemgYNGhQeOihh8Lpp58epk+fngSIt956a7evKKyEUgBYiZZjCRAgQIAAAQIECBAgQCBtgfuemhn2v7I1AFx+qX5hwncEgGn3xfzdExAAds9pkY761Kc+FeLVfXvttVdYbLHF2o0Vr8aLtwE/+eSTyXN/+ctfQrxqcMFHfD7elhtv3d10003D2LFjQ//+/cuHvf3222HUqFEh3m7cp0+f8Pjjj4cYPi74uOqqq5JbjuPjyCOPDBdddNF8hzz99NNhk002CbNmzUrOj+PE8ar5EABWU9NYBAgQIECAAAECBAgQIFBrgXFPzQgHXDmhPM0KpQDwIQFgrdmNXyUBAWCVIBd1mHil3R577JEM87WvfS1ccMEF7YaMYd3FF1+cfD9eObjlllu2O2b8+PFh5MiRyfc7Cvfi99ddd90k1ItX/P373/8OAwYMaDdOvMowXkUYHzfeeGNy5WI1HwLAamoaiwABAgQIECBAgAABAgRqLTD2yRnhwKtaA8APL90vjD/RFYC1djd+dQQEgNVxXORR3nrrrbDkkksm48T35rvtttvmG3PevHnJffovvvhiWHvttZMAr7NHfP6JJ54IK6+8chLwxfv8Wx7xKsK11lor+eMRRxxRDhQXHOvll18OK664YvLtrm5L7sniBYA9UXMOAQIECBAgQIAAAQIECKQlcG8pADyoTQC40oeWCA+M2TGtcro9b8wF4tuQeQ/AbpM15IECwIy09T//+U9YbrnlkmrilYA333zzfJU988wzyXv9xcfhhx8eLrnkkk4rj8/HTwiOj3je6quvXj627e2/1113Xdh33307HScGhTEwjD8opk2bVlUpAWBVOQ1GgAABAgQIECBAgAABAjUWuOeJ6eErP2v9IM2VSwHg/QLAGqsbvloCAsBqSS7iOL/73e+SD+OIj/jBHmefffZ8I7a9RfiHP/xh+PrXv97pjPH54447Lnk+XkkYryhseXzzm99MPnQkPuIHhmy44YadjrPnnnsmQWT8XwneeOONMHDgwEVcZevpAsCqURqIAAECBAgQIECAAAECBOogcM+UUgB4dWsAOHSZ/uG+//l4HWZetClcAbhofo1ytgAwA52cO3du8r59EyY0vZdA/BCP+CEcbR/xir+vfvWrybd+/etfh7333rvTym+66abye/bF8+IVgS2PeMXfDTfckPxxxowZYfDgwZ2Oc/TRR5c/IGTKlCnlW4e7QxYDvoU9XnrppbD55psnh8QfRj6GvDuqjiFAgAABAgQIECBAgACBtATunvJKOPjqSeXpBYBpdcK8PREQAPZErcrn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XQk18vMttwHH23/Hjh0bRo4cOd9yzz333HDCCSck3zvllFPCqaeeWjUOAWDVKA1EgAABAgQIECBAgAABAgQ6FXALsM1REhAAFnkbTJ48OWy99dbhnXfeCUsuuWSItwXvsMMOyZ+vv/76cNlllyU8a665Zpg0aVJYaqmlqsYlAKwapYEIECBAgAABAgQIECBAgIAA0B5YmIAAsOj745Zbbgn7779/mDVrVocUMfy77bbbwogRI6pKJQCsKqfBCBAgQIAAAQIECBAgQIBAhwKuALQxSgICQNsghGnTpoUf//jHSdAXg7nFF188CfxGjx4djj766DBgwICqMwkAq05qQAIECBAgQIAAAQIECBAg0E5AAGhTCADtgdQEBICp0ZuYAAECBAgQIECAAAECBAokIAAsULM7X6orAG2DdAQEgOm4m5UAAQIECBAgQIAAAQIEiiUgACxWvztZrQDQNkhHQACYjrtZCRAgQIAAAQIECBAgQKBYAgLAYvVbAKjfmRIQAGaqHYohQIAAAQIECBAgQIAAgQYVEAA2aGMrW5YrACvzcnS1BASA1ZI0DgECBAgQIECAAAECBAgQ6FxAAGh3lAQEgLZBOgICwHTczUqAAAECBAgQIECAAAECxRIQABar352sVgBoG6QjIABMx92sBAgQIECAAAECBAgQIFAsAQFgsfotANTvTAkIADPVDsUQIECAAAECBAgQIECAQIMKCAAbtLGVLcsVgJV5ObpaAgLAakkahwABAgQIECBAgAABAgQIdC4gALQ7SgICQNsgHQEBYDruZiVAgAABAgQIECBAgACBYgkIAIvV705WKwC0DdIREACm425WAgQIECBAgAABAgQIECiWgACwWP0WAOp3pgQEgJlqh2IIECBAgAABAgQIECBAoEEFBIAN2tjKluUKwMq8HF0tAQFgtSSNQ4AAAQIECBAgQIAAAQIEOhcQANodJQEBoG2QjoAAMB13sxIgQIAAAQIECBAgQIBAsQQEgMXqdyerFQDaBukICADTcTcrAQIECBAgQIAAAQIECBRLQABYrH4LAPU7UwICwEy1QzEECBAgQIAAAQIECBAg0KACAsAGbWxly3IFYGVejq6WgACwWpLGIUCAAAECBAgQIECAAAECnQsIAO2OkoAA0DZIR0AAmI67WQkQIECAAAECBAgQIECgWAICwGL1u5PVCgBt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N/G/iwX/TX3kkUdW9LPmpz/9abjvvvvm+1kTf2buu+++3fpvoSubPD3/3//+NzGN/57561//Gl544YXk580777yT/Bxed911w2677Zbsia7+22z5Wb6ovnGc6667Lvk31SOPPBJef/31sMIKK4Rtt902xF5vtdVW3SKu5t9zi7r3ulWwgwhkV0AAmN3eqCwrArfcckvYf//9w6xZszosac0110xeMI0YMSIrJatjAYFqBIBz585NQr4rr7yyU98Yilx66aWhd+/enR4TQ7v4D7D4D7SOHjFcji/m41gLezz00ENJ0Pfyyy93eNiKK66YBIObb765/dCBwML2RCUBYKPuixgwHH300eH999/vcP/EfRV/7nX1IqLRNl819k13A8DuvCh/6qmnkqAvfo2PtvXFF15LL710+NWvfhX22GOPhbbi5ptvDgcccEDy99yCY8QT499zt956a1hjjTUWOs6pp54aTjvt/9s7t5DdqqoBL4i0LiI0iMioFCyElDzQgSzU0CgsUaPIzgc73JioZR7S7Dcz87QDJcobsyLdlB0oNCVxW1RQaomEukmKwBvRi0QtkP/nmZvx/vNbe8738H3z23t9az0DZLv3u9651nrmfMeYc8wxxvyfjt9FqR2edfv27d0LX/jCsQ2N4vu87W1vS47QkP74iUiUj3zkI2ljCf1fk+eee677zGc+M7NBJb7YjW9/+9vd8573vGo7OAToh7BB/XZe8IIXJEfwIhv0hz/8oTv55JNnNijaiXfCwfmTn/yke+Mb31h9Fq5F1+B0RNeU3gldw9hjs20KAhM2I1uMm9wBuGgexLXYvpos0jUvfvGLk6458cQTN6RrXvva13bMu+fpGhihay699FJ1TUb7jjvu6E444YTdbEFcEr9Nfks33XRT9453vKPYV634Pv3009173/vetGlRsk/MlS+66KLu4osvnjtmhjT2pqCDfMfRE9ABOPou9gU3ROC+++5LO/TsnhH9ct5553XHHnts+vuPfvSjNHGNxRG7/C960Ys2dD+/vDkEYuL7uc99Lu041oQIlwMPPLD4MX1/+eWXp88OP/zw7otf/GKKAiXi5oorrugYKwjXXXbZZcU2WMAdc8wxabcaOeWUU7rTTz+923///TscekxmiTBiUsSCpxZRyI75kUcemXZ2icI666yzZpNuvnf11Vd3RBm+9KUv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\" width=\"640\">"
|
||
],
|
||
"text/plain": [
|
||
"<IPython.core.display.HTML object>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"%matplotlib notebook\n",
|
||
"lpp_sorted = posting_account_likes.sort_values('likes_per_post').reset_index()\n",
|
||
"plt.plot(lpp_sorted['likes_per_post'])\n",
|
||
"plt.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 142,
|
||
"id": "729e665e",
|
||
"metadata": {},
|
||
"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>account</th>\n",
|
||
" <th>likes</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>did:plc:m2hze6zxa744iberzknpkc3i</td>\n",
|
||
" <td>12.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>14</th>\n",
|
||
" <td>did:plc:hb3rpuqloy36skpistigbc3q</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>27</th>\n",
|
||
" <td>did:plc:vnifedvv4yrjwvi345i6ojyo</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>39</th>\n",
|
||
" <td>did:plc:fxgi2crlym2f3ogvygpysomv</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>47</th>\n",
|
||
" <td>did:plc:d6sjqoyj3f234j2xzbnup3xv</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>42435</th>\n",
|
||
" <td>did:plc:fv4ocfi7ztdxwma2wgq3mrpl</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>42436</th>\n",
|
||
" <td>did:plc:6xizlc72q3qrkxaqnnfazf6v</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>42437</th>\n",
|
||
" <td>did:plc:treg3m5eyfqly26syzyif4rv</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>42438</th>\n",
|
||
" <td>did:plc:aq4s2bchpelfyxyj6d2lnq7v</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>42440</th>\n",
|
||
" <td>did:plc:7jhmbeill5icysvwsqgaxnss</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>13829 rows × 2 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" account likes\n",
|
||
"2 did:plc:m2hze6zxa744iberzknpkc3i 12.0\n",
|
||
"14 did:plc:hb3rpuqloy36skpistigbc3q 2.0\n",
|
||
"27 did:plc:vnifedvv4yrjwvi345i6ojyo 3.0\n",
|
||
"39 did:plc:fxgi2crlym2f3ogvygpysomv 3.0\n",
|
||
"47 did:plc:d6sjqoyj3f234j2xzbnup3xv 2.0\n",
|
||
"... ... ...\n",
|
||
"42435 did:plc:fv4ocfi7ztdxwma2wgq3mrpl 0.0\n",
|
||
"42436 did:plc:6xizlc72q3qrkxaqnnfazf6v 0.0\n",
|
||
"42437 did:plc:treg3m5eyfqly26syzyif4rv 0.0\n",
|
||
"42438 did:plc:aq4s2bchpelfyxyj6d2lnq7v 0.0\n",
|
||
"42440 did:plc:7jhmbeill5icysvwsqgaxnss 0.0\n",
|
||
"\n",
|
||
"[13829 rows x 2 columns]"
|
||
]
|
||
},
|
||
"execution_count": 142,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"non_posting_accounts = accounts[~accounts['account'].isin(posting_accounts)]\n",
|
||
"non_posting_accounts"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 145,
|
||
"id": "a7840d6e",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"0.30280271513028245"
|
||
]
|
||
},
|
||
"execution_count": 145,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"non_posting_accounts.shape[0] / accounts.shape[0]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 146,
|
||
"id": "dab2dfa5",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"45670"
|
||
]
|
||
},
|
||
"execution_count": 146,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"accounts.shape[0]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 151,
|
||
"id": "03ea581a",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"0.31687034492732663"
|
||
]
|
||
},
|
||
"execution_count": 151,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"sum(non_posting_accounts['likes'] > 0) / non_posting_accounts.shape[0]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 147,
|
||
"id": "ab29ccc1",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"0.010815268772503873"
|
||
]
|
||
},
|
||
"execution_count": 147,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"non_posting_accounts['likes'].sum() / accounts['likes'].sum()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 90,
|
||
"id": "d495fad6",
|
||
"metadata": {},
|
||
"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>account</th>\n",
|
||
" <th>likes</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>did:plc:nvog7rczakwzh5ckxnjnwqdd</td>\n",
|
||
" <td>2009.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>did:plc:z3eu4ec7csnznxrrdrabudgj</td>\n",
|
||
" <td>331.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>did:plc:afrooick4a2hy2m2eme5ognc</td>\n",
|
||
" <td>103.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>6</th>\n",
|
||
" <td>did:plc:zsdhduo2ahpdhfa73uynnbf2</td>\n",
|
||
" <td>605.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>7</th>\n",
|
||
" <td>did:plc:d7hb4uouljzujxvm55gnanr7</td>\n",
|
||
" <td>195.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>27941</th>\n",
|
||
" <td>did:plc:tjhlqxa4vqxr2yfgeykncuy6</td>\n",
|
||
" <td>94.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>28023</th>\n",
|
||
" <td>did:plc:oormkmckkga7koagos7yrcn7</td>\n",
|
||
" <td>105.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>28442</th>\n",
|
||
" <td>did:plc:z3mut2kadcqhm73epuj4vzyq</td>\n",
|
||
" <td>187.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>29049</th>\n",
|
||
" <td>did:plc:ituhatvv5pyz4rwsj4hfrslh</td>\n",
|
||
" <td>91.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>29179</th>\n",
|
||
" <td>did:plc:zltiiulpgfxsye6u7xd7qzjh</td>\n",
|
||
" <td>91.0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>2306 rows × 2 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" account likes\n",
|
||
"0 did:plc:nvog7rczakwzh5ckxnjnwqdd 2009.0\n",
|
||
"1 did:plc:z3eu4ec7csnznxrrdrabudgj 331.0\n",
|
||
"4 did:plc:afrooick4a2hy2m2eme5ognc 103.0\n",
|
||
"6 did:plc:zsdhduo2ahpdhfa73uynnbf2 605.0\n",
|
||
"7 did:plc:d7hb4uouljzujxvm55gnanr7 195.0\n",
|
||
"... ... ...\n",
|
||
"27941 did:plc:tjhlqxa4vqxr2yfgeykncuy6 94.0\n",
|
||
"28023 did:plc:oormkmckkga7koagos7yrcn7 105.0\n",
|
||
"28442 did:plc:z3mut2kadcqhm73epuj4vzyq 187.0\n",
|
||
"29049 did:plc:ituhatvv5pyz4rwsj4hfrslh 91.0\n",
|
||
"29179 did:plc:zltiiulpgfxsye6u7xd7qzjh 91.0\n",
|
||
"\n",
|
||
"[2306 rows x 2 columns]"
|
||
]
|
||
},
|
||
"execution_count": 90,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"top_accounts"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 135,
|
||
"id": "77340e08",
|
||
"metadata": {},
|
||
"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>account</th>\n",
|
||
" <th>likes</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>did:plc:nvog7rczakwzh5ckxnjnwqdd</td>\n",
|
||
" <td>2009.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>did:plc:z3eu4ec7csnznxrrdrabudgj</td>\n",
|
||
" <td>331.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>did:plc:m2hze6zxa744iberzknpkc3i</td>\n",
|
||
" <td>12.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>did:plc:ykzmsemoxmlzmrci2p77eqkm</td>\n",
|
||
" <td>41.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>did:plc:afrooick4a2hy2m2eme5ognc</td>\n",
|
||
" <td>103.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>45665</th>\n",
|
||
" <td>did:plc:efkxngznfeo2onvrjhskmmou</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>45666</th>\n",
|
||
" <td>did:plc:pv4x356soulpp7spindi57gz</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>45667</th>\n",
|
||
" <td>did:plc:w5reveglbupc6sz4txst2v7b</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>45668</th>\n",
|
||
" <td>did:plc:7o6uylwbtcpwk5c5pqa67fsl</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>45669</th>\n",
|
||
" <td>did:plc:uppr7hyd3a2zzss54drq2s5j</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>45670 rows × 2 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" account likes\n",
|
||
"0 did:plc:nvog7rczakwzh5ckxnjnwqdd 2009.0\n",
|
||
"1 did:plc:z3eu4ec7csnznxrrdrabudgj 331.0\n",
|
||
"2 did:plc:m2hze6zxa744iberzknpkc3i 12.0\n",
|
||
"3 did:plc:ykzmsemoxmlzmrci2p77eqkm 41.0\n",
|
||
"4 did:plc:afrooick4a2hy2m2eme5ognc 103.0\n",
|
||
"... ... ...\n",
|
||
"45665 did:plc:efkxngznfeo2onvrjhskmmou 0.0\n",
|
||
"45666 did:plc:pv4x356soulpp7spindi57gz 0.0\n",
|
||
"45667 did:plc:w5reveglbupc6sz4txst2v7b 0.0\n",
|
||
"45668 did:plc:7o6uylwbtcpwk5c5pqa67fsl 0.0\n",
|
||
"45669 did:plc:uppr7hyd3a2zzss54drq2s5j 0.0\n",
|
||
"\n",
|
||
"[45670 rows x 2 columns]"
|
||
]
|
||
},
|
||
"execution_count": 135,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"accounts"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "75bbb3eb",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "Python 3",
|
||
"language": "python",
|
||
"name": "python3"
|
||
},
|
||
"language_info": {
|
||
"codemirror_mode": {
|
||
"name": "ipython",
|
||
"version": 3
|
||
},
|
||
"file_extension": ".py",
|
||
"mimetype": "text/x-python",
|
||
"name": "python",
|
||
"nbconvert_exporter": "python",
|
||
"pygments_lexer": "ipython3",
|
||
"version": "3.9.1"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 5
|
||
}
|