{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# First example " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Anaconda3\\lib\\site-packages\\matplotlib\\__init__.py:846: MatplotlibDeprecationWarning: \n", "The text.latex.unicode rcparam was deprecated in Matplotlib 2.2 and will be removed in 3.1.\n", " \"2.2\", name=key, obj_type=\"rcparam\", addendum=addendum)\n", "C:\\Anaconda3\\lib\\site-packages\\matplotlib\\__init__.py:846: MatplotlibDeprecationWarning: \n", "The text.latex.unicode rcparam was deprecated in Matplotlib 2.2 and will be removed in 3.1.\n", " \"2.2\", name=key, obj_type=\"rcparam\", addendum=addendum)\n" ] }, { "data": { "application/javascript": [ "\n", "(function(root) {\n", " function now() {\n", " return new Date();\n", " }\n", "\n", " var force = true;\n", "\n", " if (typeof (root._bokeh_onload_callbacks) === \"undefined\" || force === true) {\n", " root._bokeh_onload_callbacks = [];\n", " root._bokeh_is_loading = undefined;\n", " }\n", "\n", " var JS_MIME_TYPE = 'application/javascript';\n", " var HTML_MIME_TYPE = 'text/html';\n", " var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n", " var CLASS_NAME = 'output_bokeh rendered_html';\n", "\n", " /**\n", " * Render data to the DOM node\n", " */\n", " function render(props, node) {\n", " var script = document.createElement(\"script\");\n", " node.appendChild(script);\n", " }\n", "\n", " /**\n", " * Handle when an output is cleared or removed\n", " */\n", " function handleClearOutput(event, handle) {\n", " var cell = handle.cell;\n", "\n", " var id = cell.output_area._bokeh_element_id;\n", " var server_id = cell.output_area._bokeh_server_id;\n", " // Clean up Bokeh references\n", " if (id != null && id in Bokeh.index) {\n", " Bokeh.index[id].model.document.clear();\n", " delete Bokeh.index[id];\n", " }\n", "\n", " if (server_id !== undefined) {\n", " // Clean up Bokeh references\n", " var cmd = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n", " cell.notebook.kernel.execute(cmd, {\n", " iopub: {\n", " output: function(msg) {\n", " var id = msg.content.text.trim();\n", " if (id in Bokeh.index) {\n", " Bokeh.index[id].model.document.clear();\n", " delete Bokeh.index[id];\n", " }\n", " }\n", " }\n", " });\n", " // Destroy server and session\n", " var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n", " cell.notebook.kernel.execute(cmd);\n", " }\n", " }\n", "\n", " /**\n", " * Handle when a new output is added\n", " */\n", " function handleAddOutput(event, handle) {\n", " var output_area = handle.output_area;\n", " var output = handle.output;\n", "\n", " // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n", " if ((output.output_type != \"display_data\") || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n", " return\n", " }\n", "\n", " var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n", "\n", " if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n", " toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n", " // store reference to embed id on output_area\n", " output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n", " }\n", " if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n", " var bk_div = document.createElement(\"div\");\n", " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", " var script_attrs = bk_div.children[0].attributes;\n", " for (var i = 0; i < script_attrs.length; i++) {\n", " toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n", " }\n", " // store reference to server id on output_area\n", " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n", " }\n", " }\n", "\n", " function register_renderer(events, OutputArea) {\n", "\n", " function append_mime(data, metadata, element) {\n", " // create a DOM node to render to\n", " var toinsert = this.create_output_subarea(\n", " metadata,\n", " CLASS_NAME,\n", " EXEC_MIME_TYPE\n", " );\n", " this.keyboard_manager.register_events(toinsert);\n", " // Render to node\n", " var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n", " render(props, toinsert[toinsert.length - 1]);\n", " element.append(toinsert);\n", " return toinsert\n", " }\n", "\n", " /* Handle when an output is cleared or removed */\n", " events.on('clear_output.CodeCell', handleClearOutput);\n", " events.on('delete.Cell', handleClearOutput);\n", "\n", " /* Handle when a new output is added */\n", " events.on('output_added.OutputArea', handleAddOutput);\n", "\n", " /**\n", " * Register the mime type and append_mime function with output_area\n", " */\n", " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n", " /* Is output safe? */\n", " safe: true,\n", " /* Index of renderer in `output_area.display_order` */\n", " index: 0\n", " });\n", " }\n", "\n", " // register the mime type if in Jupyter Notebook environment and previously unregistered\n", " if (root.Jupyter !== undefined) {\n", " var events = require('base/js/events');\n", " var OutputArea = require('notebook/js/outputarea').OutputArea;\n", "\n", " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n", " register_renderer(events, OutputArea);\n", " }\n", " }\n", "\n", " \n", " if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n", " root._bokeh_timeout = Date.now() + 5000;\n", " root._bokeh_failed_load = false;\n", " }\n", "\n", " var NB_LOAD_WARNING = {'data': {'text/html':\n", " \"
\\n\"+\n", " \"

\\n\"+\n", " \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n", " \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n", " \"

\\n\"+\n", " \"\\n\"+\n", " \"\\n\"+\n", " \"from bokeh.resources import INLINE\\n\"+\n", " \"output_notebook(resources=INLINE)\\n\"+\n", " \"\\n\"+\n", " \"
\"}};\n", "\n", " function display_loaded() {\n", " var el = document.getElementById(null);\n", " if (el != null) {\n", " el.textContent = \"BokehJS is loading...\";\n", " }\n", " if (root.Bokeh !== undefined) {\n", " if (el != null) {\n", " el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n", " }\n", " } else if (Date.now() < root._bokeh_timeout) {\n", " setTimeout(display_loaded, 100)\n", " }\n", " }\n", "\n", "\n", " function run_callbacks() {\n", " try {\n", " root._bokeh_onload_callbacks.forEach(function(callback) { callback() });\n", " }\n", " finally {\n", " delete root._bokeh_onload_callbacks\n", " }\n", " console.info(\"Bokeh: all callbacks have finished\");\n", " }\n", "\n", " function load_libs(js_urls, callback) {\n", " root._bokeh_onload_callbacks.push(callback);\n", " if (root._bokeh_is_loading > 0) {\n", " console.log(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", " return null;\n", " }\n", " if (js_urls == null || js_urls.length === 0) {\n", " run_callbacks();\n", " return null;\n", " }\n", " console.log(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", " root._bokeh_is_loading = js_urls.length;\n", " for (var i = 0; i < js_urls.length; i++) {\n", " var url = js_urls[i];\n", " var s = document.createElement('script');\n", " s.src = url;\n", " s.async = false;\n", " s.onreadystatechange = s.onload = function() {\n", " root._bokeh_is_loading--;\n", " if (root._bokeh_is_loading === 0) {\n", " console.log(\"Bokeh: all BokehJS libraries loaded\");\n", " run_callbacks()\n", " }\n", " };\n", " s.onerror = function() {\n", " console.warn(\"failed to load library \" + url);\n", " };\n", " console.log(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", " document.getElementsByTagName(\"head\")[0].appendChild(s);\n", " }\n", " };\n", "\n", " var js_urls = [];\n", "\n", " var inline_js = [\n", " function(Bokeh) {\n", " /* BEGIN bokeh.min.js */\n", " /*!\n", " * Copyright (c) 2012, Anaconda, Inc.\n", " * All rights reserved.\n", " * \n", " * Redistribution and use in source and binary forms, with or without modification,\n", " * are permitted provided that the following conditions are met:\n", " * \n", " * Redistributions of source code must retain the above copyright notice,\n", " * this list of conditions and the following disclaimer.\n", " * \n", " * Redistributions in binary form must reproduce the above copyright notice,\n", " * this list of conditions and the following disclaimer in the documentation\n", " * and/or other materials provided with the distribution.\n", " * \n", " * Neither the name of Anaconda nor the names of any contributors\n", " * may be used to endorse or promote products derived from this software\n", " * without specific prior written permission.\n", " * \n", " * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n", " * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n", " * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n", " * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\n", " * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n", " * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n", " * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n", " * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n", " * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n", " * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF\n", " * THE POSSIBILITY OF SUCH DAMAGE.\n", " */\n", " !function(t,e){var o,s,r,a,l;t.Bokeh=(o=[function(t,e,i){var n=t(148),r=t(32);i.overrides={};var o=r.clone(n);i.Models=function(t){var e=i.overrides[t]||o[t];if(null==e)throw new Error(\"Model '\"+t+\"' does not exist. This could be due to a widget\\n or a custom model not being registered before first usage.\");return e},i.Models.register=function(t,e){i.overrides[t]=e},i.Models.unregister=function(t){delete i.overrides[t]},i.Models.register_models=function(t,e,i){if(void 0===e&&(e=!1),null!=t)for(var n in t){var r=t[n];e||!o.hasOwnProperty(n)?o[n]=r:null!=i?i(n):console.warn(\"Model '\"+n+\"' was already registered\")}},i.register_models=i.Models.register_models,i.Models.registered_names=function(){return Object.keys(o)},i.index={}},function(t,e,o){var s=t(326),a=t(14),l=t(50),h=t(269),c=t(270),u=t(2);o.DEFAULT_SERVER_WEBSOCKET_URL=\"ws://localhost:5006/ws\",o.DEFAULT_SESSION_ID=\"default\";var _=0,p=function(){function t(t,e,i,n,r){void 0===t&&(t=o.DEFAULT_SERVER_WEBSOCKET_URL),void 0===e&&(e=o.DEFAULT_SESSION_ID),void 0===i&&(i=null),void 0===n&&(n=null),void 0===r&&(r=null),this.url=t,this.id=e,this.args_string=i,this._on_have_session_hook=n,this._on_closed_permanently_hook=r,this._number=_++,this.socket=null,this.session=null,this.closed_permanently=!1,this._current_handler=null,this._pending_ack=null,this._pending_replies={},this._receiver=new c.Receiver,a.logger.debug(\"Creating websocket \"+this._number+\" to '\"+this.url+\"' session '\"+this.id+\"'\")}return t.prototype.connect=function(){var i=this;if(this.closed_permanently)return s.Promise.reject(new Error(\"Cannot connect() a closed ClientConnection\"));if(null!=this.socket)return s.Promise.reject(new Error(\"Already connected\"));this._pending_replies={},this._current_handler=null;try{var t=this.url+\"?bokeh-protocol-version=1.0&bokeh-session-id=\"+this.id;return null!=this.args_string&&0=this.x0&&t<=this.x1&&e>=this.y0&&e<=this.y1},e.prototype.clip=function(t,e){return tthis.x1&&(t=this.x1),ethis.y1&&(e=this.y1),[t,e]},e.prototype.union=function(t){return new e({x0:n(this.x0,t.x0),y0:n(this.y0,t.y0),x1:r(this.x1,t.x1),y1:r(this.y1,t.y1)})},e}();i.BBox=o},function(t,e,i){i.delay=function(t,e){return setTimeout(t,e)};var n=\"function\"==typeof requestAnimationFrame?requestAnimationFrame:setImmediate;i.defer=function(t){return n(t)},i.throttle=function(i,n,r){void 0===r&&(r={});var o,s,a,l=null,h=0,c=function(){h=!1===r.leading?0:Date.now(),l=null,a=i.apply(o,s),l||(o=s=null)};return function(){var t=Date.now();h||!1!==r.leading||(h=t);var e=n-(t-h);return o=this,s=arguments,e<=0||n2*Math.PI;)t-=2*Math.PI;return t}function l(t,e){return Math.abs(a(t-e))}function o(){return Math.random()}i.angle_norm=a,i.angle_dist=l,i.angle_between=function(t,e,i,n){var r=a(t),o=l(e,i),s=l(e,r)<=o&&l(r,i)<=o;return 1==n?!s:s},i.random=o,i.randomIn=function(t,e){return null==e&&(e=t,t=0),t+Math.floor(Math.random()*(e-t+1))},i.atan2=function(t,e){return Math.atan2(e[1]-t[1],e[0]-t[0])},i.rnorm=function(t,e){for(var i,n;i=o(),n=(2*(n=o())-1)*Math.sqrt(1/Math.E*2),!(-4*i*i*Math.log(i)>=n*n););var r=n/i;return r=t+e*r},i.clamp=function(t,e,i){return ia[e][0]&&t\"'`])/g,function(t){switch(t){case\"&\":return\"&\";case\"<\":return\"<\";case\">\":return\">\";case'\"':return\""\";case\"'\":return\"'\";case\"`\":return\"`\";default:return t}})},i.unescape=function(t){return t.replace(/&(amp|lt|gt|quot|#x27|#x60);/g,function(t,e){switch(e){case\"amp\":return\"&\";case\"lt\":return\"<\";case\"gt\":return\">\";case\"quot\":return'\"';case\"#x27\":return\"'\";case\"#x60\":return\"`\";default:return e}})},i.use_strict=function(t){return\"'use strict';\\n\"+t}},function(t,e,i){i.svg_colors={indianred:\"#CD5C5C\",lightcoral:\"#F08080\",salmon:\"#FA8072\",darksalmon:\"#E9967A\",lightsalmon:\"#FFA07A\",crimson:\"#DC143C\",red:\"#FF0000\",firebrick:\"#B22222\",darkred:\"#8B0000\",pink:\"#FFC0CB\",lightpink:\"#FFB6C1\",hotpink:\"#FF69B4\",deeppink:\"#FF1493\",mediumvioletred:\"#C71585\",palevioletred:\"#DB7093\",coral:\"#FF7F50\",tomato:\"#FF6347\",orangered:\"#FF4500\",darkorange:\"#FF8C00\",orange:\"#FFA500\",gold:\"#FFD700\",yellow:\"#FFFF00\",lightyellow:\"#FFFFE0\",lemonchiffon:\"#FFFACD\",lightgoldenrodyellow:\"#FAFAD2\",papayawhip:\"#FFEFD5\",moccasin:\"#FFE4B5\",peachpuff:\"#FFDAB9\",palegoldenrod:\"#EEE8AA\",khaki:\"#F0E68C\",darkkhaki:\"#BDB76B\",lavender:\"#E6E6FA\",thistle:\"#D8BFD8\",plum:\"#DDA0DD\",violet:\"#EE82EE\",orchid:\"#DA70D6\",fuchsia:\"#FF00FF\",magenta:\"#FF00FF\",mediumorchid:\"#BA55D3\",mediumpurple:\"#9370DB\",blueviolet:\"#8A2BE2\",darkviolet:\"#9400D3\",darkorchid:\"#9932CC\",darkmagenta:\"#8B008B\",purple:\"#800080\",indigo:\"#4B0082\",slateblue:\"#6A5ACD\",darkslateblue:\"#483D8B\",mediumslateblue:\"#7B68EE\",greenyellow:\"#ADFF2F\",chartreuse:\"#7FFF00\",lawngreen:\"#7CFC00\",lime:\"#00FF00\",limegreen:\"#32CD32\",palegreen:\"#98FB98\",lightgreen:\"#90EE90\",mediumspringgreen:\"#00FA9A\",springgreen:\"#00FF7F\",mediumseagreen:\"#3CB371\",seagreen:\"#2E8B57\",forestgreen:\"#228B22\",green:\"#008000\",darkgreen:\"#006400\",yellowgreen:\"#9ACD32\",olivedrab:\"#6B8E23\",olive:\"#808000\",darkolivegreen:\"#556B2F\",mediumaquamarine:\"#66CDAA\",darkseagreen:\"#8FBC8F\",lightseagreen:\"#20B2AA\",darkcyan:\"#008B8B\",teal:\"#008080\",aqua:\"#00FFFF\",cyan:\"#00FFFF\",lightcyan:\"#E0FFFF\",paleturquoise:\"#AFEEEE\",aquamarine:\"#7FFFD4\",turquoise:\"#40E0D0\",mediumturquoise:\"#48D1CC\",darkturquoise:\"#00CED1\",cadetblue:\"#5F9EA0\",steelblue:\"#4682B4\",lightsteelblue:\"#B0C4DE\",powderblue:\"#B0E0E6\",lightblue:\"#ADD8E6\",skyblue:\"#87CEEB\",lightskyblue:\"#87CEFA\",deepskyblue:\"#00BFFF\",dodgerblue:\"#1E90FF\",cornflowerblue:\"#6495ED\",royalblue:\"#4169E1\",blue:\"#0000FF\",mediumblue:\"#0000CD\",darkblue:\"#00008B\",navy:\"#000080\",midnightblue:\"#191970\",cornsilk:\"#FFF8DC\",blanchedalmond:\"#FFEBCD\",bisque:\"#FFE4C4\",navajowhite:\"#FFDEAD\",wheat:\"#F5DEB3\",burlywood:\"#DEB887\",tan:\"#D2B48C\",rosybrown:\"#BC8F8F\",sandybrown:\"#F4A460\",goldenrod:\"#DAA520\",darkgoldenrod:\"#B8860B\",peru:\"#CD853F\",chocolate:\"#D2691E\",saddlebrown:\"#8B4513\",sienna:\"#A0522D\",brown:\"#A52A2A\",maroon:\"#800000\",white:\"#FFFFFF\",snow:\"#FFFAFA\",honeydew:\"#F0FFF0\",mintcream:\"#F5FFFA\",azure:\"#F0FFFF\",aliceblue:\"#F0F8FF\",ghostwhite:\"#F8F8FF\",whitesmoke:\"#F5F5F5\",seashell:\"#FFF5EE\",beige:\"#F5F5DC\",oldlace:\"#FDF5E6\",floralwhite:\"#FFFAF0\",ivory:\"#FFFFF0\",antiquewhite:\"#FAEBD7\",linen:\"#FAF0E6\",lavenderblush:\"#FFF0F5\",mistyrose:\"#FFE4E1\",gainsboro:\"#DCDCDC\",lightgray:\"#D3D3D3\",lightgrey:\"#D3D3D3\",silver:\"#C0C0C0\",darkgray:\"#A9A9A9\",darkgrey:\"#A9A9A9\",gray:\"#808080\",grey:\"#808080\",dimgray:\"#696969\",dimgrey:\"#696969\",lightslategray:\"#778899\",lightslategrey:\"#778899\",slategray:\"#708090\",slategrey:\"#708090\",darkslategray:\"#2F4F4F\",darkslategrey:\"#2F4F4F\",black:\"#000000\"},i.is_svg_color=function(t){return t in i.svg_colors}},function(t,e,s){var r=t(385),n=t(357),o=t(386),_=t(38),a=t(44);function l(t,e,i){if(a.isNumber(t)){var n=function(){switch(!1){case Math.floor(t)!=t:return\"%d\";case!(.1\");if(\"SCRIPT\"==e.tagName){var i=r.div({class:n.BOKEH_ROOT});r.replaceWith(e,i),e=i}return e}n.BOKEH_ROOT=\"bk-root\",n.inject_css=function(t){var e=r.link({href:t,rel:\"stylesheet\",type:\"text/css\"});document.body.appendChild(e)},n.inject_raw_css=function(t){var e=r.style({},t);document.body.appendChild(e)},n._resolve_element=function(t){var e=t.elementid;return null!=e?o(e):document.body},n._resolve_root_elements=function(t){var e={};if(null!=t.roots)for(var i in t.roots)e[i]=o(t.roots[i]);return e}},function(t,e,i){var d=t(50),f=t(14),r=t(25),v=t(38),m=t(44),g=t(55),y=t(54),b=t(51),n=t(55);i.add_document_standalone=n.add_document_standalone;var o=t(54);i.add_document_from_session=o.add_document_from_session;var s=t(53);i.embed_items_notebook=s.embed_items_notebook;var a=t(51);i.BOKEH_ROOT=a.BOKEH_ROOT,i.inject_css=a.inject_css,i.inject_raw_css=a.inject_raw_css,i.embed_items=function(t,e,i,n){r.defer(function(){return function(t,e,i,n){m.isString(t)&&(t=JSON.parse(v.unescape(t)));var r={};for(var o in t){var s=t[o];r[o]=d.Document.from_json(s)}for(var a=0,l=e;athis.sleft&&tthis.stop&&el||(_[r].push(c[d]),_[o].push(0));for(var d=0,f=u.length;dl||(p[r].push(u[d]),p[o].push(0));var v={major:this._format_major_labels(_[r],c)},m={major:[[],[]],minor:[[],[]]};return m.major[r]=i.v_compute(_[r]),m.minor[r]=i.v_compute(p[r]),m.major[o]=_[o],m.minor[o]=p[o],\"vertical\"==this.orientation&&(m.major[r]=g.map(m.major[r],function(t){return e-t}),m.minor[r]=g.map(m.minor[r],function(t){return e-t})),{coords:m,labels:v}},t}(r.Annotation);(i.ColorBar=m).initClass()},function(t,e,i){var n=t(58);i.Annotation=n.Annotation;var r=t(59);i.Arrow=r.Arrow;var o=t(60);i.ArrowHead=o.ArrowHead;var s=t(60);i.OpenHead=s.OpenHead;var a=t(60);i.NormalHead=a.NormalHead;var l=t(60);i.TeeHead=l.TeeHead;var h=t(60);i.VeeHead=h.VeeHead;var c=t(61);i.Band=c.Band;var u=t(62);i.BoxAnnotation=u.BoxAnnotation;var _=t(63);i.ColorBar=_.ColorBar;var p=t(65);i.Label=p.Label;var d=t(66);i.LabelSet=d.LabelSet;var f=t(67);i.Legend=f.Legend;var v=t(68);i.LegendItem=v.LegendItem;var m=t(69);i.PolyAnnotation=m.PolyAnnotation;var g=t(70);i.Slope=g.Slope;var y=t(71);i.Span=y.Span;var b=t(72);i.TextAnnotation=b.TextAnnotation;var x=t(73);i.Title=x.Title;var w=t(74);i.ToolbarPanel=w.ToolbarPanel;var k=t(75);i.Tooltip=k.Tooltip;var S=t(76);i.Whisker=S.Whisker},function(t,e,i){var n=t(387),r=t(72),a=t(5),o=t(15),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n.__extends(t,e),t.prototype.initialize=function(t){e.prototype.initialize.call(this,t),this.visuals.warm_cache()},t.prototype._get_size=function(){var t=this.plot_view.canvas_view.ctx;if(this.visuals.text.set_value(t),this.model.panel.is_horizontal){var e=t.measureText(this.model.text).ascent;return e}var i=t.measureText(this.model.text).width;return i},t.prototype.render=function(){if(this.model.visible||\"css\"!=this.model.render_mode||a.hide(this.el),this.model.visible){var t;switch(this.model.angle_units){case\"rad\":t=-this.model.angle;break;case\"deg\":t=-this.model.angle*Math.PI/180;break;default:throw new Error(\"unreachable code\")}var e=null!=this.model.panel?this.model.panel:this.plot_view.frame,i=this.plot_view.frame.xscales[this.model.x_range_name],n=this.plot_view.frame.yscales[this.model.y_range_name],r=\"data\"==this.model.x_units?i.compute(this.model.x):e.xview.compute(this.model.x),o=\"data\"==this.model.y_units?n.compute(this.model.y):e.yview.compute(this.model.y);r+=this.model.x_offset,o-=this.model.y_offset;var s=\"canvas\"==this.model.render_mode?this._canvas_text.bind(this):this._css_text.bind(this);s(this.plot_view.canvas_view.ctx,this.model.text,r,o,t)}},t}(r.TextAnnotationView);i.LabelView=s;var l=function(e){function t(t){return e.call(this,t)||this}return n.__extends(t,e),t.initClass=function(){this.prototype.type=\"Label\",this.prototype.default_view=s,this.mixins([\"text\",\"line:border_\",\"fill:background_\"]),this.define({x:[o.Number],x_units:[o.SpatialUnits,\"data\"],y:[o.Number],y_units:[o.SpatialUnits,\"data\"],text:[o.String],angle:[o.Angle,0],angle_units:[o.AngleUnits,\"rad\"],x_offset:[o.Number,0],y_offset:[o.Number,0],x_range_name:[o.String,\"default\"],y_range_name:[o.String,\"default\"]}),this.override({background_fill_color:null,border_line_color:null})},t}(r.TextAnnotation);(i.Label=l).initClass()},function(t,e,i){var n=t(387),r=t(72),o=t(190),c=t(5),s=t(15),a=function(r){function t(){return null!==r&&r.apply(this,arguments)||this}return n.__extends(t,r),t.prototype.initialize=function(t){if(r.prototype.initialize.call(this,t),this.set_data(this.model.source),\"css\"==this.model.render_mode)for(var e=0,i=this._text.length;eh(a-l)?(n=u(c(o,s),a),r=c(u(o,s),l)):(n=c(o,s),r=u(o,s)),[n,r]}throw new Error(\"user bounds '\"+e+\"' not understood\")},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"rule_coords\",{get:function(){var t=this.dimension,e=(t+1)%2,i=this.ranges[0],n=this.computed_bounds,r=n[0],o=n[1],s=new Array(2),a=new Array(2),l=[s,a];return l[t][0]=Math.max(r,i.min),l[t][1]=Math.min(o,i.max),l[t][0]>l[t][1]&&(l[t][0]=l[t][1]=NaN),l[e][0]=this.loc,l[e][1]=this.loc,l},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"tick_coords\",{get:function(){for(var t=this.dimension,e=(t+1)%2,i=this.ranges[0],n=this.computed_bounds,r=n[0],o=n[1],s=this.ticker.get_ticks(r,o,i,this.loc,{}),a=s.major,l=s.minor,h=[[],[]],c=[[],[]],u=[i.min,i.max],_=u[0],p=u[1],d=0;dp||(h[t].push(a[d]),h[e].push(this.loc));for(var d=0;dp||(c[t].push(l[d]),c[e].push(this.loc));return{major:h,minor:c}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"loc\",{get:function(){if(null!=this.fixed_location){if(C.isNumber(this.fixed_location))return this.fixed_location;var t=this.ranges,e=t[1];if(e instanceof a.FactorRange)return e.synthetic(this.fixed_location);throw new Error(\"unexpected\")}var i=this.ranges,n=i[1];switch(this.panel.side){case\"left\":case\"below\":return n.start;case\"right\":case\"above\":return n.end}},enumerable:!0,configurable:!0}),t}(r.GuideRenderer);(i.Axis=p).initClass()},function(t,e,i){var n=t(387),r=t(77),o=t(198),s=t(103),a=t(15),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype._render=function(t,e,i){this._draw_group_separators(t,e,i)},e.prototype._draw_group_separators=function(t,e,i){var n,r=this.model.ranges[0],o=this.model.computed_bounds,s=o[0],a=o[1];if(r.tops&&!(r.tops.length<2)&&this.visuals.separator_line.doit){for(var l=this.model.dimension,h=(l+1)%2,c=[[],[]],u=0,_=0;_=this.scientific_limit_high||a<=this.scientific_limit_low)){n=!0;break}}var l=new Array(t.length),h=this.precision;if(null==h||f.isNumber(h))if(n)for(var c=0,u=t.length;ct.maxX&&(t.maxX=r.maxX)}for(var o=this.index.search(h.positive_y()),s=0,a=o;st.maxY&&(t.maxY=l.maxY)}return this._bounds(t)},t.prototype.get_anchor_point=function(t,e,i){var n=i[0],r=i[1];switch(t){case\"center\":return{x:this.scenterx(e,n,r),y:this.scentery(e,n,r)};default:return null}},t.prototype.sdist=function(t,e,i,n,r){var o,s;void 0===n&&(n=\"edge\"),void 0===r&&(r=!1);var a=e.length;if(\"center\"==n){var l=g.map(i,function(t){return t/2});o=new Float64Array(a);for(var h=0;h=a.length?l:a[n],s[t]=r},h=this,i=0,n=o.length;il.end;if(!i){var u=this._get_weight_to_constrain_interval(l,h);u<1&&(h.start=u*h.start+(1-u)*l.start,h.end=u*h.end+(1-u)*l.end)}if(null!=l.bounds&&\"auto\"!=l.bounds){var _=l.bounds,p=_[0],d=_[1],f=Math.abs(h.end-h.start);c?(null!=p&&p>=h.end&&(r=!0,h.end=p,(e||i)&&(h.start=p+f)),null!=d&&d<=h.start&&(r=!0,h.start=d,(e||i)&&(h.end=d-f))):(null!=p&&p>=h.start&&(r=!0,h.start=p,(e||i)&&(h.end=p+f)),null!=d&&d<=h.end&&(r=!0,h.end=d,(e||i)&&(h.start=d-f)))}}if(!(i&&r&&n))for(var v=0,m=t;vn.lod_timeout&&e.interactive_stop(n),t.request_render()},n.lod_timeout):e.interactive_stop(n)}for(var r in this.renderer_views){var o=this.renderer_views[r];if(null==this.range_update_timestamp||o instanceof C.GlyphRendererView&&o.set_data_timestamp>this.range_update_timestamp){this.update_dataranges();break}}this.model.frame.update_scales();var s=this.canvas_view.ctx,a=this.canvas.pixel_ratio;s.save(),s.scale(a,a),s.translate(.5,.5);var l=[this.frame._left.value,this.frame._top.value,this.frame._width.value,this.frame._height.value];if(this._map_hook(s,l),this._paint_empty(s,l),this.prepare_webgl(a,l),s.save(),this.visuals.outline_line.doit){this.visuals.outline_line.set_value(s);var h=l[0],c=l[1],u=l[2],_=l[3];h+u==this.canvas._width.value&&(u-=1),c+_==this.canvas._height.value&&(_-=1),s.strokeRect(h,c,u,_)}s.restore(),this._paint_levels(s,[\"image\",\"underlay\",\"glyph\"],l,!0),this.blit_webgl(a),this._paint_levels(s,[\"annotation\"],l,!0),this._paint_levels(s,[\"overlay\"],l,!1),null==this._initial_state_info.range&&this.set_initial_range(),s.restore(),this._has_finished||(this._has_finished=!0,this.notify_finished())}},t.prototype._paint_levels=function(t,e,i,n){t.save(),n&&(t.beginPath(),t.rect.apply(t,i),t.clip());for(var r={},o=0;ou&&(\"start\"==this.follow?r=n+c*u:\"end\"==this.follow&&(n=r-c*u)),[n,r]},t.prototype.update=function(t,e,i,n){if(!this.have_updated_interactively){var r=this.computed_renderers(),o=this._compute_plot_bounds(r,t);null!=n&&(o=this.adjust_bounds_for_aspect(o,n)),this._plot_bounds[i]=o;var s=this._compute_min_max(this._plot_bounds,e),a=s[0],l=s[1],h=this._compute_range(a,l),c=h[0],u=h[1];null!=this._initial_start&&(\"log\"==this.scale_hint?0this.end},enumerable:!0,configurable:!0}),t.prototype.reset=function(){this._set_auto_bounds(),this.start!=this.reset_start||this.end!=this.reset_end?this.setv({start:this.reset_start,end:this.reset_end}):this.change.emit()},t}(r.Range);(i.Range1d=s).initClass()},function(t,e,i){var n=t(387),r=t(179),P=t(126),o=t(189),j=t(14),s=t(15),a=t(22),N=t(21),_=t(32),l=t(171),p={fill:{},line:{}},d={fill:{fill_alpha:.3,fill_color:\"grey\"},line:{line_alpha:.3,line_color:\"grey\"}},f={fill:{fill_alpha:.2},line:{}},h=function(u){function t(){return null!==u&&u.apply(this,arguments)||this}return n.__extends(t,u),t.prototype.initialize=function(t){u.prototype.initialize.call(this,t);var i=this.model.glyph,n=N.includes(i.mixins,\"fill\"),r=N.includes(i.mixins,\"line\"),o=_.clone(i.attributes);function e(t){var e=_.clone(o);return n&&_.extend(e,t.fill),r&&_.extend(e,t.line),new i.constructor(e)}delete o.id,this.glyph=this.build_glyph_view(i);var s=this.model.selection_glyph;null==s?s=e({fill:{},line:{}}):\"auto\"===s&&(s=e(p)),this.selection_glyph=this.build_glyph_view(s);var a=this.model.nonselection_glyph;null==a?a=e({fill:{},line:{}}):\"auto\"===a&&(a=e(f)),this.nonselection_glyph=this.build_glyph_view(a);var l=this.model.hover_glyph;null!=l&&(this.hover_glyph=this.build_glyph_view(l));var h=this.model.muted_glyph;null!=h&&(this.muted_glyph=this.build_glyph_view(h));var c=e(d);this.decimated_glyph=this.build_glyph_view(c),this.xscale=this.plot_view.frame.xscales[this.model.x_range_name],this.yscale=this.plot_view.frame.yscales[this.model.y_range_name],this.set_data(!1)},t.prototype.build_glyph_view=function(t){return new t.default_view({model:t,renderer:this,plot_view:this.plot_view,parent:this})},t.prototype.connect_signals=function(){var e=this;u.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return e.request_render()}),this.connect(this.model.glyph.change,function(){return e.set_data()}),this.connect(this.model.data_source.change,function(){return e.set_data()}),this.connect(this.model.data_source.streaming,function(){return e.set_data()}),this.connect(this.model.data_source.patching,function(t){return e.set_data(!0,t)}),this.connect(this.model.data_source.selected.change,function(){return e.request_render()}),this.connect(this.model.data_source._select,function(){return e.request_render()}),null!=this.hover_glyph&&this.connect(this.model.data_source.inspect,function(){return e.request_render()}),this.connect(this.model.properties.view.change,function(){return e.set_data()}),this.connect(this.model.view.change,function(){return e.set_data()});var t=this.plot_model.frame,i=t.x_ranges,n=t.y_ranges;for(var r in i){var o=i[r];o instanceof l.FactorRange&&this.connect(o.change,function(){return e.set_data()})}for(var s in n){var o=n[s];o instanceof l.FactorRange&&this.connect(o.change,function(){return e.set_data()})}this.connect(this.model.glyph.transformchange,function(){return e.set_data()})},t.prototype.have_selection_glyphs=function(){return null!=this.selection_glyph&&null!=this.nonselection_glyph},t.prototype.set_data=function(t,e){void 0===t&&(t=!0),void 0===e&&(e=null);var i=Date.now(),n=this.model.data_source;this.all_indices=this.model.view.indices,this.glyph.model.setv({x_range_name:this.model.x_range_name,y_range_name:this.model.y_range_name},{silent:!0}),this.glyph.set_data(n,this.all_indices,e),this.glyph.set_visuals(n),this.decimated_glyph.set_visuals(n),this.have_selection_glyphs()&&(this.selection_glyph.set_visuals(n),this.nonselection_glyph.set_visuals(n)),null!=this.hover_glyph&&this.hover_glyph.set_visuals(n),null!=this.muted_glyph&&this.muted_glyph.set_visuals(n);var r=this.plot_model.plot.lod_factor;this.decimated=[];for(var o=0,s=Math.floor(this.all_indices.length/r);ov?(o=this.decimated,_=this.decimated_glyph,p=this.decimated_glyph):(_=this.model.muted&&null!=this.muted_glyph?this.muted_glyph:this.glyph,p=this.nonselection_glyph),d=this.selection_glyph,null!=this.hover_glyph&&f.length&&(o=N.difference(o,f));var m,g=null;if(l.length&&this.have_selection_glyphs()){for(var y=Date.now(),b={},x=0,w=l;xi?n.slice(-i):n}if(S.isTypedArray(t)){var r=t.length+e.length;if(null!=i&&i=Math.pow(2,i))||e<0||e>=Math.pow(2,i))},t.prototype.parent_by_tile_xyz=function(t,e,i){var n=this.tile_xyz_to_quadkey(t,e,i),r=n.substring(0,n.length-1);return this.quadkey_to_tile_xyz(r)},t.prototype.get_resolution=function(t){return this._computed_initial_resolution()/Math.pow(2,t)},t.prototype.get_resolution_by_extent=function(t,e,i){var n=(t[2]-t[0])/i,r=(t[3]-t[1])/e;return[n,r]},t.prototype.get_level_by_extent=function(t,e,i){for(var n=(t[2]-t[0])/i,r=(t[3]-t[1])/e,o=Math.max(n,r),s=0,a=0,l=this._resolutions;ar.end)&&(this.v_axis_only=!0),(io.end)&&(this.h_axis_only=!0)}null!=this.model.document&&this.model.document.interactive_start(this.plot_model.plot)},e.prototype._pan=function(t){this._update(t.deltaX,t.deltaY),null!=this.model.document&&this.model.document.interactive_start(this.plot_model.plot)},e.prototype._pan_end=function(t){this.h_axis_only=!1,this.v_axis_only=!1,null!=this.pan_info&&this.plot_view.push_state(\"pan\",{range:this.pan_info})},e.prototype._update=function(t,e){var i,n,r,o,s,a,l=this.plot_model.frame,h=t-this.last_dx,c=e-this.last_dy,u=l.bbox.h_range,_=u.start-h,p=u.end-h,d=l.bbox.v_range,f=d.start-c,v=d.end-c,m=this.model.dimensions;\"width\"!=m&&\"both\"!=m||this.v_axis_only?(i=u.start,n=u.end,r=0):(i=_,n=p,r=-h),\"height\"!=m&&\"both\"!=m||this.h_axis_only?(o=d.start,s=d.end,a=0):(o=f,s=v,a=-c),this.last_dx=t,this.last_dy=e;var g=l.xscales,y=l.yscales,b={};for(var x in g){var w=g[x],k=w.r_invert(i,n),S=k[0],T=k[1];b[x]={start:S,end:T}}var C={};for(var A in y){var w=y[A],E=w.r_invert(o,s),S=E[0],T=E[1];C[A]={start:S,end:T}}this.pan_info={xrs:b,yrs:C,sdx:r,sdy:a},this.plot_view.update_range(this.pan_info,!0)},e}(r.GestureToolView);i.PanToolView=s;var a=function(i){function t(t){var e=i.call(this,t)||this;return e.tool_name=\"Pan\",e.event_type=\"pan\",e.default_order=10,e}return n.__extends(t,i),t.initClass=function(){this.prototype.type=\"PanTool\",this.prototype.default_view=s,this.define({dimensions:[o.Dimensions,\"both\"]})},Object.defineProperty(t.prototype,\"tooltip\",{get:function(){return this._get_dim_tooltip(\"Pan\",this.dimensions)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"icon\",{get:function(){switch(this.dimensions){case\"both\":return\"bk-tool-icon-pan\";case\"width\":return\"bk-tool-icon-xpan\";case\"height\":return\"bk-tool-icon-ypan\"}},enumerable:!0,configurable:!0}),t}(r.GestureTool);(i.PanTool=a).initClass()},function(t,e,i){var l=t(387),n=t(243),r=t(69),o=t(5),s=t(15),a=t(21),h=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return l.__extends(t,e),t.prototype.initialize=function(t){e.prototype.initialize.call(this,t),this.data={sx:[],sy:[]}},t.prototype.connect_signals=function(){var t=this;e.prototype.connect_signals.call(this),this.connect(this.model.properties.active.change,function(){return t._active_change()})},t.prototype._active_change=function(){this.model.active||this._clear_data()},t.prototype._keyup=function(t){t.keyCode==o.Keys.Enter&&this._clear_data()},t.prototype._doubletap=function(t){var e=t.shiftKey;this._do_select(this.data.sx,this.data.sy,!0,e),this.plot_view.push_state(\"poly_select\",{selection:this.plot_view.get_selection()}),this._clear_data()},t.prototype._clear_data=function(){this.data={sx:[],sy:[]},this.model.overlay.update({xs:[],ys:[]})},t.prototype._tap=function(t){var e=t.sx,i=t.sy,n=this.plot_model.frame;n.bbox.contains(e,i)&&(this.data.sx.push(e),this.data.sy.push(i),this.model.overlay.update({xs:a.copy(this.data.sx),ys:a.copy(this.data.sy)}))},t.prototype._do_select=function(t,e,i,n){var r={type:\"poly\",sx:t,sy:e};this._select(r,i,n)},t.prototype._emit_callback=function(t){var e=this.computed_renderers[0],i=this.plot_model.frame,n=i.xscales[e.x_range_name],r=i.yscales[e.y_range_name],o=n.v_invert(t.sx),s=r.v_invert(t.sy),a=l.__assign({x:o,y:s},t);this.model.callback.execute(this.model,{geometry:a})},t}(n.SelectToolView);i.PolySelectToolView=h;var c=function(){return new r.PolyAnnotation({level:\"overlay\",xs_units:\"screen\",ys_units:\"screen\",fill_color:{value:\"lightgrey\"},fill_alpha:{value:.5},line_color:{value:\"black\"},line_alpha:{value:1},line_width:{value:2},line_dash:{value:[4,4]}})},u=function(i){function t(t){var e=i.call(this,t)||this;return e.tool_name=\"Poly Select\",e.icon=\"bk-tool-icon-polygon-select\",e.event_type=\"tap\",e.default_order=11,e}return l.__extends(t,i),t.initClass=function(){this.prototype.type=\"PolySelectTool\",this.prototype.default_view=h,this.define({callback:[s.Instance],overlay:[s.Instance,c]})},t}(n.SelectTool);(i.PolySelectTool=u).initClass()},function(t,e,i){var n=t(387),_=t(62),r=t(14),o=t(15),s=t(238);function p(t,e,i,n){if(null==e)return!1;var r=i.compute(e);return Math.abs(t-r)r.right)&&(o=!1)}if(null!=r.bottom&&null!=r.top){var a=n.invert(e);(ar.top)&&(o=!1)}return o}function l(t,e,i,n){var r=e.compute(t),o=e.invert(r+i);return o>=n.start&&o<=n.end?o:t}function h(t,e,i,n){var r=e.r_compute(t.start,t.end),o=r[0],s=r[1],a=e.r_invert(o+i,s+i),l=a[0],h=a[1];l>=n.start&&l<=n.end&&h>=n.start&&h<=n.end&&(t.start=l,t.end=h)}i.is_near=p,i.is_inside=d,i.compute_value=l,i.update_range=h;var a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n.__extends(t,e),t.prototype.initialize=function(t){e.prototype.initialize.call(this,t),this.side=0,this.model.update_overlay_from_ranges()},t.prototype.connect_signals=function(){var t=this;e.prototype.connect_signals.call(this),null!=this.model.x_range&&this.connect(this.model.x_range.change,function(){return t.model.update_overlay_from_ranges()}),null!=this.model.y_range&&this.connect(this.model.y_range.change,function(){return t.model.update_overlay_from_ranges()})},t.prototype._pan_start=function(t){this.last_dx=0,this.last_dy=0;var e=this.model.x_range,i=this.model.y_range,n=this.plot_model.frame,r=n.xscales.default,o=n.yscales.default,s=this.model.overlay,a=s.left,l=s.right,h=s.top,c=s.bottom,u=this.model.overlay.properties.line_width.value()+_.EDGE_TOLERANCE;null!=e&&this.model.x_interaction&&(p(t.sx,a,r,u)?this.side=1:p(t.sx,l,r,u)?this.side=2:d(t.sx,t.sy,r,o,s)&&(this.side=3)),null!=i&&this.model.y_interaction&&(0==this.side&&p(t.sy,c,o,u)&&(this.side=4),0==this.side&&p(t.sy,h,o,u)?this.side=5:d(t.sx,t.sy,r,o,this.model.overlay)&&(3==this.side?this.side=7:this.side=6))},t.prototype._pan=function(t){var e=this.plot_model.frame,i=t.deltaX-this.last_dx,n=t.deltaY-this.last_dy,r=this.model.x_range,o=this.model.y_range,s=e.xscales.default,a=e.yscales.default;null!=r&&(3==this.side||7==this.side?h(r,s,i,e.x_range):1==this.side?r.start=l(r.start,s,i,e.x_range):2==this.side&&(r.end=l(r.end,s,i,e.x_range))),null!=o&&(6==this.side||7==this.side?h(o,a,n,e.y_range):4==this.side?o.start=l(o.start,a,n,e.y_range):5==this.side&&(o.end=l(o.end,a,n,e.y_range))),this.last_dx=t.deltaX,this.last_dy=t.deltaY},t.prototype._pan_end=function(t){this.side=0},t}(s.GestureToolView);i.RangeToolView=a;var c=function(){return new _.BoxAnnotation({level:\"overlay\",render_mode:\"css\",fill_color:\"lightgrey\",fill_alpha:{value:.5},line_color:{value:\"black\"},line_alpha:{value:1},line_width:{value:.5},line_dash:[2,2]})},u=function(i){function t(t){var e=i.call(this,t)||this;return e.tool_name=\"Range Tool\",e.icon=\"bk-tool-icon-range\",e.event_type=\"pan\",e.default_order=1,e}return n.__extends(t,i),t.initClass=function(){this.prototype.type=\"RangeTool\",this.prototype.default_view=a,this.define({x_range:[o.Instance,null],x_interaction:[o.Bool,!0],y_range:[o.Instance,null],y_interaction:[o.Bool,!0],overlay:[o.Instance,c]})},t.prototype.initialize=function(){i.prototype.initialize.call(this),this.overlay.in_cursor=\"grab\",this.overlay.ew_cursor=null!=this.x_range&&this.x_interaction?\"ew-resize\":null,this.overlay.ns_cursor=null!=this.y_range&&this.y_interaction?\"ns-resize\":null},t.prototype.update_overlay_from_ranges=function(){null==this.x_range&&null==this.y_range&&(this.overlay.left=null,this.overlay.right=null,this.overlay.bottom=null,this.overlay.top=null,r.logger.warn(\"RangeTool not configured with any Ranges.\")),null==this.x_range?(this.overlay.left=null,this.overlay.right=null):(this.overlay.left=this.x_range.start,this.overlay.right=this.x_range.end),null==this.y_range?(this.overlay.bottom=null,this.overlay.top=null):(this.overlay.bottom=this.y_range.start,this.overlay.top=this.y_range.end)},t}(s.GestureTool);(i.RangeTool=u).initClass()},function(t,e,i){var y=t(387),n=t(238),o=t(176),r=t(258),s=t(15),a=t(5),b=t(3),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return y.__extends(e,t),Object.defineProperty(e.prototype,\"computed_renderers\",{get:function(){var t=this.model.renderers,e=this.plot_model.plot.renderers,i=this.model.names;return r.compute_renderers(t,e,i)},enumerable:!0,configurable:!0}),e.prototype._computed_renderers_by_data_source=function(){for(var t={},e=0,i=this.computed_renderers;ee.x?-1:t.x==e.x?0:1}):r.sort(function(t,e){return t.xthis._x_sorted[this._x_sorted.length-1])return NaN}else{if(ethis._x_sorted[this._x_sorted.length-1])return this._y_sorted[this._y_sorted.length-1]}if(e==this._x_sorted[0])return this._y_sorted[0];var t=s.findLastIndex(this._x_sorted,function(t){return tthis._x_sorted[this._x_sorted.length-1])return NaN}else{if(ethis._x_sorted[this._x_sorted.length-1])return this._y_sorted[this._y_sorted.length-1]}var t;switch(this.mode){case\"after\":t=s.findLastIndex(this._x_sorted,function(t){return t<=e});break;case\"before\":t=s.findIndex(this._x_sorted,function(t){return e<=t});break;case\"center\":var i=this._x_sorted.map(function(t){return Math.abs(t-e)}),n=s.min(i);t=s.findIndex(i,function(t){return n===t});break;default:throw new Error(\"unknown mode: \"+this.mode)}return-1!=t?this._y_sorted[t]:NaN},t}(r.Interpolator);(i.StepInterpolator=a).initClass()},function(t,e,i){var n=t(387),r=t(57),o=function(e){function t(t){return e.call(this,t)||this}return n.__extends(t,e),t.initClass=function(){this.prototype.type=\"Transform\"},t}(r.Model);(i.Transform=o).initClass()},function(t,e,i){\"function\"!=typeof WeakMap&&t(337),\"function\"!=typeof Set&&t(327),Number.isInteger||(Number.isInteger=function(t){return\"number\"==typeof t&&isFinite(t)&&Math.floor(t)===t});var n,l,r,h,o=String.prototype;o.repeat||(o.repeat=function(t){if(null==this)throw new TypeError(\"can't convert \"+this+\" to object\");var e=\"\"+this;if((t=+t)!=t&&(t=0),t<0)throw new RangeError(\"repeat count must be non-negative\");if(t==1/0)throw new RangeError(\"repeat count must be less than infinity\");if(t=Math.floor(t),0==e.length||0==t)return\"\";if(e.length*t>=1<<28)throw new RangeError(\"repeat count must not overflow maximum string size\");for(var i=\"\";1==(1&t)&&(i+=e),0!=(t>>>=1);)e+=e;return i}),Array.from||(Array.from=(n=Object.prototype.toString,l=function(t){return\"function\"==typeof t||\"[object Function]\"===n.call(t)},r=Math.pow(2,53)-1,h=function(t){var e,i=(e=Number(t),isNaN(e)?0:0!==e&&isFinite(e)?(0Math.PI?0:1:_>Math.PI?1:0,this.lineTo(l,h),this.__addPathCommand(f(\"A {rx} {ry} {xAxisRotation} {largeArcFlag} {sweepFlag} {endX} {endY}\",{rx:i,ry:i,xAxisRotation:0,largeArcFlag:u,sweepFlag:c,endX:s,endY:a})),this.__currentPosition={x:s,y:a}}},x.prototype.clip=function(){var t=this.__closestGroupOrSvg(),e=this.__createElement(\"clipPath\"),i=l(this.__ids),n=this.__createElement(\"g\");this.__applyCurrentDefaultPath(),t.removeChild(this.__currentElement),e.setAttribute(\"id\",i),e.appendChild(this.__currentElement),this.__defs.appendChild(e),t.setAttribute(\"clip-path\",f(\"url(#{id})\",{id:i})),t.appendChild(n),this.__currentElement=n},x.prototype.drawImage=function(){var t,e,i,n,r,o,s,a,l,h,c,u,_,p,d=Array.prototype.slice.call(arguments),f=d[0],v=0,m=0;if(3===d.length)t=d[1],e=d[2],r=f.width,o=f.height,i=r,n=o;else if(5===d.length)t=d[1],e=d[2],i=d[3],n=d[4],r=f.width,o=f.height;else{if(9!==d.length)throw new Error(\"Inavlid number of arguments passed to drawImage: \"+arguments.length);v=d[1],m=d[2],r=d[3],o=d[4],t=d[5],e=d[6],i=d[7],n=d[8]}s=this.__closestGroupOrSvg(),this.__currentElement;var g=\"translate(\"+t+\", \"+e+\")\";if(f instanceof x){if((a=f.getSvg().cloneNode(!0)).childNodes&&1=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach(function(t,e){i<=t&&(this.__redo__[e]=++t)},this),this.__redo__.push(i)):u(this,\"__redo__\",l(\"c\",[i])))}),_onDelete:l(function(i){var t;i>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(t=this.__redo__.indexOf(i))&&this.__redo__.splice(t,1),this.__redo__.forEach(function(t,e){i>1,a=i>>1^i,l=r>>1^n&o>>1^r,h=i&r>>1^o>>1^o;a=(i=s)&(n=a)>>2^n&(i^n)>>2,l^=i&(r=l)>>2^n&(o=h)>>2,h^=n&r>>2^(i^n)&o>>2,a=(i=s=i&i>>2^n&n>>2)&(n=a)>>4^n&(i^n)>>4,l^=i&(r=l)>>4^n&(o=h)>>4,h^=n&r>>4^(i^n)&o>>4,l^=(i=s=i&i>>4^n&n>>4)&(r=l)>>8^(n=a)&(o=h)>>8;var c=t^e,u=(n=(h^=n&r>>8^(i^n)&o>>8)^h>>1)|65535^(c|(i=l^l>>1));return((u=1431655765&((u=858993459&((u=252645135&((u=16711935&(u|u<<8))|u<<4))|u<<2))|u<<1))<<1|(c=1431655765&((c=858993459&((c=252645135&((c=16711935&(c|c<<8))|c<<4))|c<<2))|c<<1)))>>>0}return h.from=function(t){if(!(t instanceof ArrayBuffer))throw new Error(\"Data must be an instance of ArrayBuffer.\");var e=new Uint8Array(t,0,2),i=e[0],n=e[1];if(251!==i)throw new Error(\"Data does not appear to be in a Flatbush format.\");if(n>>4!=3)throw new Error(\"Got v\"+(n>>4)+\" data when expected v3.\");var r=new Uint16Array(t,2,1),o=r[0],s=new Uint32Array(t,4,1),a=s[0];return new h(a,o,l[15&n],t)},h.prototype.add=function(t,e,i,n){var r=this._pos>>2;this._indices[r]=r,this._boxes[this._pos++]=t,this._boxes[this._pos++]=e,this._boxes[this._pos++]=i,this._boxes[this._pos++]=n,tthis.maxX&&(this.maxX=i),n>this.maxY&&(this.maxY=n)},h.prototype.finish=function(){var t=this;if(this._pos>>2!==this.numItems)throw new Error(\"Added \"+(this._pos>>2)+\" items when expected \"+this.numItems+\".\");for(var e=this.maxX-this.minX,i=this.maxY-this.minY,n=new Uint32Array(this.numItems),r=0;r>1],a=r-1,l=o+1;;){for(;e[++a]s;);if(l<=a)break;T(e,i,n,a,l)}t(e,i,n,r,l),t(e,i,n,l+1,o)}}(n,this._boxes,this._indices,0,this.numItems-1);for(var _=0,p=0;_>2]=y,t._boxes[t._pos++]=f,t._boxes[t._pos++]=v,t._boxes[t._pos++]=m,t._boxes[t._pos++]=g}},h.prototype.search=function(t,e,i,n,r){if(this._pos!==this._boxes.length)throw new Error(\"Data not yet indexed - call index.finish().\");for(var o=this._boxes.length-4,s=this._levelBounds.length-1,a=[],l=[];void 0!==o;){for(var h=Math.min(o+4*this.nodeSize,this._levelBounds[s]),c=o;c>2];ithis._boxes[c+2]||e>this._boxes[c+3]||(o<4*this.numItems?(void 0===r||r(u))&&l.push(u):(a.push(u),a.push(s-1)))}s=a.pop(),o=a.pop()}return l},h},\"object\"==typeof i&&void 0!==e?e.exports=r():n.Flatbush=r()},function(t,Yt,e){\n", " /*! Hammer.JS - v2.0.7 - 2016-04-22\n", " * http://hammerjs.github.io/\n", " *\n", " * Copyright (c) 2016 Jorik Tangelder;\n", " * Licensed under the MIT license */\n", " !function(o,a,t,x){\"use strict\";var s,l=[\"\",\"webkit\",\"Moz\",\"MS\",\"ms\",\"o\"],e=a.createElement(\"div\"),i=\"function\",h=Math.round,w=Math.abs,k=Date.now;function c(t,e,i){return setTimeout(f(t,i),e)}function n(t,e,i){return!!Array.isArray(t)&&(u(t,i[e],i),!0)}function u(t,e,i){var n;if(t)if(t.forEach)t.forEach(e,i);else if(t.length!==x)for(n=0;n\\s*\\(/gm,\"{anonymous}()@\"):\"Unknown Stack Trace\",i=o.console&&(o.console.warn||o.console.log);return i&&i.call(o.console,r,e),n.apply(this,arguments)}}s=\"function\"!=typeof Object.assign?function(t){if(t===x||null===t)throw new TypeError(\"Cannot convert undefined or null to object\");for(var e=Object(t),i=1;ie[i]}):n.sort()),n}function M(t,e){for(var i,n,r=e[0].toUpperCase()+e.slice(1),o=0;ow(y.y)?y.x:y.y,e.scale=_?(m=_.pointers,it((g=n)[0],g[1],J)/it(m[0],m[1],J)):1,e.rotation=_?(f=_.pointers,nt((v=n)[1],v[0],J)+nt(f[1],f[0],J)):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,function(t,e){var i,n,r,o,s=t.lastInterval||e,a=e.timeStamp-s.timeStamp;if(e.eventType!=B&&(Dw(c.y)?c.x:c.y,o=et(l,h),t.lastInterval=e}else i=s.velocity,n=s.velocityX,r=s.velocityY,o=s.direction;e.velocity=i,e.velocityX=n,e.velocityY=r,e.direction=o}(i,e);var b=t.element;S(e.srcEvent.target,b)&&(b=e.srcEvent.target),e.target=b}(t,i),t.emit(\"hammer.input\",i),t.recognize(i),t.session.prevInput=i}function K(t){for(var e=[],i=0;i=w(e)?t<0?V:G:e<0?U:q}function it(t,e,i){i||(i=W);var n=e[i[0]]-t[i[0]],r=e[i[1]]-t[i[1]];return Math.sqrt(n*n+r*r)}function nt(t,e,i){i||(i=W);var n=e[i[0]]-t[i[0]],r=e[i[1]]-t[i[1]];return 180*Math.atan2(r,n)/Math.PI}Q.prototype={handler:function(){},init:function(){this.evEl&&g(this.element,this.evEl,this.domHandler),this.evTarget&&g(this.target,this.evTarget,this.domHandler),this.evWin&&g(z(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&y(this.element,this.evEl,this.domHandler),this.evTarget&&y(this.target,this.evTarget,this.domHandler),this.evWin&&y(z(this.element),this.evWin,this.domHandler)}};var rt={mousedown:I,mousemove:2,mouseup:R},ot=\"mousedown\",st=\"mousemove mouseup\";function at(){this.evEl=ot,this.evWin=st,this.pressed=!1,Q.apply(this,arguments)}d(at,Q,{handler:function(t){var e=rt[t.type];e&I&&0===t.button&&(this.pressed=!0),2&e&&1!==t.which&&(e=R),this.pressed&&(e&R&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:\"mouse\",srcEvent:t}))}});var lt={pointerdown:I,pointermove:2,pointerup:R,pointercancel:B,pointerout:B},ht={2:F,3:\"pen\",4:\"mouse\",5:\"kinect\"},ct=\"pointerdown\",ut=\"pointermove pointerup pointercancel\";function _t(){this.evEl=ct,this.evWin=ut,Q.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}o.MSPointerEvent&&!o.PointerEvent&&(ct=\"MSPointerDown\",ut=\"MSPointerMove MSPointerUp MSPointerCancel\"),d(_t,Q,{handler:function(t){var e=this.store,i=!1,n=t.type.toLowerCase().replace(\"ms\",\"\"),r=lt[n],o=ht[t.pointerType]||t.pointerType,s=o==F,a=C(e,t.pointerId,\"pointerId\");r&I&&(0===t.button||s)?a<0&&(e.push(t),a=e.length-1):r&(R|B)&&(i=!0),a<0||(e[a]=t,this.callback(this.manager,r,{pointers:e,changedPointers:[t],pointerType:o,srcEvent:t}),i&&e.splice(a,1))}});var pt={touchstart:I,touchmove:2,touchend:R,touchcancel:B};function dt(){this.evTarget=\"touchstart\",this.evWin=\"touchstart touchmove touchend touchcancel\",this.started=!1,Q.apply(this,arguments)}d(dt,Q,{handler:function(t){var e=pt[t.type];if(e===I&&(this.started=!0),this.started){var i=function(t,e){var i=A(t.touches),n=A(t.changedTouches);return e&(R|B)&&(i=E(i.concat(n),\"identifier\",!0)),[i,n]}.call(this,t,e);e&(R|B)&&i[0].length-i[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:F,srcEvent:t})}}});var ft={touchstart:I,touchmove:2,touchend:R,touchcancel:B},vt=\"touchstart touchmove touchend touchcancel\";function mt(){this.evTarget=vt,this.targetIds={},Q.apply(this,arguments)}d(mt,Q,{handler:function(t){var e=ft[t.type],i=function(t,e){var i=A(t.touches),n=this.targetIds;if(e&(2|I)&&1===i.length)return n[i[0].identifier]=!0,[i,i];var r,o,s=A(t.changedTouches),a=[],l=this.target;if(o=i.filter(function(t){return S(t.target,l)}),e===I)for(r=0;re.threshold&&r&e.direction},attrTest:function(t){return Nt.prototype.attrTest.call(this,t)&&(2&this.state||!(2&this.state)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=Pt(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),d(Dt,Nt,{defaults:{event:\"pinch\",threshold:0,pointers:2},getTouchAction:function(){return[St]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||2&this.state)},emit:function(t){if(1!==t.scale){var e=t.scale<1?\"in\":\"out\";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),d(It,Ot,{defaults:{event:\"press\",pointers:1,time:251,threshold:9},getTouchAction:function(){return[\"auto\"]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,n=t.distancee.time;if(this._input=t,!n||!i||t.eventType&(R|B)&&!r)this.reset();else if(t.eventType&I)this.reset(),this._timer=c(function(){this.state=8,this.tryEmit()},e.time,this);else if(t.eventType&R)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){8===this.state&&(t&&t.eventType&R?this.manager.emit(this.options.event+\"up\",t):(this._input.timeStamp=k(),this.manager.emit(this.options.event,this._input)))}}),d(Rt,Nt,{defaults:{event:\"rotate\",threshold:0,pointers:2},getTouchAction:function(){return[St]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||2&this.state)}}),d(Bt,Nt,{defaults:{event:\"swipe\",threshold:10,velocity:.3,direction:Y|X,pointers:1},getTouchAction:function(){return Ft.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Y|X)?e=t.overallVelocity:i&Y?e=t.overallVelocityX:i&X&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&w(e)>this.options.velocity&&t.eventType&R},emit:function(t){var e=Pt(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),d(Lt,Ot,{defaults:{event:\"tap\",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[kt]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,n=t.distance=\";case n.Eq:return\"==\"}}()+\" 0\"},Object.defineProperty(t.prototype,\"id\",{get:function(){return this._id},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"expression\",{get:function(){return this._expression},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"op\",{get:function(){return this._operator},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"strength\",{get:function(){return this._strength},enumerable:!0,configurable:!0}),t}();i.Constraint=s;var a=0},function(t,e,i){var h=t(353),c=t(356),u=t(347),n=function(){function t(){var t=function(t){for(var e=0,i=function(){return 0},n=u.createMap(c.Variable.Compare),r=0,o=t.length;r>1)],e)<0?(o=r+1,s-=n+1):s=n;return o}i.lowerBound=o,i.binarySearch=function(t,e,i){var n=o(t,e,i);if(n===t.length)return-1;var r=t[n];return 0!==i(r,e)?-1:n},i.binaryFind=function(t,e,i){var n=o(t,e,i);if(n!==t.length){var r=t[n];if(0===i(r,e))return r}},i.asSet=function(t,e){var i=l.asArray(t),n=i.length;if(n<=1)return i;i.sort(e);for(var r=[i[0]],o=1,s=0;o=Math.pow(10,12)&&!z||O?(C+=U[q].abbreviations.trillion,t/=Math.pow(10,12)):N=Math.pow(10,9)&&!z||M?(C+=U[q].abbreviations.billion,t/=Math.pow(10,9)):N=Math.pow(10,6)&&!z||E?(C+=U[q].abbreviations.million,t/=Math.pow(10,6)):(N=Math.pow(10,3)&&!z||A)&&(C+=U[q].abbreviations.thousand,t/=Math.pow(10,3)))}if(-1Math.PI&&(a-=2*Math.PI),r=Math.sin(l),s=Math.cos(l),o=r*r,{x:((n=i/Math.sqrt(1-e*o))+h)*s*Math.cos(a),y:(n+h)*s*Math.sin(a),z:(n*(1-e)+h)*r}},i.geocentricToGeodetic=function(t,e,i,n){var r,o,s,a,l,h,c,u,_,p,d,f,v,m,g,y,b=t.x,x=t.y,w=t.z?t.z:0;if(r=Math.sqrt(b*b+x*x),o=Math.sqrt(b*b+x*x+w*w),r/i<1e-12){if(m=0,o/i<1e-12)return g=k,y=-n,{x:t.x,y:t.y,z:t.z}}else m=Math.atan2(x,b);for(s=w/o,a=r/o,l=1/Math.sqrt(1-e*(2-e)*a*a),u=a*(1-e)*l,_=s*l,v=0;v++,c=i/Math.sqrt(1-e*_*_),h=e*c/(c+(y=r*u+w*_-c*(1-e*_*_))),l=1/Math.sqrt(1-h*(2-h)*a*a),f=(d=s*l)*u-(p=a*(1-h)*l)*_,u=p,_=d,1e-24>>0).toString(8);break;case\"s\":i=String(i),i=o[7]?i.substring(0,o[7]):i;break;case\"t\":i=String(!!i),i=o[7]?i.substring(0,o[7]):i;break;case\"T\":i=Object.prototype.toString.call(i).slice(8,-1).toLowerCase(),i=o[7]?i.substring(0,o[7]):i;break;case\"u\":i=parseInt(i,10)>>>0;break;case\"v\":i=i.valueOf(),i=o[7]?i.substring(0,o[7]):i;break;case\"x\":i=(parseInt(i,10)>>>0).toString(16);break;case\"X\":i=(parseInt(i,10)>>>0).toString(16).toUpperCase()}d.json.test(o[8])?p+=i:(!d.number.test(o[8])||h&&!o[3]?c=\"\":(c=h?\"+\":\"-\",i=i.toString().replace(d.sign,\"\")),a=o[4]?\"0\"===o[4]?\"0\":o[4].charAt(1):\" \",l=o[6]-(c+i).length,s=o[6]&&0=u[n][e]&&u[n][u[n].clock]>o[u[n].clock]&&(s=u[n])}return s&&((a=/^(.*)\\/(.*)$/.exec(o.format))?s.abbrev=a[s.save?2:1]:s.abbrev=o.format.replace(/%s/,s.rule.letter)),s||o}function a(t,e){return\"UTC\"==t.zone?e:(t.entry=r(t,\"posix\",e),e+t.entry.offset+t.entry.save)}function u(t,e){return\"UTC\"==t.zone?e:(t.entry=i=r(t,\"wallclock\",e),0<(n=e-i.wallclock)&&ns[0]&&e[1]=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}}},p=function(t,e){var i=\"function\"==typeof Symbol&&t[Symbol.iterator];if(!i)return t;var n,r,o=i.call(t),s=[];try{for(;(void 0===e||0=t&&(this.model.active=t-1);var o=this.model.tabs.map(function(t,e){return h.li({},h.span({data:{index:e}},t.title))});o[this.model.active].classList.add(\"bk-bs-active\");var e=h.ul({class:[\"bk-bs-nav\",\"bk-bs-nav-tabs\"]},o);this.el.appendChild(e);var s=this.model.tabs.map(function(t){return h.div({class:\"bk-bs-tab-pane\"})});s[this.model.active].classList.add(\"bk-bs-active\");var n=h.div({class:\"bk-bs-tab-content\"},s);this.el.appendChild(n),e.addEventListener(\"click\",function(t){if(t.preventDefault(),t.target!=t.currentTarget){var e=t.target,n=r.model.active,i=parseInt(e.dataset.index);n!=i&&(o[n].classList.remove(\"bk-bs-active\"),s[n].classList.remove(\"bk-bs-active\"),o[i].classList.add(\"bk-bs-active\"),s[i].classList.add(\"bk-bs-active\"),r.model.active=i,null!=r.model.callback&&r.model.callback.execute(r.model))}});for(var i=0,a=p.zip(this.model.children,s);i=e[n];)n+=1;return n}function n(t,e,n){if(n>=t.slice(-1)[0])return 100;var i,r,o,s,a,l,u=h(n,t);return i=t[u-1],r=t[u],o=e[u-1],s=e[u],o+(l=n,d(a=[i,r],a[0]<0?l+Math.abs(a[0]):l-a[0])/c(o,s))}function i(t,e,n,i){if(100===i)return i;var r,o,s,a,l=h(i,t);return n?(r=t[l-1],((o=t[l])-r)/2n.stepAfter.startValue&&(r=n.stepAfter.startValue-i),o=i>n.thisStep.startValue?n.thisStep.step:!1!==n.stepBefore.step&&i-n.stepBefore.highestStep,100===t?r=null:0===t&&(o=null);var s=w.countStepDecimals();return null!==r&&!1!==r&&(r=Number(r.toFixed(s))),null!==o&&!1!==o&&(o=Number(o.toFixed(s))),[o,r]})},on:J,off:function(t){var i=t&&t.split(\".\")[0],r=i&&t.substring(i.length);Object.keys(b).forEach(function(t){var e=t.split(\".\")[0],n=t.substring(e.length);i&&i!==e||r&&r!==n||delete b[t]})},get:K,set:X,reset:function(t){X(d.start,t)},__moveHandles:function(t,e,n){R(t,e,m,n)},options:o,updateOptions:function(e,t){var n=K(),i=[\"margin\",\"limit\",\"padding\",\"range\",\"animate\",\"snap\",\"step\",\"format\"];i.forEach(function(t){void 0!==e[t]&&(o[t]=e[t])});var r=rt(o);i.forEach(function(t){void 0!==e[t]&&(d[t]=r[t])}),w=r.spectrum,d.margin=r.margin,d.limit=r.limit,d.padding=r.padding,d.pips&&N(d.pips),m=[],X(e.start||n,t)},target:_,removePips:A,pips:N},(c=d.events).fixed||l.forEach(function(t,e){I(p.start,t.children[0],B,{handleNumbers:[e]})}),c.tap&&I(p.start,u,U,{}),c.hover&&I(p.move,u,j,{hover:!0}),c.drag&&s.forEach(function(t,e){if(!1!==t&&0!==e&&e!==s.length-1){var n=l[e-1],i=l[e],r=[t];et(t,d.cssClasses.draggable),c.fixed&&(r.push(n.children[0]),r.push(i.children[0])),r.forEach(function(t){I(p.start,t,B,{handles:[n,i],handleNumbers:[e-1,e]})})}}),X(d.start),d.pips&&N(d.pips),d.tooltips&&(r=l.map(D),J(\"update\",function(t,e,n){if(r[e]){var i=t[e];!0!==d.tooltips[e]&&(i=d.tooltips[e].to(n[e])),r[e].innerHTML=i}})),J(\"update\",function(t,e,s,n,a){v.forEach(function(t){var e=l[t],n=z(m,t,0,!0,!0,!0),i=z(m,t,100,!0,!0,!0),r=a[t],o=d.ariaFormat.to(s[t]);e.children[0].setAttribute(\"aria-valuemin\",n.toFixed(1)),e.children[0].setAttribute(\"aria-valuemax\",i.toFixed(1)),e.children[0].setAttribute(\"aria-valuenow\",r.toFixed(1)),e.children[0].setAttribute(\"aria-valuetext\",o)})}),a}return{version:$,create:function(t,e){if(!t||!t.nodeName)throw new Error(\"noUiSlider (\"+$+\"): create requires a single element, got: \"+t);var n=rt(e),i=P(t,n,e);return t.noUiSlider=i}}},\"object\"==typeof n?e.exports=i():window.noUiSlider=i()},428:function(i,r,o){\n", " /*!\n", " * Pikaday\n", " *\n", " * Copyright © 2014 David Bushell | BSD & MIT license | https://github.com/dbushell/Pikaday\n", " */\n", " !function(t,e){\"use strict\";var n;if(\"object\"==typeof o){try{n=i(\"moment\")}catch(t){}r.exports=e(n)}else t.Pikaday=e(t.moment)}(this,function(n){\"use strict\";var o=\"function\"==typeof n,s=!!window.addEventListener,c=window.document,u=window.setTimeout,a=function(t,e,n,i){s?t.addEventListener(e,n,!!i):t.attachEvent(\"on\"+e,n)},i=function(t,e,n,i){s?t.removeEventListener(e,n,!!i):t.detachEvent(\"on\"+e,n)},l=function(t,e){return-1!==(\" \"+t.className+\" \").indexOf(\" \"+e+\" \")},g=function(t){return/Array/.test(Object.prototype.toString.call(t))},B=function(t){return/Date/.test(Object.prototype.toString.call(t))&&!isNaN(t.getTime())},U=function(t,e){return[31,(n=t,n%4==0&&n%100!=0||n%400==0?29:28),31,30,31,30,31,31,30,31,30,31][e];var n},j=function(t){B(t)&&t.setHours(0,0,0,0)},z=function(t,e){return t.getTime()===e.getTime()},d=function(t,e,n){var i,r;for(i in e)(r=void 0!==t[i])&&\"object\"==typeof e[i]&&null!==e[i]&&void 0===e[i].nodeName?B(e[i])?n&&(t[i]=new Date(e[i].getTime())):g(e[i])?n&&(t[i]=e[i].slice(0)):t[i]=d({},e[i],n):!n&&r||(t[i]=e[i]);return t},r=function(t,e,n){var i;c.createEvent?((i=c.createEvent(\"HTMLEvents\")).initEvent(e,!0,!1),i=d(i,n),t.dispatchEvent(i)):c.createEventObject&&(i=c.createEventObject(),i=d(i,n),t.fireEvent(\"on\"+e,i))},e=function(t){return t.month<0&&(t.year-=Math.ceil(Math.abs(t.month)/12),t.month+=12),11';e.push(\"is-outside-current-month\"),t.enableSelectionDaysInNextAndPreviousMonths||e.push(\"is-selection-disabled\")}return t.isDisabled&&e.push(\"is-disabled\"),t.isToday&&e.push(\"is-today\"),t.isSelected&&(e.push(\"is-selected\"),n=\"true\"),t.hasEvent&&e.push(\"has-event\"),t.isInRange&&e.push(\"is-inrange\"),t.isStartRange&&e.push(\"is-startrange\"),t.isEndRange&&e.push(\"is-endrange\"),'\"},f=function(t,e,n,i,r,o){var s,a,l,u,c,d=t._o,h=n===d.minYear,p=n===d.maxYear,f='
',m=!0,v=!0;for(l=[],s=0;s<12;s++)l.push('\");for(u='
'+d.i18n.months[i]+'
\",g(d.yearRange)?(s=d.yearRange[0],a=d.yearRange[1]+1):(s=n-d.yearRange,a=1+n+d.yearRange),l=[];s=d.minYear&&l.push('\");return c='
'+n+d.yearSuffix+'
\",d.showMonthAfterYear?f+=c+u:f+=u+c,h&&(0===i||d.minMonth>=i)&&(m=!1),p&&(11===i||d.maxMonth<=i)&&(v=!1),0===e&&(f+='\"),e===t._o.numberOfMonths-1&&(f+='\"),f+=\"
\"},Y=function(t,e,n){return''+function(t){var e,n=[];for(t.showWeekNumber&&n.push(\"\"),e=0;e<7;e++)n.push('\");return\"\"+(t.isRTL?n.reverse():n).join(\"\")+\"\"}(t)+\"\"+e.join(\"\")+\"
'+p(t,e,!0)+\"
\"},t=function(t){var i=this,r=i.config(t);i._onMouseDown=function(t){if(i._v){var e=(t=t||window.event).target||t.srcElement;if(e)if(l(e,\"is-disabled\")||(!l(e,\"pika-button\")||l(e,\"is-empty\")||l(e.parentNode,\"is-disabled\")?l(e,\"pika-prev\")?i.prevMonth():l(e,\"pika-next\")&&i.nextMonth():(i.setDate(new Date(e.getAttribute(\"data-pika-year\"),e.getAttribute(\"data-pika-month\"),e.getAttribute(\"data-pika-day\"))),r.bound&&u(function(){i.hide(),r.blurFieldOnSelect&&r.field&&r.field.blur()},100))),l(e,\"pika-select\"))i._c=!0;else{if(!t.preventDefault)return t.returnValue=!1;t.preventDefault()}}},i._onChange=function(t){var e=(t=t||window.event).target||t.srcElement;e&&(l(e,\"pika-select-month\")?i.gotoMonth(e.value):l(e,\"pika-select-year\")&&i.gotoYear(e.value))},i._onKeyChange=function(t){if(t=t||window.event,i.isVisible())switch(t.keyCode){case 13:case 27:r.field&&r.field.blur();break;case 37:t.preventDefault(),i.adjustDate(\"subtract\",1);break;case 38:i.adjustDate(\"subtract\",7);break;case 39:i.adjustDate(\"add\",1);break;case 40:i.adjustDate(\"add\",7)}},i._onInputChange=function(t){var e;t.firedBy!==i&&(e=r.parse?r.parse(r.field.value,r.format):o?(e=n(r.field.value,r.format,r.formatStrict))&&e.isValid()?e.toDate():null:new Date(Date.parse(r.field.value)),B(e)&&i.setDate(e),i._v||i.show())},i._onInputFocus=function(){i.show()},i._onInputClick=function(){i.show()},i._onInputBlur=function(){var t=c.activeElement;do{if(l(t,\"pika-single\"))return}while(t=t.parentNode);i._c||(i._b=u(function(){i.hide()},50)),i._c=!1},i._onClick=function(t){var e=(t=t||window.event).target||t.srcElement,n=e;if(e){!s&&l(e,\"pika-select\")&&(e.onchange||(e.setAttribute(\"onchange\",\"return;\"),a(e,\"change\",i._onChange)));do{if(l(n,\"pika-single\")||n===r.trigger)return}while(n=n.parentNode);i._v&&e!==r.trigger&&n!==r.trigger&&i.hide()}},i.el=c.createElement(\"div\"),i.el.className=\"pika-single\"+(r.isRTL?\" is-rtl\":\"\")+(r.theme?\" \"+r.theme:\"\"),a(i.el,\"mousedown\",i._onMouseDown,!0),a(i.el,\"touchend\",i._onMouseDown,!0),a(i.el,\"change\",i._onChange),r.keyboardInput&&a(c,\"keydown\",i._onKeyChange),r.field&&(r.container?r.container.appendChild(i.el):r.bound?c.body.appendChild(i.el):r.field.parentNode.insertBefore(i.el,r.field.nextSibling),a(r.field,\"change\",i._onInputChange),r.defaultDate||(o&&r.field.value?r.defaultDate=n(r.field.value,r.format).toDate():r.defaultDate=new Date(Date.parse(r.field.value)),r.setDefaultDate=!0));var e=r.defaultDate;B(e)?r.setDefaultDate?i.setDate(e,!0):i.gotoDate(e):i.gotoDate(new Date),r.bound?(this.hide(),i.el.className+=\" is-bound\",a(r.trigger,\"click\",i._onInputClick),a(r.trigger,\"focus\",i._onInputFocus),a(r.trigger,\"blur\",i._onInputBlur)):this.show()};return t.prototype={config:function(t){this._o||(this._o=d({},h,!0));var e=d(this._o,t,!0);e.isRTL=!!e.isRTL,e.field=e.field&&e.field.nodeName?e.field:null,e.theme=\"string\"==typeof e.theme&&e.theme?e.theme:null,e.bound=!!(void 0!==e.bound?e.field&&e.bound:e.field),e.trigger=e.trigger&&e.trigger.nodeName?e.trigger:e.field,e.disableWeekends=!!e.disableWeekends,e.disableDayFn=\"function\"==typeof e.disableDayFn?e.disableDayFn:null;var n=parseInt(e.numberOfMonths,10)||1;if(e.numberOfMonths=4=r&&(this._y=r,!isNaN(s)&&this._m>s&&(this._m=s)),e=\"pika-title-\"+Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,2);for(var l=0;l'+f(this,l,this.calendars[l].year,this.calendars[l].month,this.calendars[0].year,e)+this.render(this.calendars[l].year,this.calendars[l].month,e)+\"\";this.el.innerHTML=a,n.bound&&\"hidden\"!==n.field.type&&u(function(){n.trigger.focus()},1),\"function\"==typeof this._o.onDraw&&this._o.onDraw(this),n.bound&&n.field.setAttribute(\"aria-label\",\"Use the arrow keys to pick a date\")}},adjustPosition:function(){var t,e,n,i,r,o,s,a,l,u;if(!this._o.container){if(this.el.style.position=\"absolute\",t=this._o.trigger,e=t,n=this.el.offsetWidth,i=this.el.offsetHeight,r=window.innerWidth||c.documentElement.clientWidth,o=window.innerHeight||c.documentElement.clientHeight,s=window.pageYOffset||c.body.scrollTop||c.documentElement.scrollTop,\"function\"==typeof t.getBoundingClientRect)u=t.getBoundingClientRect(),a=u.left+window.pageXOffset,l=u.bottom+window.pageYOffset;else for(a=e.offsetLeft,l=e.offsetTop+e.offsetHeight;e=e.offsetParent;)a+=e.offsetLeft,l+=e.offsetTop;(this._o.reposition&&ri.maxDate||i.disableWeekends&&(0===(x=E.getDay())||6===x)||i.disableDayFn&&i.disableDayFn(E);N&&(S'+Math.ceil(((new Date(_,b,y)-w)/864e5+w.getDay()+1)/7)+\"\")),a.push((v=l,g=i.isRTL,''+(g?v.reverse():v).join(\"\")+\"\")),C=0,k=!(l=[]))}return Y(i,a,n)},isVisible:function(){return this._v},show:function(){var t,e,n;this.isVisible()||(this._v=!0,this.draw(),t=this.el,e=\"is-hidden\",t.className=(n=(\" \"+t.className+\" \").replace(\" \"+e+\" \",\" \")).trim?n.trim():n.replace(/^\\s+|\\s+$/g,\"\"),this._o.bound&&(a(c,\"click\",this._onClick),this.adjustPosition()),\"function\"==typeof this._o.onOpen&&this._o.onOpen.call(this))},hide:function(){var t,e,n=this._v;!1!==n&&(this._o.bound&&i(c,\"click\",this._onClick),this.el.style.position=\"static\",this.el.style.left=\"auto\",this.el.style.top=\"auto\",t=this.el,l(t,e=\"is-hidden\")||(t.className=\"\"===t.className?e:t.className+\" \"+e),this._v=!1,void 0!==n&&\"function\"==typeof this._o.onClose&&this._o.onClose.call(this))},destroy:function(){var t=this._o;this.hide(),i(this.el,\"mousedown\",this._onMouseDown,!0),i(this.el,\"touchend\",this._onMouseDown,!0),i(this.el,\"change\",this._onChange),t.keyboardInput&&i(c,\"keydown\",this._onKeyChange),t.field&&(i(t.field,\"change\",this._onInputChange),t.bound&&(i(t.trigger,\"click\",this._onInputClick),i(t.trigger,\"focus\",this._onInputFocus),i(t.trigger,\"blur\",this._onInputBlur))),this.el.parentNode&&this.el.parentNode.removeChild(this.el)}},t})}})}(this);\n", " //# sourceMappingURL=bokeh-widgets.min.js.map\n", " /* END bokeh-widgets.min.js */\n", " },\n", " \n", " function(Bokeh) {\n", " /* BEGIN bokeh-tables.min.js */\n", " /*!\n", " * Copyright (c) 2012, Anaconda, Inc.\n", " * All rights reserved.\n", " * \n", " * Redistribution and use in source and binary forms, with or without modification,\n", " * are permitted provided that the following conditions are met:\n", " * \n", " * Redistributions of source code must retain the above copyright notice,\n", " * this list of conditions and the following disclaimer.\n", " * \n", " * Redistributions in binary form must reproduce the above copyright notice,\n", " * this list of conditions and the following disclaimer in the documentation\n", " * and/or other materials provided with the distribution.\n", " * \n", " * Neither the name of Anaconda nor the names of any contributors\n", " * may be used to endorse or promote products derived from this software\n", " * without specific prior written permission.\n", " * \n", " * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n", " * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n", " * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n", " * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\n", " * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n", " * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n", " * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n", " * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n", " * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n", " * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF\n", " * THE POSSIBILITY OF SUCH DAMAGE.\n", " */\n", " !function(a,b){!function(Bokeh){var define;(function(e,t,n){if(null!=Bokeh)return Bokeh.register_plugin(e,{\"models/widgets/tables/cell_editors\":429,\"models/widgets/tables/cell_formatters\":430,\"models/widgets/tables/data_table\":431,\"models/widgets/tables/index\":432,\"models/widgets/tables/main\":433,\"models/widgets/tables/table_column\":434,\"models/widgets/tables/table_widget\":435,\"models/widgets/widget\":436},433);throw new Error(\"Cannot find Bokeh. You have to load it prior to loading plugins.\")})({429:function(e,t,n){var o=e(387),r=e(15),i=e(5),l=e(6),s=e(57),a=e(431),c=function(t){function e(e){return t.call(this,o.__assign({model:e.column.model},e))||this}return o.__extends(e,t),Object.defineProperty(e.prototype,\"emptyValue\",{get:function(){return null},enumerable:!0,configurable:!0}),e.prototype.initialize=function(e){t.prototype.initialize.call(this,e),this.inputEl=this._createInput(),this.defaultValue=null,this.args=e,this.render()},e.prototype.css_classes=function(){return t.prototype.css_classes.call(this).concat(\"bk-cell-editor\")},e.prototype.render=function(){t.prototype.render.call(this),this.args.container.appendChild(this.el),this.el.appendChild(this.inputEl),this.renderEditor(),this.disableNavigation()},e.prototype.renderEditor=function(){},e.prototype.disableNavigation=function(){this.inputEl.addEventListener(\"keydown\",function(e){switch(e.keyCode){case i.Keys.Left:case i.Keys.Right:case i.Keys.Up:case i.Keys.Down:case i.Keys.PageUp:case i.Keys.PageDown:e.stopImmediatePropagation()}})},e.prototype.destroy=function(){this.remove()},e.prototype.focus=function(){this.inputEl.focus()},e.prototype.show=function(){},e.prototype.hide=function(){},e.prototype.position=function(){},e.prototype.getValue=function(){return this.inputEl.value},e.prototype.setValue=function(e){this.inputEl.value=e},e.prototype.serializeValue=function(){return this.getValue()},e.prototype.isValueChanged=function(){return!(\"\"==this.getValue()&&null==this.defaultValue)&&this.getValue()!==this.defaultValue},e.prototype.applyValue=function(e,t){this.args.grid.getData().setField(e[a.DTINDEX_NAME],this.args.column.field,t)},e.prototype.loadValue=function(e){var t=e[this.args.column.field];this.defaultValue=null!=t?t:this.emptyValue,this.setValue(this.defaultValue)},e.prototype.validateValue=function(e){if(this.args.column.validator){var t=this.args.column.validator(e);if(!t.valid)return t}return{valid:!0,msg:null}},e.prototype.validate=function(){return this.validateValue(this.getValue())},e}(l.DOMView);n.CellEditorView=c;var u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.initClass=function(){this.prototype.type=\"CellEditor\"},t}(s.Model);(n.CellEditor=u).initClass();var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o.__extends(e,t),Object.defineProperty(e.prototype,\"emptyValue\",{get:function(){return\"\"},enumerable:!0,configurable:!0}),e.prototype._createInput=function(){return i.input({type:\"text\"})},e.prototype.renderEditor=function(){this.inputEl.focus(),this.inputEl.select()},e.prototype.loadValue=function(e){t.prototype.loadValue.call(this,e),this.inputEl.defaultValue=this.defaultValue,this.inputEl.select()},e}(c);n.StringEditorView=d;var p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.initClass=function(){this.prototype.type=\"StringEditor\",this.prototype.default_view=d,this.define({completions:[r.Array,[]]})},t}(u);(n.StringEditor=p).initClass();var f=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype._createInput=function(){return i.textarea()},t}(c);n.TextEditorView=f;var h=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.initClass=function(){this.prototype.type=\"TextEditor\",this.prototype.default_view=f},t}(u);(n.TextEditor=h).initClass();var g=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype._createInput=function(){return i.select()},t.prototype.renderEditor=function(){for(var e=0,t=this.model.options;e/g,\">\")},t}(r.Model),l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return a.__extends(t,e),t.initClass=function(){this.prototype.type=\"StringFormatter\",this.define({font_style:[o.FontStyle,\"normal\"],text_align:[o.TextAlign,\"left\"],text_color:[o.Color]})},t.prototype.doFormat=function(e,t,n,o,r){var i=this.font_style,l=this.text_align,s=this.text_color,a=d.span({},null==n?\"\":\"\"+n);switch(i){case\"bold\":a.style.fontWeight=\"bold\";break;case\"italic\":a.style.fontStyle=\"italic\"}return null!=l&&(a.style.textAlign=l),null!=s&&(a.style.color=s),a.outerHTML},t}(n.CellFormatter=i);(n.StringFormatter=l).initClass();var f=function(c){function e(){return null!==c&&c.apply(this,arguments)||this}return a.__extends(e,c),e.initClass=function(){this.prototype.type=\"NumberFormatter\",this.define({format:[o.String,\"0,0\"],language:[o.String,\"en\"],rounding:[o.String,\"round\"]})},e.prototype.doFormat=function(e,t,n,o,r){var i=this,l=this.format,s=this.language,a=function(){switch(i.rounding){case\"round\":case\"nearest\":return Math.round;case\"floor\":case\"rounddown\":return Math.floor;case\"ceil\":case\"roundup\":return Math.ceil}}();return n=u.format(n,l,s,a),c.prototype.doFormat.call(this,e,t,n,o,r)},e}(l);(n.NumberFormatter=f).initClass();var h=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return a.__extends(t,e),t.initClass=function(){this.prototype.type=\"BooleanFormatter\",this.define({icon:[o.String,\"check\"]})},t.prototype.doFormat=function(e,t,n,o,r){return n?d.i({class:this.icon}).outerHTML:\"\"},t}(i);(n.BooleanFormatter=h).initClass();var g=function(l){function e(){return null!==l&&l.apply(this,arguments)||this}return a.__extends(e,l),e.initClass=function(){this.prototype.type=\"DateFormatter\",this.define({format:[o.String,\"ISO-8601\"]})},e.prototype.getFormat=function(){switch(this.format){case\"ATOM\":case\"W3C\":case\"RFC-3339\":case\"ISO-8601\":return\"%Y-%m-%d\";case\"COOKIE\":return\"%a, %d %b %Y\";case\"RFC-850\":return\"%A, %d-%b-%y\";case\"RFC-1123\":case\"RFC-2822\":return\"%a, %e %b %Y\";case\"RSS\":case\"RFC-822\":case\"RFC-1036\":return\"%a, %e %b %y\";case\"TIMESTAMP\":return;default:return this.format}},e.prototype.doFormat=function(e,t,n,o,r){n=p.isString(n)?parseInt(n,10):n;var i=s(n,this.getFormat());return l.prototype.doFormat.call(this,e,t,i,o,r)},e}(i);(n.DateFormatter=g).initClass();var m=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return a.__extends(t,e),t.initClass=function(){this.prototype.type=\"HTMLTemplateFormatter\",this.define({template:[o.String,\"<%= value %>\"]})},t.prototype.doFormat=function(e,t,n,o,r){var i=this.template;if(null==n)return\"\";var l=c(i),s=a.__assign({},r,{value:n});return l(s)},t}(i);(n.HTMLTemplateFormatter=m).initClass()},431:function(e,t,i){var o=e(387),s=e(443).Grid,a=e(441).RowSelectionModel,c=e(440).CheckboxSelectColumn,r=e(15),n=e(38),l=e(21),u=e(32),d=e(14),p=e(435),f=e(436);i.DTINDEX_NAME=\"__bkdt_internal_index__\";var h=function(){function e(e,t){if(this.source=e,this.view=t,i.DTINDEX_NAME in this.source.data)throw new Error(\"special name \"+i.DTINDEX_NAME+\" cannot be used as a data table column\");this.index=this.view.indices}return e.prototype.getLength=function(){return this.index.length},e.prototype.getItem=function(e){for(var t={},n=0,o=u.keys(this.source.data);n+~]|\"+F+\")\"+F+\"*\"),O=new RegExp(\"=\"+F+\"*([^\\\\]'\\\"]*?)\"+F+\"*\\\\]\",\"g\"),z=new RegExp(W),X=new RegExp(\"^\"+I+\"$\"),U={ID:new RegExp(\"^#(\"+I+\")\"),CLASS:new RegExp(\"^\\\\.(\"+I+\")\"),TAG:new RegExp(\"^(\"+I+\"|[*])\"),ATTR:new RegExp(\"^\"+M),PSEUDO:new RegExp(\"^\"+W),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+F+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+F+\"*(?:([+-]|)\"+F+\"*(\\\\d+)|))\"+F+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+_+\")$\",\"i\"),needsContext:new RegExp(\"^\"+F+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+F+\"*((?:-\\\\d)?\\\\d*)\"+F+\"*\\\\)|)(?=[^-]|$)\",\"i\")},K=/^(?:input|select|textarea|button)$/i,G=/^h\\d$/i,Y=/^[^{]+\\{\\s*\\[native \\w/,Q=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,J=/[+~]/,Z=new RegExp(\"\\\\\\\\([\\\\da-f]{1,6}\"+F+\"?|(\"+F+\")|.)\",\"ig\"),ee=function(e,t,n){var o=\"0x\"+t-65536;return o!=o||n?t:o<0?String.fromCharCode(o+65536):String.fromCharCode(o>>10|55296,1023&o|56320)},te=/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,ne=function(e,t){return t?\"\\0\"===e?\"�\":e.slice(0,-1)+\"\\\\\"+e.charCodeAt(e.length-1).toString(16)+\" \":\"\\\\\"+e},oe=function(){x()},re=we(function(e){return!0===e.disabled&&(\"form\"in e||\"label\"in e)},{dir:\"parentNode\",next:\"legend\"});try{$.apply(t=H.call(w.childNodes),w.childNodes),t[w.childNodes.length].nodeType}catch(e){$={apply:t.length?function(e,t){A.apply(e,H.call(t))}:function(e,t){for(var n=e.length,o=0;e[n++]=t[o++];);e.length=n-1}}}function ie(e,t,n,o){var r,i,l,s,a,c,u,d=t&&t.ownerDocument,p=t?t.nodeType:9;if(n=n||[],\"string\"!=typeof e||!e||1!==p&&9!==p&&11!==p)return n;if(!o&&((t?t.ownerDocument||t:w)!==R&&x(t),t=t||R,S)){if(11!==p&&(a=Q.exec(e)))if(r=a[1]){if(9===p){if(!(l=t.getElementById(r)))return n;if(l.id===r)return n.push(l),n}else if(d&&(l=d.getElementById(r))&&v(t,l)&&l.id===r)return n.push(l),n}else{if(a[2])return $.apply(n,t.getElementsByTagName(e)),n;if((r=a[3])&&f.getElementsByClassName&&t.getElementsByClassName)return $.apply(n,t.getElementsByClassName(r)),n}if(f.qsa&&!T[e+\" \"]&&(!m||!m.test(e))){if(1!==p)d=t,u=e;else if(\"object\"!==t.nodeName.toLowerCase()){for((s=t.getAttribute(\"id\"))?s=s.replace(te,ne):t.setAttribute(\"id\",s=E),c=h(e),i=c.length;i--;)c[i]=\"#\"+s+\" \"+ve(c[i]);u=c.join(\",\"),d=J.test(e)&&ge(t.parentNode)||t}if(u)try{return $.apply(n,d.querySelectorAll(u)),n}catch(e){}finally{s===E&&t.removeAttribute(\"id\")}}}return g(e.replace(V,\"$1\"),t,n,o)}function le(){var o=[];return function e(t,n){o.push(t+\" \")>C.cacheLength&&delete e[o.shift()];return e[t+\" \"]=n}}function se(e){return e[E]=!0,e}function ae(e){var t=R.createElement(\"fieldset\");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ce(e,t){for(var n=e.split(\"|\"),o=n.length;o--;)C.attrHandle[n[o]]=t}function ue(e,t){var n=t&&e,o=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(o)return o;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(n){return function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&e.type===n}}function pe(n){return function(e){var t=e.nodeName.toLowerCase();return(\"input\"===t||\"button\"===t)&&e.type===n}}function fe(t){return function(e){return\"form\"in e?e.parentNode&&!1===e.disabled?\"label\"in e?\"label\"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&re(e)===t:e.disabled===t:\"label\"in e&&e.disabled===t}}function he(l){return se(function(i){return i=+i,se(function(e,t){for(var n,o=l([],e.length,i),r=o.length;r--;)e[n=o[r]]&&(e[n]=!(t[n]=e[n]))})})}function ge(e){return e&&void 0!==e.getElementsByTagName&&e}for(e in f=ie.support={},r=ie.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&\"HTML\"!==t.nodeName},x=ie.setDocument=function(e){var t,n,o=e?e.ownerDocument||e:w;return o!==R&&9===o.nodeType&&o.documentElement&&(l=(R=o).documentElement,S=!r(R),w!==R&&(n=R.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener(\"unload\",oe,!1):n.attachEvent&&n.attachEvent(\"onunload\",oe)),f.attributes=ae(function(e){return e.className=\"i\",!e.getAttribute(\"className\")}),f.getElementsByTagName=ae(function(e){return e.appendChild(R.createComment(\"\")),!e.getElementsByTagName(\"*\").length}),f.getElementsByClassName=Y.test(R.getElementsByClassName),f.getById=ae(function(e){return l.appendChild(e).id=E,!R.getElementsByName||!R.getElementsByName(E).length}),f.getById?(C.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute(\"id\")===t}},C.find.ID=function(e,t){if(void 0!==t.getElementById&&S){var n=t.getElementById(e);return n?[n]:[]}}):(C.filter.ID=function(e){var n=e.replace(Z,ee);return function(e){var t=void 0!==e.getAttributeNode&&e.getAttributeNode(\"id\");return t&&t.value===n}},C.find.ID=function(e,t){if(void 0!==t.getElementById&&S){var n,o,r,i=t.getElementById(e);if(i){if((n=i.getAttributeNode(\"id\"))&&n.value===e)return[i];for(r=t.getElementsByName(e),o=0;i=r[o++];)if((n=i.getAttributeNode(\"id\"))&&n.value===e)return[i]}return[]}}),C.find.TAG=f.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):f.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,o=[],r=0,i=t.getElementsByTagName(e);if(\"*\"===e){for(;n=i[r++];)1===n.nodeType&&o.push(n);return o}return i},C.find.CLASS=f.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&S)return t.getElementsByClassName(e)},s=[],m=[],(f.qsa=Y.test(R.querySelectorAll))&&(ae(function(e){l.appendChild(e).innerHTML=\"\",e.querySelectorAll(\"[msallowcapture^='']\").length&&m.push(\"[*^$]=\"+F+\"*(?:''|\\\"\\\")\"),e.querySelectorAll(\"[selected]\").length||m.push(\"\\\\[\"+F+\"*(?:value|\"+_+\")\"),e.querySelectorAll(\"[id~=\"+E+\"-]\").length||m.push(\"~=\"),e.querySelectorAll(\":checked\").length||m.push(\":checked\"),e.querySelectorAll(\"a#\"+E+\"+*\").length||m.push(\".#.+[+~]\")}),ae(function(e){e.innerHTML=\"\";var t=R.createElement(\"input\");t.setAttribute(\"type\",\"hidden\"),e.appendChild(t).setAttribute(\"name\",\"D\"),e.querySelectorAll(\"[name=d]\").length&&m.push(\"name\"+F+\"*[*^$|!~]?=\"),2!==e.querySelectorAll(\":enabled\").length&&m.push(\":enabled\",\":disabled\"),l.appendChild(e).disabled=!0,2!==e.querySelectorAll(\":disabled\").length&&m.push(\":enabled\",\":disabled\"),e.querySelectorAll(\"*,:x\"),m.push(\",.*:\")})),(f.matchesSelector=Y.test(u=l.matches||l.webkitMatchesSelector||l.mozMatchesSelector||l.oMatchesSelector||l.msMatchesSelector))&&ae(function(e){f.disconnectedMatch=u.call(e,\"*\"),u.call(e,\"[s!='']:x\"),s.push(\"!=\",W)}),m=m.length&&new RegExp(m.join(\"|\")),s=s.length&&new RegExp(s.join(\"|\")),t=Y.test(l.compareDocumentPosition),v=t||Y.test(l.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,o=t&&t.parentNode;return e===o||!(!o||1!==o.nodeType||!(n.contains?n.contains(o):e.compareDocumentPosition&&16&e.compareDocumentPosition(o)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},P=t?function(e,t){if(e===t)return c=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!f.sortDetached&&t.compareDocumentPosition(e)===n?e===R||e.ownerDocument===w&&v(w,e)?-1:t===R||t.ownerDocument===w&&v(w,t)?1:a?L(a,e)-L(a,t):0:4&n?-1:1)}:function(e,t){if(e===t)return c=!0,0;var n,o=0,r=e.parentNode,i=t.parentNode,l=[e],s=[t];if(!r||!i)return e===R?-1:t===R?1:r?-1:i?1:a?L(a,e)-L(a,t):0;if(r===i)return ue(e,t);for(n=e;n=n.parentNode;)l.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;l[o]===s[o];)o++;return o?ue(l[o],s[o]):l[o]===w?-1:s[o]===w?1:0}),R},ie.matches=function(e,t){return ie(e,null,null,t)},ie.matchesSelector=function(e,t){if((e.ownerDocument||e)!==R&&x(e),t=t.replace(O,\"='$1']\"),f.matchesSelector&&S&&!T[t+\" \"]&&(!s||!s.test(t))&&(!m||!m.test(t)))try{var n=u.call(e,t);if(n||f.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){}return 0\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||\"\").replace(Z,ee),\"~=\"===e[2]&&(e[3]=\" \"+e[3]+\" \"),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),\"nth\"===e[1].slice(0,3)?(e[3]||ie.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*(\"even\"===e[3]||\"odd\"===e[3])),e[5]=+(e[7]+e[8]||\"odd\"===e[3])):e[3]&&ie.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return U.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||\"\":n&&z.test(n)&&(t=h(n,!0))&&(t=n.indexOf(\")\",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return\"*\"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+\" \"];return t||(t=new RegExp(\"(^|\"+F+\")\"+e+\"(\"+F+\"|$)\"))&&p(e,function(e){return t.test(\"string\"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute(\"class\")||\"\")})},ATTR:function(n,o,r){return function(e){var t=ie.attr(e,n);return null==t?\"!=\"===o:!o||(t+=\"\",\"=\"===o?t===r:\"!=\"===o?t!==r:\"^=\"===o?r&&0===t.indexOf(r):\"*=\"===o?r&&-1\",\"#\"===e.firstChild.getAttribute(\"href\")})||ce(\"type|href|height|width\",function(e,t,n){if(!n)return e.getAttribute(t,\"type\"===t.toLowerCase()?1:2)}),f.attributes&&ae(function(e){return e.innerHTML=\"\",e.firstChild.setAttribute(\"value\",\"\"),\"\"===e.firstChild.getAttribute(\"value\")})||ce(\"value\",function(e,t,n){if(!n&&\"input\"===e.nodeName.toLowerCase())return e.defaultValue}),ae(function(e){return null==e.getAttribute(\"disabled\")})||ce(_,function(e,t,n){var o;if(!n)return!0===e[t]?t.toLowerCase():(o=e.getAttributeNode(t))&&o.specified?o.value:null}),ie}(R);E.find=y,E.expr=y.selectors,E.expr[\":\"]=E.expr.pseudos,E.uniqueSort=E.unique=y.uniqueSort,E.text=y.getText,E.isXMLDoc=y.isXML,E.contains=y.contains,E.escapeSelector=y.escape;var C=function(e,t,n){for(var o=[],r=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(r&&E(e).is(n))break;o.push(e)}return o},b=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},x=E.expr.match.needsContext;function k(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var T=/^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i,P=/^.[^:#\\[\\.,]*$/;function D(e,n,o){return E.isFunction(n)?E.grep(e,function(e,t){return!!n.call(e,t,e)!==o}):n.nodeType?E.grep(e,function(e){return e===n!==o}):\"string\"!=typeof n?E.grep(e,function(e){return-1)[^>]*|#([\\w-]+))$/,$=E.fn.init=function(e,t,n){var o,r;if(!e)return this;if(n=n||N,\"string\"==typeof e){if(!(o=\"<\"===e[0]&&\">\"===e[e.length-1]&&3<=e.length?[null,e,null]:A.exec(e))||!o[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(o[1]){if(t=t instanceof E?t[0]:t,E.merge(this,E.parseHTML(o[1],t&&t.nodeType?t.ownerDocument||t:S,!0)),T.test(o[1])&&E.isPlainObject(t))for(o in t)E.isFunction(this[o])?this[o](t[o]):this.attr(o,t[o]);return this}return(r=S.getElementById(o[2]))&&(this[0]=r,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):E.isFunction(e)?void 0!==n.ready?n.ready(e):e(E):E.makeArray(e,this)};$.prototype=E.fn,N=E(S);var H=/^(?:parents|prev(?:Until|All))/,L={children:!0,contents:!0,next:!0,prev:!0};function _(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}E.fn.extend({has:function(e){var t=E(e,this),n=t.length;return this.filter(function(){for(var e=0;e\\x20\\t\\r\\n\\f]+)/i,ae=/^$|\\/(?:java|ecma)script/i,ce={option:[1,\"\"],thead:[1,\"\",\"
\"],col:[2,\"\",\"
\"],tr:[2,\"\",\"
\"],td:[3,\"\",\"
\"],_default:[0,\"\",\"\"]};function ue(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||\"*\"):void 0!==e.querySelectorAll?e.querySelectorAll(t||\"*\"):[],void 0===t||t&&k(e,t)?E.merge([e],n):n}function de(e,t){for(var n=0,o=e.length;nx\",m.noCloneChecked=!!fe.cloneNode(!0).lastChild.defaultValue;var ve=S.documentElement,we=/^key/,ye=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\\.(.+)|)/;function be(){return!0}function xe(){return!1}function Re(){try{return S.activeElement}catch(e){}}function Se(e,t,n,o,r,i){var l,s;if(\"object\"==typeof t){for(s in\"string\"!=typeof n&&(o=o||n,n=void 0),t)Se(e,s,n,o,t[s],i);return e}if(null==o&&null==r?(r=n,o=n=void 0):null==r&&(\"string\"==typeof n?(r=o,o=void 0):(r=o,o=n,n=void 0)),!1===r)r=xe;else if(!r)return e;return 1===i&&(l=r,(r=function(e){return E().off(e),l.apply(this,arguments)}).guid=l.guid||(l.guid=E.guid++)),e.each(function(){E.event.add(this,t,r,o,n)})}E.event={global:{},add:function(t,e,n,o,r){var i,l,s,a,c,u,d,p,f,h,g,m=X.get(t);if(m)for(n.handler&&(n=(i=n).handler,r=i.selector),r&&E.find.matchesSelector(ve,r),n.guid||(n.guid=E.guid++),(a=m.events)||(a=m.events={}),(l=m.handle)||(l=m.handle=function(e){return void 0!==E&&E.event.triggered!==e.type?E.event.dispatch.apply(t,arguments):void 0}),e=(e||\"\").match(F)||[\"\"],c=e.length;c--;)s=Ce.exec(e[c])||[],f=g=s[1],h=(s[2]||\"\").split(\".\").sort(),f&&(d=E.event.special[f]||{},f=(r?d.delegateType:d.bindType)||f,d=E.event.special[f]||{},u=E.extend({type:f,origType:g,data:o,handler:n,guid:n.guid,selector:r,needsContext:r&&E.expr.match.needsContext.test(r),namespace:h.join(\".\")},i),(p=a[f])||((p=a[f]=[]).delegateCount=0,d.setup&&!1!==d.setup.call(t,o,h,l)||t.addEventListener&&t.addEventListener(f,l)),d.add&&(d.add.call(t,u),u.handler.guid||(u.handler.guid=n.guid)),r?p.splice(p.delegateCount++,0,u):p.push(u),E.event.global[f]=!0)},remove:function(e,t,n,o,r){var i,l,s,a,c,u,d,p,f,h,g,m=X.hasData(e)&&X.get(e);if(m&&(a=m.events)){for(t=(t||\"\").match(F)||[\"\"],c=t.length;c--;)if(s=Ce.exec(t[c])||[],f=g=s[1],h=(s[2]||\"\").split(\".\").sort(),f){for(d=E.event.special[f]||{},f=(o?d.delegateType:d.bindType)||f,p=a[f]||[],s=s[2]&&new RegExp(\"(^|\\\\.)\"+h.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"),l=i=p.length;i--;)u=p[i],!r&&g!==u.origType||n&&n.guid!==u.guid||s&&!s.test(u.namespace)||o&&o!==u.selector&&(\"**\"!==o||!u.selector)||(p.splice(i,1),u.selector&&p.delegateCount--,d.remove&&d.remove.call(e,u));l&&!p.length&&(d.teardown&&!1!==d.teardown.call(e,h,m.handle)||E.removeEvent(e,f,m.handle),delete a[f])}else for(f in a)E.event.remove(e,f+t[c],n,o,!0);E.isEmptyObject(a)&&X.remove(e,\"handle events\")}},dispatch:function(e){var t,n,o,r,i,l,s=E.event.fix(e),a=new Array(arguments.length),c=(X.get(this,\"events\")||{})[s.type]||[],u=E.event.special[s.type]||{};for(a[0]=s,t=1;t\\x20\\t\\r\\n\\f]*)[^>]*)\\/>/gi,ke=/\\s*$/g;function Ne(e,t){return k(e,\"table\")&&k(11!==t.nodeType?t:t.firstChild,\"tr\")&&E(\">tbody\",e)[0]||e}function Ae(e){return e.type=(null!==e.getAttribute(\"type\"))+\"/\"+e.type,e}function $e(e){var t=Pe.exec(e.type);return t?e.type=t[1]:e.removeAttribute(\"type\"),e}function He(e,t){var n,o,r,i,l,s,a,c;if(1===t.nodeType){if(X.hasData(e)&&(i=X.access(e),l=X.set(t,i),c=i.events))for(r in delete l.handle,l.events={},c)for(n=0,o=c[r].length;n\")},clone:function(e,t,n){var o,r,i,l,s=e.cloneNode(!0),a=E.contains(e.ownerDocument,e);if(!(m.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||E.isXMLDoc(e)))for(l=ue(s),i=ue(e),o=0,r=i.length;o\").prop({charset:n.scriptCharset,src:n.url}).on(\"load error\",r=function(e){o.remove(),r=null,e&&t(\"error\"===e.type?404:200,e.type)}),S.head.appendChild(o[0])},abort:function(){r&&r()}}});var Bt,qt=[],Ot=/(=)\\?(?=&|$)|\\?\\?/;E.ajaxSetup({jsonp:\"callback\",jsonpCallback:function(){var e=qt.pop()||E.expando+\"_\"+Ct++;return this[e]=!0,e}}),E.ajaxPrefilter(\"json jsonp\",function(e,t,n){var o,r,i,l=!1!==e.jsonp&&(Ot.test(e.url)?\"url\":\"string\"==typeof e.data&&0===(e.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&Ot.test(e.data)&&\"data\");if(l||\"jsonp\"===e.dataTypes[0])return o=e.jsonpCallback=E.isFunction(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,l?e[l]=e[l].replace(Ot,\"$1\"+o):!1!==e.jsonp&&(e.url+=(bt.test(e.url)?\"&\":\"?\")+e.jsonp+\"=\"+o),e.converters[\"script json\"]=function(){return i||E.error(o+\" was not called\"),i[0]},e.dataTypes[0]=\"json\",r=R[o],R[o]=function(){i=arguments},n.always(function(){void 0===r?E(R).removeProp(o):R[o]=r,e[o]&&(e.jsonpCallback=t.jsonpCallback,qt.push(o)),i&&E.isFunction(r)&&r(i[0]),i=r=void 0}),\"script\"}),m.createHTMLDocument=((Bt=S.implementation.createHTMLDocument(\"\").body).innerHTML=\"
\",2===Bt.childNodes.length),E.parseHTML=function(e,t,n){return\"string\"!=typeof e?[]:(\"boolean\"==typeof t&&(n=t,t=!1),t||(m.createHTMLDocument?(t=S.implementation.createHTMLDocument(\"\"),(o=t.createElement(\"base\")).href=S.location.href,t.head.appendChild(o)):t=S),r=T.exec(e),i=!n&&[],r?[t.createElement(r[1])]:(r=me([e],t,i),i&&i.length&&E(i).remove(),E.merge([],r.childNodes)));var o,r,i},E.fn.load=function(e,t,n){var o,r,i,l=this,s=e.indexOf(\" \");return-1\").append(E.parseHTML(e)).find(o):e)}).always(n&&function(e,t){l.each(function(){n.apply(this,i||[e.responseText,t,e])})}),this},E.each([\"ajaxStart\",\"ajaxStop\",\"ajaxComplete\",\"ajaxError\",\"ajaxSuccess\",\"ajaxSend\"],function(e,t){E.fn[t]=function(e){return this.on(t,e)}}),E.expr.pseudos.animated=function(t){return E.grep(E.timers,function(e){return t===e.elem}).length},E.offset={setOffset:function(e,t,n){var o,r,i,l,s,a,c=E.css(e,\"position\"),u=E(e),d={};\"static\"===c&&(e.style.position=\"relative\"),s=u.offset(),i=E.css(e,\"top\"),a=E.css(e,\"left\"),(\"absolute\"===c||\"fixed\"===c)&&-1<(i+a).indexOf(\"auto\")?(o=u.position(),l=o.top,r=o.left):(l=parseFloat(i)||0,r=parseFloat(a)||0),E.isFunction(t)&&(t=t.call(e,n,E.extend({},s))),null!=t.top&&(d.top=t.top-s.top+l),null!=t.left&&(d.left=t.left-s.left+r),\"using\"in t?t.using.call(e,d):u.css(d)}},E.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){E.offset.setOffset(this,t,e)});var e,n,o,r,i=this[0];return i?i.getClientRects().length?(o=i.getBoundingClientRect(),e=i.ownerDocument,n=e.documentElement,r=e.defaultView,{top:o.top+r.pageYOffset-n.clientTop,left:o.left+r.pageXOffset-n.clientLeft}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n=this[0],o={top:0,left:0};return\"fixed\"===E.css(n,\"position\")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),k(e[0],\"html\")||(o=e.offset()),o={top:o.top+E.css(e[0],\"borderTopWidth\",!0),left:o.left+E.css(e[0],\"borderLeftWidth\",!0)}),{top:t.top-o.top-E.css(n,\"marginTop\",!0),left:t.left-o.left-E.css(n,\"marginLeft\",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&\"static\"===E.css(e,\"position\");)e=e.offsetParent;return e||ve})}}),E.each({scrollLeft:\"pageXOffset\",scrollTop:\"pageYOffset\"},function(t,r){var i=\"pageYOffset\"===r;E.fn[t]=function(e){return q(this,function(e,t,n){var o;if(E.isWindow(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===n)return o?o[r]:e[t];o?o.scrollTo(i?o.pageXOffset:n,i?n:o.pageYOffset):e[t]=n},t,e,arguments.length)}}),E.each([\"top\",\"left\"],function(e,n){E.cssHooks[n]=Ve(m.pixelPosition,function(e,t){if(t)return t=je(e,n),Me.test(t)?E(e).position()[n]+\"px\":t})}),E.each({Height:\"height\",Width:\"width\"},function(l,s){E.each({padding:\"inner\"+l,content:s,\"\":\"outer\"+l},function(o,i){E.fn[i]=function(e,t){var n=arguments.length&&(o||\"boolean\"!=typeof e),r=o||(!0===e||!0===t?\"margin\":\"border\");return q(this,function(e,t,n){var o;return E.isWindow(e)?0===i.indexOf(\"outer\")?e[\"inner\"+l]:e.document.documentElement[\"client\"+l]:9===e.nodeType?(o=e.documentElement,Math.max(e.body[\"scroll\"+l],o[\"scroll\"+l],e.body[\"offset\"+l],o[\"offset\"+l],o[\"client\"+l])):void 0===n?E.css(e,t,r):E.style(e,t,n,r)},s,n?e:void 0,n)}})}),E.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,o){return this.on(t,e,n,o)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,\"**\"):this.off(t,e||\"**\",n)}}),E.holdReady=function(e){e?E.readyWait++:E.ready(!0)},E.isArray=Array.isArray,E.parseJSON=JSON.parse,E.nodeName=k,\"function\"==typeof define&&define.amd&&define(\"jquery\",[],function(){return E});var zt=R.jQuery,Xt=R.$;return E.noConflict=function(e){return R.$===E&&(R.$=Xt),e&&R.jQuery===E&&(R.jQuery=zt),E},e||(R.jQuery=R.$=E),E})},438:function(e,t,n){\n", " /*!\n", " * jquery.event.drag - v 2.3.0\n", " * Copyright (c) 2010 Three Dub Media - http://threedubmedia.com\n", " * Open Source MIT License - http://threedubmedia.com/code/license\n", " */\n", " var f=e(444);f.fn.drag=function(e,t,n){var o=\"string\"==typeof e?e:\"\",r=f.isFunction(e)?e:f.isFunction(t)?t:null;return 0!==o.indexOf(\"drag\")&&(o=\"drag\"+o),n=(e==r?t:n)||{},r?this.on(o,n,r):this.trigger(o)};var h=f.event,o=h.special,g=o.drag={defaults:{which:1,distance:0,not:\":input\",handle:null,relative:!1,drop:!0,click:!1},datakey:\"dragdata\",noBubble:!0,add:function(e){var n=f.data(this,g.datakey),o=e.data||{};n.related+=1,f.each(g.defaults,function(e,t){void 0!==o[e]&&(n[e]=o[e])})},remove:function(){f.data(this,g.datakey).related-=1},setup:function(){if(!f.data(this,g.datakey)){var e=f.extend({related:0},g.defaults);f.data(this,g.datakey,e),h.add(this,\"touchstart mousedown\",g.init,e),this.attachEvent&&this.attachEvent(\"ondragstart\",g.dontstart)}},teardown:function(){var e=f.data(this,g.datakey)||{};e.related||(f.removeData(this,g.datakey),h.remove(this,\"touchstart mousedown\",g.init),g.textselect(!0),this.detachEvent&&this.detachEvent(\"ondragstart\",g.dontstart))},init:function(e){if(!g.touched){var t,n=e.data;if(!(0!=e.which&&0=e.left&&(t[0]||t.right)<=e.right&&(t[1]||t.top)>=e.top&&(t[1]||t.bottom)<=e.bottom},modes:{intersect:function(e,t,n){return this.contains(n,[e.pageX,e.pageY])?1e9:this.modes.overlap.apply(this,arguments)},overlap:function(e,t,n){return Math.max(0,Math.min(n.bottom,t.bottom)-Math.max(n.top,t.top))*Math.max(0,Math.min(n.right,t.right)-Math.max(n.left,t.left))},fit:function(e,t,n){return this.contains(n,t)?1:0},middle:function(e,t,n){return this.contains(n,[t.left+.5*t.width,t.top+.5*t.height])?1:0}},sort:function(e,t){return t.winner-e.winner||e.index-t.index},tolerate:function(e){var t,n,o,r,i,l,s,a,c=0,u=e.interactions.length,d=[g.event.pageX,g.event.pageY],p=g.tolerance||g.modes[g.mode];do{if(a=e.interactions[c]){if(!a)return;a.drop=[],i=[],l=a.droppable.length,p&&(o=g.locate(a.proxy)),t=0;do{if(s=a.droppable[t]){if(r=f.data(s,g.datakey),!(n=r.location))continue;r.winner=p?p.call(g,g.event,o,n):g.contains(n,d)?1:0,i.push(r)}}while(++t\",a.toolTip):l.updateColumnHeader(a.columnId,\"\",a.toolTip)}function o(e,t){32==e.which&&l.getColumns()[t.cell].id===a.columnId&&(l.getEditorLock().isActive()&&!l.getEditorLock().commitCurrentEdit()||i(t.row),e.preventDefault(),e.stopImmediatePropagation())}function r(e,t){if(l.getColumns()[t.cell].id===a.columnId&&d(e.target).is(\":checkbox\")){if(l.getEditorLock().isActive()&&!l.getEditorLock().commitCurrentEdit())return e.preventDefault(),void e.stopImmediatePropagation();i(t.row),e.stopPropagation(),e.stopImmediatePropagation()}}function i(t){s[t]?l.setSelectedRows(d.grep(l.getSelectedRows(),function(e){return e!=t})):l.setSelectedRows(l.getSelectedRows().concat(t))}function c(e,t){if(t.column.id==a.columnId&&d(e.target).is(\":checkbox\")){if(l.getEditorLock().isActive()&&!l.getEditorLock().commitCurrentEdit())return e.preventDefault(),void e.stopImmediatePropagation();if(d(e.target).is(\":checked\")){for(var n=[],o=0;o\":\"\":null}d.extend(this,{init:function(e){l=e,t.subscribe(l.onSelectedRowsChanged,n).subscribe(l.onClick,r).subscribe(l.onHeaderClick,c).subscribe(l.onKeyDown,o)},destroy:function(){t.unsubscribeAll()},deSelectRows:function(e){var t,n=e.length,o=[];for(t=0;t\",toolTip:a.toolTip,field:\"sel\",width:a.width,resizable:!1,sortable:!1,cssClass:a.cssClass,formatter:u}}})}}},441:function(e,t,n){var v=e(444),w=e(442);t.exports={RowSelectionModel:function(t){var c,n,o,u=[],r=this,i=new w.EventHandler,l={selectActiveRow:!0};function s(e){return function(){n||(n=!0,e.apply(this,arguments),n=!1)}}function d(e){for(var t=[],n=0;n=this.fromRow&&e<=this.toRow&&t>=this.fromCell&&t<=this.toCell},this.toString=function(){return this.isSingleCell()?\"(\"+this.fromRow+\":\"+this.fromCell+\")\":\"(\"+this.fromRow+\":\"+this.fromCell+\" - \"+this.toRow+\":\"+this.toCell+\")\"}},NonDataRow:o,Group:r,GroupTotals:i,EditorLock:s,GlobalEditorLock:new s,keyCode:{BACKSPACE:8,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,ESC:27,HOME:36,INSERT:45,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,RIGHT:39,TAB:9,UP:38,C:67,V:86},preClickClassName:\"slick-edit-preclick\"}},443:function _(require,module,exports){\n", " /**\n", " * @license\n", " * (c) 2009-2016 Michael Leibman\n", " * michael{dot}leibman{at}gmail{dot}com\n", " * http://github.com/mleibman/slickgrid\n", " *\n", " * Distributed under MIT license.\n", " * All rights reserved.\n", " *\n", " * SlickGrid v2.3\n", " *\n", " * NOTES:\n", " * Cell/row DOM manipulations are done directly bypassing jQuery's DOM manipulation methods.\n", " * This increases the speed dramatically, but can only be done safely because there are no event handlers\n", " * or data associated with any cell/row DOM nodes. Cell editors must make sure they implement .destroy()\n", " * and do proper cleanup.\n", " */\n", " var $=require(444),Slick=require(442),scrollbarDimensions,maxSupportedCssHeight;function SlickGrid(container,data,columns,options){$.fn.drag||require(438),$.fn.drop||require(439);var defaults={explicitInitialization:!1,rowHeight:25,defaultColumnWidth:80,enableAddRow:!1,leaveSpaceForNewRows:!1,editable:!1,autoEdit:!0,enableCellNavigation:!0,enableColumnReorder:!0,asyncEditorLoading:!1,asyncEditorLoadDelay:100,forceFitColumns:!1,enableAsyncPostRender:!1,asyncPostRenderDelay:50,enableAsyncPostRenderCleanup:!1,asyncPostRenderCleanupDelay:40,autoHeight:!1,editorLock:Slick.GlobalEditorLock,showHeaderRow:!1,headerRowHeight:25,createFooterRow:!1,showFooterRow:!1,footerRowHeight:25,createPreHeaderPanel:!1,showPreHeaderPanel:!1,preHeaderPanelHeight:25,showTopPanel:!1,topPanelHeight:25,formatterFactory:null,editorFactory:null,cellFlashingCssClass:\"flashing\",selectedCellCssClass:\"selected\",multiSelect:!0,enableTextSelectionOnCells:!1,dataItemColumnValueExtractor:null,fullWidthRows:!1,multiColumnSort:!1,numberedMultiColumnSort:!1,tristateMultiColumnSort:!1,defaultFormatter:defaultFormatter,forceSyncScrolling:!1,addNewRowCssClass:\"new-row\",preserveCopiedSelectionOnPaste:!1,showCellSelection:!0},columnDefaults={name:\"\",resizable:!0,sortable:!1,minWidth:30,rerenderOnResize:!1,headerCssClass:null,defaultSortAsc:!0,focusable:!0,selectable:!0},th,h,ph,n,cj,page=0,offset=0,vScrollDir=1,initialized=!1,$container,uid=\"slickgrid_\"+Math.round(1e6*Math.random()),self=this,$focusSink,$focusSink2,$headerScroller,$headers,$headerRow,$headerRowScroller,$headerRowSpacer,$footerRow,$footerRowScroller,$footerRowSpacer,$preHeaderPanel,$preHeaderPanelScroller,$preHeaderPanelSpacer,$topPanelScroller,$topPanel,$viewport,$canvas,$style,$boundAncestors,stylesheet,columnCssRulesL,columnCssRulesR,viewportH,viewportW,canvasWidth,viewportHasHScroll,viewportHasVScroll,headerColumnWidthDiff=0,headerColumnHeightDiff=0,cellWidthDiff=0,cellHeightDiff=0,jQueryNewWidthBehaviour=!1,absoluteColumnMinWidth,sortIndicatorCssClass=\"slick-sort-indicator\",tabbingDirection=1,activePosX,activeRow,activeCell,activeCellNode=null,currentEditor=null,serializedEditorValue,editController,rowsCache={},renderedRows=0,numVisibleRows,prevScrollTop=0,scrollTop=0,lastRenderedScrollTop=0,lastRenderedScrollLeft=0,prevScrollLeft=0,scrollLeft=0,selectionModel,selectedRows=[],plugins=[],cellCssClasses={},columnsById={},sortColumns=[],columnPosLeft=[],columnPosRight=[],pagingActive=!1,pagingIsLastPage=!1,h_editorLoader=null,h_render=null,h_postrender=null,h_postrenderCleanup=null,postProcessedRows={},postProcessToRow=null,postProcessFromRow=null,postProcessedCleanupQueue=[],postProcessgroupId=0,counter_rows_rendered=0,counter_rows_removed=0,rowNodeFromLastMouseWheelEvent,zombieRowNodeFromLastMouseWheelEvent,zombieRowCacheFromLastMouseWheelEvent,zombieRowPostProcessedFromLastMouseWheelEvent,cssShow={position:\"absolute\",visibility:\"hidden\",display:\"block\"},$hiddenParents,oldProps=[];function init(){if(($container=container instanceof $?container:$(container)).length<1)throw new Error(\"SlickGrid requires a valid container, \"+container+\" does not exist in the DOM.\");cacheCssForHiddenInit(),maxSupportedCssHeight=maxSupportedCssHeight||getMaxSupportedCssHeight(),scrollbarDimensions=scrollbarDimensions||measureScrollbar(),options=$.extend({},defaults,options),validateAndEnforceOptions(),columnDefaults.width=options.defaultColumnWidth,columnsById={};for(var e=0;et.maxWidth&&(t.width=t.maxWidth)}if(options.enableColumnReorder&&!$.fn.sortable)throw new Error(\"SlickGrid's 'enableColumnReorder = true' option requires jquery-ui.sortable module to be loaded\");editController={commitCurrentEdit:commitCurrentEdit,cancelCurrentEdit:cancelCurrentEdit},$container.empty().css(\"overflow\",\"hidden\").css(\"outline\",0).addClass(uid).addClass(\"ui-widget\"),/relative|absolute|fixed/.test($container.css(\"position\"))||$container.css(\"position\",\"relative\"),$focusSink=$(\"
\").appendTo($container),options.createPreHeaderPanel&&($preHeaderPanelScroller=$(\"
\").appendTo($container),$preHeaderPanel=$(\"
\").appendTo($preHeaderPanelScroller),$preHeaderPanelSpacer=$(\"
\").css(\"width\",getCanvasWidth()+scrollbarDimensions.width+\"px\").appendTo($preHeaderPanelScroller),options.showPreHeaderPanel||$preHeaderPanelScroller.hide()),$headerScroller=$(\"
\").appendTo($container),($headers=$(\"
\").appendTo($headerScroller)).width(getHeadersWidth()),$headerRowScroller=$(\"
\").appendTo($container),$headerRow=$(\"
\").appendTo($headerRowScroller),$headerRowSpacer=$(\"
\").css(\"width\",getCanvasWidth()+scrollbarDimensions.width+\"px\").appendTo($headerRowScroller),$topPanelScroller=$(\"
\").appendTo($container),$topPanel=$(\"
\").appendTo($topPanelScroller),options.showTopPanel||$topPanelScroller.hide(),options.showHeaderRow||$headerRowScroller.hide(),($viewport=$(\"
\").appendTo($container)).css(\"overflow-y\",options.autoHeight?\"hidden\":\"auto\"),$canvas=$(\"
\").appendTo($viewport),options.createFooterRow&&($footerRowScroller=$(\"
\").appendTo($container),$footerRow=$(\"
\").appendTo($footerRowScroller),$footerRowSpacer=$(\"
\").css(\"width\",getCanvasWidth()+scrollbarDimensions.width+\"px\").appendTo($footerRowScroller),options.showFooterRow||$footerRowScroller.hide()),options.numberedMultiColumnSort&&(sortIndicatorCssClass=\"slick-sort-indicator-numbered\"),$focusSink2=$focusSink.clone().appendTo($container),options.explicitInitialization||finishInitialization()}function finishInitialization(){initialized||(initialized=!0,viewportW=parseFloat($.css($container[0],\"width\",!0)),measureCellPaddingAndBorder(),disableSelection($headers),options.enableTextSelectionOnCells||$viewport.on(\"selectstart.ui\",function(e){return $(e.target).is(\"input,textarea\")}),updateColumnCaches(),createColumnHeaders(),setupColumnSort(),createCssRules(),resizeCanvas(),bindAncestorScrollEvents(),$container.on(\"resize.slickgrid\",resizeCanvas),$viewport.on(\"scroll\",handleScroll),$headerScroller.on(\"contextmenu\",handleHeaderContextMenu).on(\"click\",handleHeaderClick).on(\"mouseenter\",\".slick-header-column\",handleHeaderMouseEnter).on(\"mouseleave\",\".slick-header-column\",handleHeaderMouseLeave),$headerRowScroller.on(\"scroll\",handleHeaderRowScroll),options.createFooterRow&&$footerRowScroller.on(\"scroll\",handleFooterRowScroll),options.createPreHeaderPanel&&$preHeaderPanelScroller.on(\"scroll\",handlePreHeaderPanelScroll),$focusSink.add($focusSink2).on(\"keydown\",handleKeyDown),$canvas.on(\"keydown\",handleKeyDown).on(\"click\",handleClick).on(\"dblclick\",handleDblClick).on(\"contextmenu\",handleContextMenu).on(\"draginit\",handleDragInit).on(\"dragstart\",{distance:3},handleDragStart).on(\"drag\",handleDrag).on(\"dragend\",handleDragEnd).on(\"mouseenter\",\".slick-cell\",handleMouseEnter).on(\"mouseleave\",\".slick-cell\",handleMouseLeave),navigator.userAgent.toLowerCase().match(/webkit/)&&navigator.userAgent.toLowerCase().match(/macintosh/)&&$canvas.on(\"mousewheel\",handleMouseWheel),restoreCssFromHiddenInit())}function cacheCssForHiddenInit(){($hiddenParents=$container.parents().addBack().not(\":visible\")).each(function(){var e={};for(var t in cssShow)e[t]=this.style[t],this.style[t]=cssShow[t];oldProps.push(e)})}function restoreCssFromHiddenInit(){$hiddenParents.each(function(e){var t=oldProps[e];for(var n in cssShow)this.style[n]=t[n]})}function registerPlugin(e){plugins.unshift(e),e.init(self)}function unregisterPlugin(e){for(var t=plugins.length;0<=t;t--)if(plugins[t]===e){plugins[t].destroy&&plugins[t].destroy(),plugins.splice(t,1);break}}function setSelectionModel(e){selectionModel&&(selectionModel.onSelectedRangesChanged.unsubscribe(handleSelectedRangesChanged),selectionModel.destroy&&selectionModel.destroy()),(selectionModel=e)&&(selectionModel.init(self),selectionModel.onSelectedRangesChanged.subscribe(handleSelectedRangesChanged))}function getSelectionModel(){return selectionModel}function getCanvasNode(){return $canvas[0]}function measureScrollbar(){var e=$(\"
\").appendTo(\"body\"),t={width:e.width()-e[0].clientWidth,height:e.height()-e[0].clientHeight};return e.remove(),t}function getColumnTotalWidth(e){for(var t=0,n=0,o=columns.length;nviewportW-scrollbarDimensions.width);var n=canvasWidth+(viewportHasVScroll?scrollbarDimensions.width:0);$headerRowSpacer.width(n),options.createFooterRow&&$footerRowSpacer.width(n),options.createPreHeaderPanel&&$preHeaderPanelSpacer.width(n),(canvasWidth!=t||e)&&applyColumnWidths()}function disableSelection(e){e&&e.jquery&&e.attr(\"unselectable\",\"on\").css(\"MozUserSelect\",\"none\").on(\"selectstart.ui\",function(){return!1})}function getMaxSupportedCssHeight(){for(var e=1e6,t=navigator.userAgent.toLowerCase().match(/firefox/)?6e6:1e9,n=$(\"
\").appendTo(document.body);;){var o=2*e;if(n.css(\"height\",o),t\").html(\"\"+o.name+\"\").width(o.width-headerColumnWidthDiff).attr(\"id\",\"\"+uid+o.id).attr(\"title\",o.toolTip||\"\").data(\"column\",o).addClass(o.headerCssClass||\"\").appendTo($headers);if((options.enableColumnReorder||o.sortable)&&r.on(\"mouseenter\",e).on(\"mouseleave\",t),o.sortable&&(r.addClass(\"slick-header-sortable\"),r.append(\"\")),trigger(self.onHeaderCellRendered,{node:r[0],column:o,grid:self}),options.showHeaderRow){var i=$(\"
\").data(\"column\",o).appendTo($headerRow);trigger(self.onHeaderRowCellRendered,{node:i[0],column:o,grid:self})}if(options.createFooterRow&&options.showFooterRow){var l=$(\"
\").data(\"column\",o).appendTo($footerRow);trigger(self.onFooterRowCellRendered,{node:l[0],column:o})}}setSortColumns(sortColumns),setupColumnResize(),options.enableColumnReorder&&(\"function\"==typeof options.enableColumnReorder?options.enableColumnReorder(self,$headers,headerColumnWidthDiff,setColumns,setupColumnResize,columns,getColumnIndex,uid,trigger):setupColumnReorder())}function setupColumnSort(){$headers.click(function(e){if(e.metaKey=e.metaKey||e.ctrlKey,!$(e.target).hasClass(\"slick-resizable-handle\")){var t=$(e.target).closest(\".slick-header-column\");if(t.length){var n=t.data(\"column\");if(n.sortable){if(!getEditorLock().commitCurrentEdit())return;for(var o=null,r=0;r=columns.length||columns[e].resizable&&(void 0===n&&(n=e),o=e)}),void 0!==n&&u.each(function(l,e){l>=columns.length||l\").appendTo(e).on(\"dragstart\",function(e,t){if(!getEditorLock().commitCurrentEdit())return!1;c=e.pageX,$(this).parent().addClass(\"slick-header-column-active\");var n=null,o=null;if(u.each(function(e,t){e>=columns.length||(columns[e].previousWidth=$(t).outerWidth())}),options.forceFitColumns)for(o=n=0,s=l+1;s
\").appendTo($headers),headerColumnWidthDiff=headerColumnHeightDiff=0,\"border-box\"!=n.css(\"box-sizing\")&&\"border-box\"!=n.css(\"-moz-box-sizing\")&&\"border-box\"!=n.css(\"-webkit-box-sizing\")&&($.each(e,function(e,t){headerColumnWidthDiff+=parseFloat(n.css(t))||0}),$.each(t,function(e,t){headerColumnHeightDiff+=parseFloat(n.css(t))||0})),n.remove();var r=$(\"
\").appendTo($canvas);n=$(\"\").appendTo(r),cellWidthDiff=cellHeightDiff=0,\"border-box\"!=n.css(\"box-sizing\")&&\"border-box\"!=n.css(\"-moz-box-sizing\")&&\"border-box\"!=n.css(\"-webkit-box-sizing\")&&($.each(e,function(e,t){cellWidthDiff+=parseFloat(n.css(t))||0}),$.each(t,function(e,t){cellHeightDiff+=parseFloat(n.css(t))||0})),r.remove(),absoluteColumnMinWidth=Math.max(headerColumnWidthDiff,cellWidthDiff)}function createCssRules(){$style=$(\"\n", "\n", "\n", "
\n", "\n", "\n", "\n", " \n", " \n", "\n", "\n", "\n", "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "function HoloViewsWidget() {\n", "}\n", "\n", "HoloViewsWidget.prototype.init_slider = function(init_val){\n", " if(this.load_json) {\n", " this.from_json()\n", " } else {\n", " this.update_cache();\n", " }\n", "}\n", "\n", "HoloViewsWidget.prototype.populate_cache = function(idx){\n", " this.cache[idx].innerHTML = this.frames[idx];\n", " if (this.embed) {\n", " delete this.frames[idx];\n", " }\n", "}\n", "\n", "HoloViewsWidget.prototype.process_error = function(msg){\n", "}\n", "\n", "HoloViewsWidget.prototype.from_json = function() {\n", " var data_url = this.json_path + this.id + '.json';\n", " $.getJSON(data_url, $.proxy(function(json_data) {\n", " this.frames = json_data;\n", " this.update_cache();\n", " this.update(0);\n", " }, this));\n", "}\n", "\n", "HoloViewsWidget.prototype.dynamic_update = function(current){\n", " if (current === undefined) {\n", " return\n", " }\n", " this.current = current;\n", " if (this.comm) {\n", " var msg = {comm_id: this.id+'_client', content: current}\n", " this.comm.send(msg);\n", " }\n", "}\n", "\n", "HoloViewsWidget.prototype.update_cache = function(force){\n", " var frame_len = Object.keys(this.frames).length;\n", " for (var i=0; i 0) {\n", " that.time = Date.now();\n", " that.dynamic_update(that.queue[that.queue.length-1]);\n", " that.queue = [];\n", " } else {\n", " that.wait = false;\n", " }\n", " if ((msg.msg_type == \"Ready\") && msg.content) {\n", " console.log(\"Python callback returned following output:\", msg.content);\n", " } else if (msg.msg_type == \"Error\") {\n", " console.log(\"Python failed with the following traceback:\", msg['traceback'])\n", " }\n", " }\n", " var comm = HoloViews.comm_manager.get_client_comm(this.plot_id, this.id+'_client', ack_callback);\n", " return comm\n", " }\n", "}\n", "\n", "HoloViewsWidget.prototype.process_msg = function(msg) {\n", "}\n", "\n", "function SelectionWidget(frames, id, slider_ids, keyMap, dim_vals, notFound, load_json, mode, cached, json_path, dynamic, plot_id){\n", " this.frames = frames;\n", " this.id = id;\n", " this.plot_id = plot_id;\n", " this.slider_ids = slider_ids;\n", " this.keyMap = keyMap\n", " this.current_frame = 0;\n", " this.current_vals = dim_vals;\n", " this.load_json = load_json;\n", " this.mode = mode;\n", " this.notFound = notFound;\n", " this.cached = cached;\n", " this.dynamic = dynamic;\n", " this.cache = {};\n", " this.json_path = json_path;\n", " this.init_slider(this.current_vals[0]);\n", " this.queue = [];\n", " this.wait = false;\n", " if (!this.cached || this.dynamic) {\n", " this.comm = this.init_comms();\n", " }\n", "}\n", "\n", "SelectionWidget.prototype = new HoloViewsWidget;\n", "\n", "\n", "SelectionWidget.prototype.get_key = function(current_vals) {\n", " var key = \"(\";\n", " for (var i=0; i Date.now()))) {\n", " this.queue.push(key);\n", " return\n", " }\n", " this.queue = [];\n", " this.time = Date.now();\n", " this.current_frame = key;\n", " this.wait = true;\n", " this.dynamic_update(key)\n", " } else if (key !== undefined) {\n", " this.update(key)\n", " }\n", "}\n", "\n", "\n", "/* Define the ScrubberWidget class */\n", "function ScrubberWidget(frames, num_frames, id, interval, load_json, mode, cached, json_path, dynamic, plot_id){\n", " this.slider_id = \"_anim_slider\" + id;\n", " this.loop_select_id = \"_anim_loop_select\" + id;\n", " this.id = id;\n", " this.plot_id = plot_id;\n", " this.interval = interval;\n", " this.current_frame = 0;\n", " this.direction = 0;\n", " this.dynamic = dynamic;\n", " this.timer = null;\n", " this.load_json = load_json;\n", " this.mode = mode;\n", " this.cached = cached;\n", " this.frames = frames;\n", " this.cache = {};\n", " this.length = num_frames;\n", " this.json_path = json_path;\n", " document.getElementById(this.slider_id).max = this.length - 1;\n", " this.init_slider(0);\n", " this.wait = false;\n", " this.queue = [];\n", " if (!this.cached || this.dynamic) {\n", " this.comm = this.init_comms()\n", " }\n", "}\n", "\n", "ScrubberWidget.prototype = new HoloViewsWidget;\n", "\n", "ScrubberWidget.prototype.set_frame = function(frame){\n", " this.current_frame = frame;\n", " var widget = document.getElementById(this.slider_id);\n", " if (widget === null) {\n", " this.pause_animation();\n", " return\n", " }\n", " widget.value = this.current_frame;\n", " if (this.dynamic || !this.cached) {\n", " if ((this.time !== undefined) && ((this.wait) && ((this.time + 10000) > Date.now()))) {\n", " this.queue.push(frame);\n", " return\n", " }\n", " this.queue = [];\n", " this.time = Date.now();\n", " this.wait = true;\n", " this.dynamic_update(frame)\n", " } else {\n", " this.update(frame)\n", " }\n", "}\n", "\n", "ScrubberWidget.prototype.get_loop_state = function(){\n", " var button_group = document[this.loop_select_id].state;\n", " for (var i = 0; i < button_group.length; i++) {\n", " var button = button_group[i];\n", " if (button.checked) {\n", " return button.value;\n", " }\n", " }\n", " return undefined;\n", "}\n", "\n", "\n", "ScrubberWidget.prototype.next_frame = function() {\n", " this.set_frame(Math.min(this.length - 1, this.current_frame + 1));\n", "}\n", "\n", "ScrubberWidget.prototype.previous_frame = function() {\n", " this.set_frame(Math.max(0, this.current_frame - 1));\n", "}\n", "\n", "ScrubberWidget.prototype.first_frame = function() {\n", " this.set_frame(0);\n", "}\n", "\n", "ScrubberWidget.prototype.last_frame = function() {\n", " this.set_frame(this.length - 1);\n", "}\n", "\n", "ScrubberWidget.prototype.slower = function() {\n", " this.interval /= 0.7;\n", " if(this.direction > 0){this.play_animation();}\n", " else if(this.direction < 0){this.reverse_animation();}\n", "}\n", "\n", "ScrubberWidget.prototype.faster = function() {\n", " this.interval *= 0.7;\n", " if(this.direction > 0){this.play_animation();}\n", " else if(this.direction < 0){this.reverse_animation();}\n", "}\n", "\n", "ScrubberWidget.prototype.anim_step_forward = function() {\n", " if(this.current_frame < this.length - 1){\n", " this.next_frame();\n", " }else{\n", " var loop_state = this.get_loop_state();\n", " if(loop_state == \"loop\"){\n", " this.first_frame();\n", " }else if(loop_state == \"reflect\"){\n", " this.last_frame();\n", " this.reverse_animation();\n", " }else{\n", " this.pause_animation();\n", " this.last_frame();\n", " }\n", " }\n", "}\n", "\n", "ScrubberWidget.prototype.anim_step_reverse = function() {\n", " if(this.current_frame > 0){\n", " this.previous_frame();\n", " } else {\n", " var loop_state = this.get_loop_state();\n", " if(loop_state == \"loop\"){\n", " this.last_frame();\n", " }else if(loop_state == \"reflect\"){\n", " this.first_frame();\n", " this.play_animation();\n", " }else{\n", " this.pause_animation();\n", " this.first_frame();\n", " }\n", " }\n", "}\n", "\n", "ScrubberWidget.prototype.pause_animation = function() {\n", " this.direction = 0;\n", " if (this.timer){\n", " clearInterval(this.timer);\n", " this.timer = null;\n", " }\n", "}\n", "\n", "ScrubberWidget.prototype.play_animation = function() {\n", " this.pause_animation();\n", " this.direction = 1;\n", " var t = this;\n", " if (!this.timer) this.timer = setInterval(function(){t.anim_step_forward();}, this.interval);\n", "}\n", "\n", "ScrubberWidget.prototype.reverse_animation = function() {\n", " this.pause_animation();\n", " this.direction = -1;\n", " var t = this;\n", " if (!this.timer) this.timer = setInterval(function(){t.anim_step_reverse();}, this.interval);\n", "}\n", "\n", "function extend(destination, source) {\n", " for (var k in source) {\n", " if (source.hasOwnProperty(k)) {\n", " destination[k] = source[k];\n", " }\n", " }\n", " return destination;\n", "}\n", "\n", "function update_widget(widget, values) {\n", " if (widget.hasClass(\"ui-slider\")) {\n", " widget.slider('option', {\n", " min: 0,\n", " max: values.length-1,\n", " dim_vals: values,\n", " value: 0,\n", " dim_labels: values\n", " })\n", " widget.slider('option', 'slide').call(widget, event, {value: 0})\n", " } else {\n", " widget.empty();\n", " for (var i=0; i\", {\n", " value: i,\n", " text: values[i]\n", " }))\n", " };\n", " widget.data('values', values);\n", " widget.data('value', 0);\n", " widget.trigger(\"change\");\n", " };\n", "}\n", "\n", "function init_slider(id, plot_id, dim, values, next_vals, labels, dynamic, step, value, next_dim,\n", " dim_idx, delay, jQueryUI_CDN, UNDERSCORE_CDN) {\n", " // Slider JS Block START\n", " function loadcssfile(filename){\n", " var fileref=document.createElement(\"link\")\n", " fileref.setAttribute(\"rel\", \"stylesheet\")\n", " fileref.setAttribute(\"type\", \"text/css\")\n", " fileref.setAttribute(\"href\", filename)\n", " document.getElementsByTagName(\"head\")[0].appendChild(fileref)\n", " }\n", " loadcssfile(\"https://code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css\");\n", " /* Check if jQuery and jQueryUI have been loaded\n", " otherwise load with require.js */\n", " var jQuery = window.jQuery,\n", " // check for old versions of jQuery\n", " oldjQuery = jQuery && !!jQuery.fn.jquery.match(/^1\\.[0-4](\\.|$)/),\n", " jquery_path = '',\n", " paths = {},\n", " noConflict;\n", " var jQueryUI = jQuery.ui;\n", " // check for jQuery\n", " if (!jQuery || oldjQuery) {\n", " // load if it's not available or doesn't meet min standards\n", " paths.jQuery = jQuery;\n", " noConflict = !!oldjQuery;\n", " } else {\n", " // register the current jQuery\n", " define('jquery', [], function() { return jQuery; });\n", " }\n", " if (!jQueryUI) {\n", " paths.jQueryUI = jQueryUI_CDN.slice(null, -3);\n", " } else {\n", " define('jQueryUI', [], function() { return jQuery.ui; });\n", " }\n", " paths.underscore = UNDERSCORE_CDN.slice(null, -3);\n", " var jquery_require = {\n", " paths: paths,\n", " shim: {\n", " \"jQueryUI\": {\n", " exports:\"$\",\n", " deps: ['jquery']\n", " },\n", " \"underscore\": {\n", " exports: '_'\n", " }\n", " }\n", " }\n", " require.config(jquery_require);\n", " require([\"jQueryUI\", \"underscore\"], function(jUI, _){\n", " if (noConflict) $.noConflict(true);\n", " var vals = values;\n", " if (dynamic && vals.constructor === Array) {\n", " var default_value = parseFloat(value);\n", " var min = parseFloat(vals[0]);\n", " var max = parseFloat(vals[vals.length-1]);\n", " var wstep = step;\n", " var wlabels = [default_value];\n", " var init_label = default_value;\n", " } else {\n", " var min = 0;\n", " if (dynamic) {\n", " var max = Object.keys(vals).length - 1;\n", " var init_label = labels[value];\n", " var default_value = values[value];\n", " } else {\n", " var max = vals.length - 1;\n", " var init_label = labels[value];\n", " var default_value = value;\n", " }\n", " var wstep = 1;\n", " var wlabels = labels;\n", " }\n", " function adjustFontSize(text) {\n", " var width_ratio = (text.parent().width()/8)/text.val().length;\n", " var size = Math.min(0.9, Math.max(0.6, width_ratio))+'em';\n", " text.css('font-size', size);\n", " }\n", " var slider = $('#_anim_widget'+id+'_'+dim);\n", " slider.slider({\n", " animate: \"fast\",\n", " min: min,\n", " max: max,\n", " step: wstep,\n", " value: default_value,\n", " dim_vals: vals,\n", " dim_labels: wlabels,\n", " next_vals: next_vals,\n", " slide: function(event, ui) {\n", " var vals = slider.slider(\"option\", \"dim_vals\");\n", " var next_vals = slider.slider(\"option\", \"next_vals\");\n", " var dlabels = slider.slider(\"option\", \"dim_labels\");\n", " if (dynamic) {\n", " var dim_val = ui.value;\n", " if (vals.constructor === Array) {\n", " var label = ui.value;\n", " } else {\n", " var label = dlabels[ui.value];\n", " }\n", " } else {\n", " var dim_val = vals[ui.value];\n", " var label = dlabels[ui.value];\n", " }\n", " var text = $('#textInput'+id+'_'+dim);\n", " text.val(label);\n", " adjustFontSize(text);\n", " HoloViews.index[plot_id].set_frame(dim_val, dim_idx);\n", " if (Object.keys(next_vals).length > 0) {\n", " var new_vals = next_vals[dim_val];\n", " var next_widget = $('#_anim_widget'+id+'_'+next_dim);\n", " update_widget(next_widget, new_vals);\n", " }\n", " }\n", " });\n", " slider.keypress(function(event) {\n", " if (event.which == 80 || event.which == 112) {\n", " var start = slider.slider(\"option\", \"value\");\n", " var stop = slider.slider(\"option\", \"max\");\n", " for (var i=start; i<=stop; i++) {\n", " var delay = i*delay;\n", " $.proxy(function doSetTimeout(i) { setTimeout($.proxy(function() {\n", " var val = {value:i};\n", " slider.slider('value',i);\n", " slider.slider(\"option\", \"slide\")(null, val);\n", " }, slider), delay);}, slider)(i);\n", " }\n", " }\n", " if (event.which == 82 || event.which == 114) {\n", " var start = slider.slider(\"option\", \"value\");\n", " var stop = slider.slider(\"option\", \"min\");\n", " var count = 0;\n", " for (var i=start; i>=stop; i--) {\n", " var delay = count*delay;\n", " count = count + 1;\n", " $.proxy(function doSetTimeout(i) { setTimeout($.proxy(function() {\n", " var val = {value:i};\n", " slider.slider('value',i);\n", " slider.slider(\"option\", \"slide\")(null, val);\n", " }, slider), delay);}, slider)(i);\n", " }\n", " }\n", " });\n", " var textInput = $('#textInput'+id+'_'+dim)\n", " textInput.val(init_label);\n", " adjustFontSize(textInput);\n", " });\n", "}\n", "\n", "function init_dropdown(id, plot_id, dim, vals, value, next_vals, labels, next_dim, dim_idx, dynamic) {\n", " var widget = $(\"#_anim_widget\"+id+'_'+dim);\n", " widget.data('values', vals)\n", " for (var i=0; i\", {\n", " value: val,\n", " text: labels[i]\n", " }));\n", " };\n", " widget.data(\"next_vals\", next_vals);\n", " widget.val(value);\n", " widget.on('change', function(event, ui) {\n", " if (dynamic) {\n", " var dim_val = parseInt(this.value);\n", " } else {\n", " var dim_val = $.data(this, 'values')[this.value];\n", " }\n", " var next_vals = $.data(this, \"next_vals\");\n", " if (Object.keys(next_vals).length > 0) {\n", " var new_vals = next_vals[dim_val];\n", " var next_widget = $('#_anim_widget'+id+'_'+next_dim);\n", " update_widget(next_widget, new_vals);\n", " }\n", " var widgets = HoloViews.index[plot_id]\n", " if (widgets) {\n", " widgets.set_frame(dim_val, dim_idx);\n", " }\n", " });\n", "}\n", "\n", "\n", "if (window.HoloViews === undefined) {\n", " window.HoloViews = {}\n", " window.PyViz = window.HoloViews\n", "} else if (window.PyViz === undefined) {\n", " window.PyViz = window.HoloViews\n", "}\n", "\n", "\n", "var _namespace = {\n", " init_slider: init_slider,\n", " init_dropdown: init_dropdown,\n", " comms: {},\n", " comm_status: {},\n", " index: {},\n", " plot_index: {},\n", " kernels: {},\n", " receivers: {}\n", "}\n", "\n", "for (var k in _namespace) {\n", " if (!(k in window.HoloViews)) {\n", " window.HoloViews[k] = _namespace[k];\n", " }\n", "}\n", "\n", "var JS_MIME_TYPE = 'application/javascript';\n", "var HTML_MIME_TYPE = 'text/html';\n", "var EXEC_MIME_TYPE = 'application/vnd.holoviews_exec.v0+json';\n", "var CLASS_NAME = 'output';\n", "\n", "/**\n", " * Render data to the DOM node\n", " */\n", "function render(props, node) {\n", " var div = document.createElement(\"div\");\n", " var script = document.createElement(\"script\");\n", " node.appendChild(div);\n", " node.appendChild(script);\n", "}\n", "\n", "/**\n", " * Handle when a new output is added\n", " */\n", "function handle_add_output(event, handle) {\n", " var output_area = handle.output_area;\n", " var output = handle.output;\n", " if (!output.data.hasOwnProperty(EXEC_MIME_TYPE)) {\n", " return\n", " }\n", " var id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n", " var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n", " if (id !== undefined) {\n", " var nchildren = toinsert.length;\n", " toinsert[nchildren-1].children[0].innerHTML = output.data[HTML_MIME_TYPE];\n", " toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];\n", " output_area._hv_plot_id = id;\n", " if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {\n", " HoloViews.plot_index[id] = Bokeh.index[id];\n", " } else {\n", " HoloViews.plot_index[id] = null;\n", " }\n", " }\n", "}\n", "\n", "/**\n", " * Handle when an output is cleared or removed\n", " */\n", "function handle_clear_output(event, handle) {\n", " var id = handle.cell.output_area._hv_plot_id;\n", " if ((id === undefined) || !(id in HoloViews.plot_index)) { return; }\n", " var comm = window.HoloViews.comm_manager.get_client_comm(\"hv-extension-comm\", \"hv-extension-comm\", function () {});\n", " if (comm !== null) {\n", " comm.send({event_type: 'delete', 'id': id});\n", " }\n", " delete HoloViews.plot_index[id];\n", " if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {\n", " window.Bokeh.index[id].model.document.clear();\n", " delete Bokeh.index[id];\n", " }\n", "}\n", "\n", "/**\n", " * Handle kernel restart event\n", " */\n", "function handle_kernel_cleanup(event, handle) {\n", " delete HoloViews.comms[\"hv-extension-comm\"];\n", " window.HoloViews.plot_index = {}\n", "}\n", "\n", "/**\n", " * Handle update_display_data messages\n", " */\n", "function handle_update_output(event, handle) {\n", " handle_clear_output(event, {cell: {output_area: handle.output_area}})\n", " handle_add_output(event, handle)\n", "}\n", "\n", "function register_renderer(events, OutputArea) {\n", " function append_mime(data, metadata, element) {\n", " // create a DOM node to render to\n", " var toinsert = this.create_output_subarea(\n", " metadata,\n", " CLASS_NAME,\n", " EXEC_MIME_TYPE\n", " );\n", " this.keyboard_manager.register_events(toinsert);\n", " // Render to node\n", " var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n", " render(props, toinsert[0]);\n", " element.append(toinsert);\n", " return toinsert\n", " }\n", "\n", " events.on('output_added.OutputArea', handle_add_output);\t\n", " events.on('output_updated.OutputArea', handle_update_output);\n", " events.on('clear_output.CodeCell', handle_clear_output);\n", " events.on('delete.Cell', handle_clear_output);\n", " events.on('kernel_ready.Kernel', handle_kernel_cleanup);\n", "\n", " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n", " safe: true,\n", " index: 0\n", " });\n", "}\n", "\n", "if (window.Jupyter !== undefined) {\n", " try {\n", " var events = require('base/js/events');\n", " var OutputArea = require('notebook/js/outputarea').OutputArea;\n", " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n", " register_renderer(events, OutputArea);\n", " }\n", " } catch(err) {\n", " }\n", "}\n", "\n", "// Define Bokeh specific subclasses\n", "function BokehSelectionWidget() {\n", " SelectionWidget.apply(this, arguments);\n", "}\n", "\n", "function BokehScrubberWidget() {\n", " ScrubberWidget.apply(this, arguments);\n", "}\n", "\n", "// Let them inherit from the baseclasses\n", "BokehSelectionWidget.prototype = Object.create(SelectionWidget.prototype);\n", "BokehScrubberWidget.prototype = Object.create(ScrubberWidget.prototype);\n", "\n", "// Define methods to override on widgets\n", "var BokehMethods = {\n", " update_cache : function(){\n", " for (var index in this.frames) {\n", " this.frames[index] = JSON.parse(this.frames[index]);\n", " }\n", " },\n", " update : function(current){\n", " if (current === undefined) {\n", " return;\n", " }\n", " var data = this.frames[current];\n", " if (data !== undefined) {\n", " if (data.root in HoloViews.plot_index) {\n", " var doc = HoloViews.plot_index[data.root].model.document;\n", " } else {\n", " var doc = Bokeh.index[data.root].model.document;\n", " }\n", " doc.apply_json_patch(data.content);\n", " }\n", " },\n", " init_comms: function() {\n", " if (Bokeh.protocol !== undefined) {\n", " this.receiver = new Bokeh.protocol.Receiver()\n", " } else {\n", " this.receiver = null;\n", " }\n", " return HoloViewsWidget.prototype.init_comms.call(this);\n", " },\n", " process_msg : function(msg) {\n", " if (this.plot_id in HoloViews.plot_index) {\n", " var doc = HoloViews.plot_index[this.plot_id].model.document;\n", " } else {\n", " var doc = Bokeh.index[this.plot_id].model.document;\n", " }\n", " if (this.receiver === null) { return }\n", " var receiver = this.receiver;\n", " if (msg.buffers.length > 0) {\n", " receiver.consume(msg.buffers[0].buffer)\n", " } else {\n", " receiver.consume(msg.content.data)\n", " }\n", " const comm_msg = receiver.message;\n", " if ((comm_msg != null) && (doc != null)) {\n", " doc.apply_json_patch(comm_msg.content, comm_msg.buffers)\n", " }\n", " }\n", "}\n", "\n", "// Extend Bokeh widgets with backend specific methods\n", "extend(BokehSelectionWidget.prototype, BokehMethods);\n", "extend(BokehScrubberWidget.prototype, BokehMethods);\n", "\n", "window.HoloViews.BokehSelectionWidget = BokehSelectionWidget\n", "window.HoloViews.BokehScrubberWidget = BokehScrubberWidget\n", "\n", " function JupyterCommManager() {\n", " }\n", "\n", " JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {\n", " if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n", " var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n", " comm_manager.register_target(comm_id, function(comm) {\n", " comm.on_msg(msg_handler);\n", " });\n", " } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n", " window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {\n", " comm.onMsg = msg_handler;\n", " });\n", " }\n", " }\n", "\n", " JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {\n", " if (comm_id in window.PyViz.comms) {\n", " return window.PyViz.comms[comm_id];\n", " } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n", " var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n", " var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);\n", " if (msg_handler) {\n", " comm.on_msg(msg_handler);\n", " }\n", " } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n", " var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);\n", " comm.open();\n", " if (msg_handler) {\n", " comm.onMsg = msg_handler;\n", " }\n", " }\n", "\n", " window.PyViz.comms[comm_id] = comm;\n", " return comm;\n", " }\n", "\n", " window.PyViz.comm_manager = new JupyterCommManager();\n", " " ], "application/vnd.holoviews_load.v0+json": "function HoloViewsWidget() {\n}\n\nHoloViewsWidget.prototype.init_slider = function(init_val){\n if(this.load_json) {\n this.from_json()\n } else {\n this.update_cache();\n }\n}\n\nHoloViewsWidget.prototype.populate_cache = function(idx){\n this.cache[idx].innerHTML = this.frames[idx];\n if (this.embed) {\n delete this.frames[idx];\n }\n}\n\nHoloViewsWidget.prototype.process_error = function(msg){\n}\n\nHoloViewsWidget.prototype.from_json = function() {\n var data_url = this.json_path + this.id + '.json';\n $.getJSON(data_url, $.proxy(function(json_data) {\n this.frames = json_data;\n this.update_cache();\n this.update(0);\n }, this));\n}\n\nHoloViewsWidget.prototype.dynamic_update = function(current){\n if (current === undefined) {\n return\n }\n this.current = current;\n if (this.comm) {\n var msg = {comm_id: this.id+'_client', content: current}\n this.comm.send(msg);\n }\n}\n\nHoloViewsWidget.prototype.update_cache = function(force){\n var frame_len = Object.keys(this.frames).length;\n for (var i=0; i 0) {\n that.time = Date.now();\n that.dynamic_update(that.queue[that.queue.length-1]);\n that.queue = [];\n } else {\n that.wait = false;\n }\n if ((msg.msg_type == \"Ready\") && msg.content) {\n console.log(\"Python callback returned following output:\", msg.content);\n } else if (msg.msg_type == \"Error\") {\n console.log(\"Python failed with the following traceback:\", msg['traceback'])\n }\n }\n var comm = HoloViews.comm_manager.get_client_comm(this.plot_id, this.id+'_client', ack_callback);\n return comm\n }\n}\n\nHoloViewsWidget.prototype.process_msg = function(msg) {\n}\n\nfunction SelectionWidget(frames, id, slider_ids, keyMap, dim_vals, notFound, load_json, mode, cached, json_path, dynamic, plot_id){\n this.frames = frames;\n this.id = id;\n this.plot_id = plot_id;\n this.slider_ids = slider_ids;\n this.keyMap = keyMap\n this.current_frame = 0;\n this.current_vals = dim_vals;\n this.load_json = load_json;\n this.mode = mode;\n this.notFound = notFound;\n this.cached = cached;\n this.dynamic = dynamic;\n this.cache = {};\n this.json_path = json_path;\n this.init_slider(this.current_vals[0]);\n this.queue = [];\n this.wait = false;\n if (!this.cached || this.dynamic) {\n this.comm = this.init_comms();\n }\n}\n\nSelectionWidget.prototype = new HoloViewsWidget;\n\n\nSelectionWidget.prototype.get_key = function(current_vals) {\n var key = \"(\";\n for (var i=0; i Date.now()))) {\n this.queue.push(key);\n return\n }\n this.queue = [];\n this.time = Date.now();\n this.current_frame = key;\n this.wait = true;\n this.dynamic_update(key)\n } else if (key !== undefined) {\n this.update(key)\n }\n}\n\n\n/* Define the ScrubberWidget class */\nfunction ScrubberWidget(frames, num_frames, id, interval, load_json, mode, cached, json_path, dynamic, plot_id){\n this.slider_id = \"_anim_slider\" + id;\n this.loop_select_id = \"_anim_loop_select\" + id;\n this.id = id;\n this.plot_id = plot_id;\n this.interval = interval;\n this.current_frame = 0;\n this.direction = 0;\n this.dynamic = dynamic;\n this.timer = null;\n this.load_json = load_json;\n this.mode = mode;\n this.cached = cached;\n this.frames = frames;\n this.cache = {};\n this.length = num_frames;\n this.json_path = json_path;\n document.getElementById(this.slider_id).max = this.length - 1;\n this.init_slider(0);\n this.wait = false;\n this.queue = [];\n if (!this.cached || this.dynamic) {\n this.comm = this.init_comms()\n }\n}\n\nScrubberWidget.prototype = new HoloViewsWidget;\n\nScrubberWidget.prototype.set_frame = function(frame){\n this.current_frame = frame;\n var widget = document.getElementById(this.slider_id);\n if (widget === null) {\n this.pause_animation();\n return\n }\n widget.value = this.current_frame;\n if (this.dynamic || !this.cached) {\n if ((this.time !== undefined) && ((this.wait) && ((this.time + 10000) > Date.now()))) {\n this.queue.push(frame);\n return\n }\n this.queue = [];\n this.time = Date.now();\n this.wait = true;\n this.dynamic_update(frame)\n } else {\n this.update(frame)\n }\n}\n\nScrubberWidget.prototype.get_loop_state = function(){\n var button_group = document[this.loop_select_id].state;\n for (var i = 0; i < button_group.length; i++) {\n var button = button_group[i];\n if (button.checked) {\n return button.value;\n }\n }\n return undefined;\n}\n\n\nScrubberWidget.prototype.next_frame = function() {\n this.set_frame(Math.min(this.length - 1, this.current_frame + 1));\n}\n\nScrubberWidget.prototype.previous_frame = function() {\n this.set_frame(Math.max(0, this.current_frame - 1));\n}\n\nScrubberWidget.prototype.first_frame = function() {\n this.set_frame(0);\n}\n\nScrubberWidget.prototype.last_frame = function() {\n this.set_frame(this.length - 1);\n}\n\nScrubberWidget.prototype.slower = function() {\n this.interval /= 0.7;\n if(this.direction > 0){this.play_animation();}\n else if(this.direction < 0){this.reverse_animation();}\n}\n\nScrubberWidget.prototype.faster = function() {\n this.interval *= 0.7;\n if(this.direction > 0){this.play_animation();}\n else if(this.direction < 0){this.reverse_animation();}\n}\n\nScrubberWidget.prototype.anim_step_forward = function() {\n if(this.current_frame < this.length - 1){\n this.next_frame();\n }else{\n var loop_state = this.get_loop_state();\n if(loop_state == \"loop\"){\n this.first_frame();\n }else if(loop_state == \"reflect\"){\n this.last_frame();\n this.reverse_animation();\n }else{\n this.pause_animation();\n this.last_frame();\n }\n }\n}\n\nScrubberWidget.prototype.anim_step_reverse = function() {\n if(this.current_frame > 0){\n this.previous_frame();\n } else {\n var loop_state = this.get_loop_state();\n if(loop_state == \"loop\"){\n this.last_frame();\n }else if(loop_state == \"reflect\"){\n this.first_frame();\n this.play_animation();\n }else{\n this.pause_animation();\n this.first_frame();\n }\n }\n}\n\nScrubberWidget.prototype.pause_animation = function() {\n this.direction = 0;\n if (this.timer){\n clearInterval(this.timer);\n this.timer = null;\n }\n}\n\nScrubberWidget.prototype.play_animation = function() {\n this.pause_animation();\n this.direction = 1;\n var t = this;\n if (!this.timer) this.timer = setInterval(function(){t.anim_step_forward();}, this.interval);\n}\n\nScrubberWidget.prototype.reverse_animation = function() {\n this.pause_animation();\n this.direction = -1;\n var t = this;\n if (!this.timer) this.timer = setInterval(function(){t.anim_step_reverse();}, this.interval);\n}\n\nfunction extend(destination, source) {\n for (var k in source) {\n if (source.hasOwnProperty(k)) {\n destination[k] = source[k];\n }\n }\n return destination;\n}\n\nfunction update_widget(widget, values) {\n if (widget.hasClass(\"ui-slider\")) {\n widget.slider('option', {\n min: 0,\n max: values.length-1,\n dim_vals: values,\n value: 0,\n dim_labels: values\n })\n widget.slider('option', 'slide').call(widget, event, {value: 0})\n } else {\n widget.empty();\n for (var i=0; i\", {\n value: i,\n text: values[i]\n }))\n };\n widget.data('values', values);\n widget.data('value', 0);\n widget.trigger(\"change\");\n };\n}\n\nfunction init_slider(id, plot_id, dim, values, next_vals, labels, dynamic, step, value, next_dim,\n dim_idx, delay, jQueryUI_CDN, UNDERSCORE_CDN) {\n // Slider JS Block START\n function loadcssfile(filename){\n var fileref=document.createElement(\"link\")\n fileref.setAttribute(\"rel\", \"stylesheet\")\n fileref.setAttribute(\"type\", \"text/css\")\n fileref.setAttribute(\"href\", filename)\n document.getElementsByTagName(\"head\")[0].appendChild(fileref)\n }\n loadcssfile(\"https://code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css\");\n /* Check if jQuery and jQueryUI have been loaded\n otherwise load with require.js */\n var jQuery = window.jQuery,\n // check for old versions of jQuery\n oldjQuery = jQuery && !!jQuery.fn.jquery.match(/^1\\.[0-4](\\.|$)/),\n jquery_path = '',\n paths = {},\n noConflict;\n var jQueryUI = jQuery.ui;\n // check for jQuery\n if (!jQuery || oldjQuery) {\n // load if it's not available or doesn't meet min standards\n paths.jQuery = jQuery;\n noConflict = !!oldjQuery;\n } else {\n // register the current jQuery\n define('jquery', [], function() { return jQuery; });\n }\n if (!jQueryUI) {\n paths.jQueryUI = jQueryUI_CDN.slice(null, -3);\n } else {\n define('jQueryUI', [], function() { return jQuery.ui; });\n }\n paths.underscore = UNDERSCORE_CDN.slice(null, -3);\n var jquery_require = {\n paths: paths,\n shim: {\n \"jQueryUI\": {\n exports:\"$\",\n deps: ['jquery']\n },\n \"underscore\": {\n exports: '_'\n }\n }\n }\n require.config(jquery_require);\n require([\"jQueryUI\", \"underscore\"], function(jUI, _){\n if (noConflict) $.noConflict(true);\n var vals = values;\n if (dynamic && vals.constructor === Array) {\n var default_value = parseFloat(value);\n var min = parseFloat(vals[0]);\n var max = parseFloat(vals[vals.length-1]);\n var wstep = step;\n var wlabels = [default_value];\n var init_label = default_value;\n } else {\n var min = 0;\n if (dynamic) {\n var max = Object.keys(vals).length - 1;\n var init_label = labels[value];\n var default_value = values[value];\n } else {\n var max = vals.length - 1;\n var init_label = labels[value];\n var default_value = value;\n }\n var wstep = 1;\n var wlabels = labels;\n }\n function adjustFontSize(text) {\n var width_ratio = (text.parent().width()/8)/text.val().length;\n var size = Math.min(0.9, Math.max(0.6, width_ratio))+'em';\n text.css('font-size', size);\n }\n var slider = $('#_anim_widget'+id+'_'+dim);\n slider.slider({\n animate: \"fast\",\n min: min,\n max: max,\n step: wstep,\n value: default_value,\n dim_vals: vals,\n dim_labels: wlabels,\n next_vals: next_vals,\n slide: function(event, ui) {\n var vals = slider.slider(\"option\", \"dim_vals\");\n var next_vals = slider.slider(\"option\", \"next_vals\");\n var dlabels = slider.slider(\"option\", \"dim_labels\");\n if (dynamic) {\n var dim_val = ui.value;\n if (vals.constructor === Array) {\n var label = ui.value;\n } else {\n var label = dlabels[ui.value];\n }\n } else {\n var dim_val = vals[ui.value];\n var label = dlabels[ui.value];\n }\n var text = $('#textInput'+id+'_'+dim);\n text.val(label);\n adjustFontSize(text);\n HoloViews.index[plot_id].set_frame(dim_val, dim_idx);\n if (Object.keys(next_vals).length > 0) {\n var new_vals = next_vals[dim_val];\n var next_widget = $('#_anim_widget'+id+'_'+next_dim);\n update_widget(next_widget, new_vals);\n }\n }\n });\n slider.keypress(function(event) {\n if (event.which == 80 || event.which == 112) {\n var start = slider.slider(\"option\", \"value\");\n var stop = slider.slider(\"option\", \"max\");\n for (var i=start; i<=stop; i++) {\n var delay = i*delay;\n $.proxy(function doSetTimeout(i) { setTimeout($.proxy(function() {\n var val = {value:i};\n slider.slider('value',i);\n slider.slider(\"option\", \"slide\")(null, val);\n }, slider), delay);}, slider)(i);\n }\n }\n if (event.which == 82 || event.which == 114) {\n var start = slider.slider(\"option\", \"value\");\n var stop = slider.slider(\"option\", \"min\");\n var count = 0;\n for (var i=start; i>=stop; i--) {\n var delay = count*delay;\n count = count + 1;\n $.proxy(function doSetTimeout(i) { setTimeout($.proxy(function() {\n var val = {value:i};\n slider.slider('value',i);\n slider.slider(\"option\", \"slide\")(null, val);\n }, slider), delay);}, slider)(i);\n }\n }\n });\n var textInput = $('#textInput'+id+'_'+dim)\n textInput.val(init_label);\n adjustFontSize(textInput);\n });\n}\n\nfunction init_dropdown(id, plot_id, dim, vals, value, next_vals, labels, next_dim, dim_idx, dynamic) {\n var widget = $(\"#_anim_widget\"+id+'_'+dim);\n widget.data('values', vals)\n for (var i=0; i\", {\n value: val,\n text: labels[i]\n }));\n };\n widget.data(\"next_vals\", next_vals);\n widget.val(value);\n widget.on('change', function(event, ui) {\n if (dynamic) {\n var dim_val = parseInt(this.value);\n } else {\n var dim_val = $.data(this, 'values')[this.value];\n }\n var next_vals = $.data(this, \"next_vals\");\n if (Object.keys(next_vals).length > 0) {\n var new_vals = next_vals[dim_val];\n var next_widget = $('#_anim_widget'+id+'_'+next_dim);\n update_widget(next_widget, new_vals);\n }\n var widgets = HoloViews.index[plot_id]\n if (widgets) {\n widgets.set_frame(dim_val, dim_idx);\n }\n });\n}\n\n\nif (window.HoloViews === undefined) {\n window.HoloViews = {}\n window.PyViz = window.HoloViews\n} else if (window.PyViz === undefined) {\n window.PyViz = window.HoloViews\n}\n\n\nvar _namespace = {\n init_slider: init_slider,\n init_dropdown: init_dropdown,\n comms: {},\n comm_status: {},\n index: {},\n plot_index: {},\n kernels: {},\n receivers: {}\n}\n\nfor (var k in _namespace) {\n if (!(k in window.HoloViews)) {\n window.HoloViews[k] = _namespace[k];\n }\n}\n\nvar JS_MIME_TYPE = 'application/javascript';\nvar HTML_MIME_TYPE = 'text/html';\nvar EXEC_MIME_TYPE = 'application/vnd.holoviews_exec.v0+json';\nvar CLASS_NAME = 'output';\n\n/**\n * Render data to the DOM node\n */\nfunction render(props, node) {\n var div = document.createElement(\"div\");\n var script = document.createElement(\"script\");\n node.appendChild(div);\n node.appendChild(script);\n}\n\n/**\n * Handle when a new output is added\n */\nfunction handle_add_output(event, handle) {\n var output_area = handle.output_area;\n var output = handle.output;\n if (!output.data.hasOwnProperty(EXEC_MIME_TYPE)) {\n return\n }\n var id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n if (id !== undefined) {\n var nchildren = toinsert.length;\n toinsert[nchildren-1].children[0].innerHTML = output.data[HTML_MIME_TYPE];\n toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];\n output_area._hv_plot_id = id;\n if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {\n HoloViews.plot_index[id] = Bokeh.index[id];\n } else {\n HoloViews.plot_index[id] = null;\n }\n }\n}\n\n/**\n * Handle when an output is cleared or removed\n */\nfunction handle_clear_output(event, handle) {\n var id = handle.cell.output_area._hv_plot_id;\n if ((id === undefined) || !(id in HoloViews.plot_index)) { return; }\n var comm = window.HoloViews.comm_manager.get_client_comm(\"hv-extension-comm\", \"hv-extension-comm\", function () {});\n if (comm !== null) {\n comm.send({event_type: 'delete', 'id': id});\n }\n delete HoloViews.plot_index[id];\n if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {\n window.Bokeh.index[id].model.document.clear();\n delete Bokeh.index[id];\n }\n}\n\n/**\n * Handle kernel restart event\n */\nfunction handle_kernel_cleanup(event, handle) {\n delete HoloViews.comms[\"hv-extension-comm\"];\n window.HoloViews.plot_index = {}\n}\n\n/**\n * Handle update_display_data messages\n */\nfunction handle_update_output(event, handle) {\n handle_clear_output(event, {cell: {output_area: handle.output_area}})\n handle_add_output(event, handle)\n}\n\nfunction register_renderer(events, OutputArea) {\n function append_mime(data, metadata, element) {\n // create a DOM node to render to\n var toinsert = this.create_output_subarea(\n metadata,\n CLASS_NAME,\n EXEC_MIME_TYPE\n );\n this.keyboard_manager.register_events(toinsert);\n // Render to node\n var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n render(props, toinsert[0]);\n element.append(toinsert);\n return toinsert\n }\n\n events.on('output_added.OutputArea', handle_add_output);\t\n events.on('output_updated.OutputArea', handle_update_output);\n events.on('clear_output.CodeCell', handle_clear_output);\n events.on('delete.Cell', handle_clear_output);\n events.on('kernel_ready.Kernel', handle_kernel_cleanup);\n\n OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n safe: true,\n index: 0\n });\n}\n\nif (window.Jupyter !== undefined) {\n try {\n var events = require('base/js/events');\n var OutputArea = require('notebook/js/outputarea').OutputArea;\n if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n register_renderer(events, OutputArea);\n }\n } catch(err) {\n }\n}\n\n// Define Bokeh specific subclasses\nfunction BokehSelectionWidget() {\n SelectionWidget.apply(this, arguments);\n}\n\nfunction BokehScrubberWidget() {\n ScrubberWidget.apply(this, arguments);\n}\n\n// Let them inherit from the baseclasses\nBokehSelectionWidget.prototype = Object.create(SelectionWidget.prototype);\nBokehScrubberWidget.prototype = Object.create(ScrubberWidget.prototype);\n\n// Define methods to override on widgets\nvar BokehMethods = {\n update_cache : function(){\n for (var index in this.frames) {\n this.frames[index] = JSON.parse(this.frames[index]);\n }\n },\n update : function(current){\n if (current === undefined) {\n return;\n }\n var data = this.frames[current];\n if (data !== undefined) {\n if (data.root in HoloViews.plot_index) {\n var doc = HoloViews.plot_index[data.root].model.document;\n } else {\n var doc = Bokeh.index[data.root].model.document;\n }\n doc.apply_json_patch(data.content);\n }\n },\n init_comms: function() {\n if (Bokeh.protocol !== undefined) {\n this.receiver = new Bokeh.protocol.Receiver()\n } else {\n this.receiver = null;\n }\n return HoloViewsWidget.prototype.init_comms.call(this);\n },\n process_msg : function(msg) {\n if (this.plot_id in HoloViews.plot_index) {\n var doc = HoloViews.plot_index[this.plot_id].model.document;\n } else {\n var doc = Bokeh.index[this.plot_id].model.document;\n }\n if (this.receiver === null) { return }\n var receiver = this.receiver;\n if (msg.buffers.length > 0) {\n receiver.consume(msg.buffers[0].buffer)\n } else {\n receiver.consume(msg.content.data)\n }\n const comm_msg = receiver.message;\n if ((comm_msg != null) && (doc != null)) {\n doc.apply_json_patch(comm_msg.content, comm_msg.buffers)\n }\n }\n}\n\n// Extend Bokeh widgets with backend specific methods\nextend(BokehSelectionWidget.prototype, BokehMethods);\nextend(BokehScrubberWidget.prototype, BokehMethods);\n\nwindow.HoloViews.BokehSelectionWidget = BokehSelectionWidget\nwindow.HoloViews.BokehScrubberWidget = BokehScrubberWidget\n\n function JupyterCommManager() {\n }\n\n JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {\n if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n comm_manager.register_target(comm_id, function(comm) {\n comm.on_msg(msg_handler);\n });\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {\n comm.onMsg = msg_handler;\n });\n }\n }\n\n JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {\n if (comm_id in window.PyViz.comms) {\n return window.PyViz.comms[comm_id];\n } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);\n if (msg_handler) {\n comm.on_msg(msg_handler);\n }\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);\n comm.open();\n if (msg_handler) {\n comm.onMsg = msg_handler;\n }\n }\n\n window.PyViz.comms[comm_id] = comm;\n return comm;\n }\n\n window.PyViz.comm_manager = new JupyterCommManager();\n " }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import holoviews as hv\n", "hv.extension('bokeh')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's try to parse the article and extract authors of cited work." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "url = \"https://www.sciencedirect.com/science/article/pii/S0341816205000937?via%3Dihub\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since the article is full of javascript, I'll just paste the raw HTML below and parse that:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "from bs4 import BeautifulSoup" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "raw_html = \"\"\"\n", "

References

\"\"\"" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "

References

" ], "text/plain": [ "" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import HTML\n", "HTML(raw_html)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "tree = BeautifulSoup(raw_html, 'lxml')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can extract a list of authors for each publication." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['P. Bahn']\n", "['P. Bahn', 'J. Flenley']\n", "['P.E. Baker']\n", "['H.-R. Bork', 'Y. Li']\n", "['H.-R. Bork', 'H. Bork', 'C. Dalchow', 'B. Faust', 'H.-P. Piorr', 'T. Schatz']\n", "['H.-R. Bork', 'H.R. Beckedahl', 'C. Dahlke', 'K. Geidmacher', 'A. Mieth', 'Y. Li']\n", "['C. Diaz Vial']\n", "['J. Flenley']\n", "['J. Grau']\n", "['G. Lee']\n", "['G. Louwagie', 'R. Langohr']\n", "['G. McCall']\n", "['A. Metraux']\n", "['A. Mieth', 'H.-R. Bork']\n", "['A. Mieth', 'H.-R. Bork', 'I. Feeser']\n", "['C. Orliac']\n", "['J.M. Ramírez']\n", "['C.M. Stevenson', 'S. Haoa']\n", "['C.M. Stevenson', 'J.A. Wozniak', 'S. Haoa']\n", "['C.M. Stevenson', 'T. Ladefoged', 'S. Haoa']\n", "['F. Sudzuki']\n", "['J.A. Van Tilburg']\n", "['J.A. Wozniak']\n", "['J.A. Wozniak']\n", "['J.A. Wozniak']\n" ] } ], "source": [ "authors = []\n", "for elem in tree.find_all('div', class_='contribution'):\n", " print(elem.contents[0].split(', '))\n", " authors.append(elem.contents[0].split(', '))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's build a list of unique authors:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "unique_authors = set()\n", "for author_tuple in authors:\n", " for author in author_tuple:\n", " unique_authors.update(set([author]))" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'A. Metraux',\n", " 'A. Mieth',\n", " 'B. Faust',\n", " 'C. Dahlke',\n", " 'C. Dalchow',\n", " 'C. Diaz Vial',\n", " 'C. Orliac',\n", " 'C.M. Stevenson',\n", " 'F. Sudzuki',\n", " 'G. Lee',\n", " 'G. Louwagie',\n", " 'G. McCall',\n", " 'H. Bork',\n", " 'H.-P. Piorr',\n", " 'H.-R. Bork',\n", " 'H.R. Beckedahl',\n", " 'I. Feeser',\n", " 'J. Flenley',\n", " 'J. Grau',\n", " 'J.A. Van Tilburg',\n", " 'J.A. Wozniak',\n", " 'J.M. Ramírez',\n", " 'K. Geidmacher',\n", " 'P. Bahn',\n", " 'P.E. Baker',\n", " 'R. Langohr',\n", " 'S. Haoa',\n", " 'T. Ladefoged',\n", " 'T. Schatz',\n", " 'Y. Li'}" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "unique_authors" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, we need to assign a number to each author. We'll use the above set to do this." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "mapping = dict(zip(list(unique_authors), list(range(len(unique_authors)))))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we need to build a list of connections. For each article, we build a connection between every author in the article." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "sources = []\n", "targets = []\n", "for article in authors:\n", " for first in range(len(article)):\n", " for second in article[first:]:\n", " sources.append(mapping[article[first]])\n", " targets.append(mapping[second])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can now visualize the graph we're looking for:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "inverse_mapping = dict(zip(mapping.values(), mapping.keys()))\n", "node_labels = [inverse_mapping[i] for i in range(len(inverse_mapping))]\n", "node_info = hv.Dataset(node_labels, vdims='Label')" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "application/javascript": [ "\n", "// Ugly hack - see #2574 for more information\n", "if (!(document.getElementById('a6bb3c15-6b94-4d1d-a83a-243d8293473f')) && !(document.getElementById('_anim_imgNone'))) {\n", " console.log(\"Creating DOM nodes dynamically for assumed nbconvert export. To generate clean HTML output set HV_DOC_HTML as an environment variable.\")\n", " var htmlObject = document.createElement('div');\n", " htmlObject.innerHTML = `
\n", "\n", "\n", "\n", "\n", "\n", "
\n", "
`;\n", " var scriptTags = document.getElementsByTagName('script');\n", " var parentTag = scriptTags[scriptTags.length-1].parentNode;\n", " parentTag.append(htmlObject)\n", "}\n", "(function(root) {\n", " function embed_document(root) {\n", " \n", " var docs_json = {\"7f660a4e-dd73-4c03-bec4-89729a032798\":{\"roots\":{\"references\":[{\"attributes\":{},\"id\":\"cda762db-3b90-4304-9fd9-6d1920430002\",\"type\":\"NodesAndLinkedEdges\"},{\"attributes\":{\"callback\":null},\"id\":\"19cc7618-88f7-4f3f-9675-9d516494a8df\",\"type\":\"TapTool\"},{\"attributes\":{},\"id\":\"3fdd278f-b42c-40a3-9ada-1e3716057078\",\"type\":\"BasicTicker\"},{\"attributes\":{\"data_source\":{\"id\":\"25f37442-5b59-4aa0-8bf1-04c16da09273\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"7622d235-d53d-4f2f-9f01-66b9a1d455a9\",\"type\":\"Circle\"},\"hover_glyph\":{\"id\":\"f252826d-6cdc-4614-9d81-00a892c9be28\",\"type\":\"Circle\"},\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"b9513c7c-acf6-448e-877d-a4aaa2c47fcc\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"9c50d438-ad7d-428e-b470-4e1cb2fcc800\",\"type\":\"CDSView\"}},\"id\":\"8859d339-c890-4682-8812-3a47f4a73c7b\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"plot\":null,\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"53f4c51d-4c08-4a84-b88f-18ed4bc5d84d\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"source\":{\"id\":\"25f37442-5b59-4aa0-8bf1-04c16da09273\",\"type\":\"ColumnDataSource\"}},\"id\":\"9c50d438-ad7d-428e-b470-4e1cb2fcc800\",\"type\":\"CDSView\"},{\"attributes\":{\"callback\":null,\"end\":1.2,\"reset_end\":1.2,\"reset_start\":-1.2,\"start\":-1.2},\"id\":\"e62f0f6a-be68-4e2e-b327-50f64453f794\",\"type\":\"Range1d\"},{\"attributes\":{},\"id\":\"58fa7413-1ccb-475e-a7d4-7de306ec5f01\",\"type\":\"LinearScale\"},{\"attributes\":{\"line_width\":{\"value\":2}},\"id\":\"cdeedb85-ce54-4194-9941-f3260a5ee150\",\"type\":\"MultiLine\"},{\"attributes\":{\"line_alpha\":{\"value\":0.2},\"line_width\":{\"value\":2}},\"id\":\"da589ee3-1aa6-483a-a72e-5cfad1fe8b02\",\"type\":\"MultiLine\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"6eb6dd06-6f28-4953-87ee-67fae0f6805e\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"a6bb3c15-6b94-4d1d-a83a-243d8293473f\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"3fdd278f-b42c-40a3-9ada-1e3716057078\",\"type\":\"BasicTicker\"}},\"id\":\"9c8e4fdb-79bb-475a-b182-a4e8d620dd47\",\"type\":\"LinearAxis\"},{\"attributes\":{\"line_color\":{\"value\":\"limegreen\"},\"line_width\":{\"value\":2}},\"id\":\"33e933fa-95ce-4300-b280-7584d2cea41e\",\"type\":\"MultiLine\"},{\"attributes\":{\"data_source\":{\"id\":\"82ab9ad0-bde5-4b70-9f00-e207e02c1125\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"cdeedb85-ce54-4194-9941-f3260a5ee150\",\"type\":\"MultiLine\"},\"hover_glyph\":{\"id\":\"33e933fa-95ce-4300-b280-7584d2cea41e\",\"type\":\"MultiLine\"},\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"da589ee3-1aa6-483a-a72e-5cfad1fe8b02\",\"type\":\"MultiLine\"},\"selection_glyph\":null,\"view\":{\"id\":\"5dbb77b1-c62d-425b-8063-0b0fa6d69adf\",\"type\":\"CDSView\"}},\"id\":\"4ca28048-1ca6-4628-8159-8736e63003bf\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"82ab9ad0-bde5-4b70-9f00-e207e02c1125\",\"type\":\"ColumnDataSource\"}},\"id\":\"5dbb77b1-c62d-425b-8063-0b0fa6d69adf\",\"type\":\"CDSView\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"a6bb3c15-6b94-4d1d-a83a-243d8293473f\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"3fdd278f-b42c-40a3-9ada-1e3716057078\",\"type\":\"BasicTicker\"}},\"id\":\"6d11d680-ac93-40a0-be8a-a27070812ca6\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"a8334ab0-e9ac-4ae4-a21c-94731a019441\",\"type\":\"NodesAndLinkedEdges\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"0947ac55-a405-4948-9492-f96cb4b8a124\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"a6bb3c15-6b94-4d1d-a83a-243d8293473f\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"bd87db9f-8106-42d9-8ae9-8233b3fe988b\",\"type\":\"BasicTicker\"}},\"id\":\"ce81fe0b-5884-464b-bcb4-e6fe82f65999\",\"type\":\"LinearAxis\"},{\"attributes\":{\"fill_color\":{\"value\":\"limegreen\"},\"size\":{\"units\":\"screen\",\"value\":15}},\"id\":\"f252826d-6cdc-4614-9d81-00a892c9be28\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"c57d4f1d-ecec-4c52-a1e1-2b0d4918385f\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"0947ac55-a405-4948-9492-f96cb4b8a124\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"352c57b1-d9dc-4b5c-9c50-5ea56597cd2f\",\"type\":\"HoverTool\"},{\"id\":\"38f2e963-d82f-4509-8ba6-b2ce8becb196\",\"type\":\"SaveTool\"},{\"id\":\"6b57f1a1-9b3c-40f4-b78b-51244e3369a9\",\"type\":\"PanTool\"},{\"id\":\"4b1bb7cf-3934-4069-b366-59c04ebffe89\",\"type\":\"WheelZoomTool\"},{\"id\":\"cf66d6aa-3c27-4fce-847e-92cba5bbf3ce\",\"type\":\"BoxZoomTool\"},{\"id\":\"81e7a42c-d642-481e-acc9-fb64cbc2c3d8\",\"type\":\"ResetTool\"},{\"id\":\"19cc7618-88f7-4f3f-9675-9d516494a8df\",\"type\":\"TapTool\"}]},\"id\":\"ba88bab8-c5e5-48c7-b3f4-ecada5da5cac\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"6eb6dd06-6f28-4953-87ee-67fae0f6805e\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#30a2da\"},\"line_alpha\":{\"value\":0.2},\"size\":{\"units\":\"screen\",\"value\":15}},\"id\":\"b9513c7c-acf6-448e-877d-a4aaa2c47fcc\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"bd87db9f-8106-42d9-8ae9-8233b3fe988b\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"a6bb3c15-6b94-4d1d-a83a-243d8293473f\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"bd87db9f-8106-42d9-8ae9-8233b3fe988b\",\"type\":\"BasicTicker\"}},\"id\":\"1882884c-54ab-432c-b4f1-27e53d6dc34b\",\"type\":\"Grid\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"96c17ec4-02c8-425b-9968-62213832320e\",\"type\":\"Title\"},{\"attributes\":{\"below\":[{\"id\":\"9c8e4fdb-79bb-475a-b182-a4e8d620dd47\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"ce81fe0b-5884-464b-bcb4-e6fe82f65999\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"renderers\":[{\"id\":\"9c8e4fdb-79bb-475a-b182-a4e8d620dd47\",\"type\":\"LinearAxis\"},{\"id\":\"6d11d680-ac93-40a0-be8a-a27070812ca6\",\"type\":\"Grid\"},{\"id\":\"ce81fe0b-5884-464b-bcb4-e6fe82f65999\",\"type\":\"LinearAxis\"},{\"id\":\"1882884c-54ab-432c-b4f1-27e53d6dc34b\",\"type\":\"Grid\"},{\"id\":\"53f4c51d-4c08-4a84-b88f-18ed4bc5d84d\",\"type\":\"BoxAnnotation\"},{\"id\":\"a926d155-dae7-4f4d-b855-5bcc19a8169b\",\"type\":\"GraphRenderer\"}],\"title\":{\"id\":\"96c17ec4-02c8-425b-9968-62213832320e\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"ba88bab8-c5e5-48c7-b3f4-ecada5da5cac\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"e62f0f6a-be68-4e2e-b327-50f64453f794\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"c57d4f1d-ecec-4c52-a1e1-2b0d4918385f\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"9a9bc46b-594f-4df1-8710-5b198aedf903\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"58fa7413-1ccb-475e-a7d4-7de306ec5f01\",\"type\":\"LinearScale\"}},\"id\":\"a6bb3c15-6b94-4d1d-a83a-243d8293473f\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"7b8178bb-6d74-4c3d-8010-68be42afc46f\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"callback\":null,\"data\":{\"Label\":[\"G. Louwagie\",\"J.A. Wozniak\",\"B. Faust\",\"C. Dahlke\",\"C. Orliac\",\"I. Feeser\",\"P.E. Baker\",\"A. Mieth\",\"F. Sudzuki\",\"J. Flenley\",\"R. Langohr\",\"T. Schatz\",\"C.M. Stevenson\",\"G. McCall\",\"A. Metraux\",\"J.M. Ram\\u00edrez\",\"Y. Li\",\"J. Grau\",\"H.-R. Bork\",\"G. Lee\",\"C. Diaz Vial\",\"P. Bahn\",\"K. Geidmacher\",\"S. Haoa\",\"J.A. Van Tilburg\",\"H. Bork\",\"H.-P. Piorr\",\"T. Ladefoged\",\"C. Dalchow\",\"H.R. Beckedahl\"],\"index\":{\"__ndarray__\":\"AAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAA\",\"dtype\":\"int32\",\"shape\":[30]},\"index_hover\":[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"22\",\"23\",\"24\",\"25\",\"26\",\"27\",\"28\",\"29\"]},\"selected\":{\"id\":\"73146f25-d584-4734-9dd2-576bf42173b6\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"cca2d80a-48f2-4d64-b913-c99fabc43ca6\",\"type\":\"UnionRenderers\"}},\"id\":\"25f37442-5b59-4aa0-8bf1-04c16da09273\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"cca2d80a-48f2-4d64-b913-c99fabc43ca6\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"edge_renderer\":{\"id\":\"4ca28048-1ca6-4628-8159-8736e63003bf\",\"type\":\"GlyphRenderer\"},\"inspection_policy\":{\"id\":\"a8334ab0-e9ac-4ae4-a21c-94731a019441\",\"type\":\"NodesAndLinkedEdges\"},\"layout_provider\":{\"id\":\"4e3450d8-4842-4ac0-a635-2564886ac312\",\"type\":\"StaticLayoutProvider\"},\"node_renderer\":{\"id\":\"8859d339-c890-4682-8812-3a47f4a73c7b\",\"type\":\"GlyphRenderer\"},\"selection_policy\":{\"id\":\"cda762db-3b90-4304-9fd9-6d1920430002\",\"type\":\"NodesAndLinkedEdges\"}},\"id\":\"a926d155-dae7-4f4d-b855-5bcc19a8169b\",\"type\":\"GraphRenderer\"},{\"attributes\":{},\"id\":\"38f2e963-d82f-4509-8ba6-b2ce8becb196\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"18f48a45-0f2a-49c5-baf8-f741fe0f4b84\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"81e7a42c-d642-481e-acc9-fb64cbc2c3d8\",\"type\":\"ResetTool\"},{\"attributes\":{\"callback\":null,\"data\":{\"end\":{\"__ndarray__\":\"FQAAABUAAAAJAAAACQAAAAYAAAASAAAAEAAAABAAAAASAAAAGQAAABwAAAACAAAAGgAAAAsAAAAZAAAAHAAAAAIAAAAaAAAACwAAABwAAAACAAAAGgAAAAsAAAACAAAAGgAAAAsAAAAaAAAACwAAAAsAAAASAAAAHQAAAAMAAAAWAAAABwAAABAAAAAdAAAAAwAAABYAAAAHAAAAEAAAAAMAAAAWAAAABwAAABAAAAAWAAAABwAAABAAAAAHAAAAEAAAABAAAAAUAAAACQAAABEAAAATAAAAAAAAAAoAAAAKAAAADQAAAA4AAAAHAAAAEgAAABIAAAAHAAAAEgAAAAUAAAASAAAABQAAAAUAAAAEAAAADwAAAAwAAAAXAAAAFwAAAAwAAAABAAAAFwAAAAEAAAAXAAAAFwAAAAwAAAAbAAAAFwAAABsAAAAXAAAAFwAAAAgAAAAYAAAAAQAAAAEAAAABAAAA\",\"dtype\":\"int32\",\"shape\":[90]},\"start\":{\"__ndarray__\":\"FQAAABUAAAAVAAAACQAAAAYAAAASAAAAEgAAABAAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAAZAAAAGQAAABkAAAAZAAAAGQAAABwAAAAcAAAAHAAAABwAAAACAAAAAgAAAAIAAAAaAAAAGgAAAAsAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAAdAAAAHQAAAB0AAAAdAAAAHQAAAAMAAAADAAAAAwAAAAMAAAAWAAAAFgAAABYAAAAHAAAABwAAABAAAAAUAAAACQAAABEAAAATAAAAAAAAAAAAAAAKAAAADQAAAA4AAAAHAAAABwAAABIAAAAHAAAABwAAAAcAAAASAAAAEgAAAAUAAAAEAAAADwAAAAwAAAAMAAAAFwAAAAwAAAAMAAAADAAAAAEAAAABAAAAFwAAAAwAAAAMAAAADAAAABsAAAAbAAAAFwAAAAgAAAAYAAAAAQAAAAEAAAABAAAA\",\"dtype\":\"int32\",\"shape\":[90]}},\"selected\":{\"id\":\"18f48a45-0f2a-49c5-baf8-f741fe0f4b84\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"7b8178bb-6d74-4c3d-8010-68be42afc46f\",\"type\":\"UnionRenderers\"}},\"id\":\"82ab9ad0-bde5-4b70-9f00-e207e02c1125\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"callback\":null,\"renderers\":[{\"id\":\"a926d155-dae7-4f4d-b855-5bcc19a8169b\",\"type\":\"GraphRenderer\"}],\"tooltips\":[[\"index\",\"@{index_hover}\"],[\"Label\",\"@{Label}\"]]},\"id\":\"352c57b1-d9dc-4b5c-9c50-5ea56597cd2f\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"6b57f1a1-9b3c-40f4-b78b-51244e3369a9\",\"type\":\"PanTool\"},{\"attributes\":{\"fill_color\":{\"value\":\"#30a2da\"},\"size\":{\"units\":\"screen\",\"value\":15}},\"id\":\"7622d235-d53d-4f2f-9f01-66b9a1d455a9\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"73146f25-d584-4734-9dd2-576bf42173b6\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"4b1bb7cf-3934-4069-b366-59c04ebffe89\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"callback\":null,\"end\":1.2,\"reset_end\":1.2,\"reset_start\":-1.2,\"start\":-1.2},\"id\":\"9a9bc46b-594f-4df1-8710-5b198aedf903\",\"type\":\"Range1d\"},{\"attributes\":{\"overlay\":{\"id\":\"53f4c51d-4c08-4a84-b88f-18ed4bc5d84d\",\"type\":\"BoxAnnotation\"}},\"id\":\"cf66d6aa-3c27-4fce-847e-92cba5bbf3ce\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"graph_layout\":{\"0\":[1.0,0.0],\"1\":[0.9781476007338057,0.20791169081775931],\"10\":[-0.4999999999999998,0.8660254037844387],\"11\":[-0.6691306063588579,0.7431448254773945],\"12\":[-0.8090169943749473,0.5877852522924732],\"13\":[-0.9135454576426008,0.40673664307580043],\"14\":[-0.9781476007338056,0.20791169081775973],\"15\":[-1.0,1.2246467991473532e-16],\"16\":[-0.9781476007338057,-0.20791169081775907],\"17\":[-0.9135454576426011,-0.4067366430757998],\"18\":[-0.8090169943749475,-0.587785252292473],\"19\":[-0.6691306063588585,-0.743144825477394],\"2\":[0.9135454576426009,0.40673664307580015],\"20\":[-0.5000000000000004,-0.8660254037844384],\"21\":[-0.30901699437494756,-0.9510565162951535],\"22\":[-0.10452846326765423,-0.9945218953682733],\"23\":[0.10452846326765299,-0.9945218953682734],\"24\":[0.30901699437494723,-0.9510565162951536],\"25\":[0.4999999999999993,-0.866025403784439],\"26\":[0.6691306063588578,-0.7431448254773946],\"27\":[0.8090169943749473,-0.5877852522924734],\"28\":[0.9135454576426005,-0.40673664307580093],\"29\":[0.9781476007338056,-0.20791169081775987],\"3\":[0.8090169943749475,0.5877852522924731],\"4\":[0.6691306063588582,0.7431448254773941],\"5\":[0.5000000000000001,0.8660254037844386],\"6\":[0.30901699437494745,0.9510565162951535],\"7\":[0.10452846326765368,0.9945218953682733],\"8\":[-0.10452846326765333,0.9945218953682734],\"9\":[-0.30901699437494734,0.9510565162951536]}},\"id\":\"4e3450d8-4842-4ac0-a635-2564886ac312\",\"type\":\"StaticLayoutProvider\"}],\"root_ids\":[\"a6bb3c15-6b94-4d1d-a83a-243d8293473f\"]},\"title\":\"Bokeh Application\",\"version\":\"0.13.0\"}};\n", " var render_items = [{\"docid\":\"7f660a4e-dd73-4c03-bec4-89729a032798\",\"roots\":{\"a6bb3c15-6b94-4d1d-a83a-243d8293473f\":\"39eee20b-4744-4f5c-8358-129555d5da8f\"}}];\n", " root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", "\n", " }\n", " if (root.Bokeh !== undefined) {\n", " embed_document(root);\n", " } else {\n", " var attempts = 0;\n", " var timer = setInterval(function(root) {\n", " if (root.Bokeh !== undefined) {\n", " embed_document(root);\n", " clearInterval(timer);\n", " }\n", " attempts++;\n", " if (attempts > 100) {\n", " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\")\n", " clearInterval(timer);\n", " }\n", " }, 10, root)\n", " }\n", "})(window);" ], "application/vnd.holoviews_exec.v0+json": "", "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "
\n", "
" ], "text/plain": [ ":Graph [start,end]" ] }, "execution_count": 15, "metadata": { "application/vnd.holoviews_exec.v0+json": { "id": "a6bb3c15-6b94-4d1d-a83a-243d8293473f" } }, "output_type": "execute_result" } ], "source": [ "%%opts Graph [width=600 height=600]\n", "padding = dict(x=(-1.2, 1.2), y=(-1.2, 1.2))\n", "hv.Graph(((sources, targets), node_info)).redim.range(**padding)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Interesting!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Trying a different citation " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's now see if we can apply the same extractive logic to a second article: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5637906/" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "raw_html = \"\"\"\n", "
  • \n", "Allen M. S., & Craig J. A. (2009). Dynamics of polynesian subsistence: Insights from Archaeofauna and stable isotope studies, Aitutaki, Southern Cook islands 1. Pacific Science, 63, 477–506.\n", "
  • \n", "Ambrose S. H., Butler B. M., Hanson D. B., Hunter‐Anderson R. L., & Krueger H. W. (1997). Stable isotopic analysis of human diet in the Marianas Archipelago, Western Pacific. American Journal of Physical Anthropology, 104, 343–361.\n", " [PubMed]
  • \n", "Arana P. M. (2014). Ancient fishing activities developed in Easter Island. Latin American Journal of Aquatic Research, 42, 673–689.\n", "
  • \n", "Arneborg J., Heinemeier J., Lynnerup N., Nielsen H. L., Rud N., & Sveinbjornsdottir A. E. (1999). Change of diet of the Greenland Vikings determined from stable carbon isotope analysis and 14C dating of their bones. Radiocarbon, 41, 157–168.\n", "
  • \n", "Arthur K. E., Kelez S., Larsen T., Choy C. A., & Popp B. N. (2014). Tracing the biosynthetic source of essential amino acids in marine turtles using δ13C fingerprints. Ecology, 95, 1285–1293.\n", " [PubMed]
  • \n", "Ayala‐Bradford I., Lipo C., & Hunt T. (2005). An application of high‐resolution satellite imagery for the mapping of habitation and subsistence features on Rapa Nui (Easter Island). The Renaca Papers: VI International Conference on Rapa Nui and the Pacific Easter Island Foundation and University of Valparaiso, Los Osos, pp 113–123.\n", "
  • \n", "Bender D. A. (2007). Introduction to nutrition and metabolism. London: Taylor & Francis‐CRC Press.\n", "
  • \n", "Blum J. D., Popp B. N., Drazen J. C., Choy C. A., & Johnson M. W. (2013). Methylmercury production below the mixed layer in the North Pacific Ocean. Nature Geoscience, 6, 879–884. \n", "
  • \n", "Bonhommeau S., Dubroca L., Le Pape O., Barde J., Kaplan D. M., Chassot E., & Nieblas A.‐E. (2013). Eating up the world's food web and the human trophic level. Proceedings of the National Academy of Sciences of United States of America, 110, 20617–20620.\n", " [PMC free article] [PubMed]
  • \n", "Bork H.‐R., Mieth A., & Tschochner B. (2004). Nothing but stones? A review of the extent and technical efforts of prehistoric stone mulching on Rapa Nui. Rapa Nui Journal, 18, 10–14.\n", "
  • \n", "Bradley C. J., Wallsgrove N. J., Choy C. A., Drazen J. C., Hetherington E. D., Hoen D. K., & Popp B. N. (2015). Trophic position estimates of marine teleosts using amino acid compound specific isotopic analysis. Limnology and Oceanography Methods, 13, 476–493.\n", "
  • \n", "Chikaraishi Y., & Naraoka H. (2003). Compound‐specific δD–δ13C analyses of n‐alkanes extracted from terrestrial and aquatic plants. Phytochemistry, 63, 361–371.\n", " [PubMed]
  • \n", "Chikaraishi Y., Kashiyama Y., Ogawa N. O., Kitazato H., & Ohkouchi N. (2007). Metabolic control of nitrogen isotope composition of amino acids in macroalgae and gastropods: Implications for aquatic food web studies. Marine Ecology Progress Series, 342, 85–90.\n", "
  • \n", "Chikaraishi Y., Ogawa N. O., Kashiyama Y., Takano Y., Suga H., Tomitani A., … Ohkouchi N. (2009). Determination of aquatic food‐web structure based on compound‐specific nitrogen isotopic composition of amino acids. Limnol Oceanogr Methods, 7, 740–750.\n", "
  • \n", "Chikaraishi Y., Ogawa N., & Ohkouchi N. (2010). Further evaluation of the trophic level estimation based on nitrogen isotopic composition of amino acids In Ohkouchi N., editor; , Tayasu I., editor; , & Koba K., editor. (Eds.), Earth, life, and isotopes (pp. 37–51). Kyoto: Kyoto University Press.\n", "
  • \n", "Chikaraishi Y., Ogawa N. O., Doi H., & Ohkouchi N. (2011). \n", "15N/14N ratios of amino acids as a tool for studying terrestrial food webs: A case study of terrestrial insects (bees, wasps, and hornets). Ecological Research, 26, 835–844.\n", "
  • \n", "Commendador A. S., Dudgeon J. V., Finney B. P., Fuller B. T., & Esh K. S. (2013). A stable isotope (δ13C and δ15N) perspective on human diet on Rapa Nui (Easter Island) ca. AD 1400–1900. American Journal of Physical Anthropology, 152, 173–185.\n", " [PubMed]
  • \n", "Commendador A. S., Dudgeon J. V., Fuller B. T., & Finney B. P. (2014). Radiocarbon dating human skeletal material on Rapa Nui: Evaluating the effect of uncertainty in marine‐derived carbon. Radiocarbon\n", "56, 277–294.\n", "
  • \n", "Corr L. T., Sealy J. C., Horton M. C., & Evershed R. P. (2005). A novel marine dietary indicator utilising compound‐specific bone collagen amino acid δ13C values of ancient humans. Journal of Archaeological Science, 32, 321–330.\n", "
  • \n", "Décima M., Landry M. R., & Popp B. N. (2013). Environmental perturbation effects on baseline δ15N values and zooplankton trophic flexibility in the southern California Current Ecosystem. Limnology & Oceanography, 58, 624–634.\n", "
  • \n", "DeNiro M. J. (1985). Postmortem preservation and alteration of in vivo bone collagen isotope ratios in relation to palaeodietary reconstruction. Nature, 317, 806–809.\n", "
  • \n", "Diamond J. (2005). Collapse: How societies choose to fail or succeed. New York: Penguin.\n", "
  • \n", "Dudgeon J. V. (2008). The genetic architecture of the late prehistoric and protohistoric Rapa Nui (Easter Islanders), Ph.D. Diss, University of Hawaii, Manoa.\n", "
  • \n", "Dudgeon J. V., & Tromp M. (2014). Diet, geography and drinking water in Polynesia: Microfossil research from archaeological human dental calculus, Rapa Nui (Easter Island). International Journal of Osteoarchaeology, 24, 634–648.\n", "
  • \n", "Edwards E. J., & Still C. J. (2008). Climate, phylogeny and the ecological distribution of C4 grasses. Ecology Letters, 11, 266–276.\n", " [PubMed]
  • \n", "Ehleringer J. R., Cerling T. E., & Helliker B. R. (1997). C4 photosynthesis, atmospheric CO2 and climate. Oecologia, 112, 285–299.\n", " [PubMed]
  • \n", "Farquhar G. D., Ehleringer J. R., & Hubick K. T. (1989). Carbon isotope discrimination and photosynthesis. Annual Review of Plant Biology, 40, 503–537.\n", "
  • \n", "Fernandes R., Nadeau M.‐J., & Grootes P. M. (2012). Macronutrient‐based model for dietary carbon routing in bone collagen and bioapatite. Archaeological and Anthropological Sciences, 4, 291–301.\n", "
  • \n", "Fernandes R., Millard A. R., Brabec M., Nadeau M.‐J., & Grootes P. (2014). Food reconstruction using isotopic transferred signals (FRUITS): A Bayesian model for diet reconstruction. PLoS One, 9, e87436.\n", " [PubMed]
  • \n", "Finot V. L., Marticorena C., Marticorena A., Rojas G., & Barrera J. A. (2015). Grasses (Poaceae) of Easter Island—native and introduced species diversity In Blanco J. A., editor; & Lo Y. –H., editor; , & Roy S., editor. (Eds.), Biodiversity in ecosystems ‐ linking structure and function (pp. 1–24). Rijeka: Intech.\n", "
  • \n", "Flenley J. R. (1993). The present flora of Easter Island and its origins In Fischer S. R., editor. (Ed.), Easter island studies: Contributions to the history of Rapanui in memory of William T. Mulloy (pp. 7–15). Oxford: Oxbow Books.\n", "
  • \n", "Fogel M. L., Tuross N., Johnson B. J., & Miller G. H. (1997). Biogeochemical record of ancient humans. Organic Geochemistry, 27, 275–287.\n", "
  • \n", "Francey R., Allison C. E., Etheridge D. M., Trudinger C. M., Enting I. G., Leuenberger M., … Steele L. P. (1999). A 1000‐year high precision record of δ13C in atmospheric CO2\n", ". Tellus B, 51, 170–193.\n", "
  • \n", "Fraser R. A., Bogaard A., Heaton T., Charles M., Jones G., Christensen B. T., … Styring A. K. (2011). Manuring and stable nitrogen isotope ratios in cereals and pulses: Towards a new archaeobotanical approach to the inference of land use and dietary practices. Journal of Archaeological Science, 38, 2790–2804.\n", "
  • \n", "Gelwicks J. T., & Hayes J. M. (1990). Carbon‐Isotopic analysis of dissolved acetate. Analytical Chemistry, 62, 535–539.\n", " [PubMed]
  • \n", "Hayes J. M., Freeman K. H., Hoham C. H., & Popp B. N. (1990). Compound‐specific isotopic analyses, a novel tool for reconstruction of ancient biogeochemical processes. Organic Geochemistry, 16, 1115–1128.\n", " [PubMed]
  • \n", "Hannides C., Popp B. N., Landry M. R., & Graham B. S. (2009). Quantification of zooplankton trophic position in the North Pacific Subtropical Gyre using stable nitrogen isotopes. Limnology and Oceanography, 54, 50–61.\n", "
  • \n", "Hebert C. E., Popp B. N., Fernie K. J., Ka'apu‐Lyons C., Rattner B. A., & Wallsgrove N. (2016). Amino acid‐specific stable nitrogen isotope values in avian tissues: Insights from captive American kestrels and wild herring gulls. Environmental Science & Technology, 50, 12928–12937.\n", " [PubMed]
  • \n", "Heyerdahl T. (1958). Aku‐Aku: The secret of Easter Island. London: Allen & Unwin, Ltd.\n", "
  • \n", "Heyerdahl T., Ferdon E. N., Mulloy W., Skjölsvold A., & Smith C. S. (1962). Archaeology of Easter island. London: Allen and Unwin, Ltd.\n", "
  • \n", "Hogg A. H., Hua Q., Blackwell P. G., Niu M., Buck C. E., Guilderson T. P., … Zimmerman S. R. H. (2013). SHCal13 Southern Hemisphere calibration, 0–50,000 years cal BP. Radiocarbon, 55, 1889–1903.\n", "
  • \n", "Houlton B. Z., Sigman D. M., & Hedin L. O. (2006). Isotopic evidence for large gaseous nitrogen losses from tropical rainforests. Proceedings of the National Academy of Sciences of United States of America, 103, 8745–8750.\n", " [PMC free article] [PubMed]
  • \n", "Horrocks M., Baisden W., Flenley J., Feek D., Nualart L. G., Haoa‐Cardinali S., & Gorman T. E. (2012a). Fossils plant remains at Rano Raraku, Easter Island's statue quarry: Evidence for past elevated lake level and ancient Polynesian agriculture. Journal of Paleolimnology, 48, 767–783.\n", "
  • \n", "Horrocks M., Baisden W., Nieuwoudt M., Flenley J., Feek D., Nualart L. G., … Gorman T. E. (2012b). Microfossils of Polynesian cultigens in lake sediment cores from Rano Kau, Easter Island. Journal of Paleolimnology, 47, 185–204.\n", "
  • \n", "Horrocks M., & Wozniak J. A. (2008). Plant microfossil analysis reveals disturbed forest and a mixed‐crop, dryland production system at Te Niu, Easter Island. Journal of Archaeolocial Science, 35, 126–142.\n", "
  • \n", "Howland M. R., Corr L. T., Young S. M. M., Jones V., Jim S., Van Der Merwe N. J., … Evershed R. P. (2003). Expression of the dietary isotope signal in the compound‐specific δ13C values of pig bone lipids and amino acids. International Journal of Osteoarchaeology, 13, 54–65.\n", "
  • \n", "Hunt T. L. (2007). Rethinking Easter Island's ecological catastrophe. Journal of Archaeological Science, 34, 485–502.\n", "
  • \n", "Hunt T. L., & Lipo C. (2006). Late colonization of Easter Island. Science, 311, 1603–1606.\n", " [PubMed]
  • \n", "Hunt T. L., & Lipo C. (2011). The statues that walked: Unraveling the mystery of Easter island. New York: Simon and Schuster.\n", "
  • \n", "Jim S., Jones V., Ambrose S. H., & Evershed R. (2006). Quantifying dietary macronutrient sources of carbon of bone collagen biosynthesis using natural abundance stable carbon isotope analysis. British Journal of Nutrition, 95, 1055–1062.\n", " [PubMed]
  • \n", "Kinaston R., Buckley H., Valentin F., Bedford S., Spriggs M., Hawkins S., & Herrscher E. (2014). Diet and human mobility from the Lapita to the early historic period on Uripiv Island, Northeast Malakula, Vanuatu. PLoS One, 9, e90376.\n", " [PubMed]
  • \n", "Klemmer K., & Zizka G. (1993). The terrestrial Fauna of Easter Island In Fischer S. R., editor. (Ed.), Easter Island studies: Contributions to the history of Rapanui in memory of William T. Mulloy (pp. 24–26). Oxford: Oxbow Books.\n", "
  • \n", "Larsen T., Taylor D. L., Leigh M. B., & O'Brien D. M. (2009). Stable isotope fingerprinting: A novel method for identifying plant, fungal, or bacterial origins of amino acids. Ecology, 90, 3526–3535.\n", " [PubMed]
  • \n", "Larsen T., Ventura M., Andersen N., O'Brien D. M., Piatkowski U., & McCarthy M. D. (2013). Tracing carbon sources through aquatic and terrestrial food webs using amino acid stable isotope fingerprinting. PLoS One, 8, e73441.\n", " [PubMed]
  • \n", "Larsen T., Bach L. T., Salvatteci R., Wang Y. V., Andersen N., Ventura M., & McCarthy M. D. (2015). Assessing the potential of amino acid δ13C patterns as a carbon source tracer in marine sediments: Effects of algal growth conditions and sedimentary diagenesis. Biogeosciences Discuss, 12, 1613–1651.\n", "
  • \n", "Lee G. (1993). The rock art of Rapanui In Fischer S. R., editor. (Ed.), Easter island studies: Contributions to the history of Rapanui in memory of William T. Mulloy (pp. 24–26). Oxford: Oxbow books.\n", "
  • \n", "Lipo C. P., Hunt T. L., & Hundtoft B. (2010). Stylistic variability of stemmed obsidian tools (mata'a), frequency seriation, and the scale of social interaction on Rapa Nui (Easter Island). Journal of Archaeological Science, 37, 2551–2561.\n", "
  • \n", "Lipo C. P., & Hunt T. L. (2016). Chronology and Easter Island prehistory In: Stefan VH, editor; & Gill GW, editor. , editors. Skeletal biology of the ancient rapanui (easter islanders), cambridge studies in biological and evolutionary anthropology. Cambridge: Cambridge University Press; p 39–65.\n", "
  • \n", "Ladefoged T. N., Stevenson C. M., Haoa S., Mulrooney M., Puleston C., Vitousek P. M., & Chadwick O. A. (2010). Soil nutrient analysis of Rapa Nui gardening. Archaeology in Oceania, 45, 80–85.\n", "
  • \n", "Louwagie G., Stevenson C. M., & Langohr R. (2006). The impact of moderate to marginal land suitability on prehistoric agricultural production and models of adaptive strategies for Easter Island (Rapa Nui, Chile). Journal of Anthropological Archaeology, 25, 290–317.\n", "
  • \n", "Lunn D., Thomas A., Best N., & Spiegelhalter D. (2000). WinBUGS ‐ A Bayesian modeling framework: Concepts, structure, and extensibility. Statistics and Computing, 10, 325–337.\n", "
  • \n", "Martinsson‐Wallin H., & Wallin P. (1999). Excavations at Anakena: The Easter Island settlement sequence and change of subsistence? In P. Vargas Casanova (Ed.), Easter Island and East polynesian prehistory (pp. 179–186), Santiago: International Congress on Easter island and Eastern Polynesian Archaeology, Universidad de Chile.\n", "
  • \n", "McCarthy M. D., Lehman J., & Kudela R. (2013) Compound‐specific amino acid δ15N patterns in marine algae: Tracer potential for cyanobacterial vs. eukaryotic organic nitrogen sources in the ocean. Geochim. Comochim. Acta, 103, 104–120.\n", "
  • \n", "McClelland J. W., & Montoya J. P. (2002). Trophic relationships and the nitrogen isotopic composition of amino acids in plankton. Ecology, 83, 2173–2180.\n", "
  • \n", "McClelland J., Holl C., & Montoya J. (2003). Relating low δ15N values of zooplankton to N2‐fixation in the tropical North Atlantic: Insights provided by stable isotope ratios of amino acids. Deep Sea Research Part I: Oceanographic Research Papers, 50, 849–861.\n", "
  • \n", "Métraux A. (1940). Ethnology of Easter Island. Bernice P. Bishop Museum bulletin 160. Honolulu: Bishop Museum Press.\n", "
  • \n", "Morrison A. E. (2012). Archaeological analysis of Rapa Nui settlement structure: A multi‐scalar approach, Ph.D. dissertation. University of Hawaii at Manoa, Honolulu.\n", "
  • \n", "Müldner G., & Richards M. P. (2005). Fast or feast: Reconstructing diet in later medieval England by stable isotope analysis. Journal of Archaeological Science, 32, 39–48.\n", "
  • \n", "Munz P. A. (1974). A flora of southern California. Oakland: University of California Press.\n", "
  • \n", "Naito Y. I., Honch N. V., Chikaraishi Y., Ohkouchi N., & Yoneda M. (2010). Quantitative evaluation of marine protein contribution in ancient diets based on nitrogen isotope ratios of individual amino acids in bone collagen: An investigation at the Kitakogane Jomon site. American Journal of Physical Anthropology, 143, 31–40.\n", " [PubMed]
  • \n", "Naito Y. I., Chikaraishi Y., Ohkouchi N., Drucker D. G., & Bocherens H. (2013). Nitrogen isotopic composition of collagen amino acids as an indicator of aquatic resource consumption: Insights from Mesolithic and Epipalaeolithic archaeological sites in France. World Archaeology, 45, 338–359.\n", "
  • \n", "Nielsen J. M., Popp B. N., & Winder M. (2015). Meta‐analysis of amino acid stable nitrogen isotope ratios for estimating trophic position in marine organisms. Oecologia, 178, 631–642.\n", " [PubMed]
  • \n", "Penton C. R., Deenik J. L., Popp B. N., Bruland G., Engstrom P., St. Louis D., & Tiedje J. M. (2013). Importance of sub‐surface rhisosphere‐mediated coupled nitrification‐denitrification in a flooded argoecosystem in Hawaii. Soil Biology and Biochemistry, 57, 362–373.\n", "
  • \n", "Penton C. R., Deenik J. L., Popp B. N., Bruland G. L., Engstrom P., Mueller J., … Tiedje J. M. (2014). Assessing nitrogen transformations in a flooded agroecosystem using the isotope pairing technique and nitrogen functional gene abundances. Soil Science, 179, 2–10.\n", "
  • \n", "Phillips D. L., & Gregg J. W. (2001). Uncertainty in source partitioning using stable isotopes. Oecologia, 127, 171–179.\n", " [PubMed]
  • \n", "Polet C. (2011). Health and diet of ancient Easter Islanders: Contribution of paleopathology, dental microwear and stable isotopes. Bull Séanc Acad R Sci Outre‐Mer Meded Zitt K Acad Overzeese Wet, 57, 333–353.\n", "
  • \n", "Polet C., & Bocherens H. (2015). New insights into the marine contribution to ancient Easter Islanders’ diet. Journal of Archaeological Science: Reports, 6, 709–719.\n", "
  • \n", "Popp B. N., Graham B. S., Olson R. J., Hannides C. C. S., Lott M. J., Lopez‐Ibarra G. A., Galvan‐Magana F., & Fry B. (2007). Insight into the trophic ecology of yellowfin tuna, Thunnus albacares, from compound‐specific nitrogen isotope analysis of protenaceous amino acids In Dawson T., editor; & Siegwolf R., editor. (Eds.), Stable isotopes as indicators of ecological change, Terrestrial Ecology Series (pp. 173–190). New York: Elsevier Academic Press.\n", "
  • \n", "Ramsey C. B. (2009). Bayesian analysis of radiocarbon dates. Radiocarbon, 51, 337–360.\n", "
  • \n", "Reimer P. J., Bard E., Bayliss A., Beck J. W., Blackwell P. G., Ramsey C. B., … van der Plicht J. (2013). IntCal13 and Marine13 radiocarbon age calibration curves 0–50,000 years cal BP. Radiocarbon, 55, 1869–1887.\n", "
  • \n", "Richards M. P., West E., Rolett B., & Dobney K. (2009). Isotope analysis of human and animal diets from the Hanamiai archaeological site (French Polynesia). Arch Oceania, 44, 29–37.\n", "
  • \n", "Roggeveen J. (1908). The Voyage of Captain Don Felipe González: In the Ship of the Line San Lorenzo, with the Frigate Santa Rosalia in Company, to Easter Island in 1770–1. Preceded by an Extract from Mynheer Jacob Roggeveen's Official Log of His Discovery of and Visit to Easter Island in 1722. Cambridge: Hakluyt Society.\n", "
  • \n", "Shiels A. B., Flores C. A., Khamsing A., Krushelnycky P. D., Mosher S. M., & Drake D. R. (2013). Dietary niche differentiation among three species of invasive rodents (Rattus rattus, R. exulans, Mus musculus). Biological Invasions, 15, 1037–1048.\n", "
  • \n", "Silfer J., Engel M., Macko S., & Jumeau E. (1991). Stable carbon isotope analysis of amino acid enantiomers by conventional isotope ratio mass spectrometry and combined gas chromatography/isotope ratio mass spectrometry. Analytical Chemistry, 63, 370–374.\n", "
  • \n", "Skjølsvold A., Wallin P., & Martinsson‐Wallin H. (1994). Archaeological investigations at Anakena, Easter Island. Oslo: Kon‐Tiki Museum.\n", "
  • \n", "Stevenson C. M., Puleston C. O., Vitousek P. M., Chadwick O. A., Haoa S., & Ladefoged T. N. (2015). Variation in Rapa Nui (Easter Island) land use indicates production and population peaks prior to European contact. Proceedings of the National Academy of Sciences of the United States of America, 112, 1025–1030.\n", " [PubMed]
  • \n", "Styring A. K., Sealy J. C., & Evershed R. P. (2010). Resolving the bulk δ15N values of ancient human and animal bone collagen via compound‐specific nitrogen isotope analysis of constituent amino acids. Geochimica et Cosmochimica Acta, 74, 241–251.\n", "
  • \n", "Styring A. K., Fraser R. A., Bogaard A., & Evershed R. P. (2014). Cereal grain, rachis and pulse seed amino acid δ15N values as indicators of plant nitrogen metabolism. Phytochemistry, 97, 20–29.\n", " [PubMed]
  • \n", "Styring A. K., Fraser R. A., Arbogast R.‐M., Halstead P., Isaakidou V., Pearson J. A., … Evershed R. P. (2015). Refining human palaeodietary reconstruction using amino acid δ15N values of plants, animals and humans. Journal of Archaeological Science, 53, 504–515.\n", "
  • \n", "Szpak P. (2014). Complexities of nitrogen isotope biogeochemistry in plant‐soil systems: Implications for the study of ancient agricultural and animal management practices. Frontiers in Plant Science, 5, 1–19.\n", " [PMC free article] [PubMed]
  • \n", "Szpak P., Longstaffe F. J., Millaire J.‐F., & White C. D. (2012). Stable isotope biogeochemistry of Seabird Guano fertilization: Results from growth chamber studies with maize (Zea Mays). PLoS One, 7, e33741.\n", " [PubMed]
  • \n", "Thomson W. J. (1891). Te Pito Te Henua, or Easter Island. Report of the National Museum: Government Printing Office (p 447–552).\n", "
  • \n", "Tremblay L., & Benner R. (2006) Microbial contributions to N‐immobilization and organic matter preservation in decaying plant detritus. Geochim. Cosmochim. Acta\n", "70: 133–146.\n", "
  • \n", "Ueda K., Morgan S. L., Fox A., Gilbart J., Sonesson A., Larsson L., & Odham G. (1989). D‐alanine as a chemical marker for the determination of streptococcal cell wall levels in mammalian tissues by gas chromatography/negative ion chemical ionization mass spectrometry. Analytical Chemistry, 61, 265–270.\n", " [PubMed]
  • \n", "Vitousek P. M., Chadwick O. A., Hotchkiss S. C., Ladefoged T. N., & Stevenson M. (2014). Farming the rock: A biogeochemical perspective on intensive agriculture in Polynesia. Journal of Pacific Archaeology, 5, 51–61.\n", "
  • \n", "Vogel J. S., Southon J. R., Nelson D. E., & Brown T. A. (1984) Performance of catalytically condensed carbon for use in accelerator mass spectrometry. Nuclear Instruments and Methods, 223, 289–293.\n", "
  • \n", "Webb E. A., Lewis J., Shain A., Kastrisianaki‐Guyton E., Honch N. V., Stewart A., … Evershed R. P. (2017). The influence of varying proportions of terrestrial and marine dietary protein on the stable carbon‐isotope compositions of pig tissues from a controlled feeding experiment. Science & Technology of Archaeological Research, 3, 36–52.\n", "
\"\"\"" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
  • \n", "Allen M. S., & Craig J. A. (2009). Dynamics of polynesian subsistence: Insights from Archaeofauna and stable isotope studies, Aitutaki, Southern Cook islands 1. Pacific Science, 63, 477–506.\n", "
  • \n", "Ambrose S. H., Butler B. M., Hanson D. B., Hunter‐Anderson R. L., & Krueger H. W. (1997). Stable isotopic analysis of human diet in the Marianas Archipelago, Western Pacific. American Journal of Physical Anthropology, 104, 343–361.\n", " [PubMed]
  • \n", "Arana P. M. (2014). Ancient fishing activities developed in Easter Island. Latin American Journal of Aquatic Research, 42, 673–689.\n", "
  • \n", "Arneborg J., Heinemeier J., Lynnerup N., Nielsen H. L., Rud N., & Sveinbjornsdottir A. E. (1999). Change of diet of the Greenland Vikings determined from stable carbon isotope analysis and 14C dating of their bones. Radiocarbon, 41, 157–168.\n", "
  • \n", "Arthur K. E., Kelez S., Larsen T., Choy C. A., & Popp B. N. (2014). Tracing the biosynthetic source of essential amino acids in marine turtles using δ13C fingerprints. Ecology, 95, 1285–1293.\n", " [PubMed]
  • \n", "Ayala‐Bradford I., Lipo C., & Hunt T. (2005). An application of high‐resolution satellite imagery for the mapping of habitation and subsistence features on Rapa Nui (Easter Island). The Renaca Papers: VI International Conference on Rapa Nui and the Pacific Easter Island Foundation and University of Valparaiso, Los Osos, pp 113–123.\n", "
  • \n", "Bender D. A. (2007). Introduction to nutrition and metabolism. London: Taylor & Francis‐CRC Press.\n", "
  • \n", "Blum J. D., Popp B. N., Drazen J. C., Choy C. A., & Johnson M. W. (2013). Methylmercury production below the mixed layer in the North Pacific Ocean. Nature Geoscience, 6, 879–884. \n", "
  • \n", "Bonhommeau S., Dubroca L., Le Pape O., Barde J., Kaplan D. M., Chassot E., & Nieblas A.‐E. (2013). Eating up the world's food web and the human trophic level. Proceedings of the National Academy of Sciences of United States of America, 110, 20617–20620.\n", " [PMC free article] [PubMed]
  • \n", "Bork H.‐R., Mieth A., & Tschochner B. (2004). Nothing but stones? A review of the extent and technical efforts of prehistoric stone mulching on Rapa Nui. Rapa Nui Journal, 18, 10–14.\n", "
  • \n", "Bradley C. J., Wallsgrove N. J., Choy C. A., Drazen J. C., Hetherington E. D., Hoen D. K., & Popp B. N. (2015). Trophic position estimates of marine teleosts using amino acid compound specific isotopic analysis. Limnology and Oceanography Methods, 13, 476–493.\n", "
  • \n", "Chikaraishi Y., & Naraoka H. (2003). Compound‐specific δD–δ13C analyses of n‐alkanes extracted from terrestrial and aquatic plants. Phytochemistry, 63, 361–371.\n", " [PubMed]
  • \n", "Chikaraishi Y., Kashiyama Y., Ogawa N. O., Kitazato H., & Ohkouchi N. (2007). Metabolic control of nitrogen isotope composition of amino acids in macroalgae and gastropods: Implications for aquatic food web studies. Marine Ecology Progress Series, 342, 85–90.\n", "
  • \n", "Chikaraishi Y., Ogawa N. O., Kashiyama Y., Takano Y., Suga H., Tomitani A., … Ohkouchi N. (2009). Determination of aquatic food‐web structure based on compound‐specific nitrogen isotopic composition of amino acids. Limnol Oceanogr Methods, 7, 740–750.\n", "
  • \n", "Chikaraishi Y., Ogawa N., & Ohkouchi N. (2010). Further evaluation of the trophic level estimation based on nitrogen isotopic composition of amino acids In Ohkouchi N., editor; , Tayasu I., editor; , & Koba K., editor. (Eds.), Earth, life, and isotopes (pp. 37–51). Kyoto: Kyoto University Press.\n", "
  • \n", "Chikaraishi Y., Ogawa N. O., Doi H., & Ohkouchi N. (2011). \n", "15N/14N ratios of amino acids as a tool for studying terrestrial food webs: A case study of terrestrial insects (bees, wasps, and hornets). Ecological Research, 26, 835–844.\n", "
  • \n", "Commendador A. S., Dudgeon J. V., Finney B. P., Fuller B. T., & Esh K. S. (2013). A stable isotope (δ13C and δ15N) perspective on human diet on Rapa Nui (Easter Island) ca. AD 1400–1900. American Journal of Physical Anthropology, 152, 173–185.\n", " [PubMed]
  • \n", "Commendador A. S., Dudgeon J. V., Fuller B. T., & Finney B. P. (2014). Radiocarbon dating human skeletal material on Rapa Nui: Evaluating the effect of uncertainty in marine‐derived carbon. Radiocarbon\n", "56, 277–294.\n", "
  • \n", "Corr L. T., Sealy J. C., Horton M. C., & Evershed R. P. (2005). A novel marine dietary indicator utilising compound‐specific bone collagen amino acid δ13C values of ancient humans. Journal of Archaeological Science, 32, 321–330.\n", "
  • \n", "Décima M., Landry M. R., & Popp B. N. (2013). Environmental perturbation effects on baseline δ15N values and zooplankton trophic flexibility in the southern California Current Ecosystem. Limnology & Oceanography, 58, 624–634.\n", "
  • \n", "DeNiro M. J. (1985). Postmortem preservation and alteration of in vivo bone collagen isotope ratios in relation to palaeodietary reconstruction. Nature, 317, 806–809.\n", "
  • \n", "Diamond J. (2005). Collapse: How societies choose to fail or succeed. New York: Penguin.\n", "
  • \n", "Dudgeon J. V. (2008). The genetic architecture of the late prehistoric and protohistoric Rapa Nui (Easter Islanders), Ph.D. Diss, University of Hawaii, Manoa.\n", "
  • \n", "Dudgeon J. V., & Tromp M. (2014). Diet, geography and drinking water in Polynesia: Microfossil research from archaeological human dental calculus, Rapa Nui (Easter Island). International Journal of Osteoarchaeology, 24, 634–648.\n", "
  • \n", "Edwards E. J., & Still C. J. (2008). Climate, phylogeny and the ecological distribution of C4 grasses. Ecology Letters, 11, 266–276.\n", " [PubMed]
  • \n", "Ehleringer J. R., Cerling T. E., & Helliker B. R. (1997). C4 photosynthesis, atmospheric CO2 and climate. Oecologia, 112, 285–299.\n", " [PubMed]
  • \n", "Farquhar G. D., Ehleringer J. R., & Hubick K. T. (1989). Carbon isotope discrimination and photosynthesis. Annual Review of Plant Biology, 40, 503–537.\n", "
  • \n", "Fernandes R., Nadeau M.‐J., & Grootes P. M. (2012). Macronutrient‐based model for dietary carbon routing in bone collagen and bioapatite. Archaeological and Anthropological Sciences, 4, 291–301.\n", "
  • \n", "Fernandes R., Millard A. R., Brabec M., Nadeau M.‐J., & Grootes P. (2014). Food reconstruction using isotopic transferred signals (FRUITS): A Bayesian model for diet reconstruction. PLoS One, 9, e87436.\n", " [PubMed]
  • \n", "Finot V. L., Marticorena C., Marticorena A., Rojas G., & Barrera J. A. (2015). Grasses (Poaceae) of Easter Island—native and introduced species diversity In Blanco J. A., editor; & Lo Y. –H., editor; , & Roy S., editor. (Eds.), Biodiversity in ecosystems ‐ linking structure and function (pp. 1–24). Rijeka: Intech.\n", "
  • \n", "Flenley J. R. (1993). The present flora of Easter Island and its origins In Fischer S. R., editor. (Ed.), Easter island studies: Contributions to the history of Rapanui in memory of William T. Mulloy (pp. 7–15). Oxford: Oxbow Books.\n", "
  • \n", "Fogel M. L., Tuross N., Johnson B. J., & Miller G. H. (1997). Biogeochemical record of ancient humans. Organic Geochemistry, 27, 275–287.\n", "
  • \n", "Francey R., Allison C. E., Etheridge D. M., Trudinger C. M., Enting I. G., Leuenberger M., … Steele L. P. (1999). A 1000‐year high precision record of δ13C in atmospheric CO2\n", ". Tellus B, 51, 170–193.\n", "
  • \n", "Fraser R. A., Bogaard A., Heaton T., Charles M., Jones G., Christensen B. T., … Styring A. K. (2011). Manuring and stable nitrogen isotope ratios in cereals and pulses: Towards a new archaeobotanical approach to the inference of land use and dietary practices. Journal of Archaeological Science, 38, 2790–2804.\n", "
  • \n", "Gelwicks J. T., & Hayes J. M. (1990). Carbon‐Isotopic analysis of dissolved acetate. Analytical Chemistry, 62, 535–539.\n", " [PubMed]
  • \n", "Hayes J. M., Freeman K. H., Hoham C. H., & Popp B. N. (1990). Compound‐specific isotopic analyses, a novel tool for reconstruction of ancient biogeochemical processes. Organic Geochemistry, 16, 1115–1128.\n", " [PubMed]
  • \n", "Hannides C., Popp B. N., Landry M. R., & Graham B. S. (2009). Quantification of zooplankton trophic position in the North Pacific Subtropical Gyre using stable nitrogen isotopes. Limnology and Oceanography, 54, 50–61.\n", "
  • \n", "Hebert C. E., Popp B. N., Fernie K. J., Ka'apu‐Lyons C., Rattner B. A., & Wallsgrove N. (2016). Amino acid‐specific stable nitrogen isotope values in avian tissues: Insights from captive American kestrels and wild herring gulls. Environmental Science & Technology, 50, 12928–12937.\n", " [PubMed]
  • \n", "Heyerdahl T. (1958). Aku‐Aku: The secret of Easter Island. London: Allen & Unwin, Ltd.\n", "
  • \n", "Heyerdahl T., Ferdon E. N., Mulloy W., Skjölsvold A., & Smith C. S. (1962). Archaeology of Easter island. London: Allen and Unwin, Ltd.\n", "
  • \n", "Hogg A. H., Hua Q., Blackwell P. G., Niu M., Buck C. E., Guilderson T. P., … Zimmerman S. R. H. (2013). SHCal13 Southern Hemisphere calibration, 0–50,000 years cal BP. Radiocarbon, 55, 1889–1903.\n", "
  • \n", "Houlton B. Z., Sigman D. M., & Hedin L. O. (2006). Isotopic evidence for large gaseous nitrogen losses from tropical rainforests. Proceedings of the National Academy of Sciences of United States of America, 103, 8745–8750.\n", " [PMC free article] [PubMed]
  • \n", "Horrocks M., Baisden W., Flenley J., Feek D., Nualart L. G., Haoa‐Cardinali S., & Gorman T. E. (2012a). Fossils plant remains at Rano Raraku, Easter Island's statue quarry: Evidence for past elevated lake level and ancient Polynesian agriculture. Journal of Paleolimnology, 48, 767–783.\n", "
  • \n", "Horrocks M., Baisden W., Nieuwoudt M., Flenley J., Feek D., Nualart L. G., … Gorman T. E. (2012b). Microfossils of Polynesian cultigens in lake sediment cores from Rano Kau, Easter Island. Journal of Paleolimnology, 47, 185–204.\n", "
  • \n", "Horrocks M., & Wozniak J. A. (2008). Plant microfossil analysis reveals disturbed forest and a mixed‐crop, dryland production system at Te Niu, Easter Island. Journal of Archaeolocial Science, 35, 126–142.\n", "
  • \n", "Howland M. R., Corr L. T., Young S. M. M., Jones V., Jim S., Van Der Merwe N. J., … Evershed R. P. (2003). Expression of the dietary isotope signal in the compound‐specific δ13C values of pig bone lipids and amino acids. International Journal of Osteoarchaeology, 13, 54–65.\n", "
  • \n", "Hunt T. L. (2007). Rethinking Easter Island's ecological catastrophe. Journal of Archaeological Science, 34, 485–502.\n", "
  • \n", "Hunt T. L., & Lipo C. (2006). Late colonization of Easter Island. Science, 311, 1603–1606.\n", " [PubMed]
  • \n", "Hunt T. L., & Lipo C. (2011). The statues that walked: Unraveling the mystery of Easter island. New York: Simon and Schuster.\n", "
  • \n", "Jim S., Jones V., Ambrose S. H., & Evershed R. (2006). Quantifying dietary macronutrient sources of carbon of bone collagen biosynthesis using natural abundance stable carbon isotope analysis. British Journal of Nutrition, 95, 1055–1062.\n", " [PubMed]
  • \n", "Kinaston R., Buckley H., Valentin F., Bedford S., Spriggs M., Hawkins S., & Herrscher E. (2014). Diet and human mobility from the Lapita to the early historic period on Uripiv Island, Northeast Malakula, Vanuatu. PLoS One, 9, e90376.\n", " [PubMed]
  • \n", "Klemmer K., & Zizka G. (1993). The terrestrial Fauna of Easter Island In Fischer S. R., editor. (Ed.), Easter Island studies: Contributions to the history of Rapanui in memory of William T. Mulloy (pp. 24–26). Oxford: Oxbow Books.\n", "
  • \n", "Larsen T., Taylor D. L., Leigh M. B., & O'Brien D. M. (2009). Stable isotope fingerprinting: A novel method for identifying plant, fungal, or bacterial origins of amino acids. Ecology, 90, 3526–3535.\n", " [PubMed]
  • \n", "Larsen T., Ventura M., Andersen N., O'Brien D. M., Piatkowski U., & McCarthy M. D. (2013). Tracing carbon sources through aquatic and terrestrial food webs using amino acid stable isotope fingerprinting. PLoS One, 8, e73441.\n", " [PubMed]
  • \n", "Larsen T., Bach L. T., Salvatteci R., Wang Y. V., Andersen N., Ventura M., & McCarthy M. D. (2015). Assessing the potential of amino acid δ13C patterns as a carbon source tracer in marine sediments: Effects of algal growth conditions and sedimentary diagenesis. Biogeosciences Discuss, 12, 1613–1651.\n", "
  • \n", "Lee G. (1993). The rock art of Rapanui In Fischer S. R., editor. (Ed.), Easter island studies: Contributions to the history of Rapanui in memory of William T. Mulloy (pp. 24–26). Oxford: Oxbow books.\n", "
  • \n", "Lipo C. P., Hunt T. L., & Hundtoft B. (2010). Stylistic variability of stemmed obsidian tools (mata'a), frequency seriation, and the scale of social interaction on Rapa Nui (Easter Island). Journal of Archaeological Science, 37, 2551–2561.\n", "
  • \n", "Lipo C. P., & Hunt T. L. (2016). Chronology and Easter Island prehistory In: Stefan VH, editor; & Gill GW, editor. , editors. Skeletal biology of the ancient rapanui (easter islanders), cambridge studies in biological and evolutionary anthropology. Cambridge: Cambridge University Press; p 39–65.\n", "
  • \n", "Ladefoged T. N., Stevenson C. M., Haoa S., Mulrooney M., Puleston C., Vitousek P. M., & Chadwick O. A. (2010). Soil nutrient analysis of Rapa Nui gardening. Archaeology in Oceania, 45, 80–85.\n", "
  • \n", "Louwagie G., Stevenson C. M., & Langohr R. (2006). The impact of moderate to marginal land suitability on prehistoric agricultural production and models of adaptive strategies for Easter Island (Rapa Nui, Chile). Journal of Anthropological Archaeology, 25, 290–317.\n", "
  • \n", "Lunn D., Thomas A., Best N., & Spiegelhalter D. (2000). WinBUGS ‐ A Bayesian modeling framework: Concepts, structure, and extensibility. Statistics and Computing, 10, 325–337.\n", "
  • \n", "Martinsson‐Wallin H., & Wallin P. (1999). Excavations at Anakena: The Easter Island settlement sequence and change of subsistence? In P. Vargas Casanova (Ed.), Easter Island and East polynesian prehistory (pp. 179–186), Santiago: International Congress on Easter island and Eastern Polynesian Archaeology, Universidad de Chile.\n", "
  • \n", "McCarthy M. D., Lehman J., & Kudela R. (2013) Compound‐specific amino acid δ15N patterns in marine algae: Tracer potential for cyanobacterial vs. eukaryotic organic nitrogen sources in the ocean. Geochim. Comochim. Acta, 103, 104–120.\n", "
  • \n", "McClelland J. W., & Montoya J. P. (2002). Trophic relationships and the nitrogen isotopic composition of amino acids in plankton. Ecology, 83, 2173–2180.\n", "
  • \n", "McClelland J., Holl C., & Montoya J. (2003). Relating low δ15N values of zooplankton to N2‐fixation in the tropical North Atlantic: Insights provided by stable isotope ratios of amino acids. Deep Sea Research Part I: Oceanographic Research Papers, 50, 849–861.\n", "
  • \n", "Métraux A. (1940). Ethnology of Easter Island. Bernice P. Bishop Museum bulletin 160. Honolulu: Bishop Museum Press.\n", "
  • \n", "Morrison A. E. (2012). Archaeological analysis of Rapa Nui settlement structure: A multi‐scalar approach, Ph.D. dissertation. University of Hawaii at Manoa, Honolulu.\n", "
  • \n", "Müldner G., & Richards M. P. (2005). Fast or feast: Reconstructing diet in later medieval England by stable isotope analysis. Journal of Archaeological Science, 32, 39–48.\n", "
  • \n", "Munz P. A. (1974). A flora of southern California. Oakland: University of California Press.\n", "
  • \n", "Naito Y. I., Honch N. V., Chikaraishi Y., Ohkouchi N., & Yoneda M. (2010). Quantitative evaluation of marine protein contribution in ancient diets based on nitrogen isotope ratios of individual amino acids in bone collagen: An investigation at the Kitakogane Jomon site. American Journal of Physical Anthropology, 143, 31–40.\n", " [PubMed]
  • \n", "Naito Y. I., Chikaraishi Y., Ohkouchi N., Drucker D. G., & Bocherens H. (2013). Nitrogen isotopic composition of collagen amino acids as an indicator of aquatic resource consumption: Insights from Mesolithic and Epipalaeolithic archaeological sites in France. World Archaeology, 45, 338–359.\n", "
  • \n", "Nielsen J. M., Popp B. N., & Winder M. (2015). Meta‐analysis of amino acid stable nitrogen isotope ratios for estimating trophic position in marine organisms. Oecologia, 178, 631–642.\n", " [PubMed]
  • \n", "Penton C. R., Deenik J. L., Popp B. N., Bruland G., Engstrom P., St. Louis D., & Tiedje J. M. (2013). Importance of sub‐surface rhisosphere‐mediated coupled nitrification‐denitrification in a flooded argoecosystem in Hawaii. Soil Biology and Biochemistry, 57, 362–373.\n", "
  • \n", "Penton C. R., Deenik J. L., Popp B. N., Bruland G. L., Engstrom P., Mueller J., … Tiedje J. M. (2014). Assessing nitrogen transformations in a flooded agroecosystem using the isotope pairing technique and nitrogen functional gene abundances. Soil Science, 179, 2–10.\n", "
  • \n", "Phillips D. L., & Gregg J. W. (2001). Uncertainty in source partitioning using stable isotopes. Oecologia, 127, 171–179.\n", " [PubMed]
  • \n", "Polet C. (2011). Health and diet of ancient Easter Islanders: Contribution of paleopathology, dental microwear and stable isotopes. Bull Séanc Acad R Sci Outre‐Mer Meded Zitt K Acad Overzeese Wet, 57, 333–353.\n", "
  • \n", "Polet C., & Bocherens H. (2015). New insights into the marine contribution to ancient Easter Islanders’ diet. Journal of Archaeological Science: Reports, 6, 709–719.\n", "
  • \n", "Popp B. N., Graham B. S., Olson R. J., Hannides C. C. S., Lott M. J., Lopez‐Ibarra G. A., Galvan‐Magana F., & Fry B. (2007). Insight into the trophic ecology of yellowfin tuna, Thunnus albacares, from compound‐specific nitrogen isotope analysis of protenaceous amino acids In Dawson T., editor; & Siegwolf R., editor. (Eds.), Stable isotopes as indicators of ecological change, Terrestrial Ecology Series (pp. 173–190). New York: Elsevier Academic Press.\n", "
  • \n", "Ramsey C. B. (2009). Bayesian analysis of radiocarbon dates. Radiocarbon, 51, 337–360.\n", "
  • \n", "Reimer P. J., Bard E., Bayliss A., Beck J. W., Blackwell P. G., Ramsey C. B., … van der Plicht J. (2013). IntCal13 and Marine13 radiocarbon age calibration curves 0–50,000 years cal BP. Radiocarbon, 55, 1869–1887.\n", "
  • \n", "Richards M. P., West E., Rolett B., & Dobney K. (2009). Isotope analysis of human and animal diets from the Hanamiai archaeological site (French Polynesia). Arch Oceania, 44, 29–37.\n", "
  • \n", "Roggeveen J. (1908). The Voyage of Captain Don Felipe González: In the Ship of the Line San Lorenzo, with the Frigate Santa Rosalia in Company, to Easter Island in 1770–1. Preceded by an Extract from Mynheer Jacob Roggeveen's Official Log of His Discovery of and Visit to Easter Island in 1722. Cambridge: Hakluyt Society.\n", "
  • \n", "Shiels A. B., Flores C. A., Khamsing A., Krushelnycky P. D., Mosher S. M., & Drake D. R. (2013). Dietary niche differentiation among three species of invasive rodents (Rattus rattus, R. exulans, Mus musculus). Biological Invasions, 15, 1037–1048.\n", "
  • \n", "Silfer J., Engel M., Macko S., & Jumeau E. (1991). Stable carbon isotope analysis of amino acid enantiomers by conventional isotope ratio mass spectrometry and combined gas chromatography/isotope ratio mass spectrometry. Analytical Chemistry, 63, 370–374.\n", "
  • \n", "Skjølsvold A., Wallin P., & Martinsson‐Wallin H. (1994). Archaeological investigations at Anakena, Easter Island. Oslo: Kon‐Tiki Museum.\n", "
  • \n", "Stevenson C. M., Puleston C. O., Vitousek P. M., Chadwick O. A., Haoa S., & Ladefoged T. N. (2015). Variation in Rapa Nui (Easter Island) land use indicates production and population peaks prior to European contact. Proceedings of the National Academy of Sciences of the United States of America, 112, 1025–1030.\n", " [PubMed]
  • \n", "Styring A. K., Sealy J. C., & Evershed R. P. (2010). Resolving the bulk δ15N values of ancient human and animal bone collagen via compound‐specific nitrogen isotope analysis of constituent amino acids. Geochimica et Cosmochimica Acta, 74, 241–251.\n", "
  • \n", "Styring A. K., Fraser R. A., Bogaard A., & Evershed R. P. (2014). Cereal grain, rachis and pulse seed amino acid δ15N values as indicators of plant nitrogen metabolism. Phytochemistry, 97, 20–29.\n", " [PubMed]
  • \n", "Styring A. K., Fraser R. A., Arbogast R.‐M., Halstead P., Isaakidou V., Pearson J. A., … Evershed R. P. (2015). Refining human palaeodietary reconstruction using amino acid δ15N values of plants, animals and humans. Journal of Archaeological Science, 53, 504–515.\n", "
  • \n", "Szpak P. (2014). Complexities of nitrogen isotope biogeochemistry in plant‐soil systems: Implications for the study of ancient agricultural and animal management practices. Frontiers in Plant Science, 5, 1–19.\n", " [PMC free article] [PubMed]
  • \n", "Szpak P., Longstaffe F. J., Millaire J.‐F., & White C. D. (2012). Stable isotope biogeochemistry of Seabird Guano fertilization: Results from growth chamber studies with maize (Zea Mays). PLoS One, 7, e33741.\n", " [PubMed]
  • \n", "Thomson W. J. (1891). Te Pito Te Henua, or Easter Island. Report of the National Museum: Government Printing Office (p 447–552).\n", "
  • \n", "Tremblay L., & Benner R. (2006) Microbial contributions to N‐immobilization and organic matter preservation in decaying plant detritus. Geochim. Cosmochim. Acta\n", "70: 133–146.\n", "
  • \n", "Ueda K., Morgan S. L., Fox A., Gilbart J., Sonesson A., Larsson L., & Odham G. (1989). D‐alanine as a chemical marker for the determination of streptococcal cell wall levels in mammalian tissues by gas chromatography/negative ion chemical ionization mass spectrometry. Analytical Chemistry, 61, 265–270.\n", " [PubMed]
  • \n", "Vitousek P. M., Chadwick O. A., Hotchkiss S. C., Ladefoged T. N., & Stevenson M. (2014). Farming the rock: A biogeochemical perspective on intensive agriculture in Polynesia. Journal of Pacific Archaeology, 5, 51–61.\n", "
  • \n", "Vogel J. S., Southon J. R., Nelson D. E., & Brown T. A. (1984) Performance of catalytically condensed carbon for use in accelerator mass spectrometry. Nuclear Instruments and Methods, 223, 289–293.\n", "
  • \n", "Webb E. A., Lewis J., Shain A., Kastrisianaki‐Guyton E., Honch N. V., Stewart A., … Evershed R. P. (2017). The influence of varying proportions of terrestrial and marine dietary protein on the stable carbon‐isotope compositions of pig tissues from a controlled feeding experiment. Science & Technology of Archaeological Research, 3, 36–52.\n", "
" ], "text/plain": [ "" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import HTML\n", "HTML(raw_html)" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "tree = BeautifulSoup(raw_html, 'lxml')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can extract a list of authors for each publication." ] }, { "cell_type": "code", "execution_count": 111, "metadata": {}, "outputs": [], "source": [ "authors = []\n", "for elem in tree.find_all('li'):\n", " content = next(elem.children).contents[0].split(', ')\n", " content = [item.replace('&', '').replace('…', '').replace('editor;', '').replace('editor', '').strip().split('(')[0].strip() for item in content]\n", " content = [item for item in content if len(item) > 2 if len(item) < 30]\n", " authors.append(content)" ] }, { "cell_type": "code", "execution_count": 112, "metadata": {}, "outputs": [], "source": [ "unique_authors = set()\n", "for author_tuple in authors:\n", " for author in author_tuple:\n", " unique_authors.update(set([author]))" ] }, { "cell_type": "code", "execution_count": 113, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'Allen M. S.',\n", " 'Allison C. E.',\n", " 'Ambrose S. H.',\n", " 'Andersen N.',\n", " 'Arana P. M.',\n", " 'Arbogast R.‐M.',\n", " 'Arneborg J.',\n", " 'Arthur K. E.',\n", " 'Ayala‐Bradford I.',\n", " 'Bach L. T.',\n", " 'Baisden W.',\n", " 'Bard E.',\n", " 'Barde J.',\n", " 'Barrera J. A.',\n", " 'Bayliss A.',\n", " 'Beck J. W.',\n", " 'Bedford S.',\n", " 'Bender D. A.',\n", " 'Benner R.',\n", " 'Best N.',\n", " 'Blackwell P. G.',\n", " 'Blum J. D.',\n", " 'Bocherens H.',\n", " 'Bogaard A.',\n", " 'Bonhommeau S.',\n", " 'Bork H.‐R.',\n", " 'Brabec M.',\n", " 'Bradley C. J.',\n", " 'Brown T. A.',\n", " 'Bruland G.',\n", " 'Bruland G. L.',\n", " 'Buck C. E.',\n", " 'Buckley H.',\n", " 'Butler B. M.',\n", " 'Cerling T. E.',\n", " 'Chadwick O. A.',\n", " 'Charles M.',\n", " 'Chassot E.',\n", " 'Chikaraishi Y.',\n", " 'Choy C. A.',\n", " 'Christensen B. T.',\n", " 'Commendador A. S.',\n", " 'Corr L. T.',\n", " 'Craig J. A.',\n", " 'DeNiro M. J.',\n", " 'Deenik J. L.',\n", " 'Diamond J.',\n", " 'Dobney K.',\n", " 'Doi H.',\n", " 'Drake D. R.',\n", " 'Drazen J. C.',\n", " 'Drucker D. G.',\n", " 'Dubroca L.',\n", " 'Dudgeon J. V.',\n", " 'Décima M.',\n", " 'Edwards E. J.',\n", " 'Ehleringer J. R.',\n", " 'Engel M.',\n", " 'Engstrom P.',\n", " 'Enting I. G.',\n", " 'Esh K. S.',\n", " 'Etheridge D. M.',\n", " 'Evershed R.',\n", " 'Evershed R. P.',\n", " 'Farquhar G. D.',\n", " 'Feek D.',\n", " 'Ferdon E. N.',\n", " 'Fernandes R.',\n", " 'Fernie K. J.',\n", " 'Finney B. P.',\n", " 'Finot V. L.',\n", " 'Flenley J.',\n", " 'Flenley J. R.',\n", " 'Flores C. A.',\n", " 'Fogel M. L.',\n", " 'Fox A.',\n", " 'Francey R.',\n", " 'Fraser R. A.',\n", " 'Freeman K. H.',\n", " 'Fry B.',\n", " 'Fuller B. T.',\n", " 'Galvan‐Magana F.',\n", " 'Gelwicks J. T.',\n", " 'Gilbart J.',\n", " 'Gill GW',\n", " 'Gorman T. E.',\n", " 'Graham B. S.',\n", " 'Gregg J. W.',\n", " 'Grootes P.',\n", " 'Grootes P. M.',\n", " 'Guilderson T. P.',\n", " 'Halstead P.',\n", " 'Hannides C.',\n", " 'Hannides C. C. S.',\n", " 'Hanson D. B.',\n", " 'Haoa S.',\n", " 'Haoa‐Cardinali S.',\n", " 'Hawkins S.',\n", " 'Hayes J. M.',\n", " 'Heaton T.',\n", " 'Hebert C. E.',\n", " 'Hedin L. O.',\n", " 'Heinemeier J.',\n", " 'Helliker B. R.',\n", " 'Herrscher E.',\n", " 'Hetherington E. D.',\n", " 'Heyerdahl T.',\n", " 'Hoen D. K.',\n", " 'Hogg A. H.',\n", " 'Hoham C. H.',\n", " 'Holl C.',\n", " 'Honch N. V.',\n", " 'Horrocks M.',\n", " 'Horton M. C.',\n", " 'Hotchkiss S. C.',\n", " 'Houlton B. Z.',\n", " 'Howland M. R.',\n", " 'Hua Q.',\n", " 'Hubick K. T.',\n", " 'Hundtoft B.',\n", " 'Hunt T.',\n", " 'Hunt T. L.',\n", " 'Hunter‐Anderson R. L.',\n", " 'Isaakidou V.',\n", " 'Jim S.',\n", " 'Johnson B. J.',\n", " 'Johnson M. W.',\n", " 'Jones G.',\n", " 'Jones V.',\n", " 'Jumeau E.',\n", " \"Ka'apu‐Lyons C.\",\n", " 'Kaplan D. M.',\n", " 'Kashiyama Y.',\n", " 'Kastrisianaki‐Guyton E.',\n", " 'Kelez S.',\n", " 'Khamsing A.',\n", " 'Kinaston R.',\n", " 'Kitazato H.',\n", " 'Klemmer K.',\n", " 'Koba K.',\n", " 'Krueger H. W.',\n", " 'Krushelnycky P. D.',\n", " 'Kudela R.',\n", " 'Ladefoged T. N.',\n", " 'Landry M. R.',\n", " 'Langohr R.',\n", " 'Larsen T.',\n", " 'Larsson L.',\n", " 'Le Pape O.',\n", " 'Lee G.',\n", " 'Lehman J.',\n", " 'Leigh M. B.',\n", " 'Leuenberger M.',\n", " 'Lewis J.',\n", " 'Lipo C.',\n", " 'Lipo C. P.',\n", " 'Lo Y. –H.',\n", " 'Longstaffe F. J.',\n", " 'Lopez‐Ibarra G. A.',\n", " 'Lott M. J.',\n", " 'Louwagie G.',\n", " 'Lunn D.',\n", " 'Lynnerup N.',\n", " 'Macko S.',\n", " 'Marticorena A.',\n", " 'Marticorena C.',\n", " 'Martinsson‐Wallin H.',\n", " 'McCarthy M. D.',\n", " 'McClelland J.',\n", " 'McClelland J. W.',\n", " 'Mieth A.',\n", " 'Millaire J.‐F.',\n", " 'Millard A. R.',\n", " 'Miller G. H.',\n", " 'Montoya J.',\n", " 'Montoya J. P.',\n", " 'Morgan S. L.',\n", " 'Morrison A. E.',\n", " 'Mosher S. M.',\n", " 'Mueller J.',\n", " 'Mulloy W.',\n", " 'Mulrooney M.',\n", " 'Munz P. A.',\n", " 'Métraux A.',\n", " 'Müldner G.',\n", " 'Nadeau M.‐J.',\n", " 'Naito Y. I.',\n", " 'Naraoka H.',\n", " 'Nelson D. E.',\n", " 'Nieblas A.‐E.',\n", " 'Nielsen H. L.',\n", " 'Nielsen J. M.',\n", " 'Nieuwoudt M.',\n", " 'Niu M.',\n", " 'Nualart L. G.',\n", " \"O'Brien D. M.\",\n", " 'Odham G.',\n", " 'Ogawa N.',\n", " 'Ogawa N. O.',\n", " 'Ohkouchi N.',\n", " 'Olson R. J.',\n", " 'Pearson J. A.',\n", " 'Penton C. R.',\n", " 'Phillips D. L.',\n", " 'Piatkowski U.',\n", " 'Polet C.',\n", " 'Popp B. N.',\n", " 'Puleston C.',\n", " 'Puleston C. O.',\n", " 'Ramsey C. B.',\n", " 'Rattner B. A.',\n", " 'Reimer P. J.',\n", " 'Richards M. P.',\n", " 'Roggeveen J.',\n", " 'Rojas G.',\n", " 'Rolett B.',\n", " 'Roy S.',\n", " 'Rud N.',\n", " 'Salvatteci R.',\n", " 'Sealy J. C.',\n", " 'Shain A.',\n", " 'Shiels A. B.',\n", " 'Sigman D. M.',\n", " 'Silfer J.',\n", " 'Skjölsvold A.',\n", " 'Skjølsvold A.',\n", " 'Smith C. S.',\n", " 'Sonesson A.',\n", " 'Southon J. R.',\n", " 'Spiegelhalter D.',\n", " 'Spriggs M.',\n", " 'St. Louis D.',\n", " 'Steele L. P.',\n", " 'Stevenson C. M.',\n", " 'Stevenson M.',\n", " 'Stewart A.',\n", " 'Still C. J.',\n", " 'Styring A. K.',\n", " 'Suga H.',\n", " 'Sveinbjornsdottir A. E.',\n", " 'Szpak P.',\n", " 'Takano Y.',\n", " 'Tayasu I.',\n", " 'Taylor D. L.',\n", " 'Thomas A.',\n", " 'Thomson W. J.',\n", " 'Tiedje J. M.',\n", " 'Tomitani A.',\n", " 'Tremblay L.',\n", " 'Tromp M.',\n", " 'Trudinger C. M.',\n", " 'Tschochner B.',\n", " 'Tuross N.',\n", " 'Ueda K.',\n", " 'Valentin F.',\n", " 'Van Der Merwe N. J.',\n", " 'Ventura M.',\n", " 'Vitousek P. M.',\n", " 'Vogel J. S.',\n", " 'Wallin P.',\n", " 'Wallsgrove N.',\n", " 'Wallsgrove N. J.',\n", " 'Wang Y. V.',\n", " 'Webb E. A.',\n", " 'West E.',\n", " 'White C. D.',\n", " 'Winder M.',\n", " 'Wozniak J. A.',\n", " 'Yoneda M.',\n", " 'Young S. M. M.',\n", " 'Zimmerman S. R. H.',\n", " 'Zizka G.',\n", " 'van der Plicht J.'}" ] }, "execution_count": 113, "metadata": {}, "output_type": "execute_result" } ], "source": [ "unique_authors" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, we need to assign a number to each author. We'll use the above set to do this." ] }, { "cell_type": "code", "execution_count": 114, "metadata": {}, "outputs": [], "source": [ "mapping = dict(zip(list(unique_authors), list(range(len(unique_authors)))))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we need to build a list of connections. For each article, we build a connection between every author in the article." ] }, { "cell_type": "code", "execution_count": 115, "metadata": {}, "outputs": [], "source": [ "sources = []\n", "targets = []\n", "for article in authors:\n", " for first in range(len(article)):\n", " for second in article[first:]:\n", " sources.append(mapping[article[first]])\n", " targets.append(mapping[second])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can now visualize the graph we're looking for:" ] }, { "cell_type": "code", "execution_count": 116, "metadata": {}, "outputs": [], "source": [ "inverse_mapping = dict(zip(mapping.values(), mapping.keys()))\n", "node_labels = [inverse_mapping[i] for i in range(len(inverse_mapping))]\n", "node_info = hv.Dataset(node_labels, vdims='Label')" ] }, { "cell_type": "code", "execution_count": 117, "metadata": {}, "outputs": [ { "data": { "application/javascript": [ "\n", "// Ugly hack - see #2574 for more information\n", "if (!(document.getElementById('61815ea4-7ab1-4f93-98c2-50b98eb12f16')) && !(document.getElementById('_anim_imgNone'))) {\n", " console.log(\"Creating DOM nodes dynamically for assumed nbconvert export. To generate clean HTML output set HV_DOC_HTML as an environment variable.\")\n", " var htmlObject = document.createElement('div');\n", " htmlObject.innerHTML = `
\n", "\n", "\n", "\n", "\n", "\n", "
\n", "
`;\n", " var scriptTags = document.getElementsByTagName('script');\n", " var parentTag = scriptTags[scriptTags.length-1].parentNode;\n", " parentTag.append(htmlObject)\n", "}\n", "(function(root) {\n", " function embed_document(root) {\n", " \n", " var docs_json = {\"23093b3e-95b3-4a49-bba2-ab5c4d8bfc11\":{\"roots\":{\"references\":[{\"attributes\":{\"callback\":null},\"id\":\"7c1f2544-ed9b-4449-bccb-6f9d02eb0b5a\",\"type\":\"TapTool\"},{\"attributes\":{},\"id\":\"539c72f0-2da4-419c-8807-3e3eb47435e9\",\"type\":\"Selection\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"plot\":null,\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"af9850a9-04f5-448f-a1bc-38d3a5c4893f\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"89bc7b06-96eb-4e0b-a57f-c4f2786a4824\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"b712ad27-26d7-4a98-91ca-3327c24a054d\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"callback\":null,\"end\":1.2,\"reset_end\":1.2,\"reset_start\":-1.2,\"start\":-1.2},\"id\":\"54a943e7-4876-4f1a-8078-09b770709306\",\"type\":\"Range1d\"},{\"attributes\":{\"callback\":null,\"renderers\":[{\"id\":\"9ae3a5c7-1d30-472f-b68b-0b60f662e846\",\"type\":\"GraphRenderer\"}],\"tooltips\":[[\"index\",\"@{index_hover}\"],[\"Label\",\"@{Label}\"]]},\"id\":\"4669ea12-7c6f-4c21-84ec-81524ab22713\",\"type\":\"HoverTool\"},{\"attributes\":{\"callback\":null,\"end\":1.2,\"reset_end\":1.2,\"reset_start\":-1.2,\"start\":-1.2},\"id\":\"8e2e3663-0204-4ecf-9a02-377afb707fa3\",\"type\":\"Range1d\"},{\"attributes\":{\"callback\":null,\"data\":{\"Label\":[\"Choy C. A.\",\"Pearson J. A.\",\"Allison C. E.\",\"Hogg A. H.\",\"Puleston C. O.\",\"Rud N.\",\"Rojas G.\",\"Enting I. G.\",\"Taylor D. L.\",\"Lipo C.\",\"O'Brien D. M.\",\"Gill GW\",\"Barde J.\",\"Haoa S.\",\"Langohr R.\",\"M\\u00e9traux A.\",\"Finney B. P.\",\"Niu M.\",\"Martinsson\\u2010Wallin H.\",\"Munz P. A.\",\"Spiegelhalter D.\",\"Herrscher E.\",\"Tremblay L.\",\"Hunt T.\",\"Sveinbjornsdottir A. E.\",\"Marticorena A.\",\"Nualart L. G.\",\"Klemmer K.\",\"Stevenson C. M.\",\"West E.\",\"Bruland G.\",\"Esh K. S.\",\"McClelland J. W.\",\"Francey R.\",\"Bender D. A.\",\"Nadeau M.\\u2010J.\",\"St. Louis D.\",\"Lo Y. \\u2013H.\",\"Nielsen J. M.\",\"Fry B.\",\"Rolett B.\",\"Isaakidou V.\",\"Hundtoft B.\",\"Grootes P.\",\"Kaplan D. M.\",\"Buckley H.\",\"Butler B. M.\",\"Lehman J.\",\"Hoen D. K.\",\"Polet C.\",\"Webb E. A.\",\"Larsen T.\",\"Yoneda M.\",\"Nieblas A.\\u2010E.\",\"Wallin P.\",\"Johnson B. J.\",\"Allen M. S.\",\"Valentin F.\",\"Dobney K.\",\"Mosher S. M.\",\"Howland M. R.\",\"Hebert C. E.\",\"Lipo C. P.\",\"Gregg J. W.\",\"Best N.\",\"Bradley C. J.\",\"Montoya J.\",\"Dudgeon J. V.\",\"Lynnerup N.\",\"Dubroca L.\",\"Salvatteci R.\",\"Hannides C. C. S.\",\"Zimmerman S. R. H.\",\"Morrison A. E.\",\"Nieuwoudt M.\",\"Beck J. W.\",\"Macko S.\",\"Roy S.\",\"Houlton B. Z.\",\"Hawkins S.\",\"Evershed R. P.\",\"Fuller B. T.\",\"Young S. M. M.\",\"Silfer J.\",\"DeNiro M. J.\",\"Tiedje J. M.\",\"Benner R.\",\"Brown T. A.\",\"Hunter\\u2010Anderson R. L.\",\"Evershed R.\",\"Penton C. R.\",\"Millaire J.\\u2010F.\",\"Wallsgrove N.\",\"Wallsgrove N. J.\",\"Ehleringer J. R.\",\"Trudinger C. M.\",\"Sonesson A.\",\"Chassot E.\",\"Honch N. V.\",\"Hunt T. L.\",\"Richards M. P.\",\"Krushelnycky P. D.\",\"Helliker B. R.\",\"Odham G.\",\"Kudela R.\",\"Still C. J.\",\"Popp B. N.\",\"Bork H.\\u2010R.\",\"Drake D. R.\",\"Diamond J.\",\"Chikaraishi Y.\",\"Cerling T. E.\",\"Ladefoged T. N.\",\"Louwagie G.\",\"Engstrom P.\",\"Lott M. J.\",\"Galvan\\u2010Magana F.\",\"Morgan S. L.\",\"Montoya J. P.\",\"Longstaffe F. J.\",\"Ventura M.\",\"McClelland J.\",\"Halstead P.\",\"Tromp M.\",\"Graham B. S.\",\"Hayes J. M.\",\"Tayasu I.\",\"Blum J. D.\",\"Commendador A. S.\",\"Flenley J. R.\",\"Leigh M. B.\",\"Hubick K. T.\",\"Naito Y. I.\",\"Mulrooney M.\",\"Lopez\\u2010Ibarra G. A.\",\"Rattner B. A.\",\"Fox A.\",\"Guilderson T. P.\",\"Feek D.\",\"Takano Y.\",\"Heaton T.\",\"Jones V.\",\"Spriggs M.\",\"Olson R. J.\",\"Shain A.\",\"Craig J. A.\",\"Fernie K. J.\",\"Baisden W.\",\"Vogel J. S.\",\"Mueller J.\",\"Haoa\\u2010Cardinali S.\",\"Deenik J. L.\",\"Stewart A.\",\"Arthur K. E.\",\"Gelwicks J. T.\",\"Khamsing A.\",\"Fraser R. A.\",\"Bard E.\",\"Mieth A.\",\"Bach L. T.\",\"Larsson L.\",\"Gilbart J.\",\"White C. D.\",\"Ayala\\u2010Bradford I.\",\"Tomitani A.\",\"Corr L. T.\",\"Steele L. P.\",\"Arneborg J.\",\"Gorman T. E.\",\"Ramsey C. B.\",\"Ohkouchi N.\",\"Bonhommeau S.\",\"Kashiyama Y.\",\"Jumeau E.\",\"Hanson D. B.\",\"Sealy J. C.\",\"Marticorena C.\",\"Phillips D. L.\",\"Naraoka H.\",\"Stevenson M.\",\"Van Der Merwe N. J.\",\"Roggeveen J.\",\"Horton M. C.\",\"Freeman K. H.\",\"Charles M.\",\"Buck C. E.\",\"Shiels A. B.\",\"Wang Y. V.\",\"Vitousek P. M.\",\"Styring A. K.\",\"Skj\\u00f8lsvold A.\",\"Suga H.\",\"Hotchkiss S. C.\",\"Arana P. M.\",\"Thomas A.\",\"Bayliss A.\",\"Arbogast R.\\u2010M.\",\"Finot V. L.\",\"Heyerdahl T.\",\"Hetherington E. D.\",\"Blackwell P. G.\",\"Tuross N.\",\"Lunn D.\",\"Miller G. H.\",\"Jones G.\",\"Reimer P. J.\",\"Grootes P. M.\",\"Wozniak J. A.\",\"Flores C. A.\",\"Heinemeier J.\",\"Kinaston R.\",\"D\\u00e9cima M.\",\"Ferdon E. N.\",\"Thomson W. J.\",\"Kitazato H.\",\"Hua Q.\",\"Skj\\u00f6lsvold A.\",\"Ogawa N. O.\",\"Hedin L. O.\",\"Holl C.\",\"Andersen N.\",\"Smith C. S.\",\"Bogaard A.\",\"Puleston C.\",\"Drucker D. G.\",\"Winder M.\",\"McCarthy M. D.\",\"Farquhar G. D.\",\"Le Pape O.\",\"Johnson M. W.\",\"Barrera J. A.\",\"Nielsen H. L.\",\"Ambrose S. H.\",\"Millard A. R.\",\"Horrocks M.\",\"Jim S.\",\"M\\u00fcldner G.\",\"van der Plicht J.\",\"Lewis J.\",\"Lee G.\",\"Chadwick O. A.\",\"Zizka G.\",\"Kastrisianaki\\u2010Guyton E.\",\"Leuenberger M.\",\"Sigman D. M.\",\"Drazen J. C.\",\"Edwards E. J.\",\"Ka'apu\\u2010Lyons C.\",\"Etheridge D. M.\",\"Ueda K.\",\"Krueger H. W.\",\"Engel M.\",\"Hoham C. H.\",\"Kelez S.\",\"Fogel M. L.\",\"Ogawa N.\",\"Doi H.\",\"Fernandes R.\",\"Koba K.\",\"Landry M. R.\",\"Mulloy W.\",\"Hannides C.\",\"Bedford S.\",\"Bocherens H.\",\"Szpak P.\",\"Southon J. R.\",\"Nelson D. E.\",\"Bruland G. L.\",\"Tschochner B.\",\"Brabec M.\",\"Flenley J.\",\"Piatkowski U.\",\"Christensen B. T.\"],\"index\":{\"__ndarray__\":\"AAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAAAmAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAAAFgAAABZAAAAWgAAAFsAAABcAAAAXQAAAF4AAABfAAAAYAAAAGEAAABiAAAAYwAAAGQAAABlAAAAZgAAAGcAAABoAAAAaQAAAGoAAABrAAAAbAAAAG0AAABuAAAAbwAAAHAAAABxAAAAcgAAAHMAAAB0AAAAdQAAAHYAAAB3AAAAeAAAAHkAAAB6AAAAewAAAHwAAAB9AAAAfgAAAH8AAACAAAAAgQAAAIIAAACDAAAAhAAAAIUAAACGAAAAhwAAAIgAAACJAAAAigAAAIsAAACMAAAAjQAAAI4AAACPAAAAkAAAAJEAAACSAAAAkwAAAJQAAACVAAAAlgAAAJcAAACYAAAAmQAAAJoAAACbAAAAnAAAAJ0AAACeAAAAnwAAAKAAAAChAAAAogAAAKMAAACkAAAApQAAAKYAAACnAAAAqAAAAKkAAACqAAAAqwAAAKwAAACtAAAArgAAAK8AAACwAAAAsQAAALIAAACzAAAAtAAAALUAAAC2AAAAtwAAALgAAAC5AAAAugAAALsAAAC8AAAAvQAAAL4AAAC/AAAAwAAAAMEAAADCAAAAwwAAAMQAAADFAAAAxgAAAMcAAADIAAAAyQAAAMoAAADLAAAAzAAAAM0AAADOAAAAzwAAANAAAADRAAAA0gAAANMAAADUAAAA1QAAANYAAADXAAAA2AAAANkAAADaAAAA2wAAANwAAADdAAAA3gAAAN8AAADgAAAA4QAAAOIAAADjAAAA5AAAAOUAAADmAAAA5wAAAOgAAADpAAAA6gAAAOsAAADsAAAA7QAAAO4AAADvAAAA8AAAAPEAAADyAAAA8wAAAPQAAAD1AAAA9gAAAPcAAAD4AAAA+QAAAPoAAAD7AAAA/AAAAP0AAAD+AAAA/wAAAAABAAABAQAAAgEAAAMBAAAEAQAABQEAAAYBAAAHAQAACAEAAAkBAAAKAQAACwEAAAwBAAANAQAADgEAAA8BAAAQAQAA\",\"dtype\":\"int32\",\"shape\":[273]},\"index_hover\":[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"22\",\"23\",\"24\",\"25\",\"26\",\"27\",\"28\",\"29\",\"30\",\"31\",\"32\",\"33\",\"34\",\"35\",\"36\",\"37\",\"38\",\"39\",\"40\",\"41\",\"42\",\"43\",\"44\",\"45\",\"46\",\"47\",\"48\",\"49\",\"50\",\"51\",\"52\",\"53\",\"54\",\"55\",\"56\",\"57\",\"58\",\"59\",\"60\",\"61\",\"62\",\"63\",\"64\",\"65\",\"66\",\"67\",\"68\",\"69\",\"70\",\"71\",\"72\",\"73\",\"74\",\"75\",\"76\",\"77\",\"78\",\"79\",\"80\",\"81\",\"82\",\"83\",\"84\",\"85\",\"86\",\"87\",\"88\",\"89\",\"90\",\"91\",\"92\",\"93\",\"94\",\"95\",\"96\",\"97\",\"98\",\"99\",\"100\",\"101\",\"102\",\"103\",\"104\",\"105\",\"106\",\"107\",\"108\",\"109\",\"110\",\"111\",\"112\",\"113\",\"114\",\"115\",\"116\",\"117\",\"118\",\"119\",\"120\",\"121\",\"122\",\"123\",\"124\",\"125\",\"126\",\"127\",\"128\",\"129\",\"130\",\"131\",\"132\",\"133\",\"134\",\"135\",\"136\",\"137\",\"138\",\"139\",\"140\",\"141\",\"142\",\"143\",\"144\",\"145\",\"146\",\"147\",\"148\",\"149\",\"150\",\"151\",\"152\",\"153\",\"154\",\"155\",\"156\",\"157\",\"158\",\"159\",\"160\",\"161\",\"162\",\"163\",\"164\",\"165\",\"166\",\"167\",\"168\",\"169\",\"170\",\"171\",\"172\",\"173\",\"174\",\"175\",\"176\",\"177\",\"178\",\"179\",\"180\",\"181\",\"182\",\"183\",\"184\",\"185\",\"186\",\"187\",\"188\",\"189\",\"190\",\"191\",\"192\",\"193\",\"194\",\"195\",\"196\",\"197\",\"198\",\"199\",\"200\",\"201\",\"202\",\"203\",\"204\",\"205\",\"206\",\"207\",\"208\",\"209\",\"210\",\"211\",\"212\",\"213\",\"214\",\"215\",\"216\",\"217\",\"218\",\"219\",\"220\",\"221\",\"222\",\"223\",\"224\",\"225\",\"226\",\"227\",\"228\",\"229\",\"230\",\"231\",\"232\",\"233\",\"234\",\"235\",\"236\",\"237\",\"238\",\"239\",\"240\",\"241\",\"242\",\"243\",\"244\",\"245\",\"246\",\"247\",\"248\",\"249\",\"250\",\"251\",\"252\",\"253\",\"254\",\"255\",\"256\",\"257\",\"258\",\"259\",\"260\",\"261\",\"262\",\"263\",\"264\",\"265\",\"266\",\"267\",\"268\",\"269\",\"270\",\"271\",\"272\"]},\"selected\":{\"id\":\"ee71b541-d945-4718-8f67-48bf27f508b0\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"b712ad27-26d7-4a98-91ca-3327c24a054d\",\"type\":\"UnionRenderers\"}},\"id\":\"2533cd51-1f29-4a1a-ad33-c5fb719a4134\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"below\":[{\"id\":\"ca259105-5b8b-469b-8921-130cca7c05b8\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"8ac8c058-cbb5-4b34-be3a-96db6b79ee5b\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_width\":900,\"renderers\":[{\"id\":\"ca259105-5b8b-469b-8921-130cca7c05b8\",\"type\":\"LinearAxis\"},{\"id\":\"a624f91f-8490-47a1-a08a-514d59135128\",\"type\":\"Grid\"},{\"id\":\"8ac8c058-cbb5-4b34-be3a-96db6b79ee5b\",\"type\":\"LinearAxis\"},{\"id\":\"faa40d06-e1ad-4988-a5e0-8b7e5d6968aa\",\"type\":\"Grid\"},{\"id\":\"af9850a9-04f5-448f-a1bc-38d3a5c4893f\",\"type\":\"BoxAnnotation\"},{\"id\":\"9ae3a5c7-1d30-472f-b68b-0b60f662e846\",\"type\":\"GraphRenderer\"}],\"title\":{\"id\":\"bd4dafd9-a2d5-4de0-a22c-582a27a55141\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"3f4799e2-9a71-40b7-9c05-d57bc6b806ec\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"54a943e7-4876-4f1a-8078-09b770709306\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"bf38e492-00ab-455b-8d10-69b0d264d5f1\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"8e2e3663-0204-4ecf-9a02-377afb707fa3\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"e83943bb-e9a8-4e48-b293-5e0e0f844598\",\"type\":\"LinearScale\"}},\"id\":\"61815ea4-7ab1-4f93-98c2-50b98eb12f16\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"callback\":null,\"data\":{\"end\":{\"__ndarray__\":\"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\",\"dtype\":\"int32\",\"shape\":[1130]},\"start\":{\"__ndarray__\":\"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\",\"dtype\":\"int32\",\"shape\":[1130]}},\"selected\":{\"id\":\"539c72f0-2da4-419c-8807-3e3eb47435e9\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"89bc7b06-96eb-4e0b-a57f-c4f2786a4824\",\"type\":\"UnionRenderers\"}},\"id\":\"289e5dbc-e9e8-49f4-a488-0b173c2695ff\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"fill_color\":{\"value\":\"#30a2da\"},\"size\":{\"units\":\"screen\",\"value\":15}},\"id\":\"fd0cf8b6-bcd3-4ca3-ae38-3b3584aa53b2\",\"type\":\"Circle\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"bd4dafd9-a2d5-4de0-a22c-582a27a55141\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"bf38e492-00ab-455b-8d10-69b0d264d5f1\",\"type\":\"LinearScale\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#30a2da\"},\"line_alpha\":{\"value\":0.2},\"size\":{\"units\":\"screen\",\"value\":15}},\"id\":\"2d9d5300-43fa-48a1-9f60-9f71161aa196\",\"type\":\"Circle\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"4669ea12-7c6f-4c21-84ec-81524ab22713\",\"type\":\"HoverTool\"},{\"id\":\"04e0ef0d-7ad8-4624-ac49-0bfb2b54fbb4\",\"type\":\"SaveTool\"},{\"id\":\"aeaa8352-5efa-418a-9885-df0494f4c074\",\"type\":\"PanTool\"},{\"id\":\"304b261f-c4fb-4c05-bb4d-eaeb09259c83\",\"type\":\"WheelZoomTool\"},{\"id\":\"8f172fd6-4f4e-49fa-84b7-2c15eefb9b41\",\"type\":\"BoxZoomTool\"},{\"id\":\"8f203669-297d-4036-a33f-cf3279137ca3\",\"type\":\"ResetTool\"},{\"id\":\"7c1f2544-ed9b-4449-bccb-6f9d02eb0b5a\",\"type\":\"TapTool\"}]},\"id\":\"3f4799e2-9a71-40b7-9c05-d57bc6b806ec\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_color\":{\"value\":\"limegreen\"},\"size\":{\"units\":\"screen\",\"value\":15}},\"id\":\"d8d82753-05db-4dff-90c0-f6df8522900c\",\"type\":\"Circle\"},{\"attributes\":{\"data_source\":{\"id\":\"2533cd51-1f29-4a1a-ad33-c5fb719a4134\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"fd0cf8b6-bcd3-4ca3-ae38-3b3584aa53b2\",\"type\":\"Circle\"},\"hover_glyph\":{\"id\":\"d8d82753-05db-4dff-90c0-f6df8522900c\",\"type\":\"Circle\"},\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2d9d5300-43fa-48a1-9f60-9f71161aa196\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"0779d408-9296-4a68-a846-9fad27431c57\",\"type\":\"CDSView\"}},\"id\":\"671dac22-b482-48b1-87c1-8d7887c529e5\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"61815ea4-7ab1-4f93-98c2-50b98eb12f16\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"332e5d47-bfa8-4405-8b11-f9fdb6319465\",\"type\":\"BasicTicker\"}},\"id\":\"a624f91f-8490-47a1-a08a-514d59135128\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"5f854f09-9878-47e6-a89c-ff7717faf475\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"source\":{\"id\":\"2533cd51-1f29-4a1a-ad33-c5fb719a4134\",\"type\":\"ColumnDataSource\"}},\"id\":\"0779d408-9296-4a68-a846-9fad27431c57\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"e83943bb-e9a8-4e48-b293-5e0e0f844598\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"062832d4-fb72-40a4-bf09-e8aa048bb411\",\"type\":\"NodesAndLinkedEdges\"},{\"attributes\":{\"line_width\":{\"value\":2}},\"id\":\"af77c691-7822-42f5-9e5c-243716f21054\",\"type\":\"MultiLine\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"5f854f09-9878-47e6-a89c-ff7717faf475\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"61815ea4-7ab1-4f93-98c2-50b98eb12f16\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"332e5d47-bfa8-4405-8b11-f9fdb6319465\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"ca259105-5b8b-469b-8921-130cca7c05b8\",\"type\":\"LinearAxis\"},{\"attributes\":{\"line_alpha\":{\"value\":0.2},\"line_width\":{\"value\":2}},\"id\":\"2b5b7c5a-9a2b-408b-bfb7-122c391a8749\",\"type\":\"MultiLine\"},{\"attributes\":{},\"id\":\"332e5d47-bfa8-4405-8b11-f9fdb6319465\",\"type\":\"BasicTicker\"},{\"attributes\":{\"line_color\":{\"value\":\"limegreen\"},\"line_width\":{\"value\":2}},\"id\":\"d6f28985-fb30-4302-a00b-aa4c8dc2b980\",\"type\":\"MultiLine\"},{\"attributes\":{},\"id\":\"ee71b541-d945-4718-8f67-48bf27f508b0\",\"type\":\"Selection\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"4cad00d6-3927-4a14-bd21-799a3c2ff8bf\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"61815ea4-7ab1-4f93-98c2-50b98eb12f16\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"eaac22c8-a7f1-47e1-a149-2bfd599db15d\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"8ac8c058-cbb5-4b34-be3a-96db6b79ee5b\",\"type\":\"LinearAxis\"},{\"attributes\":{\"data_source\":{\"id\":\"289e5dbc-e9e8-49f4-a488-0b173c2695ff\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"af77c691-7822-42f5-9e5c-243716f21054\",\"type\":\"MultiLine\"},\"hover_glyph\":{\"id\":\"d6f28985-fb30-4302-a00b-aa4c8dc2b980\",\"type\":\"MultiLine\"},\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2b5b7c5a-9a2b-408b-bfb7-122c391a8749\",\"type\":\"MultiLine\"},\"selection_glyph\":null,\"view\":{\"id\":\"859dc2cb-59c2-42aa-894a-48a334b05518\",\"type\":\"CDSView\"}},\"id\":\"48f676d5-ed02-4732-8fe9-b4e5393d5be7\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"800d3436-64bd-45ea-bee5-81e09710f970\",\"type\":\"NodesAndLinkedEdges\"},{\"attributes\":{},\"id\":\"4cad00d6-3927-4a14-bd21-799a3c2ff8bf\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"eaac22c8-a7f1-47e1-a149-2bfd599db15d\",\"type\":\"BasicTicker\"},{\"attributes\":{\"source\":{\"id\":\"289e5dbc-e9e8-49f4-a488-0b173c2695ff\",\"type\":\"ColumnDataSource\"}},\"id\":\"859dc2cb-59c2-42aa-894a-48a334b05518\",\"type\":\"CDSView\"},{\"attributes\":{\"graph_layout\":{\"0\":[1.0,0.0],\"1\":[0.9997351589651408,0.023013298958311893],\"10\":[0.9736314327953243,0.22812679165964717],\"100\":[-0.6674184632602443,0.7446828821044122],\"101\":[-0.6843793132587562,0.7291261588939689],\"102\":[-0.7009776598061491,0.7131832306305965],\"103\":[-0.7172047110558695,0.6968625419975354],\"104\":[-0.733051871829826,0.6801727377709197],\"105\":[-0.7485107481711009,0.6631226582407955],\"106\":[-0.7635731517900779,0.6457213345285772],\"107\":[-0.7782311044016335,0.6279779838034244],\"108\":[-0.7924768419510902,0.609902004400073],\"109\":[-0.8063028187266985,0.5915029708407057],\"11\":[0.9681236251822273,0.25047284556219324],\"110\":[-0.8197017113564639,0.5727906287634988],\"111\":[-0.8326664226872063,0.5537748897605332],\"112\":[-0.8451900855437946,0.5344658261278012],\"113\":[-0.8572660663665668,0.5148736655300922],\"114\":[-0.8688879687250065,0.4950087855835815],\"115\":[-0.8800496367058185,0.47488170835899424],\"116\":[-0.8907451581736053,0.45450309480825196],\"117\":[-0.900968867902419,0.43388373911755823],\"118\":[-0.9107153505765304,0.41303456298991154],\"119\":[-0.919979443658824,0.39196660986007553],\"12\":[0.9621030198436006,0.27268622848949375],\"120\":[-0.9287562401253021,0.37069103904506795],\"121\":[-0.9370410910642468,0.3492191198332729],\"122\":[-0.9448296081386655,0.32756222551529934],\"123\":[-0.952117665910714,0.3057318273597533],\"124\":[-0.9589014040268675,0.28373948853711256],\"125\":[-0.9651772292626801,0.2615968579949226],\"126\":[-0.9709418174260519,0.2393156642875581],\"127\":[-0.9761921151179933,0.21690770936381773],\"128\":[-0.9809253413499562,0.19438486231564367],\"129\":[-0.9851389890168738,0.17175905309127631],\"13\":[0.9555728057861408,0.29475517441090415],\"130\":[-0.9888308262251285,0.14904226617617472],\"131\":[-0.991998897474747,0.1262465342450494],\"132\":[-0.9946415246951926,0.10338393178837038],\"133\":[-0.9967573081342099,0.08046656871672608],\"134\":[-0.9983451270992478,0.05750658394642077],\"135\":[-0.9994041405510704,0.03451613896970828],\"136\":[-0.9999337875492409,0.011507411413067634],\"137\":[-0.9999337875492409,-0.01150741141306739],\"138\":[-0.9994041405510705,-0.034516138969707594],\"139\":[-0.9983451270992478,-0.05750658394642008],\"14\":[0.9485364419471455,0.3166679938014725],\"140\":[-0.99675730813421,-0.08046656871672539],\"141\":[-0.9946415246951927,-0.10338393178836969],\"142\":[-0.9919988974747471,-0.1262465342450487],\"143\":[-0.9888308262251286,-0.14904226617617403],\"144\":[-0.9851389890168739,-0.17175905309127565],\"145\":[-0.9809253413499565,-0.19438486231564298],\"146\":[-0.9761921151179935,-0.21690770936381706],\"147\":[-0.9709418174260521,-0.23931566428755743],\"148\":[-0.9651772292626803,-0.26159685799492194],\"149\":[-0.9589014040268677,-0.2837394885371119],\"15\":[0.9409976553623765,0.3384130798336704],\"150\":[-0.9521176659107142,-0.30573182735975263],\"151\":[-0.9448296081386657,-0.32756222551529873],\"152\":[-0.937041091064247,-0.34921911983327225],\"153\":[-0.9287562401253024,-0.37069103904506734],\"154\":[-0.9199794436588242,-0.3919666098600749],\"155\":[-0.9107153505765305,-0.4130345629899113],\"156\":[-0.9009688679024194,-0.4338837391175576],\"157\":[-0.8907451581736057,-0.45450309480825135],\"158\":[-0.8800496367058188,-0.4748817083589936],\"159\":[-0.8688879687250068,-0.49500878558358097],\"16\":[0.9329604391919148,0.35997891452532227],\"160\":[-0.8572660663665671,-0.5148736655300915],\"161\":[-0.845190085543795,-0.5344658261278007],\"162\":[-0.8326664226872066,-0.5537748897605327],\"163\":[-0.8197017113564643,-0.5727906287634983],\"164\":[-0.806302818726699,-0.5915029708407051],\"165\":[-0.7924768419510907,-0.6099020044000725],\"166\":[-0.7782311044016339,-0.6279779838034238],\"167\":[-0.7635731517900783,-0.6457213345285766],\"168\":[-0.7485107481711013,-0.663122658240795],\"169\":[-0.7330518718298266,-0.6801727377709191],\"17\":[0.9244290506050568,0.38135407484047346],\"170\":[-0.71720471105587,-0.6968625419975348],\"171\":[-0.7009776598061496,-0.7131832306305961],\"172\":[-0.6843793132587568,-0.7291261588939685],\"173\":[-0.6674184632602446,-0.744682882104412],\"174\":[-0.6501040936687447,-0.7598451601445784],\"175\":[-0.6324453755953777,-0.7746049618276541],\"176\":[-0.6144516625464815,-0.788954469151335],\"177\":[-0.5961324854692258,-0.8028860814388822],\"178\":[-0.5774975477032404,-0.8163924193650647],\"179\":[-0.5585567198409302,-0.8294663288648555],\"18\":[0.9154080085253664,0.4025272387399675],\"180\":[-0.5393200344991996,-0.8421008849228114],\"181\":[-0.5197976810053548,-0.8542893952411298],\"182\":[-0.5000000000000004,-0.8660254037844384],\"183\":[-0.4799374779597867,-0.8773026941994417],\"184\":[-0.4596207416429119,-0.8881152931076121],\"185\":[-0.43906055246031817,-0.8984574732691805],\"186\":[-0.4182678007755655,-0.9083237566167538],\"187\":[-0.39725350013640154,-0.917708917156948],\"188\":[-0.3760287814410824,-0.9266079837385034],\"189\":[-0.3546048870425359,-0.9350162426854147],\"19\":[0.9059020912370834,0.4234871911785278],\"190\":[-0.33299316479348845,-0.9429292402936801],\"191\":[-0.31120506203571113,-0.9503427851903486],\"192\":[-0.2892521195365679,-0.9572529505536157],\"193\":[-0.26714596537607804,-0.9636560761927895],\"194\":[-0.24489830878773092,-0.9695487704870288],\"195\":[-0.2225209339563146,-0.9749279121818236],\"196\":[-0.20002569377604457,-0.9797906520422677],\"197\":[-0.17742450357229844,-0.9841344143622472],\"198\":[-0.15472933479028134,-0.9879568983287464],\"199\":[-0.1319522086539664,-0.9912560792405463],\"2\":[0.9989407761421107,0.0460144081848005],\"20\":[0.8959163338541519,0.4442228300451654],\"200\":[-0.1091051897986677,-0.994030209580673],\"201\":[-0.08620037988061945,-0.9962778199420265],\"202\":[-0.06324991116694638,-0.9979977198056984],\"203\":[-0.04026594010941603,-0.9991889981715696],\"204\":[-0.017260640905389365,-0.9998510240408494],\"205\":[0.005753800950636736,-0.9999834467503051],\"206\":[0.028765195121466556,-0.9995861961580021],\"207\":[0.051761352884208585,-0.9986594826804562],\"208\":[0.07473009358642348,-0.9972037971811802],\"209\":[0.09765925109799727,-0.9952199107106823],\"21\":[0.8854560256532099,0.4647231720437685],\"210\":[0.12053668025532233,-0.9927088740980541],\"211\":[0.14335026329437275,-0.9896720173943658],\"212\":[0.16608791626926675,-0.9861109491681618],\"213\":[0.18873759545291602,-0.9820275556534305],\"214\":[0.21128730371637214,-0.9774239997505001],\"215\":[0.23372509688349052,-0.9723027198803894],\"216\":[0.25603909005754655,-0.9666664286932197],\"217\":[0.2782174639164521,-0.9605181116313725],\"218\":[0.30024847097323853,-0.9538610253481543],\"219\":[0.3221204417984901,-0.9466986959828061],\"22\":[0.8745267072719554,0.48497735851075735],\"220\":[0.34382179120143125,-0.93903491729277],\"221\":[0.36534102436639454,-0.9308737486442045],\"222\":[0.3866667429414184,-0.9222195128618105],\"223\":[0.4077876510757498,-0.9130767939391092],\"224\":[0.4286925614030538,-0.9034504346103824],\"225\":[0.4493704009671609,-0.8933455337855633],\"226\":[0.4698102170872136,-0.882767443849435],\"227\":[0.4900011831591047,-0.8717217678265683],\"228\":[0.5099326043901355,-0.8602143564135009],\"229\":[0.5295939234638563,-0.8482513048797268],\"23\":[0.863134167774369,0.5049746611667237],\"230\":[0.5489747261320863,-0.8358389498391426],\"231\":[0.5680647467311556,-0.8229838658936566],\"232\":[0.5868538736194423,-0.809692862150739],\"233\":[0.605332154533328,-0.7959729786167613],\"234\":[0.6234898018587334,-0.7818314824680299],\"235\":[0.6413171978154419,-0.7672758642014939],\"236\":[0.6588048995514656,-0.7523138336671626],\"237\":[0.6759436441447543,-0.7369533159843369],\"238\":[0.6927243535095986,-0.7212024473438152],\"239\":[0.7091381392051325,-0.7050695706982979],\"24\":[0.8512844415843512,0.524704487799008],\"240\":[0.7251763071433758,-0.6885632313432778],\"241\":[0.7408303621943407,-0.6716921723907477],\"242\":[0.7560920126857483,-0.654465330138132],\"243\":[0.770953174794979,-0.63689182933489],\"244\":[0.7854059768309283,-0.618980978349299],\"245\":[0.7994427634035006,-0.6007422642379796],\"246\":[0.813056099478532,-0.5821853477207714],\"247\":[0.8262387743159945,-0.5633200580636227],\"248\":[0.8389838052893955,-0.544156387872205],\"249\":[0.8512844415843508,-0.5247044877990087],\"25\":[0.838983805289396,0.5441563878722043],\"250\":[0.8631341677743686,-0.5049746611667244],\"251\":[0.8745267072719549,-0.48497735851075807],\"252\":[0.8854560256532096,-0.4647231720437692],\"253\":[0.8959163338541516,-0.44422283004516605],\"254\":[0.9059020912370831,-0.4234871911785284],\"255\":[0.9154080085253661,-0.40252723873996815],\"256\":[0.9244290506050565,-0.381354074840474],\"257\":[0.9329604391919146,-0.3599789145253229],\"258\":[0.9409976553623762,-0.33841307983367097],\"259\":[0.9485364419471454,-0.31666799380147304],\"26\":[0.8262387743159949,0.563320058063622],\"260\":[0.9555728057861406,-0.2947551744109047],\"261\":[0.9621030198436004,-0.27268622848949425],\"262\":[0.9681236251822272,-0.2504728455621938],\"263\":[0.9736314327953242,-0.22812679165964764],\"264\":[0.9786235252959552,-0.205659903085937],\"265\":[0.9830972584622324,-0.18308408014910177],\"266\":[0.9870502626379128,-0.16041128085776063],\"267\":[0.9904804439875631,-0.1376535145871686],\"268\":[0.9933859856056265,-0.11482283571806601],\"269\":[0.995765348478805,-0.09193133725168935],\"27\":[0.8130560994785325,0.5821853477207707],\"270\":[0.9976172723012475,-0.06899114440432523],\"271\":[0.9989407761421107,-0.04601440818480079],\"272\":[0.9997351589651408,-0.023013298958312164],\"28\":[0.7994427634035012,0.6007422642379788],\"29\":[0.7854059768309288,0.6189809783492982],\"3\":[0.9976172723012476,0.06899114440432493],\"30\":[0.7709531747949797,0.6368918293348891],\"31\":[0.756092012685749,0.6544653301381312],\"32\":[0.7408303621943414,0.671692172390747],\"33\":[0.7251763071433766,0.688563231343277],\"34\":[0.7091381392051332,0.7050695706982972],\"35\":[0.6927243535095995,0.7212024473438144],\"36\":[0.6759436441447544,0.7369533159843367],\"37\":[0.6588048995514658,0.7523138336671625],\"38\":[0.6413171978154422,0.7672758642014937],\"39\":[0.6234898018587337,0.7818314824680297],\"4\":[0.9957653484788052,0.091931337251689],\"40\":[0.6053321545333282,0.7959729786167611],\"41\":[0.5868538736194425,0.8096928621507388],\"42\":[0.5680647467311559,0.8229838658936564],\"43\":[0.5489747261320865,0.8358389498391425],\"44\":[0.5295939234638566,0.8482513048797266],\"45\":[0.509932604390136,0.8602143564135006],\"46\":[0.49000118315910507,0.8717217678265681],\"47\":[0.46981021708721404,0.8827674438494347],\"48\":[0.44937040096716135,0.893345533785563],\"49\":[0.42869256140305423,0.9034504346103822],\"5\":[0.9933859856056265,0.11482283571806565],\"50\":[0.4077876510757502,0.913076793939109],\"51\":[0.38666674294141906,0.9222195128618103],\"52\":[0.3653410243663952,0.9308737486442041],\"53\":[0.3438217912014319,0.9390349172927698],\"54\":[0.32212044179849075,0.9466986959828059],\"55\":[0.3002484709732392,0.9538610253481541],\"56\":[0.27821746391645275,0.9605181116313722],\"57\":[0.2560390900575472,0.9666664286932195],\"58\":[0.2337250968834912,0.9723027198803892],\"59\":[0.2112873037163728,0.9774239997504999],\"6\":[0.9904804439875632,0.1376535145871682],\"60\":[0.18873759545291693,0.9820275556534303],\"61\":[0.16608791626926764,0.9861109491681617],\"62\":[0.14335026329437367,0.9896720173943657],\"63\":[0.12053668025532323,0.992708874098054],\"64\":[0.09765925109799818,0.9952199107106822],\"65\":[0.07473009358642439,0.9972037971811801],\"66\":[0.051761352884209494,0.9986594826804561],\"67\":[0.028765195121467465,0.9995861961580021],\"68\":[0.0057538009506376475,0.9999834467503051],\"69\":[-0.01726064090538823,0.9998510240408495],\"7\":[0.9870502626379128,0.1604112808577602],\"70\":[-0.0402659401094149,0.9991889981715697],\"71\":[-0.06324991116694526,0.9979977198056985],\"72\":[-0.0862003798806192,0.9962778199420265],\"73\":[-0.10910518979866747,0.994030209580673],\"74\":[-0.13195220865396615,0.9912560792405463],\"75\":[-0.15472933479028111,0.9879568983287464],\"76\":[-0.1774245035722982,0.9841344143622474],\"77\":[-0.20002569377604434,0.9797906520422677],\"78\":[-0.22252093395631412,0.9749279121818236],\"79\":[-0.24489830878773047,0.9695487704870289],\"8\":[0.9830972584622324,0.18308408014910132],\"80\":[-0.2671459653760776,0.9636560761927896],\"81\":[-0.28925211953656743,0.9572529505536158],\"82\":[-0.3112050620357107,0.9503427851903488],\"83\":[-0.332993164793488,0.9429292402936802],\"84\":[-0.35460488704253545,0.9350162426854148],\"85\":[-0.376028781441082,0.9266079837385036],\"86\":[-0.3972535001364011,0.9177089171569481],\"87\":[-0.4182678007755649,0.9083237566167541],\"88\":[-0.4390605524603175,0.8984574732691808],\"89\":[-0.4596207416429113,0.8881152931076124],\"9\":[0.9786235252959553,0.20565990308593657],\"90\":[-0.47993747795978614,0.8773026941994421],\"91\":[-0.4999999999999998,0.8660254037844387],\"92\":[-0.5197976810053543,0.8542893952411301],\"93\":[-0.5393200344991991,0.8421008849228119],\"94\":[-0.5585567198409297,0.8294663288648558],\"95\":[-0.5774975477032398,0.816392419365065],\"96\":[-0.5961324854692253,0.8028860814388825],\"97\":[-0.614451662546481,0.7889544691513354],\"98\":[-0.6324453755953772,0.7746049618276546],\"99\":[-0.6501040936687442,0.7598451601445788]}},\"id\":\"c382b8cb-2a75-4255-b699-1c2701b689f0\",\"type\":\"StaticLayoutProvider\"},{\"attributes\":{\"edge_renderer\":{\"id\":\"48f676d5-ed02-4732-8fe9-b4e5393d5be7\",\"type\":\"GlyphRenderer\"},\"inspection_policy\":{\"id\":\"062832d4-fb72-40a4-bf09-e8aa048bb411\",\"type\":\"NodesAndLinkedEdges\"},\"layout_provider\":{\"id\":\"c382b8cb-2a75-4255-b699-1c2701b689f0\",\"type\":\"StaticLayoutProvider\"},\"node_renderer\":{\"id\":\"671dac22-b482-48b1-87c1-8d7887c529e5\",\"type\":\"GlyphRenderer\"},\"selection_policy\":{\"id\":\"800d3436-64bd-45ea-bee5-81e09710f970\",\"type\":\"NodesAndLinkedEdges\"}},\"id\":\"9ae3a5c7-1d30-472f-b68b-0b60f662e846\",\"type\":\"GraphRenderer\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"61815ea4-7ab1-4f93-98c2-50b98eb12f16\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"eaac22c8-a7f1-47e1-a149-2bfd599db15d\",\"type\":\"BasicTicker\"}},\"id\":\"faa40d06-e1ad-4988-a5e0-8b7e5d6968aa\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"04e0ef0d-7ad8-4624-ac49-0bfb2b54fbb4\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"8f203669-297d-4036-a33f-cf3279137ca3\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"aeaa8352-5efa-418a-9885-df0494f4c074\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"304b261f-c4fb-4c05-bb4d-eaeb09259c83\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"af9850a9-04f5-448f-a1bc-38d3a5c4893f\",\"type\":\"BoxAnnotation\"}},\"id\":\"8f172fd6-4f4e-49fa-84b7-2c15eefb9b41\",\"type\":\"BoxZoomTool\"}],\"root_ids\":[\"61815ea4-7ab1-4f93-98c2-50b98eb12f16\"]},\"title\":\"Bokeh Application\",\"version\":\"0.13.0\"}};\n", " var render_items = [{\"docid\":\"23093b3e-95b3-4a49-bba2-ab5c4d8bfc11\",\"roots\":{\"61815ea4-7ab1-4f93-98c2-50b98eb12f16\":\"76a11b92-af49-43d6-829f-5f9445f55c5c\"}}];\n", " root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", "\n", " }\n", " if (root.Bokeh !== undefined) {\n", " embed_document(root);\n", " } else {\n", " var attempts = 0;\n", " var timer = setInterval(function(root) {\n", " if (root.Bokeh !== undefined) {\n", " embed_document(root);\n", " clearInterval(timer);\n", " }\n", " attempts++;\n", " if (attempts > 100) {\n", " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\")\n", " clearInterval(timer);\n", " }\n", " }, 10, root)\n", " }\n", "})(window);" ], "application/vnd.holoviews_exec.v0+json": "", "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "
\n", "
" ], "text/plain": [ ":Graph [start,end]" ] }, "execution_count": 117, "metadata": { "application/vnd.holoviews_exec.v0+json": { "id": "61815ea4-7ab1-4f93-98c2-50b98eb12f16" } }, "output_type": "execute_result" } ], "source": [ "%%opts Graph [width=900 height=600 xaxis=None yaxis=None]\n", "padding = dict(x=(-1.2, 1.2), y=(-1.2, 1.2))\n", "hv.Graph(((sources, targets), node_info)).redim.range(**padding)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## a better layout using networkx" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Can we use a better layout? Let's use networkx." ] }, { "cell_type": "code", "execution_count": 118, "metadata": {}, "outputs": [], "source": [ "import networkx as nx\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 119, "metadata": {}, "outputs": [], "source": [ "G = nx.Graph()\n", "G.add_nodes_from(inverse_mapping)\n", "G.add_edges_from((u, v) for u, v in zip(sources, targets))" ] }, { "cell_type": "code", "execution_count": 126, "metadata": {}, "outputs": [ { "data": { "application/javascript": [ "\n", "// Ugly hack - see #2574 for more information\n", "if (!(document.getElementById('8ba589bf-b22d-45b0-9705-0d98782561cd')) && !(document.getElementById('_anim_imgNone'))) {\n", " console.log(\"Creating DOM nodes dynamically for assumed nbconvert export. To generate clean HTML output set HV_DOC_HTML as an environment variable.\")\n", " var htmlObject = document.createElement('div');\n", " htmlObject.innerHTML = `
\n", "\n", "\n", "\n", "\n", "\n", "
\n", "
`;\n", " var scriptTags = document.getElementsByTagName('script');\n", " var parentTag = scriptTags[scriptTags.length-1].parentNode;\n", " parentTag.append(htmlObject)\n", "}\n", "(function(root) {\n", " function embed_document(root) {\n", " \n", " var docs_json = {\"84a36d3b-b96c-4d32-b0a5-c55cb36a2939\":{\"roots\":{\"references\":[{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#30a2da\"},\"line_alpha\":{\"value\":0.2},\"size\":{\"units\":\"screen\",\"value\":15}},\"id\":\"4044498a-31e8-4aaf-8af9-f4d3e20de75a\",\"type\":\"Circle\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"8ba589bf-b22d-45b0-9705-0d98782561cd\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"dabfa1a3-2850-4921-aada-b1c2826f7f82\",\"type\":\"BasicTicker\"}},\"id\":\"4808ed54-6d69-40df-925c-b63aed37d141\",\"type\":\"Grid\"},{\"attributes\":{\"fill_color\":{\"value\":\"limegreen\"},\"size\":{\"units\":\"screen\",\"value\":15}},\"id\":\"12d078a6-cebb-4796-9d86-a9d5d43cea37\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"f54147b7-ad67-4926-9b96-330ac472c2c0\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"85da1f4a-67cd-495c-8ca4-2ee68bfd77e2\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"371d5a5e-c8c1-4b09-a9eb-763c09b34836\",\"type\":\"Circle\"},\"hover_glyph\":{\"id\":\"12d078a6-cebb-4796-9d86-a9d5d43cea37\",\"type\":\"Circle\"},\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"4044498a-31e8-4aaf-8af9-f4d3e20de75a\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"81eb2742-35b4-4cf7-b7b2-4f732252abbd\",\"type\":\"CDSView\"}},\"id\":\"ef0bef43-5606-4955-8aaa-cb2e82ee9ae4\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"d7e80332-29b5-496b-9931-4ed96396a078\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"8ba589bf-b22d-45b0-9705-0d98782561cd\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"dabfa1a3-2850-4921-aada-b1c2826f7f82\",\"type\":\"BasicTicker\"}},\"id\":\"bcc10097-8db2-48f3-87bb-aeda6d3350f3\",\"type\":\"LinearAxis\"},{\"attributes\":{\"source\":{\"id\":\"85da1f4a-67cd-495c-8ca4-2ee68bfd77e2\",\"type\":\"ColumnDataSource\"}},\"id\":\"81eb2742-35b4-4cf7-b7b2-4f732252abbd\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"dabfa1a3-2850-4921-aada-b1c2826f7f82\",\"type\":\"BasicTicker\"},{\"attributes\":{\"line_width\":{\"value\":2}},\"id\":\"63cdfacd-2774-4264-8b58-934372779359\",\"type\":\"MultiLine\"},{\"attributes\":{},\"id\":\"fd314d92-c289-494d-b75f-92f1653ebf7f\",\"type\":\"Selection\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"71ddeea5-2133-4dd4-aa34-0f41cbee4fc4\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"8ba589bf-b22d-45b0-9705-0d98782561cd\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"a4d246eb-6194-4754-ad83-e62918efa4e7\",\"type\":\"BasicTicker\"}},\"id\":\"2d3857e1-80a3-4a30-aa0a-c1edc1ce8363\",\"type\":\"LinearAxis\"},{\"attributes\":{\"line_alpha\":{\"value\":0.2},\"line_width\":{\"value\":2}},\"id\":\"697d2188-8a44-4965-b1db-4c91868d5c8d\",\"type\":\"MultiLine\"},{\"attributes\":{},\"id\":\"a4d246eb-6194-4754-ad83-e62918efa4e7\",\"type\":\"BasicTicker\"},{\"attributes\":{\"line_color\":{\"value\":\"limegreen\"},\"line_width\":{\"value\":2}},\"id\":\"255ce4a0-9597-4d93-b21d-d2bb28590919\",\"type\":\"MultiLine\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"8ba589bf-b22d-45b0-9705-0d98782561cd\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"a4d246eb-6194-4754-ad83-e62918efa4e7\",\"type\":\"BasicTicker\"}},\"id\":\"4baf5837-1751-4580-85de-5a97fbfd10c0\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"71ddeea5-2133-4dd4-aa34-0f41cbee4fc4\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"data_source\":{\"id\":\"bbb56e44-b995-4ced-8489-0772a771458d\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"63cdfacd-2774-4264-8b58-934372779359\",\"type\":\"MultiLine\"},\"hover_glyph\":{\"id\":\"255ce4a0-9597-4d93-b21d-d2bb28590919\",\"type\":\"MultiLine\"},\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"697d2188-8a44-4965-b1db-4c91868d5c8d\",\"type\":\"MultiLine\"},\"selection_glyph\":null,\"view\":{\"id\":\"1d7d29ae-76ae-4b34-b2a2-35edae3c0814\",\"type\":\"CDSView\"}},\"id\":\"6fc9da1e-cc55-4cb3-9899-29b062024ded\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"bbb56e44-b995-4ced-8489-0772a771458d\",\"type\":\"ColumnDataSource\"}},\"id\":\"1d7d29ae-76ae-4b34-b2a2-35edae3c0814\",\"type\":\"CDSView\"},{\"attributes\":{\"edge_renderer\":{\"id\":\"6fc9da1e-cc55-4cb3-9899-29b062024ded\",\"type\":\"GlyphRenderer\"},\"inspection_policy\":{\"id\":\"46bf5998-5368-48ff-b5f7-3bc78512c80c\",\"type\":\"NodesAndLinkedEdges\"},\"layout_provider\":{\"id\":\"ea84ba78-a63e-4901-8012-d0bb35443074\",\"type\":\"StaticLayoutProvider\"},\"node_renderer\":{\"id\":\"ef0bef43-5606-4955-8aaa-cb2e82ee9ae4\",\"type\":\"GlyphRenderer\"},\"selection_policy\":{\"id\":\"d0fd27fc-13a3-4a6a-bdff-ee4db9843c74\",\"type\":\"NodesAndLinkedEdges\"}},\"id\":\"88a009c8-7972-4cc9-b4d4-ba184924db72\",\"type\":\"GraphRenderer\"},{\"attributes\":{\"graph_layout\":{\"0\":[-0.07542740460587194,-0.05293176890235667],\"1\":[-0.01401181886325665,-0.0032796664465441516],\"10\":[0.31508882381219916,-0.06314440865346782],\"100\":[-0.4091662151140679,0.49410311769852805],\"101\":[0.20391293517112086,-0.3495708170032913],\"102\":[-0.0851696292833062,0.3090851728285288],\"103\":[0.0013472105483672032,-0.5169452087923142],\"104\":[0.1806331577312349,0.40383717563507027],\"105\":[-0.6884772809558108,-0.757746000891964],\"106\":[-0.024377738753075005,0.045482504850204504],\"107\":[0.5788710857610901,0.6405779987951538],\"108\":[0.19089408517901116,-0.31404547465490157],\"109\":[0.5766494172523194,-0.827198249187151],\"11\":[-0.2604474281068743,0.48891144930290575],\"110\":[0.03635184454438324,0.2674548726426036],\"111\":[-0.2287109979220899,0.30204117114618395],\"112\":[0.2755332576681155,-0.013291723823633491],\"113\":[0.53973936025514,0.16811158199911078],\"114\":[-0.04871469944209358,0.317103771452888],\"115\":[0.017539603649029865,0.161622749993317],\"116\":[-0.0076560457428626475,0.1452563505071304],\"117\":[-0.04710007643792296,-0.3192644965861455],\"118\":[0.04380538593409162,-0.792462246593983],\"119\":[0.21909429946452902,-0.5118412397612021],\"12\":[0.40605424731577544,0.32279352140158724],\"120\":[0.24121639186239846,0.01851346280932747],\"121\":[0.36403553589224574,-0.14405179106882215],\"122\":[0.008413296773293801,-0.019411823316388202],\"123\":[-0.39088570205383494,0.5530867478243969],\"124\":[0.055123341534213985,0.07383322175703302],\"125\":[0.01969516153941398,-0.16835883620624556],\"126\":[-0.12450339247736816,0.22136227419735222],\"127\":[-0.17976837393584463,-0.11723486318082788],\"128\":[-0.03847538736642568,0.7635507796560894],\"129\":[0.6431072563437042,-0.47966238401367767],\"13\":[0.4520913715913662,0.05716276954338695],\"130\":[0.37643204249764156,-0.19284753072735428],\"131\":[-0.39938407430692247,-0.18568331175852548],\"132\":[0.012027946848916981,0.27200538135619],\"133\":[0.40612555383235577,0.05169427691834376],\"134\":[-0.07321320130010504,0.12565902835666512],\"135\":[-0.26785308825762133,-0.08382769689876546],\"136\":[-0.05788760260215606,-0.5327306383486349],\"137\":[-0.2092923780770023,-0.22819045792013012],\"138\":[-0.09504913866852768,-0.2594901251304192],\"139\":[0.0835465786730671,0.3396171596696227],\"14\":[0.47877037755720786,0.07042347113739242],\"140\":[0.14319745067411394,-0.0943399884853251],\"141\":[-0.3387802062189783,0.09194869298422942],\"142\":[0.14927487534846534,-0.5629195759318014],\"143\":[-0.04754962393414997,0.10551754375973875],\"144\":[-0.2264602379566738,0.21670133949560696],\"145\":[-0.22290260627624964,0.4999617404451373],\"146\":[-0.28094562364592246,-0.04387789410577941],\"147\":[-0.1513480448094458,-0.45466719139643835],\"148\":[0.11283260306730475,0.4482215800612131],\"149\":[-0.11672102565795238,0.273978455362371],\"15\":[-0.03323181106772159,-0.8619782115522368],\"150\":[-0.1906476678907417,-0.4226818745370395],\"151\":[-0.09391067351952603,0.3054792612972142],\"152\":[-0.0699715967259981,0.17520484505579734],\"153\":[0.030134855133450558,-0.12072137277453036],\"154\":[-0.2216110637434136,-0.1788484309725121],\"155\":[0.24407963807976407,-0.35548434968582493],\"156\":[0.06573502740586935,-0.03580279950153988],\"157\":[0.06081280968554299,-0.43959149983196294],\"158\":[0.6437850201215641,0.6525036937403386],\"159\":[0.14457855774045672,0.015224389376395168],\"16\":[-0.0023042441886279965,0.7734864114609901],\"160\":[-0.04534639855465433,-0.5211106296233429],\"161\":[-0.047486677164333545,-0.4991561889754703],\"162\":[0.08162164275968022,-0.3211391130981226],\"163\":[0.35346430529004064,-0.11222034127812253],\"164\":[0.09097484770996271,0.2765695644601645],\"165\":[-0.2657538217117163,-0.01135707139573427],\"166\":[-0.3465633177890238,-0.35278303555042445],\"167\":[0.37530242593319035,0.206655829546797],\"168\":[-0.1215766537094807,-0.4409747505167257],\"169\":[0.1057515135376252,-0.4181296899716454],\"17\":[-0.18023228106835412,-0.21267664235774755],\"170\":[0.03408128412401734,0.14440069885452797],\"171\":[0.5341036049492742,0.36078102463754724],\"172\":[0.11310939288256178,0.28817365805184797],\"173\":[-0.04870992083622101,0.5488635392325381],\"174\":[-0.1345595288419422,-0.11324984095187776],\"175\":[-0.1693210571222202,-0.1116616312173543],\"176\":[-0.34424288893485666,-0.05695915645470988],\"177\":[-0.22028814597790752,0.740806301732572],\"178\":[0.07735947332269011,0.5202207074861342],\"179\":[0.42956590814282736,-0.031810520825453686],\"18\":[-0.6440732802830723,0.4080796556353484],\"180\":[-0.37644116854784127,0.02212134409030419],\"181\":[-0.7241568261628333,-0.5549106475073116],\"182\":[-0.28518485496471563,-0.13359472103225262],\"183\":[0.1656124194055881,-0.16613314463703302],\"184\":[0.17409854754787604,-0.0487673601216762],\"185\":[-0.1498147995696428,-0.15218042180660382],\"186\":[0.2286179848363484,-0.3031979433094161],\"187\":[0.09779312441020879,0.06811259895207043],\"188\":[0.3248385008326445,0.060199333036621096],\"189\":[0.028721978876523745,-0.07103851725082827],\"19\":[-0.2379668806650481,-0.8354669604057601],\"190\":[-0.45368923869080724,0.28004907867642864],\"191\":[0.11120697748001175,0.3479170339358285],\"192\":[0.31779710064751665,0.018141354930954697],\"193\":[0.030690121515937203,-0.7820408126693909],\"194\":[-0.7666280776136645,-0.10569563069491673],\"195\":[0.07119726538365821,-0.3499750893032369],\"196\":[0.02574255118769094,-0.041996370050811214],\"197\":[-0.14735849130734294,0.0056497891228726],\"198\":[0.3384561163156498,0.37891126629780436],\"199\":[-0.17275069535855225,0.009752246645946623],\"2\":[-0.2690211391872447,-0.3158269073084741],\"20\":[-0.6870074079600963,-0.01898736337163963],\"200\":[-0.045560866452106566,-0.305334654610793],\"201\":[-0.8700870391004594,0.010593465681104752],\"202\":[-0.6501465822919945,-0.09341465863537567],\"203\":[-0.739469055138763,0.03653373580017489],\"204\":[0.1264796434107123,-0.11969750332183857],\"205\":[0.1026419319685202,-0.3115848818013787],\"206\":[0.39696334222605345,-0.23307544363348967],\"207\":[-0.31925616100684845,-0.5655080550970679],\"208\":[0.15790880005118746,-0.23462664747192757],\"209\":[0.24157502366239186,0.19618677633114875],\"21\":[0.09633214567751928,-0.5783181850765242],\"210\":[0.044920988769539885,-0.4158844444146287],\"211\":[0.24099204235303265,-0.09137444528134724],\"212\":[0.5070465240013441,0.4902229571449742],\"213\":[0.5679139622572431,-0.8652792390471651],\"214\":[0.1564741191025257,0.21008603847363],\"215\":[-0.1612912038307767,-0.2525510090230583],\"216\":[0.44900035090816015,0.45785630879913763],\"217\":[0.15070617193229668,0.2773050385283033],\"218\":[-0.5175600660131431,-0.014292158627494677],\"219\":[0.5469016381732736,-0.07550372991352666],\"22\":[0.6427935342209966,-0.009950798633403691],\"220\":[0.2316577831382189,0.03110363269427635],\"221\":[0.5031465924377158,0.46173362862167033],\"222\":[0.0738263291712593,-0.07713043862324247],\"223\":[0.4627183749461693,0.015048384940555187],\"224\":[0.11238445699533557,0.24845420020239395],\"225\":[0.12890535935642877,0.24932062815146325],\"226\":[0.19535005224934907,0.13410255211437688],\"227\":[-0.32465512712633443,-0.23436014195203025],\"228\":[0.4254262076881754,0.2898263452261204],\"229\":[-0.1787414297756556,-0.09199389198886707],\"23\":[0.43589514833196913,-0.092747545267408],\"230\":[-0.20862372009445385,-0.0761529555308223],\"231\":[0.31456971916058635,0.23107985750850601],\"232\":[-0.23719539442956136,0.006068070777173542],\"233\":[0.5568595766524144,-0.08369084704264865],\"234\":[-0.17917910774970214,-0.4606385280318581],\"235\":[-0.34274196607707136,0.07491455778424563],\"236\":[-0.356187754294609,0.6791514275091146],\"237\":[0.05133230453758149,-0.3986308385944572],\"238\":[-0.2405230203962997,0.21094261352651517],\"239\":[0.771771784952702,-0.33639749522477874],\"24\":[0.39112970958022963,0.23228369782637426],\"240\":[0.40703051467445034,0.02049061199319014],\"241\":[0.19726300800971558,-0.8384759866121657],\"242\":[-0.20354798063400037,0.21508576543620128],\"243\":[-0.34081861749603526,-0.3273845714930367],\"244\":[-0.5430771031289824,0.05525574488809904],\"245\":[-0.16629113207166457,-0.025504725551889963],\"246\":[-0.806329232368279,-0.885870275974094],\"247\":[-0.23997093798749028,-0.027128488910124805],\"248\":[-0.31091160883338526,-0.382056565003297],\"249\":[-0.017727228226456216,-0.5194104738486702],\"25\":[-0.2941785185361482,-0.0452543588240298],\"250\":[-0.14636086523764322,-0.08849773982759547],\"251\":[-0.07108239769440577,0.3971037419307451],\"252\":[0.18118390416491792,-0.1385284600695578],\"253\":[0.06717718285046954,-0.12992526038653182],\"254\":[-0.823768779436418,-0.01727441801043354],\"255\":[-0.13999461873459185,0.21358100373604594],\"256\":[0.18783918112225623,0.28473480769322046],\"257\":[0.5522694199986772,-0.14165328587957143],\"258\":[-0.0971859279152728,0.217659295195844],\"259\":[0.18800851010556063,-0.03069299441113525],\"26\":[-0.13265733302972593,-0.46297020228348357],\"260\":[0.4322151819803984,0.30524086264075784],\"261\":[0.14651581919881432,-0.08764191560616315],\"262\":[0.1053357830467504,-0.4604642557792783],\"263\":[0.18609686485914803,0.28944788808956196],\"264\":[0.2385606640269734,-0.5150605380635752],\"265\":[0.018461819399045235,0.24924621517133969],\"266\":[0.03847232948778342,0.4203500110031902],\"267\":[-0.10092237751836824,0.2794173712815509],\"268\":[0.6718271183063151,0.6041928053948412],\"269\":[0.4431953810037072,0.014495564174118021],\"27\":[0.21496631880815711,-1.0],\"270\":[-0.176397332490132,-0.4440716269785125],\"271\":[0.3085355991708384,0.002680516345618184],\"272\":[0.1387509234379042,-0.051835980865742044],\"28\":[0.4305474271861704,0.08725929562626798],\"29\":[-0.34414411214758356,0.281332398363267],\"3\":[-0.1872513973792654,-0.24369070317728447],\"30\":[-0.015822366375109278,0.2988073464383154],\"31\":[0.051415676039680544,0.611921656878479],\"32\":[-0.09256907869698985,-0.7950071466604453],\"33\":[-0.15074639422633143,-0.19761800523335357],\"34\":[-0.8007699092112899,-0.40793549619040936],\"35\":[0.4432436927848956,-0.09374073651733035],\"36\":[0.004577585469249228,0.2763792046885798],\"37\":[-0.33663170166169365,-0.023120482817220633],\"38\":[0.18079739759710686,0.20905993980743728],\"39\":[-0.015491883790347707,0.13582767700769638],\"4\":[0.3576107337149499,0.0718961877998809],\"40\":[-0.2806096702938777,0.36947800319859286],\"41\":[-0.011067577827355653,-0.03833867772959484],\"42\":[-0.31335356107874923,0.3989391165927193],\"43\":[0.6116713941167734,-0.07368871470789083],\"44\":[0.4107242678333966,0.36942806319377974],\"45\":[0.12184696929792069,-0.589347655622286],\"46\":[-0.04449381504954621,-0.07530777754301779],\"47\":[0.10897586118275561,0.4083255880147514],\"48\":[-0.15376993793989888,0.05180674752353411],\"49\":[0.40141921575802775,0.41238729193635015],\"5\":[0.26620631097261815,0.10355599794266465],\"50\":[-0.2110208780821436,0.24851168825101885],\"51\":[0.18335993050313135,-0.062458873721601756],\"52\":[-0.10771573071431939,0.17175956567301745],\"53\":[0.5247172854052596,0.38630945364049224],\"54\":[-0.6811503060862357,0.39208037088857806],\"55\":[-0.7264240310809399,-0.028207300508090068],\"56\":[-0.3637923158334904,0.3993966316237121],\"57\":[0.07365185237550007,-0.5839006857520229],\"58\":[-0.43765545317597837,0.4336961092269068],\"59\":[0.11430352066571348,-0.2589791613826032],\"6\":[-0.335867689442503,-0.09325415808454061],\"60\":[-0.36899793478406484,0.06839337643850674],\"61\":[-0.26350131984802466,0.01323586257699047],\"62\":[-0.29465415997965305,0.4583291619108559],\"63\":[-0.2125239555524497,0.5717224221865814],\"64\":[-0.7904158738737438,-0.07369980194415321],\"65\":[-0.1523354606687943,0.054490485316714674],\"66\":[0.4463625174902603,-0.02415869349046457],\"67\":[-0.12735877435372592,0.6570647620289151],\"68\":[0.3342401166797355,0.20414709110621873],\"69\":[0.49499288035971883,0.397914814034447],\"7\":[-0.34116821371005246,-0.3885769090696481],\"70\":[0.19365589936700575,0.04933656780195412],\"71\":[-0.03236375151512984,0.16072623632934588],\"72\":[-0.13550537445567362,-0.19064136522800526],\"73\":[0.2083315923159092,0.9242037879074465],\"74\":[-0.0577739866718129,-0.3834219468386871],\"75\":[0.07546243349342135,-0.4532827101428219],\"76\":[-0.01879306431382615,0.573674052048431],\"77\":[-0.3090096975133776,-0.05776040119437863],\"78\":[-0.45400955765627393,0.12246056871784307],\"79\":[0.12269236645568367,-0.5622113500046356],\"8\":[0.3902576266401691,-0.16666449515773551],\"80\":[-0.14305433382630117,0.0448289926138756],\"81\":[-0.03094223145882144,0.7936687891966099],\"82\":[-0.3726506619926278,0.04054929130159364],\"83\":[0.049536102623611314,0.4499149134117852],\"84\":[-0.3975489674646851,0.8817365659646549],\"85\":[-0.0466250389055924,0.26672528456393435],\"86\":[0.6296786145187608,-0.14377248802373555],\"87\":[0.1301918299379802,0.3294243922961136],\"88\":[-0.14306507348344571,-0.055442414404022616],\"89\":[-0.4315307326388978,0.09067494144551212],\"9\":[0.2184346240849226,0.08320308942456776],\"90\":[-0.07139433129218745,0.24945582945602465],\"91\":[0.24335512719446598,-0.47192762864747695],\"92\":[-0.24337094091849387,-0.06869427281325363],\"93\":[-0.19242564971240245,0.04116375698986073],\"94\":[-0.2541457792475595,0.050712323388694934],\"95\":[-0.30106062393529154,-0.3543378847401284],\"96\":[0.03751428008664515,-0.39981710280049143],\"97\":[0.4734066852004751,0.36459739771686994],\"98\":[-0.10995484533054216,0.23626711180594998],\"99\":[-0.12205017025312505,0.3185108369428896]}},\"id\":\"ea84ba78-a63e-4901-8012-d0bb35443074\",\"type\":\"StaticLayoutProvider\"},{\"attributes\":{},\"id\":\"46bf5998-5368-48ff-b5f7-3bc78512c80c\",\"type\":\"NodesAndLinkedEdges\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"plot\":null,\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"c7efe068-6fca-4511-a914-543e48206493\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"5b381db4-5382-4b3c-8cc5-5f9387f9d357\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"b3de9ca7-eb9c-4f70-8110-dcd351875370\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"d7e80332-29b5-496b-9931-4ed96396a078\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"af726630-7926-4f0b-937c-1c209618a729\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"c7efe068-6fca-4511-a914-543e48206493\",\"type\":\"BoxAnnotation\"}},\"id\":\"d1ccc379-f2a8-481d-b44a-d5bc0c9ba640\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"e408a95a-5e9f-4a3f-a23d-38a2e878ec46\",\"type\":\"ResetTool\"},{\"attributes\":{\"callback\":null},\"id\":\"9ad1c03d-3621-49e2-be1d-d97ea820169f\",\"type\":\"TapTool\"},{\"attributes\":{\"callback\":null,\"data\":{\"end\":[153,253,51,0,106,127,245,229,65,93,199,48,189,156,196,122,41,1,80,33,2,248,95,7,243,166,3,215,200,17,185,137,72,28,4,188,240,13,112,167,209,68,231,5,24,197,176,25,6,230,37,77,33,248,95,7,243,166,51,8,130,10,163,9,23,99,51,130,10,120,220,271,226,62,99,11,171,69,228,12,44,97,53,112,28,13,133,223,188,240,113,28,14,15,128,67,16,81,31,215,200,17,185,137,72,18,54,190,19,202,194,64,20,210,45,57,262,142,79,21,22,86,163,23,167,209,68,231,24,197,176,25,230,37,77,234,147,270,138,26,150,168,74,27,241,112,28,133,223,188,240,113,100,29,40,58,90,151,106,30,114,36,85,128,67,81,31,32,118,33,248,95,243,166,34,257,35,206,233,269,43,90,151,106,114,36,85,197,176,230,37,77,38,106,225,106,124,143,71,115,134,116,39,100,40,58,189,156,196,122,41,80,62,99,42,257,233,269,43,171,69,228,44,97,53,210,45,57,262,142,79,232,46,174,88,250,226,47,104,65,93,245,199,48,106,49,263,50,238,144,242,98,152,80,153,253,51,106,130,120,220,271,226,159,70,187,132,98,110,170,52,171,69,228,97,53,54,190,254,201,55,203,56,145,210,57,262,142,79,100,58,186,208,155,101,59,108,60,165,82,141,235,180,80,61,106,146,247,135,92,62,99,177,63,202,194,64,65,93,245,199,106,121,219,66,128,67,81,123,167,209,68,231,171,69,228,97,159,70,187,220,120,226,106,124,143,71,115,134,116,215,200,185,137,72,73,234,147,74,270,138,168,205,157,195,75,200,169,237,83,251,76,173,197,176,230,77,78,244,218,210,262,142,79,165,175,182,80,82,141,235,180,189,156,222,196,122,238,144,242,98,152,128,81,165,82,141,235,180,83,251,173,84,90,151,106,114,85,267,149,86,148,265,266,87,232,174,88,250,235,141,232,89,90,151,106,114,267,149,264,119,91,162,106,146,247,135,92,93,245,199,106,94,111,102,227,131,248,95,243,166,249,117,136,161,96,160,103,171,228,97,132,98,110,170,238,144,242,152,99,236,100,186,208,155,101,108,111,102,249,117,136,161,160,103,226,104,246,105,153,253,106,127,245,229,199,211,259,125,183,252,261,124,146,247,135,225,151,114,267,149,143,115,134,116,107,158,268,186,208,155,108,109,110,178,172,217,214,170,139,191,164,255,126,258,256,132,224,263,111,112,133,223,188,240,192,179,113,151,114,267,149,124,143,115,134,116,124,143,134,116,249,117,136,161,160,118,264,119,162,120,220,271,226,159,187,121,219,189,156,196,122,123,261,259,124,143,134,154,125,183,252,255,170,126,258,127,245,229,128,129,130,227,131,132,170,224,263,133,223,188,240,143,134,146,247,135,249,136,161,160,215,200,185,137,234,147,270,138,150,168,217,172,139,191,164,170,156,222,140,184,204,272,189,165,141,235,180,232,210,262,142,143,238,144,242,152,145,146,247,234,147,270,150,168,148,265,266,151,267,149,234,270,150,168,151,267,238,242,152,153,253,154,186,208,155,156,222,184,204,272,189,196,205,157,195,200,169,237,158,268,159,187,220,226,249,161,160,249,161,264,162,163,217,172,191,164,170,165,175,182,235,180,248,243,166,167,209,231,234,270,168,169,205,195,200,237,172,217,214,170,191,255,258,256,224,263,171,228,172,217,214,191,251,173,232,174,250,175,182,189,197,176,230,177,178,188,240,192,179,235,180,181,182,183,252,222,184,204,272,189,215,200,185,186,208,187,220,226,223,188,240,192,222,204,272,189,196,190,217,191,240,192,193,202,194,205,195,200,237,196,197,230,198,212,260,216,221,245,199,215,200,205,237,254,201,203,202,254,203,222,204,272,205,237,257,206,234,207,208,209,231,210,262,211,259,212,260,216,221,213,217,214,215,260,216,221,217,256,244,218,219,220,271,226,260,221,222,272,223,240,224,263,225,271,226,227,228,245,229,230,231,232,250,235,257,233,269,234,270,235,236,237,238,242,239,240,241,242,248,243,244,245,246,247,248,249,250,251,252,253,254,255,258,256,257,269,258,259,261,260,261,262,263,264,265,266,266,267,268,269,270,271,272],\"start\":[0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,4,4,4,4,4,4,5,5,5,5,5,5,6,6,6,6,6,6,6,7,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,11,11,11,12,12,12,12,12,12,12,13,13,13,13,13,13,13,14,14,14,15,16,16,16,16,16,17,17,17,17,17,17,18,18,18,19,20,20,20,20,21,21,21,21,21,21,21,22,22,23,23,24,24,24,24,24,25,25,25,25,25,25,26,26,26,26,26,26,26,26,27,27,28,28,28,28,28,28,28,29,29,29,29,30,30,30,30,30,30,30,31,31,31,31,32,32,33,33,33,33,33,34,35,35,35,35,35,35,36,36,36,36,36,36,37,37,37,37,37,38,38,38,39,39,39,39,39,39,39,39,40,40,40,41,41,41,41,41,41,42,42,42,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,47,47,47,48,48,48,48,48,48,49,49,50,50,50,50,50,50,50,51,51,51,51,51,51,51,51,51,51,51,51,52,52,52,52,52,53,53,53,53,53,54,54,55,55,55,55,56,56,57,57,57,57,57,58,58,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,62,62,63,63,64,64,64,65,65,65,65,65,66,66,66,67,67,67,67,68,68,68,68,69,69,69,69,70,70,70,70,70,70,71,71,71,71,71,71,71,72,72,72,72,72,73,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,77,77,77,77,78,78,78,79,79,79,79,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,81,81,82,82,82,82,82,83,83,83,84,85,85,85,85,85,85,85,86,87,87,87,87,88,88,88,88,89,89,89,89,90,90,90,90,90,90,91,91,91,91,92,92,92,92,92,93,93,93,93,94,94,94,94,94,95,95,95,95,96,96,96,96,96,96,96,97,97,97,98,98,98,98,98,98,98,98,99,100,100,101,101,101,101,101,102,102,103,103,103,103,103,103,104,104,105,105,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,107,107,107,108,108,108,108,109,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,111,112,112,112,112,112,112,112,113,114,114,114,114,115,115,115,115,115,116,116,116,116,117,117,117,117,117,118,119,119,119,120,120,120,120,120,120,121,121,122,122,122,122,123,124,124,124,124,124,125,125,125,125,126,126,126,126,127,127,127,128,129,130,131,131,132,132,132,132,133,133,133,133,134,134,135,135,135,136,136,136,136,137,137,137,137,138,138,138,138,138,138,139,139,139,139,139,139,140,140,140,140,140,140,140,141,141,141,141,141,142,142,142,143,144,144,144,144,145,146,146,147,147,147,147,147,148,148,148,149,149,149,150,150,150,150,151,151,152,152,152,153,153,154,155,155,155,156,156,156,156,156,156,156,157,157,157,157,157,157,158,158,159,159,159,159,160,160,160,161,161,162,162,163,164,164,164,164,164,165,165,165,165,165,166,166,166,167,167,167,168,168,168,169,169,169,169,169,170,170,170,170,170,170,170,170,170,170,171,171,172,172,172,172,173,173,174,174,174,175,175,175,176,176,176,177,178,179,179,179,179,180,180,181,182,183,183,184,184,184,184,184,185,185,185,186,186,187,187,187,188,188,188,188,189,189,189,189,189,190,191,191,192,192,193,194,194,195,195,195,195,196,197,197,198,198,198,198,198,199,199,200,200,200,200,201,201,201,202,203,203,204,204,204,205,205,206,206,207,207,208,209,209,210,210,211,211,212,212,212,212,213,214,214,215,216,216,216,217,217,218,218,219,220,220,220,221,221,222,222,223,223,224,224,225,226,226,227,228,229,229,230,231,232,232,232,233,233,233,234,234,235,236,237,238,238,239,240,241,242,243,243,244,245,246,247,248,249,250,251,252,253,254,255,255,256,257,257,258,259,259,260,261,262,263,264,265,265,266,267,268,269,270,271,272]},\"selected\":{\"id\":\"42a42ccb-1baf-45a9-b61a-62fbf268aca2\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"75e550f1-b8ba-4947-9b66-1a61a4297085\",\"type\":\"UnionRenderers\"}},\"id\":\"bbb56e44-b995-4ced-8489-0772a771458d\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"fill_color\":{\"value\":\"#30a2da\"},\"size\":{\"units\":\"screen\",\"value\":15}},\"id\":\"371d5a5e-c8c1-4b09-a9eb-763c09b34836\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"63d9fce1-f195-4a01-b921-cffb2e6b6c29\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"42a42ccb-1baf-45a9-b61a-62fbf268aca2\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"75e550f1-b8ba-4947-9b66-1a61a4297085\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"callback\":null,\"end\":1.2,\"reset_end\":1.2,\"reset_start\":-1.2,\"start\":-1.2},\"id\":\"bf90f75a-1e70-49bb-a14c-a757c293ff1f\",\"type\":\"Range1d\"},{\"attributes\":{\"callback\":null,\"renderers\":[{\"id\":\"88a009c8-7972-4cc9-b4d4-ba184924db72\",\"type\":\"GraphRenderer\"}],\"tooltips\":[[\"index\",\"@{index_hover}\"]]},\"id\":\"ae79d6ea-4e92-43ac-8b7e-a70145d7825f\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"d0fd27fc-13a3-4a6a-bdff-ee4db9843c74\",\"type\":\"NodesAndLinkedEdges\"},{\"attributes\":{\"callback\":null,\"end\":1.2,\"reset_end\":1.2,\"reset_start\":-1.2,\"start\":-1.2},\"id\":\"df183950-7da2-4148-ab49-daa718432d05\",\"type\":\"Range1d\"},{\"attributes\":{\"below\":[{\"id\":\"bcc10097-8db2-48f3-87bb-aeda6d3350f3\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"2d3857e1-80a3-4a30-aa0a-c1edc1ce8363\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":500,\"plot_width\":900,\"renderers\":[{\"id\":\"bcc10097-8db2-48f3-87bb-aeda6d3350f3\",\"type\":\"LinearAxis\"},{\"id\":\"4808ed54-6d69-40df-925c-b63aed37d141\",\"type\":\"Grid\"},{\"id\":\"2d3857e1-80a3-4a30-aa0a-c1edc1ce8363\",\"type\":\"LinearAxis\"},{\"id\":\"4baf5837-1751-4580-85de-5a97fbfd10c0\",\"type\":\"Grid\"},{\"id\":\"c7efe068-6fca-4511-a914-543e48206493\",\"type\":\"BoxAnnotation\"},{\"id\":\"88a009c8-7972-4cc9-b4d4-ba184924db72\",\"type\":\"GraphRenderer\"}],\"title\":{\"id\":\"f482d6f9-b066-496b-8174-46f027b54db3\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"6f038409-839b-4ce5-a956-4e0e76f66d74\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"bf90f75a-1e70-49bb-a14c-a757c293ff1f\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"892ecc0f-776e-4a0a-a972-a4dce5e530c7\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"df183950-7da2-4148-ab49-daa718432d05\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"f54147b7-ad67-4926-9b96-330ac472c2c0\",\"type\":\"LinearScale\"}},\"id\":\"8ba589bf-b22d-45b0-9705-0d98782561cd\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"callback\":null,\"data\":{\"index\":{\"__ndarray__\":\"AAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAAAmAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAAAFgAAABZAAAAWgAAAFsAAABcAAAAXQAAAF4AAABfAAAAYAAAAGEAAABiAAAAYwAAAGQAAABlAAAAZgAAAGcAAABoAAAAaQAAAGoAAABrAAAAbAAAAG0AAABuAAAAbwAAAHAAAABxAAAAcgAAAHMAAAB0AAAAdQAAAHYAAAB3AAAAeAAAAHkAAAB6AAAAewAAAHwAAAB9AAAAfgAAAH8AAACAAAAAgQAAAIIAAACDAAAAhAAAAIUAAACGAAAAhwAAAIgAAACJAAAAigAAAIsAAACMAAAAjQAAAI4AAACPAAAAkAAAAJEAAACSAAAAkwAAAJQAAACVAAAAlgAAAJcAAACYAAAAmQAAAJoAAACbAAAAnAAAAJ0AAACeAAAAnwAAAKAAAAChAAAAogAAAKMAAACkAAAApQAAAKYAAACnAAAAqAAAAKkAAACqAAAAqwAAAKwAAACtAAAArgAAAK8AAACwAAAAsQAAALIAAACzAAAAtAAAALUAAAC2AAAAtwAAALgAAAC5AAAAugAAALsAAAC8AAAAvQAAAL4AAAC/AAAAwAAAAMEAAADCAAAAwwAAAMQAAADFAAAAxgAAAMcAAADIAAAAyQAAAMoAAADLAAAAzAAAAM0AAADOAAAAzwAAANAAAADRAAAA0gAAANMAAADUAAAA1QAAANYAAADXAAAA2AAAANkAAADaAAAA2wAAANwAAADdAAAA3gAAAN8AAADgAAAA4QAAAOIAAADjAAAA5AAAAOUAAADmAAAA5wAAAOgAAADpAAAA6gAAAOsAAADsAAAA7QAAAO4AAADvAAAA8AAAAPEAAADyAAAA8wAAAPQAAAD1AAAA9gAAAPcAAAD4AAAA+QAAAPoAAAD7AAAA/AAAAP0AAAD+AAAA/wAAAAABAAABAQAAAgEAAAMBAAAEAQAABQEAAAYBAAAHAQAACAEAAAkBAAAKAQAACwEAAAwBAAANAQAADgEAAA8BAAAQAQAA\",\"dtype\":\"int32\",\"shape\":[273]},\"index_hover\":[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"22\",\"23\",\"24\",\"25\",\"26\",\"27\",\"28\",\"29\",\"30\",\"31\",\"32\",\"33\",\"34\",\"35\",\"36\",\"37\",\"38\",\"39\",\"40\",\"41\",\"42\",\"43\",\"44\",\"45\",\"46\",\"47\",\"48\",\"49\",\"50\",\"51\",\"52\",\"53\",\"54\",\"55\",\"56\",\"57\",\"58\",\"59\",\"60\",\"61\",\"62\",\"63\",\"64\",\"65\",\"66\",\"67\",\"68\",\"69\",\"70\",\"71\",\"72\",\"73\",\"74\",\"75\",\"76\",\"77\",\"78\",\"79\",\"80\",\"81\",\"82\",\"83\",\"84\",\"85\",\"86\",\"87\",\"88\",\"89\",\"90\",\"91\",\"92\",\"93\",\"94\",\"95\",\"96\",\"97\",\"98\",\"99\",\"100\",\"101\",\"102\",\"103\",\"104\",\"105\",\"106\",\"107\",\"108\",\"109\",\"110\",\"111\",\"112\",\"113\",\"114\",\"115\",\"116\",\"117\",\"118\",\"119\",\"120\",\"121\",\"122\",\"123\",\"124\",\"125\",\"126\",\"127\",\"128\",\"129\",\"130\",\"131\",\"132\",\"133\",\"134\",\"135\",\"136\",\"137\",\"138\",\"139\",\"140\",\"141\",\"142\",\"143\",\"144\",\"145\",\"146\",\"147\",\"148\",\"149\",\"150\",\"151\",\"152\",\"153\",\"154\",\"155\",\"156\",\"157\",\"158\",\"159\",\"160\",\"161\",\"162\",\"163\",\"164\",\"165\",\"166\",\"167\",\"168\",\"169\",\"170\",\"171\",\"172\",\"173\",\"174\",\"175\",\"176\",\"177\",\"178\",\"179\",\"180\",\"181\",\"182\",\"183\",\"184\",\"185\",\"186\",\"187\",\"188\",\"189\",\"190\",\"191\",\"192\",\"193\",\"194\",\"195\",\"196\",\"197\",\"198\",\"199\",\"200\",\"201\",\"202\",\"203\",\"204\",\"205\",\"206\",\"207\",\"208\",\"209\",\"210\",\"211\",\"212\",\"213\",\"214\",\"215\",\"216\",\"217\",\"218\",\"219\",\"220\",\"221\",\"222\",\"223\",\"224\",\"225\",\"226\",\"227\",\"228\",\"229\",\"230\",\"231\",\"232\",\"233\",\"234\",\"235\",\"236\",\"237\",\"238\",\"239\",\"240\",\"241\",\"242\",\"243\",\"244\",\"245\",\"246\",\"247\",\"248\",\"249\",\"250\",\"251\",\"252\",\"253\",\"254\",\"255\",\"256\",\"257\",\"258\",\"259\",\"260\",\"261\",\"262\",\"263\",\"264\",\"265\",\"266\",\"267\",\"268\",\"269\",\"270\",\"271\",\"272\"]},\"selected\":{\"id\":\"fd314d92-c289-494d-b75f-92f1653ebf7f\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"63d9fce1-f195-4a01-b921-cffb2e6b6c29\",\"type\":\"UnionRenderers\"}},\"id\":\"85da1f4a-67cd-495c-8ca4-2ee68bfd77e2\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"f482d6f9-b066-496b-8174-46f027b54db3\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"892ecc0f-776e-4a0a-a972-a4dce5e530c7\",\"type\":\"LinearScale\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"ae79d6ea-4e92-43ac-8b7e-a70145d7825f\",\"type\":\"HoverTool\"},{\"id\":\"5b381db4-5382-4b3c-8cc5-5f9387f9d357\",\"type\":\"SaveTool\"},{\"id\":\"b3de9ca7-eb9c-4f70-8110-dcd351875370\",\"type\":\"PanTool\"},{\"id\":\"af726630-7926-4f0b-937c-1c209618a729\",\"type\":\"WheelZoomTool\"},{\"id\":\"d1ccc379-f2a8-481d-b44a-d5bc0c9ba640\",\"type\":\"BoxZoomTool\"},{\"id\":\"e408a95a-5e9f-4a3f-a23d-38a2e878ec46\",\"type\":\"ResetTool\"},{\"id\":\"9ad1c03d-3621-49e2-be1d-d97ea820169f\",\"type\":\"TapTool\"}]},\"id\":\"6f038409-839b-4ce5-a956-4e0e76f66d74\",\"type\":\"Toolbar\"}],\"root_ids\":[\"8ba589bf-b22d-45b0-9705-0d98782561cd\"]},\"title\":\"Bokeh Application\",\"version\":\"0.13.0\"}};\n", " var render_items = [{\"docid\":\"84a36d3b-b96c-4d32-b0a5-c55cb36a2939\",\"roots\":{\"8ba589bf-b22d-45b0-9705-0d98782561cd\":\"5d804ea7-8bf9-4c7e-aa35-80001fb6a93c\"}}];\n", " root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", "\n", " }\n", " if (root.Bokeh !== undefined) {\n", " embed_document(root);\n", " } else {\n", " var attempts = 0;\n", " var timer = setInterval(function(root) {\n", " if (root.Bokeh !== undefined) {\n", " embed_document(root);\n", " clearInterval(timer);\n", " }\n", " attempts++;\n", " if (attempts > 100) {\n", " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\")\n", " clearInterval(timer);\n", " }\n", " }, 10, root)\n", " }\n", "})(window);" ], "application/vnd.holoviews_exec.v0+json": "", "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "
\n", "
" ], "text/plain": [ ":Graph [start,end]" ] }, "execution_count": 126, "metadata": { "application/vnd.holoviews_exec.v0+json": { "id": "8ba589bf-b22d-45b0-9705-0d98782561cd" } }, "output_type": "execute_result" } ], "source": [ "%%opts Graph [width=900, height=500]\n", "graph = hv.Graph.from_networkx(G, nx.spring_layout, iterations=10).redim.range(x=(-1.2, 1.2), y=(-1.2, 1.2))\n", "graph" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's add some labels: see here https://github.com/ioam/holoviews/issues/2402" ] }, { "cell_type": "code", "execution_count": 127, "metadata": {}, "outputs": [], "source": [ "labels = hv.Labels({('x', 'y'): graph.nodes.array([0, 1]), 'text': list(inverse_mapping.values())}, \n", " ['x', 'y'], \n", " 'text')" ] }, { "cell_type": "code", "execution_count": 128, "metadata": {}, "outputs": [ { "data": { "application/javascript": [ "\n", "// Ugly hack - see #2574 for more information\n", "if (!(document.getElementById('e4842608-6eb3-4154-8d11-87d5da351766')) && !(document.getElementById('_anim_imgNone'))) {\n", " console.log(\"Creating DOM nodes dynamically for assumed nbconvert export. To generate clean HTML output set HV_DOC_HTML as an environment variable.\")\n", " var htmlObject = document.createElement('div');\n", " htmlObject.innerHTML = `
\n", "\n", "\n", "\n", "\n", "\n", "
\n", "
`;\n", " var scriptTags = document.getElementsByTagName('script');\n", " var parentTag = scriptTags[scriptTags.length-1].parentNode;\n", " parentTag.append(htmlObject)\n", "}\n", "(function(root) {\n", " function embed_document(root) {\n", " \n", " var docs_json = {\"f0a14139-e02a-4bae-b627-f12e47871097\":{\"roots\":{\"references\":[{\"attributes\":{\"fill_color\":{\"value\":\"#30a2da\"},\"size\":{\"units\":\"screen\",\"value\":15}},\"id\":\"81f0e446-8a04-4da3-a5d1-deb5598ec9f6\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"53a71385-c201-4d87-8e22-ef0f5cad9a34\",\"type\":\"NodesAndLinkedEdges\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#30a2da\"},\"line_alpha\":{\"value\":0.2},\"size\":{\"units\":\"screen\",\"value\":15}},\"id\":\"44647615-f491-417c-9d61-832023be7794\",\"type\":\"Circle\"},{\"attributes\":{\"fill_color\":{\"value\":\"limegreen\"},\"size\":{\"units\":\"screen\",\"value\":15}},\"id\":\"cb187290-80a9-45fa-8435-15a6aac1f9f3\",\"type\":\"Circle\"},{\"attributes\":{\"data_source\":{\"id\":\"86c4d006-14b8-4876-aaff-90a477c81b39\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"81f0e446-8a04-4da3-a5d1-deb5598ec9f6\",\"type\":\"Circle\"},\"hover_glyph\":{\"id\":\"cb187290-80a9-45fa-8435-15a6aac1f9f3\",\"type\":\"Circle\"},\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"44647615-f491-417c-9d61-832023be7794\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"7558233d-3289-4376-903b-e21f88159853\",\"type\":\"CDSView\"}},\"id\":\"a0a27532-d909-46de-aa56-0064bd5882fb\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis_label\":\"start\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"a059deec-a972-49f5-bfc2-a54f19e96520\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"e4842608-6eb3-4154-8d11-87d5da351766\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1b2fd551-f55e-4be3-8861-07c391434cc8\",\"type\":\"BasicTicker\"}},\"id\":\"72a4fa78-d8c2-4d60-a814-4f5b399ff01c\",\"type\":\"LinearAxis\"},{\"attributes\":{\"text_align\":\"center\",\"text_baseline\":\"middle\",\"text_color\":{\"value\":\"black\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"700f4953-86fc-4bac-b3a1-28e728030f0e\",\"type\":\"Text\"},{\"attributes\":{},\"id\":\"b4c44e5f-7ef8-4777-a5f6-300e0305aa26\",\"type\":\"ResetTool\"},{\"attributes\":{\"text_align\":\"center\",\"text_alpha\":{\"value\":0.1},\"text_baseline\":\"middle\",\"text_color\":{\"value\":\"black\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"04191467-97aa-4dc7-92fb-d73c2faf3cbd\",\"type\":\"Text\"},{\"attributes\":{\"source\":{\"id\":\"86c4d006-14b8-4876-aaff-90a477c81b39\",\"type\":\"ColumnDataSource\"}},\"id\":\"7558233d-3289-4376-903b-e21f88159853\",\"type\":\"CDSView\"},{\"attributes\":{\"line_width\":{\"value\":2}},\"id\":\"4e7b2370-59af-4b73-a62a-ecb2802a8751\",\"type\":\"MultiLine\"},{\"attributes\":{},\"id\":\"953ff583-9a9e-4c64-a306-d138c73696fa\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"62d5a66b-147a-456c-8c71-a8258e5d8818\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_alpha\":{\"value\":0.2},\"line_width\":{\"value\":2}},\"id\":\"dcafa025-8946-4bb6-9284-cd243cd5dd06\",\"type\":\"MultiLine\"},{\"attributes\":{\"edge_renderer\":{\"id\":\"1be284a8-d3ce-4cab-b65c-1fa713d18c6c\",\"type\":\"GlyphRenderer\"},\"inspection_policy\":{\"id\":\"4579eb3e-729c-4df3-bcd4-ef08fe439ef1\",\"type\":\"NodesAndLinkedEdges\"},\"layout_provider\":{\"id\":\"4ee2508f-9613-4e73-9ab3-8635785b0ccc\",\"type\":\"StaticLayoutProvider\"},\"node_renderer\":{\"id\":\"a0a27532-d909-46de-aa56-0064bd5882fb\",\"type\":\"GlyphRenderer\"},\"selection_policy\":{\"id\":\"53a71385-c201-4d87-8e22-ef0f5cad9a34\",\"type\":\"NodesAndLinkedEdges\"}},\"id\":\"05d6f72f-312d-4e0b-84d2-864d8834c147\",\"type\":\"GraphRenderer\"},{\"attributes\":{},\"id\":\"be95560d-dffe-4e1e-8327-47af2a88cf2b\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"source\":{\"id\":\"2cd4f9a1-4e33-4cfd-867e-63e507763606\",\"type\":\"ColumnDataSource\"}},\"id\":\"768de4a7-e3b8-421f-950f-3b74e54663d5\",\"type\":\"CDSView\"},{\"attributes\":{\"line_color\":{\"value\":\"limegreen\"},\"line_width\":{\"value\":2}},\"id\":\"add7e819-aaf7-4db1-a601-a6bd01a7026b\",\"type\":\"MultiLine\"},{\"attributes\":{},\"id\":\"025d4d07-dfa3-4a44-b6b4-5ca7e142978e\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"00da0b02-1b29-43af-9228-dfbda3887848\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"4e7b2370-59af-4b73-a62a-ecb2802a8751\",\"type\":\"MultiLine\"},\"hover_glyph\":{\"id\":\"add7e819-aaf7-4db1-a601-a6bd01a7026b\",\"type\":\"MultiLine\"},\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"dcafa025-8946-4bb6-9284-cd243cd5dd06\",\"type\":\"MultiLine\"},\"selection_glyph\":null,\"view\":{\"id\":\"e00a231b-d7e2-457e-a051-eb11cc3b6f0a\",\"type\":\"CDSView\"}},\"id\":\"1be284a8-d3ce-4cab-b65c-1fa713d18c6c\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"callback\":null,\"renderers\":[{\"id\":\"05d6f72f-312d-4e0b-84d2-864d8834c147\",\"type\":\"GraphRenderer\"}],\"tooltips\":[[\"index\",\"@{index_hover}\"]]},\"id\":\"84eee62b-35a2-4448-9172-87423a4b4322\",\"type\":\"HoverTool\"},{\"attributes\":{\"callback\":null,\"end\":1.2,\"reset_end\":1.2,\"reset_start\":-1.2,\"start\":-1.2},\"id\":\"c3c1ada4-11e5-4b62-a45b-96b552729c39\",\"type\":\"Range1d\"},{\"attributes\":{\"below\":[{\"id\":\"72a4fa78-d8c2-4d60-a814-4f5b399ff01c\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"10c70322-176f-41cf-8991-0a4f78bb19b9\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":500,\"plot_width\":900,\"renderers\":[{\"id\":\"72a4fa78-d8c2-4d60-a814-4f5b399ff01c\",\"type\":\"LinearAxis\"},{\"id\":\"e6417feb-2cfd-4dd0-bade-7e19b1612edc\",\"type\":\"Grid\"},{\"id\":\"10c70322-176f-41cf-8991-0a4f78bb19b9\",\"type\":\"LinearAxis\"},{\"id\":\"09fabe1c-cbb8-4ca4-a89b-106bcdc64360\",\"type\":\"Grid\"},{\"id\":\"c2b95481-a8ab-4f21-b7c2-154f2f0576bb\",\"type\":\"BoxAnnotation\"},{\"id\":\"05d6f72f-312d-4e0b-84d2-864d8834c147\",\"type\":\"GraphRenderer\"},{\"id\":\"17462133-dd7f-405e-801c-06756fc164dd\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"545e7b78-f0eb-4018-b405-7e26e1e78724\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"4744d8dc-9cf8-4b49-808f-58220547984e\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"c3c1ada4-11e5-4b62-a45b-96b552729c39\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"025d4d07-dfa3-4a44-b6b4-5ca7e142978e\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"3f719a0f-f28c-45a8-b2ac-4084f499d4cb\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"d20d69bc-11fa-4fb4-94e9-a40d8eca40d6\",\"type\":\"LinearScale\"}},\"id\":\"e4842608-6eb3-4154-8d11-87d5da351766\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"d20d69bc-11fa-4fb4-94e9-a40d8eca40d6\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"00da0b02-1b29-43af-9228-dfbda3887848\",\"type\":\"ColumnDataSource\"}},\"id\":\"e00a231b-d7e2-457e-a051-eb11cc3b6f0a\",\"type\":\"CDSView\"},{\"attributes\":{\"callback\":null,\"end\":1.2,\"reset_end\":1.2,\"reset_start\":-1.2,\"start\":-1.2},\"id\":\"3f719a0f-f28c-45a8-b2ac-4084f499d4cb\",\"type\":\"Range1d\"},{\"attributes\":{},\"id\":\"3883120c-1948-490f-9b04-2385bd257c9e\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"44658684-6080-4f5b-a5de-b98dfecdc359\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"4579eb3e-729c-4df3-bcd4-ef08fe439ef1\",\"type\":\"NodesAndLinkedEdges\"},{\"attributes\":{},\"id\":\"9225a229-d778-44b6-a226-b51ec2e323ce\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"callback\":null},\"id\":\"57c12751-cc70-4195-85ab-906aea637fe3\",\"type\":\"TapTool\"},{\"attributes\":{\"graph_layout\":{\"0\":[-0.07542740460587194,-0.05293176890235667],\"1\":[-0.01401181886325665,-0.0032796664465441516],\"10\":[0.31508882381219916,-0.06314440865346782],\"100\":[-0.4091662151140679,0.49410311769852805],\"101\":[0.20391293517112086,-0.3495708170032913],\"102\":[-0.0851696292833062,0.3090851728285288],\"103\":[0.0013472105483672032,-0.5169452087923142],\"104\":[0.1806331577312349,0.40383717563507027],\"105\":[-0.6884772809558108,-0.757746000891964],\"106\":[-0.024377738753075005,0.045482504850204504],\"107\":[0.5788710857610901,0.6405779987951538],\"108\":[0.19089408517901116,-0.31404547465490157],\"109\":[0.5766494172523194,-0.827198249187151],\"11\":[-0.2604474281068743,0.48891144930290575],\"110\":[0.03635184454438324,0.2674548726426036],\"111\":[-0.2287109979220899,0.30204117114618395],\"112\":[0.2755332576681155,-0.013291723823633491],\"113\":[0.53973936025514,0.16811158199911078],\"114\":[-0.04871469944209358,0.317103771452888],\"115\":[0.017539603649029865,0.161622749993317],\"116\":[-0.0076560457428626475,0.1452563505071304],\"117\":[-0.04710007643792296,-0.3192644965861455],\"118\":[0.04380538593409162,-0.792462246593983],\"119\":[0.21909429946452902,-0.5118412397612021],\"12\":[0.40605424731577544,0.32279352140158724],\"120\":[0.24121639186239846,0.01851346280932747],\"121\":[0.36403553589224574,-0.14405179106882215],\"122\":[0.008413296773293801,-0.019411823316388202],\"123\":[-0.39088570205383494,0.5530867478243969],\"124\":[0.055123341534213985,0.07383322175703302],\"125\":[0.01969516153941398,-0.16835883620624556],\"126\":[-0.12450339247736816,0.22136227419735222],\"127\":[-0.17976837393584463,-0.11723486318082788],\"128\":[-0.03847538736642568,0.7635507796560894],\"129\":[0.6431072563437042,-0.47966238401367767],\"13\":[0.4520913715913662,0.05716276954338695],\"130\":[0.37643204249764156,-0.19284753072735428],\"131\":[-0.39938407430692247,-0.18568331175852548],\"132\":[0.012027946848916981,0.27200538135619],\"133\":[0.40612555383235577,0.05169427691834376],\"134\":[-0.07321320130010504,0.12565902835666512],\"135\":[-0.26785308825762133,-0.08382769689876546],\"136\":[-0.05788760260215606,-0.5327306383486349],\"137\":[-0.2092923780770023,-0.22819045792013012],\"138\":[-0.09504913866852768,-0.2594901251304192],\"139\":[0.0835465786730671,0.3396171596696227],\"14\":[0.47877037755720786,0.07042347113739242],\"140\":[0.14319745067411394,-0.0943399884853251],\"141\":[-0.3387802062189783,0.09194869298422942],\"142\":[0.14927487534846534,-0.5629195759318014],\"143\":[-0.04754962393414997,0.10551754375973875],\"144\":[-0.2264602379566738,0.21670133949560696],\"145\":[-0.22290260627624964,0.4999617404451373],\"146\":[-0.28094562364592246,-0.04387789410577941],\"147\":[-0.1513480448094458,-0.45466719139643835],\"148\":[0.11283260306730475,0.4482215800612131],\"149\":[-0.11672102565795238,0.273978455362371],\"15\":[-0.03323181106772159,-0.8619782115522368],\"150\":[-0.1906476678907417,-0.4226818745370395],\"151\":[-0.09391067351952603,0.3054792612972142],\"152\":[-0.0699715967259981,0.17520484505579734],\"153\":[0.030134855133450558,-0.12072137277453036],\"154\":[-0.2216110637434136,-0.1788484309725121],\"155\":[0.24407963807976407,-0.35548434968582493],\"156\":[0.06573502740586935,-0.03580279950153988],\"157\":[0.06081280968554299,-0.43959149983196294],\"158\":[0.6437850201215641,0.6525036937403386],\"159\":[0.14457855774045672,0.015224389376395168],\"16\":[-0.0023042441886279965,0.7734864114609901],\"160\":[-0.04534639855465433,-0.5211106296233429],\"161\":[-0.047486677164333545,-0.4991561889754703],\"162\":[0.08162164275968022,-0.3211391130981226],\"163\":[0.35346430529004064,-0.11222034127812253],\"164\":[0.09097484770996271,0.2765695644601645],\"165\":[-0.2657538217117163,-0.01135707139573427],\"166\":[-0.3465633177890238,-0.35278303555042445],\"167\":[0.37530242593319035,0.206655829546797],\"168\":[-0.1215766537094807,-0.4409747505167257],\"169\":[0.1057515135376252,-0.4181296899716454],\"17\":[-0.18023228106835412,-0.21267664235774755],\"170\":[0.03408128412401734,0.14440069885452797],\"171\":[0.5341036049492742,0.36078102463754724],\"172\":[0.11310939288256178,0.28817365805184797],\"173\":[-0.04870992083622101,0.5488635392325381],\"174\":[-0.1345595288419422,-0.11324984095187776],\"175\":[-0.1693210571222202,-0.1116616312173543],\"176\":[-0.34424288893485666,-0.05695915645470988],\"177\":[-0.22028814597790752,0.740806301732572],\"178\":[0.07735947332269011,0.5202207074861342],\"179\":[0.42956590814282736,-0.031810520825453686],\"18\":[-0.6440732802830723,0.4080796556353484],\"180\":[-0.37644116854784127,0.02212134409030419],\"181\":[-0.7241568261628333,-0.5549106475073116],\"182\":[-0.28518485496471563,-0.13359472103225262],\"183\":[0.1656124194055881,-0.16613314463703302],\"184\":[0.17409854754787604,-0.0487673601216762],\"185\":[-0.1498147995696428,-0.15218042180660382],\"186\":[0.2286179848363484,-0.3031979433094161],\"187\":[0.09779312441020879,0.06811259895207043],\"188\":[0.3248385008326445,0.060199333036621096],\"189\":[0.028721978876523745,-0.07103851725082827],\"19\":[-0.2379668806650481,-0.8354669604057601],\"190\":[-0.45368923869080724,0.28004907867642864],\"191\":[0.11120697748001175,0.3479170339358285],\"192\":[0.31779710064751665,0.018141354930954697],\"193\":[0.030690121515937203,-0.7820408126693909],\"194\":[-0.7666280776136645,-0.10569563069491673],\"195\":[0.07119726538365821,-0.3499750893032369],\"196\":[0.02574255118769094,-0.041996370050811214],\"197\":[-0.14735849130734294,0.0056497891228726],\"198\":[0.3384561163156498,0.37891126629780436],\"199\":[-0.17275069535855225,0.009752246645946623],\"2\":[-0.2690211391872447,-0.3158269073084741],\"20\":[-0.6870074079600963,-0.01898736337163963],\"200\":[-0.045560866452106566,-0.305334654610793],\"201\":[-0.8700870391004594,0.010593465681104752],\"202\":[-0.6501465822919945,-0.09341465863537567],\"203\":[-0.739469055138763,0.03653373580017489],\"204\":[0.1264796434107123,-0.11969750332183857],\"205\":[0.1026419319685202,-0.3115848818013787],\"206\":[0.39696334222605345,-0.23307544363348967],\"207\":[-0.31925616100684845,-0.5655080550970679],\"208\":[0.15790880005118746,-0.23462664747192757],\"209\":[0.24157502366239186,0.19618677633114875],\"21\":[0.09633214567751928,-0.5783181850765242],\"210\":[0.044920988769539885,-0.4158844444146287],\"211\":[0.24099204235303265,-0.09137444528134724],\"212\":[0.5070465240013441,0.4902229571449742],\"213\":[0.5679139622572431,-0.8652792390471651],\"214\":[0.1564741191025257,0.21008603847363],\"215\":[-0.1612912038307767,-0.2525510090230583],\"216\":[0.44900035090816015,0.45785630879913763],\"217\":[0.15070617193229668,0.2773050385283033],\"218\":[-0.5175600660131431,-0.014292158627494677],\"219\":[0.5469016381732736,-0.07550372991352666],\"22\":[0.6427935342209966,-0.009950798633403691],\"220\":[0.2316577831382189,0.03110363269427635],\"221\":[0.5031465924377158,0.46173362862167033],\"222\":[0.0738263291712593,-0.07713043862324247],\"223\":[0.4627183749461693,0.015048384940555187],\"224\":[0.11238445699533557,0.24845420020239395],\"225\":[0.12890535935642877,0.24932062815146325],\"226\":[0.19535005224934907,0.13410255211437688],\"227\":[-0.32465512712633443,-0.23436014195203025],\"228\":[0.4254262076881754,0.2898263452261204],\"229\":[-0.1787414297756556,-0.09199389198886707],\"23\":[0.43589514833196913,-0.092747545267408],\"230\":[-0.20862372009445385,-0.0761529555308223],\"231\":[0.31456971916058635,0.23107985750850601],\"232\":[-0.23719539442956136,0.006068070777173542],\"233\":[0.5568595766524144,-0.08369084704264865],\"234\":[-0.17917910774970214,-0.4606385280318581],\"235\":[-0.34274196607707136,0.07491455778424563],\"236\":[-0.356187754294609,0.6791514275091146],\"237\":[0.05133230453758149,-0.3986308385944572],\"238\":[-0.2405230203962997,0.21094261352651517],\"239\":[0.771771784952702,-0.33639749522477874],\"24\":[0.39112970958022963,0.23228369782637426],\"240\":[0.40703051467445034,0.02049061199319014],\"241\":[0.19726300800971558,-0.8384759866121657],\"242\":[-0.20354798063400037,0.21508576543620128],\"243\":[-0.34081861749603526,-0.3273845714930367],\"244\":[-0.5430771031289824,0.05525574488809904],\"245\":[-0.16629113207166457,-0.025504725551889963],\"246\":[-0.806329232368279,-0.885870275974094],\"247\":[-0.23997093798749028,-0.027128488910124805],\"248\":[-0.31091160883338526,-0.382056565003297],\"249\":[-0.017727228226456216,-0.5194104738486702],\"25\":[-0.2941785185361482,-0.0452543588240298],\"250\":[-0.14636086523764322,-0.08849773982759547],\"251\":[-0.07108239769440577,0.3971037419307451],\"252\":[0.18118390416491792,-0.1385284600695578],\"253\":[0.06717718285046954,-0.12992526038653182],\"254\":[-0.823768779436418,-0.01727441801043354],\"255\":[-0.13999461873459185,0.21358100373604594],\"256\":[0.18783918112225623,0.28473480769322046],\"257\":[0.5522694199986772,-0.14165328587957143],\"258\":[-0.0971859279152728,0.217659295195844],\"259\":[0.18800851010556063,-0.03069299441113525],\"26\":[-0.13265733302972593,-0.46297020228348357],\"260\":[0.4322151819803984,0.30524086264075784],\"261\":[0.14651581919881432,-0.08764191560616315],\"262\":[0.1053357830467504,-0.4604642557792783],\"263\":[0.18609686485914803,0.28944788808956196],\"264\":[0.2385606640269734,-0.5150605380635752],\"265\":[0.018461819399045235,0.24924621517133969],\"266\":[0.03847232948778342,0.4203500110031902],\"267\":[-0.10092237751836824,0.2794173712815509],\"268\":[0.6718271183063151,0.6041928053948412],\"269\":[0.4431953810037072,0.014495564174118021],\"27\":[0.21496631880815711,-1.0],\"270\":[-0.176397332490132,-0.4440716269785125],\"271\":[0.3085355991708384,0.002680516345618184],\"272\":[0.1387509234379042,-0.051835980865742044],\"28\":[0.4305474271861704,0.08725929562626798],\"29\":[-0.34414411214758356,0.281332398363267],\"3\":[-0.1872513973792654,-0.24369070317728447],\"30\":[-0.015822366375109278,0.2988073464383154],\"31\":[0.051415676039680544,0.611921656878479],\"32\":[-0.09256907869698985,-0.7950071466604453],\"33\":[-0.15074639422633143,-0.19761800523335357],\"34\":[-0.8007699092112899,-0.40793549619040936],\"35\":[0.4432436927848956,-0.09374073651733035],\"36\":[0.004577585469249228,0.2763792046885798],\"37\":[-0.33663170166169365,-0.023120482817220633],\"38\":[0.18079739759710686,0.20905993980743728],\"39\":[-0.015491883790347707,0.13582767700769638],\"4\":[0.3576107337149499,0.0718961877998809],\"40\":[-0.2806096702938777,0.36947800319859286],\"41\":[-0.011067577827355653,-0.03833867772959484],\"42\":[-0.31335356107874923,0.3989391165927193],\"43\":[0.6116713941167734,-0.07368871470789083],\"44\":[0.4107242678333966,0.36942806319377974],\"45\":[0.12184696929792069,-0.589347655622286],\"46\":[-0.04449381504954621,-0.07530777754301779],\"47\":[0.10897586118275561,0.4083255880147514],\"48\":[-0.15376993793989888,0.05180674752353411],\"49\":[0.40141921575802775,0.41238729193635015],\"5\":[0.26620631097261815,0.10355599794266465],\"50\":[-0.2110208780821436,0.24851168825101885],\"51\":[0.18335993050313135,-0.062458873721601756],\"52\":[-0.10771573071431939,0.17175956567301745],\"53\":[0.5247172854052596,0.38630945364049224],\"54\":[-0.6811503060862357,0.39208037088857806],\"55\":[-0.7264240310809399,-0.028207300508090068],\"56\":[-0.3637923158334904,0.3993966316237121],\"57\":[0.07365185237550007,-0.5839006857520229],\"58\":[-0.43765545317597837,0.4336961092269068],\"59\":[0.11430352066571348,-0.2589791613826032],\"6\":[-0.335867689442503,-0.09325415808454061],\"60\":[-0.36899793478406484,0.06839337643850674],\"61\":[-0.26350131984802466,0.01323586257699047],\"62\":[-0.29465415997965305,0.4583291619108559],\"63\":[-0.2125239555524497,0.5717224221865814],\"64\":[-0.7904158738737438,-0.07369980194415321],\"65\":[-0.1523354606687943,0.054490485316714674],\"66\":[0.4463625174902603,-0.02415869349046457],\"67\":[-0.12735877435372592,0.6570647620289151],\"68\":[0.3342401166797355,0.20414709110621873],\"69\":[0.49499288035971883,0.397914814034447],\"7\":[-0.34116821371005246,-0.3885769090696481],\"70\":[0.19365589936700575,0.04933656780195412],\"71\":[-0.03236375151512984,0.16072623632934588],\"72\":[-0.13550537445567362,-0.19064136522800526],\"73\":[0.2083315923159092,0.9242037879074465],\"74\":[-0.0577739866718129,-0.3834219468386871],\"75\":[0.07546243349342135,-0.4532827101428219],\"76\":[-0.01879306431382615,0.573674052048431],\"77\":[-0.3090096975133776,-0.05776040119437863],\"78\":[-0.45400955765627393,0.12246056871784307],\"79\":[0.12269236645568367,-0.5622113500046356],\"8\":[0.3902576266401691,-0.16666449515773551],\"80\":[-0.14305433382630117,0.0448289926138756],\"81\":[-0.03094223145882144,0.7936687891966099],\"82\":[-0.3726506619926278,0.04054929130159364],\"83\":[0.049536102623611314,0.4499149134117852],\"84\":[-0.3975489674646851,0.8817365659646549],\"85\":[-0.0466250389055924,0.26672528456393435],\"86\":[0.6296786145187608,-0.14377248802373555],\"87\":[0.1301918299379802,0.3294243922961136],\"88\":[-0.14306507348344571,-0.055442414404022616],\"89\":[-0.4315307326388978,0.09067494144551212],\"9\":[0.2184346240849226,0.08320308942456776],\"90\":[-0.07139433129218745,0.24945582945602465],\"91\":[0.24335512719446598,-0.47192762864747695],\"92\":[-0.24337094091849387,-0.06869427281325363],\"93\":[-0.19242564971240245,0.04116375698986073],\"94\":[-0.2541457792475595,0.050712323388694934],\"95\":[-0.30106062393529154,-0.3543378847401284],\"96\":[0.03751428008664515,-0.39981710280049143],\"97\":[0.4734066852004751,0.36459739771686994],\"98\":[-0.10995484533054216,0.23626711180594998],\"99\":[-0.12205017025312505,0.3185108369428896]}},\"id\":\"4ee2508f-9613-4e73-9ab3-8635785b0ccc\",\"type\":\"StaticLayoutProvider\"},{\"attributes\":{\"callback\":null,\"data\":{\"text\":[\"Choy C. A.\",\"Pearson J. A.\",\"Allison C. E.\",\"Hogg A. H.\",\"Puleston C. O.\",\"Rud N.\",\"Rojas G.\",\"Enting I. G.\",\"Taylor D. L.\",\"Lipo C.\",\"O'Brien D. M.\",\"Gill GW\",\"Barde J.\",\"Haoa S.\",\"Langohr R.\",\"M\\u00e9traux A.\",\"Finney B. P.\",\"Niu M.\",\"Martinsson\\u2010Wallin H.\",\"Munz P. A.\",\"Spiegelhalter D.\",\"Herrscher E.\",\"Tremblay L.\",\"Hunt T.\",\"Sveinbjornsdottir A. E.\",\"Marticorena A.\",\"Nualart L. G.\",\"Klemmer K.\",\"Stevenson C. M.\",\"West E.\",\"Bruland G.\",\"Esh K. S.\",\"McClelland J. W.\",\"Francey R.\",\"Bender D. A.\",\"Nadeau M.\\u2010J.\",\"St. Louis D.\",\"Lo Y. \\u2013H.\",\"Nielsen J. M.\",\"Fry B.\",\"Rolett B.\",\"Isaakidou V.\",\"Hundtoft B.\",\"Grootes P.\",\"Kaplan D. M.\",\"Buckley H.\",\"Butler B. M.\",\"Lehman J.\",\"Hoen D. K.\",\"Polet C.\",\"Webb E. A.\",\"Larsen T.\",\"Yoneda M.\",\"Nieblas A.\\u2010E.\",\"Wallin P.\",\"Johnson B. J.\",\"Allen M. S.\",\"Valentin F.\",\"Dobney K.\",\"Mosher S. M.\",\"Howland M. R.\",\"Hebert C. E.\",\"Lipo C. P.\",\"Gregg J. W.\",\"Best N.\",\"Bradley C. J.\",\"Montoya J.\",\"Dudgeon J. V.\",\"Lynnerup N.\",\"Dubroca L.\",\"Salvatteci R.\",\"Hannides C. C. S.\",\"Zimmerman S. R. H.\",\"Morrison A. E.\",\"Nieuwoudt M.\",\"Beck J. W.\",\"Macko S.\",\"Roy S.\",\"Houlton B. Z.\",\"Hawkins S.\",\"Evershed R. P.\",\"Fuller B. T.\",\"Young S. M. M.\",\"Silfer J.\",\"DeNiro M. J.\",\"Tiedje J. M.\",\"Benner R.\",\"Brown T. A.\",\"Hunter\\u2010Anderson R. L.\",\"Evershed R.\",\"Penton C. R.\",\"Millaire J.\\u2010F.\",\"Wallsgrove N.\",\"Wallsgrove N. J.\",\"Ehleringer J. R.\",\"Trudinger C. M.\",\"Sonesson A.\",\"Chassot E.\",\"Honch N. V.\",\"Hunt T. L.\",\"Richards M. P.\",\"Krushelnycky P. D.\",\"Helliker B. R.\",\"Odham G.\",\"Kudela R.\",\"Still C. J.\",\"Popp B. N.\",\"Bork H.\\u2010R.\",\"Drake D. R.\",\"Diamond J.\",\"Chikaraishi Y.\",\"Cerling T. E.\",\"Ladefoged T. N.\",\"Louwagie G.\",\"Engstrom P.\",\"Lott M. J.\",\"Galvan\\u2010Magana F.\",\"Morgan S. L.\",\"Montoya J. P.\",\"Longstaffe F. J.\",\"Ventura M.\",\"McClelland J.\",\"Halstead P.\",\"Tromp M.\",\"Graham B. S.\",\"Hayes J. M.\",\"Tayasu I.\",\"Blum J. D.\",\"Commendador A. S.\",\"Flenley J. R.\",\"Leigh M. B.\",\"Hubick K. T.\",\"Naito Y. I.\",\"Mulrooney M.\",\"Lopez\\u2010Ibarra G. A.\",\"Rattner B. A.\",\"Fox A.\",\"Guilderson T. P.\",\"Feek D.\",\"Takano Y.\",\"Heaton T.\",\"Jones V.\",\"Spriggs M.\",\"Olson R. J.\",\"Shain A.\",\"Craig J. A.\",\"Fernie K. J.\",\"Baisden W.\",\"Vogel J. S.\",\"Mueller J.\",\"Haoa\\u2010Cardinali S.\",\"Deenik J. L.\",\"Stewart A.\",\"Arthur K. E.\",\"Gelwicks J. T.\",\"Khamsing A.\",\"Fraser R. A.\",\"Bard E.\",\"Mieth A.\",\"Bach L. T.\",\"Larsson L.\",\"Gilbart J.\",\"White C. D.\",\"Ayala\\u2010Bradford I.\",\"Tomitani A.\",\"Corr L. T.\",\"Steele L. P.\",\"Arneborg J.\",\"Gorman T. E.\",\"Ramsey C. B.\",\"Ohkouchi N.\",\"Bonhommeau S.\",\"Kashiyama Y.\",\"Jumeau E.\",\"Hanson D. B.\",\"Sealy J. C.\",\"Marticorena C.\",\"Phillips D. L.\",\"Naraoka H.\",\"Stevenson M.\",\"Van Der Merwe N. J.\",\"Roggeveen J.\",\"Horton M. C.\",\"Freeman K. H.\",\"Charles M.\",\"Buck C. E.\",\"Shiels A. B.\",\"Wang Y. V.\",\"Vitousek P. M.\",\"Styring A. K.\",\"Skj\\u00f8lsvold A.\",\"Suga H.\",\"Hotchkiss S. C.\",\"Arana P. M.\",\"Thomas A.\",\"Bayliss A.\",\"Arbogast R.\\u2010M.\",\"Finot V. L.\",\"Heyerdahl T.\",\"Hetherington E. D.\",\"Blackwell P. G.\",\"Tuross N.\",\"Lunn D.\",\"Miller G. H.\",\"Jones G.\",\"Reimer P. J.\",\"Grootes P. M.\",\"Wozniak J. A.\",\"Flores C. A.\",\"Heinemeier J.\",\"Kinaston R.\",\"D\\u00e9cima M.\",\"Ferdon E. N.\",\"Thomson W. J.\",\"Kitazato H.\",\"Hua Q.\",\"Skj\\u00f6lsvold A.\",\"Ogawa N. O.\",\"Hedin L. O.\",\"Holl C.\",\"Andersen N.\",\"Smith C. S.\",\"Bogaard A.\",\"Puleston C.\",\"Drucker D. G.\",\"Winder M.\",\"McCarthy M. D.\",\"Farquhar G. D.\",\"Le Pape O.\",\"Johnson M. W.\",\"Barrera J. A.\",\"Nielsen H. L.\",\"Ambrose S. H.\",\"Millard A. R.\",\"Horrocks M.\",\"Jim S.\",\"M\\u00fcldner G.\",\"van der Plicht J.\",\"Lewis J.\",\"Lee G.\",\"Chadwick O. A.\",\"Zizka G.\",\"Kastrisianaki\\u2010Guyton E.\",\"Leuenberger M.\",\"Sigman D. M.\",\"Drazen J. C.\",\"Edwards E. J.\",\"Ka'apu\\u2010Lyons C.\",\"Etheridge D. M.\",\"Ueda K.\",\"Krueger H. W.\",\"Engel M.\",\"Hoham C. H.\",\"Kelez S.\",\"Fogel M. L.\",\"Ogawa N.\",\"Doi H.\",\"Fernandes R.\",\"Koba K.\",\"Landry M. R.\",\"Mulloy W.\",\"Hannides C.\",\"Bedford S.\",\"Bocherens H.\",\"Szpak P.\",\"Southon J. R.\",\"Nelson D. E.\",\"Bruland G. L.\",\"Tschochner B.\",\"Brabec M.\",\"Flenley J.\",\"Piatkowski U.\",\"Christensen B. T.\"],\"x\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[273]},\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[273]}},\"selected\":{\"id\":\"3883120c-1948-490f-9b04-2385bd257c9e\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"be95560d-dffe-4e1e-8327-47af2a88cf2b\",\"type\":\"UnionRenderers\"}},\"id\":\"2cd4f9a1-4e33-4cfd-867e-63e507763606\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"a059deec-a972-49f5-bfc2-a54f19e96520\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"data_source\":{\"id\":\"2cd4f9a1-4e33-4cfd-867e-63e507763606\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"700f4953-86fc-4bac-b3a1-28e728030f0e\",\"type\":\"Text\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"04191467-97aa-4dc7-92fb-d73c2faf3cbd\",\"type\":\"Text\"},\"selection_glyph\":null,\"view\":{\"id\":\"768de4a7-e3b8-421f-950f-3b74e54663d5\",\"type\":\"CDSView\"}},\"id\":\"17462133-dd7f-405e-801c-06756fc164dd\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"e4842608-6eb3-4154-8d11-87d5da351766\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"c01220dc-c3aa-4046-9dd8-869b2c7c1853\",\"type\":\"BasicTicker\"}},\"id\":\"09fabe1c-cbb8-4ca4-a89b-106bcdc64360\",\"type\":\"Grid\"},{\"attributes\":{\"callback\":null,\"data\":{\"end\":[153,253,51,0,106,127,245,229,65,93,199,48,189,156,196,122,41,1,80,33,2,248,95,7,243,166,3,215,200,17,185,137,72,28,4,188,240,13,112,167,209,68,231,5,24,197,176,25,6,230,37,77,33,248,95,7,243,166,51,8,130,10,163,9,23,99,51,130,10,120,220,271,226,62,99,11,171,69,228,12,44,97,53,112,28,13,133,223,188,240,113,28,14,15,128,67,16,81,31,215,200,17,185,137,72,18,54,190,19,202,194,64,20,210,45,57,262,142,79,21,22,86,163,23,167,209,68,231,24,197,176,25,230,37,77,234,147,270,138,26,150,168,74,27,241,112,28,133,223,188,240,113,100,29,40,58,90,151,106,30,114,36,85,128,67,81,31,32,118,33,248,95,243,166,34,257,35,206,233,269,43,90,151,106,114,36,85,197,176,230,37,77,38,106,225,106,124,143,71,115,134,116,39,100,40,58,189,156,196,122,41,80,62,99,42,257,233,269,43,171,69,228,44,97,53,210,45,57,262,142,79,232,46,174,88,250,226,47,104,65,93,245,199,48,106,49,263,50,238,144,242,98,152,80,153,253,51,106,130,120,220,271,226,159,70,187,132,98,110,170,52,171,69,228,97,53,54,190,254,201,55,203,56,145,210,57,262,142,79,100,58,186,208,155,101,59,108,60,165,82,141,235,180,80,61,106,146,247,135,92,62,99,177,63,202,194,64,65,93,245,199,106,121,219,66,128,67,81,123,167,209,68,231,171,69,228,97,159,70,187,220,120,226,106,124,143,71,115,134,116,215,200,185,137,72,73,234,147,74,270,138,168,205,157,195,75,200,169,237,83,251,76,173,197,176,230,77,78,244,218,210,262,142,79,165,175,182,80,82,141,235,180,189,156,222,196,122,238,144,242,98,152,128,81,165,82,141,235,180,83,251,173,84,90,151,106,114,85,267,149,86,148,265,266,87,232,174,88,250,235,141,232,89,90,151,106,114,267,149,264,119,91,162,106,146,247,135,92,93,245,199,106,94,111,102,227,131,248,95,243,166,249,117,136,161,96,160,103,171,228,97,132,98,110,170,238,144,242,152,99,236,100,186,208,155,101,108,111,102,249,117,136,161,160,103,226,104,246,105,153,253,106,127,245,229,199,211,259,125,183,252,261,124,146,247,135,225,151,114,267,149,143,115,134,116,107,158,268,186,208,155,108,109,110,178,172,217,214,170,139,191,164,255,126,258,256,132,224,263,111,112,133,223,188,240,192,179,113,151,114,267,149,124,143,115,134,116,124,143,134,116,249,117,136,161,160,118,264,119,162,120,220,271,226,159,187,121,219,189,156,196,122,123,261,259,124,143,134,154,125,183,252,255,170,126,258,127,245,229,128,129,130,227,131,132,170,224,263,133,223,188,240,143,134,146,247,135,249,136,161,160,215,200,185,137,234,147,270,138,150,168,217,172,139,191,164,170,156,222,140,184,204,272,189,165,141,235,180,232,210,262,142,143,238,144,242,152,145,146,247,234,147,270,150,168,148,265,266,151,267,149,234,270,150,168,151,267,238,242,152,153,253,154,186,208,155,156,222,184,204,272,189,196,205,157,195,200,169,237,158,268,159,187,220,226,249,161,160,249,161,264,162,163,217,172,191,164,170,165,175,182,235,180,248,243,166,167,209,231,234,270,168,169,205,195,200,237,172,217,214,170,191,255,258,256,224,263,171,228,172,217,214,191,251,173,232,174,250,175,182,189,197,176,230,177,178,188,240,192,179,235,180,181,182,183,252,222,184,204,272,189,215,200,185,186,208,187,220,226,223,188,240,192,222,204,272,189,196,190,217,191,240,192,193,202,194,205,195,200,237,196,197,230,198,212,260,216,221,245,199,215,200,205,237,254,201,203,202,254,203,222,204,272,205,237,257,206,234,207,208,209,231,210,262,211,259,212,260,216,221,213,217,214,215,260,216,221,217,256,244,218,219,220,271,226,260,221,222,272,223,240,224,263,225,271,226,227,228,245,229,230,231,232,250,235,257,233,269,234,270,235,236,237,238,242,239,240,241,242,248,243,244,245,246,247,248,249,250,251,252,253,254,255,258,256,257,269,258,259,261,260,261,262,263,264,265,266,266,267,268,269,270,271,272],\"start\":[0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,4,4,4,4,4,4,5,5,5,5,5,5,6,6,6,6,6,6,6,7,7,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,11,11,11,12,12,12,12,12,12,12,13,13,13,13,13,13,13,14,14,14,15,16,16,16,16,16,17,17,17,17,17,17,18,18,18,19,20,20,20,20,21,21,21,21,21,21,21,22,22,23,23,24,24,24,24,24,25,25,25,25,25,25,26,26,26,26,26,26,26,26,27,27,28,28,28,28,28,28,28,29,29,29,29,30,30,30,30,30,30,30,31,31,31,31,32,32,33,33,33,33,33,34,35,35,35,35,35,35,36,36,36,36,36,36,37,37,37,37,37,38,38,38,39,39,39,39,39,39,39,39,40,40,40,41,41,41,41,41,41,42,42,42,43,43,43,43,44,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,47,47,47,48,48,48,48,48,48,49,49,50,50,50,50,50,50,50,51,51,51,51,51,51,51,51,51,51,51,51,52,52,52,52,52,53,53,53,53,53,54,54,55,55,55,55,56,56,57,57,57,57,57,58,58,59,59,59,59,59,59,60,60,60,60,60,60,60,61,61,61,61,61,61,62,62,63,63,64,64,64,65,65,65,65,65,66,66,66,67,67,67,67,68,68,68,68,69,69,69,69,70,70,70,70,70,70,71,71,71,71,71,71,71,72,72,72,72,72,73,74,74,74,74,74,74,75,75,75,75,75,75,75,76,76,76,76,77,77,77,77,78,78,78,79,79,79,79,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,81,81,82,82,82,82,82,83,83,83,84,85,85,85,85,85,85,85,86,87,87,87,87,88,88,88,88,89,89,89,89,90,90,90,90,90,90,91,91,91,91,92,92,92,92,92,93,93,93,93,94,94,94,94,94,95,95,95,95,96,96,96,96,96,96,96,97,97,97,98,98,98,98,98,98,98,98,99,100,100,101,101,101,101,101,102,102,103,103,103,103,103,103,104,104,105,105,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,107,107,107,108,108,108,108,109,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,111,112,112,112,112,112,112,112,113,114,114,114,114,115,115,115,115,115,116,116,116,116,117,117,117,117,117,118,119,119,119,120,120,120,120,120,120,121,121,122,122,122,122,123,124,124,124,124,124,125,125,125,125,126,126,126,126,127,127,127,128,129,130,131,131,132,132,132,132,133,133,133,133,134,134,135,135,135,136,136,136,136,137,137,137,137,138,138,138,138,138,138,139,139,139,139,139,139,140,140,140,140,140,140,140,141,141,141,141,141,142,142,142,143,144,144,144,144,145,146,146,147,147,147,147,147,148,148,148,149,149,149,150,150,150,150,151,151,152,152,152,153,153,154,155,155,155,156,156,156,156,156,156,156,157,157,157,157,157,157,158,158,159,159,159,159,160,160,160,161,161,162,162,163,164,164,164,164,164,165,165,165,165,165,166,166,166,167,167,167,168,168,168,169,169,169,169,169,170,170,170,170,170,170,170,170,170,170,171,171,172,172,172,172,173,173,174,174,174,175,175,175,176,176,176,177,178,179,179,179,179,180,180,181,182,183,183,184,184,184,184,184,185,185,185,186,186,187,187,187,188,188,188,188,189,189,189,189,189,190,191,191,192,192,193,194,194,195,195,195,195,196,197,197,198,198,198,198,198,199,199,200,200,200,200,201,201,201,202,203,203,204,204,204,205,205,206,206,207,207,208,209,209,210,210,211,211,212,212,212,212,213,214,214,215,216,216,216,217,217,218,218,219,220,220,220,221,221,222,222,223,223,224,224,225,226,226,227,228,229,229,230,231,232,232,232,233,233,233,234,234,235,236,237,238,238,239,240,241,242,243,243,244,245,246,247,248,249,250,251,252,253,254,255,255,256,257,257,258,259,259,260,261,262,263,264,265,265,266,267,268,269,270,271,272]},\"selected\":{\"id\":\"953ff583-9a9e-4c64-a306-d138c73696fa\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"62d5a66b-147a-456c-8c71-a8258e5d8818\",\"type\":\"UnionRenderers\"}},\"id\":\"00da0b02-1b29-43af-9228-dfbda3887848\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"79471d70-4f9f-4a22-a536-f008c6025453\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"c2b95481-a8ab-4f21-b7c2-154f2f0576bb\",\"type\":\"BoxAnnotation\"}},\"id\":\"02ed4360-0097-4b7c-83ab-0a1aaeb338d5\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1b2fd551-f55e-4be3-8861-07c391434cc8\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"e5481221-981b-4606-be76-bc08b211b67d\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"axis_label\":\"end\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"e5481221-981b-4606-be76-bc08b211b67d\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"e4842608-6eb3-4154-8d11-87d5da351766\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"c01220dc-c3aa-4046-9dd8-869b2c7c1853\",\"type\":\"BasicTicker\"}},\"id\":\"10c70322-176f-41cf-8991-0a4f78bb19b9\",\"type\":\"LinearAxis\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"e4842608-6eb3-4154-8d11-87d5da351766\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1b2fd551-f55e-4be3-8861-07c391434cc8\",\"type\":\"BasicTicker\"}},\"id\":\"e6417feb-2cfd-4dd0-bade-7e19b1612edc\",\"type\":\"Grid\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"84eee62b-35a2-4448-9172-87423a4b4322\",\"type\":\"HoverTool\"},{\"id\":\"4d9c2abc-7ac7-4029-91fd-5a69b63fb0fe\",\"type\":\"SaveTool\"},{\"id\":\"b4d04138-e7c9-4c76-844e-9fd92c2fb787\",\"type\":\"PanTool\"},{\"id\":\"79471d70-4f9f-4a22-a536-f008c6025453\",\"type\":\"WheelZoomTool\"},{\"id\":\"02ed4360-0097-4b7c-83ab-0a1aaeb338d5\",\"type\":\"BoxZoomTool\"},{\"id\":\"b4c44e5f-7ef8-4777-a5f6-300e0305aa26\",\"type\":\"ResetTool\"},{\"id\":\"57c12751-cc70-4195-85ab-906aea637fe3\",\"type\":\"TapTool\"}]},\"id\":\"4744d8dc-9cf8-4b49-808f-58220547984e\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"c01220dc-c3aa-4046-9dd8-869b2c7c1853\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"b4d04138-e7c9-4c76-844e-9fd92c2fb787\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"4d9c2abc-7ac7-4029-91fd-5a69b63fb0fe\",\"type\":\"SaveTool\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"545e7b78-f0eb-4018-b405-7e26e1e78724\",\"type\":\"Title\"},{\"attributes\":{\"callback\":null,\"data\":{\"index\":{\"__ndarray__\":\"AAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAAAmAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAAAFgAAABZAAAAWgAAAFsAAABcAAAAXQAAAF4AAABfAAAAYAAAAGEAAABiAAAAYwAAAGQAAABlAAAAZgAAAGcAAABoAAAAaQAAAGoAAABrAAAAbAAAAG0AAABuAAAAbwAAAHAAAABxAAAAcgAAAHMAAAB0AAAAdQAAAHYAAAB3AAAAeAAAAHkAAAB6AAAAewAAAHwAAAB9AAAAfgAAAH8AAACAAAAAgQAAAIIAAACDAAAAhAAAAIUAAACGAAAAhwAAAIgAAACJAAAAigAAAIsAAACMAAAAjQAAAI4AAACPAAAAkAAAAJEAAACSAAAAkwAAAJQAAACVAAAAlgAAAJcAAACYAAAAmQAAAJoAAACbAAAAnAAAAJ0AAACeAAAAnwAAAKAAAAChAAAAogAAAKMAAACkAAAApQAAAKYAAACnAAAAqAAAAKkAAACqAAAAqwAAAKwAAACtAAAArgAAAK8AAACwAAAAsQAAALIAAACzAAAAtAAAALUAAAC2AAAAtwAAALgAAAC5AAAAugAAALsAAAC8AAAAvQAAAL4AAAC/AAAAwAAAAMEAAADCAAAAwwAAAMQAAADFAAAAxgAAAMcAAADIAAAAyQAAAMoAAADLAAAAzAAAAM0AAADOAAAAzwAAANAAAADRAAAA0gAAANMAAADUAAAA1QAAANYAAADXAAAA2AAAANkAAADaAAAA2wAAANwAAADdAAAA3gAAAN8AAADgAAAA4QAAAOIAAADjAAAA5AAAAOUAAADmAAAA5wAAAOgAAADpAAAA6gAAAOsAAADsAAAA7QAAAO4AAADvAAAA8AAAAPEAAADyAAAA8wAAAPQAAAD1AAAA9gAAAPcAAAD4AAAA+QAAAPoAAAD7AAAA/AAAAP0AAAD+AAAA/wAAAAABAAABAQAAAgEAAAMBAAAEAQAABQEAAAYBAAAHAQAACAEAAAkBAAAKAQAACwEAAAwBAAANAQAADgEAAA8BAAAQAQAA\",\"dtype\":\"int32\",\"shape\":[273]},\"index_hover\":[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"22\",\"23\",\"24\",\"25\",\"26\",\"27\",\"28\",\"29\",\"30\",\"31\",\"32\",\"33\",\"34\",\"35\",\"36\",\"37\",\"38\",\"39\",\"40\",\"41\",\"42\",\"43\",\"44\",\"45\",\"46\",\"47\",\"48\",\"49\",\"50\",\"51\",\"52\",\"53\",\"54\",\"55\",\"56\",\"57\",\"58\",\"59\",\"60\",\"61\",\"62\",\"63\",\"64\",\"65\",\"66\",\"67\",\"68\",\"69\",\"70\",\"71\",\"72\",\"73\",\"74\",\"75\",\"76\",\"77\",\"78\",\"79\",\"80\",\"81\",\"82\",\"83\",\"84\",\"85\",\"86\",\"87\",\"88\",\"89\",\"90\",\"91\",\"92\",\"93\",\"94\",\"95\",\"96\",\"97\",\"98\",\"99\",\"100\",\"101\",\"102\",\"103\",\"104\",\"105\",\"106\",\"107\",\"108\",\"109\",\"110\",\"111\",\"112\",\"113\",\"114\",\"115\",\"116\",\"117\",\"118\",\"119\",\"120\",\"121\",\"122\",\"123\",\"124\",\"125\",\"126\",\"127\",\"128\",\"129\",\"130\",\"131\",\"132\",\"133\",\"134\",\"135\",\"136\",\"137\",\"138\",\"139\",\"140\",\"141\",\"142\",\"143\",\"144\",\"145\",\"146\",\"147\",\"148\",\"149\",\"150\",\"151\",\"152\",\"153\",\"154\",\"155\",\"156\",\"157\",\"158\",\"159\",\"160\",\"161\",\"162\",\"163\",\"164\",\"165\",\"166\",\"167\",\"168\",\"169\",\"170\",\"171\",\"172\",\"173\",\"174\",\"175\",\"176\",\"177\",\"178\",\"179\",\"180\",\"181\",\"182\",\"183\",\"184\",\"185\",\"186\",\"187\",\"188\",\"189\",\"190\",\"191\",\"192\",\"193\",\"194\",\"195\",\"196\",\"197\",\"198\",\"199\",\"200\",\"201\",\"202\",\"203\",\"204\",\"205\",\"206\",\"207\",\"208\",\"209\",\"210\",\"211\",\"212\",\"213\",\"214\",\"215\",\"216\",\"217\",\"218\",\"219\",\"220\",\"221\",\"222\",\"223\",\"224\",\"225\",\"226\",\"227\",\"228\",\"229\",\"230\",\"231\",\"232\",\"233\",\"234\",\"235\",\"236\",\"237\",\"238\",\"239\",\"240\",\"241\",\"242\",\"243\",\"244\",\"245\",\"246\",\"247\",\"248\",\"249\",\"250\",\"251\",\"252\",\"253\",\"254\",\"255\",\"256\",\"257\",\"258\",\"259\",\"260\",\"261\",\"262\",\"263\",\"264\",\"265\",\"266\",\"267\",\"268\",\"269\",\"270\",\"271\",\"272\"]},\"selected\":{\"id\":\"44658684-6080-4f5b-a5de-b98dfecdc359\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"9225a229-d778-44b6-a226-b51ec2e323ce\",\"type\":\"UnionRenderers\"}},\"id\":\"86c4d006-14b8-4876-aaff-90a477c81b39\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"plot\":null,\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"c2b95481-a8ab-4f21-b7c2-154f2f0576bb\",\"type\":\"BoxAnnotation\"}],\"root_ids\":[\"e4842608-6eb3-4154-8d11-87d5da351766\"]},\"title\":\"Bokeh Application\",\"version\":\"0.13.0\"}};\n", " var render_items = [{\"docid\":\"f0a14139-e02a-4bae-b627-f12e47871097\",\"roots\":{\"e4842608-6eb3-4154-8d11-87d5da351766\":\"4e8740a8-b506-41db-bd04-e6370d21ca0e\"}}];\n", " root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", "\n", " }\n", " if (root.Bokeh !== undefined) {\n", " embed_document(root);\n", " } else {\n", " var attempts = 0;\n", " var timer = setInterval(function(root) {\n", " if (root.Bokeh !== undefined) {\n", " embed_document(root);\n", " clearInterval(timer);\n", " }\n", " attempts++;\n", " if (attempts > 100) {\n", " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\")\n", " clearInterval(timer);\n", " }\n", " }, 10, root)\n", " }\n", "})(window);" ], "application/vnd.holoviews_exec.v0+json": "", "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "
\n", "
" ], "text/plain": [ ":Overlay\n", " .Graph.I :Graph [start,end]\n", " .Labels.I :Labels [x,y] (text)" ] }, "execution_count": 128, "metadata": { "application/vnd.holoviews_exec.v0+json": { "id": "e4842608-6eb3-4154-8d11-87d5da351766" } }, "output_type": "execute_result" } ], "source": [ "graph * labels" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Interesting graph!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "More reading is needed... \n", "http://www.pnas.org/content/108/5/1815.short\n" ] } ], "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.6.4" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": true } }, "nbformat": 4, "nbformat_minor": 2 }